From 65e6aea386e244e87fd9a745887cd9c59431e33f Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@gcc.gnu.org>
Date: Wed, 3 Jan 2018 10:17:54 +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: r256166
---
 gcc/ChangeLog                  | 41795 +------------------------------
 gcc/ChangeLog-2017             | 41783 ++++++++++++++++++++++++++++++
 gcc/ada/ChangeLog              | 12771 +---------
 gcc/ada/ChangeLog-2017         | 12773 ++++++++++
 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          |  2301 +-
 gcc/fortran/ChangeLog-2017     |  2295 ++
 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               |     4 +
 gcc/go/gccgo.texi              |     2 +-
 libgomp/ChangeLog              |     4 +
 libgomp/libgomp.texi           |     2 +-
 libitm/ChangeLog               |     4 +
 libitm/libitm.texi             |     2 +-
 libquadmath/ChangeLog          |     6 +-
 libquadmath/libquadmath.texi   |     2 +-
 32 files changed, 56923 insertions(+), 56863 deletions(-)
 create mode 100644 gcc/ChangeLog-2017
 create mode 100644 gcc/ada/ChangeLog-2017
 create mode 100644 gcc/fortran/ChangeLog-2017

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ed19e28d63e9..5e86e97b7558 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,18 @@
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* 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.
+
 2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
 
 	* vector-builder.h (vector_builder::m_full_nelts): Change from
@@ -985,41786 +1000,8 @@
 	* expmed.c (expand_shift_1): For 2-byte rotates by BITS_PER_UNIT,
 	check for bswap in mode rather than HImode and use that in expand_unop
 	too.
-
-2017-12-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/83536
-	* config/i386/i386.c (ix86_attribute_table): Remove excess
-	initializer for "shared" attribute.
-
-2017-12-30  Tom de Vries  <tom@codesourcery.com>
-
-	PR libgomp/83046
-	* omp-expand.c (expand_omp_target): If in_lto_p, mark offload_funcs with
-	DECL_PRESERVE_P.
-	* lto-streamer-out.c (prune_offload_funcs): New function.  Remove
-	offload_funcs entries that no longer have a corresponding cgraph_node.
-	Mark the remaining ones as DECL_PRESERVE_P.
-	(output_lto): Call prune_offload_funcs.
-
-2017-12-30  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (vgf2p8affineinvqb_<mode><mask_name>,
-	vgf2p8affineqb_<mode><mask_name>, vgf2p8mulb_<mode><mask_name>,
-	vpshrd_<mode><mask_name>, vpshld_<mode><mask_name>,
-	vpshrdv_<mode>, vpshrdv_<mode>_mask, vpshrdv_<mode>_maskz,
-	vpshrdv_<mode>_maskz_1, vpshldv_<mode>, vpshldv_<mode>_mask,
-	vpshldv_<mode>_maskz, vpshldv_<mode>_maskz_1, vpdpbusd_<mode>,
-	vpdpbusd_<mode>_mask, vpdpbusd_<mode>_maskz, vpdpbusd_<mode>_maskz_1,
-	vpdpbusds_<mode>, vpdpbusds_<mode>_mask, vpdpbusds_<mode>_maskz,
-	vpdpbusds_<mode>_maskz_1, vpdpwssd_<mode>, vpdpwssd_<mode>_mask,
-	vpdpwssd_<mode>_maskz, vpdpwssd_<mode>_maskz_1, vpdpwssds_<mode>,
-	vpdpwssds_<mode>_mask, vpdpwssds_<mode>_maskz,
-	vpdpwssds_<mode>_maskz_1, vaesdec_<mode>, vaesdeclast_<mode>,
-	vaesenc_<mode>, vpclmulqdq_<mode>,
-	avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Formatting fixes.
-
-2017-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* builtins.def: (_Float<N> and _Float<N>X BUILT_IN_CEIL): Add
-	_Float<N> and _Float<N>X variants for rounding built-in
-	functions.
-	(_Float<N> and _Float<N>X BUILT_IN_FLOOR): Likewise.
-	(_Float<N> and _Float<N>X BUILT_IN_NEARBYINT): Likewise.
-	(_Float<N> and _Float<N>X BUILT_IN_RINT): Likewise.
-	(_Float<N> and _Float<N>X BUILT_IN_ROUND): Likewise.
-	(_Float<N> and _Float<N>X BUILT_IN_TRUNC): Likewise.
-	* builtins.c (mathfn_built_in_2): Likewise.
-	* internal-fn.def (CEIL): Likewise.
-	(FLOOR): Likewise.
-	(NEARBYINT): Likewise.
-	(RINT): Likewise.
-	(ROUND): Likewise.
-	(TRUNC): Likewise.
-	* convert.c (convert_to_integer_1): Likewise.
-	* fold-const.c (tree_call_nonnegative_warnv_p): Likewise.
-	(integer_valued_real_call_p): Likewise.
-	* fold-const-call.c (fold_const_call_ss): Likewise.
-	* gencfn-macros.c (print_case_cfn): Change CFN and operator
-	printers to take a const char * suffix instead of a bool.
-	(print_define_operator_list): Likewise.
-	(fltall_suffixes): New list of suffixes, that include the
-	traditional suffixes as well as all of the _Float<N> and
-	_Float<N>X suffixes.
-	(main): For _Float<N> and _Float<N>X functions, emit both
-	<name>_FN and <name>_ALL variants.  The <macro>_FN variant only
-	has the _Float<N> and _Float<N>X case names or operators.  The
-	<name>_ALL variant has both the traditional and the
-	_Float<N>/_Float<N>X case names or operators.
-	* match.pd (COPYSIGN optimizations): Provide optimizations for
-	_Float<N> and _Float<N>X types where possible.
-	(MIN/MAX optimizations): Likewise.
-	(sqrt optimizations): Likewise.
-	(rounding optimizations): Likewise.
-
-2017-12-28  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/powerpcspe/powerpcspe.md (ieee_128bit_negative_zero): Use
-	gen_int_mode rather than GEN_INT.
-	* config/rs6000/rs6000.md (ieee_128bit_negative_zero): Likewise.
-
-2017-12-28  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* emit-rtl.c (gen_const_vec_series): Use valid_for_const_vector_p
-	instead of CONSTANT_P.
-	(gen_vec_series): Likewise.
-	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
-
-2017-12-28  Andreas Schwab  <schwab@linux-m68k.org>
-
-	* config/m68k/m68k.md (ashrdi3_const1, lshrdi3_const1): Add
-	CC_STATUS_INIT.
-
-2017-12-27  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* config/aarch64/aarch64-simd.md (aarch64_ld1x2<VQ:mode>): New.
-	(aarch64_ld1x2<VDC:mode>): Likewise.
-	(aarch64_simd_ld1<mode>_x2): Likewise.
-	(aarch64_simd_ld1<mode>_x2): Likewise.
-	* config/aarch64/arm_neon.h (vld1_u8_x2): New.
-	(vld1_s8_x2): Likewise.
-	(vld1_u16_x2): Likewise.
-	(vld1_s16_x2): Likewise.
-	(vld1_u32_x2): Likewise.
-	(vld1_s32_x2): Likewise.
-	(vld1_u64_x2): Likewise.
-	(vld1_s64_x2): Likewise.
-	(vld1_f16_x2): Likewise.
-	(vld1_f32_x2): Likewise.
-	(vld1_f64_x2): Likewise.
-	(vld1_p8_x2): Likewise.
-	(vld1_p16_x2): Likewise.
-	(vld1_p64_x2): Likewise.
-	(vld1q_u8_x2): Likewise.
-	(vld1q_s8_x2): Likewise.
-	(vld1q_u16_x2): Likewise.
-	(vld1q_s16_x2): Likewise.
-	(vld1q_u32_x2): Likewise.
-	(vld1q_s32_x2): Likewise.
-	(vld1q_u64_x2): Likewise.
-	(vld1q_s64_x2): Likewise.
-	(vld1q_f16_x2): Likewise.
-	(vld1q_f32_x2): Likewise.
-	(vld1q_f64_x2): Likewise.
-	(vld1q_p8_x2): Likewise.
-	(vld1q_p16_x2): Likewise.
-	(vld1q_p64_x2): Likewise.
-
-2017-12-27  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/83552
-	* tree-ssa-strlen.c (fold_strstr_to_strncmp): Assign result
-	of get_string_lenth to a SSA_NAME if not a GIMPLE value.
-
-2017-12-27  Tom de Vries  <tom@codesourcery.com>
-
-	* config/nvptx/nvptx.c (nvptx_option_override): Disable
-	-gstatement-frontiers.
-
-2017-12-26  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR rtl-optimization/83513
-	* sel-sched.c (sel_rank_for_schedule): Order by non-zero usefulness
-	before priority comparison.
-
-2017-12-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/83488
-	* config/i386/i386.opt (-mavx512vpopcntdq, -mmavx512bitalg): Move from
-	ix86_isa_flags2 to ix86_isa_flags.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Test
-	OPTION_MASK_ISA_AVX512BITALG and OPTION_MASK_ISA_AVX512VPOPCNTDQ in
-	isa_flags rather than isa_flags2.
-	* config/i386/i386.c (ix86_target_string): Move -mavx512vpopcntdq
-	and -mavx512bitalg from isa2_opts to isa_opts.
-	(ix86_option_override_internal): Test OPTION_MASK_ISA_AVX512VPOPCNTDQ
-	in x_ix86_isa_flags_explicit rather than x_ix86_isa_flags2_explicit
-	and set it in x_ix86_isa_flags rather than x_ix86_isa_flags2.
-	Formatting fixes.
-	(def_builtin): Treat OPTION_MASK_ISA_AVX512BW or
-	OPTION_MASK_ISA_AVX512F ored with another option similarly to
-	OPTION_MASK_ISA_AVX512VL.  Even for OPTION_MASK_ISA_AVX512VL don't
-	clear it if mask is just OPTION_MASK_ISA_AVX512VL itself.
-	(ix86_expand_builtin): Don't handle OPTION_MASK_ISA_GFNI and
-	OPTION_MASK_ISA_VPCLMULQDQ specially, instead handle
-	OPTION_MASK_ISA_AVX512BW and OPTION_MASK_ISA_AVX512F that way.
-	* config/i386/i386-builtin.def: Move AVX512VPOPCNTDQ and AVX512BITALG
-	builtins from bdesc_args2 to bdesc_args section.
-	(__builtin_ia32_compressstoreuqi512_mask,
-	__builtin_ia32_compressstoreuhi512_mask,
-	__builtin_ia32_compressstoreuqi256_mask,
-	__builtin_ia32_expandloadqi512_mask,
-	__builtin_ia32_expandloadqi512_maskz,
-	__builtin_ia32_expandloadhi512_mask,
-	__builtin_ia32_expandloadhi512_maskz,
-	__builtin_ia32_compressqi512_mask, __builtin_ia32_compresshi512_mask,
-	__builtin_ia32_compressqi256_mask, __builtin_ia32_expandqi512_mask,
-	__builtin_ia32_expandqi512_maskz, __builtin_ia32_expandhi512_mask,
-	__builtin_ia32_expandhi512_maskz, __builtin_ia32_expandqi256_mask,
-	__builtin_ia32_expandqi256_maskz, __builtin_ia32_vpshrd_v32hi_mask,
-	__builtin_ia32_vpshld_v32hi_mask, __builtin_ia32_vpshrdv_v32hi_mask,
-	__builtin_ia32_vpshrdv_v32hi_maskz, __builtin_ia32_vpshldv_v32hi_mask,
-	__builtin_ia32_vpshldv_v32hi_maskz,
-	__builtin_ia32_vpopcountb_v64qi_mask,
-	__builtin_ia32_vpopcountw_v32hi_mask,
-	__builtin_ia32_vpshufbitqmb512_mask,
-	__builtin_ia32_vpshufbitqmb256_mask): Add
-	" | OPTION_MASK_ISA_AVX512BW".
-	(__builtin_ia32_expandloadqi256_mask,
-	__builtin_ia32_expandloadqi256_maskz,
-	__builtin_ia32_vpopcountb_v32qi_mask): Add
-	" | OPTION_MASK_ISA_AVX512VL | OPTION_MASK_ISA_AVX512BW".
-	(__builtin_ia32_expandloadhi256_mask,
-	__builtin_ia32_expandloadhi256_maskz,
-	__builtin_ia32_expandloadqi128_mask,
-	__builtin_ia32_expandloadqi128_maskz,
-	__builtin_ia32_expandloadhi128_mask,
-	__builtin_ia32_expandloadhi128_maskz,
-	__builtin_ia32_vpshrd_v16hi, __builtin_ia32_vpshrd_v16hi_mask,
-	__builtin_ia32_vpshrd_v8hi, __builtin_ia32_vpshrd_v8hi_mask,
-	__builtin_ia32_vpshrd_v8si, __builtin_ia32_vpshrd_v8si_mask,
-	__builtin_ia32_vpshrd_v4si, __builtin_ia32_vpshrd_v4si_mask,
-	__builtin_ia32_vpshrd_v4di, __builtin_ia32_vpshrd_v4di_mask,
-	__builtin_ia32_vpshrd_v2di, __builtin_ia32_vpshrd_v2di_mask,
-	__builtin_ia32_vpshld_v16hi, __builtin_ia32_vpshld_v16hi_mask,
-	__builtin_ia32_vpshld_v8hi, __builtin_ia32_vpshld_v8hi_mask,
-	__builtin_ia32_vpshld_v8si, __builtin_ia32_vpshld_v8si_mask,
-	__builtin_ia32_vpshld_v4si, __builtin_ia32_vpshld_v4si_mask,
-	__builtin_ia32_vpshld_v4di, __builtin_ia32_vpshld_v4di_mask,
-	__builtin_ia32_vpshld_v2di, __builtin_ia32_vpshld_v2di_mask,
-	__builtin_ia32_vpshrdv_v16hi, __builtin_ia32_vpshrdv_v16hi_mask,
-	__builtin_ia32_vpshrdv_v16hi_maskz, __builtin_ia32_vpshrdv_v8hi,
-	__builtin_ia32_vpshrdv_v8hi_mask, __builtin_ia32_vpshrdv_v8hi_maskz,
-	__builtin_ia32_vpshrdv_v8si, __builtin_ia32_vpshrdv_v8si_mask,
-	__builtin_ia32_vpshrdv_v8si_maskz, __builtin_ia32_vpshrdv_v4si,
-	__builtin_ia32_vpshrdv_v4si_mask, __builtin_ia32_vpshrdv_v4si_maskz,
-	__builtin_ia32_vpshrdv_v4di, __builtin_ia32_vpshrdv_v4di_mask,
-	__builtin_ia32_vpshrdv_v4di_maskz, __builtin_ia32_vpshrdv_v2di,
-	__builtin_ia32_vpshrdv_v2di_mask, __builtin_ia32_vpshrdv_v2di_maskz,
-	__builtin_ia32_vpshldv_v16hi, __builtin_ia32_vpshldv_v16hi_mask,
-	__builtin_ia32_vpshldv_v16hi_maskz, __builtin_ia32_vpshldv_v8hi,
-	__builtin_ia32_vpshldv_v8hi_mask, __builtin_ia32_vpshldv_v8hi_maskz,
-	__builtin_ia32_vpshldv_v8si, __builtin_ia32_vpshldv_v8si_mask,
-	__builtin_ia32_vpshldv_v8si_maskz, __builtin_ia32_vpshldv_v4si,
-	__builtin_ia32_vpshldv_v4si_mask, __builtin_ia32_vpshldv_v4si_maskz,
-	__builtin_ia32_vpshldv_v4di, __builtin_ia32_vpshldv_v4di_mask,
-	__builtin_ia32_vpshldv_v4di_maskz, __builtin_ia32_vpshldv_v2di,
-	__builtin_ia32_vpshldv_v2di_mask, __builtin_ia32_vpshldv_v2di_maskz,
-	__builtin_ia32_vpopcountb_v32qi, __builtin_ia32_vpopcountb_v16qi,
-	__builtin_ia32_vpopcountb_v16qi_mask, __builtin_ia32_vpopcountw_v16hi,
-	__builtin_ia32_vpopcountw_v16hi_mask, __builtin_ia32_vpopcountw_v8hi,
-	__builtin_ia32_vpopcountw_v8hi_mask): Add
-	" | OPTION_MASK_ISA_AVX512VL".
-	* config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16,
-	_mm512_shrdi_epi32, _mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32,
-	_mm512_shrdi_epi64, _mm512_mask_shrdi_epi64, _mm512_maskz_shrdi_epi64,
-	_mm512_shldi_epi16, _mm512_shldi_epi32, _mm512_mask_shldi_epi32,
-	_mm512_maskz_shldi_epi32, _mm512_shldi_epi64, _mm512_mask_shldi_epi64,
-	_mm512_maskz_shldi_epi64, _mm512_shrdv_epi16, _mm512_shrdv_epi32,
-	_mm512_mask_shrdv_epi32, _mm512_maskz_shrdv_epi32, _mm512_shrdv_epi64,
-	_mm512_mask_shrdv_epi64, _mm512_maskz_shrdv_epi64, _mm512_shldv_epi16,
-	_mm512_shldv_epi32, _mm512_mask_shldv_epi32, _mm512_maskz_shldv_epi32,
-	_mm512_shldv_epi64, _mm512_mask_shldv_epi64,
-	_mm512_maskz_shldv_epi64): Don't require avx512bw for these intrinsics.
-	* config/i386/avx512bitalgintrin.h (_mm_bitshuffle_epi64_mask,
-	_mm_mask_bitshuffle_epi64_mask): Likewise.
-	* common/config/i386/i386-common.c
-	(OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
-	OPTION_MASK_ISA_AVX512BITALG_SET): Or in OPTION_MASK_ISA_AVX512F_SET.
-	(OPTION_MASK_ISA_AVX512F_UNSET): Or in
-	OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET and
-	OPTION_MASK_ISA_AVX512BITALG_UNSET.
-	(OPTION_MASK_ISA2_AVX512F_UNSET,
-	OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Define.
-	(ix86_handle_option): For -mno-general-regs-only, clear from
-	ix86_isa_flags2 OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET rather than
-	just OPTION_MASK_ISA_MPX.  For -mno-sse{,2,3,4,4.1,4.2,avx,avx2} and
-	-mno-ssse3 clear OPTION_MASK_ISA2_AVX512F_UNSET bits from
-	ix86_isa_flags2.  For -mno-avx512f likewise, instead of masking
-	individually listed ISAs.  For -m{,no-}avx512{vpopcntdq,bitalg} adjust
-	for moving from ix86_isa_flags2 to ix86_isa_flags.
-
-2017-12-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/83553
-	* fold-const.c (struct contains_label_data): New type.
-	(contains_label_1): Return non-NULL even for CASE_LABEL_EXPR, unless
-	inside of a SWITCH_BODY seen during the walk.
-	(contains_label_p): Use walk_tree instead of
-	walk_tree_without_duplicates, prepare data for contains_label_1 and
-	provide own pset.
-
-2017-12-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/83547
-	* tree-iterator.c (alloc_stmt_list): Start with cleared
-	TREE_SIDE_EFFECTS regardless whether a new STATEMENT_LIST is allocated
-	or old one reused.
-
-	PR target/83488
-	* config/i386/avx512vnniintrin.h: Don't check for __AVX512F__ nor
-	enable avx512f explicitly in #pragma GCC target.
-	* config/i386/i386-builtin.def (__builtin_ia32_vpdpbusd_v8si,
-	__builtin_ia32_vpdpbusd_v8si_mask, __builtin_ia32_vpdpbusd_v8si_maskz,
-	__builtin_ia32_vpdpbusd_v4si, __builtin_ia32_vpdpbusd_v4si_mask,
-	__builtin_ia32_vpdpbusd_v4si_maskz, __builtin_ia32_vpdpbusds_v8si,
-	__builtin_ia32_vpdpbusds_v8si_mask,
-	__builtin_ia32_vpdpbusds_v8si_maskz, __builtin_ia32_vpdpbusds_v4si,
-	__builtin_ia32_vpdpbusds_v4si_mask,
-	__builtin_ia32_vpdpbusds_v4si_maskz, __builtin_ia32_vpdpwssd_v8si,
-	__builtin_ia32_vpdpwssd_v8si_mask, __builtin_ia32_vpdpwssd_v8si_maskz,
-	__builtin_ia32_vpdpwssd_v4si, __builtin_ia32_vpdpwssd_v4si_mask,
-	__builtin_ia32_vpdpwssd_v4si_maskz, __builtin_ia32_vpdpwssds_v8si,
-	__builtin_ia32_vpdpwssds_v8si_mask,
-	__builtin_ia32_vpdpwssds_v8si_maskz, __builtin_ia32_vpdpwssds_v4si,
-	__builtin_ia32_vpdpwssds_v4si_mask,
-	__builtin_ia32_vpdpwssds_v4si_maskz): Use
-	OPTION_MASK_ISA_AVX512VNNI | OPTION_MASK_ISA_AVX512VL instead of
-	just OPTION_MASK_ISA_AVX512VNNI.
-
-2017-12-22  Martin Jambor  <mjambor@suse.cz>
-
-	PR lto/82027
-	* lto-cgraph.c (output_cgraph_opt_summary_p): Also check former
-	clones.
-
-2017-12-22  Julia Koval  <julia.koval@intel.com>
-	    Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512BITALG_SET,
-	OPTION_MASK_ISA_AVX512BITALG_UNSET): New.
-	(ix86_handle_option): Handle -mavx512bitalg, fix 4VNNIW formatting.
-	* config.gcc: Add avx512vpopcntdqvlintrin.h and avx512bitalgintrin.h.
-	* config/i386/avx512bitalgintrin.h (_mm512_popcnt_epi8, _mm512_popcnt_epi16,
-	_mm512_mask_popcnt_epi8, _mm512_maskz_popcnt_epi8, _mm512_mask_popcnt_epi16,
-	_mm512_maskz_popcnt_epi16, _mm512_bitshuffle_epi64_mask, _mm256_popcnt_epi8,
-	_mm512_mask_bitshuffle_epi64_mask, _mm256_mask_popcnt_epi8, _mm_popcnt_epi8,
-	_mm256_maskz_popcnt_epi8, _mm_bitshuffle_epi64_mask, _mm256_popcnt_epi16,
-	_mm_mask_bitshuffle_epi64_mask, _mm256_bitshuffle_epi64_mask,
-	_mm256_mask_bitshuffle_epi64_mask, _mm_popcnt_epi16, _mm_maskz_popcnt_epi8,
-	_mm256_mask_popcnt_epi16, _mm256_maskz_popcnt_epi16, _mm_mask_popcnt_epi8,
-	_mm_mask_popcnt_epi16, _mm_maskz_popcnt_epi16): New intrinsics.
-	* config/i386/avx512vpopcntdqvlintrin.h (_mm_popcnt_epi32, _mm_popcnt_epi64,
-	_mm_mask_popcnt_epi32, _mm_maskz_popcnt_epi32, _mm256_popcnt_epi32,
-	_mm256_mask_popcnt_epi32, _mm256_maskz_popcnt_epi32, _mm_mask_popcnt_epi64,
-	_mm_maskz_popcnt_epi64, _mm256_popcnt_epi64, _mm256_mask_popcnt_epi64,
-	_mm256_maskz_popcnt_epi64): New intrinsics.
-	* config/i386/cpuid.h (bit_AVX512BITALG): New bit.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Detect -mavx512bitalg.
-	* config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI, V64QI_FTYPE_V64QI,
-	V4DI_FTYPE_V4DI, UHI_FTYPE_V2DI_V2DI_UHI, USI_FTYPE_V4DI_V4DI_USI,
-	V4SI_FTYPE_V4SI_V4SI_UHI, V8SI_FTYPE_V8SI_V8SI_UHI): New types.
-	* config/i386/i386-builtin.def (__builtin_ia32_vpopcountq_v4di,
-	__builtin_ia32_vpopcountq_v4di_mask, __builtin_ia32_vpopcountq_v2di,
-	__builtin_ia32_vpopcountq_v2di_mask, __builtin_ia32_vpopcountd_v4si,
-	__builtin_ia32_vpopcountd_v4si_mask, __builtin_ia32_vpopcountd_v8si,
-	__builtin_ia32_vpopcountd_v8si_mask, __builtin_ia32_vpopcountb_v64qi,
-	__builtin_ia32_vpopcountb_v64qi_mask, __builtin_ia32_vpopcountb_v32qi,
-	__builtin_ia32_vpopcountb_v32qi_mask, __builtin_ia32_vpopcountb_v16qi,
-	__builtin_ia32_vpopcountb_v16qi_mask, __builtin_ia32_vpopcountw_v32hi,
-	__builtin_ia32_vpopcountw_v32hi_mask, __builtin_ia32_vpopcountw_v16hi,
-	__builtin_ia32_vpopcountw_v16hi_mask, __builtin_ia32_vpopcountw_v8hi,
-	__builtin_ia32_vpopcountw_v8hi_mask, __builtin_ia32_vpshufbitqmb128_mask,
-	__builtin_ia32_vpshufbitqmb256_mask,
-	__builtin_ia32_vpshufbitqmb512_mask): New builtins.
-	* config/i386/i386-c.c (__AVX512BITALG__): New.
-	* config/i386/i386.c (isa2_opts): Add -mavx512bitalg.
-	(ix86_valid_target_attribute_inner_p): Ditto.
-	(ix86_expand_args_builtin): Handle new types.
-	* config/i386/i386.h (TARGET_AVX512BITALG, TARGET_AVX512BITALG_P): New.
-	* config/i386/i386.opt: Add -mavx512bitalg.
-	* config/i386/immintrin.h: Add avx512vpopcntdqvlintrin.h and
-	avx512bitalgintrin.h.
-	* config/i386/sse.md (VI48_AVX512VLBW): New iterator.
-	(vpopcount<mode><mask_name>): Add more types.
-	(avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): New.
-	* doc/invoke.texi: Add -mavx512bitalg and -mavx512vpopcntdq.
-
-2017-12-22  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VNNI_SET):
-	Or in OPTION_MASK_ISA_AVX512F_SET.
-	(OPTION_MASK_ISA_AVX512F_UNSET): Or in
-	OPTION_MASK_ISA_AVX512VNNI_UNSET.
-	(ix86_handle_option): Adjust for
-	OPTION_MASK_ISA_AVX512VNNI_*SET being in ix86_isa_flags.
-	* config/i386/i386-builtin.def: Move VNNI builtins from ARGS2
-	section to ARGS.
-	* config/i386/i386-c.c: Check for OPTION_MASK_ISA_AVX512VNNI in
-	isa_flag instead of isa_flag2.
-	* config/i386/i386.c (ix86_target_string): Move -mavx512vnni from
-	isa_opts2 to isa_opts.
-	* config/i386/i386.opt (mavx512vnni): Move from ix86_isa_flags2
-	to ix86_isa_flags.
-
-2017-12-22  Mike Stump  <mikestump@comcast.net>
-            Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/extend.texi (Loop-Specific Pragmas): Document pragma GCC unroll.
-
-2017-12-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/83487
-	* config/i386/i386.c (ix86_function_arg_boundary): Return
-	PARM_BOUNDARY for TYPE_EMPTY_P types.
-
-	PR c/83448
-	* gimple-ssa-sprintf.c (maybe_warn): Don't call set_caret_index
-	if navail is >= dir.len.
-
-2017-12-21  Steve Ellcey  <sellcey@cavium.com>
-
-	* config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES): Fix
-	triplet for ilp32.
-
-2017-12-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/80747
-	PR rtl-optimization/83512
-	* cfgrtl.c (force_nonfallthru_and_redirect): When splitting
-	succ edge from ENTRY, copy partition from e->dest to the newly
-	created bb.
-	* bb-reorder.c (reorder_basic_blocks_simple): If last_tail is
-	ENTRY, use BB_PARTITION of its successor block as current_partition.
-	Don't copy partition when splitting succ edge from ENTRY.
-
-	PR tree-optimization/83523
-	* tree-ssa-math-opts.c (is_widening_mult_p): Return false if
-	for INTEGER_TYPE TYPE_OVERFLOW_TRAPS.
-	(convert_mult_to_fma): Likewise.
-
-	PR tree-optimization/83521
-	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Use
-	gimple_build_assign without code on result of
-	fold_build1 (VIEW_CONVERT_EXPR, ...), as it might not create
-	a VIEW_CONVERT_EXPR.
-
-2017-12-21  Andrew Pinski  <apinski@cavium.com>
-	    Steve Ellcey  <sellcey@cavium.com>
-
-	* config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES): Handle
-	multi-arch for ilp32.
-
-2017-12-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/83467
-	* config/i386/i386.md (*ashl<mode>3_mask): Add operand
-	constraints to operand 2.
-	(*ashl<mode>3_mask_1): Ditto.
-	(*<shift_insn><mode>3_mask): Ditto.
-	(*<shift_insn><mode>3_mask_1): Ditto.
-	(*<rotate_insn><mode>3_mask): Ditto.
-	(*<rotate_insn><mode>3_mask_1): Ditto.
-
-2017-12-21  Alexandre Oliva  <aoliva@redhat.com>
-
-	* reorg.c (make_return_insns): Reemit each insn with its own location.
-
-2017-12-21  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_expand_vector_init): Modify code
-	generation for cases where splatting a value is not useful.
-	* simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge
-	across a vec_duplicate and a paradoxical subreg forming a vector
-	mode to a vec_concat.
-
-2017-12-21  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* combine.c (simplify_set): Do not transform subregs to zero_extends
-	if the destination is not a scalar int mode.
-
-2017-12-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR c++/82872
-	* convert.c (convert_to_integer_1) <POINTER_TYPE>: Do not return the
-	shared zero if the input has overflowed.
-
-2017-12-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/driver-arm.c (arm_cpu_table): Specify dotprod
-	support for Cortex-A55 and Cortex-A75.
-
-2017-12-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* common/config/arm/arm-common.c (compare_opt_names): Add function
-	comment.  Use strcmp instead of manual loop.
-
-2017-12-21  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/83509
-	* gcov-dump.c (dump_gcov_file): Do not read info about
-	support_unexecuted_blocks for gcda files.
-
-2017-12-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/82973
-	* emit-rtl.h (valid_for_const_vec_duplicate_p): Rename to ...
-	(valid_for_const_vector_p): ... this.
-	* emit-rtl.c (valid_for_const_vec_duplicate_p): Rename to ...
-	(valid_for_const_vector_p): ... this.  Adjust function comment.
-	(gen_vec_duplicate): Adjust caller.
-	* optabs.c (expand_vector_broadcast): Likewise.
-	* simplify-rtx.c (simplify_const_unary_operation): Don't optimize into
-	CONST_VECTOR if some element isn't simplified valid_for_const_vector_p
-	constant.
-	(simplify_const_binary_operation): Likewise.  Use CONST_FIXED_P macro
-	instead of GET_CODE == CONST_FIXED.
-	(simplify_subreg): Use CONST_FIXED_P macro instead of
-	GET_CODE == CONST_FIXED.
-
-	PR target/83488
-	* config/i386/i386.c (ix86_target_string): Move -mavx512vbmi2 and
-	-mshstk entries from isa_opts2 to isa_opts and -mhle, -mmovbe,
-	-mclzero and -mmwaitx entries from isa_opts to isa_opts2.
-	(ix86_option_override_internal): Adjust for
-	OPTION_MASK_ISA_{HLE,MOVBE,CLZERO,MWAITX} moving to ix86_isa_flags2
-	and OPTION_MASK_ISA_SHSTK moving to ix86_isa_flags.
-	(BDESC_VERIFYS): Remove SPECIAL_ARGS2 related checks.
-	(ix86_init_mmx_sse_builtins): Remove bdesc_special_args2 handling.
-	Use def_builtin2 instead of def_builtin for OPTION_MASK_ISA_MWAITX
-	and OPTION_MASK_ISA_CLZERO builtins.  Use def_builtin instead of
-	def_builtin2 for CET builtins.
-	(ix86_expand_builtin): Remove bdesc_special_args2 handling.  Fix
-	up formatting in IX86_BUILTIN_RDPID code.
-	* config/i386/i386-builtin.def: Move VBMI2 builtins from SPECIAL_ARGS2
-	section to SPECIAL_ARGS and from ARGS2 section to ARGS.
-	* config/i386/i386.opt (mavx512vbmi2, mshstk): Move from
-	ix86_isa_flags2 to ix86_isa_flags.
-	(mhle, mmovbe, mclzero, mmwaitx): Move from ix86_isa_flags to
-	ix86_isa_flags2.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Check for
-	OPTION_MASK_ISA_{CLZERO,MWAITX} in isa_flag2 instead of isa_flag.
-	Check for OPTION_MASK_ISA_{SHSTK,AVX512VBMI2} in isa_flag instead
-	of isa_flag2.
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI2_SET):
-	Or in OPTION_MASK_ISA_AVX512F_SET.
-	(OPTION_MASK_ISA_AVX512F_UNSET): Or in
-	OPTION_MASK_ISA_AVX512VBMI2_UNSET.
-	(ix86_handle_option): Adjust for
-	OPTION_MASK_ISA_{SHSTK,AVX512VBMI2}_*SET being in ix86_isa_flags
-	and OPTION_MASK_ISA_{MOVBE,MWAITX,CLZERO}_*SET in ix86_isa_flags2.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-data-ref.h (prune_runtime_alias_test_list): Take the
-	factor as a poly_uint64 rather than an unsigned HOST_WIDE_INT.
-	* tree-data-ref.c (prune_runtime_alias_test_list): Likewise.
-	Track polynomial offsets.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
-	Treat drb->init as a poly_int.  Fail if its misalignment wrt
-	vector_alignment isn't known.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vectorizer.h (_loop_vec_info): Add a versioning_threshold
-	field.
-	(LOOP_VINFO_VERSIONING_THRESHOLD): New macro
-	(vect_loop_versioning): Take the loop versioning threshold as a
-	separate parameter.
-	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
-	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
-	versioning_threshold.
-	(vect_analyze_loop_2): Compute the loop versioning threshold
-	whenever loop versioning is needed, and store it in the new
-	field rather than combining it with the cost model threshold.
-	(vect_transform_loop): Update call to vect_loop_versioning.
-	Try to combine the loop versioning and cost thresholds here.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-ssa-loop-ivopts.h (strip_offset): Return the offset as
-	poly_uint64_pod rather than an unsigned HOST_WIDE_INT.
-	* tree-loop-distribution.c (classify_builtin_st): Update accordingly.
-	* tree-ssa-loop-ivopts.c (iv_use::addr_offset): Change from
-	an unsigned HOST_WIDE_INT to a poly_uint64_pod.
-	(group_compare_offset): Update accordingly.
-	(split_small_address_groups_p): Likewise.
-	(record_use): Take addr_offset as a poly_uint64 rather than
-	an unsigned HOST_WIDE_INT.
-	(strip_offset): Return the offset as a poly_uint64 rather than
-	an unsigned HOST_WIDE_INT.
-	(record_group_use, split_address_groups): Track polynomial offsets.
-	(add_iv_candidate_for_use): Likewise.
-	(addr_offset_valid_p): Take the offset as a poly_int64 rather
-	than a HOST_WIDE_INT.
-	(strip_offset_1): Return the offset as a poly_int64 rather than
-	a HOST_WIDE_INT.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (get_binfo_at_offset): Take the offset as a poly_int64
-	rather than a HOST_WIDE_INT.
-	* tree.c (get_binfo_at_offset): Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* ipa-prop.h (build_ref_for_offset): Take the offset as a poly_int64
-	rather than a HOST_WIDE_INT.
-	* tree-sra.c (build_ref_for_offset): Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* fold-const.h (mem_ref_offset): Return a poly_offset_int rather
-	than an offset_int.
-	* tree.c (mem_ref_offset): Likewise.
-	(build_simple_mem_ref_loc): Treat MEM_REF offsets as poly_ints.
-	* builtins.c (get_object_alignment_2): Likewise.
-	* expr.c (get_inner_reference, expand_expr_real_1): Likewise.
-	* gimple-fold.c (get_base_constructor): Likewise.
-	* gimple-ssa-strength-reduction.c (restructure_reference): Likewise.
-	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref):
-	Likewise.
-	* ipa-polymorphic-call.c
-	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Likewise.
-	* ipa-prop.c (compute_complex_assign_jump_func): Likewise.
-	(get_ancestor_addr_info): Likewise.
-	* ipa-param-manipulation.c (ipa_get_adjustment_candidate): Likewise.
-	* match.pd: Likewise.
-	* tree-data-ref.c (dr_analyze_innermost): Likewise.
-	* tree-dfa.c (get_addr_base_and_unit_offset_1): Likewise.
-	* tree-eh.c (tree_could_trap_p): Likewise.
-	* tree-object-size.c (addr_object_size): Likewise.
-	* tree-ssa-address.c (copy_ref_info): Likewise.
-	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
-	(indirect_refs_may_alias_p): Likewise.
-	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
-	* tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
-	(non_rewritable_mem_ref_base): Likewise.
-	* tree-vect-data-refs.c (vect_check_gather_scatter): Likewise.
-	* tree-vrp.c (vrp_prop::check_array_ref): Likewise.
-	* varasm.c (decode_addr_const): Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gimple-ssa-stor-merging.c (find_bswap_or_nop_load): Track polynomial
-	offsets for MEM_REFs.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-ssanames.h (adjust_ptr_info_misalignment): Take the increment
-	as a poly_uint64 rather than an unsigned int.
-	* tree-ssanames.c (adjust_ptr_info_misalignment): Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* varasm.c (addr_const::offset): Change from HOST_WIDE_INT
-	to poly_int64.
-	(decode_addr_const): Update accordingly.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (bit_field_size, bit_field_offset): New functions.
-	* hsa-gen.c (gen_hsa_addr): Use them.
-	* tree-ssa-forwprop.c (simplify_bitfield_ref): Likewise.
-	(simplify_vector_constructor): Likewise.
-	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
-	* tree-cfg.c (verify_expr): Require the sizes and offsets of a
-	BIT_FIELD_REF to be poly_uint64s rather than uhwis.
-	* fold-const.c (fold_ternary_loc): Protect tree_to_uhwi with
-	tree_fits_uhwi_p.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.h (emit_group_load, emit_group_load_into_temps)
-	(emit_group_store): Take the size as a poly_int64 rather than an int.
-	* expr.c (emit_group_load_1, emit_group_load): Likewise.
-	(emit_group_load_into_temp, emit_group_store): Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* ira-int.h (ira_spilled_reg_stack_slot::width): Change from
-	an unsigned int to a poly_uint64.
-	* ira.h (ira_reuse_stack_slot, ira_mark_new_stack_slot): Take the
-	sizes as poly_uint64s rather than unsigned ints.
-	* ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot):
-	Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* lra-constraints.c (emit_inc): Change inc_amount from an int
-	to a poly_int64.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cfgexpand.c (stack_var::size): Change from a HOST_WIDE_INT
-	to a poly_uint64.
-	(add_stack_var, stack_var_cmp, partition_stack_vars)
-	(dump_stack_var_partition): Update accordingly.
-	(alloc_stack_frame_space): Take the size as a poly_int64 rather
-	than a HOST_WIDE_INT.
-	(expand_stack_vars, expand_one_stack_var_1): Handle polynomial sizes.
-	(defer_stack_allocation, estimated_stack_frame_size): Likewise.
-	(account_stack_vars, expand_one_var): Likewise.  Return a poly_uint64
-	rather than a HOST_WIDE_INT.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (return_pops_args): Treat both the input and output
-	sizes as poly_int64s rather than HOST_WIDE_INTS.
-	* targhooks.h (default_return_pops_args): Update accordingly.
-	* targhooks.c (default_return_pops_args): Likewise.
-	* doc/tm.texi: Regenerate.
-	* emit-rtl.h (incoming_args): Change pops_args, size and
-	outgoing_args_size from int to poly_int64_pod.
-	* function.h (expr_status): Change x_pending_stack_adjust and
-	x_stack_pointer_delta from int to poly_int64.
-	(args_size::constant): Change from HOST_WIDE_INT to poly_int64.
-	(ARGS_SIZE_RTX): Update accordingly.
-	* calls.c (highest_outgoing_arg_in_use): Change from int to
-	unsigned int.
-	(stack_usage_watermark, stored_args_watermark): New variables.
-	(stack_region_maybe_used_p, mark_stack_region_used): New functions.
-	(emit_call_1): Change the stack_size and rounded_stack_size
-	parameters from HOST_WIDE_INT to poly_int64.  Track n_popped
-	as a poly_int64.
-	(save_fixed_argument_area): Check stack_usage_watermark.
-	(initialize_argument_information): Change old_pending_adj from
-	a HOST_WIDE_INT * to a poly_int64_pod *.
-	(compute_argument_block_size): Return the size as a poly_int64
-	rather than an int.
-	(finalize_must_preallocate): Track polynomial argument sizes.
-	(compute_argument_addresses): Likewise.
-	(internal_arg_pointer_based_exp): Track polynomial offsets.
-	(mem_overlaps_already_clobbered_arg_p): Rename to...
-	(mem_might_overlap_already_clobbered_arg_p): ...this and take the
-	size as a poly_uint64 rather than an unsigned HOST_WIDE_INT.
-	Check stored_args_used_watermark.
-	(load_register_parameters): Update accordingly.
-	(check_sibcall_argument_overlap_1): Likewise.
-	(combine_pending_stack_adjustment_and_call): Take the unadjusted
-	args size as a poly_int64 rather than an int.  Return a bool
-	indicating whether the optimization was possible and return
-	the new adjustment by reference.
-	(check_sibcall_argument_overlap): Track polynomail argument sizes.
-	Update stored_args_watermark.
-	(can_implement_as_sibling_call_p): Handle polynomial argument sizes.
-	(expand_call): Likewise.  Maintain stack_usage_watermark and
-	stored_args_watermark.  Update calls to
-	combine_pending_stack_adjustment_and_call.
-	(emit_library_call_value_1): Handle polynomial argument sizes.
-	Call stack_region_maybe_used_p and mark_stack_region_used.
-	Maintain stack_usage_watermark.
-	(store_one_arg): Likewise.  Update call to
-	mem_overlaps_already_clobbered_arg_p.
-	* config/arm/arm.c (arm_output_function_prologue): Add a cast to
-	HOST_WIDE_INT.
-	* config/avr/avr.c (avr_outgoing_args_size): Likewise.
-	* config/microblaze/microblaze.c (microblaze_function_prologue):
-	Likewise.
-	* config/cr16/cr16.c (cr16_return_pops_args): Update for new
-	TARGET_RETURN_POPS_ARGS interface.
-	(cr16_compute_frame, cr16_initial_elimination_offset): Add casts
-	to HOST_WIDE_INT.
-	* config/ft32/ft32.c (ft32_compute_frame): Likewise.
-	* config/i386/i386.c (ix86_return_pops_args): Update for new
-	TARGET_RETURN_POPS_ARGS interface.
-	(ix86_expand_split_stack_prologue): Add a cast to HOST_WIDE_INT.
-	* config/moxie/moxie.c (moxie_compute_frame): Likewise.
-	* config/m68k/m68k.c (m68k_return_pops_args): Update for new
-	TARGET_RETURN_POPS_ARGS interface.
-	* config/vax/vax.c (vax_return_pops_args): Likewise.
-	* config/pa/pa.h (STACK_POINTER_OFFSET): Add a cast to poly_int64.
-	(EXIT_IGNORE_STACK): Update reference to crtl->outgoing_args_size.
-	* config/arm/arm.h (CALLER_INTERWORKING_SLOT_SIZE): Likewise.
-	* config/powerpcspe/aix.h (STACK_DYNAMIC_OFFSET): Likewise.
-	* config/powerpcspe/darwin.h (STACK_DYNAMIC_OFFSET): Likewise.
-	* config/powerpcspe/powerpcspe.h (STACK_DYNAMIC_OFFSET): Likewise.
-	* config/rs6000/aix.h (STACK_DYNAMIC_OFFSET): Likewise.
-	* config/rs6000/darwin.h (STACK_DYNAMIC_OFFSET): Likewise.
-	* config/rs6000/rs6000.h (STACK_DYNAMIC_OFFSET): Likewise.
-	* dojump.h (saved_pending_stack_adjust): Change x_pending_stack_adjust
-	and x_stack_pointer_delta from int to poly_int64.
-	* dojump.c (do_pending_stack_adjust): Update accordingly.
-	* explow.c (allocate_dynamic_stack_space): Handle polynomial
-	stack_pointer_deltas.
-	* function.c (STACK_DYNAMIC_OFFSET): Add a cast to poly_int64.
-	(pad_to_arg_alignment): Track polynomial offsets.
-	(assign_parm_find_stack_rtl): Likewise.
-	(assign_parms, locate_and_pad_parm): Handle polynomial argument sizes.
-	* toplev.c (output_stack_usage): Update reference to
-	current_function_pushed_stack_size.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* function.c (in_arg_offset, var_offset, dynamic_offset)
-	(out_arg_offset, cfa_offset): Change from int to poly_int64.
-	(instantiate_new_reg): Return the new offset as a poly_int64_pod
-	rather than a HOST_WIDE_INT.
-	(instantiate_virtual_regs_in_rtx): Track polynomial offsets.
-	(instantiate_virtual_regs_in_insn): Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (get_args_size, add_args_size_note): New functions.
-	(find_args_size_adjust): Return a poly_int64 rather than a
-	HOST_WIDE_INT.
-	(fixup_args_size_notes): Likewise.  Make the same change to the
-	end_args_size parameter.
-	* rtlanal.c (get_args_size, add_args_size_note): New functions.
-	* builtins.c (expand_builtin_trap): Use add_args_size_note.
-	* calls.c (emit_call_1): Likewise.
-	* explow.c (adjust_stack_1): Likewise.
-	* cfgcleanup.c (old_insns_match_p): Update use of
-	find_args_size_adjust.
-	* combine.c (distribute_notes): Track polynomial arg sizes.
-	* dwarf2cfi.c (dw_trace_info): Change beg_true_args_size,
-	end_true_args_size, beg_delay_args_size and end_delay_args_size
-	from HOST_WIDE_INT to poly_int64.
-	(add_cfi_args_size): Take the args_size as a poly_int64 rather
-	than a HOST_WIDE_INT.
-	(notice_args_size, notice_eh_throw, maybe_record_trace_start)
-	(maybe_record_trace_start_abnormal, scan_trace, connect_traces): Track
-	polynomial arg sizes.
-	* emit-rtl.c (try_split): Use get_args_size.
-	* recog.c (peep2_attempt): Likewise.
-	* reload1.c (reload_as_needed): Likewise.
-	* expr.c (find_args_size_adjust): Return the adjustment as a
-	poly_int64 rather than a HOST_WIDE_INT.
-	(fixup_args_size_notes): Change end_args_size from a HOST_WIDE_INT
-	to a poly_int64 and change the return type in the same way.
-	(emit_single_push_insn): Track polynomial arg sizes.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.h (push_block, emit_push_insn): Change the "extra" parameter
-	from HOST_WIDE_INT to poly_int64.
-	* expr.c (push_block, emit_push_insn): Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* function.h (frame_space): Change start and length from HOST_WIDE_INT
-	to poly_int64.
-	(get_frame_size): Return the size as a poly_int64 rather than a
-	HOST_WIDE_INT.
-	(frame_offset_overflow): Take the offset as a poly_int64 rather
-	than a HOST_WIDE_INT.
-	(assign_stack_local_1, assign_stack_local, assign_stack_temp_for_type)
-	(assign_stack_temp): Likewise for the size.
-	* function.c (get_frame_size): Return a poly_int64 rather than
-	a HOST_WIDE_INT.
-	(frame_offset_overflow): Take the offset as a poly_int64 rather
-	than a HOST_WIDE_INT.
-	(try_fit_stack_local): Take the start, length and size as poly_int64s
-	rather than HOST_WIDE_INTs.  Return the offset as a poly_int64_pod
-	rather than a HOST_WIDE_INT.
-	(add_frame_space): Take the start and end as poly_int64s rather than
-	HOST_WIDE_INTs.
-	(assign_stack_local_1, assign_stack_local, assign_stack_temp_for_type)
-	(assign_stack_temp): Likewise for the size.
-	(temp_slot): Change size, base_offset and full_size from HOST_WIDE_INT
-	to poly_int64.
-	(find_temp_slot_from_address): Handle polynomial offsets.
-	(combine_temp_slots): Likewise.
-	* emit-rtl.h (rtl_data::x_frame_offset): Change from HOST_WIDE_INT
-	to poly_int64.
-	* cfgexpand.c (alloc_stack_frame_space): Return the offset as a
-	poly_int64 rather than a HOST_WIDE_INT.
-	(expand_one_stack_var_at): Take the offset as a poly_int64 rather
-	than a HOST_WIDE_INT.
-	(expand_stack_vars, expand_one_stack_var_1, expand_used_vars): Handle
-	polynomial frame offsets.
-	* config/m32r/m32r-protos.h (m32r_compute_frame_size): Take the size
-	as a poly_int64 rather than an int.
-	* config/m32r/m32r.c (m32r_compute_frame_size): Likewise.
-	* config/v850/v850-protos.h (compute_frame_size): Likewise.
-	* config/v850/v850.c (compute_frame_size): Likewise.
-	* config/xtensa/xtensa-protos.h (compute_frame_size): Likewise.
-	* config/xtensa/xtensa.c (compute_frame_size): Likewise.
-	* config/pa/pa-protos.h (pa_compute_frame_size): Likewise.
-	* config/pa/pa.c (pa_compute_frame_size): Likewise.
-	* explow.h (get_dynamic_stack_base): Take the offset as a poly_int64
-	rather than a HOST_WIDE_INT.
-	* explow.c (get_dynamic_stack_base): Likewise.
-	* final.c (final_start_function): Use the constant lower bound
-	of the frame size for -Wframe-larger-than.
-	* ira.c (do_reload): Adjust for new get_frame_size return type.
-	* lra.c (lra): Likewise.
-	* reload1.c (reload): Likewise.
-	* config/avr/avr.c (avr_asm_function_end_prologue): Likewise.
-	* config/pa/pa.h (EXIT_IGNORE_STACK): Likewise.
-	* rtlanal.c (get_initial_register_offset): Return the offset as
-	a poly_int64 rather than a HOST_WIDE_INT.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* reload1.c (elim_table): Change initial_offset, offset and
-	previous_offset from HOST_WIDE_INT to poly_int64_pod.
-	(offsets_at): Change the target array's element type from
-	HOST_WIDE_INT to poly_int64_pod.
-	(set_label_offsets, eliminate_regs_1, eliminate_regs_in_insn)
-	(elimination_costs_in_insn, update_eliminable_offsets)
-	(verify_initial_elim_offsets, set_offsets_for_label)
-	(init_eliminable_invariants): Update after above changes.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* reload.h (reload::inc): Change from an int to a poly_int64_pod.
-	* reload.c (combine_reloads, debug_reload_to_stream): Likewise.
-	(decomposition): Change start and end from HOST_WIDE_INT
-	to poly_int64_pod.
-	(decompose, immune_p): Update accordingly.
-	(find_inc_amount): Return a poly_int64 rather than an int.
-	* reload1.c (inc_for_reload): Take the inc_amount as a poly_int64
-	rather than an int.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (get_inner_reference): Return the bitsize and bitpos
-	as poly_int64_pods rather than HOST_WIDE_INT.
-	* fold-const.h (ptr_difference_const): Return the pointer difference
-	as a poly_int64_pod rather than a HOST_WIDE_INT.
-	* expr.c (get_inner_reference): Return the bitsize and bitpos
-	as poly_int64_pods rather than HOST_WIDE_INT.
-	(expand_expr_addr_expr_1, expand_expr_real_1): Track polynomial
-	offsets and sizes.
-	* fold-const.c (make_bit_field_ref): Take the bitpos as a poly_int64
-	rather than a HOST_WIDE_INT.  Update call to get_inner_reference.
-	(optimize_bit_field_compare): Update call to get_inner_reference.
-	(decode_field_reference): Likewise.
-	(fold_unary_loc): Track polynomial offsets and sizes.
-	(split_address_to_core_and_offset): Return the bitpos as a
-	poly_int64_pod rather than a HOST_WIDE_INT.
-	(ptr_difference_const): Likewise for the pointer difference.
-	* asan.c (instrument_derefs): Track polynomial offsets and sizes.
-	* config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
-	* dbxout.c (dbxout_expand_expr): Likewise.
-	* dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref)
-	(loc_list_from_tree_1, fortran_common): Likewise.
-	* gimple-laddress.c (pass_laddress::execute): Likewise.
-	* gimple-ssa-store-merging.c (find_bswap_or_nop_load): Likewise.
-	* gimplify.c (gimplify_scan_omp_clauses): Likewise.
-	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
-	* tree-affine.c (tree_to_aff_combination): Likewise.
-	(get_inner_reference_aff): Likewise.
-	* tree-data-ref.c (split_constant_offset_1): Likewise.
-	(dr_analyze_innermost): Likewise.
-	* tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
-	* tree-sra.c (ipa_sra_check_caller): Likewise.
-	* tree-vect-data-refs.c (vect_check_gather_scatter): Likewise.
-	* ubsan.c (maybe_instrument_pointer_overflow): Likewise.
-	(instrument_bool_enum_load, instrument_object_size): Likewise.
-	* gimple-ssa-strength-reduction.c (slsr_process_ref): Update call
-	to get_inner_reference.
-	* hsa-gen.c (gen_hsa_addr): Likewise.
-	* sanopt.c (maybe_optimize_ubsan_ptr_ifn): Likewise.
-	* tsan.c (instrument_expr): Likewise.
-	* match.pd: Update call to ptr_difference_const.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* fold-const.c (fold_comparison): Track sizes and offsets as
-	poly_int64s rather than HOST_WIDE_INTs when folding address
-	comparisons.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.h (get_bit_range): Return the bitstart and bitend as
-	poly_uint64s rather than unsigned HOST_WIDE_INTs.  Return the bitpos
-	as a poly_int64 rather than a HOST_WIDE_INT.
-	* expr.c (get_bit_range): Likewise.
-	(expand_assignment): Update call accordingly.
-	* fold-const.c (optimize_bit_field_compare): Likewise.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_addr_query_type): New enum.
-	(aarch64_legitimate_address_p): Use it instead of an rtx code,
-	as an optional final parameter.
-	* config/aarch64/aarch64.c (aarch64_classify_address): Likewise.
-	(aarch64_legitimate_address_p): Likewise.
-	(aarch64_print_address_internal): Take an aarch64_addr_query_type
-	instead of an rtx code.
-	(aarch64_address_valid_for_prefetch_p): Update calls accordingly.
-	(aarch64_legitimate_address_hook_p): Likewise.
-	(aarch64_print_ldpstp_address): Likewise.
-	(aarch64_print_operand_address): Likewise.
-	(aarch64_address_cost): Likewise.
-	* config/aarch64/constraints.md (Uml, Umq, Ump, Utq): Likewise.
-	* config/aarch64/predicates.md (aarch64_mem_pair_operand): Likewise.
-	(aarch64_mem_pair_lanes_operand): Likewise.
-
-2017-12-20  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Call
-	update_stmt_if_modified.
-
-2017-12-20  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR tree-optimization/83491
-	* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Check for SSA_NAME
-	before walking uses.  Improve coding style and comments.
-
-2017-12-20  Tom de Vries  <tom@codesourcery.com>
-
-	* gimple-fold.c (fold_internal_goacc_dim): Simplify.
-
-2017-12-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR ipa/83506
-	* ipa-fnsummary.c (pass_data_ipa_free_fn_summary): Use 0 for
-	todo_flags_finish.
-	(pass_ipa_free_fn_summary): Add small_p private data member,
-	initialize to false in the ctor.
-	(pass_ipa_free_fn_summary::clone,
-	pass_ipa_free_fn_summary::set_pass_param,
-	pass_ipa_free_fn_summary::gate): New methods.
-	(pass_ipa_free_fn_summary::execute): Return TODO_remove_functions
-	| TODO_dump_symtab if small_p.
-	* passes.def: Add true parm for the existing pass_ipa_free_fn_summary
-	entry and add another instance of the pass with false parm after
-	ipa-pure-const.
-	* ipa-pure-const.c (pass_ipa_pure_const): Don't call
-	ipa_free_fn_summary here.
-
-2017-12-20  Paolo Carlini  <paolo.carlini@oracle.com>
-
-	* gimplify.c (gimplify_return_expr): Remove dead error_mark_node check.
-
-2017-12-20  Martin Sebor  <msebor@redhat.com>
-
-	PR testsuite/83131
-	* builtins.c (expand_builtin_strlen): Use get_callee_fndecl.
-	(expand_builtin_strcmp): Call maybe_warn_nonstring_arg.
-	(expand_builtin_strncmp): Same.
-
-2017-12-20  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR bootstrap/83396
-	* cfgexpand.c (label_rtx_for_bb): Revert SFN changes that
-	allowed debug stmts before labels.
-	(expand_gimple_basic_block): Likewise.
-	* gimple-iterator.c (gimple_find_edge_insert_loc): Likewise.
-	* gimple-iterator.h (gsi_after_labels): Likewise.
-	* tree-cfgcleanup (remove_forwarder_block): Likewise, but
-	rename reused variable, and simplify using gsi_move_before.
-	* tree-ssa-tail-merge.c (find_duplicate): Likewise.
-	* tree-cfg.c (make_edges, cleanup_dead_labels): Likewise.
-	(gimple_can_merge_blocks_p, verify_gimple_in_cfg): Likewise.
-	(gimple_verify_flow_info, gimple_block_label): Likewise.
-	(make_blocks): Move debug markers after adjacent labels.
-	* cfgrtl.c (skip_insns_after_block): Revert SFN changes that
-	allowed debug insns outside blocks.
-	* df-scan.c (df_insn_delete): Likewise.
-	* lra-constraints.c (update_ebb_live_info): Likewise.
-	* var-tracking.c (get_first_insn, vt_emit_notes): Likewise.
-	(vt_initialize, delete_vta_debug_insns): Likewise.
-	(reemit_marker_as_note): Drop BB parm.  Adjust callers.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* poly-int-types.h (round_down_to_byte_boundary): New macro.
-	(round_up_to_byte_boundary): Likewise.
-	* expr.h (get_bit_range): Add temporary shim.
-	* gimple-ssa-store-merging.c (store_operand_info): Change the
-	bitsize, bitpos, bitregion_start and bitregion_end fields from
-	unsigned HOST_WIDE_INT to poly_uint64.
-	(merged_store_group): Likewise load_align_base.
-	(compatible_load_p, compatible_load_p): Update accordingly.
-	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
-	(split_group, imm_store_chain_info::output_merged_store): Likewise.
-	(mem_valid_for_store_merging): Return the bitsize, bitpos,
-	bitregion_start and bitregion_end as poly_uint64s rather than
-	unsigned HOST_WIDE_INTs.  Track polynomial offsets internally.
-	(handled_load): Take the bitsize, bitpos,
-	bitregion_start and bitregion_end as poly_uint64s rather than
-	unsigned HOST_WIDE_INTs.
-	(pass_store_merging::process_store): Update call to
-	mem_valid_for_store_merging.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* builtins.c (get_object_alignment_2): Track polynomial offsets
-	and sizes.  Update the alignment handling.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (get_inner_reference): Add a version that returns the
-	offset and size as poly_int64_pods rather than HOST_WIDE_INTs.
-	* cfgexpand.c (expand_debug_expr): Track polynomial offsets.  Simply
-	the case in which bitpos is not associated with the first byte.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-affine.h (get_inner_reference_aff): Return the size as a
-	poly_widest_int.
-	* tree-affine.c (get_inner_reference_aff): Likewise.
-	* tree-data-ref.c (dr_may_alias_p): Update accordingly.
-	* tree-ssa-loop-im.c (mem_refs_may_alias_p): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* fold-const.c (pointer_may_wrap_p): Take the offset as a
-	HOST_WIDE_INT rather than a poly_int64.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gimple-ssa-store-merging.c (symbolic_number::bytepos): Change from
-	HOST_WIDE_INT to poly_int64_pod.
-	(perform_symbolic_merge): Update accordingly.
-	(bswap_replace): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-affine.h (aff_tree::offset): Change from widest_int
-	to poly_widest_int.
-	(wide_int_ext_for_comb): Delete.
-	(aff_combination_const, aff_comb_cannot_overlap_p): Take the
-	constants as poly_widest_int rather than widest_int.
-	(aff_combination_constant_multiple_p): Return the multiplier
-	as a poly_widest_int.
-	(aff_combination_zero_p, aff_combination_singleton_var_p): Handle
-	polynomial offsets.
-	* tree-affine.c (wide_int_ext_for_comb): Make original widest_int
-	version static and add an overload for poly_widest_int.
-	(aff_combination_const, aff_combination_add_cst)
-	(wide_int_constant_multiple_p, aff_comb_cannot_overlap_p): Take
-	the constants as poly_widest_int rather than widest_int.
-	(tree_to_aff_combination): Generalize INTEGER_CST case to
-	poly_int_tree_p.
-	(aff_combination_to_tree): Track offsets as poly_widest_ints.
-	(aff_combination_add_product, aff_combination_mult): Handle
-	polynomial offsets.
-	(aff_combination_constant_multiple_p): Return the multiplier
-	as a poly_widest_int.
-	* tree-predcom.c (determine_offset): Return the offset as a
-	poly_widest_int.
-	(split_data_refs_to_components, suitable_component_p): Update
-	accordingly.
-	(valid_initializer_p): Update call to
-	aff_combination_constant_multiple_p.
-	* tree-ssa-address.c (addr_to_parts): Handle polynomial offsets.
-	* tree-ssa-loop-ivopts.c (get_address_cost_ainc): Take the step
-	as a poly_int64 rather than a HOST_WIDE_INT.
-	(get_address_cost): Handle polynomial offsets.
-	(iv_elimination_compare_lt): Likewise.
-	(rewrite_use_nonlinear_expr): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-dfa.h (get_addr_base_and_unit_offset_1): Return the offset
-	as a poly_int64_pod rather than a HOST_WIDE_INT.
-	(get_addr_base_and_unit_offset): Likewise.
-	* tree-dfa.c (get_addr_base_and_unit_offset_1): Likewise.
-	(get_addr_base_and_unit_offset): Likewise.
-	* doc/match-and-simplify.texi: Change off from HOST_WIDE_INT
-	to poly_int64 in example.
-	* fold-const.c (fold_binary_loc): Update call to
-	get_addr_base_and_unit_offset.
-	* gimple-fold.c (gimple_fold_builtin_memory_op): Likewise.
-	(maybe_canonicalize_mem_ref_addr): Likewise.
-	(gimple_fold_stmt_to_constant_1): Likewise.
-	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref):
-	Likewise.
-	* ipa-param-manipulation.c (ipa_modify_call_arguments): Likewise.
-	* match.pd: Likewise.
-	* omp-low.c (lower_omp_target): Likewise.
-	* tree-sra.c (build_ref_for_offset): Likewise.
-	(build_debug_ref_for_model): Likewise.
-	* tree-ssa-address.c (maybe_fold_tmr): Likewise.
-	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Likewise.
-	* tree-ssa-ccp.c (optimize_memcpy): Likewise.
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
-	(constant_pointer_difference): Likewise.
-	* tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
-	* tree-ssa-phiopt.c (jump_function_from_stmt): Likewise.
-	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
-	* tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise.
-	(vn_reference_maybe_forwprop_address, vn_reference_lookup_3): Likewise.
-	(set_ssa_val_to): Likewise.
-	* tree-ssa-strlen.c (get_addr_stridx, addr_stridxptr)
-	(maybe_diag_stxncpy_trunc): Likewise.
-	* tree-vrp.c (vrp_prop::check_array_ref): Likewise.
-	* tree.c (build_simple_mem_ref_loc): Likewise.
-	(array_at_struct_end_p): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-dfa.h (get_ref_base_and_extent): Return the base, size and
-	max_size as poly_int64_pods rather than HOST_WIDE_INTs.
-	(get_ref_base_and_extent_hwi): Declare.
-	* tree-dfa.c (get_ref_base_and_extent): Return the base, size and
-	max_size as poly_int64_pods rather than HOST_WIDE_INTs.
-	(get_ref_base_and_extent_hwi): New function.
-	* cfgexpand.c (expand_debug_expr): Update call to
-	get_ref_base_and_extent.
-	* dwarf2out.c (add_var_loc_to_decl): Likewise.
-	* gimple-fold.c (get_base_constructor): Return the offset as a
-	poly_int64_pod rather than a HOST_WIDE_INT.
-	(fold_const_aggregate_ref_1): Track polynomial sizes and offsets.
-	* ipa-polymorphic-call.c
-	(ipa_polymorphic_call_context::set_by_invariant)
-	(extr_type_from_vtbl_ptr_store): Track polynomial offsets.
-	(ipa_polymorphic_call_context::ipa_polymorphic_call_context)
-	(check_stmt_for_type_change): Use get_ref_base_and_extent_hwi
-	rather than get_ref_base_and_extent.
-	(ipa_polymorphic_call_context::get_dynamic_type): Likewise.
-	* ipa-prop.c (ipa_load_from_parm_agg, compute_complex_assign_jump_func)
-	(get_ancestor_addr_info, determine_locally_known_aggregate_parts):
-	Likewise.
-	* ipa-param-manipulation.c (ipa_get_adjustment_candidate): Update
-	call to get_ref_base_and_extent.
-	* tree-sra.c (create_access, get_access_for_expr): Likewise.
-	* tree-ssa-alias.c (ao_ref_base, aliasing_component_refs_p)
-	(stmt_kills_ref_p): Likewise.
-	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
-	* tree-ssa-scopedtables.c (avail_expr_hash, equal_mem_array_ref_p):
-	Likewise.
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
-	Use get_ref_base_and_extent_hwi rather than get_ref_base_and_extent
-	when calling native_encode_expr.
-	* tree-ssa-structalias.c (get_constraint_for_component_ref): Update
-	call to get_ref_base_and_extent.
-	(do_structure_copy): Use get_ref_base_and_extent_hwi rather than
-	get_ref_base_and_extent.
-	* var-tracking.c (track_expr_p): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* ipa-param-manipulation.h (ipa_parm_adjustment::offset): Change from
-	HOST_WIDE_INT to poly_int64_pod.
-	* ipa-param-manipulation.c (ipa_modify_call_arguments): Track
-	polynomail parameter offsets.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gengtype.c (main): Handle poly_int64_pod.
-	* dwarf2out.h (dw_cfi_oprnd_cfa_loc): New dw_cfi_oprnd_type.
-	(dw_cfi_oprnd::dw_cfi_cfa_loc): New field.
-	(dw_cfa_location::offset, dw_cfa_location::base_offset): Change
-	from HOST_WIDE_INT to poly_int64_pod.
-	* dwarf2cfi.c (queued_reg_save::cfa_offset): Likewise.
-	(copy_cfa): New function.
-	(lookup_cfa_1): Use the cached dw_cfi_cfa_loc, if it exists.
-	(cfi_oprnd_equal_p): Handle dw_cfi_oprnd_cfa_loc.
-	(cfa_equal_p, dwarf2out_frame_debug_adjust_cfa)
-	(dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_expr)
-	(initial_return_save): Treat offsets as poly_ints.
-	(def_cfa_0): Likewise.  Cache the CFA in dw_cfi_cfa_loc if either
-	offset is nonconstant.
-	(reg_save): Take the offset as a poly_int64.  Fall back to
-	DW_CFA_expression for nonconstant offsets.
-	(queue_reg_save): Take the offset as a poly_int64.
-	* dwarf2out.c (dw_cfi_oprnd2_desc): Handle DW_CFA_def_cfa_expression.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (operand_subword, operand_subword_force): Take the offset
-	as a poly_uint64 an unsigned int.
-	* emit-rtl.c (operand_subword, operand_subword_force): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/rtl.texi: Update documentation of SUBREG_BYTE.  Document the
-	'p' format code.  Use INT_LIST rather than SUBREG as the example of
-	a code with an XINT and an XEXP.  Remove the implication that
-	accessing an rtx field using XINT is expected to work.
-	* rtl.def (SUBREG): Change format from "ei" to "ep".
-	* rtl.h (rtunion::rt_subreg): New field.
-	(XCSUBREG): New macro.
-	(SUBREG_BYTE): Use it.
-	(subreg_shape): Change offset from an unsigned int to a poly_uint16.
-	Update constructor accordingly.
-	(subreg_shape::operator ==): Update accordingly.
-	(subreg_shape::unique_id): Return an unsigned HOST_WIDE_INT rather
-	than an unsigned int.
-	(subreg_lsb, subreg_lowpart_offset, subreg_highpart_offset): Return
-	a poly_uint64 rather than an unsigned int.
-	(subreg_lsb_1): Likewise.  Take the offset as a poly_uint64 rather
-	than an unsigned int.
-	(subreg_size_offset_from_lsb, subreg_size_lowpart_offset)
-	(subreg_size_highpart_offset): Return a poly_uint64 rather than
-	an unsigned int.  Take the sizes as poly_uint64s.
-	(subreg_offset_from_lsb): Return a poly_uint64 rather than
-	an unsigned int.  Take the shift as a poly_uint64 rather than
-	an unsigned int.
-	(subreg_regno_offset, subreg_offset_representable_p): Take the offset
-	as a poly_uint64 rather than an unsigned int.
-	(simplify_subreg_regno): Likewise.
-	(byte_lowpart_offset): Return the memory offset as a poly_int64
-	rather than an int.
-	(subreg_memory_offset): Likewise.  Take the subreg offset as a
-	poly_uint64 rather than an unsigned int.
-	(simplify_subreg, simplify_gen_subreg, subreg_get_info)
-	(gen_rtx_SUBREG, validate_subreg): Take the subreg offset as a
-	poly_uint64 rather than an unsigned int.
-	* rtl.c (rtx_format): Describe 'p' in comment.
-	(copy_rtx, rtx_equal_p_cb, rtx_equal_p): Handle 'p'.
-	* emit-rtl.c (validate_subreg, gen_rtx_SUBREG): Take the subreg
-	offset as a poly_uint64 rather than an unsigned int.
-	(byte_lowpart_offset): Return the memory offset as a poly_int64
-	rather than an int.
-	(subreg_memory_offset): Likewise.  Take the subreg offset as a
-	poly_uint64 rather than an unsigned int.
-	(subreg_size_lowpart_offset, subreg_size_highpart_offset): Take the
-	mode sizes as poly_uint64s rather than unsigned ints.  Return a
-	poly_uint64 rather than an unsigned int.
-	(subreg_lowpart_p): Treat subreg offsets as poly_ints.
-	(copy_insn_1): Handle 'p'.
-	* rtlanal.c (set_noop_p): Treat subregs offsets as poly_uint64s.
-	(subreg_lsb_1): Take the subreg offset as a poly_uint64 rather than
-	an unsigned int.  Return the shift in the same way.
-	(subreg_lsb): Return the shift as a poly_uint64 rather than an
-	unsigned int.
-	(subreg_size_offset_from_lsb): Take the sizes and shift as
-	poly_uint64s rather than unsigned ints.  Return the offset as
-	a poly_uint64.
-	(subreg_get_info, subreg_regno_offset, subreg_offset_representable_p)
-	(simplify_subreg_regno): Take the offset as a poly_uint64 rather than
-	an unsigned int.
-	* rtlhash.c (add_rtx): Handle 'p'.
-	* genemit.c (gen_exp): Likewise.
-	* gengenrtl.c (type_from_format, gendef): Likewise.
-	* gensupport.c (subst_pattern_match, get_alternatives_number)
-	(collect_insn_data, alter_predicate_for_insn, alter_constraints)
-	(subst_dup): Likewise.
-	* gengtype.c (adjust_field_rtx_def): Likewise.
-	* genrecog.c (find_operand, find_matching_operand, validate_pattern)
-	(match_pattern_2): Likewise.
-	(rtx_test::SUBREG_FIELD): New rtx_test::kind_enum.
-	(rtx_test::subreg_field): New function.
-	(operator ==, safe_to_hoist_p, transition_parameter_type)
-	(print_nonbool_test, print_test): Handle SUBREG_FIELD.
-	* genattrtab.c (attr_rtx_1): Say that 'p' is deliberately not handled.
-	* genpeep.c (match_rtx): Likewise.
-	* print-rtl.c (print_poly_int): Include if GENERATOR_FILE too.
-	(rtx_writer::print_rtx_operand): Handle 'p'.
-	(print_value): Handle SUBREG.
-	* read-rtl.c (apply_int_iterator): Likewise.
-	(rtx_reader::read_rtx_operand): Handle 'p'.
-	* alias.c (rtx_equal_for_memref_p): Likewise.
-	* cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Likewise.
-	* caller-save.c (replace_reg_with_saved_mem): Treat subreg offsets
-	as poly_ints.
-	* calls.c (expand_call): Likewise.
-	* combine.c (combine_simplify_rtx, expand_field_assignment): Likewise.
-	(make_extraction, gen_lowpart_for_combine): Likewise.
-	* loop-invariant.c (hash_invariant_expr_1, invariant_expr_equal_p):
-	Likewise.
-	* cse.c (remove_invalid_subreg_refs): Take the offset as a poly_uint64
-	rather than an unsigned int.  Treat subreg offsets as poly_ints.
-	(exp_equiv_p): Handle 'p'.
-	(hash_rtx_cb): Likewise.  Treat subreg offsets as poly_ints.
-	(equiv_constant, cse_insn): Treat subreg offsets as poly_ints.
-	* dse.c (find_shift_sequence): Likewise.
-	* dwarf2out.c (rtl_for_decl_location): Likewise.
-	* expmed.c (extract_low_bits): Likewise.
-	* expr.c (emit_group_store, undefined_operand_subword_p): Likewise.
-	(expand_expr_real_2): Likewise.
-	* final.c (alter_subreg): Likewise.
-	(leaf_renumber_regs_insn): Handle 'p'.
-	* function.c (assign_parm_find_stack_rtl, assign_parm_setup_stack):
-	Treat subreg offsets as poly_ints.
-	* fwprop.c (forward_propagate_and_simplify): Likewise.
-	* ifcvt.c (noce_emit_move_insn, noce_emit_cmove): Likewise.
-	* ira.c (get_subreg_tracking_sizes): Likewise.
-	* ira-conflicts.c (go_through_subreg): Likewise.
-	* ira-lives.c (process_single_reg_class_operands): Likewise.
-	* jump.c (rtx_renumbered_equal_p): Likewise.  Handle 'p'.
-	* lower-subreg.c (simplify_subreg_concatn): Take the subreg offset
-	as a poly_uint64 rather than an unsigned int.
-	(simplify_gen_subreg_concatn, resolve_simple_move): Treat
-	subreg offsets as poly_ints.
-	* lra-constraints.c (operands_match_p): Handle 'p'.
-	(match_reload, curr_insn_transform): Treat subreg offsets as poly_ints.
-	* lra-spills.c (assign_mem_slot): Likewise.
-	* postreload.c (move2add_valid_value_p): Likewise.
-	* recog.c (general_operand, indirect_operand): Likewise.
-	* regcprop.c (copy_value, maybe_mode_change): Likewise.
-	(copyprop_hardreg_forward_1): Likewise.
-	* reginfo.c (simplifiable_subregs_hasher::hash, simplifiable_subregs)
-	(record_subregs_of_mode): Likewise.
-	* rtlhooks.c (gen_lowpart_general, gen_lowpart_if_possible): Likewise.
-	* reload.c (operands_match_p): Handle 'p'.
-	(find_reloads_subreg_address): Treat subreg offsets as poly_ints.
-	* reload1.c (alter_reg, choose_reload_regs): Likewise.
-	(compute_reload_subreg_offset): Likewise, and return an poly_int64.
-	* simplify-rtx.c (simplify_truncation, simplify_binary_operation_1):
-	(test_vector_ops_duplicate): Treat subreg offsets as poly_ints.
-	(simplify_const_poly_int_tests<N>::run): Likewise.
-	(simplify_subreg, simplify_gen_subreg): Take the subreg offset as
-	a poly_uint64 rather than an unsigned int.
-	* valtrack.c (debug_lowpart_subreg): Likewise.
-	* var-tracking.c (var_lowpart): Likewise.
-	(loc_cmp): Handle 'p'.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* ira.c (get_subreg_tracking_sizes): New function.
-	(init_live_subregs): Take an integer size rather than a register.
-	(build_insn_chain): Use get_subreg_tracking_sizes.  Update calls
-	to init_live_subregs.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.c (store_constructor_field): Change bitsize from a
-	unsigned HOST_WIDE_INT to a poly_uint64 and bitpos from a
-	HOST_WIDE_INT to a poly_int64.
-	(store_constructor): Change size from a HOST_WIDE_INT to
-	a poly_int64.
-	(store_field): Likewise bitsize and bitpos.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expmed.h (store_bit_field): Change bitregion_start and
-	bitregion_end from unsigned HOST_WIDE_INT to poly_uint64.
-	* expmed.c (adjust_bit_field_mem_for_reg, strict_volatile_bitfield_p)
-	(store_bit_field_1, store_integral_bit_field, store_bit_field)
-	(store_fixed_bit_field, store_split_bit_field): Likewise.
-	* expr.c (store_constructor_field, store_field): Likewise.
-	(optimize_bitfield_assignment_op): Likewise.  Make the same change
-	to bitsize and bitpos.
-	* machmode.h (bit_field_mode_iterator): Change m_bitregion_start
-	and m_bitregion_end from HOST_WIDE_INT to poly_int64.  Make the
-	same change in the constructor arguments.
-	(get_best_mode): Change bitregion_start and bitregion_end from
-	unsigned HOST_WIDE_INT to poly_uint64.
-	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
-	Change bitregion_start and bitregion_end from HOST_WIDE_INT to
-	poly_int64.
-	(bit_field_mode_iterator::next_mode): Update for new types
-	of m_bitregion_start and m_bitregion_end.
-	(get_best_mode): Change bitregion_start and bitregion_end from
-	unsigned HOST_WIDE_INT to poly_uint64.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (simplify_gen_subreg): Add a temporary overload that
-	accepts poly_uint64 offsets.
-	* expmed.h (extract_bit_field): Take bitsize and bitnum as
-	poly_uint64s rather than unsigned HOST_WIDE_INTs.
-	* expmed.c (lowpart_bit_field_p): Likewise.
-	(extract_bit_field_as_subreg): New function, split out from...
-	(extract_bit_field_1): ...here.  Take bitsize and bitnum as
-	poly_uint64s rather than unsigned HOST_WIDE_INTs.  For vector
-	extractions, check that BITSIZE matches the size of the extracted
-	value and that BITNUM is an exact multiple of that size.
-	If all else fails, try forcing the value into memory if
-	BITNUM is variable, and adjusting the address so that the
-	offset is constant.  Split the part that can only handle constant
-	bitsize and bitnum out into...
-	(extract_integral_bit_field): ...this new function.
-	(extract_bit_field): Take bitsize and bitnum as poly_uint64s
-	rather than unsigned HOST_WIDE_INTs.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expmed.h (store_bit_field): Take bitsize and bitnum as
-	poly_uint64s rather than unsigned HOST_WIDE_INTs.
-	* expmed.c (simple_mem_bitfield_p): Likewise.  Add a parameter
-	that returns the byte size.
-	(store_bit_field_1): Take bitsize and bitnum as
-	poly_uint64s rather than unsigned HOST_WIDE_INTs.  Update call
-	to simple_mem_bitfield_p.  Split the part that can only handle
-	constant bitsize and bitnum out into...
-	(store_integral_bit_field): ...this new function.
-	(store_bit_field): Take bitsize and bitnum as poly_uint64s rather
-	than unsigned HOST_WIDE_INTs.
-	(extract_bit_field_1): Update call to simple_mem_bitfield_p.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* lra-int.h (lra_reg): Change offset from int to poly_int64.
-	(lra_insn_recog_data): Change sp_offset from HOST_WIDE_INT
-	to poly_int64.
-	(lra_eliminate_regs_1, eliminate_regs_in_insn): Change
-	update_sp_offset from a HOST_WIDE_INT to a poly_int64.
-	(lra_update_reg_val_offset, lra_reg_val_equal_p): Take the
-	offset as a poly_int64 rather than an int.
-	* lra-assigns.c (find_hard_regno_for_1): Handle poly_int64 offsets.
-	(setup_live_pseudos_and_spill_after_risky_transforms): Likewise.
-	* lra-constraints.c (equiv_address_substitution): Track offsets
-	as poly_int64s.
-	(emit_inc): Check poly_int_rtx_p instead of CONST_INT_P.
-	(curr_insn_transform): Handle the new form of sp_offset.
-	* lra-eliminations.c (lra_elim_table): Change previous_offset
-	and offset from HOST_WIDE_INT to poly_int64.
-	(print_elim_table, update_reg_eliminate): Update accordingly.
-	(self_elim_offsets): Change from HOST_WIDE_INT to poly_int64_pod.
-	(get_elimination): Update accordingly.
-	(form_sum): Check poly_int_rtx_p instead of CONST_INT_P.
-	(lra_eliminate_regs_1, eliminate_regs_in_insn): Change
-	update_sp_offset from a HOST_WIDE_INT to a poly_int64.  Handle
-	poly_int64 offsets generally.
-	(curr_sp_change): Change from HOST_WIDE_INT to poly_int64.
-	(mark_not_eliminable, init_elimination): Update accordingly.
-	(remove_reg_equal_offset_note): Return a bool and pass the new
-	offset back by pointer as a poly_int64.
-	* lra-remat.c (change_sp_offset): Take sp_offset as a poly_int64
-	rather than a HOST_WIDE_INT.
-	(do_remat): Track offsets poly_int64s.
-	* lra.c (lra_update_insn_recog_data, setup_sp_offset): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (mem_attrs): Add a default constructor.  Change size and
-	offset from HOST_WIDE_INT to poly_int64.
-	* emit-rtl.h (set_mem_offset, set_mem_size, adjust_address_1)
-	(adjust_automodify_address_1, set_mem_attributes_minus_bitpos)
-	(widen_memory_access): Take the sizes and offsets as poly_int64s
-	rather than HOST_WIDE_INTs.
-	* alias.c (ao_ref_from_mem): Handle the new form of MEM_OFFSET.
-	(offset_overlap_p): Take poly_int64s rather than HOST_WIDE_INTs
-	and ints.
-	(adjust_offset_for_component_ref): Change the offset from a
-	HOST_WIDE_INT to a poly_int64.
-	(nonoverlapping_memrefs_p): Track polynomial offsets and sizes.
-	* cfgcleanup.c (merge_memattrs): Update after mem_attrs changes.
-	* dce.c (find_call_stack_args): Likewise.
-	* dse.c (record_store): Likewise.
-	* dwarf2out.c (tls_mem_loc_descriptor, dw_sra_loc_expr): Likewise.
-	* print-rtl.c (rtx_writer::print_rtx): Likewise.
-	* read-rtl-function.c (test_loading_mem): Likewise.
-	* rtlanal.c (may_trap_p_1): Likewise.
-	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
-	* var-tracking.c (int_mem_offset, track_expr_p): Likewise.
-	* emit-rtl.c (mem_attrs_eq_p, get_mem_align_offset): Likewise.
-	(mem_attrs::mem_attrs): New function.
-	(set_mem_attributes_minus_bitpos): Change bitpos from a
-	HOST_WIDE_INT to poly_int64.
-	(set_mem_alias_set, set_mem_addr_space, set_mem_align, set_mem_expr)
-	(clear_mem_offset, clear_mem_size, change_address)
-	(get_spill_slot_decl, set_mem_attrs_for_spill): Directly
-	initialize mem_attrs.
-	(set_mem_offset, set_mem_size, adjust_address_1)
-	(adjust_automodify_address_1, offset_address, widen_memory_access):
-	Likewise.  Take poly_int64s rather than HOST_WIDE_INT.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtlanal.c (rtx_addr_can_trap_p_1): Take the offset and size
-	as poly_int64s rather than HOST_WIDE_INTs.  Use a size of -1
-	rather than 0 to represent an unknown size.  Assert that the size
-	is known when the mode isn't BLKmode.
-	(may_trap_p_1): Use -1 for unknown sizes.
-	(rtx_addr_can_trap_p): Likewise.  Pass BLKmode rather than VOIDmode.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* dse.c (store_info): Change offset and width from HOST_WIDE_INT
-	to poly_int64.  Update commentary for positions_needed.large.
-	(read_info_type): Change offset and width from HOST_WIDE_INT
-	to poly_int64.
-	(set_usage_bits): Likewise.
-	(canon_address): Return the offset as a poly_int64 rather than
-	a HOST_WIDE_INT.  Use strip_offset_and_add.
-	(set_all_positions_unneeded, any_positions_needed_p): Use
-	positions_needed.large to track stores with non-constant widths.
-	(all_positions_needed_p): Likewise.  Take the offset and width
-	as poly_int64s rather than ints.  Assert that rhs is nonnull.
-	(record_store): Cope with non-constant offsets and widths.
-	Nullify the rhs of an earlier store if we can't tell which bytes
-	of it are needed.
-	(find_shift_sequence): Take the access_size and shift as poly_int64s
-	rather than ints.
-	(get_stored_val): Take the read_offset and read_width as poly_int64s
-	rather than HOST_WIDE_INTs.
-	(check_mem_read_rtx, scan_stores, scan_reads, dse_step5): Handle
-	non-constant offsets and widths.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* inchash.h (inchash::hash::add_poly_int): New function.
-	* tree-ssa-alias.h (ao_ref::offset, ao_ref::size, ao_ref::max_size):
-	Use poly_int64 rather than HOST_WIDE_INT.
-	(ao_ref::max_size_known_p): New function.
-	* tree-ssa-sccvn.h (vn_reference_op_struct::off): Use poly_int64_pod
-	rather than HOST_WIDE_INT.
-	* tree-ssa-alias.c (ao_ref_base): Apply get_ref_base_and_extent
-	to temporaries until its interface is adjusted to match.
-	(ao_ref_init_from_ptr_and_size): Handle polynomial offsets and sizes.
-	(aliasing_component_refs_p, decl_refs_may_alias_p)
-	(indirect_ref_may_alias_decl_p, indirect_refs_may_alias_p): Take
-	the offsets and max_sizes as poly_int64s instead of HOST_WIDE_INTs.
-	(refs_may_alias_p_1, stmt_kills_ref_p): Adjust for changes to
-	ao_ref fields.
-	* alias.c (ao_ref_from_mem): Likewise.
-	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
-	* tree-ssa-dse.c (valid_ao_ref_for_dse, normalize_ref)
-	(clear_bytes_written_by, setup_live_bytes_from_ref, compute_trims)
-	(maybe_trim_complex_store, maybe_trim_constructor_store)
-	(live_bytes_read, dse_classify_store): Likewise.
-	* tree-ssa-sccvn.c (vn_reference_compute_hash, vn_reference_eq):
-	(copy_reference_ops_from_ref, ao_ref_init_from_vn_reference)
-	(fully_constant_vn_reference_p, valueize_refs_1): Likewise.
-	(vn_reference_lookup_3): Likewise.
-	* tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p)
-	(indirect_refs_may_alias_p): Use ranges_may_overlap_p
-	instead of ranges_overlap_p.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-ssa-alias.c (same_addr_size_stores_p): Take the offsets and
-	sizes as poly_int64s rather than HOST_WIDE_INTs.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gimple-fold.h (fold_ctor_reference): Take the offset and size
-	as poly_uint64 rather than unsigned HOST_WIDE_INT.
-	* gimple-fold.c (fold_ctor_reference): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (dwarf_poly_indeterminate_value): New hook.
-	* targhooks.h (default_dwarf_poly_indeterminate_value): Declare.
-	* targhooks.c (default_dwarf_poly_indeterminate_value): New function.
-	* doc/tm.texi.in (TARGET_DWARF_POLY_INDETERMINATE_VALUE): Document.
-	* doc/tm.texi: Regenerate.
-	* dwarf2out.h (build_cfa_loc, build_cfa_aligned_loc): Take the
-	offset as a poly_int64.
-	* dwarf2out.c (new_reg_loc_descr): Move later in file.  Take the
-	offset as a poly_int64.
-	(loc_descr_plus_const, loc_list_plus_const, build_cfa_aligned_loc):
-	Take the offset as a poly_int64.
-	(build_cfa_loc): Likewise.  Use loc_descr_plus_const.
-	(frame_pointer_fb_offset): Change to a poly_int64.
-	(int_loc_descriptor): Take the offset as a poly_int64.  Use
-	targetm.dwarf_poly_indeterminate_value for polynomial offsets.
-	(based_loc_descr): Take the offset as a poly_int64.
-	Use strip_offset_and_add to handle (plus X (const)).
-	Use new_reg_loc_descr instead of an open-coded version of the
-	previous implementation.
-	(mem_loc_descriptor): Handle CONST_POLY_INT.
-	(compute_frame_pointer_to_fb_displacement): Take the offset as a
-	poly_int64.  Use strip_offset_and_add to handle (plus X (const)).
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (reg_attrs::offset): Change from HOST_WIDE_INT to poly_int64.
-	(gen_rtx_REG_offset): Take the offset as a poly_int64.
-	* inchash.h (inchash::hash::add_poly_hwi): New function.
-	* gengtype.c (main): Register poly_int64.
-	* emit-rtl.c (reg_attr_hasher::hash): Use inchash.  Treat the
-	offset as a poly_int.
-	(reg_attr_hasher::equal): Use must_eq to compare offsets.
-	(get_reg_attrs, update_reg_offset, gen_rtx_REG_offset): Take the
-	offset as a poly_int64.
-	(set_reg_attrs_from_value): Treat the offset as a poly_int64.
-	* print-rtl.c (print_poly_int): New function.
-	(rtx_writer::print_rtx_operand_code_r): Treat REG_OFFSET as
-	a poly_int.
-	* var-tracking.c (track_offset_p, get_tracked_reg_offset): New
-	functions.
-	(var_reg_set, var_reg_delete_and_set, var_reg_delete): Use them.
-	(same_variable_part_p, track_loc_p): Take the offset as a poly_int64.
-	(vt_get_decl_and_offset): Return the offset as a poly_int64.
-	Enforce track_offset_p for parts of a PARALLEL.
-	(vt_add_function_parameter): Use const_offset for the final
-	offset to track.  Use get_tracked_reg_offset for the parts
-	of a PARALLEL.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (truly_noop_truncation): Take poly_uint64s instead of
-	unsigned ints.  Change default to hook_bool_puint64_puint64_true.
-	* doc/tm.texi: Regenerate.
-	* hooks.h (hook_bool_uint_uint_true): Delete.
-	(hook_bool_puint64_puint64_true): Declare.
-	* hooks.c (hook_bool_uint_uint_true): Delete.
-	(hook_bool_puint64_puint64_true): New function.
-	* config/mips/mips.c (mips_truly_noop_truncation): Take poly_uint64s
-	instead of unsigned ints.
-	* config/spu/spu.c (spu_truly_noop_truncation): Likewise.
-	* config/tilegx/tilegx.c (tilegx_truly_noop_truncation): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* optabs.h (expand_operand): Add an int_value field.
-	(create_expand_operand): Add an int_value parameter and use it
-	to initialize the new expand_operand field.
-	(create_integer_operand): Replace with a declaration of a function
-	that accepts poly_int64s.  Move the implementation to...
-	* optabs.c (create_integer_operand): ...here.
-	(maybe_legitimize_operand): For EXPAND_INTEGER, check whether
-	the mode preserves the value of int_value, instead of calling
-	const_int_operand on the rtx.  Use gen_int_mode to generate
-	the new rtx.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* dumpfile.h (dump_dec): Declare.
-	* dumpfile.c (dump_dec): New function.
-	* pretty-print.h (pp_wide_integer): Turn into a function and
-	declare a poly_int version.
-	* pretty-print.c (pp_wide_integer): New function for poly_ints.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/generic.texi (POLY_INT_CST): Document.
-	* tree.def (POLY_INT_CST): New tree code.
-	* treestruct.def (TS_POLY_INT_CST): New tree layout.
-	* tree-core.h (tree_poly_int_cst): New struct.
-	(tree_node): Add a poly_int_cst field.
-	* tree.h (POLY_INT_CST_P, POLY_INT_CST_COEFF): New macros.
-	(wide_int_to_tree, force_fit_type): Take a poly_wide_int_ref
-	instead of a wide_int_ref.
-	(build_int_cst, build_int_cst_type): Take a poly_int64 instead
-	of a HOST_WIDE_INT.
-	(build_int_cstu, build_array_type_nelts): Take a poly_uint64
-	instead of an unsigned HOST_WIDE_INT.
-	(build_poly_int_cst, tree_fits_poly_int64_p, tree_fits_poly_uint64_p)
-	(ptrdiff_tree_p): Declare.
-	(tree_to_poly_int64, tree_to_poly_uint64): Likewise.  Provide
-	extern inline implementations if the target doesn't use POLY_INT_CST.
-	(poly_int_tree_p): New function.
-	(wi::unextended_tree): New class.
-	(wi::int_traits <unextended_tree>): New override.
-	(wi::extended_tree): Add a default constructor.
-	(wi::extended_tree::get_tree): New function.
-	(wi::widest_extended_tree, wi::offset_extended_tree): New typedefs.
-	(wi::tree_to_widest_ref, wi::tree_to_offset_ref): Use them.
-	(wi::tree_to_poly_widest_ref, wi::tree_to_poly_offset_ref)
-	(wi::tree_to_poly_wide_ref): New typedefs.
-	(wi::ints_for): Provide overloads for extended_tree and
-	unextended_tree.
-	(poly_int_cst_value, wi::to_poly_widest, wi::to_poly_offset)
-	(wi::to_wide): New functions.
-	(wi::fits_to_boolean_p, wi::fits_to_tree_p): Handle poly_ints.
-	* tree.c (poly_int_cst_hasher): New struct.
-	(poly_int_cst_hash_table): New variable.
-	(tree_node_structure_for_code, tree_code_size, simple_cst_equal)
-	(valid_constant_size_p, add_expr, drop_tree_overflow): Handle
-	POLY_INT_CST.
-	(initialize_tree_contains_struct): Handle TS_POLY_INT_CST.
-	(init_ttree): Initialize poly_int_cst_hash_table.
-	(build_int_cst, build_int_cst_type, build_invariant_address): Take
-	a poly_int64 instead of a HOST_WIDE_INT.
-	(build_int_cstu, build_array_type_nelts): Take a poly_uint64
-	instead of an unsigned HOST_WIDE_INT.
-	(wide_int_to_tree): Rename to...
-	(wide_int_to_tree_1): ...this.
-	(build_new_poly_int_cst, build_poly_int_cst): New functions.
-	(force_fit_type): Take a poly_wide_int_ref instead of a wide_int_ref.
-	(wide_int_to_tree): New function that takes a poly_wide_int_ref.
-	(ptrdiff_tree_p, tree_to_poly_int64, tree_to_poly_uint64)
-	(tree_fits_poly_int64_p, tree_fits_poly_uint64_p): New functions.
-	* lto-streamer-out.c (DFS::DFS_write_tree_body, hash_tree): Handle
-	TS_POLY_INT_CST.
-	* tree-streamer-in.c (lto_input_ts_poly_tree_pointers): Likewise.
-	(streamer_read_tree_body): Likewise.
-	* tree-streamer-out.c (write_ts_poly_tree_pointers): Likewise.
-	(streamer_write_tree_body): Likewise.
-	* tree-streamer.c (streamer_check_handled_ts_structures): Likewise.
-	* asan.c (asan_protect_global): Require the size to be an INTEGER_CST.
-	* cfgexpand.c (expand_debug_expr): Handle POLY_INT_CST.
-	* expr.c (expand_expr_real_1, const_vector_from_tree): Likewise.
-	* gimple-expr.h (is_gimple_constant): Likewise.
-	* gimplify.c (maybe_with_size_expr): Likewise.
-	* print-tree.c (print_node): Likewise.
-	* tree-data-ref.c (data_ref_compare_tree): Likewise.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-	* tree-ssa-address.c (addr_for_mem_ref): Likewise.
-	* tree-vect-data-refs.c (dr_group_sort_cmp): Likewise.
-	* tree-vrp.c (compare_values_warnv): Likewise.
-	* tree-ssa-loop-ivopts.c (determine_base_object, constant_multiple_of)
-	(get_loop_invariant_expr, add_candidate_1, get_computation_aff_1)
-	(force_expr_to_var_cost): Likewise.
-	* tree-ssa-loop.c (for_each_index): Likewise.
-	* fold-const.h (build_invariant_address, size_int_kind): Take a
-	poly_int64 instead of a HOST_WIDE_INT.
-	* fold-const.c (fold_negate_expr_1, const_binop, const_unop)
-	(fold_convert_const, multiple_of_p, fold_negate_const): Handle
-	POLY_INT_CST.
-	(size_binop_loc): Likewise.  Allow int_const_binop_1 to fail.
-	(int_const_binop_2): New function, split out from...
-	(int_const_binop_1): ...here.  Handle POLY_INT_CST.
-	(size_int_kind): Take a poly_int64 instead of a HOST_WIDE_INT.
-	* expmed.c (make_tree): Handle CONST_POLY_INT_P.
-	* gimple-ssa-strength-reduction.c (slsr_process_add)
-	(slsr_process_mul): Check for INTEGER_CSTs before using them
-	as candidates.
-	* stor-layout.c (bits_from_bytes): New function.
-	(bit_from_pos): Use it.
-	(layout_type): Likewise.  For vectors, multiply the TYPE_SIZE_UNIT
-	by BITS_PER_UNIT to get the TYPE_SIZE.
-	* tree-cfg.c (verify_expr, verify_types_in_gimple_reference): Allow
-	MEM_REF and TARGET_MEM_REF offsets to be a POLY_INT_CST.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/rtl.texi (const_poly_int): Document.  Also document the
-	rtl sharing behavior.
-	* gengenrtl.c (excluded_rtx): Return true for CONST_POLY_INT.
-	* rtl.h (const_poly_int_def): New struct.
-	(rtx_def::u): Add a cpi field.
-	(CASE_CONST_UNIQUE, CASE_CONST_ANY): Add CONST_POLY_INT.
-	(CONST_POLY_INT_P, CONST_POLY_INT_COEFFS): New macros.
-	(wi::rtx_to_poly_wide_ref): New typedef
-	(const_poly_int_value, wi::to_poly_wide, rtx_to_poly_int64)
-	(poly_int_rtx_p): New functions.
-	(trunc_int_for_mode): Declare a poly_int64 version.
-	(plus_constant): Take a poly_int64 instead of a HOST_WIDE_INT.
-	(immed_wide_int_const): Take a poly_wide_int_ref rather than
-	a wide_int_ref.
-	(strip_offset): Declare.
-	(strip_offset_and_add): New function.
-	* rtl.def (CONST_POLY_INT): New rtx code.
-	* rtl.c (rtx_size): Handle CONST_POLY_INT.
-	(shared_const_p): Use poly_int_rtx_p.
-	* emit-rtl.h (gen_int_mode): Take a poly_int64 instead of a
-	HOST_WIDE_INT.
-	(gen_int_shift_amount): Likewise.
-	* emit-rtl.c (const_poly_int_hasher): New class.
-	(const_poly_int_htab): New variable.
-	(init_emit_once): Initialize it when NUM_POLY_INT_COEFFS > 1.
-	(const_poly_int_hasher::hash): New function.
-	(const_poly_int_hasher::equal): Likewise.
-	(gen_int_mode): Take a poly_int64 instead of a HOST_WIDE_INT.
-	(immed_wide_int_const): Rename to...
-	(immed_wide_int_const_1): ...this and make static.
-	(immed_wide_int_const): New function, taking a poly_wide_int_ref
-	instead of a wide_int_ref.
-	(gen_int_shift_amount): Take a poly_int64 instead of a HOST_WIDE_INT.
-	(gen_lowpart_common): Handle CONST_POLY_INT.
-	* cse.c (hash_rtx_cb, equiv_constant): Likewise.
-	* cselib.c (cselib_hash_rtx): Likewise.
-	* dwarf2out.c (const_ok_for_output_1): Likewise.
-	* expr.c (convert_modes): Likewise.
-	* print-rtl.c (rtx_writer::print_rtx, print_value): Likewise.
-	* rtlhash.c (add_rtx): Likewise.
-	* explow.c (trunc_int_for_mode): Add a poly_int64 version.
-	(plus_constant): Take a poly_int64 instead of a HOST_WIDE_INT.
-	Handle existing CONST_POLY_INT rtxes.
-	* expmed.h (expand_shift): Take a poly_int64 instead of a
-	HOST_WIDE_INT.
-	* expmed.c (expand_shift): Likewise.
-	* rtlanal.c (strip_offset): New function.
-	(commutative_operand_precedence): Give CONST_POLY_INT the same
-	precedence as CONST_DOUBLE and put CONST_WIDE_INT between that
-	and CONST_INT.
-	* rtl-tests.c (const_poly_int_tests): New struct.
-	(rtl_tests_c_tests): Use it.
-	* simplify-rtx.c (simplify_const_unary_operation): Handle
-	CONST_POLY_INT.
-	(simplify_const_binary_operation): Likewise.
-	(simplify_binary_operation_1): Fold additions of symbolic constants
-	and CONST_POLY_INTs.
-	(simplify_subreg): Handle extensions and truncations of
-	CONST_POLY_INTs.
-	(simplify_const_poly_int_tests): New struct.
-	(simplify_rtx_c_tests): Use it.
-	* wide-int.h (storage_ref): Add default constructor.
-	(wide_int_ref_storage): Likewise.
-	(trailing_wide_ints): Use GTY((user)).
-	(trailing_wide_ints::operator[]): Add a const version.
-	(trailing_wide_ints::get_precision): New function.
-	(trailing_wide_ints::extra_size): Likewise.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* emit-rtl.h (gen_int_shift_amount): Declare.
-	* emit-rtl.c (gen_int_shift_amount): New function.
-	* asan.c (asan_emit_stack_protection): Use gen_int_shift_amount
-	instead of GEN_INT.
-	* calls.c (shift_return_value): Likewise.
-	* cse.c (fold_rtx): Likewise.
-	* dse.c (find_shift_sequence): Likewise.
-	* expmed.c (init_expmed_one_mode, store_bit_field_1, expand_shift_1)
-	(expand_shift, expand_smod_pow2): Likewise.
-	* lower-subreg.c (shift_cost): Likewise.
-	* optabs.c (expand_superword_shift, expand_doubleword_mult)
-	(expand_unop, expand_binop, shift_amt_for_vec_perm_mask)
-	(expand_vec_perm_var): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-	(simplify_binary_operation_1): Likewise.
-	* combine.c (try_combine, find_split_point, force_int_to_mode)
-	(simplify_shift_const_1, simplify_shift_const): Likewise.
-	(change_zero_ext): Likewise.  Use simplify_gen_binary.
-
-2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* poly-int.h (multiple_p): Fix handling of two non-poly_ints.
-
-2017-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* doc/invoke.texi (ARM Options): Document accepted extension options
-	for -march=armv8.3-a.
-
-2017-12-20  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/83105
-	* config.gcc (arm*-*-linux*): When configured with --with-float=hard
-	or --with-float=softfp, set the default CPU to arm10e.
-
-2017-12-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/visium/constraints.md (J, K, L): Use IN_RANGE macro.
-	* config/visium/predicates.md (const_shift_operand): Likewise.
-	* config/visium/visium.c (visium_legitimize_address): Fix oversight.
-	(visium_legitimize_reload_address): Likewise.
-
-2017-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/82975
-	* config/arm/arm.h (TEST_REGNO): Adjust comment as expected in r255830.
-
-2017-12-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/83490
-	* calls.c (compute_argument_addresses): Ignore TYPE_EMPTY_P arguments.
-
-2017-12-20  Julia Koval  <julia.koval@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_VPCLMULQDQ_SET,
-	OPTION_MASK_ISA_VPCLMULQDQ_UNSET): New.
-	(ix86_handle_option): Handle -mvpclmulqdq, move cx6 to flags2.
-	* config.gcc: Include vpclmulqdqintrin.h.
-	* config/i386/cpuid.h: Handle bit_VPCLMULQDQ.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Handle
-	-mvpclmulqdq.
-	* config/i386/i386-builtin.def (__builtin_ia32_vpclmulqdq_v2di,
-	__builtin_ia32_vpclmulqdq_v4di, __builtin_ia32_vpclmulqdq_v8di): New.
-	* config/i386/i386-c.c (__VPCLMULQDQ__): New.
-	* config/i386/i386.c (isa2_opts): Add -mcx16.
-	(isa_opts): Add -mpclmulqdq, remove -mcx16.
-	(ix86_option_override_internal): Move mcx16 to flags2.
-	(ix86_valid_target_attribute_inner_p): Add vpclmulqdq.
-	(ix86_expand_builtin): Handle OPTION_MASK_ISA_VPCLMULQDQ.
-	* config/i386/i386.h (TARGET_VPCLMULQDQ, TARGET_VPCLMULQDQ_P): New.
-	* config/i386/i386.opt: Add mvpclmulqdq, move mcx16 to flags2.
-	* config/i386/immintrin.h: Include vpclmulqdqintrin.h.
-	* config/i386/sse.md (vpclmulqdq_<mode>): New pattern.
-	* config/i386/vpclmulqdqintrin.h (_mm512_clmulepi64_epi128,
-	_mm_clmulepi64_epi128, _mm256_clmulepi64_epi128): New intrinsics.
-	* doc/invoke.texi: Add -mvpclmulqdq.
-
-2017-12-20  Tom de Vries  <tom@codesourcery.com>
-
-	PR middle-end/83423
-	* config/i386/i386.c (ix86_static_chain): Move
-	DECL_STATIC_CHAIN test ...
-	* calls.c (rtx_for_static_chain): ... here.  New function.
-	* calls.h (rtx_for_static_chain): Declare.
-	* builtins.c (expand_builtin_setjmp_receiver): Use rtx_for_static_chain
-	instead of targetm.calls.static_chain.
-	* df-scan.c (df_get_entry_block_def_set): Same.
-
-2017-12-19  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/83493
-	* graphite-isl-ast-to-gimple.c (translate_isl_ast_node_for): Unshare ub
-	and lb.
-
-2017-12-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimple-ssa-sprintf.c (format_directive): Use inform_n instead of
-	inform with hardcoded english plural handling.
-
-2017-12-18  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/83477
-	* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis): For
-	a non-virtual PHI, always push a new range.
-
-2017-12-19  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/77608
-	* builtins.c (compute_objsize): Handle non-constant offsets.
-
-2017-12-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83444
-	* tree-ssa-strlen.c (strlen_check_and_optimize_stmt): For the
-	character load case, if get_stridx on MEM_REF's operand doesn't
-	look usable, retry with get_addr_stridx.
-
-2017-12-19  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR debug/83422
-	* var-tracking.c (vt_debug_insns_local): Do not drop markers.
-	(variable_tracking_main_1): Keep markers even when VTA fails.
-
-	PR bootstrap/83396
-	* cfgexpand.c (expand_gimple_basic_block): Expand label first,
-	even if there are markers before it.
-	* cfgrtl.c (rtl_verify_bb_layout): Reject DEBUG_INSNs outside BBs.
-
-2017-12-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* read-rtl.c (parse_reg_note_name): Replace Yoda conditions with
-	typical order conditions.
-	* sel-sched.c (extract_new_fences_from): Likewise.
-	* config/visium/constraints.md (J, K, L): Likewise.
-	* config/visium/predicates.md (const_shift_operand): Likewise.
-	* config/visium/visium.c (visium_legitimize_address,
-	visium_legitimize_reload_address): Likewise.
-	* config/m68k/m68k.c (output_reg_adjust, emit_reg_adjust): Likewise.
-	* config/arm/arm.c (arm_block_move_unaligned_straight): Likewise.
-	* config/avr/constraints.md (Y01, Ym1, Y02, Ym2): Likewise.
-	* config/avr/avr-log.c (avr_vdump, avr_log_set_avr_log,
-	SET_DUMP_DETAIL): Likewise.
-	* config/avr/predicates.md (const_8_16_24_operand): Likewise.
-	* config/avr/avr.c (STR_PREFIX_P, avr_popcount_each_byte,
-	avr_is_casesi_sequence, avr_casei_sequence_check_operands,
-	avr_set_core_architecture, avr_set_current_function,
-	avr_legitimize_reload_address, avr_asm_len, avr_print_operand,
-	output_movqi, output_movsisf, avr_out_plus, avr_out_bitop,
-	avr_out_fract, avr_adjust_insn_length, avr_encode_section_info,
-	avr_2word_insn_p, output_reload_in_const, avr_has_nibble_0xf,
-	avr_map_decompose, avr_fold_builtin): Likewise.
-	* config/avr/driver-avr.c (avr_devicespecs_file): Likewise.
-	* config/avr/gen-avr-mmcu-specs.c (str_prefix_p, print_mcu): Likewise.
-	* config/i386/i386.c (ix86_parse_stringop_strategy_string): Likewise.
-	* config/m32c/m32c-pragma.c (m32c_pragma_memregs): Likewise.
-	* config/m32c/m32c.c (m32c_conditional_register_usage,
-	m32c_address_cost): Likewise.
-	* config/m32c/predicates.md (shiftcount_operand,
-	longshiftcount_operand): Likewise.
-	* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
-	* config/nios2/nios2.c (nios2_handle_custom_fpu_insn_option,
-	can_use_cdx_ldstw): Likewise.
-	* config/nios2/nios2.h (CDX_REG_P): Likewise.
-	* config/cr16/cr16.h (RETURN_ADDR_RTX, REGNO_MODE_OK_FOR_BASE_P):
-	Likewise.
-	* config/cr16/cr16.md (*mov<mode>_double): Likewise.
-	* config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.
-	* config/h8300/h8300.c (h8300_rtx_costs, get_shift_alg): Likewise.
-	* config/vax/constraints.md (U06, U08, U16, CN6, S08, S16): Likewise.
-	* config/vax/vax.c (adjacent_operands_p): Likewise.
-	* config/ft32/constraints.md (L, b, KA): Likewise.
-	* config/ft32/ft32.c (ft32_load_immediate, ft32_expand_prologue):
-	Likewise.
-	* cfgexpand.c (expand_stack_alignment): Likewise.
-	* gcse.c (insert_expr_in_table): Likewise.
-	* print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Likewise.
-	* cgraphunit.c (cgraph_node::expand): Likewise.
-	* ira-build.c (setup_min_max_allocno_live_range_point): Likewise.
-	* emit-rtl.c (add_insn): Likewise.
-	* input.c (dump_location_info): Likewise.
-	* passes.c (NEXT_PASS): Likewise.
-	* read-rtl-function.c (parse_note_insn_name,
-	function_reader::read_rtx_operand_r, function_reader::parse_mem_expr):
-	Likewise.
-	* sched-rgn.c (sched_rgn_init): Likewise.
-	* diagnostic-show-locus.c (layout::show_ruler): Likewise.
-	* combine.c (find_split_point, simplify_if_then_else, force_to_mode,
-	if_then_else_cond, simplify_shift_const_1, simplify_comparison):
-	Likewise.
-	* explow.c (eliminate_constant_term): Likewise.
-	* final.c (leaf_renumber_regs_insn): Likewise.
-	* cfgrtl.c (print_rtl_with_bb): Likewise.
-	* genhooks.c (emit_init_macros): Likewise.
-	* poly-int.h (maybe_ne, maybe_le, maybe_lt): Likewise.
-	* tree-data-ref.c (conflict_fn): Likewise.
-	* selftest.c (assert_streq): Likewise.
-	* expr.c (store_constructor_field, expand_expr_real_1): Likewise.
-	* fold-const.c (fold_range_test, extract_muldiv_1, fold_truth_andor,
-	fold_binary_loc, multiple_of_p): Likewise.
-	* reload.c (push_reload, find_equiv_reg): Likewise.
-	* et-forest.c (et_nca, et_below): Likewise.
-	* dbxout.c (dbxout_symbol_location): Likewise.
-	* reorg.c (relax_delay_slots): Likewise.
-	* dojump.c (do_compare_rtx_and_jump): Likewise.
-	* gengtype-parse.c (type): Likewise.
-	* simplify-rtx.c (simplify_gen_ternary, simplify_gen_relational,
-	simplify_const_relational_operation): Likewise.
-	* reload1.c (do_output_reload): Likewise.
-	* dumpfile.c (get_dump_file_info_by_switch): Likewise.
-	* gengtype.c (type_for_name): Likewise.
-	* gimple-ssa-sprintf.c (format_directive): Likewise.
-
-2017-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/82975
-	* config/arm/arm.h (TEST_REGNO): Check reg_renumber is set before
-	accessing it.  Adjust comment.
-
-2017-12-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/81914
-	* predict.c (zero_one_minusone): New function.
-	(apply_return_prediction): Avoid return prediction for functions
-	returning only -1, 0 and 1 values, unless they only return -1 and 0
-	or 0 and 1.
-
-2017-12-19  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (legitimate_scaled_address_p): Clean
-	fall-through warning.
-	(arc_compute_frame_size): Remove unused variables.
-	(arc_print_operand): Fix fprintif format.
-	(arc_can_follow_jump): Clean fall-through warning.
-
-2017-12-19  Marek Polacek  <polacek@redhat.com>
-
-	PR c++/83489
-	* config/i386/i386.c (init_cumulative_args): Don't check TYPE_EMPTY_P
-	on an error node.
-
-2017-12-19  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (overriderregs): New variable.
-	(arc_override_options): Track fixed/call saved/call options.
-	(arc_conditional_register_usage): Check against overrideregs
-	variable whenever we change register properties.
-
-2017-12-19  Nathan Sidwell  <nathan@acm.org>
-
-	* opts.c (finish_options): Don't prefix dump_base_name if it
-	already contains directories.
-
-2017-12-19  Martin Liska  <mliska@suse.cz>
-
-	PR rtl-optimization/82675
-	* loop-unroll.c (unroll_loop_constant_iterations): Allocate one
-	more element in sbitmap.
-
-2017-12-19  Paolo Carlini  <paolo.carlini@oracle.com>
-
-	* gimplify.c (gimplify_expr): Use error_operand_p.
-
-2017-12-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	PR target/83387
-	* config/rs6000/t-rtems (MULTILIB_REQUIRED): Remove 64-bit soft-float
-	multilib.
-
-2017-12-19  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/sparc.c (sparc_do_work_around_errata): Make sure
-	the jump is to a label.
-
-2017-12-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83444
-	* tree-ssa-strlen.c (strlen_check_and_optimize_stmt): Optimize
-	character loads.
-
-	PR ipa/82801
-	PR ipa/83346
-	* ipa-inline.c (flatten_remove_node_hook): New function.
-	(ipa_inline): Keep only nodes with flatten attribute at the end of
-	the array in the order from ipa_reverse_postorder, only walk that
-	portion of array for flattening, if there is more than one such
-	node, temporarily register a removal hook and ignore removed nodes.
-
-	PR tree-optimization/80631
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Compare
-	induc_code against MAX_EXPR or MIN_EXPR instead of reduc_fn against
-	IFN_REDUC_MAX or IFN_REDUC_MIN.
-
-2017-12-18  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dom.c (record_equivalences_from_phis): Do not
-	record symbolic equivalences from backedges in the CFG.
-
-	Revert
-	2017-11-19  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dom.c (record_equivalences_from_phis): Fix handling
-	of degenerates resulting from ignoring an edge.
-
-2017-12-18  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/83373
-	PR tree-optimization/78450
-	* tree-ssa-strlen.c (maybe_set_strlen_range): New function.
-	(handle_builtin_strlen): Call it.
-
-2017-12-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/83424
-	* rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET.
-
-2017-12-18  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/83463
-	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref):
-	Check if TYPE is INTEGRAL_TYPE_P before accessing its min/max
-	values.
-
-2017-12-18  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (maddsidi4, maddsidi4_split): Update pattern.
-	(umaddsidi4, umaddsidi_split): Likewise.
-
-2017-12-18  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_legitimate_constant_p): Always check all
-	constants.
-
-2017-12-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/83420
-	* config/s390/s390.c (s390_option_override): Avoid strncpy.
-
-2017-12-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81877
-	* tree-ssa-loop-im.c (ref_indep_loop_p): Remove safelen parameters.
-	(outermost_indep_loop): Adjust.
-	(ref_indep_loop_p_1): Likewise.  Remove safelen handling again.
-	(can_sm_ref_p): Adjust.
-
-2017-12-18  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/77291
-	* tree.c (array_at_struct_end_p): Return true if the underlying
-	object has space for at least one element in excess of what
-	the array domain specifies.
-
-2017-12-17  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/extend.texi (x86 Function Attributes): Reformat nocf_check
-	example	to avoid overfull hbox.
-	* doc/invoke.texi (Option Summary): Add missing @gol.
-	(C++ Dialect Options): Reformat -Wnoexcept-type example to avoid
-	overfull hbox.
-
-2017-12-17  Sandra Loosemore  <sandra@codesourcery.com>
-	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* doc/invoke.texi (Option Summary): Add -mverbose-cost-dump
-	to AArch64 and ARM lists, plus missing -mflip-thumb for ARM.
-	(AArch64 Options): Document -mverbose-cost-dump.
-	(ARM Options): Likewise, plus -mflip-thumb.
-
-2017-12-17  Martin Sebor  <msebor@redhat.com>
-
-	PR bootstrap/83446
-	* gimple-ssa-warn-restrict.c
-	(builtin_memref::offset_out_of_bounds): Correct the handling of
-	anti-ranges.
-
-2017-12-17  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (ARC Options): Add missing -mlra entry.
-
-2017-12-17  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_som_asm_init_sections): Fix comment.
-
-2017-12-17  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* x86-tune-costs.h (skylake_cost, core_cost): Decrease r64 multiply
-	latencies.
-
-2017-12-16  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi: Fix some typos.
-
-2017-12-16  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/78918
-	* Makefile.in (OBJS): Add gimple-ssa-warn-restrict.o.
-	* builtins.c (check_sizes): Rename...
-	(check_access): ...to this.  Rename function arguments for clarity.
-	(check_memop_sizes): Adjust names.
-	(expand_builtin_memchr, expand_builtin_memcpy): Same.
-	(expand_builtin_memmove, expand_builtin_mempcpy): Same.
-	(expand_builtin_strcat, expand_builtin_stpncpy): Same.
-	(check_strncat_sizes, expand_builtin_strncat): Same.
-	(expand_builtin_strncpy, expand_builtin_memset): Same.
-	(expand_builtin_bzero, expand_builtin_memcmp): Same.
-	(expand_builtin_memory_chk, maybe_emit_chk_warning): Same.
-	(maybe_emit_sprintf_chk_warning): Same.
-	(expand_builtin_strcpy): Adjust.
-	(expand_builtin_stpcpy): Same.
-	(expand_builtin_with_bounds): Detect out-of-bounds accesses
-	in pointer-checking forms of memcpy, memmove, and mempcpy.
-	(gcall_to_tree_minimal, max_object_size): Define new functions.
-	* builtins.h (max_object_size): Declare.
-	* calls.c (alloc_max_size): Call max_object_size instead of
-	hardcoding ssizetype limit.
-	(get_size_range): Handle new argument.
-	* calls.h (get_size_range): Add a new argument.
-	* cfgexpand.c (expand_call_stmt): Propagate no-warning bit.
-	* doc/invoke.texi (-Wrestrict): Adjust, add example.
-	* gimple-fold.c (gimple_fold_builtin_memory_op): Detect overlapping
-	operations.
-	(gimple_fold_builtin_memory_chk): Same.
-	(gimple_fold_builtin_stxcpy_chk): New function.
-	* gimple-ssa-warn-restrict.c: New source.
-	* gimple-ssa-warn-restrict.h: New header.
-	* gimple.c (gimple_build_call_from_tree): Propagate location.
-	* passes.def (pass_warn_restrict): Add new pass.
-	* tree-pass.h (make_pass_warn_restrict): Declare.
-	* tree-ssa-strlen.c (handle_builtin_strcpy): Detect overlapping
-	operations.
-	(handle_builtin_strcat): Same.
-	(strlen_optimize_stmt): Rename...
-	(strlen_check_and_optimize_stmt): ...to this.  Handle strncat,
-	stpncpy, strncpy, and their checking forms.
-
-2017-12-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR rtl-optimization/82849
-	* modulo-sched.c (sms_schedule): Use get_estimated_loop_iterations_int
-	and get_max_loop_iterations_int.
-
-2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (mode_for_size, int_mode_for_size, float_mode_for_size)
-	(smallest_mode_for_size, smallest_int_mode_for_size): Take the mode
-	size as a poly_uint64.
-	(mode_for_vector, mode_for_int_vector): Take the number of vector
-	elements as a poly_uint64.
-	* stor-layout.c (mode_for_size, smallest_mode_for_size): Take the mode
-	size as a poly_uint64.
-	(mode_for_vector, mode_for_int_vector): Take the number of vector
-	elements as a poly_uint64.
-
-2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (MACRO_MODE): New macro.
-	* addresses.h (base_reg_class, ok_for_base_p_1): Use it.
-	* targhooks.c (default_libcall_value, default_secondary_reload)
-	(default_memory_move_cost, default_register_move_cost)
-	(default_class_max_nregs): Likewise.
-
-2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/sourcebuild.texi: Document IN_TARGET_CODE.
-	* genattrtab.c (write_header): Define IN_TARGET_CODE to 1 in the
-	target C file.
-	* genautomata.c (main): Likewise.
-	* genconditions.c (write_header): Likewise.
-	* genemit.c (main): Likewise.
-	* genextract.c (print_header): Likewise.
-	* genopinit.c (main): Likewise.
-	* genoutput.c (output_prologue): Likewise.
-	* genpeep.c (main): Likewise.
-	* genpreds.c (write_insn_preds_c): Likewise.
-	* genrecog.c (writer_header): Likewise.
-	* config/aarch64/aarch64-builtins.c (IN_TARGET_CODE): Define.
-	* config/aarch64/aarch64-c.c (IN_TARGET_CODE): Likewise.
-	* config/aarch64/aarch64.c (IN_TARGET_CODE): Likewise.
-	* config/aarch64/cortex-a57-fma-steering.c (IN_TARGET_CODE): Likewise.
-	* config/aarch64/driver-aarch64.c (IN_TARGET_CODE): Likewise.
-	* config/alpha/alpha.c (IN_TARGET_CODE): Likewise.
-	* config/alpha/driver-alpha.c (IN_TARGET_CODE): Likewise.
-	* config/arc/arc-c.c (IN_TARGET_CODE): Likewise.
-	* config/arc/arc.c (IN_TARGET_CODE): Likewise.
-	* config/arc/driver-arc.c (IN_TARGET_CODE): Likewise.
-	* config/arm/aarch-common.c (IN_TARGET_CODE): Likewise.
-	* config/arm/arm-builtins.c (IN_TARGET_CODE): Likewise.
-	* config/arm/arm-c.c (IN_TARGET_CODE): Likewise.
-	* config/arm/arm.c (IN_TARGET_CODE): Likewise.
-	* config/arm/driver-arm.c (IN_TARGET_CODE): Likewise.
-	* config/avr/avr-c.c (IN_TARGET_CODE): Likewise.
-	* config/avr/avr-devices.c (IN_TARGET_CODE): Likewise.
-	* config/avr/avr-log.c (IN_TARGET_CODE): Likewise.
-	* config/avr/avr.c (IN_TARGET_CODE): Likewise.
-	* config/avr/driver-avr.c (IN_TARGET_CODE): Likewise.
-	* config/avr/gen-avr-mmcu-specs.c (IN_TARGET_CODE): Likewise.
-	* config/bfin/bfin.c (IN_TARGET_CODE): Likewise.
-	* config/c6x/c6x.c (IN_TARGET_CODE): Likewise.
-	* config/cr16/cr16.c (IN_TARGET_CODE): Likewise.
-	* config/cris/cris.c (IN_TARGET_CODE): Likewise.
-	* config/darwin.c (IN_TARGET_CODE): Likewise.
-	* config/epiphany/epiphany.c (IN_TARGET_CODE): Likewise.
-	* config/epiphany/mode-switch-use.c (IN_TARGET_CODE): Likewise.
-	* config/epiphany/resolve-sw-modes.c (IN_TARGET_CODE): Likewise.
-	* config/fr30/fr30.c (IN_TARGET_CODE): Likewise.
-	* config/frv/frv.c (IN_TARGET_CODE): Likewise.
-	* config/ft32/ft32.c (IN_TARGET_CODE): Likewise.
-	* config/h8300/h8300.c (IN_TARGET_CODE): Likewise.
-	* config/i386/djgpp.c (IN_TARGET_CODE): Likewise.
-	* config/i386/driver-i386.c (IN_TARGET_CODE): Likewise.
-	* config/i386/driver-mingw32.c (IN_TARGET_CODE): Likewise.
-	* config/i386/host-cygwin.c (IN_TARGET_CODE): Likewise.
-	* config/i386/host-i386-darwin.c (IN_TARGET_CODE): Likewise.
-	* config/i386/host-mingw32.c (IN_TARGET_CODE): Likewise.
-	* config/i386/i386-c.c (IN_TARGET_CODE): Likewise.
-	* config/i386/i386.c (IN_TARGET_CODE): Likewise.
-	* config/i386/intelmic-mkoffload.c (IN_TARGET_CODE): Likewise.
-	* config/i386/msformat-c.c (IN_TARGET_CODE): Likewise.
-	* config/i386/winnt-cxx.c (IN_TARGET_CODE): Likewise.
-	* config/i386/winnt-stubs.c (IN_TARGET_CODE): Likewise.
-	* config/i386/winnt.c (IN_TARGET_CODE): Likewise.
-	* config/i386/x86-tune-sched-atom.c (IN_TARGET_CODE): Likewise.
-	* config/i386/x86-tune-sched-bd.c (IN_TARGET_CODE): Likewise.
-	* config/i386/x86-tune-sched-core.c (IN_TARGET_CODE): Likewise.
-	* config/i386/x86-tune-sched.c (IN_TARGET_CODE): Likewise.
-	* config/ia64/ia64-c.c (IN_TARGET_CODE): Likewise.
-	* config/ia64/ia64.c (IN_TARGET_CODE): Likewise.
-	* config/iq2000/iq2000.c (IN_TARGET_CODE): Likewise.
-	* config/lm32/lm32.c (IN_TARGET_CODE): Likewise.
-	* config/m32c/m32c-pragma.c (IN_TARGET_CODE): Likewise.
-	* config/m32c/m32c.c (IN_TARGET_CODE): Likewise.
-	* config/m32r/m32r.c (IN_TARGET_CODE): Likewise.
-	* config/m68k/m68k.c (IN_TARGET_CODE): Likewise.
-	* config/mcore/mcore.c (IN_TARGET_CODE): Likewise.
-	* config/microblaze/microblaze-c.c (IN_TARGET_CODE): Likewise.
-	* config/microblaze/microblaze.c (IN_TARGET_CODE): Likewise.
-	* config/mips/driver-native.c (IN_TARGET_CODE): Likewise.
-	* config/mips/frame-header-opt.c (IN_TARGET_CODE): Likewise.
-	* config/mips/mips.c (IN_TARGET_CODE): Likewise.
-	* config/mmix/mmix.c (IN_TARGET_CODE): Likewise.
-	* config/mn10300/mn10300.c (IN_TARGET_CODE): Likewise.
-	* config/moxie/moxie.c (IN_TARGET_CODE): Likewise.
-	* config/msp430/driver-msp430.c (IN_TARGET_CODE): Likewise.
-	* config/msp430/msp430-c.c (IN_TARGET_CODE): Likewise.
-	* config/msp430/msp430.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32-cost.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32-fp-as-gp.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32-intrinsic.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32-isr.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32-md-auxiliary.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32-memory-manipulation.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32-pipelines-auxiliary.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32-predicates.c (IN_TARGET_CODE): Likewise.
-	* config/nds32/nds32.c (IN_TARGET_CODE): Likewise.
-	* config/nios2/nios2.c (IN_TARGET_CODE): Likewise.
-	* config/nvptx/mkoffload.c (IN_TARGET_CODE): Likewise.
-	* config/nvptx/nvptx.c (IN_TARGET_CODE): Likewise.
-	* config/pa/pa.c (IN_TARGET_CODE): Likewise.
-	* config/pdp11/pdp11.c (IN_TARGET_CODE): Likewise.
-	* config/powerpcspe/driver-powerpcspe.c (IN_TARGET_CODE): Likewise.
-	* config/powerpcspe/host-darwin.c (IN_TARGET_CODE): Likewise.
-	* config/powerpcspe/host-ppc64-darwin.c (IN_TARGET_CODE): Likewise.
-	* config/powerpcspe/powerpcspe-c.c (IN_TARGET_CODE): Likewise.
-	* config/powerpcspe/powerpcspe-linux.c (IN_TARGET_CODE): Likewise.
-	* config/powerpcspe/powerpcspe.c (IN_TARGET_CODE): Likewise.
-	* config/riscv/riscv-builtins.c (IN_TARGET_CODE): Likewise.
-	* config/riscv/riscv-c.c (IN_TARGET_CODE): Likewise.
-	* config/riscv/riscv.c (IN_TARGET_CODE): Likewise.
-	* config/rl78/rl78-c.c (IN_TARGET_CODE): Likewise.
-	* config/rl78/rl78.c (IN_TARGET_CODE): Likewise.
-	* config/rs6000/driver-rs6000.c (IN_TARGET_CODE): Likewise.
-	* config/rs6000/host-darwin.c (IN_TARGET_CODE): Likewise.
-	* config/rs6000/host-ppc64-darwin.c (IN_TARGET_CODE): Likewise.
-	* config/rs6000/rs6000-c.c (IN_TARGET_CODE): Likewise.
-	* config/rs6000/rs6000-linux.c (IN_TARGET_CODE): Likewise.
-	* config/rs6000/rs6000-p8swap.c (IN_TARGET_CODE): Likewise.
-	* config/rs6000/rs6000-string.c (IN_TARGET_CODE): Likewise.
-	* config/rs6000/rs6000.c (IN_TARGET_CODE): Likewise.
-	* config/rx/rx.c (IN_TARGET_CODE): Likewise.
-	* config/s390/driver-native.c (IN_TARGET_CODE): Likewise.
-	* config/s390/s390-c.c (IN_TARGET_CODE): Likewise.
-	* config/s390/s390.c (IN_TARGET_CODE): Likewise.
-	* config/sh/sh-c.c (IN_TARGET_CODE): Likewise.
-	* config/sh/sh-mem.cc (IN_TARGET_CODE): Likewise.
-	* config/sh/sh.c (IN_TARGET_CODE): Likewise.
-	* config/sh/sh_optimize_sett_clrt.cc (IN_TARGET_CODE): Likewise.
-	* config/sh/sh_treg_combine.cc (IN_TARGET_CODE): Likewise.
-	* config/sparc/driver-sparc.c (IN_TARGET_CODE): Likewise.
-	* config/sparc/sparc-c.c (IN_TARGET_CODE): Likewise.
-	* config/sparc/sparc.c (IN_TARGET_CODE): Likewise.
-	* config/spu/spu-c.c (IN_TARGET_CODE): Likewise.
-	* config/spu/spu.c (IN_TARGET_CODE): Likewise.
-	* config/stormy16/stormy16.c (IN_TARGET_CODE): Likewise.
-	* config/tilegx/mul-tables.c (IN_TARGET_CODE): Likewise.
-	* config/tilegx/tilegx-c.c (IN_TARGET_CODE): Likewise.
-	* config/tilegx/tilegx.c (IN_TARGET_CODE): Likewise.
-	* config/tilepro/mul-tables.c (IN_TARGET_CODE): Likewise.
-	* config/tilepro/tilepro-c.c (IN_TARGET_CODE): Likewise.
-	* config/tilepro/tilepro.c (IN_TARGET_CODE): Likewise.
-	* config/v850/v850-c.c (IN_TARGET_CODE): Likewise.
-	* config/v850/v850.c (IN_TARGET_CODE): Likewise.
-	* config/vax/vax.c (IN_TARGET_CODE): Likewise.
-	* config/visium/visium.c (IN_TARGET_CODE): Likewise.
-	* config/vms/vms-c.c (IN_TARGET_CODE): Likewise.
-	* config/vms/vms-f.c (IN_TARGET_CODE): Likewise.
-	* config/vms/vms.c (IN_TARGET_CODE): Likewise.
-	* config/xtensa/xtensa.c (IN_TARGET_CODE): Likewise.
-
-2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid repeated
-	checks for MEM_REF.
-
-2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/generic.texi (VEC_SERIES_EXPR): Document.
-	* doc/md.texi (vec_series@var{m}): Document.
-	* tree.def (VEC_SERIES_EXPR): New tree code.
-	* tree.h (build_vec_series): Declare.
-	* tree.c (build_vec_series): New function.
-	* cfgexpand.c (expand_debug_expr): Handle VEC_SERIES_EXPR.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
-	* tree-inline.c (estimate_operator_cost): Likewise.
-	* expr.c (expand_expr_real_2): Likewise.
-	* optabs-tree.c (optab_for_tree_code): Likewise.
-	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
-	* fold-const.c (const_binop): Fold VEC_SERIES_EXPRs of constants.
-	* expmed.c (make_tree): Handle VEC_SERIES.
-	* optabs.def (vec_series_optab): New optab.
-	* optabs.h (expand_vec_series_expr): Declare.
-	* optabs.c (expand_vec_series_expr): New function.
-	* tree-vect-generic.c (expand_vector_operations_1): Check that
-	the operands also have vector type.
-
-2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hawyard@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/generic.texi (VEC_DUPLICATE_EXPR): Document.
-	(VEC_COND_EXPR): Add missing @tindex.
-	* doc/md.texi (vec_duplicate@var{m}): Document.
-	* tree.def (VEC_DUPLICATE_EXPR): New tree codes.
-	* tree.c (build_vector_from_val): Add stubbed-out handling of
-	variable-length vectors, using VEC_DUPLICATE_EXPR.
-	(uniform_vector_p): Handle VEC_DUPLICATE_EXPR.
-	* cfgexpand.c (expand_debug_expr): Likewise.
-	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
-	* tree-inline.c (estimate_operator_cost): Likewise.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-	* tree-vect-generic.c (ssa_uniform_vector_p): Likewise.
-	* fold-const.c (const_unop): Fold VEC_DUPLICATE_EXPRs of a constant.
-	(test_vec_duplicate_folding): New function.
-	(fold_const_c_tests): Call it.
-	* optabs.def (vec_duplicate_optab): New optab.
-	* optabs-tree.c (optab_for_tree_code): Handle VEC_DUPLICATE_EXPR.
-	* optabs.h (expand_vector_broadcast): Declare.
-	* optabs.c (expand_vector_broadcast): Make non-static.  Try using
-	vec_duplicate_optab.
-	* expr.c (store_constructor): Try using vec_duplicate_optab for
-	uniform vectors.
-	(expand_expr_real_2): Handle VEC_DUPLICATE_EXPR.
-
-2017-12-15  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR target/83358
-	* config/i386/x86-tune-costs.h (skylake_cost, core_cost): Increase
-	div/mod latencies a bit.
-
-2017-12-15  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/36550
-	* tree-ssa-threadupdate.c (count_stmts_and_phis_in_block): New.
-	(mark_threaded_blocks): Rewrite code to avoid block copying when
-	optimizing for size.  Don't pessimize blocks which will be
-	copied, but all the statements will be dead.
-
-2017-12-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR tree-optimization/81165
-	* tree-ssa-threadupdate.c (uses_in_bb): New.
-	(estimate_threading_killed_stmts): New.
-	* tree-ssa-threadupdate.h (estimate_threading_killed_stmts): Prototype.
-	* tree-ssa-threadedge.c
-	(record_temporary_equivalences_from_stmts_at_dest): Expand limit
-	when its hit.
-
-2017-12-15  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/83410
-	* tree-ssa-threadupdate.c (thread_block_1): Avoid certain jump
-	threads when parallelizing loops.
-
-2017-12-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-core.h (struct attribute_spec): Swap affects_type_identity and
-	handler fields.
-	* config/alpha/alpha.c (vms_attribute_table): Swap
-	affects_type_identity and handler fields, adjust comments.
-	* config/mips/mips.c (mips_attribute_table): Likewise.
-	* config/visium/visium.c (visium_attribute_table): Likewise.
-	* config/epiphany/epiphany.c (epiphany_attribute_table): Likewise.
-	* config/microblaze/microblaze.c (microblaze_attribute_table):
-	Likewise.
-	* config/spu/spu.c (spu_attribute_table): Likewise.
-	* config/mcore/mcore.c (mcore_attribute_table): Likewise.
-	* config/arc/arc.c (arc_attribute_table): Likewise.
-	* config/m68k/m68k.c (m68k_attribute_table): Likewise.
-	* config/v850/v850.c (v850_handle_interrupt_attribute,
-	v850_handle_data_area_attribute): Formatting fixes.
-	(v850_attribute_table): Swap affects_type_identity and handler
-	fields, adjust comments.
-	* config/m32r/m32r.c (m32r_attribute_table): Likewise.
-	* config/arm/arm.c (arm_attribute_table): Likewise.
-	* config/avr/avr.c (avr_attribute_table): Likewise.
-	* config/s390/s390.c (s390_attribute_table): Likewise.
-	* config/sh/sh.c (sh_attribute_table): Likewise.
-	* config/i386/i386.c (ix86_handle_cconv_attribute,
-	ix86_handle_callee_pop_aggregate_return): Formatting fixes.
-	(ix86_attribute_table): Swap affects_type_identity and handler
-	fields, adjust comments.
-	* config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
-	* config/sparc/sparc.c (sparc_attribute_table): Likewise.
-	* config/m32c/m32c.c (m32c_attribute_table): Likewise.
-	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE): Likewise.
-	* config/ia64/ia64.c (ia64_attribute_table): Likewise.
-	* config/msp430/msp430.c (msp430_attribute_table): Likewise.
-	* config/rx/rx.c (rx_attribute_table): Likewise.
-	* config/cr16/cr16.c (cr16_attribute_table): Likewise.
-	* config/h8300/h8300.c (h8300_attribute_table): Likewise.
-	* config/nvptx/nvptx.c (nvptx_attribute_table): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_attribute_table): Likewise.
-	* config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
-	* config/stormy16/stormy16.c (xstormy16_attribute_table): Likewise.
-	* config/bfin/bfin.c (bfin_attribute_table): Likewise.
-	* config/rs6000/rs6000.c (rs6000_attribute_table): Likewise.
-	* config/rl78/rl78.c (rl78_attribute_table): Likewise.
-	* config/nds32/nds32.c (nds32_attribute_table): Likewise.
-	* doc/plugins.texi (user_attr): Likewise.  Add NULL for
-	exclude.
-	* attribs.c (empty_attribute_table): Swap affects_type_identity and
-	handler fields.
-	(register_scoped_attributes, decl_attributes): Formatting fixes.
-
-	PR tree-optimization/83269
-	* fold-const.c (fold_binary_loc): Perform (-A) - B -> (-B) - A
-	subtraction in arg0's type if type is signed and arg0 is unsigned.
-	Formatting fix.
-
-	PR sanitizer/81281
-	* match.pd ((T)(P + A) - (T)P -> (T) A): Use @@0 instead of @0 and
-	convert? on @0 instead of convert.  Check type of @1, not @0.
-	((T)P - (T)(P + A) -> -(T) A): Use @@0 instead of @0 and
-	convert? on @0 instead of convert.  Check type of @1, not @0.
-	((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Use @@0 instead of @0,
-	only optimize if either both @1 and @2 types are narrower
-	precision, or both are wider or equal precision, and in the former
-	case only if both have undefined overflow.
-
-2017-12-15  Richard Biener  <rguenther@suse.de>
-
-	PR lto/83388
-	* internal-fn.def (IFN_NOP): Add.
-	* internal-fn.c (expand_NOP): Do nothing.
-	* lto-streamer-in.c (input_function): Instead of removing
-	sanitizer calls replace them with IFN_NOP calls.
-
-2017-12-15  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* dse.c (store_info, read_info_type): Replace begin and end with
-	offset and width.
-	(print_range): New function.
-	(set_all_positions_unneeded, any_positions_needed_p)
-	(check_mem_read_rtx, scan_stores, scan_reads, dse_step5): Update
-	accordingly.
-	(record_store): Likewise.  Optimize the case in which all positions
-	are unneeded.
-	(get_stored_val): Replace read_begin and read_end with read_offset
-	and read_width.
-	(replace_read): Update call accordingly.
-
-2017-12-15  Bin Cheng  <bin.cheng@arm.com>
-
-	* gimple-loop-interchange.cc (STMT_COST_RATIO): New macro.
-	(loop_cand::m_num_stmts, loop_cand::m_const_init_reduc): New members.
-	(loop_cand::loop_cand): Initialize above members.
-	(loop_cand::supported_operations): Delete.
-	(loop_cand::can_interchange_p): Inline above function.
-	(loop_cand::classify_simple_reduction): Record number of constant
-	initialized simple reductions.
-	(should_interchange_loops): New parameters.  Check stmt cost of loops
-	to be interchange.
-	(tree_loop_interchange::interchange): Prepare stmt cost of outer loop.
-	Update call to should_interchange_loops.
-	(should_interchange_loop_nest): Update call to
-	should_interchange_loops.
-
-2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/66488
-	* ggc-page.c (HOST_BITS_PER_PTR): Do not define here...
-	* hwint.h (HOST_BITS_PER_PTR): ...but here instead.
-	* config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete.
-
-2017-12-15  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/i386-builtin.def (__builtin_ia32_vaesenclast_v16qi,
-	__builtin_ia32_vaesenclast_v32qi, __builtin_ia32_vaesenclast_v64qi):
-	New.
-	* config/i386/sse.md (vaesenclast_<mode>): New pattern.
-	* config/i386/vaesintrin.h (_mm256_aesenclast_epi128,
-	_mm512_aesenclast_epi128, _mm_aesenclast_epi128): New intrinsics.
-
-2017-12-15  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/i386-builtin.def (__builtin_ia32_vaesenc_v16qi,
-	__builtin_ia32_vaesenc_v32qi, __builtin_ia32_vaesenc_v64qi): New.
-	* config/i386/sse.md (vaesenc_<mode>): New pattern.
-	* config/i386/vaesintrin.h (_mm256_aesenc_epi128, _mm512_aesenc_epi128,
-	_mm_aesenc_epi128): New intrinsics.
-
-2017-12-15  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/i386-builtin.def (__builtin_ia32_vaesdeclast_v16qi,
-	__builtin_ia32_vaesdeclast_v32qi, __builtin_ia32_vaesdeclast_v64qi):
-	New.
-	* config/i386/sse.md (vaesdeclast_<mode>): New pattern.
-	* config/i386/vaesintrin.h (_mm256_aesdeclast_epi128,
-	_mm512_aesdeclast_epi128, _mm_aesdeclast_epi128): New intrinsics.
-
-2017-12-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* gimple-ssa-strength-reduction.c (analyze_increments):
-	Distinguish replacement costs for constant strides from those for
-	unknown strides.
-
-2017-12-14  Jakub Jelinek  <jakub@redhat.com>
-
-	* var-tracking.c (variable_tracking_main_1): Formatting fix.
-
-2017-12-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/invoke.texi: Document -Wcast-function-type.
-	* recog.h (stored_funcptr): Change signature.
-	* tree-dump.c (dump_node): Avoid warning.
-	* typed-splay-tree.h (typed_splay_tree): Avoid warning.
-
-2017-12-14  Qing Zhao  <qing.zhao@oracle.com>
-
-	PR middle_end/79538
-	* gimple-fold.c (get_range_strlen): Add the handling of non-member 
-	array.
-
-2017-12-14  David Malcolm  <dmalcolm@redhat.com>
-
-	PR tree-optimization/83312
-	* domwalk.h (dom_walker::dom_walker): Fix typo in comment.
-	* tree-cfg.c (find_taken_edge): Update to handle NULL_TREE for
-	"val" param, and to cope with arbitrary basic blocks.
-	(find_taken_edge_cond_expr): Add "cond_stmt" param and use it to
-	handle NULL_TREE for "val", dropping "bb" param.
-	(find_taken_edge_switch_expr): Make "switch_stmt" param const and
-	drop "bb" param.  Handle NULL_TREE for "val".
-	(find_case_label_for_value): Make "switch_stmt" param const.
-	* tree-vrp.c (class check_array_bounds_dom_walker): New subclass
-	of dom_walker.
-	(vrp_prop::check_all_array_refs): Reimplement as...
-	(check_array_bounds_dom_walker::before_dom_children): ...this new
-	vfunc.  Replace linear search through BB block list, excluding
-	those with non-executable in-edges via dominator walk.
-
-2017-12-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.opt (mverbose-cost-dump): New option.
-	* config/arm/arm.c (arm_rtx_costs): Use it.
-
-2017-12-14  Andreas Schwab  <schwab@linux-m68k.org>
-
-	PR bootstrap/83396
-	* reload1.c (emit_input_reload_insns): Skip debug markers.
-
-2017-12-14  Alexandre Oliva  <aoliva@redhat.com>
-
-	* config/i386/i386.c (rest_of_insert_endbranch): Use call loc
-	for its nop_endbr.
-
-	PR bootstrap/83396
-	* config/arc/arc.c (hwloop_optimize): Skip debug insns.
-	* config/sh/sh-protos.h (sh_find_set_of_reg): Adjust.
-	* config/sh/sh.c: Skip debug insns besides notes.
-	* config/sh/sh.md: Likewise.
-	* config/sh/sh_treg_combine.cc: Likewise.
-	* config/sh/sync.md: Likewise.
-
-2017-12-14  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
-	Add item for weak_undefined.
-
-2017-12-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/67842
-	* sese.h (bb_in_region): Remove #if 0'ed code.
-
-2017-12-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83326
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add
-	may_be_zero parameter and handle it by not marking the first
-	peeled copy as not exiting the loop.
-	(try_peel_loop): Likewise.
-	(canonicalize_loop_induction_variables): Use number_of_iterations_exit
-	to handle the case of constant or zero iterations and perform
-	loop header copying on-the-fly.
-
-2017-12-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83418
-	* vr-values.c (vr_values::extract_range_for_var_from_comparison_expr):
-	Instead of asserting we don't get unfolded comparisons deal with them.
-
-2017-12-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/83396
-	* var-tracking.c (vt_initialize): Ignore non-DEBUG_INSNs outside of
-	basic blocks.  Assert debug bind insns don't appear outside of bbs,
-	don't reset them.  Assert insns without BLOCK_FOR_INSN are outside of
-	bb.  Simplify.
-
-	PR tree-optimization/83198
-	* gimple-ssa-sprintf.c (format_floating): Set type solely based on
-	dir.modifier, regardless of TREE_TYPE (arg).  Assume non-REAL_CST
-	value if arg is a REAL_CST with incompatible type.
-
-2017-12-14  Sudakshina Das  <sudi.das@arm.com>
-	    Bin Cheng  <bin.cheng@arm.com>
-
-	PR target/81228
-	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Move LTGT
-	to CCFPEmode.
-	* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_int_equiv>): Add
-	LTGT.
-
-2017-12-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64-cores.def (cortex-a55, cortex-a75,
-	cortex-a75.cortex-a55): Specify AARCH64_FL_F16 in the arch features.
-
-2017-12-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* poly-int.h: New file.
-	* poly-int-types.h: Likewise.
-	* coretypes.h: Include them.
-	(POLY_INT_CONVERSION): Define.
-	* target.def (estimated_poly_value): New hook.
-	* doc/tm.texi.in (TARGET_ESTIMATED_POLY_VALUE): New hook.
-	* doc/tm.texi: Regenerate.
-	* doc/poly-int.texi: New file.
-	* doc/gccint.texi: Include it.
-	* doc/rtl.texi: Describe restrictions on subreg modes.
-	* Makefile.in (TEXI_GCCINT_FILES): Add poly-int.texi.
-	* genmodes.c (NUM_POLY_INT_COEFFS): Provide a default definition.
-	(emit_insn_modes_h): Emit a definition of NUM_POLY_INT_COEFFS.
-	* targhooks.h (default_estimated_poly_value): Declare.
-	* targhooks.c (default_estimated_poly_value): New function.
-	* target.h (estimated_poly_value): Likewise.
-	* wide-int.h (WI_UNARY_RESULT): Use wi::binary_traits.
-	(wi::unary_traits): Delete.
-	(wi::binary_traits::signed_shift_result_type): Define for
-	offset_int << HOST_WIDE_INT, etc.
-	(generic_wide_int::operator <<=): Define for all types and use
-	wi::lshift instead of <<.
-	(wi::hwi_with_prec): Add a default constructor.
-	(wi::ints_for): New class.
-	(operator <<): Define for all wide-int types.
-	(operator /): New function.
-	(operator %): Likewise.
-	* selftest.h (ASSERT_KNOWN_EQ, ASSERT_KNOWN_EQ_AT, ASSERT_MAYBE_NE)
-	(ASSERT_MAYBE_NE_AT): New macros.
-
-2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
-	    Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR middle-end/78468
-	* emit-rtl.c (init_emit): Remove ??? comment.
-	* explow.c (get_dynamic_stack_size): Take known alignment of stack
-	pointer + STACK_DYNAMIC_OFFSET into account in lieu of STACK_BOUNDARY.
-	* config/sparc/sparc.h (INIT_EXPANDERS): In 32-bit mode, lower the
-	alignment of 3 virtual registers to BITS_PER_WORD.
-
-	* config/sparc/sparc.c (sparc_compute_frame_size): Simplify.
-
-2017-12-13  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define.
-	* config/rs6000/rs6000.c (cpu_supports_info): Use it.
-
-2017-12-13  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR bootstrap/83396
-	* reload1.c (eliminate_regs_in_insn): Skip debug markers.
-
-2017-12-13  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-cfg.c (verify_gimple_in_cfg): Verify no non-label stmts
-	with the exception of debug begin stmt markers appear before
-	labels.
-
-	PR bootstrap/83396
-	* final.c (rest_of_handle_final): Call variable_tracking_main only
-	if !flag_var_tracking.
-
-2017-12-13  Alexandre Oliva  <aoliva@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/83396
-	PR debug/83391
-	* tree-cfgcleanup.c (remove_forwarder_block): Keep after
-	labels debug stmts that can only appear after labels.
-
-2017-12-13  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR rtl-optimization/82398
-	* sel-sched.c (sel_rank_for_schedule): Fix check for zero
-	EXPR_USEFULNESS in priority comparison.
-
-2017-12-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/83393
-	* combine.c (move_deaths): If reg_stat points to a too new insn in
-	last_death, do not use it: find the proper insn instead.
-
-2017-12-12  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/82190
-	* config/rs6000/rs6000-string.c (expand_block_compare,
-	expand_strn_compare): Fix set_mem_size() calls.
-
-2017-12-12  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/83298
-	PR tree-optimization/83362
-	PR tree-optimization/83383
-	* gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Make
-	push_value_range a public interface.  Add new argument to
-	record_ranges_from_stmt.
-	* gimple-ssa-evrp-analyze.c
-	(evrp_range_analyzer::record_ranges_from_stmt): Add new argument.
-	Update comments.  Handle recording temporary equivalences.
-	* tree-ssa-dom.c (dom_opt_opt_walker::before_dom_children): Add
-	new argument to call to evrp_range_analyzer::record_ranges_from_stmt.
-	* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Likewise.
-	* tree-ssa-threadedge.c: Include alloc-pool.h, vr-values.h and
-	gimple-ssa-evrp-analyze.h.
-	(record_temporary_equivalences_from_phis): Add new argument.  When
-	the PHI arg is an SSA_NAME, set the result's range to the range
-	of the PHI arg.
-	(record_temporary_equivalences_from_stmts_at_dest): Record ranges
-	from statements too.
-	(thread_through_normal_block): Accept new argument, evrp_range_analyzer.
-	Pass it down to children as needed.
-	(thread_outgoing_edges): Likewise.
-	(thread_across_edge): Likewise.   Push/pop range state as needed.
-	* tree-ssa-threadedge.h (thread_outgoing_edges): Update prototype.
-
-2017-12-12  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/i386.c (PTA_SKYLAKE_AVX512): Add PTA_CLWB.
-	(PTA_CANNONLAKE): Remove PTA_CLWB.
-
-2017-12-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/83332
-	* config/rs6000/vector.md (vcondv2dfv2di): New define_expand.
-	(vcondv2div2df): Likewise.
-	(vconduv2dfv2di): Likewise.
-
-2017-12-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* builtins.def (BUILT_IN_NEXTAFTER, BUILT_IN_NEXTAFTERF,
-	BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD, BUILT_IN_NEXTTOWARDF,
-	BUILT_IN_NEXTTOWARDL): Use ATTR_MATHFN_ERRNO instead of
-	ATTR_MATHFN_FPROUNDING_ERRNO.
-
-2017-12-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83385
-	* graphite-scop-detection.c (get_order, order): Remove.
-	(bb_to_rpo): New global.
-	(cmp_pbbs): Adjust.
-	(build_scops): Sort pbbs in RPO order.
-
-2017-12-12  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* combine.c (simplify_set): Do not transform subregs to zero_extends
-	if the destination mode is a vector mode.
-
-2017-12-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83359
-	* tree-cfg.h (fold_loop_internal_call): Declare.
-	* tree-vectorizer.c (fold_loop_internal_call): Moved to ...
-	* tree-cfg.c (fold_loop_internal_call): ... here.  No longer static.
-	(find_loop_dist_alias): New function.
-	(move_sese_region_to_fn): If any dloop->orig_loop_num value is
-	updated, also adjust any corresponding LOOP_DIST_ALIAS internal
-	calls.
-
-	PR tree-optimization/80631
-	* tree-vect-loop.c (get_initial_def_for_reduction): Fix comment typo.
-	(vect_create_epilog_for_reduction): Add INDUC_VAL and INDUC_CODE
-	arguments, for INTEGER_INDUC_COND_REDUCTION use INDUC_VAL instead of
-	hardcoding zero as the value if COND_EXPR is never true.  For
-	INTEGER_INDUC_COND_REDUCTION don't emit the final COND_EXPR if
-	INDUC_VAL is equal to INITIAL_DEF, and use INDUC_CODE instead of
-	hardcoding MAX_EXPR as the reduction operation.
-	(is_nonwrapping_integer_induction): Allow negative step.
-	(vectorizable_reduction): Compute INDUC_VAL and INDUC_CODE for
-	vect_create_epilog_for_reduction, if no value is suitable, don't
-	use INTEGER_INDUC_COND_REDUCTION for now.  Formatting fixes.
-
-2017-12-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81889
-	* tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness): Use
-	range info from the non-wrapping IV instead of just the range
-	of the type.
-
-2017-12-12  Julia Koval  <julia.koval@intel.com>
-
-	* config.gcc: Add vaesintrin.h.
-	* config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI_V64QI):
-	New type.
-	* config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi,
-	__builtin_ia32_vaesdec_v32qi, __builtin_ia32_vaesdec_v64qi):
-	New builtins.
-	* config/i386/i386.c (ix86_expand_args_builtin): Handle new type.
-	* config/i386/immintrin.h: Include vaesintrin.h.
-	* config/i386/sse.md (vaesdec_<mode>): New pattern.
-	* config/i386/vaesintrin.h (_mm256_aesdec_epi128, _mm512_aesdec_epi128,
-	_mm_aesdec_epi128): New intrinsics.
-
-2017-12-12  Julia Koval  <julia.koval@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_VAES_SET,
-	OPTION_MASK_ISA_VAES_UNSET): New.
-	(ix86_handle_option): Handle -mvaes.
-	* config/i386/cpuid.h: Define bit_VAES.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Detect -mvaes.
-	* config/i386/i386-c.c (__VAES__): New.
-	* config/i386/i386.c (ix86_target_string): Add -mvaes.
-	(ix86_valid_target_attribute_inner_p): Ditto.
-	* config/i386/i386.h (TARGET_VAES, TARGET_VAES_P): New.
-	* config/i386/i386.opt: Add -mvaes.
-	* doc/invoke.texi: Ditto.
-
-2017-12-12  Alexandre Oliva  <aoliva@redhat.com>
-
-	* debug.h (gcc_debug_hooks): Add inline_entry.
-	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
-	* debug.c (do_nothing_debug_hooks): Likewise.
-	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
-	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
-	(dwarf2_lineno_debug_hooks): Likewise.
-
-	* common.opt (gstatement-frontiers): New, setting
-	debug_nonbind_markers_p.
-	* rtl.h (MAY_HAVE_DEBUG_MARKER_INSNS): Activate.
-	* toplev.c (process_options): Autodetect value for debug statement
-	frontiers option.
-	* tree.h (MAY_HAVE_DEBUG_MARKER_STMTS): Activate.
-	* doc/invoke.texi (gstatement-frontiers, gno-statement-frontiers): New.
-
-	* cfgexpand.c (expand_gimple_basic_block): Handle begin stmt
-	markers.  Integrate source bind into debug stmt expand loop.
-	(pass_expand::execute): Check debug marker limit.  Avoid deep
-	TER and expand debug locations for debug bind insns only.
-	* cse.c (insn_live_p): Keep nonbind markers and debug bindings
-	followed by them.
-	* df-scan.c (df_insn_delete): Accept out-of-block debug insn.
-	* final.c (reemit_insn_block_notes): Take current block from
-	nonbind markers.  Declare note where it's first set.
-	(final_scan_insn): Handle begin stmt notes.  Emit is_stmt according to
-	begin stmt markers if enabled.
-	(notice_source_line): Handle nonbind markers.  Fail if their
-	location is unknown or that of builtins.
-	(rest_of_handle_final): Convert begin stmt markers to notes if
-	var-tracking didn't run.
-	(rest_of_clean_state): Skip begin stmt markers.
-	* gimple-pretty-print.c (dump_gimple_debug): Handle begin stmt
-	markers.
-	* function.c (allocate_struct_function): Set begin_stmt_markers.
-	* function.h (struct function): Add debug_marker_count counter
-	and debug_nonbind_markers flag.
-	* gimple-iterator.c (gsi_remove): Adjust debug_marker_count.
-	* gimple-low.c (lower_function_body): Adjust
-	debug_nonbind_markers.
-	(lower_stmt): Drop or skip gimple debug stmts.
-	(lower_try_catch): Skip debug stmts.
-	* gimple.c (gimple_build_debug_begin_stmt): New.
-	(gimple_copy): Increment debug_marker_count if copying one.
-	* gimple.h (gimple_build_debug_begin_stmt): Declare.
-	* gimplify.c (rexpr_location): New.
-	(rexpr_has_location): New.
-	(warn_switch_unreachable_r): Handle gimple debug stmts.
-	(shortcut_cond_r): Call expr_location.
-	(find_goto): New.
-	(find_goto_label): New.
-	(shortcut_cond_expr): Call expr_has_location, expr_location, and
-	find_goto_label.
-	(gimplify_cond_expr): Call find_goto_label, expr_has_location, and
-	expr_location.
-	(gimplify_expr): Handle begin stmt markers.  Reject debug expr decls.
-	* langhooks-def.h (LANG_HOOKS_EMITS_BEGIN_STMT): New.  Add to...
-	(LANG_HOOKS_INITIALIZER): ... this.
-	* langhooks.h (struct lang_hooks): Add emits_begin_stmt.
-	* lra-contraints.c (inherit_reload_reg): Tolerate between-blocks
-	debug insns.
-	(update_ebb_live_info): Skip debug insn markers.
-	* lra.c (debug_insn_static_data): Rename to...
-	(debug_bind_static_data): ... this.
-	(debug_marker_static_data): New.
-	(lra_set_insn_recog_data): Select one of the above depending
-	on debug insn kind.
-	(lra_update_isn_regno_info): Don't assume debug insns have
-	freqs.
-	(push_insns): Skip debug insns.
-	* lto-streamer-in.c (input_function): Drop debug stmts
-	depending on active options.  Adjust debug_nonbind_markers.
-	* params.def (PARAM_MAX_DEBUG_MARKER_COUNT): New.
-	* print-rtl.c (rtx_writer::print_rtx_operand_code_0): Handle
-	begin stmt marker notes.
-	(print_insn): Likewise.
-	* recog.c (extract_insn): Recognize rtl for debug markers.
-	* rtl.def (DEBUG_MARKER): New.
-	* tree-inline.c: Include params.h.
-	(remap_gimple_stmt): Handle nonbind markers.
-	(maybe_move_debug_stmts_to_successors): Likewise.
-	(copy_debug_stmt): Likewise.
-	* tree-iterator.c (append_to_statement_list_1): Append begin stmt
-	markers regardless of no side effects.
-	(tsi_link_before): Don't update container's side effects when adding
-	a begin stmt marker.
-	(tsi_link_after): Likewise.
-	(expr_first): Skip begin stmt markers.
-	(expr_last): Likewise.
-	* tree-pretty-print (dump_generic_node): Handle begin stmt markers.
-	* tree-ssa-threadedge.c (propagate_threaded_block_debug_info):
-	Disregard nonbind markers.
-	* tree.c (make_node_stat): Don't set side effects for begin stmt
-	markers.
-	(build1_stat): Likewise.
-	* tree.def (DEBUG_BEGIN_STMT): New.
-	* tree.h (GOTO_DESTINATION): Require a GOTO_EXPR.
-	* var-tracking.c (delete_debug_insns): Renamed to...
-	(delete_vta_debug_insns): ... this.
-	(reemit_marker_as_note): New.
-	(vt_initialize): Reemit markers.
-	(delete_vta_debug_insns): Likewise.
-	(vt_debug_insns_local): Reemit or delete markers.
-	(variable_tracking_main_1): Likewise.
-	* doc/generic.texi (DEBUG_BEGIN_STMT): Document.
-	* doc/gimple.texi (gimple_debug_begin_stmt_p): New.
-	(gimple_debug_nonbind_marker_p): New.
-	(gimple_build_debug_bind): Adjust.
-	(gimple_build_debug_begin_stmt): New.
-	* doc/invoke.texi (max-debug-marker-count): New param.
-	* doc/rtl.texi (debug_implicit_ptr, entry_value): New.
-	(debug_parameter_ref, debug_marker): New.
-	(NOTE_INSN_BEGIN_STMT): New.
-	(DEBUG_INSN): Describe begin stmt markers.
-
-	* cfgbuild.c (find_bb_boundaries): Don't purge dead edges if,
-	without debug insns, we wouldn't, but clean up debug insns
-	after a control flow insn nevertheless.
-
-	* cfgcleanup.c (delete_unreachable_blocks): Use alternate
-	block removal order if MAY_HAVE_DEBUG_BIND_INSNS.
-	* cfgexpand.c (label_rtx_for_bb): Skip debug insns.
-	* cfgrtl.c (try_redirect_by_replacing_jump): Skip debug insns.
-	(rtl_tidy_fallthru_edge): Likewise.
-	(rtl_verify_fallthru): Likewise.
-	(rtl_verify_bb_layout): Likewise.
-	(skip_insns_after_block): Likewise.
-	(duplicate_insn_chain): Use DEBUG_BIND_INSN_P.
-	* dwarf2out.c: Include print-rtl.h.
-	(dwarf2out_next_real_insn): New.
-	(dwarf2out_var_location): Call it.  Disregard begin stmt markers.
-	Dump debug binds in asm comments.
-	* gimple-iterator.c (gimple_find_edge_insert_loc): Skip debug stmts.
-	* gimple-iterator.h (gsi_start_bb_nondebug): Remove; adjust
-	callers to use gsi_start_nondebug_bb instead.
-	(gsi_after_labels): Skip gimple debug stmts.
-	(gsi_start_nondebug): New.
-	* gimple-loop-interchange.c (find_deps_in_bb_for_stmt): Adjust.
-	(proper_loop_form_for_interchange): Adjust.
-	* gimple-low.c (gimple_seq_may_fallthru): Take last nondebug stmt.
-	* gimple.h (gimple_seq_last_nondebug_stmt): New.
-	* gimplify.c (last_stmt_in_scope): Skip debug stmts.
-	(collect_fallthrough_labels): Likewise.
-	(should_warn_for_implicit_fallthrough): Likewise.
-	(warn_implicit_fallthrough_r): Likewise.
-	(expand_FALLTHROUGH_r): Likewise.
-	* graphite-isl-ast-to-gimple.c (gsi_insert_earliest): Adjust.
-	(graphite_copy_stmts_from_block): Skip nonbind markers.
-	* haifa-sched.c (sched_extend_bb): Skip debug insns.
-	* ipa-icf-gimple.c (func_checker::compare_bb): Adjust.
-	* jump.c (clean_barriers): Skip debug insns.
-	* omp-expand.c (expand_parallel_call): Skip debug insns.
-	(expand_task_call): Likewise.
-	(remove_exit_barrier): Likewise.
-	(expand_omp_taskreg): Likewise.
-	(expand_omp_for_init_counts): Likewise.
-	(expand_omp_for_generic): Likewise.
-	(expand_omp_for_static_nochunk): Likewise.
-	(expand_omp_for_static_chunk): Likewise.
-	(expand_omp_simd): Likewise.
-	(expand_omp_taskloop_for_outer): Likewise.
-	(expand_omp_taskloop_for_inner): Likewise.
-	(expand_oacc_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_target): Likewise.
-	(grid_expand_omp_for_loop): Likewise.
-	(grid_expand_target_grid_body): Likewise.
-	(build_omp_regions_1): Likewise.
-	* omp-low.c (check_combined_parallel): Skip debug stmts.
-	* postreload.c (fixup_debug_insns): Skip nonbind debug insns.
-	* regcprop.c (find_oldest_value_reg): Ensure REGNO is not a pseudo.
-	* sese.c (sese_trivially_empty_bb_p): Call is_gimple_debug in
-	test.
-	* tree-cfg.c (make_blobs_1): Skip debug stmts.
-	(make_edges): Likewise.
-	(cleanup_dead_labels): Likewise.
-	(gimple_can_merge_blocks_p): Likewise.
-	(stmt_starts_bb_p): Likewise.
-	(gimple_block_label): Likewise.
-	(gimple_redirect_edge_and_branch): Likewise.
-	* tree-cfgcleanup.c (remove_forwarder_block): Rearrange skipping
-	of debug stmts.
-	(execute_cleanup_cfg_post_optimizing): Dump enumerated decls with
-	TDF_SLIM.
-	* tree-pretty-print (print_declaration): Omit initializer in slim
-	dumps.
-	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark begin stmt
-	markers.
-	(eliminate_unnecessary_stmts): Stabilize block removal order.
-	* tree-ssa-tail-merge.c (find_duplicate): Skip debug stmts.
-	* var-tracking.c (get_first_insn): New.
-	(vt_emit_notes): Call it.
-	(vt_initialize): Walk any insns before the first BB.
-	(delete_debug_insns): Likewise.
-
-	* gimple.h (enum gimple_debug_subcode): Add
-	GIMPLE_DEBUG_BEGIN_STMT.
-	(gimple_debug_begin_stmt_p): New.
-	(gimple_debug_nonbind_marker_p): New.
-	* tree.h (MAY_HAVE_DEBUG_MARKER_STMTS): New.
-	(MAY_HAVE_DEBUG_BIND_STMTS): Renamed from....
-	(MAY_HAVE_DEBUG_STMTS): ... this.  Check both.
-	* insn-notes.def (BEGIN_STMT): New.
-	* rtl.h (MAY_HAVE_DEBUG_MARKER_INSNS): New.
-	(MAY_HAVE_DEBUG_BIND_INSNS): Renamed from....
-	(MAY_HAVE_DEBUG_INSNS): ... this.  Check both.
-	(NOTE_MARKER_LOCATION, NOTE_MARKER_P): New.
-	(DEBUG_BIND_INSN_P, DEBUG_MARKER_INSN_P): New.
-	(INSN_DEBUG_MARKER_KIND): New.
-	(GEN_RTX_DEBUG_MARKER_BEGIN_STMT_PAT): New.
-	(INSN_VAR_LOCATION): Check for VAR_LOCATION.
-	(INSN_VAR_LOCATION_PTR): New.
-	* cfgexpand.c (expand_debug_locations): Handle debug bind insns
-	only.
-	(expand_gimple_basic_block): Likewise.  Emit debug temps for TER
-	deps only if debug bind insns are enabled.
-	(pass_expand::execute): Avoid deep TER and expand
-	debug locations for debug bind insns only.
-	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Narrow
-	debug stmts special handling down to debug bind stmts.
-	* combine.c (try_combine): Narrow debug insns special handling
-	down to debug bind insns.
-	* cse.c (delete_trivially_dead_insns): Handle debug bindings.
-	Narrow debug insns preexisting special handling down to debug
-	bind insns.
-	* dce.c (rest_of_handle_ud_dce): Narrow debug insns special
-	handling down to debug bind insns.
-	* function.c (instantiate_virtual_regs): Skip debug markers,
-	adjust handling of debug binds.
-	* gimple-ssa-backprop.c (backprop::prepare_change): Try debug
-	temp insertion iff MAY_HAVE_DEBUG_BIND_STMTS.
-	* haifa-sched.c (schedule_insn): Narrow special handling of debug
-	insns to debug bind insns.
-	* ipa-param-manipulation.c (ipa_modify_call_arguments): Narrow
-	special handling of debug stmts to debug bind stmts.
-	* ipa-split.c (split_function): Likewise.
-	* ira.c (combine_and_move_insns): Adjust debug bind insns only.
-	* loop-unroll.c (apply_opt_in_copies): Adjust tests on bind
-	debug insns.
-	* reg-stack.c (convert_regs_1): Use DEBUG_BIND_INSN_P.
-	* regrename.c (build_def_use): Likewise.
-	* regcprop.c (copyprop_hardreg_forward_1): Likewise.
-	(pass_cprop_hardreg): Narrow special casing of debug insns to
-	debug bind insns.
-	* regstat.c (regstat_init_n_sets_and_refs): Likewise.
-	* reload1.c (reload): Likewise.
-	* sese.c (sese_insert_phis_for_liveouts): Narrow special
-	casing of debug stmts to debug bind stmts.
-	* shrink-wrap.c (move_insn_for_shrink_wrap): Likewise.
-	* ssa-iterators.h (num_imm_uses): Likewise.
-	* tree-cfg.c (gimple_merge_blocks): Narrow special casing of
-	debug stmts to debug bind stmts.
-	* tree-inline.c	(tree_function_versioning): Narrow special casing
-	of debug stmts to debug bind stmts.
-	* tree-loop-distribution.c (generate_loops_for_partition):
-	Narrow special casing of debug stmts to debug bind stmts.
-	* tree-sra.c (analyze_access_subtree): Narrow special casing
-	of debug stmts to debug bind stmts.
-	* tree-ssa-dce.c (remove_dead_stmt): Narrow special casing of debug
-	stmts to debug bind stmts.
-	* tree-ssa-loop-ivopt.c (remove_unused_ivs): Narrow special
-	casing of debug stmts to debug bind stmts.
-	* tree-ssa-reassoc.c (reassoc_remove_stmt): Likewise.
-	* tree-ssa-tail-merge.c (tail_merge_optimize): Narrow special
-	casing of debug stmts to debug bind stmts.
-	* tree-ssa-threadedge.c (propagate_threaded_block_debug_info):
-	Likewise.
-	* tree-ssa.c (flush_pending_stmts): Narrow special casing of
-	debug stmts to debug bind stmts.
-	(gimple_replace_ssa_lhs): Likewise.
-	(insert_debug_temp_for_var_def): Likewise.
-	(insert_debug_temps_for_defs): Likewise.
-	(reset_debug_uses): Likewise.
-	* tree-ssanames.c (release_ssa_name_fn): Likewise.
-	* tree-vect-loop-manip.c (adjust_debug_stmts_now): Likewise.
-	(adjust_debug_stmts): Likewise.
-	(adjust_phi_and_debug_stmts): Likewise.
-	(vect_do_peeling): Likewise.
-	* tree-vect-loop.c (vect_transform_loop): Likewise.
-	* valtrack.c (propagate_for_debug): Use BIND_DEBUG_INSN_P.
-	* var-tracking.c (adjust_mems): Narrow special casing of debug
-	insns to debug bind insns.
-	(dv_onepart_p, dataflow_set_clar_at_call, use_type): Likewise.
-	(compute_bb_dataflow, vt_find_locations): Likewise.
-	(vt_expand_loc, emit_notes_for_changes): Likewise.
-	(vt_init_cfa_base): Likewise.
-	(vt_emit_notes): Likewise.
-	(vt_initialize): Likewise.
-	(vt_finalize): Likewise.
-
-	* emit-rtl.c (next_nondebug_insn, prev_nondebug_insn): Reorder.
-	(next_nonnote_nondebug_insn, prev_nonnote_nondebug_insn): Reorder.
-	(next_nonnote_nondebug_insn_bb): New.
-	(prev_nonnote_nondebug_insn_bb): New.
-	(prev_nonnote_insn_bb, next_nonnote_insn_bb): Remove.
-	* rtl.h	(prev_nonnote_insn_bb, next_nonnote_insn_bb): Remove decls.
-	(prev_nonnote_nondebug_insn_bb): Declare.
-	(next_nonnote_nondebug_insn_bb): Declare.
-	* cfgbuild.c (find_bb_boundaries): Adjust to skip debug insns.
-	* cfgrtl.c (get_last_bb_insn): Likewise.
-	* lra.c (push_insns): Likewise.
-
-2017-12-11  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/82050
-	* selftest-run-tests.c (selftest::run_tests): Move start/finish code
-	to...
-	* selftest.c (selftest::test_runner::test_runner): New ctor.
-	(selftest::test_runner::~test_runner): New dtor.
-	* selftest.h (class selftest::test_runner): New class.
-
-2017-12-11  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/altivec.h (vec_extract_fp32_from_shorth,
-	vec_extract_fp32_from_shortl]): Add #defines.
-	* config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion.
-	* config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH,
-	ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND,
-	ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL,
-	ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD,
-	ALTIVEC_BUILTIN_VEC_SLL): Add expansions.
-	* doc/extend.texi: Add documentation for the added builtins.
-
-2017-12-11  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR rtl-optimization/80693
-	PR rtl-optimization/81019
-	PR rtl-optimization/81020
-	* combine.c (distribute_notes): Reset any REG_UNUSED REGs that
-	are not mentioned in i3.  Place the REG_UNUSED note on i2,
-	possibly modified to REG_DEAD, if it did not originate in i3.
-
-2017-12-11  Jakub Jelinek  <jakub@redhat.com>
-
-	* recog.c (store_data_bypass_p_1): New function.
-	(store_data_bypass_p): Handle USE in a PARALLEL like CLOBBER.  Use
-	store_data_bypass_p_1 to avoid code duplication.  Formatting fixes.
-
-2017-12-11  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/83361
-	* ifcvt.c (if_convert): Call fixup_partitions.
-
-2017-12-11  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for
-	early folding of splat_u{8,16,32}.
-
-2017-12-11  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/aarch64/aarch64.c (aarch64_print_operand): Don't start
-	output_operand_lossage first argument with capital letter.
-	(aarch64_override_options): Don't start error and sorry first argument
-	with capital letter.
-
-2017-12-11  Andi Kleen  <ak@linux.intel.com>
-
-	PR gcov-profile/83355
-	* auto-profile.c (string_table::get_index_by_decl): Don't
-	recurse when abstract origin points to itself.
-
-2017-12-11  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/83320
-	* gimple-loop-interchange.cc (free_data_refs_with_aux): Use delete.
-	(prune_datarefs_not_in_loop): Ditto.
-
-2017-12-10  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific): Tweak link to mkssoftware.com.
-
-2017-12-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83337
-	* gimple-loop-interchange.cc (compute_access_stride): Handle
-	bitfield DRs properly.
-
-2017-12-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83338
-	* tree-vect-stmts.c (vectorizable_operation): Handle POINTER_DIFF_EXPR
-	vectorization as MINUS_EXPR with a subsequent VIEW_CONVERT_EXPR from
-	vector of unsigned integers to vector of signed integers.
-
-2017-12-08  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/83317
-	* lra-constraints.c (process_address_1): Add insn code check.
-
-2017-12-08  Michael Matz  <matz@suse.de>
-
-	Fix PR tree-optimization/83323
-	* gimple-loop-jam (unroll_jam_possible_p): Correct test for
-	head-controlled loops and loop BBs.
-	* common.opt (funroll-and-jam): Remove, instead ...
-	(floop-unroll-and-jam): ... reuse this option.
-	* opts.c (default_options_table): Use OPT_floop_unroll_and_jam.
-	* doc/invoke.texi (-funroll-and-jam): Move docu to ...
-	(-floop-unroll-and-jam): ... this option.
-
-2017-12-08  Jakub Jelinek  <jakub@redhat.com>
-
-	* ipa-polymorphic-call.c (noncall_stmt_may_be_vtbl_ptr_store): Fix
-	a comment typo, get_base_ref_and_offset -> get_ref_base_and_extent.
-	* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Likewise.
-
-2017-12-08  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81782
-	* tree-ssa-uninit.c (warn_uninitialized_vars): Properly
-	handle accesses outside of zero-sized vars.
-
-2017-12-08  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/83141
-	* tree-sra.c (contains_vce_or_bfcref_p): Move up in the file, also
-	test for MEM_REFs implicitely changing types with padding.  Remove
-	inline keyword.
-	(build_accesses_from_assign): Added contains_vce_or_bfcref_p checks.
-
-2017-12-08  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/arc/arc.c (arc_attribute_table): Add exclusions to
-	the comment.
-	* config/avr/avr.c (avr_attribute_table): Likewise.
-	* config/msp430/msp430.c (msp430_attribute_table): Likewise.
-	* config/rl78/rl78.c (rl78_attribute_table): Likewise.
-	* config/nds32/nds32.c (nds32_attribute_table): Likewise.
-	* config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Initialize new member
-	of struct attribute_spec.
-	* config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
-
-2017-12-08  Ulrich Weigand  <uweigand@de.ibm.com>
-
-	PR target/82960
-	* config/spu/spu.c (pad_bb): Only check INSN_CODE when INSN_P is true.
-
-2017-12-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/83609
-	* profile-count.c (profile_count::from_gcov_type): Move from
-	profile-count.h; handle overflow.
-	* profile-count.h (profile_count::from_gcov_type): Move offline.
-
-2017-12-08  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/83304
-	* combine.c (move_deaths): If we do not know where a register died,
-	search for it.
-
-2017-12-08  Richard Biener  <rguenther@suse.de>
-
-	* gimple-loop-interchange.cc (tree_loop_interchange::interchange):
-	Provide -fopt-info-loop feedback when we interchange in a nest.
-
-2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/driver-arm.c (arm_cpu_table): Use fp-capable product names
-	for armv6 ARM CPU IDs.
-
-2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
-
-	* common/config/arm/arm-common.c: Include <algorithm>.
-	(INCLUDE_VECTOR): Define.
-	(compare_opt_names): New function.
-	(arm_rewrite_selected_arch): Only strip out extensions that can be
-	expressed through -mfpu.  Sort the remaining extensions
-	alphabetically.
-
-2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.h (arm_asm_auto_mfpu): Declare.
-	(ASM_CPU_SPEC_FUNCTIONS): Add new rule asm_auto_mfpu.
-	(ASM_CPU_SPEC): Use it if -mfpu is set to auto.
-	* common/config/arm/arm-common.c (arm_asm_auto_mfpu): New function.
-
-2017-06-08  Tristan Gingold  <gindold@adacore.com>
-
-	PR ada/81470
-	* dwarf2out.c (dwarf2out_do_cfi_startproc): Only emit
-	.cfi_personality or .cfi_lsda if the eh data format is dwarf2.
-
-2017-12-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE): Initialize new member
-	of struct attribute_spec.
-
-2017-12-08  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512vnniintrin.h (_mm512_dpwssds_epi32,
-	_mm512_mask_dpwssds_epi32, _mm512_maskz_dpwssds_epi32): New intrinsics.
-	* config/i386/avx512vnnivlintrin.h (_mm256_dpwssds_epi32,
-	_mm256_mask_dpwssds_epi32, _mm256_maskz_dpwssds_epi32,
-	_mm_dpwssds_epi32, _mm_mask_dpwssds_epi32,
-	_mm_maskz_dpwssds_epi32): Ditto.
-
-2017-12-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81303
-	* tree-vect-stmts.c (vect_is_simple_cond): For invariant
-	conditions try to create a comparison vector type matching
-	the data vector type.
-	(vectorizable_condition): Adjust.
-	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern):
-	Leave invariant conditions alone in case we can vectorize those.
-
-2017-12-08  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512vnniintrin.h (_mm512_dpwssd_epi32,
-	_mm512_mask_dpwssd_epi32, _mm512_maskz_dpwssd_epi32): New intrinsics.
-	* config/i386/avx512vnnivlintrin.h (_mm256_dpwssd_epi32,
-	_mm256_mask_dpwssd_epi32, _mm256_maskz_dpwssd_epi32, _mm_dpwssd_epi32,
-	_mm_mask_dpwssd_epi32, _mm_maskz_dpwssd_epi32): Ditto.
-
-2017-12-08  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512vnniintrin.h (_mm512_dpbusds_epi32,
-	_mm512_mask_dpbusds_epi32, _mm512_maskz_dpbusds_epi32): New.
-	* config/i386/avx512vnnivlintrin.h (_mm256_dpbusds_epi32,
-	_mm256_mask_dpbusds_epi32, _mm256_maskz_dpbusds_epi32,
-	_mm_dpbusds_epi32, _mm_mask_dpbusds_epi32,
-	_mm_maskz_dpbusds_epi32): New intrinsics.
-
-2017-12-07  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2.md (ld<bhw_uns>io): Add splitter for memory
-	operand.
-	(ld<bh>io_signed): Likewise.
-	(st<bhw>io): Likewise.
-	* config/nios2/predicates.md (ldstio_memory_operand): Allow
-	SMALL_INT12 constant integer operand.
-
-2017-12-07  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2.c (nios2_symbolic_constant_allowed):
-	Rename to...
-	(nios2_large_constant_allowed): ...this.  Adjust uses.
-	(nios2_plus_symbolic_constant_p): Rename to...
-	(nios2_plus_large_constant_p): ...this.  Adjust uses.
-	(nios2_legitimate_address_p): Correct CONST_INT handling.
-	(nios2_symbolic_memory_operand_p): Rename to...
-	(nios2_large_constant_memory_operand_p): ...this.  Adjust uses.
-	(nios2_large_constant_p): Check for large constant integers too.
-	(nios2_split_large_constant): Handle constant integers.
-	(nios2_split_symbolic_memory_operand): Rename to...
-	(nios2_split_large_constant_memory_operand): ...this.  Adjust uses.
-	(nios2_legitimize_constant_address): Handle constant integers.
-	(r0rel_constant_p): Handle small constant integers.
-	(nios2_print_operand_address): Handle r0-relative integer addresses.
-	* config/nios2/nios2-protos.h: Adjust for renamed functions.
-	* config/nios2/nios2.md: Adjust for renamed functions.
-
-2017-12-07  Andrew Waterman  <andrew@sifive.com>
-
-	* config/riscv/riscv.c (TARGET_ASM_SELECT_SECTION): New define.
-	(TARGET_HAVE_SRODATA_SECTION): New define.
-	(riscv_select_section): New function.
-
-2017-12-08  Joseph Myers  <joseph@codesourcery.com>
-	    Alexander Monakov  <amonakov@ispras.ru>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81906
-	* config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/aarch64/aarch64.c (aarch64_print_address_internal): Return
-	a bool success value.  Don't call output_operand_lossage here.
-	(aarch64_print_ldpstp_address): Return a bool success value.
-	(aarch64_print_operand_address): Call output_addr_const if
-	aarch64_print_address_internal fails.
-	(aarch64_print_operand): Don't assert that the mode is 16 bytes for
-	'y'; call output_operand_lossage instead.  Call output_operand_lossage
-	if aarch64_print_ldpstp_address fails.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vector-builder.h
-	(tree_vector_builder::binary_encoded_nelts): Declare.
-	* tree-vector-builder.c
-	(tree_vector_builder::binary_encoded_nelts): New function.
-	* fold-const.c (negate_expr_p): Likewise.
-	(operand_equal_p, fold_checksum_tree): Likewise.
-	* tree-loop-distribution.c (const_with_all_bytes_same): Likewise.
-	* tree.c (integer_zerop, integer_onep, integer_all_onesp, real_zerop)
-	(real_onep, real_minus_onep, add_expr, initializer_zerop): Likewise.
-	(uniform_vector_p): Likewise.
-	* varasm.c (const_hash_1, compare_constant): Likewise.
-	* tree-ssa-ccp.c: Include tree-vector-builder.h.
-	(valid_lattice_transition): Operate directly on the VECTOR_CST
-	encoding.
-	* ipa-icf.c: Include tree-vector-builder.h.
-	(sem_variable::equals): Operate directly on the VECTOR_CST encoding.
-	* print-tree.c (print_node): Print encoding of VECTOR_CSTs.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree.c (build_vector): Delete.
-	* tree.h (build_vector): Make static and move into the self-testing
-	block.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* vector-builder.h (vector_builder::derived): New const overload.
-	(vector_builder::elt): New function.
-	* tree-vector-builder.h (tree_vector_builder::type): New function.
-	(tree_vector_builder::apply_step): Declare.
-	* tree-vector-builder.c (tree_vector_builder::apply_step): New
-	function.
-	* gimple-fold.h (tree_vector_builder): Declare.
-	(gimple_build_vector): Take a tree_vector_builder instead of a
-	type and vector of elements.
-	* gimple-fold.c (gimple_build_vector): Likewise.
-	* tree-vect-loop.c (get_initial_def_for_reduction): Update call
-	accordingly.
-	(get_initial_defs_for_reduction): Likewise.
-	(vectorizable_induction): Likewise.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vector-builder.h
-	(tree_vector_builder::new_binary_operation): Declare.
-	* tree-vector-builder.c
-	(tree_vector_builder::new_binary_operation): New function.
-	* fold-const.c (fold_relational_const): Use it.
-	(const_binop): Likewise.  Check that both input vectors have
-	the same number of elements, thus excluding things like WIDEN_SUM.
-	Check whether it is possible to operate directly on the encodings
-	of stepped inputs.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* fold-const.c (fold_negate_expr_1): Use tree_vector_builder and
-	new_unary_operation, operating only on the encoded elements.
-	(const_unop): Likewise.
-	(exact_inverse): Likewise.
-	(distributes_over_addition_p): New function.
-	(const_binop): Use tree_vector_builder and new_unary_operation
-	for combinations of VECTOR_CST and INTEGER_CST.  Operate only
-	on the encoded elements unless the encoding is strided and the
-	operation does not distribute over addition.
-	(fold_convert_const):  Use tree_vector_builder and
-	new_unary_operation.  Operate only on the encoded elements
-	for truncating integer conversions, or for non-stepped encodings.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/sparc/sparc.c: Include tree-vector-builder.h.
-	(sparc_fold_builtin): Use tree_vector_builder instead of build_vector.
-	* expmed.c: Include tree-vector-builder.h.
-	(make_tree): Use tree_vector_builder instead of build_vector.
-	* fold-const.c: Include tree-vector-builder.h.
-	(const_binop): Use tree_vector_builder instead of build_vector.
-	(const_unop): Likewise.
-	(native_interpret_vector): Likewise.
-	(fold_vec_perm): Likewise.
-	(fold_ternary_loc): Likewise.
-	* gimple-fold.c: Include tree-vector-builder.h.
-	(gimple_fold_stmt_to_constant_1): Use tree_vector_builder instead
-	of build_vector.
-	* tree-ssa-forwprop.c: Include tree-vector-builder.h.
-	(simplify_vector_constructor): Use tree_vector_builder instead
-	of build_vector.
-	* tree-vect-generic.c: Include tree-vector-builder.h.
-	(add_rshift): Use tree_vector_builder instead of build_vector.
-	(expand_vector_divmod): Likewise.
-	(optimize_vector_constructor): Likewise.
-	* tree-vect-loop.c: Include tree-vector-builder.h.
-	(vect_create_epilog_for_reduction): Use tree_vector_builder instead
-	of build_vector.  Explicitly use a stepped encoding for
-	{ 1, 2, 3, ... }.
-	* tree-vect-slp.c: Include tree-vector-builder.h.
-	(vect_get_constant_vectors): Use tree_vector_builder instead
-	of build_vector.
-	(vect_transform_slp_perm_load): Likewise.
-	(vect_schedule_slp_instance): Likewise.
-	* tree-vect-stmts.c: Include tree-vector-builder.h.
-	(vectorizable_bswap): Use tree_vector_builder instead of build_vector.
-	(vect_gen_perm_mask_any): Likewise.
-	(vectorizable_call): Likewise.  Explicitly use a stepped encoding.
-	* tree.c: (build_vector_from_ctor): Use tree_vector_builder instead
-	of build_vector.
-	(build_vector_from_val): Likewise.  Explicitly use a duplicate
-	encoding.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* doc/generic.texi (VECTOR_CST): Describe new representation of
-	vector constants.
-	* vector-builder.h: New file.
-	* tree-vector-builder.h: Likewise.
-	* tree-vector-builder.c: Likewise.
-	* Makefile.in (OBJS): Add tree-vector-builder.o.
-	* tree.def (VECTOR_CST): Update comment to refer to generic.texi.
-	* tree-core.h (tree_base): Add a vector_cst field to the u union.
-	(tree_vector): Change the number of elements to
-	vector_cst_encoded_nelts.
-	* tree.h (VECTOR_CST_NELTS): Redefine using TYPE_VECTOR_SUBPARTS.
-	(VECTOR_CST_ELTS): Delete.
-	(VECTOR_CST_ELT): Redefine using vector_cst_elt.
-	(VECTOR_CST_LOG2_NPATTERNS, VECTOR_CST_NPATTERNS): New macros.
-	(VECTOR_CST_NELTS_PER_PATTERN, VECTOR_CST_DUPLICATE_P): Likewise.
-	(VECTOR_CST_STEPPED_P, VECTOR_CST_ENCODED_ELTS): Likewise.
-	(VECTOR_CST_ENCODED_ELT): Likewise.
-	(vector_cst_encoded_nelts): New function.
-	(make_vector): Take the values of VECTOR_CST_LOG2_NPATTERNS and
-	VECTOR_CST_NELTS_PER_PATTERN as arguments.
-	(vector_cst_int_elt, vector_cst_elt): Declare.
-	* tree.c: Include tree-vector-builder.h.
-	(tree_code_size): Abort if passed VECTOR_CST.
-	(tree_size): Update for new VECTOR_CST layout.
-	(make_vector): Take the values of VECTOR_CST_LOG2_NPATTERNS and
-	VECTOR_CST_NELTS_PER_PATTERN as arguments.
-	(build_vector): Use tree_vector_builder.
-	(vector_cst_int_elt, vector_cst_elt): New functions.
-	(drop_tree_overflow): For VECTOR_CST, drop the TREE_OVERFLOW from the
-	encoded elements and then create the vector in the canonical form.
-	(check_vector_cst, check_vector_cst_duplicate, check_vector_cst_fill)
-	(check_vector_cst_stepped, test_vector_cst_patterns): New functions.
-	(tree_c_tests): Call test_vector_cst_patterns.
-	* lto-streamer-out.c (DFS::DFS_write_tree_body): Handle the new
-	VECTOR_CST fields.
-	(hash_tree): Likewise.
-	* tree-streamer-out.c (write_ts_vector_tree_pointers): Likewise.
-	(streamer_write_tree_header): Likewise.
-	* tree-streamer-in.c (lto_input_ts_vector_tree_pointers): Likewise.
-	(streamer_alloc_tree): Likewise.  Update call to make_vector.
-	* fold-const.c (fold_ternary_loc): Avoid using VECTOR_CST_ELTS.
-
-2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* selftest.h (ASSERT_TRUE_AT, ASSERT_FALSE_AT, ASSERT_EQ_AT)
-	(ASSERT_NE, ASSERT_PRED1): Add underscores to local variable names
-	* selftest-rtl.h (ASSERT_RTX_EQ, ASSERT_RTX_PTR_EQ): Likewise.
-
-2017-12-07  Bin Cheng  <bin.cheng@arm.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81303
-	* Makefile.in (gimple-loop-interchange.o): New object file.
-	* common.opt (floop-interchange): Reuse the option from graphite.
-	* doc/invoke.texi (-floop-interchange): Ditto.  New document for
-	-floop-interchange and mention it for -O3.
-	* opts.c (default_options_table): Enable -floop-interchange at -O3.
-	* gimple-loop-interchange.cc: New file.
-	* params.def (PARAM_LOOP_INTERCHANGE_MAX_NUM_STMTS): New parameter.
-	(PARAM_LOOP_INTERCHANGE_STRIDE_RATIO): New parameter.
-	* passes.def (pass_linterchange): New pass.
-	* timevar.def (TV_LINTERCHANGE): New time var.
-	* tree-pass.h (make_pass_linterchange): New declaration.
-	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Change to external
-	interchange.  Record IV before/after increment in new parameters.
-	* tree-ssa-loop-ivopts.h (create_canonical_iv): New declaration.
-	* tree-vect-loop.c (vect_is_simple_reduction): Factor out reduction
-	path check into...
-	(check_reduction_path): ...New function here.
-	* tree-vectorizer.h (check_reduction_path): New declaration.
-
-2017-12-07  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/83252
-	PR rtl-optimization/80818
-	* lra.c (add_regs_to_insn_regno_info): Make a hard reg in CLOBBER
-	always early clobbered.
-	* lra-lives.c (process_bb_lives): Check input hard regs for early
-	clobbered non-operand hard reg.
-
-2017-12-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/83164
-	* tree-cfg.c (verify_gimple_assign_binary): Don't require
-	types_compatible_p, just that TYPE_MODE is the same.
-
-2017-12-07  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81544
-	* attribs.c (empty_attribute_table): Initialize new member of
-	struct attribute_spec.
-	(decl_attributes): Add argument.  Handle mutually exclusive
-	combinations of attributes.
-	(selftests::test_attribute_exclusions): New function.
-	(selftests::attribute_c_tests): Ditto.
-	* attribs.h (decl_attributes): Add default argument.
-	* selftest.h (attribute_c_tests): Declare.
-	* selftest-run-tests.c (selftest::run_tests): Call attribute_c_tests.
-	* tree-core.h (attribute_spec::exclusions, exclude): New type and
-	member.
-	* doc/extend.texi (Common Function Attributes): Update const and pure.
-	* config/alpha/alpha.c (vms_attribute_table): Initialize new member
-	of struct attribute_spec.
-	* config/arc/arc.c (arc_attribute_table): Same.
-	* config/arm/arm.c (arm_attribute_table): Same.
-	* config/avr/avr.c ( avr_attribute_table): Same.
-	* config/bfin/bfin.c (bfin_attribute_table): Same.
-	* config/cr16/cr16.c (cr16_attribute_table): Same.
-	* config/epiphany/epiphany.c (epiphany_attribute_table): Same.
-	* config/h8300/h8300.c (h8300_attribute_table): Same.
-	* config/i386/i386.c (ix86_attribute_table): Same.
-	* config/ia64/ia64.c (ia64_attribute_table): Same.
-	* config/m32c/m32c.c (m32c_attribute_table): Same.
-	* config/m32r/m32r.c (m32r_attribute_table): Same.
-	* config/m68k/m68k.c (m68k_attribute_table): Same.
-	* config/mcore/mcore.c (mcore_attribute_table): Same.
-	* config/microblaze/microblaze.c (microblaze_attribute_table): Same.
-	* config/mips/mips.c (mips_attribute_table): Same.
-	* config/msp430/msp430.c (msp430_attribute_table): Same.
-	* config/nds32/nds32.c (nds32_attribute_table): Same.
-	* config/nvptx/nvptx.c (nvptx_attribute_table): Same.
-	* config/powerpcspe/powerpcspe.c (rs6000_attribute_table): Same.
-	* config/rl78/rl78.c (rl78__attribute_table): Same.
-	* config/rs6000/rs6000.c (rs6000_attribute_table): Same.
-	* onfig/rx/rx.c (rx_attribute_table): Same.
-	* config/s390/s390.c (s390_handle_vectorbool_attribute): Same.
-	* config/sh/sh.c (sh_attribute_table): Same.
-	* config/sparc/sparc.c (sparc_attribute_table): Same.
-	* config/spu/spu.c (spu_attribute_table): Same.
-	* config/stormy16/stormy16.c (xstormy16_attribute_table): Same.
-	* config/v850/v850.c (v850_attribute_table): Same.
-	* config/visium/visium.c (visium_attribute_table): Same.
-
-2017-12-07  Tamar Christina  <tamar.christina@arm.com>
-
-	PR target/82641
-	* config/arm/arm.c (INCLUDE_STRING): Define.
-	(arm_last_printed_arch_string, arm_last_printed_fpu_string): New.
-	(arm_declare_function_name): Conservatively emit .arch, .arch_extensions
-	and .fpu.
-
-2017-12-07  Michael Matz  <matz@suse.de>
-
-	Add unroll and jam pass
-
-	* gimple-loop-jam.c: New file.
-	* Makefile.in (OBJS): Add gimple-loop-jam.o.
-	* common.opt (funroll-and-jam): New option.
-	* opts.c (default_options_table): Add unroll-and-jam at -O3.
-	* params.def (PARAM_UNROLL_JAM_MIN_PERCENT): New param.
-	(PARAM_UNROLL_JAM_MAX_UNROLL): Ditto.
-	* passes.def: Add pass_loop_jam.
-	* timevar.def (TV_LOOP_JAM): Add.
-	* tree-pass.h (make_pass_loop_jam): Declare.
-	* cfgloop.c (flow_loop_tree_node_add): Add AT argument.
-	* cfgloop.h (flow_loop_tree_node_add): Adjust declaration.
-	* cfgloopmanip.c (duplicate_loop): Add AT argument, adjust call
-	to flow_loop_tree_node_add.
-	(duplicate_subloops, copy_loops_to): Append to sibling list.
-	* cfgloopmanip.h: (duplicate_loop): Adjust declaration.
-	* doc/invoke.texi (-funroll-and-jam): Document new option.
-	(unroll-jam-min-percent, unroll-jam-max-unroll): Document new params.
-
-2017-12-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83296
-	PR tree-optimization/67769
-	* tree-ssa-phiopt.c (conditional_replacement): Do not reset
-	flow sensitive info in an unrelated BB.
-	(value_replacement): Use reset_flow_sensitive_info.
-	(minmax_replacement): Reset flow sensitive info on the def
-	we move.  Do not reset flow sensitive info in the whole BB
-	we move the stmt to.
-	(abs_replacement): Likewise.
-
-2017-12-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/43871
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
-	rs6000_cpu to the given -mcpu=, or to the default processor.
-
-2017-12-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.h (rs6000_cpu_attr): Delete.
-	* config/rs6000/rs6000.c (rs6000_variable_issue_1): Use rs6000_tune
-	instead of rs6000_cpu_attr.
-	(rs6000_adjust_cost): Ditto.
-	(is_microcoded_insn): Ditto.
-	(rs6000_adjust_priority): Ditto.
-	(rs6000_issue_rate): Ditto.
-	(rs6000_use_sched_lookahead): Ditto.
-	(rs6000_use_sched_lookahead_guard): Ditto.
-	(rs6000_sched_reorder): Ditto.
-	(force_new_group): Ditto.
-	* config/rs6000/rs6000.md (cpu attribute): Ditto.
-	(group_ending_nop): Ditto.
-
-2017-12-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.opt (rs6000_tune): New variable.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Also set
-	rs6000_tune.  Use rs6000_tune instead of rs6000_cpu where appropriate.
-	(rs6000_loop_align): Use rs6000_tune instead of rs6000_cpu where
-	appropriate.
-	(rs6000_reassociation_width): Ditto.
-	(rs6000_emit_epilogue): Ditto.
-	(rs6000_adjust_cost): Ditto.
-	(is_microcoded_insn): Ditto.
-	(is_cracked_insn): Ditto.
-	(rs6000_adjust_priority): Ditto.
-	(rs6000_sched_reorder): Ditto.
-	(rs6000_sched_reorder2): Ditto.
-	(insn_must_be_first_in_group): Ditto.
-	(insn_must_be_last_in_group): Ditto.
-	(rs6000_register_move_cost): Ditto.
-	* config/rs6000/rs6000.h (rs6000_cpu_attr): Use rs6000_tune instead of
-	rs6000_cpu.
-
-2017-12-07  Julia Koval  <julia.koval@intel.com>
-
-	* config.gcc: Add vaesintrin.h.
-	* config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI_V64QI):
-	New type.
-	* config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi,
-	__builtin_ia32_vaesdec_v32qi, __builtin_ia32_vaesdec_v64qi):
-	New builtins.
-	* config/i386/i386.c (ix86_expand_args_builtin): Handle new type.
-	* config/i386/immintrin.h: Include vaesintrin.h.
-	* config/i386/sse.md (vaesdec_<mode>): New pattern.
-	* config/i386/vaesintrin.h (_mm256_aesdec_epi128, _mm512_aesdec_epi128,
-	_mm_aesdec_epi128): New intrinsics.
-
-2017-12-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (C_COMMON_OBJS): Add c-family/c-spellcheck.o.
-	* spellcheck-tree.c (find_closest_macro_cpp_cb): Move to
-	c-family/c-spellcheck.cc.
-	(best_macro_match::best_macro_match): Likewise.
-	* spellcheck-tree.h
-	(struct edit_distance_traits<cpp_hashnode *>): Move to
-	c-family/c-spellcheck.h.
-	(class best_macro_match): Likewise.
-
-2017-12-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83293
-	* gimple-ssa-strength-reduction.c (insert_initializers): Use
-	GSI_NEW_STMT instead of GSI_SAME_STMT in gsi_insert_after that
-	might insert into empty bb.
-
-	PR sanitizer/81281
-	* match.pd ((T)(P + A) - (T)P -> (T) A): Split into separate
-	simplify for plus with :c added, and pointer_plus without that.
-	((T)P - (T)(P + A) -> -(T) A): Likewise.  If type is integral
-	with undefined overflow and the conversion is not widening,
-	perform negation in utype and only convert to type afterwards.
-	((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Split into separate
-	simplify for plus with :c added, and pointer_plus without that.
-	If type is integral with undefined overflow and the conversion is
-	not widening, perform minus in utype and only convert to type
-	afterwards.  Move the last pointer_diff_expr simplify into the
-	two outermost ifs.
-
-2017-12-06  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/82646
-	* builtins.c (maybe_emit_chk_warning): Use size as the bound for
-	strncpy, not maxlen.
-
-2017-12-06  Martin Sebor  <msebor@redhat.com>
-
-	* doc/invoke.texi (-Wstringop-truncation): Mention attribute
-	nonstring.
-
-	PR tree-optimization/83075
-	* tree-ssa-strlen.c (handle_builtin_stxncpy): Avoid assuming
-	strncat/strncpy don't change length of source string.
-
-2017-12-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	Revert
-	2017-11-29  Martin Aberg  <maberg@gaisler.com>
-
-	* config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
-	to prevent b2bst errata sequence.
-	(sqrtdf2_fix): Likewise.
-
-2017-12-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81945
-	* cfgloop.h (FOR_EACH_LOOP_FN): Use FN instead of hardcoding fn.
-	* tree-cfg.c (move_sese_region_to_fn): If any of the loops moved
-	to dest_cfun has orig_loop_num set, either remap it to the new
-	loop number if the loop got moved too, or clear it.
-
-2017-12-05  Steve Ellcey  <sellcey@cavium.com>
-
-	* config/aarch64/thunderx2-t99.md (thunderx2t99_branch): Add trap
-	to reservation.
-	(thunderx2t99_nothing): New insn reservation.
-	(thunderx2t99_mrs): New insn reservation.
-	(thunderx2t99_multiple): New insn reservation.
-	(thunderx2t99_alu_basi): Add bfx to reservation.
-	(thunderx2t99_fp_cmp): Add fccmps and fccmpd to reservation.
-
-2017-12-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	PR target/82248
-	* config/arm/arm.md (probe_stack) : Use the 'o' constraint.
-
-2017-12-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from
-	tree-ssa-pre.c::remove_dead_inserted_code.
-	* tree-ssa-dce.h: New file.
-	* tree-ssa-pre.c (tree-ssa-dce.h): Include new header file.
-	(remove_dead_inserted_code): Move and rename to function
-	tree-ssa-dce.c::simple_dce_from_worklist.
-	(pass_pre::execute): Update use.
-
-2017-12-05  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83277
-	* graphite-isl-ast-to-gimple.c (should_copy_to_new_region): Make sure
-	to code-gen liveout vars.
-
-2017-12-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/aarch64/aarch64-simd.md (aarch64_simd_bsldi_internal)
-	(aarch64_simd_bsldi_alt): Check REG_P before GP_REGNUM_P.
-	(aarch64_cm<optab>di, aarch64_cmtstdi): Add leading "&&" to
-	split condition.
-
-2017-12-05  Max Filippov  <jcmvbkbc@gmail.com>
-
-	* config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New
-	function.
-	(TARGET_ASAN_SHADOW_OFFSET): New macro definition.
-	* config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): Set to 1 if
-	ASAN is enabled.
-
-2017-12-05  Richard Biener  <rguenther@suse.de>
-
-	* timevar.def (TV_TREE_RECIP, TV_TREE_SINCOS, TV_TREE_WIDEN_MUL): Add.
-	* tree-ssa-math-opts.c (pass_data_cse_reciprocal): Use TV_TREE_RECIP.
-	(pass_data_cse_sincos): Use TV_TREE_SINCOS.
-	(pass_data_optimize_widening_mul): Use TV_TREE_WIDEN_MUL.
-
-2017-12-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* dbxout.c (dbxout_block): Grow buf to 30 bytes.
-
-2017-12-05  Martin Liska  <mliska@suse.cz>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/invoke.texi: Document the options.
-	* flag-types.h (enum sanitize_code): Add
-	SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT.
-	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Add handling
-	of SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT.
-	* opts.c: Define new sanitizer options.
-	* sanitizer.def (BUILT_IN_ASAN_POINTER_COMPARE): Likewise.
-	(BUILT_IN_ASAN_POINTER_SUBTRACT): Likewise.
-
-2017-12-05  Julia Koval  <julia.koval@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VNNI_SET,
-	OPTION_MASK_ISA_AVX512VNNI_UNSET): New.
-	(ix86_handle_option): Handle -mavx512vnni.
-	* config/i386/cpuid.h (bit_AVX512VNNI): New bit.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Handle new bit.
-	* config/i386/i386-c (__AVX512VNNI__): New.
-	* config/i386/i386.c (ix86_target_string): Handle new option.
-	(ix86_valid_target_attribute_inner_p): Handle new option.
-	* config/i386/i386.h (TARGET_AVX512VNNI, TARGET_AVX512VNNI_P): New.
-	* config/i386/i386.opt (mavx512vnni): New option.
-
-2017-12-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR target/81616
-	* athlon.md: Disable for generic.
-	* haswell.md: Enable for generic.
-	* i386.c (ix86_sched_init_global): Add core hooks for generic.
-	* x86-tune-sched.c (ix86_issue_rate): Increase issue rate for generic
-	to 4.
-	(ix86_adjust_cost): Move generic to haswell path.
-
-2017-12-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.c (sparc_do_work_around_errata): Use mem_ref
-	instead of MEM_P in a couple more places.  Fix formatting issues.
-
-2017-12-04  Jim Wilson  <jimw@sifive.com>
-
-	* config/riscv/riscv.c (riscv_for_each_saved_reg): Use GP_REG_LAST
-	instead of GP_REG_LAST-1.
-	(riscv_adjust_libcall_cfi_prologue): Likewise.
-	(riscv_adjust_libcall_cri_epilogue): Likewise.
-	* config/riscv/riscv.h (CALL_USED_REGISTERS): Change a6 to t6 in
-	comment.
-
-2017-12-04  Luis Machado  <luis.machado@linaro.org>
-
-	* ipa-pure-const.c (check_decl): Add missing newline.
-	(state_from_flags): Likewise.
-
-2017-12-04  Jeff Law  <law@redhat.com>
-
-	PR tree-optimizatin/78496
-	* gimple-ssa-evrp-analyze.h
-	(evrp_range_analyzer::get_vr_values): Simplify.
-	* gimple-ssa-evrp-analyze.c: Corresponding changes.
-	* tree-ssa-dom.c: Include alloc-pool.h, tree-vrp.h, vr-values.h
-	and gimple-ssa-evrp-analyze.h.
-	(dom_opt_dom_walker class): Add evrp_range_analyzer member.
-	(simplify_stmt_for_jump_threading): Copy a blob of code from
-	tree-vrp.c to use ranges to simplify statements.
-	(dom_opt_dom_walker::before_dom_children): Call
-	evrp_range_analyzer::{enter,record_ranges_from_stmt} methods.
-	(dom_opt_dom_walker::after_dom_children): Similarly for
-	evrp_range_analyzer::leave.
-	(dom_opt_dom_walker::optimize_stmt): Use EVRP ranges to optimize
-	conditionals.
-
-	* gimple-ssa-evrp-analyze.c
-	(evrp_range_analyzer::extract_range_from_stmt):  Always use
-	vr_values::update_value_range so preexisting range info is
-	medged with new range info, even if the new range is VR_VARYING.
-
-2017-12-04  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine.c: Adjust comment.
-	(use_crosses_set_p): Delete.
-	(can_combine_p): Use modified_between_p instead of use_crosses_set_p.
-	(try_combine): Ditto.
-
-2017-12-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83255
-	* graphite-isl-ast-to-gimple.c (translate_isl_ast_node_for):
-	Re-add zero-iteration check.
-
-2017-12-04  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/83245
-	* lra.c (collect_non_operand_hard_regs): Treat clobbers of non-operand
-	hard registers as earlyclobber, also if not in an asm.
-
-2017-12-04  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR bootstrap/83265
-	Revert
-	2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/43871
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
-	rs6000_cpu based on cpu_index, not tune_index.
-
-2017-12-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83238
-	* graphite-scop-detection.c (scop_detection::merge_sese): Make
-	code match comment, rejecting invalid SESE regions.
-
-2017-12-03  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_legitimate_address_p): For scaled indexing,
-	require base operand is a REG_POINTER prior to reload on targets
-	with non-equivalent space registers.
-
-2017-12-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (ipcp_lattice<valtype>::print): Update dumping.
-	(update_specialized_profile): Fix updating of counts.
-	(perhaps_add_new_callers): Likewise.
-
-2017-12-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR target/81616
-	* x86-tune.def: Remove obsolette FIXMEs.
-	(X86_TUNE_PARTIAL_FLAG_REG_STALL): Disable for generic
-	(X86_TUNE_FUSE_CMP_AND_BRANCH_32, X86_TUNE_FUSE_CMP_AND_BRANCH_64,
-	X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS, X86_TUNE_FUSE_ALU_AND_BRANCH):
-	Enable for generic.
-	(X86_TUNE_PAD_RETURNS): Disable for generic.
-
-2017-12-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83170
-	PR tree-optimization/83241
-	* gimple-ssa-store-merging.c
-	(imm_store_chain_info::try_coalesce_bswap): Update vuse field from
-	gimple_vuse (ins_stmt) in case it has changed.
-	(imm_store_chain_info::output_merged_store): Likewise.
-
-	* tree-chkp.c (chkp_compute_bounds_for_assignment): Handle
-	POINTER_DIFF_EXPR.
-
-	PR c++/81212
-	* tree-cfg.c (pass_warn_function_return::execute): Handle
-	__builtin_ubsan_handle_missing_return like __builtin_unreachable
-	with BUILTINS_LOCATION.
-
-	PR target/78643
-	PR target/80583
-	* expr.c (get_inner_reference): If DECL_MODE of a non-bitfield
-	is BLKmode for vector field with vector raw mode, use TYPE_MODE
-	instead of DECL_MODE.
-
-	* config/i386/i386-protos.h (standard_sse_constant_opcode): Change
-	last argument to rtx pointer.
-	* config/i386/i386.c (standard_sse_constant_opcode): Replace X argument
-	with OPERANDS.  For AVX+ 128-bit VEX encoded instructions over 256-bit
-	or 512-bit.  If setting EXT_REX_SSE_REG_P, use EVEX encoded insn
-	depending on the chosen ISAs.
-	* config/i386/i386.md (*movxi_internal_avx512f, *movoi_internal_avx,
-	*movti_internal, *movdi_internal, *movsi_internal, *movtf_internal,
-	*movdf_internal, *movsf_internal): Adjust standard_sse_constant_opcode
-	callers.
-	* config/i386/sse.md (mov<mode>_internal): Likewise.
-	* config/i386/mmx.md (*mov<mode>_internal): Likewise.
-
-2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* doc/invoke.texi (-dp): Say that instruction cost is printed as well.
-
-2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000-protos.h (emit_fusion_addis): Remove last two
-	parameters from prototype.
-	* config/rs6000/rs6000.c (emit_fusion_addis): Remove last two
-	parameters.  Don't print a comment.
-	(emit_fusion_gpr_load): Adjust.
-	(emit_fusion_load_store): Adjust.
-	* config/rs6000/rs6000.md (*fusion_p9_<mode>_constant): Adjust.
-	* config/rs6000/vsx.md (two peepholes): Print the "vector load fusion"
-	comment on the second line.
-
-2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/43871
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
-	rs6000_cpu based on cpu_index, not tune_index.
-
-2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* final.c (output_asm_name): Print insn_cost.  Shorten output.  Print
-	which_alternative instead of which_alternative + 1.
-	(output_asm_insn): Print an extra tab if the template is short.
-
-2017-12-01  Jim Wilson  <jimw@sifive.com>
-
-	* common.opt (use_gnu_debug_info_extensions): Delete DWARF_DEBUG from
-	comment.
-	* config/vx-common.h (DWARF_DEBUGGING_INFO): Delete undef.
-	* doc/tm.texi.in (PREFERRED_DEBUGGING_TYPE): Delete DWARF_DEBUG
-	reference.
-	* doc/tm.texi: Regenerate.
-
-2017-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/81959
-	* config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for
-	whether we can allocate pseudos before trying to fix an address.
-	* config/rs6000/rs6000.md (float_<mode>si2_hw): Make sure the
-	memory address is indexed or indirect.
-	(floatuns_<mode>si2_hw2): Likewise.
-
-2017-12-01  Jason Merrill  <jason@redhat.com>
-
-	* Makefile.in (TAGS): Add c-family/*.cc.
-
-2017-12-01  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (call_insn): Use %c rather than %a.
-	(call_value_insn): Likewise.
-	(sibcall_insn): Likewise.
-	(sibcall_value_insn): Likewise.
-	(movsi_aarch64): Likewise.
-	(movdi_aarch64): Likewise.
-	(add_losym_): Likewise.
-	(ldr_got_small_): Likewise.
-	(ldr_got_small_sidi): Likewise.
-	(ldr_got_small_28k_): Likewise.
-	(ldr_got_small_28k_sidi): Likewise.
-	* config/aarch64/aarch64.c (aarch64_print_address_internal):
-	Move output_addr_const to symbolic case. Add error check.
-
-2017-12-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/predicates.md (plus16_Q_operand): New predicate.
-	* config/s390/s390.md: Disable MVC merging peephole if it would
-	disable operand forwarding.
-	(new peephole2): Split MVCs if it would turn them into up to 2
-	forwardable MVCs.
-
-2017-12-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83232
-	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Fix
-	detection of same access. Instead of breaking the group here
-	do not consider the duplicate.  Add comment explaining real fix.
-
-2017-12-01  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/md.texi (Insn Splitting): Fix "central flowgraph" typo.
-
-2017-12-01  Sudakshina Das  <sudi.das@arm.com>
-
-	* config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute.
-
-2017-12-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* function.h (struct function): Remove cilk_frame_decl,
-	is_cilk_function and calls_cilk_spawn fields.
-	* tree-inline.h (struct copy_body_data): Remove remap_var_for_cilk
-	field.
-	* omp-simd-clone.c (simd_clone_clauses_extract): Don't clear
-	cilk_elemental field.
-	* cgraph.h (struct cgraph_simd_clone): Remove cilk_elemental field.
-	* target.def: Adjust comment.
-	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
-	Don't test cilk_elemental.
-
-	PR tree-optimization/83233
-	* gimple-ssa-store-merging.c (nop_stats, bswap_stats): Use
-	bswap_stat name for the struct.
-
-	PR c/79153
-	* tree.h (SWITCH_BREAK_LABEL_P): Define.
-	* gimplify.c (collect_fallthrough_labels): Handle GIMPLE_BIND
-	starting with a GIMPLE_SWITCH and ending with GIMPLE_LABEL with
-	SWITCH_BREAK_LABEL_P set on the label.
-	(gimplify_switch_expr): Set SWITCH_BREAK_LABEL_P on the label
-	added for default case if it was missing and not all cases covered.
-	Wrap GIMPLE_SWITCH and the switch_body_seq into a GIMPLE_BIND if
-	switch_body_seq ends with a GIMPLE_LABEL with SWITCH_BREAK_LABEL_P
-	set on the label.
-	* tree-chrec.c (evolution_function_is_univariate_p): Add return true;
-	to avoid -Wimplicit-fallthrough warning.
-	* config/i386/i386.c (ix86_expand_special_args_builtin): Add
-	FALLTHRU comment to avoid -Wimplicit-fallthrough warning.
-
-	PR tree-optimization/83221
-	* tree-ssa-reassoc.c (sort_by_operand_rank): Shift bb_rank
-	down by 16.
-	(init_reassoc): Formatting fix.
-
-	PR sanitizer/81275
-	* tree-cfg.c (group_case_labels_stmt): Don't optimize away
-	C++ FE implicitly added __builtin_unreachable () until -Wreturn-type
-	is diagnosed.
-
-	PR sanitizer/83219
-	* tree-cfg.c: Include asan.h.
-	(gimple_seq_unreachable_p): Return false for -fsanitize=unreachable.
-
-2017-12-01  Sergey Shalnov  <Sergey.Shalnov@intel.com>
-
-	* config/i386/i386.md: Fix AVX512 register width in AVX512 instruction.
-
-2017-12-01  Sergey Shalnov  <Sergey.Shalnov@intel.com>
-
-	* config/i386/i386.c (standard_sse_constant_opcode): Fix wrong form for
-	vpcmpeqd instruction.
-
-2017-12-01  Sergey Shalnov  <Sergey.Shalnov@intel.com>
-
-	* config/i386/i386.c (standard_sse_constant_opcode): Fix
-	registers type for 128bit mode.
-
-2017-11-30  Jakub Jelinek  <jakub@redhat.com>
-
-	* spellcheck-tree.c (test_find_closest_identifier): Use ; instead
-	of ;;.
-	* gengtype-state.c (read_state_pair): Likewise.
-	* gimple-fold.c (gimple_fold_builtin_string_compare): Likewise.
-	* sel-sched-dump.c (dump_insn_rtx_1): Likewise.
-	* ipa-cp.c (intersect_aggregates_with_edge): Likewise.
-	* ifcvt.c (noce_try_store_flag_constants): Likewise.
-	* tree-ssa-ccp.c (ccp_finalize): Likewise.
-	* omp-grid.c (grid_process_kernel_body_copy): Likewise.
-	* builtins.c (fold_builtin_3): Likewise.
-	* graphite-scop-detection.c
-	(scop_detection::stmt_has_simple_data_refs_p): Likewise.
-	* hsa-gen.c (hsa_function_representation::hsa_function_representation):
-	Likewise.
-
-2017-12-01  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR sanitizer/81697
-	* asan.c (asan_protect_global): Add new ignore_decl_rtl_set_p
-	parameter. Return true if ignore_decl_rtl_set_p is true and other
-	conditions are satisfied.
-	* asan.h (asan_protect_global): Add new parameter.
-	* varasm.c (categorize_decl_for_section): Pass true as second parameter
-	to asan_protect_global calls.
-
-2017-11-30  Jim Wilson  <jimw@sifive.com>
-
-	* doc/invoke.texi (RISC-V Options): Delete nonexistent -mmemcpy and
-	-mno-memcpy options.  For -mplt, -mfdiv, -mdiv, -msave-restore, and
-	-mstrict-align, add info on default value.  Delete redundant lines for
-	-mabi.  Add missing -mexplicit-relocs docs.
-
-2017-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (trap): New pattern.
-
-2017-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (hwloop_optimize): Prevent the last ZOL
-	instruction to end into a delay slot.
-	* config/arc/arc.md (cond_delay_insn): Check if the instruction
-	can be placed into a delay slot against reg_note.
-
-2017-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (hwloop_optimize): Update hw-loop's end/start
-	labels number of usages.
-
-2017-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_cannot_substitue_mem_equiv_p): New
-	function.
-	(TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV_P): Define.
-
-2017-11-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/83210
-	* internal-fn.c (expand_mul_overflow): Optimize unsigned
-	multiplication by power of 2 constant into two shifts + comparison.
-
-2017-11-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR target/81616
-	* config/i386/x86-tune-costs.h (generic_cost): Revise for modern CPUs.
-
-2017-11-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83202
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add
-	allow_peel argument and guard peeling.
-	(canonicalize_loop_induction_variables): Likewise.
-	(canonicalize_induction_variables): Pass false.
-	(tree_unroll_loops_completely_1): Pass unroll_outer to disallow
-	peeling from cunrolli.
-
-2017-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine.c (try_combine): Print a message to dump file whenever
-	I0, I1, or I2 cannot be combined into I3.
-
-2017-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/83156
-	PR rtl-optimization/82621
-	* combine.c (try_combine): Don't split an I2 if one of the dests is
-	set again before I3.  Allow unused dests.
-
-2017-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (*add<mode>3_carry_in_internal2): New.
-
-2017-11-29  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/80818
-	* lra.c (collect_non_operand_hard_regs): New arg insn.  Pass it
-	recursively.  Use insn code for clobber.
-	(lra_set_insn_recog_data): Pass the new arg to
-	collect_non_operand_hard_regs.
-	(add_regs_to_insn_regno_info): Pass insn instead of uid.  Use insn
-	code for clobber.
-	(lra_update_insn_regno_info): Pass insn to
-	add_regs_to_insn_regno_info.
-
-2017-11-29  Jim Wilson  <jimw@sifive.com>
-	    Andrew Waterman  <andrew@sifive.com>
-
-	* config/riscv/riscv.c (SINGLE_SHIFT_COST): New.
-	(riscv_rtx_costs): Case ZERO_EXTRACT, match new pattern, and return
-	SINGLE_SHIFT_COST.  Case LT and ZERO_EXTEND, likewise.  Case ASHIFT,
-	use SINGLE_SHIFT_COST.
-	* config/riscv/riscv.md (lshrsi3_zero_extend_1): New.
-	(lshrsi3_zero_extend_2, lshrsi3_zero_extend_3): New.
-
-2017-11-29  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512vbmi2intrin.h (_mm512_shldv_epi16,
-	_mm512_mask_shldv_epi16, _mm512_maskz_shldv_epi16, _mm512_shldv_epi32,
-	_mm512_mask_shldv_epi32, _mm512_maskz_shldv_epi32, _mm512_shldv_epi64,
-	_mm512_mask_shldv_epi64, _mm512_maskz_shldv_epi64): New intrinsics.
-	* config/i386/avx512vbmi2vlintrin.h (_mm256_shldv_epi16,
-	_mm256_mask_shldv_epi16, _mm256_maskz_shldv_epi16, _mm256_shldv_epi32,
-	_mm256_mask_shldv_epi32, _mm256_maskz_shldv_epi32, _mm256_shldv_epi64,
-	_mm256_mask_shldv_epi64, _mm256_maskz_shldv_epi64, _mm_shldv_epi16,
-	_mm_mask_shldv_epi16, _mm_maskz_shldv_epi16, _mm_shldv_epi32,
-	_mm_mask_shldv_epi32, _mm_maskz_shldv_epi32, _mm_shldv_epi64,
-	_mm_mask_shldv_epi64, _mm_maskz_shldv_epi64): Ditto.
-	* config/i386/i386-builtin.def (__builtin_ia32_vpshldv_v32hi,
-	__builtin_ia32_vpshldv_v32hi_mask, __builtin_ia32_vpshldv_v32hi_maskz,
-	__builtin_ia32_vpshldv_v16hi, __builtin_ia32_vpshldv_v16hi_mask,
-	__builtin_ia32_vpshldv_v16hi_maskz, __builtin_ia32_vpshldv_v8hi,
-	__builtin_ia32_vpshldv_v8hi_mask, __builtin_ia32_vpshldv_v8hi_maskz,
-	__builtin_ia32_vpshldv_v16si, __builtin_ia32_vpshldv_v16si_mask,
-	__builtin_ia32_vpshldv_v16si_maskz, __builtin_ia32_vpshldv_v8si,
-	__builtin_ia32_vpshldv_v8si_mask, __builtin_ia32_vpshldv_v8si_maskz,
-	__builtin_ia32_vpshldv_v4si, __builtin_ia32_vpshldv_v4si_mask,
-	__builtin_ia32_vpshldv_v4si_maskz, __builtin_ia32_vpshldv_v8di,
-	__builtin_ia32_vpshldv_v8di_mask, __builtin_ia32_vpshldv_v8di_maskz,
-	__builtin_ia32_vpshldv_v4di, __builtin_ia32_vpshldv_v4di_mask,
-	__builtin_ia32_vpshldv_v4di_maskz, __builtin_ia32_vpshldv_v2di,
-	__builtin_ia32_vpshldv_v2di_mask,
-	__builtin_ia32_vpshldv_v2di_maskz): New builtins.
-	* config/i386/sse.md (vpshldv_<mode>, vpshldv_<mode>_mask,
-	vpshldv_<mode>_maskz, vpshldv_<mode>_maskz_1): New patterns.
-
-2017-11-29  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512vbmi2intrin.h (_mm512_shrdv_epi16,
-	_mm512_mask_shrdv_epi16, _mm512_maskz_shrdv_epi16, _mm512_shrdv_epi32,
-	_mm512_mask_shrdv_epi32, _mm512_maskz_shrdv_epi32, _mm512_shrdv_epi64,
-	_mm512_mask_shrdv_epi64, _mm512_maskz_shrdv_epi64): New intrinsics.
-	* config/i386/avx512vbmi2vlintrin.h (_mm256_shrdv_epi16,
-	_mm256_mask_shrdv_epi16, _mm256_maskz_shrdv_epi16, _mm256_shrdv_epi32,
-	_mm256_mask_shrdv_epi32, _mm256_maskz_shrdv_epi32, _mm256_shrdv_epi64,
-	_mm256_mask_shrdv_epi64, _mm256_maskz_shrdv_epi64, _mm_shrdv_epi16,
-	_mm_mask_shrdv_epi16, _mm_maskz_shrdv_epi16, _mm_shrdv_epi32,
-	_mm_mask_shrdv_epi32, _mm_maskz_shrdv_epi32, _mm_shrdv_epi64,
-	_mm_mask_shrdv_epi64, _mm_maskz_shrdv_epi64): Ditto.
-	* config/i386/i386-builtin-types.def (V32HI_FTYPE_V32HI_V32HI_V32HI,
-	V32HI_FTYPE_V32HI_V32HI_V32HI_INT, V16HI_FTYPE_V16HI_V16HI_V16HI_INT,
-	V8HI_FTYPE_V8HI_V8HI_V8HI_INT, V8SI_FTYPE_V8SI_V8SI_V8SI_INT,
-	V4SI_FTYPE_V4SI_V4SI_V4SI_INT, V8DI_FTYPE_V8DI_V8DI_V8DI,
-	V8DI_FTYPE_V8DI_V8DI_V8DI_INT, V4DI_FTYPE_V4DI_V4DI_V4DI_INT,
-	V16SI_FTYPE_V16SI_V16SI_V16SI, V16SI_FTYPE_V16SI_V16SI_V16SI_INT,
-	V2DI_FTYPE_V2DI_V2DI_V2DI_INT): New types.
-	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
-	* config/i386/sse.md (vpshrdv_<mode>, vpshrdv_<mode>_mask,
-	vpshrdv_<mode>_maskz, vpshrdv_<mode>_maskz_1): New pattern.
-
-2017-11-29  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/sparc.c (sparc_do_work_around_errata): Treat the
-	movsi_pic_gotdata_op instruction as a load for the UT699 errata
-	workaround.
-
-2017-11-29  Martin Aberg  <maberg@gaisler.com>
-
-	* config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
-	to prevent b2bst errata sequence.
-	(sqrtdf2_fix): Likewise.
-
-2017-11-29  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/sparc.c (fpop_reg_depend_p): New function.
-	(div_sqrt_insn_p): New function.
-	(sparc_do_work_around_errata): Insert NOP instructions to
-	prevent sequences that could trigger the TN-0013 errata for
-	certain LEON3 processors.
-	(pass_work_around_errata::gate): Also test sparc_fix_lost_divsqrt.
-	(sparc_option_override): Set sparc_fix_lost_divsqrt appropriately.
-	* config/sparc/sparc.md (fix_lost_divsqrt): New attribute.
-	(in_branch_delay): Prevent div and sqrt in delay slot if
-	fix_lost_divsqrt.
-	* config/sparc/sparc.opt (sparc_fix_lost_divsqrt): New variable.
-
-2017-11-29  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/sparc.c (atomic_insn_p): New function.
-	(sparc_do_work_around_errata): Insert NOP instructions to
-	prevent sequences that could trigger the TN-0010 errata for
-	UT700.
-	* config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make
-	instruction referable in atomic_insns_p.
-
-2017-11-29  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/sync.md (swapsi): 16-byte align if sparc_fix_gr712rc.
-	(atomic_compare_and_swap_leon3_1): Likewise.
-	(ldstub): Likewise.
-
-2017-11-29  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/sparc.c (fpop_insn_p): New function.
-	(sparc_do_work_around_errata): Insert NOP instructions to
-	prevent sequences that could trigger the TN-0012 errata for
-	GR712RC.
-	(pass_work_around_errata::gate): Also test sparc_fix_gr712rc.
-	* config/sparc/sparc.md (fix_gr712rc): New attribute.
-	(in_branch_annul_delay): Prevent floating-point instructions
-	in delay slot of annulled integer branch.
-
-2017-11-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83202
-	* tree-vect-slp.c (scalar_stmts_set_t): New typedef.
-	(bst_fail): Use it.
-	(vect_analyze_slp_cost_1): Add visited set, do not account SLP
-	nodes vectorized to the same stmts multiple times.
-	(vect_analyze_slp_cost): Allocate a visited set and pass it down.
-	(vect_analyze_slp_instance): Adjust.
-	(scalar_stmts_to_slp_tree_map_t): New typedef.
-	(vect_schedule_slp_instance): Add a map recording the SLP node
-	representing the vectorized stmts for a set of scalar stmts.
-	Avoid code-generating redundancies.
-	(vect_schedule_slp): Allocate map and pass it down.
-
-2017-11-29  Nathan Sidwell  <nathan@acm.org>
-
-	PR c++/83187
-	* tree.c (build_complex_type): Fix canonicalization.  Only fill in
-	type if it is new.
-
-2017-11-29  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_print_operand): Add new
-	cases for printing LDP/STP memory addresses.
-	(aarch64_print_address_internal): Renamed from
-	aarch64_print_operand_address, added parameter, add Pmode check.
-	(aarch64_print_ldpstp_address): New function for LDP/STP addresses.
-	(aarch64_print_operand_address): Indirect to
-	aarch64_print_address_internal.
-	* config/aarch64/aarch64-simd.md (store_pair_lanes): Use new
-	'y' operand output specifier.
-
-2017-11-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/83185
-	* tree.c (build_simple_mem_ref_loc): Handle
-	get_addr_base_and_unit_offset returning a MEM_REF.
-
-	PR middle-end/80929
-	* rtlanal.c (seq_cost): For non-single_set insns try to use insn_cost.
-
-	PR target/80819
-	* config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm)
-	alternative.
-
-2017-11-28  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (layout::print_trailing_fixits): Handle
-	m_x_offset.
-	(layout::move_to_column): Likewise.
-
-2017-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81275
-	* tree.c (block_may_fallthru): Return false if SWITCH_ALL_CASES_P
-	is set on SWITCH_EXPR and !block_may_fallthru (SWITCH_BODY ()).
-
-2017-11-28  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-	    Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/82808
-	* tree.h (expr_type_first_operand_type_p): Declare
-	* tree.c (expr_type_first_operand_type_p): New function.
-	* ipa-prop.h (ipa_get_type): Allow i to be out of bounds.
-	(ipa_value_from_jfunc): Adjust declaration.
-	* ipa-cp.c (ipa_get_jf_pass_through_result): New parameter RES_TYPE.
-	Use it as result type for arithmetics, unless it is NULL in which case
-	be more conservative.
-	(ipa_value_from_jfunc): New parameter PARM_TYPE, pass it to
-	ipa_get_jf_pass_through_result.
-	(propagate_vals_across_pass_through): Likewise.
-	(propagate_scalar_across_jump_function): New parameter PARM_TYPE, pass
-	is to propagate_vals_across_pass_through.
-	(propagate_constants_across_call): Pass PARM_TYPE to
-	propagate_scalar_across_jump_function.
-	(find_more_scalar_values_for_callers_subset): Pass parameter type to
-	ipa_value_from_jfunc.
-	(cgraph_edge_brings_all_scalars_for_node): Likewise.
-	* ipa-fnsummary.c (evaluate_properties_for_edge): Renamed parms_info
-	to caller_parms_info, pass parameter type to ipa_value_from_jfunc.
-	* ipa-prop.c (try_make_edge_direct_simple_call): New parameter
-	target_type, pass it to ipa_value_from_jfunc.
-	(update_indirect_edges_after_inlining): Pass parameter type to
-	try_make_edge_direct_simple_call.
-
-2017-11-28  Jeff Law  <law@redhat.com>
-
-	* gimple-ssa-evrp-analyze.c
-	(evrp_range_analyzer::record_ranges_from_phis): Only use SCEV to
-	refine ranges if scev_initialized_p returns true.
-	* vr-values.c (vr_values::extract_range_from_phi_node): Likewise.
-
-2017-11-28  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16,
-	_mm512_mask_shrdi_epi16, _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32,
-	_mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32, _mm512_shrdi_epi64,
-	_mm512_mask_shrdi_epi64, _mm512_maskz_shrdi_epi64): New intrinsics.
-	* config/i386/avx512vbmi2vlintrin.h (_mm256_shrdi_epi16,
-	_mm256_mask_shrdi_epi16, _mm256_maskz_shrdi_epi16,
-	_mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32, _mm256_shrdi_epi32,
-	_mm256_mask_shrdi_epi64, _mm256_maskz_shrdi_epi64, _mm256_shrdi_epi64,
-	_mm_mask_shrdi_epi16, _mm_maskz_shrdi_epi16, _mm_shrdi_epi16,
-	_mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32, _mm_shrdi_epi32,
-	_mm_mask_shrdi_epi64, _mm_maskz_shrdi_epi64, _mm_shrdi_epi64): Ditto.
-	* config/i386/i386-builtin.def (__builtin_ia32_vpshrd_v32hi,
-	__builtin_ia32_vpshrd_v32hi_mask, __builtin_ia32_vpshrd_v16hi,
-	__builtin_ia32_vpshrd_v16hi_mask, __builtin_ia32_vpshrd_v8hi,
-	__builtin_ia32_vpshrd_v8hi_mask, __builtin_ia32_vpshrd_v16si,
-	__builtin_ia32_vpshrd_v16si_mask, __builtin_ia32_vpshrd_v8si,
-	__builtin_ia32_vpshrd_v8si_mask, __builtin_ia32_vpshrd_v4si,
-	__builtin_ia32_vpshrd_v4si_mask, __builtin_ia32_vpshrd_v8di,
-	__builtin_ia32_vpshrd_v8di_mask, __builtin_ia32_vpshrd_v4di,
-	__builtin_ia32_vpshrd_v4di_mask, __builtin_ia32_vpshrd_v2di,
-	__builtin_ia32_vpshrd_v2di_mask): New builtins.
-	* config/i386/sse.md (vpshrd_<mode><mask_name>): New pattern.
-
-2017-11-28  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512vbmi2intrin.h (_mm512_shldi_epi16,
-	_mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16, _mm512_shldi_epi32,
-	_mm512_mask_shldi_epi32, _mm512_maskz_shldi_epi32, _mm512_shldi_epi64,
-	_mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): New intrinsics.
-	* config/i386/avx512vbmi2vlintrin.h (_mm256_shldi_epi16,
-	_mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16,
-	_mm256_mask_shldi_epi32, _mm256_maskz_shldi_epi32, _mm256_shldi_epi32,
-	_mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64, _mm256_shldi_epi64,
-	_mm_mask_shldi_epi16, _mm_maskz_shldi_epi16, _mm_shldi_epi16,
-	_mm_mask_shldi_epi32, _mm_maskz_shldi_epi32, _mm_shldi_epi32,
-	_mm_mask_shldi_epi64, _mm_maskz_shldi_epi64, _mm_shldi_epi64): Ditto.
-	* config/i386/i386-builtin-types.def (V32HI_FTYPE_V32HI_V32HI_INT,
-	V32HI_FTYPE_V32HI_V32HI_INT_V32HI_INT, V16SI_FTYPE_V16SI_V16SI_INT,
-	V16SI_FTYPE_V16SI_V16SI_INT_V16SI_INT,
-	V8DI_FTYPE_V8DI_V8DI_INT_V8DI_INT, V8SI_FTYPE_V8SI_V8SI_INT_V8SI_INT,
-	V16HI_FTYPE_V16HI_V16HI_INT_V16HI_INT,
-	V4DI_FTYPE_V4DI_V4DI_INT_V4DI_INT,
-	V8HI_FTYPE_V8HI_V8HI_INT_V8HI_INT,
-	V4SI_FTYPE_V4SI_V4SI_INT_V4SI_INT,
-	V2DI_FTYPE_V2DI_V2DI_INT_V2DI_INT): New types.
-	* config/i386/i386-builtin.def (__builtin_ia32_vpshld_v32hi,
-	__builtin_ia32_vpshld_v32hi_mask, __builtin_ia32_vpshld_v16hi,
-	__builtin_ia32_vpshld_v16hi_mask, __builtin_ia32_vpshld_v8hi,
-	__builtin_ia32_vpshld_v8hi_mask, __builtin_ia32_vpshld_v16si,
-	__builtin_ia32_vpshld_v16si_mask, __builtin_ia32_vpshld_v8si,
-	__builtin_ia32_vpshld_v8si_mask, __builtin_ia32_vpshld_v4si,
-	__builtin_ia32_vpshld_v4si_mask, __builtin_ia32_vpshld_v8di,
-	__builtin_ia32_vpshld_v8di_mask, __builtin_ia32_vpshld_v4di,
-	__builtin_ia32_vpshld_v4di_mask, __builtin_ia32_vpshld_v2di,
-	__builtin_ia32_vpshld_v2di_mask): New builtins.
-	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
-	* config/i386/sse.md (vpshld_<mode><mask_name>): New pattern.
-
-2017-11-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80776
-	* gimple-ssa-evrp-analyze.h (evrp_range_analyzer::set_ssa_range_info):
-	Declare.
-	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::set_ssa_range_info):
-	New function.
-	(evrp_range_analyzer::record_ranges_from_incoming_edges):
-	If the incoming edge is an effective fallthru because the other
-	edge only reaches a __builtin_unreachable () then record ranges
-	derived from the controlling condition in SSA info.
-	(evrp_range_analyzer::record_ranges_from_phis): Use set_ssa_range_info.
-	(evrp_range_analyzer::record_ranges_from_stmt): Likewise.
-
-2017-11-28  Olivier Hainque  <hainque@adacore.com>
-
-	* Makefile.in (SELFTEST_FLAGS): Use nul instead of /dev/null
-	on mingw build hosts.
-
-2017-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/81307
-	* dbxout.c (dbx_block_with_cold_children): Fix function comment.
-
-2017-11-28  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/83141
-	* gimple-fold.c (gimple_fold_builtin_memory_op): For aggregate
-	copies generated from memcpy use a character array as reference
-	type.
-
-2017-11-28  Julia Koval  <julia.koval@intel.com>
-	    Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* Makefile.in (cilkplus.def, cilk-builtins.def, c-family/cilk.o,
-	c-family/c-cilkplus.o, c-family/array-notation-common.o,
-	cilk-common.o, cilk.h, cilk-common.c): Remove.
-	* builtin-types.def
-	(BT_FN_INT_PTR_PTR_PTR_FTYPE_BT_INT_BT_PTR_BT_PTR_BT_PTR): Remove.
-	* builtins.c (is_builtin_name): Remove cilkplus condition.
-	(BUILT_IN_CILK_DETACH, BUILT_IN_CILK_POP_FRAME): Remove.
-	* builtins.def (DEF_CILK_BUILTIN_STUB, DEF_CILKPLUS_BUILTIN,
-	cilk-builtins.def, cilkplus.def): Remove.
-	* cif-code.def (CILK_SPAWN): Remove.
-	* cilk-builtins.def: Delete.
-	* cilk-common.c: Ditto.
-	* cilk.h: Ditto.
-	* cilkplus.def: Ditto.
-	* config/darwin.h (fcilkplus): Delete.
-	* cppbuiltin.c: Ditto.
-	* doc/extend.texi: Remove cilkplus doc.
-	* doc/generic.texi: Ditto.
-	* doc/invoke.texi: Ditto.
-	* doc/passes.texi: Ditto.
-	* gcc.c (fcilkplus): Remove.
-	* gengtype.c (cilk.h): Remove.
-	* gimple-pretty-print.c (dump_gimple_omp_for): Remove cilkplus
-	support.
-	* gimple.h (GF_OMP_FOR_KIND_CILKFOR, GF_OMP_FOR_KIND_CILKSIMD):
-	Remove.
-	* gimplify.c (gimplify_return_expr, maybe_fold_stmt,
-	gimplify_call_expr,
-	is_gimple_stmt, gimplify_modify_expr, gimplify_scan_omp_clauses,
-	gimplify_adjust_omp_clauses, gimplify_omp_for, gimplify_expr): Remove
-	cilkplus conditions.
-	* ipa-fnsummary.c (ipa_dump_fn_summary, compute_fn_summary,
-	inline_read_section): Ditto.
-	* ipa-inline-analysis.c (cilk.h): Remove.
-	* ira.c (ira_setup_eliminable_regset): Remove cilkplus support.
-	* lto-wrapper.c (merge_and_complain, append_compiler_options,
-	append_linker_options): Remove condition for fcilkplus.
-	* lto/lto-lang.c (cilk.h): Remove.
-	(lto_init): Remove condition for fcilkplus.
-	* omp-expand.c (expand_cilk_for_call): Delete.
-	(expand_omp_taskreg, expand_omp_for_static_chunk,
-	expand_omp_for): Remove cilkplus
-	conditions.
-	(expand_cilk_for): Delete.
-	* omp-general.c (omp_extract_for_data): Remove cilkplus support.
-	* omp-low.c (scan_sharing_clauses, create_omp_child_function,
-	execute_lower_omp, diagnose_sb_0): Ditto.
-	* omp-simd-clone.c (simd_clone_clauses_extract): Ditto.
-	* tree-core.h (OMP_CLAUSE__CILK_FOR_COUNT_): Delete.
-	* tree-nested.c: Ditto.
-	* tree-pretty-print.c (dump_omp_clause): Remove cilkplus support.
-	(dump_generic_node): Ditto.
-	* tree.c (OMP_CLAUSE__CILK_FOR_COUNT_): Delete.
-	* tree.def (cilk_simd, cilk_for, cilk_spawn_stmt, cilk_sync_stmt):
-	Delete.
-	* tree.h (CILK_SPAWN_FN, EXPR_CILK_SPAWN): Delete.
-
-2017-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* config/aarch64/aarch64.md (div<mode>3): Change check to TARGET_FLOAT.
-	* config/aarch64/aarch64.c (aarch64_emit_approx_div): Add early exit
-	for vector mode and !TARGET_SIMD.
-
-2017-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree.def (SWITCH_EXPR): Change from 3 operand to 2 operand tree.
-	Adjust comment.
-	* tree.h (SWITCH_LABELS): Remove.
-	* gimplify.c (gimplify_switch_expr): Don't test SWITCH_LABELS,
-	assert SWITCH_BODY is non-NULL.
-	* tree-pretty-print.c (dump_generic_node): Remove SWITCH_LABELS
-	handling.
-	* tree.c (block_may_fallthru): Always return true; for SWITCH_EXPR.
-
-	PR tree-optimization/80788
-	* match.pd (X +- C1 CMP C2 -> X CMP C2 -+ C1): If res
-	has TREE_OVERFLOW set, call drop_tree_overflow.
-
-2017-11-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83158
-	* tree-vrp.c (intersect_ranges): Prefer ~[0, 0] in a few more cases.
-
-2017-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR 81288/target
-	* config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle
-	TARGET_ISEL && !TARGET_MFCRF differently.  Simplify code.
-
-2017-11-27  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (<code><GPR:mode><GPR2:mode>2_isel): Change
-	LT/GT/LTU/GTU to LE/GE/LEU/GEU where possible.
-
-2017-11-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR middle_end/82333
-	* varasm.c (compare_constant): Take the mode of the constants into
-	account when comparing floating point constants.
-
-2017-11-27  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* hash-set.h (DEFINE_DEBUG_HASH_SET): Remove static qualifier
-	from explicit instantiation of debug_helper.
-	* vec.h (DEFINE_DEBUG_VEC): Ditto.
-
-2017-11-27  Richard Biener  <rguenther@suse.de>
-
-	* gimple-fold.c (gimple_fold_builtin_memory_op): Remove dead code,
-	refactor a bit.
-
-2017-11-27  Richard Biener  <rguenther@suse.de>
-
-	* tree.c (wide_int_to_tree): Free discarded INTEGER_CST.
-	(type_hash_canon): Also clear int_cst_hash_table entry for
-	TYPE_MIN/MAX_VALUE.
-	(build_nonstandard_integer_type): Hash all TYPE_MAX_VALUEs.
-
-2017-11-27  Tamar Christina  <tamar.christina@arm.com>
-
-	* doc/extend.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
-	* doc/invoke.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
-	* doc/sourcebuild.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
-
-2017-11-27  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* hash-map.h (gt_cleare_cache): Avoid UB.
-
-2017-11-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* cfgloop.h (struct loop): Document usage of USHRT_MAX for unroll.
-	* loop-unroll.c (decide_unroll_constant_iterations): Implement it.
-	(decide_unroll_runtime_iterations): Likewise.
-	(decide_unroll_stupid): Likewise.
-
-2017-11-27  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
-
-	PR target/83109
-	* config/i386/i386.md: Add a loop with incssp.
-
-2017-11-27  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/81248
-	* tree-sra.c (splice_param_accesses): Remove size check.
-	(decide_one_param_reduction): Fix size check.
-	* gimple-pretty-print.c (dump_profile): Silence warning.
-	* params.def (PARAM_IPA_SRA_PTR_GROWTH_FACTOR): Adjust description.
-
-2017-11-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/81307
-	* dbxout.c (lastlineno): New variable.
-	(dbx_debug_hooks): Use dbxout_switch_text_section as
-	switch_text_section debug hook.
-	(dbxout_function_end): Switch to current_function_section
-	rather than function_section.  If crtl->has_bb_partition,
-	output just one N_FUN, depending on in_cold_section_p.
-	(dbxout_source_line): Remember last lineno in lastlineno.
-	(dbxout_switch_text_section): New function.
-	(dbxout_function_decl): Adjust dbxout_block caller.
-	(dbx_block_with_cold_children): New function.
-	(dbxout_block): Return true if any LBRAC/RBRAC have been
-	emitted.  Use dbx_block_with_cold_children at depth == 0
-	in second partition.  Add PARENT_BLOCKNUM argument, pass
-	it optionally adjusted to children.  Output LBRAC/RBRAC
-	around recursive call only if the block is in the current
-	partition, if not and anything was output, emit empty
-	range LBRAC/RBRAC.
-	* final.c (final_scan_insn): Compute cold_function_name
-	before calling switch_text_section debug hook.  Call
-	that hook even if dwarf2out_do_frame if not emitting
-	dwarf debug info.
-
-	PR target/83100
-	* varasm.c (bss_initializer_p): Return true for DECL_COMMON
-	TREE_READONLY decls.
-
-2017-11-27  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR rtl-optimization/82488
-	* expr.c (fixup_args_size_notes): Avoid signed integer overflow.
-
-2017-11-26  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/i386.c (processor_target_table): Add skylake_cost for
-	skylake-avx512.
-	* config/i386/x86-tune-costs.h (skylake_memcpy, skylake_memset,
-	skylake_cost): New.
-
-2017-11-26  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/driver-i386.c (host_detect_local_cpu):
-	Detect skylake-avx512.
-
-2017-11-26  Julia Koval  <julia.koval@intel.com>
-
-	* config.gcc: Add -march=cannonlake.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Detect cannonlake.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Handle cannonlake.
-	* config/i386/i386.c (processor_costs): Add m_CANNONLAKE.
-	(PTA_CANNONLAKE): New.
-	(processor_target_table): Add cannonlake.
-	(ix86_option_override_internal): Ditto.
-	(fold_builtin_cpu): Ditto.
-	(get_builtin_code_for_version): Handle cannonlake.
-	(M_INTEL_COREI7_CANNONLAKE): New.
-	* config/i386/i386.h (TARGET_CANNONLAKE, PROCESSOR_CANNONLAKE): New.
-	* doc/invoke.texi: Add -march=cannonlake.
-
-2017-11-14  Boris Kolpackov  <boris@codesynthesis.com>
-
-	* plugin.c (add_new_plugin): Use platform-specific library extensions.
-	(try_init_one_plugin): Alternative implementation for MinGW.
-	* Makefile.in (plugin_implib): New.
-	(gengtype-lex.c): Fix broken AIX workaround.
-	* configure: Regenerate.
-	* doc/plugins.texi: Document support for MinGW.
-
-2017-11-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/81553
-	* combine.c (simplify_if_then_else): In (if_then_else COND (OP Z C1) Z)
-	to (OP Z (mult COND (C1 * STORE_FLAG_VALUE))) optimization, if OP
-	is a shift where C1 has different mode than the whole shift, use C1's
-	mode for MULT rather than the shift's mode.
-
-	PR target/82848
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Don't fold
-	builtins not enabled in the currently selected ISA.
-
-2017-11-24  Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	PR tree-optimization/71026
-	* tree-ssa-math-opts (is_division_by_square, is_square_of): New.
-	(insert_reciprocals): Change to insert reciprocals before a division
-	by a square and to insert the square of a reciprocal.
-	(execute_cse_reciprocals_1): Change to consider division by a square.
-	(register_division_in): Add importance parameter.
-
-2017-11-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82402
-	* tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly
-	set SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
-
-2017-11-24  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (0-ptr): New transformation.
-
-2017-11-24  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR bootstrap/83015
-	* ipa-inline.c (inline_small_functions): Set current badnes correctly
-	when skipping checking.
-
-2017-11-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83128
-	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle STRING_CSTs.
-	(vn_reference_lookup_3): Likewise.
-
-2017-11-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/83014
-	* ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer
-	instead of pp_printf with HOST_WIDE_INT_PRINT_DEC.  Avoid calling
-	tree_to_uhwi twice.
-
-	* tree-object-size.c (pass_through_call): Use gimple_call_return_flags
-	ERF_RETURN*ARG* for builtins other than BUILT_IN_ASSUME_ALIGNED,
-	check for the latter with gimple_call_builtin_p.  Do not handle
-	BUILT_IN_STPNCPY_CHK which is not a pass through call.
-
-2017-11-24  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* config/arm/arm_neon.h: Fix pragma GCC push_options before
-	vdot_u32.
-
-2017-11-23  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512vbmi2intrin.h (_mm512_mask_expand_epi8,
-	_mm512_maskz_expand_epi8, _mm512_mask_expandloadu_epi8,
-	_mm512_maskz_expandloadu_epi8, _mm512_mask_expand_epi16,
-	_mm512_maskz_expand_epi16, _mm512_mask_expandloadu_epi16,
-	_mm512_maskz_expandloadu_epi16): New intrinsics.
-	* config/i386/avx512vbmi2vlintrin.h (_mm_mask_expand_epi8,
-	_mm_maskz_expand_epi8, _mm_mask_expandloadu_epi8,
-	_mm_maskz_expandloadu_epi8, _mm_mask_expand_epi16,
-	_mm_maskz_expand_epi16, _mm_mask_expandloadu_epi16,
-	_mm_maskz_expandloadu_epi16, _mm256_mask_expand_epi16,
-	_mm256_maskz_expand_epi16, _mm256_mask_expandloadu_epi16,
-	_mm256_maskz_expandloadu_epi16, _mm256_mask_expand_epi8,
-	_mm256_maskz_expand_epi8, _mm256_mask_expandloadu_epi8,
-	_mm256_maskz_expandloadu_epi8): New intrinsics.
-	* config/i386/i386-builtin-types.def (V64QI_FTYPE_PCV64QI_V64QI_UDI,
-	V32HI_FTYPE_PCV32HI_V32HI_USI, V32QI_FTYPE_PCV32QI_V32QI_USI,
-	V16HI_FTYPE_PCV16HI_V16HI_UHI, V16QI_FTYPE_PCV16QI_V16QI_UHI,
-	V8HI_FTYPE_PCV8HI_V8HI_UQI): New types.
-	* config/i386/i386.c (ix86_expand_special_args_builtin): Use new types.
-	* config/i386/sse.md (VI248_VLBW): New iterator.
-	(expand<mode>_mask, expand<mode>_maskz): New patterns.
-
-2017-11-23  Julia Koval  <julia.koval@intel.com>
-
-	* config.gcc (avx512vbmi2intrin.h, avx512vbmi2vlintrin): New headers.
-	* config/i386/avx512vbmi2intrin.h (_mm512_mask_compress_epi8,
-	_mm512_maskz_compress_epi8, _mm512_mask_compressstoreu_epi8,
-	_mm512_mask_compress_epi16, _mm512_maskz_compress_epi16,
-	_mm512_mask_compressstoreu_epi16): New.
-	* config/i386/avx512vbmi2vlintrin.h (_mm_mask_compress_epi8,
-	_mm_maskz_compress_epi8, _mm256_mask_compressstoreu_epi16,
-	_mm_mask_compress_epi16, _mm_maskz_compress_epi16,
-	_mm256_mask_compress_epi16, _mm256_maskz_compress_epi16,
-	_mm_mask_compressstoreu_epi8, _mm_mask_compressstoreu_epi16,
-	_mm256_mask_compress_epi8, _mm256_maskz_compress_epi8,
-	_mm256_mask_compressstoreu_epi8): New.
-	* config/i386/i386-builtin-types.def (VOID_FTYPE_PV64QI_V64QI_UDI,
-	VOID_FTYPE_PV32HI_V32HI_USI, VOID_FTYPE_PV32QI_V32QI_USI,
-	VOID_FTYPE_PV16QI_V16QI_UHI, VOID_FTYPE_PV16HI_V16HI_UHI,
-	VOID_FTYPE_PV8HI_V8HI_UQI): New types.
-	* config/i386/i386-builtin.def (__builtin_ia32_compressqi512_mask,
-	__builtin_ia32_compresshi512_mask, __builtin_ia32_compressqi256_mask,
-	__builtin_ia32_compressqi128_mask, __builtin_ia32_compresshi256_mask,
-	__builtin_ia32_compresshi128_mask,
-	__builtin_ia32_compressstoreuqi512_mask,
-	__builtin_ia32_compressstoreuhi512_mask,
-	__builtin_ia32_compressstoreuqi256_mask,
-	__builtin_ia32_compressstoreuqi128_mask,
-	__builtin_ia32_compressstoreuhi256_mask,
-	__builtin_ia32_compressstoreuhi128_mask): New builtins.
-	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Create special args
-	array for flags2.
-	(ix86_expand_special_args_builtin): Handle new types.
-	(s4fma_expand): Handle new builtin array.
-	* config/i386/immintrin.h: Include new headers.
-	* config/i386/sse.md (VI12_AVX512VLBW): New iterator.
-	(compress<mode>_mask, compressstore<mode>_mask): New patterns.
-
-2017-11-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Formatting
-	fixes.  Declare temp and g variables at the top in order to avoid
-	{} in most of the cases.
-
-2017-11-23  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (ptr-0): New transformation.
-
-2017-11-23  Charles Baylis  <charles.baylis@linaro.org>
-
-	* config/arm/arm-protos.h (enum arm_addr_mode_op): New.
-	(struct addr_mode_cost_table): New.
-	(struct tune_params): Add field addr_mode_costs.
-	* config/arm/arm.c (generic_addr_mode_costs): New.
-	(arm_slowmul_tune): Initialise addr_mode_costs field.
-	(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_cortex_tune): Likewise.
-	(arm_cortex_a8_tune): Likewise.
-	(arm_cortex_a7_tune): Likewise.
-	(arm_cortex_a15_tune): Likewise.
-	(arm_cortex_a35_tune): Likewise.
-	(arm_cortex_a53_tune): Likewise.
-	(arm_cortex_a57_tune): Likewise.
-	(arm_exynosm1_tune): Likewise.
-	(arm_xgene1_tune): Likewise.
-	(arm_cortex_a5_tune): Likewise.
-	(arm_cortex_a9_tune): Likewise.
-	(arm_cortex_a12_tune): Likewise.
-	(arm_cortex_a73_tune): Likewise.
-	(arm_v7m_tune): Likewise.
-	(arm_cortex_m7_tune): Likewise.
-	(arm_v6m_tune): Likewise.
-	(arm_fa726te_tune): Likewise.
-	(arm_mem_costs): Use table lookup to calculate cost of addressing mode.
-
-2017-11-23  Charles Baylis  <charles.baylis@linaro.org>
-
-	* config/arm/arm.c (arm_mem_costs): New function.
-	(arm_rtx_costs_internal): Use arm_mem_costs.
-
-2017-11-23  Mark Wielaard  <mark@klomp.org>
-
-	* dwarf2out.c (init_sections_and_labels): Use generation to create
-	unique ranges_section_label and ranges_base_label. Return generation.
-	(output_rnglists): Add generation argument. Use generation to create
-	unique ranges labels.
-	(dwarf2out_finish): Get generation from init_sections_and_labels
-	and pass generation to output_rnglists.
-
-2017-11-23  Mike Stump  <mikestump@comcast.net>
-	    Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/generic.texi (ANNOTATE_EXPR): Document 3rd operand.
-	* cfgloop.h (struct loop): Add unroll field.
-	* function.h (struct function): Add has_unroll bitfield.
-	* gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Deal with unroll kind.
-	(gimplify_expr) <ANNOTATE_EXPR>: Propagate 3rd operand.
-	* loop-init.c (pass_loop2::gate): Return true if cfun->has_unroll.
-	(pass_rtl_unroll_loops::gate): Likewise.
-	* loop-unroll.c (decide_unrolling): Tweak note message.  Skip loops
-	for which loop->unroll==1.
-	(decide_unroll_constant_iterations): Use note for consistency and
-	take loop->unroll into account.  Return early if loop->unroll is set.
-	Fix thinko in existing test.
-	(decide_unroll_runtime_iterations): Use note for consistency and
-	take loop->unroll into account.
-	(decide_unroll_stupid): Likewise.
-	* lto-streamer-in.c (input_cfg): Read loop->unroll.
-	* lto-streamer-out.c (output_cfg): Write loop->unroll.
-	* tree-cfg.c (replace_loop_annotate_in_block) <annot_expr_unroll_kind>:
-	New case.
-	(replace_loop_annotate) <annot_expr_unroll_kind>: Likewise.
-	(print_loop): Print loop->unroll if set.
-	* tree-core.h (enum annot_expr_kind): Add annot_expr_unroll_kind.
-	* tree-inline.c (copy_loops): Copy unroll and set cfun->has_unroll.
-	* tree-pretty-print.c (dump_generic_node) <annot_expr_unroll_kind>:
-	New case.
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Bail out if
-	loop->unroll is set and smaller than the trip count.  Otherwise bypass
-	entirely the heuristics if loop->unroll is set.  Remove dead note.
-	Fix off-by-one bug in other note.
-	(try_peel_loop): Bail out if loop->unroll is set.  Fix formatting.
-	(tree_unroll_loops_completely_1): Force unrolling if loop->unroll
-	is greater than 1.
-	(tree_unroll_loops_completely): Make static.
-	(pass_complete_unroll::execute): Use correct type for variable.
-	(pass_complete_unrolli::execute): Fix formatting.
-	* tree.def (ANNOTATE_EXPR): Add 3rd operand.
-
-2017-11-23  Sergey Shalnov  <Sergey.Shalnov@intel.com>
-
-	* config/i386/i386.h (TARGET_PREFER_AVX256): Also
-	enable when TARGET_PREFER_AVX128 is set.
-
-2017-11-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-profile.c (ipa_propagate_frequency_1): Use count instead of
-	frequency.
-	* cgraph.c (cgraph_edge::dump_edge_flags): Dump sreal frequencies.
-	(cgraph_edge::maybe_hot_p): Use sreal frequencies.
-
-2017-11-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (record_modified_bb_info): Use sreal
-	frequencies. Fix estimation of aggregate parameters.
-
-2017-11-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphclones.c (cgraph_node::create_clone): Fix updating of profile
-	when inlining.
-
-2017-11-23  Tom de Vries  <tom@codesourcery.com>
-
-	* config/sh/sh.h (ASM_OUTPUT_ADDR_VEC_ELT): Wrap in "do {} while (0)".
-
-2017-11-23  Tom de Vries  <tom@codesourcery.com>
-
-	* config/ft32/ft32.h (ASM_OUTPUT_ADDR_VEC_ELT): Remove semicolon after
-	macro.
-
-2017-11-23  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/83111
-	* config/sh/sh.md (udivsi3, divsi3, sibcall_value_pcrel,
-	sibcall_value_pcrel_fdpic): Use local variable instead of
-	operands[3].
-	(calli_tbr_rel): Add missing operand 2.
-	(call_valuei_tbr_rel): Add missing operand 3.
-
-2017-11-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/82253
-	* expr.c (expand_assignment): For CONCAT to_rtx, complex type from and
-	bitpos/bitsize covering the whole destination, use store_expr only if
-	the complex mode is the same.  Otherwise, use expand_normal and if
-	it returns CONCAT, subreg each part separately instead of trying to
-	subreg the whole result.
-
-2017-11-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/23094
-	* tree-ssa-sccvn.c (vuse_ssa_val): Handle VN_TOP when we
-	come here from walking over backedges in the first iteration.
-	(vn_reference_lookup_3): Skip clobbers that store the same value.
-
-2017-11-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81403
-	* tree-ssa-pre.c (get_representative_for): Add parameter specifying
-	a block we need a leader relative to.
-	(phi_translate_1): For nary processing require a leader from
-	get_representative_for given we run expression simplification
-	using match-and-simplify.  Remove previous fix.
-
-2017-11-22  Jeff Law  <law@redhat.com>
-
-	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::try_find_new_range):
-	Use new method allocate_value_range rather than accessing the
-	vrp_value_range_pool data member directly.
-	* tree-vrp.c (simplify_stmt_for_jump_threading): Tweak slightly
-	to use extract_range_from_stmt method to avoid need for
-	extract_range_from_assignment method.
-	(vrp_prop::vrp_finalize): Use set_lattice_propagation_complete
-	method rather than setting values_propgated data member directly.
-	* vr-values.h (class vr_values): Privatize vrp_value_range_pool,
-	and values propagated data members and extract_range_from_assignment
-	method.  Reorder private data members to conform to standards.
-	Add new methods set_lattice_propagation_complete and
-	allocate_value_range.
-
-2017-11-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/83030
-	* doc/rtl.texi (Flags in an RTL Expression): Alphabetize, add entry
-	for CROSSING_JUMP_P and mention usage of 'jump' for JUMP_INSNs.
-	(Insns): Delete entry for REG_CROSSING_JUMP in register notes.
-	* bb-reorder.c (update_crossing_jump_flags): Do not test whether the
-	CROSSING_JUMP_P flag is already set before setting it.
-	* cfgrtl.c (fixup_partition_crossing): Likewise.
-	* reorg.c (relax_delay_slots): Do not consider a CROSSING_JUMP_P
-	insn as useless.
-
-2017-11-22  Jakub Jelinek  <jakub@redhat.com>
-
-	* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SERIES>:
-	Handle the case where both arguments are using gen_const_vec_series.
-
-2017-11-22  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c++/62170
-	* pretty-print.c (pp_format): Move quoting implementation to
-	pp_begin_quote and pp_end_quote.  Update pp_format_decoder call
-	to pass address of "quote" local.
-	(pp_begin_quote): New function.
-	(pp_end_quote): New function.
-	* pretty-print.h (printer_fn): Convert penultimate param from bool
-	to bool *.
-	(pp_begin_quote): New decl.
-	(pp_end_quote): New decl.
-	* tree-diagnostic.c (default_tree_printer): Convert penultimate
-	param from bool to bool *.
-	* tree-diagnostic.h (default_tree_printer): Likewise.
-
-2017-11-22  Jeff Law  <law@redhat.com>
-
-	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::evrp_range_analyzer)
-	Initialize vr_values.
-	(evrp_range_analyzer::try_find_new_range): Call methods attached to
-	vr_values via vr_values class instance rather than delegators.
-	(evrp_range_analyzer::record_ranges_from_phis): Likewise.
-	(evrp_range_analyzer::record_ranges_from_stmt): Likewise.
-	(evrp_range_analyzer::push_value_range): Likewise.
-	(evrp_range_analyzer::pop_value_range): Likewise.
-	* gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Remove
-	most delegators.  Those remaining are exposed as public interfaces.
-	Make vr_values a pointer and private.
-	(evrp_range_analyzer::~evrp_range_analyzer): Delete the attached
-	vr_values.
-	(evrp_range_analyzer::get_vr_value): New method.
-	* gimple-ssa-evrp.c (class evrp_folder): Use DISABLE_COPY_AND_ASSIGN.
-	(evrp_folder::evrp_folder): New ctor to initialize vr_values.
-	(class evrp_dom_walker): Attach evrp_folder class, initialize
-	it in the ctor.  Remove temporary delegators.
-	(evrp_dom_walker::before_dom_children): Call methods in attached
-	evrp_range_analyzer class via class instance pointer.  Use
-	free value_range_constant_singleton to remove need for
-	op_with_constant_singleton_value delegator method.  Do not
-	create a vrp_prop class instance for every call!  Narrow
-	scope of a couple variables.
-	(evrp_dom_walker::cleanup): Call methods in attached
-	evrp_range_analyzer class via class instance pointer.
-	* vr-values.h (class vr_values): Privatize many methods and
-	data members.
-
-2017-11-22  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): Delete.
-	* cfgexpand.c (expand_debug_expr): Remove handling for them.
-	* expr.c (expand_expr_real_2): Likewise.
-	* fold-const.c (const_unop): Likewise.
-	* optabs-tree.c (optab_for_tree_code): Likewise.
-	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
-	* tree-inline.c (estimate_operator_cost): Likewise.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-	(op_code_prio): Likewise.
-	(op_symbol_code): Likewise.
-	* internal-fn.def (DEF_INTERNAL_SIGNED_OPTAB_FN): Define.
-	(IFN_REDUC_PLUS, IFN_REDUC_MAX, IFN_REDUC_MIN): New internal functions.
-	* internal-fn.c (direct_internal_fn_optab): New function.
-	(direct_internal_fn_array, direct_internal_fn_supported_p
-	(internal_fn_expanders): Handle DEF_INTERNAL_SIGNED_OPTAB_FN.
-	* fold-const-call.c (fold_const_reduction): New function.
-	(fold_const_call): Handle CFN_REDUC_PLUS, CFN_REDUC_MAX and
-	CFN_REDUC_MIN.
-	* tree-vect-loop.c: Include internal-fn.h.
-	(reduction_code_for_scalar_code): Rename to...
-	(reduction_fn_for_scalar_code): ...this and return an internal
-	function.
-	(vect_model_reduction_cost): Take an internal_fn rather than
-	a tree_code.
-	(vect_create_epilog_for_reduction): Likewise.  Build calls rather
-	than assignments.
-	(vectorizable_reduction): Use internal functions rather than tree
-	codes for the reduction operation.  Update calls to the functions
-	above.
-	* config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin):
-	Use calls to internal functions rather than REDUC tree codes.
-	* config/aarch64/aarch64-simd.md: Update comment accordingly.
-
-2017-11-22  Olivier Hainque  <hainque@adacore.com>
-
-	* config/vxworks.c (vxworks_override_options): Pick default
-	dwarf version from macro value, VXWORKS_DWARF_VERSION_DEFAULT.
-	* config/vxworks.h: Define VXWORKS_DWARF_VERSION_DEFAULT and
-	DWARF_GNAT_ENCODINGS_DEFAULT.
-	* config/vxworksae.h: Likewise.
-
-2017-11-22  Marc Glisse  <marc.glisse@inria.fr>
-
-	PR tree-optimization/83104
-	* vr-values.c (simplify_stmt_using_ranges): Check integral argument,
-	not result.
-
-2017-11-22  Marek Polacek  <polacek@redhat.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-	    Jason Merrill  <jason@redhat.com>
-
-	PR c++/60336
-	PR middle-end/67239
-	PR target/68355
-	* calls.c (initialize_argument_information): Call
-	warn_parameter_passing_abi target hook.
-	(store_one_arg): Use 0 for empty record size.  Don't push 0 size
-	argument onto stack.
-	(must_pass_in_stack_var_size_or_pad): Return false for empty types.
-	* common.opt: Update -fabi-version description.
-	* config/i386/i386.c (init_cumulative_args): Set cum->warn_empty.
-	(ix86_gimplify_va_arg): Call arg_int_size_in_bytes instead of
-	int_size_in_bytes.
-	(ix86_is_empty_record): New function.
-	(ix86_warn_parameter_passing_abi): New function.
-	(TARGET_EMPTY_RECORD_P): Redefine.
-	(TARGET_WARN_PARAMETER_PASSING_ABI): Redefine.
-	* config/i386/i386.h (CUMULATIVE_ARGS): Add warn_empty.
-	* doc/tm.texi: Regenerated.
-	* doc/tm.texi.in (TARGET_EMPTY_RECORD_P,
-	TARGET_WARN_PARAMETER_PASSING_ABI): Add.
-	* dwarf2out.c (get_ultimate_context): Move to tree.c.
-	* explow.c (hard_function_value): Call arg_int_size_in_bytes
-	instead of int_size_in_bytes.
-	* expr.c (copy_blkmode_to_reg): Likewise.
-	* function.c (aggregate_value_p): Return 0 for empty types.
-	(assign_parm_find_entry_rtl): Call warn_parameter_passing_abi
-	target hook.
-	(locate_and_pad_parm): Call arg size_in_bytes instead
-	size_in_bytes.
-	* lto-streamer-out.c (hash_tree): Hash TYPE_EMPTY_P and DECL_PADDING_P.
-	* stor-layout.c (finalize_type_size): Set TYPE_EMPTY_P.
-	* target.def (empty_record_p, warn_parameter_passing_abi): New target
-	hooks.
-	* targhooks.c (hook_void_CUMULATIVE_ARGS_tree): New hook.
-	(std_gimplify_va_arg_expr): Skip empty records.  Call
-	arg_size_in_bytes instead size_in_bytes.
-	* targhooks.h (hook_void_CUMULATIVE_ARGS_tree): Declare.
-	* tree-core.h (tree_type_common): Add empty_flag.
-	(tree_decl_common): Update comments.
-	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream
-	DECL_PADDING_P.
-	(unpack_ts_type_common_value_fields): Stream TYPE_EMPTY_P.
-	* tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream
-	DECL_PADDING_P.
-	(pack_ts_type_common_value_fields): Stream TYPE_EMPTY_P.
-	* tree.c (default_is_empty_type): New function.
-	(default_is_empty_record): New function.
-	(arg_int_size_in_bytes): New function.
-	(arg_size_in_bytes): New function.
-	(get_ultimate_context): New function.
-	* tree.h: Define TYPE_EMPTY_P, DECL_PADDING_P and
-	TRANSLATION_UNIT_WARN_EMPTY_P.
-	(default_is_empty_record, arg_int_size_in_bytes,
-	arg_size_in_bytes, get_ultimate_context): Declare.
-
-2017-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (cmse_clear_registers): New function.
-	(cmse_nonsecure_call_clear_caller_saved): Replace register clearing
-	code by call to cmse_clear_registers.
-	(cmse_nonsecure_entry_clear_before_return): Likewise.
-
-2017-11-22  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm_neon.h (vdot_u32, vdotq_u32)
-	(vdot_s32, vdotq_s32): New.
-	(vdot_lane_u32, vdotq_lane_u32): New.
-	(vdot_lane_s32, vdotq_lane_s32): New.
-
-
-2017-11-22  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR middle-end/82547
-	* wide-int.cc (wi::add_large, wi::sub_large): Fix overflow detection
-	for unsigned values with fewer HWIs than the precision.
-	(test_overflow): New function.
-	(wide_int_cc_tests): Call it.
-
-2017-11-22  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* emit-rtl.c (init_derived_machine_modes): Make sure ptr_mode
-	has the same mode class as Pmode.
-
-2017-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Get rid of
-	padding_bits_to_clear_ptr.
-	(cmse_nonsecure_entry_clear_before_return): Likewise.
-
-2017-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Use
-	auto_sbitap instead of integer bitfield to control register needing
-	clearing.
-
-2017-11-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83044
-	* tree-vrp.c (vrp_prop::check_array_ref): If eltsize is not
-	INTEGER_CST or is 0, clear up_bound{,_p1} and later ignore tests
-	that need the upper bound.  Subtract offset from
-	get_addr_base_and_unit_offset only if positive and subtract it
-	before division by eltsize rather than after it.
-
-	PR debug/83084
-	* valtrack.c (propagate_for_debug_subst, propagate_for_debug): Reset
-	debug insns if they would contain UNSPEC_VOLATILE or volatile asm.
-	(dead_debug_insert_temp): Likewise, but also ignore even non-volatile
-	asm.
-
-	PR middle-end/82875
-	* optabs.c (expand_doubleword_mult, expand_binop): Before calling
-	expand_binop with *mul_widen_optab, make sure at least one of the
-	operands doesn't have VOIDmode.
-
-	PR debug/83034
-	* dwarf2out.c (mem_loc_descriptor): Handle VEC_SERIES.
-
-	PR rtl-optimization/82044
-	PR tree-optimization/82042
-	* dse.c (record_store): Check for overflow.
-	(check_mem_read_rtx): Properly check for overflow if width == -1, call
-	add_wild_read instead of clear_rhs_from_active_local_stores on
-	overflow and log it into dump_file.
-
-2017-11-22  Richard Biener  <rguenther@suse.de>
-
-	* gimple-iterator.c (gimple_find_edge_insert_loc): Ignore
-	fake edges to exit when looking for a place to insert.
-	* tree-ssa-pre.c (clear_expression_ids): Inline into callers
-	and remove.
-	(insert_into_preds_of_block): Commit edge insertion immediately,
-	assert that doesn't require new BBs.
-	(fini_pre): Release expressions.
-	(pass_pre::execute): Shuffle things around a bit, if the fn
-	is too large do not compute AVAIL either as this is really the
-	quadratic bit.
-
-2017-11-22  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83089
-	* tree-if-conv.c (pass_if_conversion::execute): If anything
-	changed reset SCEV and free the number of iteration estimates.
-
-2017-11-21  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/82945
-	* calls.h (warn_nonstring_bound): Remove unused function.
-
-2017-11-21  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/82945
-	* builtins.c (expand_builtin_strlen): Call maybe_warn_nonstring_arg.
-	* calls.h (maybe_warn_nonstring_arg): Declare new function.
-	* calls.c (get_attr_nonstring_decl, maybe_warn_nonstring_arg): New
-	functions.
-	(initialize_argument_information): Call maybe_warn_nonstring_arg.
-	* calls.h (get_attr_nonstring_decl): Declare new function.
-	* doc/extend.texi (attribute nonstring): Update.
-	* gimple-fold.c (gimple_fold_builtin_strncpy): Call
-	get_attr_nonstring_decl and handle it.
-	* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Same.  Improve
-	detection of nul-termination.
-	(strlen_to_stridx): Change to a pointer.
-	(handle_builtin_strlen, handle_builtin_stxncpy): Adjust.
-	(pass_strlen::execute): Same.
-
-2017-11-21  Sergey Shalnov  <Sergey.Shalnov@intel.com>
-
-	* config/i386/i386-opts.h (enum prefer_vector_width): Added new enum
-	for the new option -mprefer-vector-width=[none|128|256|512].
-	* config/i386/i386.c (ix86_target_string): remove old style options
-	-mprefer-avx256 and make -mprefer-avx128 as alias.
-	(ix86_option_override_internal):  Apply defaults for the
-	-mprefer-vector-width=[128|256] option.
-	* config/i386/i386.h (TARGET_PREFER_AVX128, TARGET_PREFER_AVX256):
-	Implement macros to work with -mprefer-vector-width=.
-	* config/i386/i386.opt: Implemented option
-	-mprefer-vector-width=[none|128|256|512].
-	* doc/invoke.texi: Documentation for
-	-mprefer-vector-width=[none|128|256|512].
-
-2017-11-21  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/ppc-asm.h (f50, vs50): Fix values.
-
-2017-11-21  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/invoke.texi (-Wmaybe-uninitialized): Rephrase for clarity.
-
-2017-11-21  Marc Glisse  <marc.glisse@inria.fr>
-
-	* doc/generic.texi: Document POINTER_DIFF_EXPR, update
-	POINTER_PLUS_EXPR.
-	* cfgexpand.c (expand_debug_expr): Handle POINTER_DIFF_EXPR.
-	* expr.c (expand_expr_real_2): Likewise.
-	* fold-const.c (const_binop, fold_addr_of_array_ref_difference,
-	fold_binary_loc): Likewise.
-	* match.pd (X-X, P+(Q-P), &D-P, (P+N)-P, P-(P+N), (P+M)-(P+N),
-	P-Q==0, -(A-B), X-Z<Y-Z, (X-Z)-(Y-Z), Z-X<Z-Y, (Z-X)-(Z-Y),
-	(A-B)+(C-A)): New transformations for POINTER_DIFF_EXPR, based on
-	MINUS_EXPR transformations.
-	* optabs-tree.c (optab_for_tree_code): Handle POINTER_DIFF_EXPR.
-	* tree-cfg.c (verify_expr, verify_gimple_assign_binary): Likewise.
-	* tree-inline.c (estimate_operator_cost): Likewise.
-	* tree-pretty-print.c (dump_generic_node, op_code_prio,
-	op_symbol_code): Likewise.
-	* tree-vect-stmts.c (vectorizable_operation): Likewise.
-	* vr-values.c (extract_range_from_binary_expr): Likewise.
-	* varasm.c (initializer_constant_valid_p_1): Likewise.
-	* tree.def: New tree code POINTER_DIFF_EXPR.
-
-2017-11-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*bswap<mode>2_movbe): Add
-	integer suffix to movbe mnemonic.
-	(*bswaphi2_movbe): Ditto.
-	(bswaphi_lowpart): Merge with *bswaphi_lowpart_1.
-
-2017-11-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/83045
-	* tree-cfg.c (pass_warn_function_return::execute): Formatting fix.
-	Also warn if seen __builtin_unreachable () call with BUILTINS_LOCATION.
-	Use LOCATION_LOCUS when comparing against UNKNOWN_LOCATION.
-
-2017-11-21  Martin Liska  <mliska@suse.cz>
-
-	* tree-inline.c (expand_call_inline): Remove not needed
-	xstrdup_for_dump.
-
-2017-11-21  James Cowgill  <James.Cowgill@imgtec.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82880
-	* config/mips/frame-header-opt.c (mips_register_frame_header_opt):
-	Remove static keyword from f variable.
-
-2017-11-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83086
-	* gimple-ssa-store-merging.c
-	(imm_store_chain_info::try_coalesce_bswap): Test this_n.base_addr
-	rather than n.base_addr.
-
-2017-11-21  Martin Liska  <mliska@suse.cz>
-
-	PR rtl-optimization/82044
-	PR tree-optimization/82042
-	* dse.c (check_mem_read_rtx): Check for overflow.
-
-2017-11-21  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-ssa-threadbackward.c (find_jump_threads_backwards): Fix
-	typo in comment.
-
-2017-11-21  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* cfgrtl.c (force_nonfallthru_and_redirect): Don't split a call
-	and its corresponding call arg location note.
-
-2017-11-21  Claudiu Zissulescu  <claziss@synopsys.com>
-	    Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc-protos.h (arc_compute_frame_size): Delete
-	declaration.
-	(arc_return_slot_offset): Likewise.
-	(arc_eh_return_address_location): New declaration.
-	* config/arc/arc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
-	(MUST_SAVE_REGISTER): Add exception handler case.
-	(MUST_SAVE_RETURN_ADDR): Likewise.
-	(arc_frame_pointer_required): Likewise.
-	(arc_frame_pointer_needed): New function.
-	(arc_compute_frame_size): Changed.
-	(arc_expand_prologue): Likewise.
-	(arc_expand_epilogue): Likewise.
-	(arc_initial_elimination_offset): Likewise.
-	(arc_return_slot_offset): Delete.
-	(arc_eh_return_address_location): New function.
-	(arc_builtin_setjmp_frame_value): Likewise.
-	* config/arc/arc.h (EH_RETURN_DATA_REGNO): Use 2 registers.
-	(EH_RETURN_STACKADJ_RTX): Define.
-	(EH_RETURN_HANDLER_RTX): Likewise.
-	* config/arc/arc.md (eh_return): Delete.
-
-2017-11-21  Aldy Hernandez  <aldyh@redhat.com>
-
-	* print-tree.h (debug_vec_tree): Remove prototype.
-	* gdbinit.in (pvt): Remove macro.
-
-2017-11-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/83047
-	* gimple-ssa-store-merging.c
-	(imm_store_chain_info::output_merged_store): If the loads with the
-	same vuse are in different basic blocks, for load_gsi pick a load
-	location that is dominated by the other loads.
-
-	PR c++/83059
-	* config/i386/i386.c (ix86_memmodel_check): Start
-	-Winvalid-memory-model diagnostics with lowercase letter.
-
-	PR debug/82718
-	* dwarf2out.c (dw_loc_list): If crtl->has_bb_partition, temporarily
-	set in_cold_section_p to the partition containing loc_list->first.
-	When seeing loc_list->last_before_switch node, update secname and
-	perform range_across_switch second partition handling only after that.
-
-	PR debug/82933
-	* run-rtl-passes.c: Include debug.h.
-	(run_rtl_passes): Call debug_hooks->assembly_start.
-	* dwarf2out.c (dwarf2out_assembly_start): Return early if invoked
-	multiple times.
-
-	PR target/82981
-	* internal-fn.c (expand_mul_overflow): Use OPTAB_WIDEN instead of
-	OPTAB_DIRECT in calls to expand_simple_binop.
-
-2017-11-20  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/81404
-	* Makefile.in (C_COMMON_OBJS): Add c-family/known-headers.o.
-
-2017-11-20  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c++/72786
-	* spellcheck.h (best_match::blithely_get_best_candidate): New
-	accessor.
-
-2017-11-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (parse_mtune_ctrl_str): Start diagnostics
-	with lower case letter.
-
-2017-11-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (bswaphi2): New expander.
-	(*bswaphi2_movbe): New insn pattern.
-	(bswaphi -> rorhi pepehole2): New peephole pattern.
-
-2017-11-20  Jeff Law  <law@redhat.com>
-
-	* Makefile.in (OBJS): Add gimple-ssa-evrp-analyze.o.
-	* gimple-ssa-evrp-analyze.c: New file pulled from gimple-ssa-evrp.c.
-	* gimple-ssa-evrp-analyze.h: New file pulled from gimple-ssa-evrp.c.
-	* gimple-ssa-evrp.c: Remove bits moved into new files.  Include
-	gimple-ssa-evrp-analyze.h.
-
-	* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Do not
-	set BB_VISITED here.
-	(evrp_range_analyzer::enter): Set BB_VISITED here instead.
-
-2017-11-20  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c: Add general comment on Store-Store chains.
-	(split_data_refs_to_components): Postpone clearing eliminate_store_p
-	flag in component.
-	(get_chain_last_ref_at): Rename into...
-	(get_chain_last_write_at): ...this.
-	(get_chain_last_write_before_load): New function.
-	(add_ref_to_chain): Promote type of chain from CT_STORE_LOAD to
-	CT_STORE_STORE when write reference is added.
-	(determine_roots_comp): Support load ref in CT_STORE_STORE chains.
-	(is_inv_store_elimination_chain): Update get_chain_last_write_at call.
-	(initialize_root_vars_store_elim_1): Ditto.
-	(initialize_root_vars_store_elim_2): Ditto.  Replace rhs once default
-	definition is created.
-	(execute_pred_commoning_chain): Support load ref in CT_STORE_STORE
-	chain by replacing it with dominant stored value.
-
-2017-11-20  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c (add_ref_to_chain): Remove check on distance.
-
-2017-11-20  Marc Glisse  <marc.glisse@inria.fr>
-
-	* vr-values.c (extract_range_from_binary_expr): Use a full range
-	for VR_VARYING.
-
-2017-11-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.md (R4_REGNUM): Define constant.
-	(nonsecure_call_internal): Remove r4 clobber.
-	(nonsecure_call_value_internal): Likewise.
-	* config/arm/thumb1.md (nonsecure_call_reg_thumb1_v5): Remove second
-	clobber and resequence match_operands.
-	(nonsecure_call_value_reg_thumb1_v5): Likewise.
-	* config/arm/thumb2.md (nonsecure_call_reg_thumb2): Likewise.
-	(nonsecure_call_value_reg_thumb2): Likewise.
-
-2017-11-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78821
-	* gimple-ssa-store-merging.c (find_bswap_or_nop_load): Give up
-	if base is TARGET_MEM_REF.  If base is not MEM_REF, set base_addr
-	to the address of the base rather than the base itself.
-	(find_bswap_or_nop_1): Just use pointer comparison for vuse check.
-	(find_bswap_or_nop_finalize): New function.
-	(find_bswap_or_nop): Use it.
-	(bswap_replace): Return a tree rather than bool, change first
-	argument from gimple * to gimple_stmt_iterator, allow inserting
-	into an empty sequence, allow ins_stmt to be NULL - then emit
-	all stmts into gsi.  Fix up MEM_REF address gimplification.
-	(pass_optimize_bswap::execute): Adjust bswap_replace caller.
-	(struct store_immediate_info): Add N and INS_STMT non-static
-	data members.
-	(store_immediate_info::store_immediate_info): Initialize them
-	from newly added ctor args.
-	(merged_store_group::apply_stores): Formatting fixes.  Sort by
-	bitpos at the end.
-	(stmts_may_clobber_ref_p): For stores call also
-	refs_anti_dependent_p.
-	(gather_bswap_load_refs): New function.
-	(imm_store_chain_info::try_coalesce_bswap): New method.
-	(imm_store_chain_info::coalesce_immediate_stores): Use it.
-	(split_group): Handle LROTATE_EXPR and NOP_EXPR rhs_code specially.
-	(imm_store_chain_info::output_merged_store): Fail if number of
-	new estimated stmts is bigger or equal than old.  Handle LROTATE_EXPR
-	and NOP_EXPR rhs_code.
-	(pass_store_merging::process_store): Compute n and ins_stmt, if
-	ins_stmt is non-NULL and the store rhs is otherwise invalid, use
-	LROTATE_EXPR rhs_code.  Pass n and ins_stmt to store_immediate_info
-	ctor.
-	(pass_store_merging::execute): Calculate dominators.
-
-	* tree-ssa-math-opts.c (nop_stats, bswap_stats, struct symbolic_number,
-	BITS_PER_MARKER, MARKER_MASK, MARKER_BYTE_UNKNOWN, HEAD_MARKER, CMPNOP,
-	CMPXCHG, do_shift_rotate, verify_symbolic_number_p,
-	init_symbolic_number, find_bswap_or_nop_load, perform_symbolic_merge,
-	find_bswap_or_nop_1, find_bswap_or_nop, pass_data_optimize_bswap,
-	class pass_optimize_bswap, bswap_replace,
-	pass_optimize_bswap::execute): Moved to ...
-	* gimple-ssa-store-merging.c: ... this file.
-	Include optabs-tree.h.
-	(nop_stats, bswap_stats, do_shift_rotate, verify_symbolic_number_p,
-	init_symbolic_number, find_bswap_or_nop_load, perform_symbolic_merge,
-	find_bswap_or_nop_1, find_bswap_or_nop, bswap_replace): Put into
-	anonymous namespace, remove static keywords.
-	(pass_optimize_bswap::gate): Test BITS_PER_UNIT == 8 here...
-	(pass_optimize_bswap::execute): ... rather than here.  Formatting fix.
-
-2017-11-20  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR bootstrap/83062
-	* ipa-inline.c (can_inline_edge_p): Fix typo in previous patch.
-
-2017-11-20  Aldy Hernandez  <aldyh@redhat.com>
-
-	* vec.h (debug_helper): New function.
-	(DEFINE_DEBUG_VEC): New macro.
-	* hash-set.h (debug_helper): New function.
-	(DEFINE_DEBUG_HASH_SET): New macro.
-	* cfg.c (debug_slim (edge)): New function.
-	Call DEFINE_DEBUG_VEC for edges.
-	Call DEFINE_DEBUG_HASH_SET for edges.
-	* cfghooks.c (debug_slim (basic_block)): New function.
-	Call DEFINE_DEBUG_VEC for basic blocks.
-	Call DEFINE_DEBUG_HASH_SET for basic blocks.
-	* print-tree.c (debug_slim): New function to handle trees.
-	Call DEFINE_DEBUG_VEC for trees.
-	Call DEFINE_DEBUG_HASH_SET for trees.
-	(debug (vec<tree, va_gc>) &): Remove.
-	(debug (<vec<tree, va_gc>) *): Remove.
-	* print-rtl.c (debug_slim): New function to handle const_rtx.
-	Call DEFINE_DEBUG_VEC for rtx_def.
-	Call DEFINE_DEBUG_VEC for rtx_insn.
-	Call DEFINE_DEBUG_HASH_SET for rtx_def.
-	Call DEFINE_DEBUG_HASH_SET for rtx_insn.
-	* sel-sched-dump.c (debug (vec<rtx_insn *> &): Remove.
-	(debug (vec<rtx_insn *> *ptr): Remove.
-	(debug_insn_vector): Remove.
-	* stor-layout.c (debug_rli): Call debug() instead of debug_vec_tree.
-
-2017-11-20  Tom de Vries  <tom@codesourcery.com>
-
-	PR rtl-optimization/82020
-	* simplify-rtx.c (simplify_ternary_operation): Fix comparison mode of
-	IF_THEN_ELSE condition.
-
-2017-11-19  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dom.c (record_equivalences_from_phis): Fix handling
-	of degenerates resulting from ignoring an edge.
-
-2017-11-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/81360
-	* ipa-inline.c (can_inline_edge_p): Also check that caller is optimized
-
-2017-11-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/83001
-	* profile-count.c (profile_count::to_sreal_scale): Fix return value
-	for uninitialied counts.
-
-2017-11-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/60243
-	* tree-inline.c (estimate_num_insns): Set to 1 at least.
-
-2017-11-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR target/82713
-	* i386.c (ix86_builtin_vectorization_cost): Be ready for insane types.
-
-2017-11-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/arc/arc.h (FUNCTION_PROFILER): Remove semicolon after
-	"do while (0)".
-
-2017-11-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/phoenix.h (TARGET_OS_CPP_BUILTINS): Remove semicolon after
-	"do {} while (0)".
-
-2017-11-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/visium/visium.h (ASM_OUTPUT_CASE_END): Remove semicolon after
-	macro body.
-
-2017-11-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/ft32/ft32.h (REGISTER_TARGET_PRAGMAS): Remove semicolon after
-	"do {} while (0)".
-	* config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Same.
-
-2017-11-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/mcore/mcore-elf.h (MCORE_EXPORT_NAME): Remove semicolon after
-	"do {} while (0)".
-	* config/mcore/mcore.h (ASM_OUTPUT_ALIGNED_COMMON): After missing
-	semicolon after MCORE_EXPORT_NAME call.
-
-2017-11-19  Tom de Vries  <tom@codesourcery.com>
-
-	PR target/82961
-	* vmsdbgout.c (vmsdbgout_early_finish): New function.
-	(vmsdbg_debug_hooks): Set early_finish field to vmsdbgout_early_finish.
-
-2017-11-18  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphclones.c (cgraph_edge::clone): Rename gcov_count to prof_count.
-	(cgraph_edge::clone): Cleanup updating of profile.
-	* ipa-cp.c (update_profiling_info): Likewise.
-	* ipa-inline-transform.c (inline_transform): Likewise.
-	* ipa-inline.c (inline_small_functions): Add missing space to dump.
-	* ipa-split.c (execute_split_functions): Do not split when function
-	is cold.
-	* predict.c (estimate_bb_frequencies): Cleanup updating of profile.
-	* profile-count.c (profile_count::dump): Add global0.
-	(profile_count::to_cgraph_frequency): Do not ICE when entry is
-	undefined.
-	(profile_count::to_sreal_scale): Likewise.
-	(profile_count::adjust_for_ipa_scaling): Fix typo in comment.
-	(profile_count::combine_with_ipa_count): New function.
-	* profile-count.h (profile_guessed_global0adjusted): New.
-	(profile_count::adjusted_zero): New.
-	(profile_count::global0adjusted): New.
-	(profile_count::combine_with_ipa_count): New.
-	* tree-inline.c (copy_edges_for_bb): Add NUM/DEN arugment;
-	correct profile of return block of split functions.
-	(copy_cfg_body): Remove unused profile_count.
-	(copy_body): Likewise.
-	(expand_call_inline): Update.
-	(tree_function_versioning): Update.
-
-2017-11-18  Aldy Hernandez  <aldyh@redhat.com>
-
-	* hash-set.h (hash_set::empty): New.
-	* tree-ssa-threadbackward.h: Delete.
-	* tree-ssa-threadbackward.c (class thread_jumps): New.
-	Move max_threaded_paths into class.
-	(fsm_find_thread_path): Remove arguments that are now in class.
-	(profitable_jump_thread_path): Rename to...
-	(thread_jumps::profitable_jump_thread_path): ...this.
-	(convert_and_register_jump_thread_path): Rename to...
-	(thread_jumps::convert_and_register_current_path): ...this.
-	(check_subpath_and_update_thread_path): Rename to...
-	(thread_jumps::check_subpath_and_update_thread_path): ...this.
-	(register_jump_thread_path_if_profitable): Rename to...
-	(thread_jumps::register_jump_thread_path_if_profitable): ...this.
-	(handle_phi): Rename to...
-	(thread_jumps::handle_phi): ...this.
-	(handle_assignment): Rename to...
-	(thread_jumps::handle_assignment): ...this.
-	(fsm_find_control_statement_thread_paths): Rename to...
-	(thread_jumps::fsm_find_control_statement_thread_paths): ...this.
-	(find_jump_threads_backwards): Rename to...
-	(thread_jumps::find_jump_threads_backwards): ...this.
-	Initialize path local data.
-	(pass_thread_jumps::execute): Call find_jump_threads_backwards
-	from within thread_jumps class.
-	(pass_early_thread_jumps::execute): Same.
-
-2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_node::dump): Do IPA sanity checking on IPA counts.
-
-2017-11-17  Steve Ellcey  <sellcey@cavium.com>
-
-	* config/aarch64/aarch64-simd.md (fnma<mode>4): Move neg operator
-	to canonical location.
-
-2017-11-17  Steve Ellcey  <sellcey@cavium.com>
-
-	PR target/81356
-	* config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructure_p):
-	Remove.
-	(TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Remove define.
-
-2017-11-17  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
-	rcrt1.o%s/grcrt1.o%s for -static-pie.
-
-2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* i386.c (ix86_multiplication_cost, ix86_division_cost,
-	ix86_shift_rotate_cost): Break out from ...
-	(ix86_rtx_costs): ... here.
-	(ix86_add_stmt_cost): Use rtx cost machinery to compute cost of
-	vector operations.
-
-2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (determine_unlikely_bbs): Set cgraph node count to 0
-	when entry block was promoted unlikely.
-	(estimate_bb_frequencies): Increase frequency scale.
-	* profile-count.h (profile_count): Export precision info.
-
-2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-tailcall.c (eliminate_tail_call): Be more careful about not
-	disturbin profile of entry block.
-
-2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (estimate_node_size_and_time): Be more tolerant for
-	roundoff errors.
-
-2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (update_profiling_info): Handle conversion to local profile.
-	* tree-cfg.c (execute_fixup_cfg): Do fixup same way as inliner does.
-
-2017-11-17  Jeff Law  <law@redhat.com>
-
-	* gimple-ssa-evrp.c (class evrp_range_analyzer): New class extracted
-	from evrp_dom_walker class.  Various methods moved into new class.
-	(evrp_range_analyzer::evrp_range_analyzer): Constructor for new class.
-	(evrp_range_analyzer::enter): New method.
-	(evrp_range_analyzer::leave): New method.
-	(evrp_dom_walker): Remove delegators no longer needed by this class.
-	Replace vr_values data member with evrp_range_analyzer
-
-	* gimple-ssa-evrp.c (evrp_dom_walker::record_ranges_from_phis): New
-	method extracted from evrp_dom_walker::before_dom_children.
-	(evrp_dom_walker::record_ranges_from_stmt): Likewise.
-	(evrp_dom_walker::record_ranges_from_incoming_edge): Likewise.
-
-	* gimple-ssa-evrp.c (evrp_dom_walker): Add cleanup method.
-	Add private copy constructor and move assignment operators.
-	Privatize methods and class data where trivially possible.
-	(evrp_dom_walker::cleanup): New function, extracted from
-	execute_early_vrp.  Simplify access to class data.
-
-	* vr-values.h (get_output_for_vrp): Prototype.
-	* vr-values.c (get_output_for_vrp): New function extracted from
-	vrp_visit_assignment_or_call and extract_range_from_stmt.
-	(vrp_visit_assignment_or_call): Use get_output_for_vrp.  Simplify.
-
-2017-11-17  Luis Machado  <luis.machado@linaro.org>
-
-	* config/aarch64/aarch64.c
-	(qdf24xx_prefetch_tune) <default_opt_level>: Set to -1.
-	(qdf24xx_tunings) <autoprefetcher_model>: Set to
-	tune_params::AUTOPREFETCHER_WEAK.
-
-2017-11-17  Tamar Christina  <tamar.christina@arm.com>
-
-	PR target/82641
-	* config/arm/arm.c (arm_valid_target_attribute_rec):
-	Parse "arch=" and "+<ext>".
-	(arm_valid_target_attribute_tree): Re-init global options.
-	(arm_option_override): Make non-static.
-	(arm_options_perform_arch_sanity_checks): Make errors fatal.
-	* gcc/config/arm/arm-c.c (__ARM_FEATURE_CMSE): Support undef.
-	(__ARM_FEATURE_CRC32): Support undef.
-	* config/arm/arm_acle.h (__ARM_FEATURE_CRC32): Replace with pragma.
-	* doc/extend.texi (ARM Function Attributes): Add pragma and target.
-
-2017-11-17  David Malcolm  <dmalcolm@redhat.com>
-
-	* gdbinit.in (break-on-diagnostic): New command.
-
-2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
-
-	* config/i386/i386.c (ix86_expand_epilogue): Change simple
-	return to indirect jump for EH return if control-flow
-	protection is enabled. Change explicit 'false' argument in
-	pro_epilogue_adjust_stack with a value of
-	flag_cf_protection.
-	* config/i386/i386.md (simple_return_indirect_internal):
-	Remove SImode restriction to support 64-bit.
-
-2017-11-17  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine.c (added_notes_insn): New.
-	(try_combine): Handle added_notes_insn like added_links_insn.
-	Rewrite return value code.
-	(distribute_notes): Set added_notes_insn to the earliest insn we added
-	a note to.
-
-2017-11-17  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/82621
-	* combine.c (try_combine): Do not split PARALLELs of two SETs if the
-	dest of one of those SETs is unused.
-
-2017-11-17  Richard Biener  <rguenther@suse.de>
-
-	PR fortran/83017
-	* tree-core.h (enum annot_expr_kind): Add annot_expr_parallel_kind.
-	* tree-pretty-print.c (dump_generic_node): Handle
-	annot_expr_parallel_kind.
-	* tree-cfg.c (replace_loop_annotate_in_block): Likewise.
-	* gimplify.c (gimple_boolify): Likewise.
-
-2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
-
-	* config.gcc (extra_headers): Add cet.h for x86 targets.
-	* config/i386/cet.h: New file.
-	* doc/install.texi: Add --enable-cet/--disable-cet.
-
-2017-11-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/83017
-	* tree-parloops.c (MIN_PER_THREAD): Use --param parloops-min-per-thread.
-	(gen_parallel_loop): Properly count iterations.
-	(parallelize_loops): Handle loop->can_be_parallel independent
-	of flag_loop_parallelize_all.  Make static profitability test match
-	the runtime one.
-	* params.def (PARAM_PARLOOPS_MIN_PER_THREAD): New.
-	* invoke.texi (parloops-min-per-thread): Document.
-
-2017-11-17  Vineet Gupta  <vgupta@synopsys.com>
-
-	* config/arc/linux.h: GLIBC_DYNAMIC_LINKER update per glibc
-	upstreaming review comments.
-
-2017-11-17  Tamar Christina  <tamar.christina@arm.com>
-
-	* expr.c (copy_blkmode_to_reg): Fix bitsize for targets
-	with fast unaligned access.
-	* doc/sourcebuild.texi (word_mode_no_slow_unalign): New.
-
-2017-11-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (cmse_nonsecure_entry_clear_before_return): Allocate
-	to_clear_arg_regs_bitmap to the same size as to_clear_bitmap.
-
-2017-11-17  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (phi_translate_1): Remove redundant constant
-	folding of references.
-
-2017-11-17  Qing Zhao  <qing.zhao@oracle.com>
-
-	PR middle-end/78809
-	* gimple-fold.c (gimple_fold_builtin_string_compare): Add handling
-	of replacing call to strncmp with corresponding call to strcmp when
-	meeting conditions.
-
-2017-11-17  Sergey Shalnov  <Sergey.Shalnov@intel.com>
-
-	* config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Add tuning
-	option prefer-avx256 for skylake-avx512 configuration.
-	* config/i386/i386.c (ix86_option_override_internal): Ditto.
-	(get_builtin_code_for_version): Ditto.
-
-2017-11-17  Chung-Ju Wu  <jasonwucj@gmail.com>
-	    Monk Chiang  <sh.chiang04@gmail.com>
-
-	* config/nds32/nds32.h (FIRST_PSEUDO_REGISTER): Modify.
-	(FIXED_REGISTERS): Reserve more register numbers.
-	(CALL_USED_REGISTERS): Likewise.
-	(REG_ALLOC_ORDER): Likewise.
-	(REG_CLASS_CONTENTS): Likewise.
-	(REGISTER_NAMES): Likewise.
-
-2017-11-17  Chung-Ju Wu  <jasonwucj@gmail.com>
-	    Kito Cheng  <kito.cheng@gmail.com>
-
-	* config/nds32/nds32-modes.def: Add vector mode V4QI V2HI V8QI V4HI
-	V2SI.
-	* config/nds32/iterators.md: Add vector mode iterators and attributes.
-
-2017-11-16  Steven Munroe  <munroesj@gcc.gnu.org>
-
-	* config/rs6000/mmintrin.h (_mm_add_pi32[_ARCH_PWR]): Correct
-	parameter list for vec_splats.
-
-2017-11-16  Joseph Myers  <joseph@codesourcery.com>
-
-	* doc/invoke.texi (-std=c17): Refer to 2018 expected publication
-	date of C17.
-	(-std=c18, -std=iso9899:2018, -std=gnu18): Document option aliases.
-
-2017-11-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR bootstrap/82856
-	* doc/install.texi: Document incompatibility of Perl >=5.6.26
-	with the required version of automake 1.11.6.
-
-2017-11-16  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* rs6000/power9.md (power9fpdiv): New automaton and cpu_unit defined
-	for it.
-	(DU_C2_3_power9): Correct reservation combinations.
-	(FP_DIV_power9, VEC_DIV_power9): New.
-	(power9-alu): Split out rotate/shift...
-	(power9-rot): ...to here, correct dispatch resource.
-	(power9-cracked-alu, power9-mul, power9-mul-compare): Correct dispatch
-	resource.
-	(power9-fp): Correct latency.
-	(power9-sdiv): Add div/sqrt resource.
-	(power9-ddiv): Correct latency, add div/sqrt resource.
-	(power9-sqrt, power9-dsqrt): Add div/sqrt resource.
-	(power9-vecfdiv, power9-vecdiv): Correct latency, add div/sqrt
-	resource.
-	(power9-qpdiv, power9-qpmul): Adjust resource usage.
-
-2017-11-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_expand_builtin): Do not do the
-	switch statement mapping KF built-ins to TF built-ins if we don't
-	have the proper ISA 3.0 assembler support.
-
-2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-emutls.c (lower_emutls_data): Remove unused bb_freq.
-	(lower_emutls_function_body): Do not compute it.
-
-2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-split.c (split_bb_info): Turn time to sreal.
-	(split_point): Likewise.
-	(dump_split_point): Likewise.
-	(fine_split_points): Likewise.
-	(execute_split_functions): Only zero split_bbs; turn time to sreals.
-
-2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (analyze_function_body): Accumulate time consistently
-	in sreal.
-
-2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (combine_predictions_for_bb): Preserve zero predicted
-	edges.
-	(expensive_function_p): Remove useless assert.
-	(determine_unlikely_bbs): Propagate also forward; determine cold blocks
-
-2017-11-16  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/82588
-	PR tree-optimization/82583
-	* tree-vrp.c (check_array_ref): Handle flexible array members,
-	string literals, and inner indices.
-	(search_for_addr_array): Add detail to diagnostics.
-
-2017-11-16  Nathan Sidwell  <nathan@acm.org>
-
-	PR c++/82836
-	PR c++/82737
-	* tree.h (COPY_DECL_RTL): Rename parms for clarity.
-	(SET_DECL_ASSEMBLER_NAME): Forward to
-	overwrite_decl_assembler_name.
-	(COPY_DECL_ASSEMBLER_NAME): Rename parms for clarity.
-	(overwrite_decl_assembler_name): Declare.
-	* tree.c (overwrite_decl_assembler_name): New.
-	* langhooks-def.h (lhd_overwrite_decl_assembler_name): Declare.
-	(LANG_HOOKS_OVERWRITE_DECL_ASSEMBLER_NAME): Provide default.
-	(LANG_HOOKS_INITIALIZER): Add it.
-	* langhooks.h (struct lang_hooks): Add overwrite_decl_assembler_name.
-	* langhooks.c (lhd_set_decl_assembler_name): Use
-	SET_DECL_ASSEMBLER_NAME.
-	(lhd_overwrite_decl_assembler_name): Default implementation.
-
-2017-11-16  Wilco Dijkstra  <wdijkstr@arm.com>
-	    Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	PR tree-optimization/71026
-	* match.pd: Canonicalize constant multiplies in division.
-
-2017-11-16  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* opts.c (default_options_table): Add OPT_fomit_frame_pointer entry.
-	* common/config/alpha/alpha-common.c (TARGET_OPTION_OPTIMIZATION_TABLE):
-	Remove OPT_fomit_frame_pointer entry.
-	* common/config/arc/arc-common.c: Likewise.
-	* common/config/arm/arm-common.c: Likewise.
-	* common/config/avr/avr-common.c: Likewise.
-	* common/config/c6x/c6x-common.c: Likewise.
-	* common/config/cr16/cr16-common.c: Likewise.
-	* common/config/cris/cris-common.c: Likewise.
-	* common/config/epiphany/epiphany-common.c: Likewise.
-	* common/config/fr30/fr30-common.c: Likewise.
-	* common/config/frv/frv-common.c: Likewise.
-	* common/config/ia64/ia64-common.c: Likewise.
-	* common/config/iq2000/iq2000-common.c: Likewise.
-	* common/config/lm32/lm32-common.c: Likewise.
-	* common/config/m32r/m32r-common.c: Likewise.
-	* common/config/mcore/mcore-common.c: Likewise.
-	* common/config/microblaze/microblaze-common.c: Likewise.
-	* common/config/mips/mips-common.c: Likewise.
-	* common/config/mmix/mmix-common.c: Likewise.
-	* common/config/mn10300/mn10300-common.c: Likewise.
-	* common/config/nios2/nios2-common.c: Likewise.
-	* common/config/pa/pa-common.c: Likewise.
-	* common/config/pdp11/pdp11-common.c: Likewise.
-	* common/config/powerpcspe/powerpcspe-common.c: Likewise.
-	* common/config/riscv/riscv-common.c: Likewise.
-	* common/config/rs6000/rs6000-common.c: Likewise.
-	* common/config/rx/rx-common.c: Likewise.
-	* common/config/s390/s390-common.c: Likewise.
-	* common/config/sh/sh-common.c: Likewise.
-	* common/config/sparc/sparc-common.c: Likewise.
-	* common/config/tilegx/tilegx-common.c: Likewise.
-	* common/config/tilepro/tilepro-common.c: Likewise.
-	* common/config/v850/v850-common.c: Likewise.
-	* common/config/visium/visium-common.c: Likewise.
-	* common/config/xstormy16/xstormy16-common.c: Likewise.
-	* common/config/xtensa/xtensa-common.c: Likewise.
-	* invoke.texi (-fomit-frame-pointer): Update documentation.
-
-2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-cfg.c (gimple_find_sub_bbs): Do not compute freq.
-
-2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfg.c (scale_bbs_frequencies_int,
-	cale_bbs_frequencies_gcov_type): Remove.
-	* cfg.h (scale_bbs_frequencies_int,
-	cale_bbs_frequencies_gcov_type): Remove.
-
-2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-manip.c
-	(scale_dominated_blocks_in_loop): Update to profile counts.
-	(tree_transform_and_unroll_loop): Likewise.
-
-2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-vect-loop-manip.c (vect_do_peeling): Do not use
-	scale_bbs_frequencies_int.
-
-2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* final.c (compute_alignments): Use counts rather than frequencies.
-
-2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgloopanal.c: Include sreal.h
-	(average_num_loop_insns): Use counts and sreal for accounting.
-
-2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgloopmanip.c (duplicate_loop_to_header_edge): Cleanup profile
-	manipulation.
-
-2017-11-16  Chung-Ju Wu  <jasonwucj@gmail.com>
-	    Kito Cheng  <kito.cheng@gmail.com>
-
-	* config/nds32/constraints.md: Provide more constraints.
-	* config/nds32/nds32.h (enum reg_class, REG_CLASS_NAMES,
-	REG_CLASS_CONTENTS): Define R5_REG, R8_REG, and FRAME_POINTER_REG to
-	support constraints usage.
-
-2017-11-16  Chung-Ju Wu  <jasonwucj@gmail.com>
-
-	* config/nds32/constants.md (UNSPEC_VOLATILE_FUNC_RETURN): Remove.
-
-2017-11-16  Chung-Ju Wu  <jasonwucj@gmail.com>
-	    Kito Cheng  <kito.cheng@gmail.com>
-
-	* config/nds32/nds32.opt: Add mext-perf, mext-perf2, mext-string.
-	* config/nds32/nds32.opt: Refine the layout.
-	* config/nds32/nds32.c (TARGET_EXT_PERF, TARGET_EXT_PERF2,
-	TARGET_EXT_STRING): Support new options.
-	* config/nds32/nds32.h: Likewise.
-	* config/nds32/nds32.md: Likewise.
-	* config/nds32/nds32-predicates.c: Likewise.
-	* config/nds32/constraints.md: Likewise.
-	* common/config/nds32/nds32-common.c: Likewise.
-
-2017-11-16  Julia Koval  <julia.koval@intel.com>
-
-	PR target/82983
-	* config/i386/gfniintrin.h: Add sse check.
-	* config/i386/i386.c (ix86_expand_builtin): Fix gfni check.
-
-2017-11-16  Julia Koval  <julia.koval@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI2_SET,
-	OPTION_MASK_ISA_AVX512VBMI2_UNSET): New.
-	(ix86_handle_option): Handle -mavx512vbmi2.
-	* config/i386/cpuid.h: Add bit_AVX512VBMI2.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Handle new bit.
-	* config/i386/i386-c.c (__AVX512VBMI2__): New.
-	* config/i386/i386.c (ix86_target_string): Handle -mavx512vbmi2.
-	(ix86_valid_target_attribute_inner_p): Ditto.
-	* config/i386/i386.h (TARGET_AVX512VBMI2, TARGET_AVX512VBMI2_P): New.
-	* config/i386/i386.opt (mavx512vbmi2): New option.
-	* doc/invoke.texi: Add new option.
-
-2017-11-16  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/gfniintrin.h (_mm_gf2p8mul_epi8, _mm256_gf2p8mul_epi8,
-	_mm_mask_gf2p8mul_epi8, _mm_maskz_gf2p8mul_epi8,
-	_mm256_mask_gf2p8mul_epi8, _mm256_maskz_gf2p8mul_epi8,
-	_mm512_mask_gf2p8mul_epi8, _mm512_maskz_gf2p8mul_epi8,
-	_mm512_gf2p8mul_epi8): New intrinsics.
-	* config/i386/i386-builtin-types.def
-	(V64QI_FTYPE_V64QI_V64QI): New type.
-	* config/i386/i386-builtin.def (__builtin_ia32_vgf2p8mulb_v64qi,
-	__builtin_ia32_vgf2p8mulb_v64qi_mask, __builtin_ia32_vgf2p8mulb_v32qi,
-	__builtin_ia32_vgf2p8mulb_v32qi_mask, __builtin_ia32_vgf2p8mulb_v16qi,
-	__builtin_ia32_vgf2p8mulb_v16qi_mask): New builtins.
-	* config/i386/sse.md (vgf2p8mulb_*): New pattern.
-	* config/i386/i386.c (ix86_expand_args_builtin): Handle new type.
-
-2017-11-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop
-	explicitly as a stream of bytes.
-
-2017-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.h (vec_xst_be): New #define.
-	* config/rs6000/altivec.md (altivec_vperm_<mode>_direct): Rename
-	and externalize from *altivec_vperm_<mode>_internal.
-	* config/rs6000/rs6000-builtin.def (XL_BE_V16QI): Remove macro
-	instantiation.
-	(XL_BE_V8HI): Likewise.
-	(XL_BE_V4SI): Likewise.
-	(XL_BE_V4SI): Likewise.
-	(XL_BE_V2DI): Likewise.
-	(XL_BE_V4SF): Likewise.
-	(XL_BE_V2DF): Likewise.
-	(XST_BE): Add BU_VSX_OVERLOAD_X macro instantiation.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Correct
-	all array entries with these keys: VSX_BUILTIN_VEC_XL,
-	VSX_BUILTIN_VEC_XL_BE, VSX_BUILTIN_VEC_XST.  Add entries for key
-	VSX_BUILTIN_VEC_XST_BE.
-	* config/rs6000/rs6000.c (altivec_expand_xl_be_builtin): Remove.
-	(altivec_expand_builtin): Remove handling for VSX_BUILTIN_XL_BE_*
-	built-ins.
-	(altivec_init_builtins): Replace conditional calls to def_builtin
-	for __builtin_vsx_ld_elemrev_{v8hi,v16qi} and
-	__builtin_vsx_st_elemrev_{v8hi,v16qi} based on TARGET_P9_VECTOR
-	with unconditional calls.  Remove calls to def_builtin for
-	__builtin_vsx_le_be_<mode>.  Add a call to def_builtin for
-	__builtin_vec_xst_be.
-	* config/rs6000/vsx.md (vsx_ld_elemrev_v8hi): Convert define_insn
-	to define_expand, and add alternate RTL generation for P8.
-	(*vsx_ld_elemrev_v8hi_internal): New define_insn based on
-	vsx_ld_elemrev_v8hi.
-	(vsx_ld_elemrev_v16qi): Convert define_insn to define_expand, and
-	add alternate RTL generation for P8.
-	(*vsx_ld_elemrev_v16qi_internal): New define_insn based on
-	vsx_ld_elemrev_v16qi.
-	(vsx_st_elemrev_v8hi): Convert define_insn
-	to define_expand, and add alternate RTL generation for P8.
-	(*vsx_st_elemrev_v8hi_internal): New define_insn based on
-	vsx_st_elemrev_v8hi.
-	(vsx_st_elemrev_v16qi): Convert define_insn to define_expand, and
-	add alternate RTL generation for P8.
-	(*vsx_st_elemrev_v16qi_internal): New define_insn based on
-	vsx_st_elemrev_v16qi.
-
-2017-11-15  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/82990
-	* config/i386/i386.c (pass_insert_vzeroupper::gate): Remove
-	TARGET_AVX512ER check.
-	(ix86_option_override_internal): Set MASK_VZEROUPPER if
-	neither -mzeroupper nor -mno-zeroupper is used and
-	TARGET_EMIT_VZEROUPPER is set.
-	* config/i386/i386.h (TARGET_EMIT_VZEROUPPER): New.
-	* config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER.
-
-2017-11-15  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for
-	folding of vector compares.
-	(fold_build_vec_cmp): New helper function.
-	(fold_compare_helper): New helper function.
-	(builtin_function_type): Add compare builtins to the list of functions
-	having unsigned arguments.  Cosmetic updates to comment indentation.
-	* config/rs6000/vsx.md (vcmpneb, vcmpneh, vcmpnew): Update to specify
-	the not+eq combination.
-
-2017-11-15  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/82726
-	PR tree-optimization/70754
-	* tree-predcom.c (order_drefs_by_pos): New function.
-	(combine_chains): Move code setting has_max_use_after to...
-	(try_combine_chains): ...here.  New parameter.  Sort combined chains
-	according to position information.
-	(tree_predictive_commoning_loop): Update call to above function.
-	(update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New.
-
-2017-11-15  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/82726
-	Revert
-	2017-01-23  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/70754
-	* tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
-	(reassociate_to_the_same_stmt): New parameter INSERT_BEFORE.  Insert
-	combined stmt before it if not NULL.
-	(combine_chains): Process refs reversely and compute dominance point
-	for root ref.
-
-	Revert
-	2017-02-23  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/79663
-	* tree-predcom.c (combine_chains): Process refs in reverse order
-	only for ZERO length chains, and add explaining comment.
-
-2017-11-15  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm-cpus.in (armv8_3, ARMv8_3a, armv8.3-a): New
-	* config/arm/arm-tables.opt (armv8.3-a): Regenerated.
-	* doc/invoke.texi (ARM Options): Add armv8.3-a.
-
-2017-11-15  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm.h (TARGET_DOTPROD): Add arm_arch8_2.
-
-2017-11-15  Martin Liska  <mliska@suse.cz>
-
-	* tree-cfg.c (pass_warn_function_return::execute):
-	Compare warn_return_type for greater than zero.
-
-2017-11-15  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	PR target/82941
-	PR target/82942
-	* config/i386/i386.c (pass_insert_vzeroupper): Modify gate condition
-	to return true on Xeon and not on Xeon Phi.
-	(ix86_check_avx256_register): Changed to ...
-	(ix86_check_avx_upper_register): ... this. Add extra check for
-	VALID_AVX512F_REG_OR_XI_MODE.
-	(ix86_avx_u128_mode_needed): Changed
-	ix86_check_avx256_register to ix86_check_avx_upper_register.
-	(ix86_check_avx256_stores): Changed to ...
-	(ix86_check_avx_upper_stores): ... this. Changed
-	ix86_check_avx256_register to ix86_check_avx_upper_register.
-	(ix86_avx_u128_mode_after): Changed
-	avx_reg256_found to avx_upper_reg_found. Changed
-	ix86_check_avx256_stores to ix86_check_avx_upper_stores.
-	(ix86_avx_u128_mode_entry): Changed
-	ix86_check_avx256_register to ix86_check_avx_upper_register.
-	(ix86_avx_u128_mode_exit): Ditto.
-	* config/i386/i386.h: (host_detect_local_cpu): New define.
-
-2017-11-15  Dominik Infuehr  <dominik.infuehr@theobroma-systems.com>
-
-	* config/arm/xgene1.md (xgene1): Split into automatons
-	xgene1_main, xgene1_decoder, xgene1_div, xgene1_simd.
-	(xgene1_f_load): Adjust reservations and/or types.
-	(xgene1_f_store): Likewise.
-	(xgene1_load_pair): Likewise.
-	(xgene1_store_pair): Likewise.
-	(xgene1_fp_load1): Likewise.
-	(xgene1_load1): Likewise.
-	(xgene1_store1): Likewise.
-	(xgene1_move): Likewise.
-	(xgene1_alu): Likewise.
-	(xgene1_simd): Likewise.
-	(xgene1_bfm): Likewise.
-	(xgene1_neon_load1): Likewise.
-	(xgene1_neon_store1): Likewise.
-	(xgene1_neon_logic): Likewise.
-	(xgene1_neon_st1): Likewise.
-	(xgene1_neon_ld1r): Likewise.
-	(xgene1_alu_cond): Added.
-	(xgene1_shift_reg): Likwise.
-	(xgene1_bfx): Likewise.
-	(xgene1_mul): Split into xgene1_mul32, xgene1_mul64.
-
-2017-11-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82981
-	* internal-fn.c: Include gimple-ssa.h, tree-phinodes.h and
-	ssa-iterators.h.
-	(can_widen_mult_without_libcall): New function.
-	(expand_mul_overflow): If only checking unsigned mul overflow,
-	not result, and can do efficiently MULT_HIGHPART_EXPR, emit that.
-	Don't use WIDEN_MULT_EXPR if it would involve a libcall, unless
-	no other way works.  Add MULT_HIGHPART_EXPR + MULT_EXPR support.
-	(expand_DIVMOD): Formatting fix.
-	* expmed.h (expand_mult): Add NO_LIBCALL argument.
-	* expmed.c (expand_mult): Likewise.  Use OPTAB_WIDEN rather
-	than OPTAB_LIB_WIDEN if NO_LIBCALL is true, and allow it to fail.
-
-	PR tree-optimization/82977
-	* tree-ssa-strlen.c (strlen_optimize_stmt): Pass a reference to a copy
-	constructed temporary to strlen_to_stridx.put.
-
-2017-11-15  Martin Liska  <mliska@suse.cz>
-
-	* configure.ac: Remove -fkeep-inline-functions from coverage_flags.
-	* configure: Regenerate.
-
-2017-11-15  Martin Liska  <mliska@suse.cz>
-
-	PR target/82927
-	* config/sh/sh-mem.cc: Use proper probability for
-	REG_BR_PROB_NOTE.
-
-2017-11-14  Jeff Law  <law@redhat.com>
-
-	* explow.c (anti_adjust_stack_and_probe_stack_clash): Avoid probing
-	the red zone for stack_clash_protection_final_dynamic_probe targets
-	when the total dynamic stack size is zero bytes.
-
-	* tree-ssa-threadupdate.c (thread_through_all_blocks): Thread
-	blocks is post order.
-
-2017-11-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	* dumpfile.h (TDF_COMPARE_DEBUG): New.
-	* final.c (rest_of_clean_state): Set it for the
-	-fcompare-debug dump.
-	* tree-pretty-print.c (dump_generic_node): Omit OBJ_TYPE_REF
-	class when TDF_COMPARE_DEBUG is set.
-
-	* dwarf2out.c (gen_producer_string): Discard
-	OPT_fcompare_debug.
-
-2017-11-15  Joseph Myers  <joseph@codesourcery.com>
-
-	PR c/81156
-	* doc/extend.texi (Other Builtins): Document __builtin_tgmath.
-	* ginclude/tgmath.h (__tg_cplx, __tg_ldbl, __tg_dbl, __tg_choose)
-	(__tg_choose_2, __tg_choose_3, __TGMATH_REAL_1_2)
-	(__TGMATH_REAL_2_3): Remove macros.
-	(__TGMATH_CPLX, __TGMATH_CPLX_2, __TGMATH_REAL, __TGMATH_REAL_2)
-	(__TGMATH_REAL_3, __TGMATH_CPLX_ONLY): Define using
-	__builtin_tgmath.
-	(frexp, ldexp, nexttoward, scalbn, scalbln): Define using
-	__TGMATH_REAL_2.
-	(remquo): Define using __TGMATH_REAL_3.
-
-2017-11-14  Jeff Law  <law@redhat.com>
-
-	* vr-values.c: New file with contents extracted from tree-vrp.c.
-	* Makefile.in (OBJS): Add vr-values.o
-	* tree-vrp.h (set_value_range_to_nonnull): Prototype.
-	(set_value_range, set_and_canonicalize_value_range): Likewise.
-	(vrp_bitmap_equal_p, range_is_nonnull): Likewise.
-	(value_range_constant_singleton, symbolic_range_p): Likewise.
-	(compare_values, compare_values_warnv, vrp_val_is_min): Likewise.
-	(vrp_val_is_max, copy_value_range, set_value_range_to_value): Likewise.
-	(extract_range_from_binary_expr_1, vrp_val_min, vrp_val_max): Likewise.
-	(set_value_range_to_null, range_int_cst_p, opreand_less_p): Likewise.
-	(find_case_label_range, find_case_label_index): Likewise.
-	(zero_nonzero_bits_from_vr, overflow_comparison_p): Likewise.
-	(range_int_cst_singleton_p, value_inside_range): Likewise.
-	(get_single_symbol): Likewise.
-	(switch_update): Move structure definition here.
-	(to_remove_edges, to_update_switch_stmts): Provide externs.
-	* tree-vrp.c: Move all methods for vr-values class to vr-values.c
-	(vrp_val_max, vrp_val_min, vrp_val_is_max): Make externally visible.
-	(vrp_val_is_min, set_value_range): Likewise.
-	(set_and_canonicalize_value_range, copy_value_range): Likewise.
-	(set_value_range_to_value, set_value_range_to_nonnull): Likewise.
-	(set_value_range_to_null, vrp_bitmap_equal_p): Likewise.
-	(range_is_nonnull, range_int_cst_p): Likewwise.
-	(range_int_cst_singleton_p, symbolic_range_p): Likewise.
-	(get_single_symbol, operand_less_p): Likewise
-	(compare_values_warnv, compare_values): Likewise.
-	(value_inside_range, value_range_constant_singleton): Likewise.
-	(zero_nonzero_bitgs_from_vr): Likewise.
-	(extract_range_from_binary_expr_1): Likewise.
-	(overflow_comparison_p): Likewise.
-	(to_remove_edges, to_update_switch_stmts): Likewise.
-	(find_case_label-index, find_case_label_range): Likewise.
-	(switch_update, set_value_range_to_nonnegative): Remove.
-	(set_value_range_to_truthvalue): Likewise.
-	(symbolic_range_based_on_p, gimple_assign_nonzero_p): Likewise.
-	(gimple_stmt_nonzero_p, compare_ranges): Likewise.
-	(compare_range_with_value, vrp_valueize, vrp_valueize_1): Likewise.
-	(find_case_label_ranges, test_for_singularity): Likewise.
-	(range_fits_type_p, simplify_conversion_using_ranges): LIkewise.
-	(x_vr_values): Move to its remaining use site.
-
-2017-11-10  Jeff Law  <law@redhat.com>
-
-	* vr-values.h (VR_INITIALIZER): Move #define here.
-	* gimple-ssa-evrp.c: New file with contents extracted from tree-vrp.c
-	* Makefile.in (OBJS): Add tree-evrp.o
-	* tree-vrp.h (assert_info): Move structure definition here.
-	(set_value_range_to_varying): Prototype.
-	(vrp_operand_equal_p, range_includes_zero_p): Likewise.
-	(infer_value_range, register_edge_assert_for): Likewise.
-	(stmt_interesting_for_vrp): Likewise.
-	* tree-vrp.c: Move all methods for evrp class into gimple-ssa-evrp.c.
-	(set_value_range_to_varying): No longer static.
-	(vrp_operand_equal_p, range_includes_zero_p): Likewise.
-	(infer_value_range, register_edge_assert_for): Likewise.
-
-2017-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.md (bswapdi2): On 32-bit ISA 3.0, don't
-	generate the XXBRD instruction.
-
-	* config/rs6000/rs6000-c.c (is_float128_p): New helper function.
-	(rs6000_builtin_type_compatible): Treat _Float128 and long double
-	as being compatible if -mabi=ieeelongdouble.
-	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_HW_1): New macros
-	to setup float128 built-ins with hardware support.
-	(BU_FLOAT128_HW_2): Likewise.
-	(BU_FLOAT128_HW_3): Likewise.
-	(BU_FLOAT128_HW_VSX_1): Likewise.
-	(BU_FLOAT128_HW_VSX_2): Likewise.
-	(scalar_extract_expq): Change float128 built-in functions to
-	accommodate having both KFmode and TFmode functions.  Use the
-	KFmode variant as the default.
-	(scalar_extract_sigq): Likewise.
-	(scalar_test_neg_qp): Likewise.
-	(scalar_insert_exp_q): Likewise.
-	(scalar_insert_exp_qp): Likewise.
-	(scalar_test_data_class_qp): Likewise.
-	(sqrtf128_round_to_odd): Delete processing the round to odd
-	built-in functions as special built-in functions, and define them
-	as float128 built-ins.  Use the KFmode variant as the default.
-	(truncf128_round_to_odd): Likewise.
-	(addf128_round_to_odd): Likewise.
-	(subf128_round_to_odd): Likewise.
-	(mulf128_round_to_odd): Likewise.
-	(divf128_round_to_odd): Likewise.
-	(fmaf128_round_to_odd): Likewise.
-	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
-	support for KFmode and TFmode xststdcqp calls.
-	(rs6000_expand_builtin): If long double is IEEE 128-bit floating
-	point, switch the built-in handlers for the get/set float128
-	exponent, get float128 mantissa, float128 test built-ins, and the
-	float128 round to odd built-in functions.  Eliminate creating the
-	float128 round to odd built-in functions as special built-ins.
-	(rs6000_init_builtins): Eliminate special creation of the float128
-	round to odd built-in functions.
-	* config/rs6000/vsx.md (xsxexpqp_<mode>): Change float128 built-in
-	function insns to support both TFmode and KFmode variants.
-	(xsxsigqp_<mode>): Likewise.
-	(xsiexpqpf_<mode>): Likewise.
-	(xsiexpqp_<mode>): Likewise.
-	(xststdcqp_<mode>): Likewise.
-	(xststdcnegqp_<mode>): Likewise.
-	(xststdcqp_<mode>): Likewise.
-
-2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-threadupdate.c (compute_path_counts): Remove
-	unused path_in_freq_ptr parameter.
-	(ssa_fix_duplicate_block_edges): Do not pass around path_in_freq
-
-2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (edge_badness): Dump sreal frequency.
-	(compute_inlined_call_time): Match natural implementaiton ...
-	* ipa-fnsummary.c (estimate_edge_size_and_time): ... here; remove
-	forgotten division by CGRAPH_FREQ_BASE.
-
-2017-11-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since
-	Solaris 11.  Update comment.
-	* configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12
-	renaming.
-	* config/sol2.h (STARTFILE_SPEC): Likewise.
-	* configure: Regenerate.
-
-2017-11-14  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000.c (swap_endian_selector_for_mode): Remove
-	le_ and be_ prefixes to swap* variables.  Remove
-	if (VECTOR_ELT_ORDER_BIG) statement. Remove E_V16QImode case
-	statements.
-
-2017-11-14  Jason Merrill  <jason@redhat.com>
-
-	Support GTY((cache)) on hash_map.
-	* hash-traits.h (ggc_remove): Add ggc_maybe_mx member function.
-	(ggc_cache_remove): Override it instead of ggc_mx.
-	* hash-table.h (gt_ggc_mx): Call it instead of ggc_mx.
-	(gt_cleare_cache): Call ggc_mx instead of gt_ggc_mx.
-	* hash-map-traits.h (simple_hashmap_traits): Add maybe_mx member.
-	(simple_cache_map_traits): Override maybe_mx.
-	* hash-map.h (hash_entry): Add ggc_maybe_mx and keep_cache_entry.
-	(hash_map): Friend gt_cleare_cache.
-	(gt_cleare_cache): New.
-	* tree.h (tree_cache_traits): New hash_map traits class.
-	(tree_cache_map): New typedef.
-
-2017-11-14  Richard Biener  <rguenther@suse.de>
-
-	* tree-cfgcleanup.c (cleanup_control_expr_graph): Remove first_p
-	paramter and handling.
-	(cleanup_control_flow_bb): Likewise.
-	(cleanup_control_flow_pre): New helper performing a DFS walk
-	to call cleanup_control_flow_bb in PRE order.
-	(cleanup_tree_cfg_1): Do the first phase of cleanup_control_flow_bb
-	via cleanup_control_flow_pre.
-
-2017-11-14  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-simd.md
-	(aarch64_simd_bsl<mode>_internal): Remove DImode.
-	(*aarch64_simd_bsl<mode>_alt): Likewise.
-	(aarch64_simd_bsldi_internal): New.
-	(aarch64_simd_bsldi_alt): Likewise.
-
-2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tracer.c (better_p): Do not compare frequencies.
-	* reg-stack.c (better_edge): Likewise.
-	* shrink-wrap.c (try_shrink_wrapping): Do not convert to gcov counts
-	and back.
-
-2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* auto-profile.c (afdo_annotate_cfg): Use update_max_bb_count.
-	* cgraphunit.c (cgraph_node::expand_thunk): Use update_max_bb_count.
-	* ipa-utils.c (ipa_merge_profiles): Use update_max_bb_count.
-	* lto-streamer-in.c (input_function): Use update_max_bb_count.
-	* omp-expand.c (expand_omp_taskreg): Use update_max_bb_count.
-	* predict.c (maybe_hot_frequency_p): Inline to ...
-	(maybe_hot_count_p): ... here; rewrite to counts.
-	(counts_to_freqs): Rename to ...
-	(update_max_bb_count): ... this one.
-	(expensive_function_p): Use counts.
-	(estimate_bb_frequencies): Update.
-	(rebuild_frequencies): Update.
-	* predict.h (counts_to_freqs): Rename to ...
-	(update_max_bb_count): ... this one.
-	* profile.c (compute_branch_probabilities): Add debug info
-	* tree-inline.c (expand_call_inline): Update debug info.
-	(optimize_inline_calls): Use update_max_bb_count..
-	(tree_function_versioning): Use update_max_bb_count..
-	* value-prof.c (gimple_value_profile_transformations):
-	Do not use update_max_bb_count.
-
-2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (compute_uninlined_call_time, compute_inlined_call_time):
-	always use frequencies.
-
-2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* bb-reorder.c: Remove frequencies from comments.
-	(better_edge_p): Use profile counts.
-	(find_traces): Dump profile counts.
-	(rotate_loop): Use profile counts.
-	(find_traces_1_round): Likewise.
-	(connect_better_edge_p): Use counts instead of probabilities for
-	reverse walk.
-	(copy_bb_p): Drop early check for non-0 frequency.
-	(sanitize_hot_paths): Update comments.
-
-2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-split.c (struct split_point): Add count.
-	(consider_split): Do not compute incoming frequency; compute incoming
-	count and store it to split_point.
-	(split_function): Set count of the call to split part correctly.
-
-2017-11-13  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/altivec.md (altivec_vsumsws_be): Add define_expand.
-
-2017-11-13  Tom Tromey  <tom@tromey.com>
-
-	* doc/cpp.texi (Variadic Macros): Document __VA_OPT__.
-
-2017-11-13  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
-	Add support for builtins:
-	unsigned int vec_first_{,miss}_match_{,or_eos}index,
-	vector {un,}signed {char,int,short},
-	vector {un,}signed {char,int,short}) arguments.
-	* config/rs6000/rs6000-builtin.def (VFIRSTMATCHINDEX,
-	VFIRSTMATCHOREOSINDEX, VFIRSTMISMATCHINDEX, VFIRSTMISMATCHOREOSINDEX):
-	Add BU_P9V_AV_2 expansions for the builtins.
-	* config/rs6000/altivec.h (vec_first_match_index,
-	vec_first_mismatch_index, vec_first_match_or_eos_index,
-	vec_first_mismatch_or_eos_index): Add #defines for the builtins.
-	* config/rs6000/rs6000-protos.h (bytes_in_mode): Add
-	new extern declaration.
-	* config/rs6000/rs6000.c (bytes_in_mode): Add new function.
-	* config/rs6000/vsx.md (first_match_index_<mode>,
-	first_match_or_eos_index_<mode>, first_mismatch_index_<mode>,
-	first_mismatch_or_eos_index_<mode>): Add define expand.
-	(vctzlsbb_<mode>): Add mode field to define_insn for vctzlsbb.
-	* doc/extend.texi: Update the built-in documenation file for the new
-	built-in functions.
-
-2017-11-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* match.pd: Convert fminf<N>, fminf<N>x, fmax<N>, and fmax<N>x
-	into the min/max operations for _Float<N> and _Float<N>X types.
-
-2017-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR lto/81351
-	* dwarf2out.c (do_eh_frame): New static variable.
-	(dwarf2out_begin_prologue): Set it.
-	(dwarf2out_frame_finish): Test it instead of dwarf2out_do_eh_frame.
-
-2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-coalesce.c (coalesce_cost): Fix formating.
-
-	* tree-ssa-sink.c (select_best_block): Do not use frequencies.
-
-2017-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR lto/81351
-	* debug.h (dwarf2out_do_eh_frame): Declare.
-	* dwarf2cfi.c (dwarf2out_do_eh_frame): New predicate.
-	(dwarf2out_do_frame): Use it.
-	(dwarf2out_do_cfi_asm): Likewise.
-	* dwarf2out.c (dwarf2out_frame_finish): Likewise.
-	(dwarf2out_assembly_start): Likewise.
-	(dwarf2out_begin_prologue): Fix comment.
-	* toplev.c (compile_file): Always call dwarf2out_frame_finish
-	if the target needs either debug or unwind DWARF2 info.
-	* lto-opts.c (lto_write_options): Do not save -fexceptions,
-	-fnon-call-exceptions, -ffp-contract, -fmath-errno, -fsigned-zeros,
-	-ftrapping-math, -ftrapv and -fwrapv.
-
-2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_edge::sreal_frequency): New function.
-	* cgraph.h (cgraph_edge::sreal_frequency): Declare.
-	* ipa-fnsummary.c (dump_ipa_call_summary): Use sreal_frequency.
-	(estimate_edge_size_and_time): Likewise.
-	(ipa_merge_fn_summary_after_inlining): Likewise.
-	* ipa-inline.c (cgraph_freq_base_rec): Remove.
-	(compute_uninlined_call_time): Use sreal_frequency.
-	(compute_inlined_call_time): Likewise.
-	(ipa_inline): Do not initialize cgraph_freq_base_rec.
-	* profile-count.c: Include sreal.h.
-	(profile_count::to_sreal_scale): New.
-	* profile-count.h: Forward declare sreal.
-	(profile_count::to_sreal_scale): Declare.
-
-2017-11-13  Nathan Sidwell  <nathan@acm.org>
-
-	* diagnostic.c (maybe_line_and_column): New.
-	(diagnostic_get_location_text): Use it.
-	(diagnostic_report_current_module): Likewise.
-	(test_diagnostic_get_location_text): Add tests.
-
-2017-11-13  Luis Machado  <luis.machado@linaro.org>
-
-	* doc/md.texi (Specifying processor pipeline description): Fix
-	incorrect latency for the div instruction example.
-
-2017-11-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78821
-	* gimple-ssa-store-merging.c (compatible_load_p): Don't require
-	that bit_not_p is the same.
-	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
-	(split_group): Count precisely bit_not_p bits in each statement.
-	(invert_op): New function.
-	(imm_store_chain_info::output_merged_store): Use invert_op to
-	emit BIT_XOR_EXPR with a xor_mask instead of BIT_NOT_EXPR if some
-	but not all orig_stores have BIT_NOT_EXPR in the corresponding spots.
-
-2017-11-13  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (struct coverage_info): Remove typedef of coverage_t.
-	(struct source_info): Likewise.
-	(add_branch_counts): Likewise.
-	(add_line_counts): Likewise.
-	(function_summary): Likewise.
-	(output_intermediate_line): Likewise.
-	(generate_results): Likewise.
-
-2017-11-13  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (struct block_info): Remove typedef for block_t.
-	(struct line_info): Likewise.
-	(line_info::has_block): Likewise.
-	(EXIT_BLOCK): Likewise.
-	(unblock): Likewise.
-	(circuit): Likewise.
-	(get_cycles_count): Likewise.
-	(process_file): Likewise.
-	(read_graph_file): Likewise.
-	(solve_flow_graph): Likewise.
-	(find_exception_blocks): Likewise.
-	(add_line_counts): Likewise.
-	(accumulate_line_info): Likewise.
-	(output_line_details): Likewise.
-
-2017-11-13  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (struct arc_info): Remove typedef for arc_t.
-	(struct line_info): Likewise.
-	(add_branch_counts): Likewise.
-	(output_branch_count): Likewise.
-	(function_info::~function_info): Likewise.
-	(circuit): Likewise.
-	(output_intermediate_line): Likewise.
-	(read_graph_file): Likewise.
-	(solve_flow_graph): Likewise.
-	(find_exception_blocks): Likewise.
-	(add_line_counts): Likewise.
-	(accumulate_line_info): Likewise.
-	(output_line_details): Likewise.
-	(output_function_details): Likewise.
-
-2017-11-13  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (struct function_info): Remove typedef for function_t.
-	(struct source_info): Likewise.
-	(source_info::get_functions_at_location): Likewise.
-	(solve_flow_graph): Likewise.
-	(find_exception_blocks): Likewise.
-	(add_line_counts): Likewise.
-	(output_intermediate_file): Likewise.
-	(process_file): Likewise.
-	(generate_results): Likewise.
-	(release_structures): Likewise.
-	(read_graph_file): Likewise.
-	(read_count_file): Likewise.
-	(accumulate_line_counts): Likewise.
-	(output_lines): Likewise.
-
-2017-11-13  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (function_info::function_info): Remove num_counts
-	and add vector<gcov_type>.
-	(function_info::~function_info): Use the vector.
-	(process_file): Likewise.
-	(read_graph_file): Likewise.
-	(read_count_file): Likewise.
-	(solve_flow_graph): Likewise.
-
-2017-11-13  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (function_info::is_artificial): New function.
-	(process_file): Erase all artificial early.
-	(generate_results): Skip as all artificial are already
-	removed.
-
-2017-11-13  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (read_graph_file): Store to global vector of functions.
-	(read_count_file): Iterate the vector.
-	(process_file): Likewise.
-	(generate_results): Likewise.
-	(release_structures): Likewise.
-
-2017-11-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/82954
-	* gimple-ssa-store-merging.c
-	(imm_store_chain_info::coalesce_immediate_stores): If
-	!infof->ops[N].base_addr, split group if info->ops[N].base_addr.
-
-2017-11-13  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/aarch64/aarch64-simd.md (aarch64_store_lane0<mode>):
-	Upddate call to ENDIAN_LANE_N.
-	(aarch64_<sur>dot_lane<vsi2qi>): Use aarch64_endian_lane_rtx.
-	(aarch64_<sur>dot_laneq<vsi2qi>): Likewise.
-	(*aarch64_simd_vec_copy_lane<mode>): Update calls to ENDIAN_LANE_N
-	and use aarch64_endian_lane_rtx.
-	(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
-
-2017-11-12  Tom de Vries  <tom@codesourcery.com>
-
-	* config/riscv/riscv.h (ASM_OUTPUT_LABELREF): Wrap in do {} while (0).
-
-2017-11-12  Tom de Vries  <tom@codesourcery.com>
-
-	* config/elfos.h (ASM_OUTPUT_ASCII): Remove semicolon after macro body.
-
-2017-11-12  Tom de Vries  <tom@codesourcery.com>
-
-	* config/cr16/cr16.h (ASM_OUTPUT_LABELREF): Remove semicolon after macro
-	body.
-	* config/powerpcspe/xcoff.h (ASM_OUTPUT_LABELREF): Same.
-	* config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Same.
-	* defaults.h (ASM_OUTPUT_LABELREF): Same.
-
-2017-11-11  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81117
-	* doc/extend.texi (attribute nonstring): Remove spurious argument.
-
-	PR bootstrap/82948
-	* prefic.c (translate_name): Replace strncpy with memcpy to
-	avoid -Wstringop-truncation.
-
-2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-im.c (execute_sm_if_changed): Do not compute freq_sum.
-
-2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (maybe_hot_frequency_p): Do not use cfun.
-
-2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-tail-merge.c (replace_block_by): Fix and re-enable profile
-	merging.
-
-2017-11-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.md (bswaphi2_reg): On ISA 3.0 systems,
-	enable generating XXBRH if the value is in a vector register.
-	(bswapsi2_reg): On ISA 3.0 systems, enable generating XXBRW if the
-	value is in a vector register.
-	(bswapdi2_reg): On ISA 3.0 systems, always use XXBRD to do
-	register to register bswap64's instead of doing the GPR sequence
-	used on previous machines.
-	(bswapdi2_xxbrd): New insn.
-	(bswapdi2_reg): Disallow on ISA 3.0.
-	(register to register bswap64 splitter): Do not split the insn on
-	ISA 3.0 systems that use XXBRD.
-
-2017-11-10  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81117
-	* config/darwin-c.c (framework_construct_pathname): Replace strncpy
-	with memcpy.
-	(find_subframework_file): Same.
-
-2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* auto-profile.c (afdo_indirect_call): Drop frequency.
-	* cgraph.c (symbol_table::create_edge): Drop frequency argument.
-	(cgraph_node::create_edge): Drop frequency argument.
-	(cgraph_node::create_indirect_edge): Drop frequency argument.
-	(cgraph_edge::make_speculative): Drop frequency arguments.
-	(cgraph_edge::resolve_speculation): Do not update frequencies
-	(cgraph_edge::dump_edge_flags): Do not dump frequency.
-	(cgraph_node::dump): Check consistency in IPA mode.
-	(cgraph_edge::maybe_hot_p): Use IPA counter.
-	(cgraph_edge::verify_count_and_frequency): Rename to ...
-	(cgraph_edge::verify_count): ... this one; drop frequency checking.
-	(cgraph_node::verify_node): Update.
-	* cgraph.h (struct cgraph_edge): Drop frequency.
-	(cgraph_edge::frequency): New function.
-	* cgraphbuild.c (pass_build_cgraph_edges::execute): Donot pass
-	frequencies.
-	(cgraph_edge::rebuild_edges): Likewise.
-	* cgraphclones.c (cgraph_edge::clone): Scale only counts.
-	(duplicate_thunk_for_node): Do not pass frequency.
-	(cgraph_node::create_clone): Scale only counts.
-	(cgraph_node::create_virtual_clone): Do not pass frequency.
-	(cgraph_node::create_edge_including_clones): Do not pass frequency.
-	(cgraph_node::create_version_clone): Do not pass frequency.
-	* cgraphunit.c (cgraph_node::analyze): Do not pass frequency.
-	(cgraph_node::expand_thunk): Do not pass frequency.
-	(cgraph_node::create_wrapper): Do not pass frequency.
-	* gimple-iterator.c (update_call_edge_frequencies): Do not pass
-	frequency.
-	* gimple-streamer-in.c (input_bb): Scale only IPA counts.
-	* ipa-chkp.c (chkp_produce_thunks): Do not pass frequency.
-	* ipa-cp.c (ipcp_lattice::print): Use frequency function.
-	(gather_caller_stats): Use frequency function.
-	(ipcp_cloning_candidate_p): Use frequency function.
-	(ipcp_propagate_stage): Use frequency function.
-	(get_info_about_necessary_edges): Use frequency function.
-	(update_profiling_info): Update only IPA profile.
-	(update_specialized_profile): Use frequency functoin.
-	(perhaps_add_new_callers): Update only IPA profile.
-	* ipa-devirt.c (ipa_devirt): Use IPA profile.
-	* ipa-fnsummary.c (redirect_to_unreachable): Do not set frequrency.
-	(dump_ipa_call_summary): Use frequency function.
-	(estimate_edge_size_and_time): Use frequency function.
-	(ipa_merge_fn_summary_after_inlining): Use frequency function.
-	* ipa-inline-analysis.c (do_estimate_edge_time): Use IPA profile.
-	* ipa-inline-transform.c (update_noncloned_frequencies): Rename to ..
-	(update_noncloned_counts): ... ths one; scale counts only.
-	(clone_inlined_nodes): Do not scale frequency.
-	(inline_call): Do not pass frequency.
-	* ipa-inline.c (compute_uninlined_call_time): Use IPA profile.
-	(compute_inlined_call_time): Use IPA profile.
-	(want_inline_small_function_p): Use IPA profile.
-	(want_inline_self_recursive_call_p): Use IPA profile.
-	(edge_badness): Use IPA profile.
-	(lookup_recursive_calls): Use IPA profile.
-	(recursive_inlining): Do not pass frequency.
-	(resolve_noninline_speculation): Do not update frequency.
-	(inline_small_functions): Collect max of IPA profile.
-	(dump_overall_stats): Dump IPA porfile.
-	(dump_inline_stats): Dump IPA porfile.
-	(ipa_inline): Collect IPA stats.
-	* ipa-inline.h (clone_inlined_nodes): Update prototype.
-	* ipa-profile.c (ipa_propagate_frequency_1): Use frequency function.
-	(ipa_propagate_frequency): Use frequency function.
-	(ipa_profile): Cleanup.
-	* ipa-prop.c (ipa_make_edge_direct_to_target): Do not pass frequency
-	* ipa-utils.c (ipa_merge_profiles): Merge all profiles.
-	* lto-cgraph.c (lto_output_edge): Do not stream frequency.
-	(input_node): Do not stream frequency.
-	(input_edge): Do not stream frequency.
-	(merge_profile_summaries): Scale only IPA profiles.
-	* omp-simd-clone.c (simd_clone_adjust): Do not pass frequency.
-	* predict.c (drop_profile): Do not recompute frequency.
-	* trans-mem.c (ipa_tm_insert_irr_call): Do not pass frequency.
-	(ipa_tm_insert_gettmclone_call): Do not pass frequency.
-	* tree-cfg.c (execute_fixup_cfg): Drop profile to global0 if needed.
-	* tree-chkp.c (chkp_copy_bounds_for_assign): Do not pass frequency.
-	* tree-emutls.c (gen_emutls_addr): Do not pass frequency.
-	* tree-inline.c (copy_bb): Do not scale frequency.
-	(expand_call_inline): Do not scale frequency.
-	(tree_function_versioning): Do not scale frequency.
-	* ubsan.c (ubsan_create_edge): Do not pass frequency.
-
-2017-11-10  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8)
-	(_mm256_gf2p8affine_epi64_epi8, _mm_mask_gf2p8affine_epi64_epi8)
-	(_mm_maskz_gf2p8affine_epi64_epi8, _mm256_mask_gf2p8affine_epi64_epi8)
-	(_mm256_maskz_gf2p8affine_epi64_epi8)
-	(_mm512_mask_gf2p8affine_epi64_epi8, _mm512_gf2p8affine_epi64_epi8)
-	(_mm512_maskz_gf2p8affine_epi64_epi8): New intrinsics.
-	* config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi)
-	(__builtin_ia32_vgf2p8affineqb_v32qi)
-	(__builtin_ia32_vgf2p8affineqb_v16qi): New builtins.
-	* config/i386/sse.md (vgf2p8affineqb_<mode><mask_name>): New pattern.
-
-2017-11-10  Tamar Christina  <tamar.christina@arm.com>
-
-	PR target/82641
-	* config/arm/arm.c
-	(arm_option_override): Refactor.
-	(arm_option_reconfigure_globals): New.
-	(arm_options_perform_arch_sanity_checks): New.
-	* config/arm/arm-protos.h (arm_option_reconfigure_globals):
-	New prototype.
-	(arm_options_perform_arch_sanity_checks): Likewise
-
-2017-11-10  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* rs6000/power9.md (power9-qpdiv): Correct DFU pipe usage.
-	(power9-qpmul): New.
-	* rs6000/rs6000.md ("type" attr): Add qmul.
-	(mul<mode>3, fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw,
-	*nfms<mode>4_hw, mul<mode>3_odd, fma<mode>4_odd, *fms<mode>4_odd,
-	*nfma<mode>4_odd, *nfms<mode>4_odd): Change type to qmul.
-
-2017-11-10  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81117
-	* builtins.c (compute_objsize): Handle arrays that
-	compute_builtin_object_size likes to fail for.  Make extern.
-	* builtins.h (compute_objsize): Declare.
-	(check_strncpy_sizes): New function.
-	(expand_builtin_strncpy): Call check_strncpy_sizes.
-	* gimple-fold.c (gimple_fold_builtin_strncpy): Implement
-	-Wstringop-truncation.
-	(gimple_fold_builtin_strncat): Same.
-	* gimple.c (gimple_build_call_from_tree): Set call location.
-	* tree-ssa-strlen.c (strlen_to_stridx): New global variable.
-	(maybe_diag_bound_equal_length, is_strlen_related_p): New functions.
-	(handle_builtin_stxncpy, handle_builtin_strncat): Same.
-	(handle_builtin_strlen): Use strlen_to_stridx.
-	(strlen_optimize_stmt): Handle flavors of strncat, strncpy, and
-	stpncpy.
-	Use strlen_to_stridx.
-	(pass_strlen::execute): Release strlen_to_stridx.
-	* doc/invoke.texi (-Wsizeof-pointer-memaccess): Document enhancement.
-	(-Wstringop-truncation): Document new option.
-
-2017-11-10  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/82702
-	* gcov.c (main): Handle intermediate files in a different
-	way.
-	(get_gcov_intermediate_filename): New function.
-	(output_gcov_file): Remove support of intermediate files.
-	(generate_results): Allocate intermediate file.
-	(release_structures): Clean-up properly fn_end.
-	(output_intermediate_file): Start iterating with line 1.
-
-2017-11-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/82929
-	* gimple-ssa-store-merging.c (struct store_immediate_info): Add
-	ops_swapped_p non-static data member.
-	(store_immediate_info::store_immediate_info): Clear it.
-	(imm_store_chain_info::coalesce_immediate_stores): If swapping
-	ops set ops_swapped_p.
-	(count_multiple_uses): Handle ops_swapped_p.
-
-2017-11-10  Martin Liska  <mliska@suse.cz>
-
-	* coverage.c (coverage_init): Stream information about
-	support of has_unexecuted_blocks.
-	* doc/gcov.texi: Document that.
-	* gcov-dump.c (dump_gcov_file): Support it in gcov_dump tool.
-	* gcov.c (read_graph_file): Likewise.
-	(output_line_beginning): Fix a small issue with
-	color output.
-
-2017-11-10  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c (determine_roots_comp): Avoid memory leak by freeing
-	reference of trivial component.
-
-2017-11-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/82916
-	* gimple-ssa-store-merging.c
-	(pass_store_merging::terminate_all_aliasing_chains): For
-	gimple_store_p stmts also call refs_output_dependent_p.
-
-	PR rtl-optimization/82913
-	* compare-elim.c (try_merge_compare): Punt if def_insn is not
-	single set.
-
-2017-11-09  Jeff Law  <law@redhat.com>
-
-	* vr-values.h: New file with vr_values class.
-	* tree-vrp.c: Include vr-values.h
-	(vrp_value_range_pool, vrp_equiv_obstack, num_vr_values): Move static
-	data objects into the vr_values class.
-	(vr_value, values_propagated, vr_phi_edge_counts): Likewise.
-	(get_value_range): Make it a member function within vr_values class.
-	(set_defs_to_varying, update_value_range, add_equivalence): Likewise.
-	(vrp_stmt_computes_nonzero_p, op_with_boolean_value_range_p): Likewise.
-	(op_with_constant_singleton_value_range): Likewise.
-	(extract_range_for_var_from_comparison_expr): Likewise.
-	(extract_range_from_assert, extract_range_from_ssa_name): Likewise.
-	(extract_range_from_binary_expr): Likewise.
-	(extract_range_from_unary_expr): Likewise.
-	(extract_range_from_cond_expr, extrat_range_from_comparison): Likewise.
-	(check_for_binary_op_overflow, extract_range_basic): Likewise.
-	(extract_range_from_assignment, adjust_range_with_scev): Likewise.
-	(dump_all_value_ranges, get_vr_for_comparison): Likewise.
-	(compare_name_with_value, compare_names): Likewise.
-	(vrp_evaluate_conditional_warnv_with_ops_using_ranges): Likewise.
-	(vrp_evaluate_conditional_warnv_with_ops): Likewise.  Remove prototype.
-	(vrp_evaluate_conditional, vrp_visit_cond_stmt): Likewise.
-	(vrp_visit_switch_stmt, extract_range_from_stmt): Likewise.
-	(extract_range_from_phi_node): Likewise.
-	(simplify_truth_ops_using_ranges): Likewise.
-	(simplify_div_or_mod_using_ranges): Likewise.
-	(simplify_min_or_max_using_ranges, simplify_abs_using_ranges): Likewise.
-	(simplify_bit_ops_using_ranges, simplify_cond_using_ranges_1): Likewise.
-	(simplify_cond_using_ranges_2, simplify_switch_using_ranges): Likewise.
-	(simplify_float_conversion_using_ranges): Likewise.
-	(simplify_internal_call_using_ranges): Likewise.
-	(two_valued_val_range_p, simplify_stmt_using_ranges): Likewise.
-	(vrp_visit_assignment_or_call): Likewise.  Smuggle class instance
-	poitner via x_vr_values for calls into gimple folder.
-	(vrp_initialize_lattice): Make this the vr_values ctor.
-	(vrp_free_lattice): Make this the vr_values dtor.
-	(set_vr_value): New function.
-	(class vrp_prop): Add vr_values data member.  Add various member
-	functions as well as member functions that delegate to vr_values.
-	(check_array_ref): Make a member function within vrp_prop class.
-	(search_for_addr_array, vrp_initialize): Likewise.
-	(vrp_finalize): Likewise.  Revamp to avoid direct access to
-	vr_value, values_propagated, etc.
-	(check_array_bounds): Extract vrp_prop class instance pointer from
-	walk info structure.  Use it to call member functions.
-	(check_all_array_refs): Make a member function within vrp_prop class.
-	Smuggle class instance pointer via walk info structure.
-	(x_vr_values): New local static.
-	(vrp_valueize): Use x_vr_values to get class instance.
-	(vr_valueize_1): Likewise.
-	(class vrp_folder): Add vr_values data member.  Add various member
-	functions as well as member functions that delegate to vr_values.
-	(fold_predicate_in): Make a mber fucntion within vrp_folder class.
-	(simplify_stmt_for_jump_threading): Extract smuggled vr_values
-	class instance from vr_values.  Use it to call member functions.
-	(vrp_dom_walker): Add vr_values data member.
-	(vrp_dom_walker::after_dom_children): Smuggle vr_values class
-	instance via x_vr_values.
-	(identify_jump_threads): Accept vr_values as argument.  Store
-	it into the walker structure.
-	(evrp_dom_walker): Add vr_values class data member.  Add various
-	delegators.
-	(evrp_dom_walker::try_find_new_range): Use vr_values data
-	member to access the memory allocator.
-	(evrp_dom_walker::before_dom_children): Store vr_values class
-	instance into the vrp_folder class.
-	(evrp_dom_walker::push_value_range): Rework to avoid direct
-	access to num_vr_values and vr_value.
-	(evrp_dom_walker::pop_value_range): Likewise.
-	(execute_early_vrp): Remove call to vrp_initialize_lattice.
-	Use vr_values to get to dump_all_value_ranges member function.
-	Remove call to vrp_free_lattice.  Call vrp_initialize, vrp_finalize,
-	and simplify_cond_using_ranges_2 via vrp_prop class instance.
-	Pass vr_values class instance down to identify_jump_threads.
-	Remove call to vrp_free_lattice.
-	(debug_all_value_ranges): Remove.
-
-	* tree-vrp.c (vrp_prop): Move class to earlier point in the file.
-	(vrp_folder): Likewise.
-
-	* tree-vrp.c (set_value_range): Do not reference vrp_equiv_obstack.
-	Get it from the existing bitmap instead.
-	(vrp_intersect_ranges_1): Likewise.
-
-2017-11-09  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimple-ssa-store-merging.c (struct store_immediate_info): Add
-	bit_not_p field.
-	(store_immediate_info::store_immediate_info): Add bitnotp argument,
-	set bit_not_p to it.
-	(imm_store_chain_info::coalesce_immediate_stores): Break group
-	if bit_not_p is different.
-	(count_multiple_uses, split_group,
-	imm_store_chain_info::output_merged_store): Handle info->bit_not_p.
-	(handled_load): Avoid multiple chained BIT_NOT_EXPRs.
-	(pass_store_merging::process_store): Handle BIT_{AND,IOR,XOR}_EXPR
-	result inverted using BIT_NOT_EXPR, compute bit_not_p, pass it
-	to store_immediate_info ctor.
-
-2017-11-09  Jim Wilson  <jimw@sifive.com>
-
-	* collect2.c (OBJECT_FORMAT_COFF): Remove EXTENDED_COFF support.
-	(scan_prog_file): Likewise.
-
-2017-11-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* bb-reorder.c (max_entry_frequency): Remove.
-	(find_traces, rotate_loop, mark_bb_visited, connect_better_edge_p,
-	connect_traces, push_to_next_round_p): Remove prototypes.
-	(find_traces_1_round): Use counts only.
-	(push_to_next_round_p): Likewise.
-	(find_traces): Likewise.
-	(rotate_loop): Likewise.
-	(find_traces_1_round): Likewise.
-	(connect_traces): Likewise.
-	(edge_order): Likewise.
-
-2017-11-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (output_return_instruction): Add comments to
-	indicate requirement for cmse_nonsecure_entry return to account
-	for the size of clearing instruction output here.
-	(thumb_exit): Likewise.
-	* config/arm/thumb2.md (thumb2_cmse_entry_return): Fix length for
-	return in hardfloat mode.
-
-2017-11-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (machine_function): Add a bool,
-	"toc_is_wrapped_separately".
-	(rs6000_option_override_internal): Enable OPTION_MASK_SAVE_TOC_INDIRECT
-	if it wasn't explicitly set or unset, we are optimizing for speed, and
-	doing separate shrink-wrapping.
-	(rs6000_get_separate_components): Enable the TOC component if
-	saving the TOC register in the prologue.
-	(rs6000_components_for_bb): Handle the TOC component.
-	(rs6000_emit_prologue_components): Store the TOC register where needed.
-	(rs6000_set_handled_components): Mark TOC as handled, if handled.
-	(rs6000_emit_prologue): Don't save the TOC if that is already done.
-
-2017-11-09  Martin Jambor  <mjambor@suse.cz>
-
-	* ipa-param-manipulation.c: New file.
-	* ipa-param-manipulation.h: Likewise.
-	* Makefile.in (OBJS): Add ipa-param-manipulation.o.
-	(PLUGIN_HEADERS): Addded ipa-param-manipulation.h
-	* ipa-param.h (ipa_parm_op): Moved to ipa-param-manipulation.h.
-	(ipa_parm_adjustment): Likewise.
-	(ipa_parm_adjustment_vec): Likewise.
-	(ipa_get_vector_of_formal_parms): Moved declaration to
-	ipa-param-manipulation.h.
-	(ipa_get_vector_of_formal_parm_types): Likewise.
-	(ipa_modify_formal_parameters): Likewise.
-	(ipa_modify_call_arguments): Likewise.
-	(ipa_combine_adjustments): Likewise.
-	(ipa_dump_param_adjustments): Likewise.
-	(ipa_modify_expr): Likewise.
-	(ipa_get_adjustment_candidate): Likewise.
-	* ipa-prop.c (ipa_get_vector_of_formal_parms): Moved to
-	ipa-param-manipulation.c.
-	(ipa_get_vector_of_formal_parm_types): Likewise.
-	(ipa_modify_formal_parameters): Likewise.
-	(ipa_modify_call_arguments): Likewise.
-	(ipa_modify_expr): Likewise.
-	(get_ssa_base_param): Likewise.
-	(ipa_get_adjustment_candidate): Likewise.
-	(index_in_adjustments_multiple_times_p): Likewise.
-	(ipa_combine_adjustments): Likewise.
-	(ipa_dump_param_adjustments): Likewise.
-	* tree-sra.c: Also include ipa-param-manipulation.h
-	* omp-simd-clone.c: Include ipa-param-manipulation.h instead of
-	ipa-param.h.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/sourcebuild.texi (vect_masked_store): Document.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/sourcebuild.texi (vect_align_stack_vars): Document.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/sourcebuild.texi (vect_variable_length): Document.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/sourcebuild.texi (vect_unaligned_possible): Document.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/sourcebuild.texi (vect_element_align_preferred): Document.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/sourcebuild.texi (vect_perm_short, vect_perm_byte): Document
-	previously undocumented selectors.
-	(vect_perm3_byte, vect_perm3_short, vect_perm3_int): Document.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* doc/rtl.texi (const_vector): Say that elements can be
-	const_wide_ints too.
-	* emit-rtl.h (valid_for_const_vec_duplicate_p): Declare.
-	* emit-rtl.c (valid_for_const_vec_duplicate_p): New function.
-	(gen_vec_duplicate): Use it instead of CONSTANT_P.
-	* optabs.c (expand_vector_broadcast): Likewise.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_address_cost): Try using a
-	scaled index even if the unscaled address was invalid.
-	Don't increase the complexity of using a scale in that case.
-
-2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/rtl.texi: Rewrite the subreg rules so that they partition
-	the inner register into REGMODE_NATURAL_SIZE bytes rather than
-	UNITS_PER_WORD bytes.
-	* emit-rtl.c (validate_subreg): Divide subregs into blocks
-	based on REGMODE_NATURAL_SIZE of the inner mode.
-	(gen_lowpart_common): Split the SCALAR_FLOAT_MODE_P and
-	!SCALAR_FLOAT_MODE_P cases.  Use REGMODE_NATURAL_SIZE for the latter.
-	* expmed.c (lowpart_bit_field_p): Divide the value up into
-	chunks of REGMODE_NATURAL_SIZE rather than UNITS_PER_WORD.
-	* expr.c (store_constructor): Use REGMODE_NATURAL_SIZE to test
-	whether something is likely to occupy more than one register.
-
-2017-11-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/82879
-	* ipa-inline-transform.c (update_noncloned_frequencies): Use
-	profile_count::adjust_for_ipa_scaling.
-	* tree-inline.c (copy_bb, copy_cfg_body): Likewise.
-	* profile-count.c (profile_count::adjust_for_ipa_scaling): New member
-	function.
-	* profile-count.h (profile_count::adjust_for_ipa_scaling): Declare.
-
-2017-11-09  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimple-ssa-store-merging.c (count_multiple_uses): New function.
-	(split_group): Add total_orig and total_new arguments, estimate the
-	number of statements related to the store group without store merging
-	and with store merging.
-	(imm_store_chain_info::output_merged_store): Adjust split_group
-	callers, punt if estimated number of statements with store merging
-	is not smaller than estimated number of statements without it.
-	Formatting fix.
-	(handled_load): Remove has_single_use checks.
-	(pass_store_merging::process_store): Likewise.
-
-2017-11-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82902
-	* tree-ssa-phiprop.c (propagate_with_phi): Test proper type.
-
-2017-11-09  Martin Liska  <mliska@suse.cz>
-
-	PR target/82863
-	* emit-rtl.c (init_emit_regs): Initialize split_branch_probability to
-	uninitialized.
-
-2017-11-09  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/82669
-	* sbitmap.h (bmp_iter_set_init): Remove non needed check.
-
-2017-11-09  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/48463
-	* coverage.c (coverage_begin_function): Output also end locus
-	of a function and information whether the function is
-	artificial.
-	* gcov-dump.c (tag_function): Parse and print the information.
-	* gcov.c (INCLUDE_MAP): Add include.
-	(INCLUDE_SET): Likewise.
-	(struct line_info): Move earlier in the source file because
-	of vector<line_info> in function_info structure.
-	(line_info::line_info): Likewise.
-	(line_info::has_block): Likewise.
-	(struct source_info): Add new member index.
-	(source_info::get_functions_at_location): New function.
-	(function_info::group_line_p): New function.
-	(output_intermediate_line): New function.
-	(output_intermediate_file): Use the mentioned function.
-	(struct function_start): New.
-	(struct function_start_pair_hash): Likewise.
-	(process_file): Add code that identifies group functions.
-	Assign lines either to global or function scope.
-	(generate_results): Skip artificial functions.
-	(find_source): Assign index for each source file.
-	(read_graph_file): Read new flag artificial and end_line.
-	(add_line_counts): Assign it either to global of function scope.
-	(accumulate_line_counts): Isolate core of the function to
-	accumulate_line_info and call it for both function and global
-	scope lines.
-	(accumulate_line_info): New function.
-	(output_line_beginning): Fix GNU coding style.
-	(print_source_line): New function.
-	(output_line_details): Likewise.
-	(output_function_details): Likewise.
-	(output_lines): Iterate both source (global) scope and function
-	scope.
-	(struct function_line_start_cmp): New class.
-	* doc/gcov.texi: Reflect changes in documentation.
-
-2017-11-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/82837
-	* dwarf2out.c (const_ok_for_output_1): Reject NEG in addition to NOT.
-	(mem_loc_descriptor): Handle (const (neg (...))) as (neg (const (...)))
-	and similarly for not instead of neg.
-
-2017-11-08  Andi Kleen  <ak@linux.intel.com>
-
-	* config/i386/i386.opt: Add -mforce-indirect-call.
-	* config/i386/predicates.md: Check for flag_force_indirect_call.
-	* doc/invoke.texi: Document -mforce-indirect-call
-
-2017-11-08  Kito Cheng  <kito.cheng@gmail.com>
-
-	* config/riscv/riscv-protos.h (riscv_slow_unaligned_access_p):
-	New extern.
-	(MOVE_RATIO): Use riscv_slow_unaligned_access_p.
-	config/riscv/riscv.c (predict.h): New include.
-	(riscv_slow_unaligned_access_p): No longer static.
-	(riscv_block_move_straight): Add require.
-	* config/riscv/riscv-protos.h (riscv_hard_regno_nregs): Delete.
-
-2017-11-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82855
-	* config/i386/sse.md (<avx512>_eq<mode>3<mask_scalar_merge_name>,
-	<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Use
-	nonimmediate_operand predicate for operand 1 instead of
-	register_operand.
-
-2017-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64-simd.md (store_pair_lanes<mode>):
-	New pattern.
-	* config/aarch64/constraints.md (Uml): New constraint.
-	* config/aarch64/predicates.md (aarch64_mem_pair_lanes_operand): New
-	predicate.
-
-2017-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge
-	of two vec_duplicates into a vec_concat.
-
-2017-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* simplify-rtx.c (simplify_ternary_operation, VEC_MERGE):
-	Simplify vec_merge of vec_duplicate and vec_concat.
-	* config/aarch64/constraints.md (Utq): New constraint.
-	* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): New
-	define_insn.
-
-2017-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* simplify-rtx.c (simplify_ternary_operation, VEC_MERGE):
-	Simplify vec_merge of vec_duplicate and const_vector.
-	* config/aarch64/predicates.md (aarch64_simd_or_scalar_imm_zero):
-	New predicate.
-	* config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Use VDC
-	mode iterator.  Update predicate on operand 1 to
-	handle non-const_vec constants.  Delete constraints.
-	(*aarch64_combinez_be<mode>): Likewise for operand 2.
-
-2017-11-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78821
-	* gimple-ssa-store-merging.c (struct store_operand_info): Add bit_not_p
-	data member.
-	(store_operand_info::store_operand_info): Initialize it to false.
-	(pass_store_merging::terminate_all_aliasing_chains): Rewritten to use
-	ref_maybe_used_by_stmt_p and stmt_may_clobber_ref_p on lhs of each
-	store in the group, and if chain_info is non-NULL, to ignore altogether
-	that chain.
-	(compatible_load_p): Fail if bit_not_p does not match.
-	(imm_store_chain_info::output_merged_store): Handle bit_not_p loads.
-	(handled_load): Fill in bit_not_p.  Handle BIT_NOT_EXPR.
-	(pass_store_merging::process_store): Adjust
-	terminate_all_aliasing_chains calls to pass NULL in all current spots,
-	call terminate_all_aliasing_chains newly when adding a store into
-	a chain with non-NULL chain_info.
-
-2017-11-08  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_can_eliminate): Simplify logic.
-
-2017-11-08  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
-	Remove.
-	(aarch64_layout_frame): Initialise emit_frame_chain.
-	(aarch64_can_eliminate): Remove omit leaf frame pointer code.
-	(TARGET_FRAME_POINTER_REQUIRED): Remove define.
-
-2017-11-08  Martin Liska  <mliska@suse.cz>
-
-	* gimplify.c (expand_FALLTHROUGH_r): Simplify usage
-	of gimple_call_internal_p.
-
-2017-11-07  Tom de Vries  <tom@codesourcery.com>
-
-	* config/mips/mips.h (ASM_OUTPUT_LABELREF): Wrap in "do {} while (0)".
-
-2017-11-07  Tom de Vries  <tom@codesourcery.com>
-
-	* config/mips/mips.h (ASM_OUTPUT_CASE_END): Remove semicolon after
-	"do {} while (0)".
-
-2017-11-08  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/82792
-	* gimplify.c (expand_FALLTHROUGH_r): Skip IFN_ASAN_MARK.
-
-2017-11-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gimple-pretty-print.c (dump_profile): Return "" instead of NULL.
-
-2017-11-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82855
-	* config/i386/i386.md (SWI1248_AVX512BWDQ2_64): New mode iterator.
-	(*cmp<mode>_ccz_1): New insn with $k alternative.
-
-	PR target/82855
-	* config/i386/i386.c (ix86_swap_binary_operands_p): Treat
-	RTX_COMM_COMPARE as commutative as well.
-	(ix86_binary_operator_ok): Formatting fix.
-	* config/i386/sse.md (*mul<mode>3<mask_name><round_name>,
-	*<code><mode>3<mask_name><round_saeonly_name>,
-	*<code><mode>3<mask_name>, *<code>tf3, *mul<mode>3<mask_name>,
-	*<s>mul<mode>3_highpart<mask_name>,
-	*vec_widen_umult_even_v16si<mask_name>,
-	*vec_widen_umult_even_v8si<mask_name>,
-	*vec_widen_umult_even_v4si<mask_name>,
-	*vec_widen_smult_even_v16si<mask_name>,
-	*vec_widen_smult_even_v8si<mask_name>, *sse4_1_mulv2siv2di3<mask_name>,
-	*avx2_pmaddwd, *sse2_pmaddwd, *<sse4_1_avx2>_mul<mode>3<mask_name>,
-	*avx2_<code><mode>3, *avx512f_<code><mode>3<mask_name>,
-	*sse4_1_<code><mode>3<mask_name>, *<code>v8hi3,
-	*sse4_1_<code><mode>3<mask_name>, *<code>v16qi3, *avx2_eq<mode>3,
-	<avx512>_eq<mode>3<mask_scalar_merge_name>_1, *sse4_1_eqv2di3,
-	*sse2_eq<mode>3, <mask_codefor><code><mode>3<mask_name>,
-	*<code><mode>3, *<sse2_avx2>_uavg<mode>3<mask_name>,
-	*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>, *ssse3_pmulhrswv4hi3): Use
-	!(MEM_P (operands[1]) && MEM_P (operands[2])) condition instead of
-	ix86_binary_operator_ok.  Formatting fixes.
-	(*<plusminus_insn><mode>3<mask_name><round_name>,
-	*<plusminus_insn><mode>3, *<plusminus_insn><mode>3_m): Formatting
-	fixes.
-
-2017-11-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (GPR2): New mode_iterator.
-	("cstore<mode>4"): Don't always expand with rs6000_emit_int_cmove for
-	eq and ne if TARGET_ISEL.
-	(cmp): New code_iterator.
-	(UNS, UNSU_, UNSIK): New code_attrs.
-	(<code><GPR:mode><GPR2:mode>2_isel): New define_insn_and_split.
-	("eq<mode>3"): New define_expand, rename the define_insn_and_split
-	to...
-	("eq<mode>3"): ... this.
-	("ne<mode>3"): New define_expand, rename the define_insn_and_split
-	to...
-	("ne<mode>3"): ... this.
-
-2017-11-07  Julia Koval  <julia.koval@intel.com>
-
-	PR target/82812
-	* common/config/i386/i386-common.c
-	(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): Remove MPX from flag.
-	(ix86_handle_option): Move MPX to isa_flags2 and GFNI to isa_flags.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Ditto.
-	* config/i386/i386.opt: Ditto.
-	* config/i386/i386.c (ix86_target_string): Ditto.
-	(ix86_option_override_internal): Ditto.
-	(ix86_init_mpx_builtins): Move MPX to args2.
-	(ix86_expand_builtin): Special handling for OPTION_MASK_ISA_GFNI.
-	* config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineinvqb_v64qi,
-	__builtin_ia32_vgf2p8affineinvqb_v64qi_mask,
-	__builtin_ia32_vgf2p8affineinvqb_v32qi,
-	__builtin_ia32_vgf2p8affineinvqb_v32qi_mask,
-	__builtin_ia32_vgf2p8affineinvqb_v16qi,
-	__builtin_ia32_vgf2p8affineinvqb_v16qi_mask): Move to ARGS array.
-
-2017-11-07  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80425
-	* config/i386.i386.md (*zero_extendsidi2): Change (?r,*Yj), (?*Yi,r)
-	and (*x,m) to ($r,Yj), ($Yi,r) and ($x,m).
-	(zero-extendsidi peephole2): Remove peephole.
-
-2017-11-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR c/53037
-	* stor-layout.c: Include attribs.h.
-	(handle_warn_if_not_align): Replace test on TYPE_USER_ALIGN with
-	explicit lookup of "aligned" attribute.
-
-2017-11-07  Andrew Waterman  <andrew@sifive.com>
-
-	* config/riscv/riscv-protos.h (riscv_hard_regno_nregs): New prototype.
-	(riscv_expand_block_move): Likewise.
-	* config/riscv/riscv.h (MOVE_RATIO): Tune cost to movmemsi
-	implementation.
-	(RISCV_MAX_MOVE_BYTES_PER_LOOP_ITER): New define.
-	(RISCV_MAX_MOVE_BYTES_STRAIGHT): New define.
-	* config/riscv/riscv.c (riscv_block_move_straight): New function.
-	(riscv_adjust_block_mem): Likewise.
-	(riscv_block_move_loop): Likewise.
-	(riscv_expand_block_move): Likewise.
-	* config/riscv/riscv.md (movmemsi): New pattern.
-
-2017-11-07  Michael Clark  <michaeljclark@mac.com>
-
-	* config/riscv/linux.h (MUSL_ABI_SUFFIX): New define.
-	(MUSL_DYNAMIC_LINKER): Likewise.
-
-2017-11-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/aarch64/aarch64.md (ashl<mode>3, ashr<mode>3, lshr<mode>3)
-	(rotr<mode>3, rotl<mode>3): Use aarch64_reg_or_imm instead of
-	nonmmory_operand.
-
-2017-11-07  Richard Biener  <rguenther@suse.de>
-
-	* match.pd: Fix build.
-
-2017-11-07  Wilco Dijkstra  <wdijkstr@arm.com>
-	    Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	PR tree-optimization/71026
-	* match.pd: Canonicalize negate in division.
-
-2017-11-07  Sudakshina Das  <sudi.das@arm.com>
-
-	PR middle-end/80131
-	* match.pd: Simplify 1 << (C - x) where C = precision (x) - 1.
-
-2017-11-07  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd ((a&~b)|(a^b),(a&~b)^~a,(a|b)&~(a^b),a|~(a^b),
-	(a|b)|(a&^b),(a&b)|~(a^b),~(~a&b),~X^Y): New transformations.
-
-2017-11-07  Marc Glisse  <marc.glisse@inria.fr>
-
-	* fold-const.c (negate_expr_p) [PLUS_EXPR, MINUS_EXPR]: Handle
-	non-scalar integral types.
-	* match.pd (negate_expr_p): Handle MINUS_EXPR.
-	(-(A-B), -(~A)): New transformations.
-
-2017-11-07  Tom de Vries  <tom@codesourcery.com>
-
-	* config/powerpcspe/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
-	semicolon after "do {} while (0)".
-	* config/powerpcspe/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-	* config/powerpcspe/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-	* config/powerpcspe/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-	* config/powerpcspe/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-	* config/powerpcspe/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-
-2017-11-07  Tom de Vries  <tom@codesourcery.com>
-
-	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Remove semicolon
-	after "do {} while (0)".
-	* config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-	* config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-	* config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-	* config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
-
-2017-11-07  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/82784
-	* config/arm/arm.c (HANDLE_NARROW_SHIFT_ARITH): Remove semicolon after
-	"while {} do (0)".
-	(arm_rtx_costs_internal): Add missing semicolon after
-	HANDLE_NARROW_SHIFT_ARITH call.
-
-2017-11-06  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
-	disable isel if it was not set explicitly.
-
-2017-11-06  James Bowman  <james.bowman@ftdichip.com>
-
-	* gcc/dwarf2out.c (modified_type_die): Retain ADDR_SPACE qualifiers.
-	(add_type_attribute) likewise.
-
-2017-11-06  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (ix86_can_use_return_insn_p): Use reference
-	of struct ix86_frame.
-	(ix86_initial_elimination_offset): Likewise.
-	(ix86_expand_split_stack_prologue): Likewise.
-
-2017-11-06  Marc Glisse  <marc.glisse@inria.fr>
-
-	* tree-vrp.h (enum value_range_type): Update stale comment.
-
-2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_expand_vec_perm)
-	(aarch64_expand_vec_perm_const): Take the number of units too.
-	* config/aarch64/aarch64.c (aarch64_expand_vec_perm)
-	(aarch64_expand_vec_perm_const): Likewise.
-	* config/aarch64/aarch64-simd.md (vec_perm_const<mode>)
-	(vec_perm<mode>): Update accordingly.
-
-2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_simd_vect_par_cnst_half):
-	Take the number of units too.
-	* config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Likewise.
-	(aarch64_simd_check_vect_par_cnst_half): Update call accordingly,
-	but check for a vector mode before rather than after the call.
-	* config/aarch64/aarch64-simd.md (aarch64_split_simd_mov<mode>)
-	(move_hi_quad_<mode>, vec_unpack<su>_hi_<mode>)
-	(vec_unpack<su>_lo_<mode, vec_widen_<su>mult_lo_<mode>)
-	(vec_widen_<su>mult_hi_<mode>, vec_unpacks_lo_<mode>)
-	(vec_unpacks_hi_<mode>, aarch64_saddl2<mode>, aarch64_uaddl2<mode>)
-	(aarch64_ssubl2<mode>, aarch64_usubl2<mode>, widen_ssum<mode>3)
-	(widen_usum<mode>3, aarch64_saddw2<mode>, aarch64_uaddw2<mode>)
-	(aarch64_ssubw2<mode>, aarch64_usubw2<mode>, aarch64_sqdmlal2<mode>)
-	(aarch64_sqdmlsl2<mode>, aarch64_sqdmlal2_lane<mode>)
-	(aarch64_sqdmlal2_laneq<mode>, aarch64_sqdmlsl2_lane<mode>)
-	(aarch64_sqdmlsl2_laneq<mode>, aarch64_sqdmlal2_n<mode>)
-	(aarch64_sqdmlsl2_n<mode>, aarch64_sqdmull2<mode>)
-	(aarch64_sqdmull2_lane<mode>, aarch64_sqdmull2_laneq<mode>)
-	(aarch64_sqdmull2_n<mode>): Update accordingly.
-
-2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_reverse_mask): Take
-	the number of units too.
-	* config/aarch64/aarch64.c (aarch64_reverse_mask): Likewise.
-	* config/aarch64/aarch64-simd.md (vec_load_lanesoi<mode>)
-	(vec_store_lanesoi<mode>, vec_load_lanesci<mode>)
-	(vec_store_lanesci<mode>, vec_load_lanesxi<mode>)
-	(vec_store_lanesxi<mode>): Update accordingly.
-
-2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_endian_lane_rtx): Declare.
-	* config/aarch64/aarch64.c (aarch64_endian_lane_rtx): New function.
-	* config/aarch64/aarch64.h (ENDIAN_LANE_N): Take the number
-	of units rather than the mode.
-	* config/aarch64/iterators.md (nunits): New mode attribute.
-	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args):
-	Use aarch64_endian_lane_rtx instead of GEN_INT (ENDIAN_LANE_N ...).
-	* config/aarch64/aarch64-simd.md (aarch64_dup_lane<mode>)
-	(aarch64_dup_lane_<vswap_width_name><mode>, *aarch64_mul3_elt<mode>)
-	(*aarch64_mul3_elt_<vswap_width_name><mode>): Likewise.
-	(*aarch64_mul3_elt_to_64v2df, *aarch64_mla_elt<mode>): Likewise.
-	(*aarch64_mla_elt_<vswap_width_name><mode>, *aarch64_mls_elt<mode>)
-	(*aarch64_mls_elt_<vswap_width_name><mode>, *aarch64_fma4_elt<mode>)
-	(*aarch64_fma4_elt_<vswap_width_name><mode>):: Likewise.
-	(*aarch64_fma4_elt_to_64v2df, *aarch64_fnma4_elt<mode>): Likewise.
-	(*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
-	(*aarch64_fnma4_elt_to_64v2df, reduc_plus_scal_<mode>): Likewise.
-	(reduc_plus_scal_v4sf, reduc_<maxmin_uns>_scal_<mode>): Likewise.
-	(reduc_<maxmin_uns>_scal_<mode>): Likewise.
-	(*aarch64_get_lane_extend<GPI:mode><VDQQH:mode>): Likewise.
-	(*aarch64_get_lane_zero_extendsi<mode>): Likewise.
-	(aarch64_get_lane<mode>, *aarch64_mulx_elt_<vswap_width_name><mode>)
-	(*aarch64_mulx_elt<mode>, *aarch64_vgetfmulx<mode>): Likewise.
-	(aarch64_sq<r>dmulh_lane<mode>, aarch64_sq<r>dmulh_laneq<mode>)
-	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Likewise.
-	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
-	(aarch64_sqdml<SBINQOPS:as>l_lane<mode>): Likewise.
-	(aarch64_sqdml<SBINQOPS:as>l_laneq<mode>): Likewise.
-	(aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
-	(aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
-	(aarch64_sqdmull_lane<mode>, aarch64_sqdmull_laneq<mode>): Likewise.
-	(aarch64_sqdmull2_lane<mode>_internal): Likewise.
-	(aarch64_sqdmull2_laneq<mode>_internal): Likewise.
-	(aarch64_vec_load_lanesoi_lane<mode>): Likewise.
-	(aarch64_vec_store_lanesoi_lane<mode>): Likewise.
-	(aarch64_vec_load_lanesci_lane<mode>): Likewise.
-	(aarch64_vec_store_lanesci_lane<mode>): Likewise.
-	(aarch64_vec_load_lanesxi_lane<mode>): Likewise.
-	(aarch64_vec_store_lanesxi_lane<mode>): Likewise.
-	(aarch64_simd_vec_set<mode>): Update use of ENDIAN_LANE_N.
-	(aarch64_simd_vec_setv2di): Likewise.
-
-2017-11-06  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c (P8V_BUILTIN_VEC_REVB): Add power 8
-	definitions.
-	(P9V_BUILTIN_VEC_REVB): Remove the power 9 instance definitions.
-	* config/rs6000/altivec.h (vec_revb): Change the #define from power 9
-	to power 8.
-	* config/rs6000/r6000-protos.h (swap_endian_selector_for_mode): Add new
-	extern declaration.
-	* config/rs6000/rs6000.c (swap_endian_selector_for_mode): Add function.
-	* config/rs6000/rs6000-builtin.def (BU_P8V_VSX_1, BU_P8V_OVERLOAD_1):
-	Add power 8 macro expansions.
-	(BU_P9V_OVERLOAD_1): Remove power 9 overload expansion.
-	* config/rs6000/vsx.md (revb_<mode>): Add define_expand to generate
-	power 8 instructions.  (VSX_XXBR): Add iterator.
-
-2017-11-06  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.md (predicable_short_it): Change default to "no",
-	improve documentation, remove uses that are identical to the default.
-	(enabled_for_depr_it): Rename to enabled_for_short_it.
-	* gcc/config/arm/arm-fixed.md (predicable_short_it):
-	Remove default uses.
-	* gcc/config/arm/ldmstm.md (predicable_short_it): Likewise.
-	* gcc/config/arm/sync.md (predicable_short_it): Likewise.
-	* gcc/config/arm/thumb2.md (predicable_short_it): Likewise.
-	* gcc/config/arm/vfp.md (predicable_short_it): Likewise.
-
-2017-11-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/82748
-	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_1): Delete
-	float128 helper macros, which are no longer used after deleting
-	the old 'q' built-in functions, and moving the round to odd
-	built-in functions to being special built-in functions.
-	(BU_FLOAT128_2): Likewise.
-	(BU_FLOAT128_1_HW): Likewise.
-	(BU_FLOAT128_2_HW): Likewise.
-	(BU_FLOAT128_3_HW): Likewise.
-	(FABSQ): Delete old 'q' built-in functions.
-	(COPYSIGNQ): Likewise.
-	(SQRTF128_ODD): Move round to odd built-in functions to be
-	special built-in functions, so that we can handle
-	-mabi=ieeelongdouble.
-	(TRUNCF128_ODD): Likewise.
-	(ADDF128_ODD): Likewise.
-	(SUBF128_ODD): Likewise.
-	(MULF128_ODD): Likewise.
-	(DIVF128_ODD): Likewise.
-	(FMAF128_ODD): Likewise.
-	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Map old 'q'
-	built-in names to 'f128'.
-	* config/rs6000/rs6000.c (rs6000_fold_builtin): Remove folding the
-	old 'q' built-in functions, as the machine independent code for
-	'f128' built-in functions handles this.
-	(rs6000_expand_builtin): Add expansion for float128 round to odd
-	functions, keying off on -mabi=ieeelongdouble of whether to use
-	the KFmode or TFmode variant.
-	(rs6000_init_builtins): Initialize the _Float128 round to odd
-	built-in functions.
-	* doc/extend.texi (PowerPC Built-in Functions): Document the old
-	_Float128 'q' built-in functions are now mapped into the new
-	'f128' built-in functions.
-
-2017-11-06  David Edelsohn  <dje.gcc@gmail.com>
-
-	* collect2.c (add_lto_object): Compile for OBJECT_COFF.
-	(scan_prog_file): Don't skip PASS_LTOINFO. Scan for LTO objects.
-
-2017-11-06  David Malcolm  <dmalcolm@redhat.com>
-
-	PR jit/82826
-	* ipa-fnsummary.c (ipa_fnsummary_c_finalize): New function.
-	* ipa-fnsummary.h (ipa_fnsummary_c_finalize): New decl.
-	* toplev.c: Include "ipa-fnsummary.h".
-	(toplev::finalize): Call ipa_fnsummary_c_finalize.
-
-2017-11-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/82838
-	* gimple-ssa-store-merging.c
-	(imm_store_chain_info::output_merged_store): Call force_gimple_operand_1
-	on a separate gimple_seq which is then appended to seq.
-
-2017-11-06  Jeff Law  <law@redhat.com>
-
-	PR target/82788
-	* config/i386/i386.c (PROBE_INTERVAL): Remove.
-	(get_probe_interval): New functions.
-	(ix86_adjust_stack_and_probe_stack_clash): Use get_probe_interval.
-	(ix86_adjust_stack_and_probe): Likewise.
-	(output_adjust_stack_and_probe): Likewise.
-	(ix86_emit_probe_stack_range): Likewise.
-	(ix86_expand_prologue): Likewise.
-
-2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/82816
-	* tree-ssa-math-opts.c (convert_mult_to_widen): Return false
-	if the modes of the two types are the same.
-	(convert_plusminus_to_widen): Likewise.
-
-2017-11-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.md (*p9_vadu<mode>3) Rename to
-	p9_vadu<mode>3.
-	(usadv16qi): New define_expand.
-	(usadv8hi): New define_expand.
-
-2017-11-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR bootstrap/82832
-	* ipa-inline-transform.c (update_noncloned_frequencies): Always
-	scale.
-	(inline_transform): Likewise.
-	* predict.c (counts_to_freqs): Remove useless conditional.
-	* profile-count.h (profile_count::apply_scale): Move sanity check.
-	* tree-inline.c (copy_bb): Always scale.
-	(copy_cfg_body): Likewise.
-
-2017-11-06  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	PR target/67591
-	* config/arm/arm.md (*sub_shiftsi): Add predicable_short_it
-	attribute.
-	(*cmp_ite0): Add enabled_for_depr_it attribute.
-	(*cmp_ite1): Likewise.
-
-2017-11-06  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_insn_cost): Handle TYPE_MFCR and
-	TYPE_MFCRF.
-
-2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vrp.c (vrp_int_const_binop): Return true on success and
-	return the value by pointer.
-	(extract_range_from_multiplicative_op_1): Update accordingly.
-	Return as soon as an operation fails.
-
-2017-11-05  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/82784
-	* asan.c (DEF_SANITIZER_BUILTIN_1): Factor out of ...
-	(DEF_SANITIZER_BUILTIN): ... here.
-	(initialize_sanitizer_builtins): Use DEF_SANITIZER_BUILTIN_1 instead of
-	DEF_SANITIZER_BUILTIN in if stmt.  Add missing semicolon.
-
-2017-11-05  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/82784
-	* config/elfos.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove semicolon after
-	macro body.
-	(ASM_OUTPUT_CASE_LABEL): Add semicolon after
-	ASM_OUTPUT_BEFORE_CASE_LABEL call.
-	* config/arc/arc.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove semicolon
-	after macro body.
-	* config/m68k/m68kelf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Same.
-	* config/mips/mips.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Same.
-	* config/v850/v850.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Same.
-
-2017-11-05  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/82784
-	* graphite-scop-detection.c (DEBUG_PRINT): Remove semicolon after
-	"do {} while (0)".
-
-2017-11-04  Michael Clark  <michaeljclark@mac.com>
-
-	* config/riscv/riscv.c (riscv_print_operand): Add a 'i' format.
-	config/riscv/riscv.md (addsi3): Use 'i' for immediates.
-	(adddi3): Likewise.
-	(*addsi3_extended): Likewise.
-	(*addsi3_extended2): Likewise.
-	(<optab>si3): Likewise.
-	(<optab>di3): Likewise.
-	(<optab><mode>3): Likewise.
-	(<*optabe>si3_internal): Likewise.
-	(zero_extendqi<SUPERQI:mode>2): Likewise.
-	(*add<mode>hi3): Likewise.
-	(*xor<mode>hi3): Likewise.
-	(<optab>di3): Likewise.
-	(*<optab>si3_extend): Likewise.
-	(*sge<u>_<X:mode><GPR:mode>): Likewise.
-	(*slt<u>_<X:mode><GPR:mode>): Likewise.
-	(*sle<u>_<X:mode><GPR:mode>): Likewise.
-
-2017-11-04  Andrew Waterman  <andrew@sifive.com>
-
-	* config/riscv/riscv.c (riscv_option_override): Conditionally set
-	TARGET_STRICT_ALIGN based upon -mtune argument.
-
-2017-11-04  Andrew Waterman  <andrew@sifive.com>
-
-	* config/riscv/riscv.h (SLOW_BYTE_ACCESS): Change to 1.
-
-2017-11-04  Daniel Santos  <daniel.santos@pobox.com>
-
-	* config/i386/i386.c (choose_basereg): Use optional scratch
-	register and add assertion.
-	(x86_emit_outlined_ms2sysv_save): Use scratch register when
-	needed, and don't allocate stack.
-	(ix86_expand_prologue): Rearrange where SSE saves/stub call is
-	emitted, correct wrong allocation with -mcall-ms2sysv-xlogues.
-	(ix86_emit_outlined_ms2sysv_restore): Fix non-immediate offsets.
-
-2017-11-03  Jeff Law  <law@redhat.com>
-
-	* config/i386/i386.c (ix86_emit_restore_reg_using_pop): Prototype.
-	(ix86_adjust_stack_and_probe_stack_clash): Use a push/pop sequence
-	to probe at the start of a noreturn function.
-
-2017-11-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78821
-	* gimple-ssa-store-merging.c: Update the file comment.
-	(MAX_STORE_ALIAS_CHECKS): Define.
-	(struct store_operand_info): New type.
-	(store_operand_info::store_operand_info): New constructor.
-	(struct store_immediate_info): Add rhs_code and ops data members.
-	(store_immediate_info::store_immediate_info): Add rhscode, op0r
-	and op1r arguments to the ctor, initialize corresponding data members.
-	(struct merged_store_group): Add load_align_base and load_align
-	data members.
-	(merged_store_group::merged_store_group): Initialize them.
-	(merged_store_group::do_merge): Update them.
-	(merged_store_group::apply_stores): Pick the constant for
-	encode_tree_to_bitpos from one of the two operands, or skip
-	encode_tree_to_bitpos if neither operand is a constant.
-	(class pass_store_merging): Add process_store method decl.  Remove
-	bool argument from terminate_all_aliasing_chains method decl.
-	(pass_store_merging::terminate_all_aliasing_chains): Remove
-	var_offset_p argument and corresponding handling.
-	(stmts_may_clobber_ref_p): New function.
-	(compatible_load_p): New function.
-	(imm_store_chain_info::coalesce_immediate_stores): Terminate group
-	if there is overlap and rhs_code is not INTEGER_CST.  For
-	non-overlapping stores terminate group if rhs is not mergeable.
-	(get_alias_type_for_stmts): Change first argument from
-	auto_vec<gimple *> & to vec<gimple *> &.  Add IS_LOAD, CLIQUEP and
-	BASEP arguments.  If IS_LOAD is true, look at rhs1 of the stmts
-	instead of lhs.  Compute *CLIQUEP and *BASEP in addition to the
-	alias type.
-	(get_location_for_stmts): Change first argument from
-	auto_vec<gimple *> & to vec<gimple *> &.
-	(struct split_store): Remove orig_stmts data member, add orig_stores.
-	(split_store::split_store): Create orig_stores rather than orig_stmts.
-	(find_constituent_stmts): Renamed to ...
-	(find_constituent_stores): ... this.  Change second argument from
-	vec<gimple *> * to vec<store_immediate_info *> *, push pointers
-	to info structures rather than the statements.
-	(split_group): Rename ALLOW_UNALIGNED argument to
-	ALLOW_UNALIGNED_STORE, add ALLOW_UNALIGNED_LOAD argument and handle
-	it.  Adjust find_constituent_stores caller.
-	(imm_store_chain_info::output_merged_store): Handle rhs_code other
-	than INTEGER_CST, adjust split_group, get_alias_type_for_stmts and
-	get_location_for_stmts callers.  Set MR_DEPENDENCE_CLIQUE and
-	MR_DEPENDENCE_BASE on the MEM_REFs if they are the same in all stores.
-	(mem_valid_for_store_merging): New function.
-	(handled_load): New function.
-	(pass_store_merging::process_store): New method.
-	(pass_store_merging::execute): Use process_store method.  Adjust
-	terminate_all_aliasing_chains caller.
-
-2017-11-03  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
-	Return true for more constants, symbols and label references.
-	(aarch64_valid_floating_const): Remove unused function.
-
-2017-11-03  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/82786
-	* config/aarch64/aarch64.c (aarch64_layout_frame):
-	Undo forcing of LR at bottom of frame.
-
-2017-11-03  Jeff Law  <law@redhat.com>
-
-	PR target/82823
-	* config/i386/i386.c (ix86_expand_prologue): Tighten assert
-	for int_registers_saved.
-
-	* cfganal.c (single_pred_edge_ignoring_loop_edges): New function
-	extracted from tree-ssa-dom.c.
-	* cfganal.h (single_pred_edge_ignoring_loop_edges): Prototype.
-	* tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): Remove.
-	(record_equivalences_from_incoming_edge): Add additional argument
-	to single_pred_edge_ignoring_loop_edges call.
-	* tree-ssa-uncprop.c (single_incoming_edge_ignoring_loop_edges): Remove.
-	(uncprop_dom_walker::before_dom_children): Add additional argument
-	to single_pred_edge_ignoring_loop_edges call.
-	* tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Use
-	single_pred_edge_ignoring_loop_edges rather than open coding.
-	* tree-vrp.c (evrp_dom_walker::before_dom_children): Similarly.
-
-2017-11-03  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (-(-A)): Rewrite.
-
-2017-11-03  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs60000-protos.h (rs6000_emit_sISEL): Delete.
-	(rs6000_emit_int_cmove): New declaration.
-	* config/rs6000/rs6000.c (rs6000_emit_int_cmove): Delete declaration.
-	(rs6000_emit_sISEL): Delete.
-	(rs6000_emit_int_cmove): Make non-static.
-	* config/rs6000/rs6000.md (cstore<mode>4): Use rs6000_emit_int_cmove
-	instead of rs6000_emit_sISEL.
-
-2017-11-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* asan.c (create_cond_insert_point): Maintain profile.
-	* ipa-utils.c (ipa_merge_profiles): Be sure only IPA profiles are
-	merged.
-	* basic-block.h (struct basic_block_def): Remove frequency.
-	(EDGE_FREQUENCY): Use to_frequency
-	* bb-reorder.c (push_to_next_round_p): Use only IPA counts for global
-	heuristics.
-	(find_traces): Update to use to_frequency.
-	(find_traces_1_round): Likewise; use only IPA counts.
-	(bb_to_key): Likewise.
-	(connect_traces): Use IPA counts only.
-	(copy_bb_p): Update to use to_frequency.
-	(fix_up_crossing_landing_pad): Likewise.
-	(sanitize_hot_paths): Likewise.
-	* bt-load.c (basic_block_freq): Likewise.
-	* cfg.c (init_flow): Set count_max to uninitialized.
-	(check_bb_profile): Remove frequencies; check counts.
-	(dump_bb_info): Do not dump frequencies.
-	(update_bb_profile_for_threading): Update counts only.
-	(scale_bbs_frequencies_int): Likewise.
-	(MAX_SAFE_MULTIPLIER): Remove.
-	(scale_bbs_frequencies_gcov_type): Update counts only.
-	(scale_bbs_frequencies_profile_count): Update counts only.
-	(scale_bbs_frequencies): Update counts only.
-	* cfg.h (struct control_flow_graph): Add count-max.
-	(update_bb_profile_for_threading): Update prototype.
-	* cfgbuild.c (find_bb_boundaries): Do not update frequencies.
-	(find_many_sub_basic_blocks): Likewise.
-	* cfgcleanup.c (try_forward_edges): Likewise.
-	(try_crossjump_to_edge): Likewise.
-	* cfgexpand.c (expand_gimple_cond): Likewise.
-	(expand_gimple_tailcall): Likewise.
-	(construct_init_block): Likewise.
-	(construct_exit_block): Likewise.
-	* cfghooks.c (verify_flow_info): Check consistency of counts.
-	(dump_bb_for_graph): Do not dump frequencies.
-	(split_block_1): Do not update frequencies.
-	(split_edge): Do not update frequencies.
-	(make_forwarder_block): Do not update frequencies.
-	(duplicate_block): Do not update frequencies.
-	(account_profile_record): Do not update frequencies.
-	* cfgloop.c (find_subloop_latch_edge_by_profile): Use IPA counts
-	for global heuristics.
-	* cfgloopanal.c (average_num_loop_insns): Update to use to_frequency.
-	(expected_loop_iterations_unbounded): Use counts only.
-	* cfgloopmanip.c (scale_loop_profile): Simplify.
-	(create_empty_loop_on_edge): Simplify
-	(loopify): Simplify
-	(duplicate_loop_to_header_edge): Simplify
-	* cfgrtl.c (force_nonfallthru_and_redirect): Update profile.
-	(update_br_prob_note): Take care of removing note when profile
-	becomes undefined.
-	(relink_block_chain): Do not dump frequency.
-	(rtl_account_profile_record): Use to_frequency.
-	* cgraph.c (symbol_table::create_edge): Convert count to ipa count.
-	(cgraph_edge::redirect_call_stmt_to_calle): Conver tcount to ipa count.
-	(cgraph_update_edges_for_call_stmt_node): Likewise.
-	(cgraph_edge::verify_count_and_frequency): Update.
-	(cgraph_node::verify_node): Temporarily disable frequency verification.
-	* cgraphbuild.c (compute_call_stmt_bb_frequency): Use
-	to_cgraph_frequency.
-	(cgraph_edge::rebuild_edges): Convert to ipa counts.
-	* cgraphunit.c (init_lowered_empty_function): Do not initialize
-	frequencies.
-	(cgraph_node::expand_thunk): Update profile.
-	* except.c (dw2_build_landing_pads): Do not update frequency.
-	* final.c (compute_alignments): Use to_frequency.
-	(dump_basic_block_info): Do not dump frequency.
-	* gimple-pretty-print.c (dump_profile): Do not dump frequency.
-	(dump_gimple_bb_header): Do not dump frequency.
-	* gimple-ssa-isolate-paths.c (isolate_path): Do not update frequency;
-	do update count.
-	* gimple-streamer-in.c (input_bb): Do not stream frequency.
-	* gimple-streamer-out.c (output_bb): Do not stream frequency.
-	* haifa-sched.c (sched_pressure_start_bb): Use to_freuqency.
-	(init_before_recovery): Do not update frequency.
-	(sched_create_recovery_edges): Do not update frequency.
-	* hsa-gen.c (convert_switch_statements): Do not update frequency.
-	* ipa-cp.c (ipcp_propagate_stage): Update search for max_count.
-	(ipa_cp_c_finalize): Set max_count to uninitialized.
-	* ipa-fnsummary.c (get_minimal_bb): Use counts.
-	(param_change_prob): Use counts.
-	* ipa-profile.c (ipa_profile_generate_summary): Do not summarize
-	local profiles.
-	* ipa-split.c (consider_split): Use to_frequency.
-	(split_function): Use to_frequency.
-	* ira-build.c (loop_compare_func): Likewise.
-	(mark_loops_for_removal): Likewise.
-	(mark_all_loops_for_removal): Likewise.
-	* loop-doloop.c (doloop_modify): Do not update frequency.
-	* loop-unroll.c (unroll_loop_runtime_iterations): Do not update
-	frequency.
-	* lto-streamer-in.c (input_function): Update count_max.
-	* omp-expand.c (expand_omp_taskreg): Update count_max.
-	* omp-simd-clone.c (simd_clone_adjust): Update profile.
-	* predict.c (maybe_hot_frequency_p): Use to_frequency.
-	(maybe_hot_count_p): Use ipa counts only.
-	(maybe_hot_bb_p): Simplify.
-	(maybe_hot_edge_p): Simplify.
-	(probably_never_executed): Do not take frequency argument.
-	(probably_never_executed_bb_p): Do not pass frequency.
-	(probably_never_executed_edge_p): Likewise.
-	(combine_predictions_for_bb): Check that profile is nonzero.
-	(propagate_freq): Do not set frequency.
-	(drop_profile): Simplify.
-	(counts_to_freqs): Simplify.
-	(expensive_function_p): Use to_frequency.
-	(propagate_unlikely_bbs_forward): Simplify.
-	(determine_unlikely_bbs): Simplify.
-	(estimate_bb_frequencies): Add hack to silence graphite issues.
-	(compute_function_frequency): Use ipa counts.
-	(pass_profile::execute): Update.
-	(rebuild_frequencies): Use counts only.
-	(force_edge_cold): Use counts only.
-	* profile-count.c (profile_count::dump): Dump new count types.
-	(profile_count::differs_from_p): Check compatiblity.
-	(profile_count::to_frequency): New function.
-	(profile_count::to_cgraph_frequency): New function.
-	* profile-count.h (struct function): Declare.
-	(enum profile_quality): Add profile_guessed_local and
-	profile_guessed_global0.
-	(class profile_proability): Decrease number of bits to 29;
-	update from_reg_br_prob_note and to_reg_br_prob_note.
-	(class profile_count: Update comment; decrease number of bits
-	to 61. Check compatibility.
-	(profile_count::compatible_p): New private member function.
-	(profile_count::ipa_p): New member function.
-	(profile_count::operator<): Handle global zero correctly.
-	(profile_count::operator>): Handle global zero correctly.
-	(profile_count::operator<=): Handle global zero correctly.
-	(profile_count::operator>=): Handle global zero correctly.
-	(profile_count::nonzero_p): New member function.
-	(profile_count::force_nonzero): New member function.
-	(profile_count::max): New member function.
-	(profile_count::apply_scale): Handle IPA scalling.
-	(profile_count::guessed_local): New member function.
-	(profile_count::global0): New member function.
-	(profile_count::ipa): New member function.
-	(profile_count::to_frequency): Declare.
-	(profile_count::to_cgraph_frequency): Declare.
-	* profile.c (OVERLAP_BASE): Delete.
-	(compute_frequency_overlap): Delete.
-	(compute_branch_probabilities): Do not use compute_frequency_overlap.
-	* regs.h (REG_FREQ_FROM_BB): Use to_frequency.
-	* sched-ebb.c (rank): Use counts only.
-	* shrink-wrap.c (handle_simple_exit): Use counts only.
-	(try_shrink_wrapping): Use counts only.
-	(place_prologue_for_one_component): Use counts only.
-	* tracer.c (find_best_predecessor): Use to_frequency.
-	(find_trace): Use to_frequency.
-	(tail_duplicate): Use to_frequency.
-	* trans-mem.c (expand_transaction): Do not update frequency.
-	* tree-call-cdce.c: Do not update frequency.
-	* tree-cfg.c (gimple_find_sub_bbs): Likewise.
-	(gimple_merge_blocks): Likewise.
-	(gimple_split_edge): Likewise.
-	(gimple_duplicate_sese_region): Likewise.
-	(gimple_duplicate_sese_tail): Likewise.
-	(move_sese_region_to_fn): Likewise.
-	(gimple_account_profile_record): Likewise.
-	(insert_cond_bb): Likewise.
-	* tree-complex.c (expand_complex_div_wide): Likewise.
-	* tree-eh.c (lower_resx): Update profile.
-	* tree-inline.c (copy_bb): Simplify count scaling; do not scale
-	frequencies.
-	(initialize_cfun): Do not initialize frequencies
-	(freqs_to_counts): Delete.
-	(copy_cfg_body): Ignore count parameter.
-	(copy_body): Update.
-	(expand_call_inline): Update count_max.
-	(optimize_inline_calls): Update count_max.
-	(tree_function_versioning): Update count_max.
-	* tree-ssa-coalesce.c (coalesce_cost_bb): Use to_frequency.
-	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Do not update
-	frequency.
-	* tree-ssa-loop-im.c (execute_sm_if_changed): Use counts only.
-	* tree-ssa-loop-ivcanon.c (unloop_loops): Do not update freuqency.
-	(try_peel_loop): Likewise.
-	* tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at): Use
-	to_frequency.
-	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): Pass -1.
-	(tree_transform_and_unroll_loop): Do not use frequencies
-	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations):
-	Use reliable prediction only.
-	* tree-ssa-loop-unswitch.c (hoist_guard): Do not use frequencies.
-	* tree-ssa-sink.c (select_best_block): Use to_frequency.
-	* tree-ssa-tail-merge.c (replace_block_by): Temporarily disable
-	probability scaling.
-	* tree-ssa-threadupdate.c (create_block_for_threading): Do
-	not update frequency
-	(any_remaining_duplicated_blocks): Likewise.
-	(update_profile): Likewise.
-	(estimated_freqs_path): Delete.
-	(freqs_to_counts_path): Delete.
-	(clear_counts_path): Delete.
-	(ssa_fix_duplicate_block_edges): Likewise.
-	(duplicate_thread_path): Likewise.
-	* tree-switch-conversion.c (gen_inbound_check): Use counts.
-	* tree-tailcall.c (decrease_profile): Do not update frequency.
-	(eliminate_tail_call): Likewise.
-	* tree-vect-loop-manip.c (vect_do_peeling): Likewise.
-	* tree-vect-loop.c (scale_profile_for_vect_loop): Likewise.
-	(optimize_mask_stores): Likewise.
-	* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
-	* ubsan.c (ubsan_expand_null_ifn): Update profile.
-	(ubsan_expand_ptr_ifn): Update profile.
-	* value-prof.c (gimple_ic): Simplify.
-	* value-prof.h (gimple_ic): Update prototype.
-	* ipa-inline-transform.c (inline_transform): Fix scaling conditoins.
-	* ipa-inline.c (compute_uninlined_call_time): Be sure that
-	counts are nonzero.
-	(want_inline_self_recursive_call_p): Likewise.
-	(resolve_noninline_speculation): Only cummulate defined counts.
-	(inline_small_functions): Use nonzero_p.
-	(ipa_inline): Do not access freed node.
-
-2017-11-03  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_override_options_internal):
-	Set PARAM_SCHED_PRESSURE_ALGORITHM to SCHED_PRESSURE_MODEL.
-
-2017-11-03  Kito Cheng  <kito.cheng@gmail.com>
-
-	* config/riscv/riscv.c (riscv_legitimize_move): Handle
-	non-legitimate address.
-
-2017-11-03  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (*lt0_disi): Delete.
-	(*lt0_<mode>di, *lt0_<mode>si): New.
-
-2017-11-03  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (move_from_CR_ov_bit): Change condition to
-	TARGET_PAIRED_FLOAT.
-
-2017-11-03  Siddhesh Poyarekar  <siddhesh.poyarekar@linaro.org>
-	    Jim Wilson  <jim.wilson@linaro.org>
-
-	* config/aarch64/aarch64-cores.def (saphira): New CPU.
-	* config/aarch64/aarch64-tune.md: Regenerated.
-	* doc/invoke.texi (AArch64 Options/-mtune): Add "saphira".
-	* gcc/config/aarch64/aarch64.c (saphira_tunings): New tuning table.
-
-2017-11-03  Cupertino Miranda  <cmiranda@synopsys.com>
-
-	* config/arc/arc.c (arc_save_restore): Corrected CFA note.
-	(arc_expand_prologue): Restore blink for millicode.
-	* config/arc/linux.h (LINK_EH_SPEC): Defined.
-
-2017-11-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR target/82809
-	* config/i386/i386.c (ix86_vector_duplicate_value): Use
-	gen_vec_duplicate after forcing the scalar into a register.
-
-2017-11-02  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine (try_combine): Print the insns input to try_combine to the
-	dump file.
-
-2017-11-02  Steve Ellcey  <sellcey@cavium.com>
-
-	PR target/79868
-	* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
-	Remove second argument from aarch64_process_target_attr call.
-	* config/aarch64/aarch64-protos.h (aarch64_process_target_attr):
-	Ditto.
-	* config/aarch64/aarch64.c (aarch64_attribute_info): Change
-	field type.
-	(aarch64_handle_attr_arch): Remove second argument.
-	(aarch64_handle_attr_cpu): Ditto.
-	(aarch64_handle_attr_tune): Ditto.
-	(aarch64_handle_attr_isa_flags): Ditto.
-	(aarch64_process_one_target_attr): Ditto.
-	(aarch64_process_target_attr): Ditto.
-	(aarch64_option_valid_attribute_p): Remove second argument.
-	on aarch64_process_target_attr call.
-
-2017-11-02  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic.c: Include "selftest-diagnostic.h".
-	(selftest::assert_location_text): New function.
-	(selftest::test_diagnostic_get_location_text): New function.
-	(selftest::diagnostic_c_tests): Call it.
-
-2017-11-02  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS-libcommon): Add selftest-diagnostic.o.
-	* diagnostic-show-locus.c: Include "selftest-diagnostic.h".
-	(class selftest::test_diagnostic_context): Move to...
-	* selftest-diagnostic.c: New file.
-	* selftest-diagnostic.h: New file.
-
-2017-11-02  James Bowman  <james.bowman@ftdichip.com>
-
-	* config/ft32/ft32.c (ft32_addr_space_legitimate_address_p): increase
-	offset range for FT32B.
-	* config/ft32/ft32.h: option "mcompress" enables relaxation.
-	* config/ft32/ft32.md: Add TARGET_NOPM.
-	* config/ft32/ft32.opt: Add mft32b, mcompress, mnopm.
-	* gcc/doc/invoke.texi: Add mft32b, mcompress, mnopm.
-
-2017-11-02  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.h (MALLOC_ABI_ALIGNMENT): New define.
-
-2017-11-02  Jeff Law  <law@redhat.com>
-
-	* gimple-ssa-sprintf.c (sprintf_dom_walker): Remove
-	virtual keyword on FINAL OVERRIDE members.
-
-	* tree-ssa-propagate.h (ssa_propagation_engine): Group
-	virtuals together.  Add virtual destructor.
-	(substitute_and_fold_engine): Similarly.
-
-2017-11-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* x86-tune.def (X86_TUNE_USE_INCDEC): Enable for Haswell+.
-
-2017-11-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82795
-	* tree-if-conv.c (predicate_mem_writes): Remove bogus assert.
-
-2017-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Don't require
-	gcc_SUN_LD_VERSION.
-	(gcc_GAS_CHECK_FEATURE): Remove.
-	* configure.ac (ld_vers) <*-*-solaris2*>: Move comments from
-	gcc_AC_INITFINI_ARRAY here.  Update for Solaris 11.4 changes.
-	* configure: Regenerate.
-
-2017-11-02  Claudiu Zissulescu <claziss@synopsys.com>
-
-	* config/arc/arc.c (hwloop_optimize): Account for empty
-	body loops.
-
-2017-11-02  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/82765
-	* varasm.c (decode_addr_const): Make offset HOST_WIDE_INT.
-	Truncate ARRAY_REF index and element size.
-
-2017-11-01  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	* doc/invoke.texi (RISC-V Options): Use "@minus{}2 GB", not "-2 GB".
-
-2017-11-01  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-ccp.c (ccp_folder): New class derived from
-	substitute_and_fold_engine.
-	(ccp_folder::get_value): New member function.
-	(ccp_folder::fold_stmt): Renamed from ccp_fold_stmt.
-	(ccp_fold_stmt): Remove prototype.
-	(ccp_finalize): Call substitute_and_fold from the ccp_class.
-	* tree-ssa-copy.c (copy_folder): New class derived from
-	substitute_and_fold_engine.
-	(copy_folder::get_value): Renamed from get_value.
-	(fini_copy_prop): Call substitute_and_fold from copy_folder class.
-	* tree-vrp.c (vrp_folder): New class derived from
-	substitute_and_fold_engine.
-	(vrp_folder::fold_stmt): Renamed from vrp_fold_stmt.
-	(vrp_folder::get_value): New member function.
-	(vrp_finalize): Call substitute_and_fold from vrp_folder class.
-	(evrp_dom_walker::before_dom_children): Similarly for replace_uses_in.
-	* tree-ssa-propagate.h (substitute_and_fold_engine): New class to
-	provide a class interface to folder/substitute routines.
-	(ssa_prop_fold_stmt_fn): Remove typedef.
-	(ssa_prop_get_value_fn): Likewise.
-	(subsitute_and_fold): Remove prototype.
-	(replace_uses_in): Likewise.
-	* tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in):
-	Renamed from replace_uses_in.  Call the virtual member function
-	(substitute_and_fold_engine::replace_phi_args_in): Similarly.
-	(substitute_and_fold_dom_walker): Remove initialization of
-	data member entries for calbacks.  Add substitute_and_fold_engine
-	member and initialize it.
-	(substitute_and_fold_dom_walker::before_dom_children0: Use the
-	member functions for get_value, replace_phi_args_in c
-	replace_uses_in, and fold_stmt calls.
-	(substitute_and_fold_engine::substitute_and_fold): Renamed from
-	substitute_and_fold.  Remove assert.   Update ctor call.
-
-	* tree-ssa-propagate.h (ssa_prop_visit_stmt_fn): Remove typedef.
-	(ssa_prop_visit_phi_fn): Likewise.
-	(class ssa_propagation_engine): New class to provide an interface
-	into ssa_propagate.
-	* tree-ssa-propagate.c (ssa_prop_visit_stmt): Remove file scoped
-	variable.
-	(ssa_prop_visit_phi): Likewise.
-	(ssa_propagation_engine::simulate_stmt): Moved into class.
-	Call visit_phi/visit_stmt from the class rather than via
-	file scoped static variables.
-	(ssa_propagation_engine::simulate_block): Moved into class.
-	(ssa_propagation_engine::process_ssa_edge_worklist): Similarly.
-	(ssa_propagation_engine::ssa_propagate): Similarly.  No longer
-	set file scoped statics for the visit_stmt/visit_phi callbacks.
-	* tree-complex.c (complex_propagate): New class derived from
-	ssa_propagation_engine.
-	(complex_propagate::visit_stmt): Renamed from complex_visit_stmt.
-	(complex_propagate::visit_phi): Renamed from complex_visit_phi.
-	(tree_lower_complex): Call ssa_propagate via the complex_propagate
-	class.
-	* tree-ssa-ccp.c: (ccp_propagate): New class derived from
-	ssa_propagation_engine.
-	(ccp_propagate::visit_phi): Renamed from ccp_visit_phi_node.
-	(ccp_propagate::visit_stmt): Renamed from ccp_visit_stmt.
-	(do_ssa_ccp): Call ssa_propagate from the ccp_propagate class.
-	* tree-ssa-copy.c (copy_prop): New class derived from
-	ssa_propagation_engine.
-	(copy_prop::visit_stmt): Renamed from copy_prop_visit_stmt.
-	(copy_prop::visit_phi): Renamed from copy_prop_visit_phi_node.
-	(execute_copy_prop): Call ssa_propagate from the copy_prop class.
-	* tree-vrp.c (vrp_prop): New class derived from ssa_propagation_engine.
-	(vrp_prop::visit_stmt): Renamed from vrp_visit_stmt.
-	(vrp_prop::visit_phi): Renamed from vrp_visit_phi_node.
-	(execute_vrp): Call ssa_propagate from the vrp_prop class.
-
-2017-11-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/82778
-	PR rtl-optimization/82597
-	* compare-elim.c (struct comparison): Add in_a_setter field.
-	(find_comparison_dom_walker::before_dom_children): Remove killed
-	bitmap and df_simulate_find_defs call, instead walk the defs.
-	Compute last_setter and initialize in_a_setter.  Merge definitions
-	with first initialization for a few variables.
-	(try_validate_parallel): Use insn_invalid_p instead of
-	recog_memoized.  Return insn rather than just the pattern.
-	(try_merge_compare): Fix up comment.  Don't uselessly test if
-	in_a is a REG_P.  Use cmp->in_a_setter instead of walking UD
-	chains.
-	(execute_compare_elim_after_reload): Remove df_chain_add_problem
-	call.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_rtx_costs): Use
-	aarch64_hard_regno_nregs to get the number of registers
-	in a mode.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/constraints.md (Upl): Rename to...
-	(Uaa): ...this.
-	* config/aarch64/aarch64.md
-	(*zero_extend<SHORT:mode><GPI:mode>2_aarch64, *addsi3_aarch64_uxtw):
-	Update accordingly.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_add_constant_internal)
-	(aarch64_add_constant, aarch64_add_sp, aarch64_sub_sp): Move
-	earlier in file.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_evpc_trn, aarch64_evpc_uzp)
-	(aarch64_evpc_zip, aarch64_evpc_ext, aarch64_evpc_rev)
-	(aarch64_evpc_dup): Generate rtl direcly, rather than using
-	named expanders.
-	(aarch64_expand_vec_perm_const_1): Explicitly check for permutes
-	of a single element.
-	* config/aarch64/iterators.md: Add a comment above the permute
-	unspecs to say that they are generated directly by
-	aarch64_expand_vec_perm_const.
-	* config/aarch64/aarch64-simd.md: Likewise the permute instructions.
-
-2017-11-01  Nathan Sidwell  <nathan@acm.org>
-
-	* tree-dump.c (dequeue_and_dump): Use HAS_DECL_ASSEMBLER_NAME_P.
-
-2017-11-01  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	* doc/invoke.texi (RISC-V Options): Explicitly name the medlow
-	and medany code models, and describe what they do.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	Revert accidental duplicate:
-
-	* combine.c (can_change_dest_mode): Reject changes in
-	REGMODE_NATURAL_SIZE.
-
-2017-11-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/64682
-	PR rtl-optimization/69567
-	PR rtl-optimization/69737
-	PR rtl-optimization/82683
-	* combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same
-	register mentioned in the note, drop the note, unless it came from I3,
-	in which case it should go to I3 again.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-ssa-dse.c (normalize_ref): Check whether the ranges overlap
-	and return false if not.
-	(clear_bytes_written_by, live_bytes_read): Update accordingly.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-ssa-alias.h (ranges_overlap_p): Return false if either
-	range is known to be empty.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* simplify-rtx.c (simplify_const_unary_operation): Use GET_MODE_NUNITS
-	and CONST_VECTOR_NUNITS instead of computing the number of units from
-	the byte sizes of the vector and element.
-	(simplify_binary_operation_1): Likewise.
-	(simplify_const_binary_operation): Likewise.
-	(simplify_ternary_operation): Likewise.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* var-tracking.c (INT_MEM_OFFSET): Replace with...
-	(int_mem_offset): ...this new function.
-	(var_mem_set, var_mem_delete_and_set, var_mem_delete)
-	(find_mem_expr_in_1pdv, dataflow_set_preserve_mem_locs)
-	(same_variable_part_p, use_type, add_stores, vt_get_decl_and_offset):
-	Update accordingly.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* lower-subreg.c (interesting_mode_p): New function.
-	(compute_costs, find_decomposable_subregs, decompose_register)
-	(simplify_subreg_concatn, can_decompose_p, resolve_simple_move)
-	(resolve_clobber, dump_choices): Use it.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtlhash.c (add_rtx): Use add_hwi for 'w' and add_int for 'i'.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* alias.c (find_base_value, find_base_term): Only process integer
-	truncations.  Check the precision rather than the size.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (is_narrower_int_mode): New function
-	* optabs.c (expand_float, expand_fix): Use it.
-	* dwarf2out.c (rotate_loc_descriptor): Likewise.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (narrower_subreg_mode): New function.
-	* ira-color.c (update_costs_from_allocno): Use it.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* optabs-query.h (convert_optab_p): New function, split out from...
-	(convert_optab_handler): ...here.
-	(widening_optab_handler): Delete.
-	(find_widening_optab_handler): Remove permit_non_widening parameter.
-	(find_widening_optab_handler_and_mode): Likewise.  Provide an
-	override that operates on mode class wrappers.
-	* optabs-query.c (widening_optab_handler): Delete.
-	(find_widening_optab_handler_and_mode): Remove permit_non_widening
-	parameter.  Assert that the two modes are the same class and that
-	the "from" mode is narrower than the "to" mode.  Use
-	convert_optab_handler instead of widening_optab_handler.
-	* expmed.c (expmed_mult_highpart_optab): Use convert_optab_handler
-	instead of widening_optab_handler.
-	* expr.c (expand_expr_real_2): Update calls to
-	find_widening_optab_handler.
-	* optabs.c (expand_widen_pattern_expr): Likewise.
-	(expand_binop_directly): Take the insn_code as a parameter.
-	(expand_binop): Only call find_widening_optab_handler for
-	conversion optabs; use optab_handler otherwise.  Update calls
-	to find_widening_optab_handler and expand_binop_directly.
-	Use convert_optab_handler instead of widening_optab_handler.
-	* tree-ssa-math-opts.c (convert_mult_to_widen): Update calls to
-	find_widening_optab_handler and use scalar_mode rather than
-	machine_mode.
-	(convert_plusminus_to_widen): Likewise.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (fixed_size_mode): New class.
-	* rtl.h (get_pool_mode): Return fixed_size_mode.
-	* gengtype.c (main): Add fixed_size_mode.
-	* target.def (get_raw_result_mode): Return a fixed_size_mode.
-	(get_raw_arg_mode): Likewise.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_get_reg_raw_mode): Return a fixed_size_mode.
-	* targhooks.c (default_get_reg_raw_mode): Likewise.
-	* config/ia64/ia64.c (ia64_get_reg_raw_mode): Likewise.
-	* config/mips/mips.c (mips_get_reg_raw_mode): Likewise.
-	* config/msp430/msp430.c (msp430_get_raw_arg_mode): Likewise.
-	(msp430_get_raw_result_mode): Likewise.
-	* config/avr/avr-protos.h (regmask): Use as_a <fixed_side_mode>
-	* dbxout.c (dbxout_parms): Require fixed-size modes.
-	* expr.c (copy_blkmode_from_reg, copy_blkmode_to_reg): Likewise.
-	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Likewise.
-	* omp-low.c (lower_oacc_reductions): Likewise.
-	* simplify-rtx.c (simplify_immed_subreg): Take fixed_size_modes.
-	(simplify_subreg): Update accordingly.
-	* varasm.c (constant_descriptor_rtx::mode): Change to fixed_size_mode.
-	(force_const_mem): Update accordingly.  Return NULL_RTX for modes
-	that aren't fixed-size.
-	(get_pool_mode): Return a fixed_size_mode.
-	(output_constant_pool_2): Take a fixed_size_mode.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/rtl.texi (vec_series): Document.
-	(const): Say that the operand can be a vec_series.
-	* rtl.def (VEC_SERIES): New rtx code.
-	* rtl.h (const_vec_series_p_1): Declare.
-	(const_vec_series_p): New function.
-	* emit-rtl.h (gen_const_vec_series): Declare.
-	(gen_vec_series): Likewise.
-	* emit-rtl.c (const_vec_series_p_1, gen_const_vec_series)
-	(gen_vec_series): Likewise.
-	* optabs.c (expand_mult_highpart): Use gen_const_vec_series.
-	* simplify-rtx.c (simplify_unary_operation): Handle negations
-	of vector series.
-	(simplify_binary_operation_series): New function.
-	(simplify_binary_operation_1): Use it.  Handle VEC_SERIES.
-	(test_vector_ops_series): New function.
-	(test_vector_ops): Call it.
-	* config/powerpcspe/altivec.md (altivec_lvsl): Use
-	gen_const_vec_series.
-	(altivec_lvsr): Likewise.
-	* config/rs6000/altivec.md (altivec_lvsl, altivec_lvsr): Likewise.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* doc/rtl.texi (const): Update description of address constants.
-	Say that vector constants are allowed too.
-	* common.md (E, F): Use CONSTANT_P instead of checking for
-	CONST_VECTOR.
-	* emit-rtl.c (gen_lowpart_common): Use const_vec_p instead of
-	checking for CONST_VECTOR.
-	* expmed.c (make_tree): Use build_vector_from_val for a CONST
-	VEC_DUPLICATE.
-	* expr.c (expand_expr_real_2): Check for vector modes instead
-	of checking for CONST_VECTOR.
-	* rtl.h (const_vec_p): New function.
-	(const_vec_duplicate_p): Check for a CONST VEC_DUPLICATE.
-	(unwrap_const_vec_duplicate): Handle them here too.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    David Malcolm  <dmalcolm@redhat.com>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (vec_duplicate_p): New function.
-	* selftest-rtl.c (assert_rtx_eq_at): New function.
-	* selftest-rtl.h (ASSERT_RTX_EQ): New macro.
-	(assert_rtx_eq_at): Declare.
-	* selftest.h (selftest::simplify_rtx_c_tests): Declare.
-	* selftest-run-tests.c (selftest::run_tests): Call it.
-	* simplify-rtx.c: Include selftest.h and selftest-rtl.h.
-	(simplify_unary_operation_1): Recursively handle vector duplicates.
-	(simplify_binary_operation_1): Likewise.  Handle VEC_SELECTs of
-	vector duplicates.
-	(simplify_subreg): Handle subregs of vector duplicates.
-	(make_test_reg, test_vector_ops_duplicate, test_vector_ops)
-	(selftest::simplify_rtx_c_tests): New functions.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* emit-rtl.h (gen_const_vec_duplicate): Declare.
-	(gen_vec_duplicate): Likewise.
-	* emit-rtl.c (gen_const_vec_duplicate_1): New function, split
-	out from...
-	(gen_const_vector): ...here.
-	(gen_const_vec_duplicate, gen_vec_duplicate): New functions.
-	(gen_rtx_CONST_VECTOR): Use gen_const_vec_duplicate for constants
-	whose elements are all equal.
-	* optabs.c (expand_vector_broadcast): Use gen_const_vec_duplicate.
-	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
-	(simplify_relational_operation): Likewise.
-	* config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
-	Likewise.
-	(aarch64_simd_dup_constant): Use gen_vec_duplicate.
-	(aarch64_expand_vector_init): Likewise.
-	* config/arm/arm.c (neon_vdup_constant): Likewise.
-	(neon_expand_vector_init): Likewise.
-	(arm_expand_vec_perm): Use gen_const_vec_duplicate.
-	(arm_block_set_unaligned_vect): Likewise.
-	(arm_block_set_aligned_vect): Likewise.
-	* config/arm/neon.md (neon_copysignf<mode>): Likewise.
-	* config/i386/i386.c (ix86_expand_vec_perm): Likewise.
-	(expand_vec_perm_even_odd_pack): Likewise.
-	(ix86_vector_duplicate_value): Use gen_vec_duplicate.
-	* config/i386/sse.md (one_cmpl<mode>2): Use CONSTM1_RTX.
-	* config/ia64/ia64.c (ia64_expand_vecint_compare): Use
-	gen_const_vec_duplicate.
-	* config/ia64/vect.md (addv2sf3, subv2sf3): Use CONST1_RTX.
-	* config/mips/mips.c (mips_gen_const_int_vector): Use
-	gen_const_vec_duplicate.
-	(mips_expand_vector_init): Use CONST0_RTX.
-	* config/powerpcspe/altivec.md (abs<mode>2, nabs<mode>2): Likewise.
-	(define_split): Use gen_const_vec_duplicate.
-	* config/rs6000/altivec.md (abs<mode>2, nabs<mode>2): Use CONST0_RTX.
-	(define_split): Use gen_const_vec_duplicate.
-	* config/s390/vx-builtins.md (vec_genmask<mode>): Likewise.
-	(vec_ctd_s64, vec_ctd_u64, vec_ctsl, vec_ctul): Likewise.
-	* config/spu/spu.c (spu_const): Likewise.
-
-2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (can_change_dest_mode): Reject changes in
-	REGMODE_NATURAL_SIZE.
-
-2017-10-31  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* configure.ac (--enable-libssp): New.
-	(gcc_cv_libc_provides_ssp): Check for explicit setting before
-	trying to determine target-specific default.  Adjust indentation.
-	* configure: Regenerated.
-	* doc/install.texi (Configuration): Expand --disable-libssp
-	documentation.
-
-2017-10-31  Daniel Santos  <daniel.santos@pobox.com>
-
-	config/i386/i386.c (ix86_expand_epilogue): Correct stack
-	calculation.
-
-2017-10-31  Martin Jambor  <mjambor@suse.cz>
-
-	PR c++/81702
-	* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert.
-
-2017-10-31  David Malcolm  <dmalcolm@redhat.com>
-
-	* auto-profile.c (autofdo_source_profile::read): Use
-	UNKNOWN_LOCATION rather than 0.
-	* diagnostic-core.h (warning_at_rich_loc): Rename to...
-	(warning_at): ...this overload.
-	(warning_at_rich_loc_n): Rename to...
-	(warning_n): ...this overload.
-	(error_at_rich_loc): Rename to...
-	(error_at): ...this overload.
-	(pedwarn_at_rich_loc): Rename to...
-	(pedwarn): ...this overload.
-	(permerror_at_rich_loc): Rename to...
-	(permerror): ...this overload.
-	(inform_at_rich_loc): Rename to...
-	(inform): ...this overload.
-	* diagnostic.c: (diagnostic_n_impl): Delete location_t-based decl.
-	(diagnostic_n_impl_richloc): Rename to...
-	(diagnostic_n_impl): ...this rich_location *-based decl.
-	(inform_at_rich_loc): Rename to...
-	(inform): ...this, and add an assertion.
-	(inform_n): Update for removal of location_t-based diagnostic_n_impl.
-	(warning_at_rich_loc): Rename to...
-	(warning_at): ...this, and add an assertion.
-	(warning_at_rich_loc_n): Rename to...
-	(warning_n): ...this, and add an assertion.
-	(warning_n): Update location_t-based implementation for removal of
-	location_t-based diagnostic_n_impl.
-	(pedwarn_at_rich_loc): Rename to...
-	(pedwarn): ...this, and add an assertion.
-	(permerror_at_rich_loc): Rename to...
-	(permerror): ...this, and add an assertion.
-	(error_n): Update for removal of location_t-based diagnostic_n_impl.
-	(error_at_rich_loc): Rename to...
-	(error_at): ...this, and add an assertion.
-	* gcc.c (do_spec_1): Use UNKNOWN_LOCATION rather than 0.
-	(driver::do_spec_on_infiles): Likewise.
-	* substring-locations.c (format_warning_va): Update for renaming
-	of inform_at_rich_loc.
-
-2017-10-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* builtins.def (DEF_FLOATN_BUILTIN): Change most _Float<N> and
-	_Float<N>X built-in functions so that the variant without the
-	"__builtin_" prefix is only enabled for the GNU C and Objective C
-	languages when they are in non-strict ANSI/ISO mode.
-	(DEF_EXT_LIB_FLOATN_NX_BUILTINS): Likewise.
-	* target.def (floatn_builtin_p): Add a target hook to control
-	whether _Float<N> and _Float<N>X built-in functions without the
-	"__builtin_" prefix are enabled, and return true for C and
-	Objective C in the default hook.  Include langhooks.h in
-	targhooks.c.
-	* targhooks.h (default_floatn_builtin_p): Likewise.
-	* targhooks.c (default_floatn_builtin_p): Likewise.
-	* doc/tm.texi.in (TARGET_FLOATN_BUILTIN_P): Document the
-	floatn_builtin_p target hook.
-	* doc/tm.texi (TARGET_FLOATN_BUILTIN_P): Likewise.
-
-2017-10-31  Matthew Fortune  <matthew.fortune@imgtec.com>
-	    Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/81803
-	* lra-constraints.c (curr_insn_transform): Also reload the whole
-	register for a strict subreg no wider than a word if this is for
-	a WORD_REGISTER_OPERATIONS target.
-
-2017-10-31  Jason Merrill  <jason@redhat.com>
-
-	* gdbinit.in: Skip over inlines from timevar.h.
-
-2017-10-31  Martin Liska  <mliska@suse.cz>
-
-	* doc/gcov.texi: Document new option.
-	* gcov.c (print_usage): Likewise print it.
-	(process_args): Support the argument.
-	(format_count): New function.
-	(format_gcov): Use the function.
-
-2017-10-31  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (struct name_map): do not use typedef.
-	Define operator== and operator<.
-	(name_search): Remove.
-	(name_sort): Remove.
-	(main): Do not allocate names.
-	(process_file): Add vertical space.
-	(generate_results): Use std::find.
-	(release_structures): Do not release memory.
-	(find_source): Use std::find.
-
-2017-10-31  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (struct line_info): Remove it's typedef.
-	(line_info::line_info): Add proper ctor.
-	(line_info::has_block): Do not use a typedef.
-	(struct source_info): Do not use typedef.
-	(circuit): Likewise.
-	(get_cycles_count): Likewise.
-	(output_intermediate_file): Iterate via vector iterator.
-	(add_line_counts): Use std::vector methods.
-	(accumulate_line_counts): Likewise.
-	(output_lines): Likewise.
-
-2017-10-31  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (struct source_info): Remove typedef.
-	(source_info::source_info): Add proper ctor.
-	(accumulate_line_counts): Use struct, not it's typedef.
-	(output_gcov_file): Likewise.
-	(output_lines): Likewise.
-	(main): Do not allocate an array.
-	(output_intermediate_file): Use size of vector container.
-	(process_file): Resize the vector.
-	(generate_results): Do not preallocate, use newly added vector
-	lines.
-	(release_structures): Do not release sources.
-	(find_source): Use vector methods.
-	(add_line_counts): Do not use typedef.
-
-2017-10-31  Martin Liska  <mliska@suse.cz>
-
-	* doc/gcov.texi: Document that.
-	* gcov.c (add_line_counts): Mark lines with a non-executed
-	statement.
-	(output_line_beginning): Handle such lines.
-	(output_lines): Pass new argument.
-	(output_intermediate_file): Print it in intermediate format.
-
-2017-10-31  Martin Liska  <mliska@suse.cz>
-
-	* color-macros.h: New file.
-	* diagnostic-color.c: Factor out color related to macros to
-	color-macros.h.
-	* doc/gcov.texi: Document -k option.
-	* gcov.c (INCLUDE_STRING): Include string.h.
-	(print_usage): Add -k option.
-	(process_args): Parse it.
-	(pad_count_string): New function.
-	(output_line_beginning): Likewise.
-	(DEFAULT_LINE_START): New macro.
-	(output_lines): Support color output.
-
-2017-10-31  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/82633
-	* doc/gcov.texi: Document -fkeep-{static,inline}-functions and
-	their interaction with GCOV infrastructure.
-	* configure.ac: Add -fkeep-{inline,static}-functions to
-	coverage_flags.
-	* configure: Regenerate.
-
-2017-10-31  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/82772
-	* config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM".
-
-2017-10-31  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/82674
-	* config/rs6000/rs6000.md (allocate_stack): Force update interval
-	into a register if it does not fit into an immediate offset field.
-
-2017-10-31  Olivier Hainque  <hainque@adacore.com>
-
-	* gcc/Makefile.in (FLAGS_TO_PASS): Pass libsubdir as well.
-
-2017-10-31  Julia Koval  <julia.koval@intel.com>
-
-	* config.gcc: Add gfniintrin.h.
-	* config/i386/gfniintrin.h: New.
-	* config/i386/i386-builtin-types.def
-	(__builtin_ia32_vgf2p8affineinvqb_v64qi,
-	__builtin_ia32_vgf2p8affineinvqb_v64qi_mask,
-	__builtin_ia32_vgf2p8affineinvqb_v32qi,
-	__builtin_ia32_vgf2p8affineinvqb_v32qi_mask,
-	__builtin_ia32_vgf2p8affineinvqb_v16qi,
-	__builtin_ia32_vgf2p8affineinvqb_v16qi_mask): New builtins.
-	* config/i386/i386-builtin.def (V64QI_FTYPE_V64QI_V64QI_INT_V64QI_UDI,
-	V32QI_FTYPE_V32QI_V32QI_INT_V32QI_USI,
-	V16QI_FTYPE_V16QI_V16QI_INT_V16QI_UHI,
-	V64QI_FTYPE_V64QI_V64QI_INT): New types.
-	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
-	* config/i386/immintrin.h: Include gfniintrin.h.
-	* config/i386/sse.md (vgf2p8affineinvqb_*) New pattern.
-
-2017-10-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc.c (HAVE_TARGET_EXECUTABLE_SUFFIX): Remove old kludge.
-
-2017-10-30  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.md (ashldi3): Remove shift by 1 expansion.
-	(arm_ashldi3_1bit): Remove pattern.
-	(ashrdi3): Remove shift by 1 expansion.
-	(arm_ashrdi3_1bit): Remove pattern.
-	(lshrdi3): Remove shift by 1 expansion.
-	(arm_lshrdi3_1bit): Remove pattern.
-	* config/arm/arm.c (arm_rtx_costs_internal): Slightly increase
-	cost of ashldi3 by 1.
-	* config/arm/neon.md (ashldi3_neon): Remove shift by 1 expansion.
-	(<shift>di3_neon): Likewise.
-
-2017-10-30  Dominik Infuehr  <dominik.infuehr@theobroma-systems.com>
-
-	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov): Rename
-	both identically named patterns to (*aarch64_simd_mov<VD:mode>)
-	and (*aarch64_simd_mov<VQ:mode>).
-	(*aarch64_simd_mov<VD:mode>): Change type attribute to match
-	pattern alternative.
-	(*aarch64_simd_mov<VQ:mode>): Re-order and change type
-	attributes to match pattern alternative.
-
-2017-10-30  Steven Munroe  <munroesj@gcc.gnu.org>
-
-	* config.gcc (powerpc*-*-*): Add emmintrin.h.
-	* config/rs6000/emmintrin.h: New file.
-	* config/rs6000/x86intrin.h [__ALTIVEC__]: Include emmintrin.h.
-
-2017-10-30  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/vfp.md (movdi_vfp): Merge changes from movdi_vfp_cortexa8.
-	* (movdi_vfp_cortexa8): Remove pattern.
-
-2017-10-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* doc/install.texi (Specific, alpha*-*-*): Remove DEC OSF/1
-	etc. reference.
-	(Specific, alpha*-dec-osf5.1): Remove.
-	(Specific, mips-sgi-irix5): Remove.
-	(Specific, mips-sgi-irix6): Remove.
-
-2017-10-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/22141
-	* gimple-ssa-store-merging.c (merged_store_group::apply_stores): Fix
-	arguments to clear_bit_region_be.
-
-2017-10-30  Jim Wilson  <wilson@tuliptree.org>
-
-	* gimplify.c: Include memmodel.h.
-
-2017-10-30  Martin Jambor  <mjambor@suse.cz>
-
-	* omp-grid.c (grid_attempt_target_gridification): Also insert a
-	condition whether loop should be executed at all.
-
-2017-10-30  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for
-	gimple folding of vec_madd() intrinsics.
-	* config/rs6000/altivec.md (mulv8hi3): Rename altivec_vmladduhm to
-	fmav8hi4.  (altivec_vmladduhm): Rename to fmav8hi4.
-	* config/rs6000/rs6000-builtin.def: Rename vmladduhm to fmav8hi4
-
-2017-10-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82762
-	Revert
-	2017-10-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82129
-	Revert
-	2017-08-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81181
-	* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
-	(compute_antic): ... end of iteration here.
-
-2017-10-30  Joseph Myers  <joseph@codesourcery.com>
-
-	* doc/invoke.texi (C Dialect Options): Document -std=c17,
-	-std=iso9899:2017 and -std=gnu17.
-	* doc/standards.texi (C Language): Document C17 support.
-	* doc/cpp.texi (Overview): Mention -std=c17.
-	(Standard Predefined Macros): Document C11 and C17 values of
-	__STDC_VERSION__.  Do not refer to C99 support as incomplete.
-	* doc/extend.texi (Inline): Do not list individual options for
-	standards newer than C99.
-	* dwarf2out.c (highest_c_language, gen_compile_unit_die): Handle
-	"GNU C17".
-	* config/rl78/rl78.c (rl78_option_override): Handle "GNU C17"
-	language name.
-
-2017-10-30  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	* asan.c (asan_finish_file): Align asan globals array by shadow
-	granularity.
-
-2017-10-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/22141
-	* gimple-ssa-store-merging.c: Include rtl.h and expr.h.
-	(struct store_immediate_info): Add bitregion_start and bitregion_end
-	fields.
-	(store_immediate_info::store_immediate_info): Add brs and bre
-	arguments and initialize bitregion_{start,end} from those.
-	(struct merged_store_group): Add bitregion_start, bitregion_end,
-	align_base and mask fields.  Drop unnecessary struct keyword from
-	struct store_immediate_info.  Add do_merge method.
-	(clear_bit_region_be): Use memset instead of loop storing zeros.
-	(merged_store_group::do_merge): New method.
-	(merged_store_group::merge_into): Use do_merge.  Allow gaps in between
-	stores as long as the surrounding bitregions have no gaps.
-	(merged_store_group::merge_overlapping): Use do_merge.
-	(merged_store_group::apply_stores): Test that bitregion_{start,end}
-	is byte aligned, rather than requiring that start and width are
-	byte aligned.  Drop unnecessary struct keyword from
-	struct store_immediate_info.  Allocate and populate also mask array.
-	Make start of the arrays relative to bitregion_start rather than
-	start and size them according to bitregion_{end,start} difference.
-	(struct imm_store_chain_info): Drop unnecessary struct keyword from
-	struct store_immediate_info.
-	(pass_store_merging::gate): Punt if BITS_PER_UNIT or CHAR_BIT is not 8.
-	(pass_store_merging::terminate_all_aliasing_chains): Drop unnecessary
-	struct keyword from struct store_immediate_info.
-	(imm_store_chain_info::coalesce_immediate_stores): Allow gaps in
-	between stores as long as the surrounding bitregions have no gaps.
-	Formatting fixes.
-	(struct split_store): Add orig non-static data member.
-	(split_store::split_store): Initialize orig to false.
-	(find_constituent_stmts): Return store_immediate_info *, non-NULL
-	if there is exactly a single original stmt.  Change stmts argument
-	to pointer from reference, if NULL, don't push anything to it.  Add
-	first argument, use it to optimize skipping over orig stmts that
-	are known to be before bitpos already.  Simplify.
-	(split_group): Return unsigned int count how many stores are or
-	would be needed rather than a bool.  Add allow_unaligned argument.
-	Change split_stores argument from reference to pointer, if NULL,
-	only do a dry run computing how many stores would be produced.
-	Rewritten algorithm to use both alignment and misalign if
-	!allow_unaligned and handle bitfield stores with gaps.
-	(imm_store_chain_info::output_merged_store): Set start_byte_pos
-	from bitregion_start instead of start.  Compute allow_unaligned
-	here, if true, do 2 split_group dry runs to compute which one
-	produces fewer stores and prefer aligned if equal.  Punt if
-	new count is bigger or equal than original before emitting any
-	statements, rather than during that.  Remove no longer needed
-	new_ssa_names tracking.  Replace num_stmts with
-	split_stores.length ().  Use 32-bit stack allocated entries
-	in split_stores auto_vec.  Try to reuse original store lhs/rhs1
-	if possible.  Handle bitfields with gaps.
-	(pass_store_merging::execute): Ignore bitsize == 0 stores.
-	Compute bitregion_{start,end} for the stores and construct
-	store_immediate_info with that.  Formatting fixes.
-
-2017-10-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/82725
-	* config/i386/i386.c (legitimate_pic_address_disp_p): Allow
-	UNSPEC_DTPOFF and UNSPEC_NTPOFF with SImode immediate offset.
-
-2017-10-29  Jim Wilson  <wilson@tuliptree.org>
-
-	* gimplify.c: Include tm_p.h.
-
-	* common.opt (gcoff): Re-add as ignored option.
-	(gcoff1, gcoff2, gcoff3): Likewise.
-
-	* Makefile.in (OBJS): Delete sdbout.o.
-	(GTFILES): Delete $(srcdir)/sdbout.c.
-	* debug.h: Delete sdb_debug_hooks.
-	* final.c: Delete sdbout.h include.
-	(final_scan_insn): Delete SDB_DEBUG check.
-	(rest_of_clean_state): Likewise.
-	* output.h: Delete sdb_begin_function_line.
-	* sdbout.c: Delete.
-	* sdbout.h: Delete.
-	* toplev.c: Delete sdbout.h include.
-	(process_options): Delete SDB_DEBUG check.
-	* tree-core.h (tree_type_common): Delete pointer field of
-	tree_type_symtab.
-	* tree.c (copy_node): Clear TYPE_SYMTAB_DIE instead of
-	TYPE_SYMTAB_POINTER.
-	* tree.h (TYPE_SYMTAB_POINTER): Delete.
-	(TYPE_SYMTAB_IS_POINTER): Delete.
-	(TYPE_SYMTAB_IS_DIE): Renumber.
-	* xcoffout.c: Refer to former sdbout.c file.
-	(xcoffout_begin_prologue): Use past tense for sdbout.c reference.
-
-	* doc/install.texi (--with-stabs): Delete COFF and ECOFF info.
-	* doc/invoke.texi (SEEALSO): Delete adb and sdb references.
-	(Debugging Options): Delete -gcoff.
-	(-gstabs): Delete SDB reference.
-	(-gcoff): Delete.
-	(-gcoff@var{level}): Delete.
-	* doc/passes.texi (Debugging information output): Delete SDB and
-	sdbout.c references.
-	* doc/tm.texi: Regenerate.
-	* doc/tm.texi.in (DWARF_CIE_DATA_ALIGNMENT): Delete SDB from xref.
-	(SDB and DWARF): Change node name to DWARF and delete SDB and COFF
-	references.
-	(DEBUGGER_AUTO_OFFSET): Delete COFF and SDB references.
-	(PREFERRED_DEBUGGING_TYPE): Delete SDB_DEBUG and -gcoff references.
-	(SDB_DEBUGGING_INFO): Delete.
-	(PUT_SDB_@dots{}, SDB_DELIM, SDB_ALLOW_UNKNOWN_REFERENCES)
-	SDB_ALLOW_FORWARD_REFERENCES, SDB_OUTPUT_SOURCE_LINE): Delete.
-	* target.def (output_source_filename): Delete COFF reference.
-
-	* common.opt (gcoff): Delete.
-	(gxcoff+): Update Negative chain.
-	* defaults.h: Delete all references to SDB_DEBUGGING_INFO and
-	SDB_DEBUG.
-	* dwarf2out.c (gen_array_type_die): Change SDB to debuggers.
-	* flag-types.h (enum debug_info_type): Delete SDB_DEBUG.
-	* function.c (number_blocks): Delete SDB_DEBUGGING_INFO, SDB_DEBUG,
-	and SDB references.
-	(expand_function_start): Change sdb reference to past tense.
-	(expand_function_end): Change sdb reference to past tense.
-	* gcc.c (cpp_unique_options): Delete gcoff3 reference.
-	* opts.c (debug_type_names): Delete coff entry.
-	(common_handle_option): Delete OPT_gcoff case.
-	* system.h (SDB_DEBUG, SDB_DEBUGGING_INFO): Poison.
-
-	* config/dbxcoff.h (PREFERRED_DEBUGGING_TYPE): Set to DBX_DEBUG.
-	* config/cris/cris.h: Delete SDB reference in comment.
-	* config/i386/cygming.h: Don't define SDB_DEBUGGING_INFO.
-	(ASM_DECLARE_FUNCTION_NAME): Delete SDB reference from comment.
-	* config/i386/gas.h: Don't define SDB_DEBUGGING_INFO.
-	* config/i386/i386.c (svr4_dbx_register_map): Change SDB references
-	to past tense.
-	(ix86_expand_prologue): Likewise.
-	* config/i386/winnt.c (i386_pe_start_function): Don't check SDB_DEBUG.
-	* config/ia64/ia64.h: Likewise.
-	* config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Delete SDB reference.
-	* config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Delete gcoff*
-	support.
-	* config/mmix/mmix.h: Likewise.
-	* config/nds32/nds32.c: Likewise.
-	* config/stormy/storym16.h: Likewise.
-	* config/visium/visium.h: Likewise.
-	* config/vx-common.h (SDB_DEBUGGING_INFO): Delete undef.
-
-2017-10-28  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2.h (FRAME_GROWS_DOWNWARD): Define to 1.
-	* config/nios2/nios2.c (nios2_initial_elimination_offset):  Make
-	FRAME_POINTER_REGNUM point at high end of local var area.
-
-2017-10-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* bb-reorder.c (find_traces_1_round): Fix off-by-one index.
-	Move comment around.  Do not reset best_edge for a copiable
-	destination if the copy would cause a partition change.
-	(better_edge_p): Remove redundant check.
-
-2017-10-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386-protos.h (ix86_fp_compare_mode): Remove prototype.
-
-2017-10-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* builtins.c (CASE_MATHFN_FLOATN): New helper macro to add cases
-	for math functions that have _Float<N> and _Float<N>X variants.
-	(mathfn_built_in_2): Add support for math functions that have
-	_Float<N> and _Float<N>X variants.
-	(DEF_INTERNAL_FLT_FLOATN_FN): New helper macro.
-	(expand_builtin_mathfn_ternary): Add support for fma with
-	_Float<N> and _Float<N>X variants.
-	(expand_builtin): Likewise.
-	(fold_builtin_3): Likewise.
-	* builtins.def (DEF_EXT_LIB_FLOATN_NX_BUILTINS): New macro to
-	create math function _Float<N> and _Float<N>X variants as external
-	library builtins.
-	(BUILT_IN_COPYSIGN _Float<N> and _Float<N>X variants) Use
-	DEF_EXT_LIB_FLOATN_NX_BUILTINS to make built-in functions using
-	the __builtin_ prefix and if not strict ansi, without the prefix.
-	(BUILT_IN_FABS _Float<N> and _Float<N>X variants): Likewise.
-	(BUILT_IN_FMA _Float<N> and _Float<N>X variants): Likewise.
-	(BUILT_IN_FMAX _Float<N> and _Float<N>X variants): Likewise.
-	(BUILT_IN_FMIN _Float<N> and _Float<N>X variants): Likewise.
-	(BUILT_IN_NAN _Float<N> and _Float<N>X variants): Likewise.
-	(BUILT_IN_SQRT _Float<N> and _Float<N>X variants): Likewise.
-	* builtin-types.def (BT_FN_FLOAT16_FLOAT16_FLOAT16_FLOAT16): New
-	function signatures for fma _Float<N> and _Float<N>X variants.
-	(BT_FN_FLOAT32_FLOAT32_FLOAT32_FLOAT32): Likewise.
-	(BT_FN_FLOAT64_FLOAT64_FLOAT64_FLOAT64): Likewise.
-	(BT_FN_FLOAT128_FLOAT128_FLOAT128_FLOAT128): Likewise.
-	(BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_FLOAT32X): Likewise.
-	(BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_FLOAT64X): Likewise.
-	(BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_FLOAT128X): Likewise.
-	* gencfn-macros.c (print_case_cfn): Add support for math functions
-	that have _Float<N> and _Float<N>X variants.
-	(print_define_operator_list): Likewise.
-	(fltfn_suffixes): Likewise.
-	(main): Likewise.
-	* internal-fn.def (DEF_INTERNAL_FLT_FLOATN_FN): New helper macro
-	for math functions that have _Float<N> and _Float<N>X variants.
-	(SQRT): Add support for sqrt, copysign, fmin and fmax _Float<N>
-	and _Float<N>X variants.
-	(COPYSIGN): Likewise.
-	(FMIN): Likewise.
-	(FMAX): Likewise.
-	* fold-const.c (tree_call_nonnegative_warnv_p): Add support for
-	copysign, fma, fmax, fmin, and sqrt _Float<N> and _Float<N>X
-	variants.
-	(integer_valued_read_call_p): Likewise.
-	* fold-const-call.c (fold_const_call_ss): Likewise.
-	(fold_const_call_sss): Add support for copysign, fmin, and fmax
-	_Float<N> and _Float<N>X variants.
-	(fold_const_call_ssss): Add support for fma _Float<N> and
-	_Float<N>X variants.
-	* gimple-ssa-backprop.c (backprop::process_builtin_call_use): Add
-	support for copysign and fma _Float<N> and _Float<N>X variants.
-	(backprop::process_builtin_call_use): Likewise.
-	* tree-call-cdce.c (can_test_argument_range); Add support for
-	sqrt _Float<N> and _Float<N>X variants.
-	(edom_only_function): Likewise.
-	(get_no_error_domain): Likewise.
-	* tree-ssa-math-opts.c (internal_fn_reciprocal): Likewise.
-	* tree-ssa-reassoc.c (attempt_builtin_copysign): Add support for
-	copysign _Float<N> and _Float<N>X variants.
-	* config/rs6000/rs6000-builtin.def (SQRTF128): Delete, this is now
-	handled by machine independent code.
-	(FMAF128): Likewise.
-	* doc/cpp.texi (Common Predefined Macros): Document defining
-	__FP_FAST_FMAF<N> and __FP_FAST_FMAF<N>X if the backend supports
-	fma _Float<N> and _Float<N>X variants.
-
-2017-10-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/82692
-	* config/i386/i386-modes.def (CCFPU): Remove definition.
-	* config/i386/i386.c (put_condition_mode): Remove CCFPU mode handling.
-	(ix86_cc_modes_compatible): Ditto.
-	(ix86_expand_carry_flag_compare): Ditto.
-	(ix86_expand_int_movcc): Ditto.
-	(ix86_expand_int_addcc): Ditto.
-	(ix86_reverse_condition): Ditto.
-	(ix86_unordered_fp_compare): Rename from ix86_fp_compare_mode.
-	Return true/false for unordered/ordered fp comparisons.
-	(ix86_cc_mode): Always return CCFPmode for float mode comparisons.
-	(ix86_prepare_fp_compare_args): Update for rename.
-	(ix86_expand_fp_compare): Update for rename.  Generate unordered
-	compare RTXes wrapped with UNSPEC_NOTRAP unspec.
-	(ix86_expand_sse_compare_and_jump): Ditto.
-	* config/i386/predicates.md (fcmov_comparison_operator):
-	Remove CCFPU mode handling.
-	(ix86_comparison_operator): Ditto.
-	(ix86_carry_flag_operator): Ditto.
-	* config/i386/i386.md (UNSPEC_NOTRAP): New unspec.
-	(*cmpu<mode>_i387): Wrap compare RTX with UNSPEC_NOTRAP unspec.
-	(*cmpu<mode>_cc_i387): Ditto.
-	(FPCMP): Remove mode iterator.
-	(unord): Remove mode attribute.
-	(unord_subst): New define_subst transformation
-	(unord): New define_subst attribute.
-	(unordered): Ditto.
-	(*cmpi<unord><MODEF:mode>): Rewrite using unord_subst transformation.
-	(*cmpi<unord>xf_i387): Ditto.
-	* config/i386/sse.md (<sse>_<unord>comi<round_saeonly_name>): Merge
-	from <sse>_comi<round_saeonly_name> and <sse>_ucomi<round_saeonly_name>
-	using unord_subst transformation.
-	* config/i386/subst.md (SUBST_A): Remove CCFP and CCFPU modes.
-	(round_saeonly): Also handle CCFP mode.
-	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_NOTRAP unspec.
-	Remove UNSPEC_SAHF unspec handling.
-
-2017-10-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* x86-tune.def (X86_TUNE_INTER_UNIT_MOVES_TO_VEC): Disable for Zen.
-
-2017-10-27  Jeff Law  <law@redhat.com>
-
-	* gimple-ssa-sprintf.c: Include domwalk.h.
-	(class sprintf_dom_walker): New class, derived from dom_walker.
-	(sprintf_dom_walker::before_dom_children): New function.
-	(struct call_info): Moved into sprintf_dom_walker class
-	(compute_formath_length, handle_gimple_call): Likewise.
-	(sprintf_length::execute): Call the dominator walker rather
-	than walking the statements.
-
-	* tree-vrp.c (check_all_array_refs): Do not use wi->info to smuggle
-	gimple statement locations.
-	(check_array_bounds): Corresponding changes.  Get the statement's
-	location directly from wi->stmt.
-
-2017-10-27  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	PR target/82717
-	* doc/invoke.texi (RISC-V) <-mabi>: Correct and improve.
-
-2017-10-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* config/i386/x86-tune.def (X86_TUNE_PARTIAL_REG_DEPENDENCY,
-	X86_TUNE_MOVX): Disable for Haswell and newer CPUs.
-
-2017-10-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82703
-	* config/i386/i386-protos.h (maybe_get_pool_constant): Removed.
-	* config/i386/i386.c (maybe_get_pool_constant): Removed.
-	(ix86_split_to_parts): Use avoid_constant_pool_reference instead of
-	maybe_get_pool_constant.
-	* config/i386/predicates.md (zero_extended_scalar_load_operand):
-	Likewise.
-
-2017-10-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* doc/install.texi (Specific, i?86-*-solaris2.10): Simplify gas
-	2.26 caveat.  Update gas and gld versions.
-	(Specific, *-*-solaris2*): Update binutils version.  Remove caveat
-	reference.
-
-2017-10-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* cgraph.h (set_malloc_flag): Declare.
-	* cgraph.c (set_malloc_flag_1): New function.
-	(set_malloc_flag): Likewise.
-	* ipa-fnsummary.h (ipa_call_summary): Add new field is_return_callee.
-	* ipa-fnsummary.c (ipa_call_summary::reset): Set is_return_callee to
-	false.
-	(read_ipa_call_summary): Add support for reading is_return_callee.
-	(write_ipa_call_summary): Stream is_return_callee.
-	* ipa-inline.c (ipa_inline): Remove call to ipa_free_fn_summary.
-	* ipa-pure-const.c: Add headers ssa.h, alloc-pool.h, symbol-summary.h,
-	ipa-prop.h, ipa-fnsummary.h.
-	(pure_const_names): Change to static.
-	(malloc_state_e): Define.
-	(malloc_state_names): Define.
-	(funct_state_d): Add field malloc_state.
-	(varying_state): Set malloc_state to STATE_MALLOC_BOTTOM.
-	(check_retval_uses): New function.
-	(malloc_candidate_p): Likewise.
-	(analyze_function): Add support for malloc attribute.
-	(pure_const_write_summary): Stream malloc_state.
-	(pure_const_read_summary): Add support for reading malloc_state.
-	(dump_malloc_lattice): New function.
-	(propagate_malloc): New function.
-	(warn_function_malloc): New function.
-	(ipa_pure_const::execute): Call propagate_malloc and
-	ipa_free_fn_summary.
-	(pass_local_pure_const::execute): Add support for malloc attribute.
-	* ssa-iterators.h (RETURN_FROM_IMM_USE_STMT): New macro.
-	* doc/invoke.texi: Document Wsuggest-attribute=malloc.
-
-2017-10-27  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/82457
-	* doc/invoke.texi: Document that one needs a non-strict ISO mode
-	for fork-like functions to be properly instrumented.
-
-2017-10-27  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81659
-	* tree-eh.c (pass_lower_eh_dispatch::execute): Free dominator
-	info when we redirected EH.
-
-2017-10-26  Michael Collison  <michael.collison@arm.com>
-
-	* config/aarch64/aarch64.md(<optab>_trunc><vf><GPI:mode>2):
-	New pattern.
-	(<optab>_trunchf<GPI:mode>2: New pattern.
-	(<optab>_trunc<vgp><GPI:mode>2: New pattern.
-	* config/aarch64/iterators.md (wv): New mode attribute.
-	(vf, VF): New mode attributes.
-	(vgp, VGP): New mode attributes.
-	(s): Update attribute with SImode and DImode prefixes.
-
-2017-10-26  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/constraints.md ("S"): Match r0rel_constant_p too.
-	* config/nios2/nios2-protos.h (r0rel_constant_p): Declare.
-	* config/nios2/nios2.c: (nios2_r0rel_sec_regex): New.
-	(nios2_option_overide): Initialize it.  Don't allow R0-relative
-	addressing with PIC.
-	(nios2_rtx_costs): Handle r0rel_constant_p like gprel_constant_p.
-	(nios2_symbolic_constant_p): Likewise.
-	(nios2_legitimate_address_p): Likewise.
-	(nios2_r0rel_section_name_p): New.
-	(nios2_symbol_ref_in_r0rel_data_p): New.
-	(nios2_emit_move_sequence): Handle r0rel_constant_p.
-	(r0rel_constant_p): New.
-	(nios2_print_operand_address): Handle r0rel_constant_p.
-	(nios2_cdx_narrow_form_p): Likewise.
-	* config/nios2/nios2.opt (mr0rel-sec=): New option.
-	* doc/invoke.texi (Option Summary): Add -mr0rel-sec.
-	(Nios II Options): Document -mr0rel-sec.
-
-2017-10-26  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2.c: Include xregex.h.
-	(nios2_gprel_sec_regex): New.
-	(nios2_option_overide): Initialize it.  Don't allow GP-relative
-	addressing with PIC.
-	(nios2_small_section_name_p): Check for regex match.
-	* config/nios2/nios2.opt (mgprel-sec=): New option.
-	* doc/invoke.texi (Option Summary): Add -mgprel-sec.
-	(Nios II Options): Document -mgprel-sec.
-
-2017-10-26  Jim Wilson  <wilson@tuliptree.org>
-
-	* doc/invoke.texi (-fdebug-prefix-map): Expand documentation.
-
-2017-10-26  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/82707
-	* gimple.c (gimple_copy): Fix unsharing of
-	GIMPLE_OMP_{SINGLE,TARGET,TEAMS}.
-
-2017-10-26  Olga Makhotina  <olga.makhotina@intel.com>
-
-	* config/i386/avx512fintrin.h (_mm512_cmpeq_pd_mask,
-	_mm512_cmple_pd_mask, _mm512_cmplt_pd_mask,
-	_mm512_cmpneq_pd_mask, _mm512_cmpnle_pd_mask,
-	_mm512_cmpnlt_pd_mask, _mm512_cmpord_pd_mask,
-	_mm512_cmpunord_pd_mask, _mm512_mask_cmpeq_pd_mask,
-	_mm512_mask_cmple_pd_mask, _mm512_mask_cmplt_pd_mask,
-	_mm512_mask_cmpneq_pd_mask, _mm512_mask_cmpnle_pd_mask,
-	_mm512_mask_cmpnlt_pd_mask, _mm512_mask_cmpord_pd_mask,
-	_mm512_mask_cmpunord_pd_mask, _mm512_cmpeq_ps_mask,
-	_mm512_cmple_ps_mask, _mm512_cmplt_ps_mask,
-	_mm512_cmpneq_ps_mask, _mm512_cmpnle_ps_mask,
-	_mm512_cmpnlt_ps_mask, _mm512_cmpord_ps_mask,
-	_mm512_cmpunord_ps_mask, _mm512_mask_cmpeq_ps_mask,
-	_mm512_mask_cmple_ps_mask, _mm512_mask_cmplt_ps_mask,
-	_mm512_mask_cmpneq_ps_mask, _mm512_mask_cmpnle_ps_mask,
-	_mm512_mask_cmpnlt_ps_mask, _mm512_mask_cmpord_ps_mask,
-	_mm512_mask_cmpunord_ps_mask): New intrinsics.
-
-2017-10-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/aix.h (TARGET_IEEEQUAD_DEFAULT): Set long double
-	default to IBM.
-	* config/rs6000/darwin.h (TARGET_IEEEQUAD_DEFAULT): Likewise.
-	* config/rs6000/rs6000.opt (-mabi=ieeelongdouble): Move the
-	warning to rs6000.c.  Remove the Undocumented flag, since it has
-	been documented.
-	(-mabi=ibmlongdouble): Likewise.
-	* config/rs6000/rs6000.c (TARGET_IEEEQUAD_DEFAULT): If it is not
-	already set, set the default format for long double.
-	(rs6000_debug_reg_global): Print whether long double is IBM or
-	IEEE.
-	(rs6000_option_override_internal): Rework setting long double
-	format.  Only warn if the user is changing the long double default
-	and they did not use -Wno-psabi.
-	* doc/invoke.texi (PowerPC options): Update the documentation for
-	-mabi=ieeelongdouble and -mabi=ibmlongdouble.
-
-2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (wider_subreg_mode): New function.
-	* ira.h (ira_sort_regnos_for_alter_reg): Take a machine_mode *
-	rather than an unsigned int *.
-	* ira-color.c (regno_max_ref_width): Replace with...
-	(regno_max_ref_mode): ...this new variable.
-	(coalesced_pseudo_reg_slot_compare): Update accordingly.
-	Use wider_subreg_mode.
-	(ira_sort_regnos_for_alter_reg): Likewise.  Take a machine_mode *
-	rather than an unsigned int *.
-	* lra-constraints.c (uses_hard_regs_p): Use wider_subreg_mode.
-	(process_alt_operands): Likewise.
-	(invariant_p): Likewise.
-	* lra-spills.c (assign_mem_slot): Likewise.
-	(add_pseudo_to_slot): Likewise.
-	* lra.c (collect_non_operand_hard_regs): Likewise.
-	(add_regs_to_insn_regno_info): Likewise.
-	* reload1.c (regno_max_ref_width): Replace with...
-	(regno_max_ref_mode): ...this new variable.
-	(reload): Update accordingly.  Update call to
-	ira_sort_regnos_for_alter_reg.
-	(alter_reg): Update to use regno_max_ref_mode.  Call wider_subreg_mode.
-	(init_eliminable_invariants): Update to use regno_max_ref_mode.
-	(scan_paradoxical_subregs): Likewise.
-
-2017-10-26  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.h (EXIT_IGNORE_STACK): Set if alloca is used.
-	(aarch64_frame): Add emit_frame_chain boolean.
-	* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
-	Move eh_return case to aarch64_layout_frame.
-	(aarch64_layout_frame): Initialize emit_frame_chain.
-	(aarch64_expand_prologue): Use emit_frame_chain.
-
-2017-10-26  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_layout_frame):
-	Ensure LR is always stored at the bottom of the callee-saves.
-	Remove rarely used frame layout which saves callee-saves at top of
-	frame, so the store of LR can be used as a valid probe in all cases.
-
-2017-10-26  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_legitimize_address_displacement):
-	Improve unaligned TImode/TFmode base/offset split.
-
-2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* caller-save.c (mark_referenced_regs):  Use read_modify_subreg_p.
-	* combine.c (find_single_use_1): Likewise.
-	(expand_field_assignment): Likewise.
-	(move_deaths): Likewise.
-	* lra-constraints.c (simplify_operand_subreg): Likewise.
-	(curr_insn_transform): Likewise.
-	* lra.c (collect_non_operand_hard_regs): Likewise.
-	(add_regs_to_insn_regno_info): Likewise.
-	* rtlanal.c (reg_referenced_p): Likewise.
-	(covers_regno_no_parallel_p): Likewise.
-
-2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* wide-int-print.cc (print_hex): Loop based on extract_uhwi.
-	Don't print any bits outside the precision of the value.
-	* wide-int.cc (test_printing): Add some new tests.
-
-2017-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler
-	supports -xbrace_comment option.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-	* config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define.
-	(ASM_CPU_SPEC): Use it.
-
-2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* target.def (static_rtx_alignment): New hook.
-	* targhooks.h (default_static_rtx_alignment): Declare.
-	* targhooks.c (default_static_rtx_alignment): New function.
-	* doc/tm.texi.in (TARGET_STATIC_RTX_ALIGNMENT): New hook.
-	* doc/tm.texi: Regenerate.
-	* varasm.c (force_const_mem): Use targetm.static_rtx_alignment
-	instead of targetm.constant_alignment.  Remove call to
-	set_mem_attributes.
-	* config/cris/cris.c (TARGET_STATIC_RTX_ALIGNMENT): Redefine.
-	(cris_preferred_mininum_alignment): New function, split out from...
-	(cris_constant_alignment): ...here.
-	(cris_static_rtx_alignment): New function.
-	* config/i386/i386.c (ix86_static_rtx_alignment): New function,
-	split out from...
-	(ix86_constant_alignment): ...here.
-	(TARGET_STATIC_RTX_ALIGNMENT): Redefine.
-	* config/mmix/mmix.c (TARGET_STATIC_RTX_ALIGNMENT): Redefine.
-	(mmix_static_rtx_alignment): New function.
-	* config/spu/spu.c (spu_static_rtx_alignment): New function.
-	(TARGET_STATIC_RTX_ALIGNMENT): Redefine.
-
-2017-10-26  Tamar Christina  <tamar.christina@arm.com>
-
-	PR target/81800
-	* config/aarch64/aarch64.md (lrint<GPF:mode><GPI:mode>2):
-	Add flag_trapping_math and flag_fp_int_builtin_inexact.
-
-2017-10-25  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	* config/riscv/riscv.md (ZERO_EXTEND_LOAD): Define.
-	* config/riscv/pic.md (local_pic_load): Rename to local_pic_load_s,
-	mark as a sign-extending load.
-	(local_pic_load_u): Define.
-
-2017-10-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR middle-end/82062
-	* fold-const.c (operand_equal_for_comparison_p): Also return true
-	if ARG0 is a simple variant of ARG1 with narrower precision.
-	(fold_ternary_loc): Always pass unstripped operands to the predicate.
-
-2017-10-25  Jan Hubicka  <hubicka@ucw.cz>
-
-	* i386.c (ix86_builtin_vectorization_cost): Compute scatter/gather
-	cost correctly.
-	* i386.h (processor_costs): Add gather_static, gather_per_elt,
-	scatter_static, scatter_per_elt.
-	* x86-tune-costs.h: Add new cost entries.
-
-2017-10-25  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-sccvn.h (vn_eliminate): Declare.
-	* tree-ssa-pre.c (class eliminate_dom_walker, eliminate,
-	class pass_fre): Move to ...
-	* tree-ssa-sccvn.c (class eliminate_dom_walker, vn_eliminate,
-	class pass_fre): ... here and adjust for statistics.
-
-2017-10-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR libstdc++/81706
-	* attribs.c (attribute_value_equal): Use omp_declare_simd_clauses_equal
-	for comparison of OMP_CLAUSEs regardless of flag_openmp{,_simd}.
-	(duplicate_one_attribute, copy_attributes_to_builtin): New functions.
-	* attribs.h (duplicate_one_attribute, copy_attributes_to_builtin): New
-	declarations.
-
-2017-10-25  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (need_eh_cleanup, need_ab_cleanup, el_to_remove,
-	el_to_fixup, el_todo, el_avail, el_avail_stack, eliminate_avail,
-	eliminate_push_avail, eliminate_insert): Move inside...
-	(class eliminate_dom_walker): ... this class in preparation
-	of move.
-	(fini_eliminate): Remove by merging with ...
-	(eliminate): ... this function.  Adjust for class changes.
-	(pass_pre::execute): Remove fini_eliminate call.
-	(pass_fre::execute): Likewise.
-
-2017-10-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82460
-	* config/i386/sse.md (UNSPEC_VPERMI2, UNSPEC_VPERMI2_MASK): Remove.
-	(VPERMI2, VPERMI2I): New mode iterators.
-	(<avx512>_vpermi2var<mode>3_maskz): Remove 3 define_expand patterns.
-	(<avx512>_vpermi2var<mode>3<sd_maskz_name>): Remove 3 define_insn
-	patterns.
-	(<avx512>_vpermi2var<mode>3_mask): New define_expand using VPERMI2
-	mode iterator.  Remove 3 old define_insn patterns.
-	(*<avx512>_vpermi2var<mode>3_mask): 2 new define_insn patterns.
-	(<avx512>_vpermt2var<mode>3_maskz): Adjust 1 define_expand to use
-	VPERMI2 mode iterator, remove the other two expanders.
-	(<avx512>_vpermt2var<mode>3<sd_maskz_name>): Adjust 1 define_insn
-	to use VPERMI2 mode iterator, add another alternative for vpermi2*
-	instructions, remove the other two patterns.
-	(<avx512>_vpermt2var<mode>3_mask): Adjust 1 define_insn to use VPERMI2
-	mode iterator, remove the other two patterns.
-	* config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Renamed to ...
-	(ix86_expand_vec_perm_vpermt2): ... this.  Swap mask and op0
-	arguments, use gen_*vpermt2* expanders instead of gen_*vpermi2*
-	and adjust argument order accordingly.
-	(ix86_expand_vec_perm): Adjust caller.
-	(expand_vec_perm_1): Likewise.
-	(expand_vec_perm_vpermi2_vpshub2): Rename to ...
-	(expand_vec_perm_vpermt2_vpshub2): ... this.
-	(ix86_expand_vec_perm_const_1): Adjust caller.
-	(ix86_vectorize_vec_perm_const_ok): Adjust comments.
-
-	PR target/82370
-	* config/i386/sse.md (VIMAX_AVX2): Remove V4TImode.
-	(VIMAX_AVX2_AVX512BW, VIMAX_AVX512VL): New mode iterators.
-	(vec_shl_<mode>): Remove unused expander.
-	(avx512bw_<shift_insn><mode>3): New define_insn.
-	(<sse2_avx2>_ashl<mode>3, <sse2_avx2>_lshr<mode>3): Replaced by ...
-	(<sse2_avx2>_<shift_insn><mode>3): ... this.  New define_insn.
-
-2017-10-24  Paolo Carlini  <paolo.carlini@oracle.com>
-
-	PR c++/82466
-	* doc/invoke.texi ([Wbuiltin-declaration-mismatch]): Extend
-	description.
-
-2017-10-24  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR rtl-optimization/82396
-	* gcc/haifa-sched.c (ready_sort_real): Remove qsort workaround.
-	(autopref_multipass_init): Simplify initialization.
-	(autopref_rank_data): Simplify sort order.
-	* gcc/sched-int.h (autopref_multipass_data_): Remove
-	multi_mem_insn_p, min_offset and max_offset.
-
-2017-10-24  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR middle-end/60580
-	* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
-	Check special value of flag_omit_frame_pointer.
-	(aarch64_can_eliminate): Likewise.
-	(aarch64_override_options_after_change_1): Simplify handling of
-	-fomit-frame-pointer and -fomit-leaf-frame-pointer.
-
-2017-10-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82697
-	* tree-ssa-phiopt.c (cond_store_replacement): Use alias-set
-	zero for conditional load and unconditional store.
-
-2017-10-24  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* doc/install.texi: Document bootstrap-cet.
-
-2017-10-24  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/82659
-	* config/i386/i386.c (rest_of_insert_endbranch): Don't insert
-	ENDBR instruction at function entrance if function is only
-	called directly.
-
-2017-10-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82628
-	* config/i386/i386.md (addcarry<mode>, subborrow<mode>): Change
-	patterns to better describe from which operation the CF is computed.
-	(addcarry<mode>_0, subborrow<mode>_0): New patterns.
-	* config/i386/i386.c (ix86_expand_builtin) <case handlecarry>: Pass
-	one LTU with [DT]Imode and another one with [SD]Imode.  If arg0
-	is 0, use _0 suffixed expanders instead of emitting a comparison
-	before it.
-
-2017-10-06  Sergey Shalnov  <Sergey.Shalnov@intel.com>
-
-	* config/i386/i386.md(*movsf_internal, *movdf_internal):
-	Avoid 512-bit AVX modes for TARGET_PREFER_AVX256.
-
-2017-10-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR middle-end/82569
-	* tree-outof-ssa.h (always_initialized_rtx_for_ssa_name_p): Delete.
-	* expr.c (expand_expr_real_1) <expand_decl_rtl>: Revert latest change.
-	* loop-iv.c (iv_get_reaching_def): Likewise.
-	* cfgexpand.c (expand_one_ssa_partition): Initialize the RTX if the
-	variable is promoted and the partition contains undefined values.
-
-2017-10-23  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2.c (nios2_rtx_costs): Make costs better
-	reflect reality.
-	(nios2_address_cost): Define.
-	(nios2_legitimize_address): Recognize (exp + constant) directly.
-	(TARGET_ADDRESS_COST): Define.
-
-2017-10-23  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2-protos.h (nios2_large_constant_p): Declare.
-	(nios2_symbolic_memory_operand_p): Declare.
-	(nios2_split_large_constant): Declare.
-	(nios2_split_symbolic_memory_operand): Declare.
-	* config/nios2/nios2.c: Adjust includes.
-	(nios2_symbolic_constant_allowed): New.
-	(nios2_symbolic_constant_p): New.
-	(nios2_plus_symbolic_constant_p): New.
-	(nios2_valid_addr_expr_p): Recognize addresses involving
-	symbolic constants.
-	(nios2_legitimate_address_p): Likewise, also LO_SUM.
-	(nios2_symbolic_memory_operand_p): New.
-	(nios2_large_constant_p): New.
-	(nios2_split_large_constant): New.
-	(nios2_split_plus_large_constant): New.
-	(nios2_split_symbolic_memory_operand): New.
-	(nios2_legitimize_address): Code refactoring.  Handle addresses
-	involving symbolic constants.
-	(nios2_emit_move_sequence): Likewise.
-	(nios2_print_operand): Improve error output.
-	(nios2_print_operand_address): Handle LO_SUM.
-	(nios2_cdx_narrow_form_p): Likewise.
-	* config/nios2/nios2.md (movqi_internal): Add splitter for memory
-	operands involving symbolic constants.
-	(movhi_internal, movsi_internal): Likewise.
-	(zero_extendhisi2, zero_extendqi<mode>2): Likewise.
-	(extendhisi2, extendqi<mode>2): Likewise.
-
-2017-10-23  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* tree-pass.h (PROP_rtl_split_insns): Define.
-	* recog.c (pass_data_split_all_insns): Provide PROP_rtl_split_insns.
-
-2017-10-23  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2.c (TARGET_LRA_P): Don't override.
-
-2017-10-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/82630
-	* target.def (const_not_ok_for_debug_p): Default to
-	default_const_not_ok_for_debug_p instead of hook_bool_rtx_false.
-	* targhooks.h (default_const_not_ok_for_debug_p): New declaration.
-	* targhooks.c (default_const_not_ok_for_debug_p): New function.
-	* dwarf2out.c (const_ok_for_output_1): Only reject UNSPECs for
-	which targetm.const_not_ok_for_debug_p returned true.
-	* config/arm/arm.c (arm_const_not_ok_for_debug_p): Return true
-	for UNSPECs.
-	* config/powerpcspe/powerpcspe.c (rs6000_const_not_ok_for_debug_p):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): Likewise.
-	* config/i386/i386.c (ix86_delegitimize_address_1): Don't delegitimize
-	UNSPEC_GOTOFF with addend into addend - _GLOBAL_OFFSET_TABLE_ + symbol
-	if !base_term_p.
-	(ix86_const_not_ok_for_debug_p): New function.
-	(i386_asm_output_addr_const_extra): Handle UNSPEC_GOTOFF.
-	(TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
-
-2017-10-23  David Malcolm  <dmalcolm@redhat.com>
-
-	PR bootstrap/82610
-	* system.h: Conditionally include "unique-ptr.h" if
-	INCLUDE_UNIQUE_PTR is defined.
-	* unique-ptr-tests.cc: Remove include of "unique-ptr.h" in favor
-	of defining INCLUDE_UNIQUE_PTR before including "system.h".
-
-2017-10-23  Sebastian Perta  <sebastian.perta@renesas.com>
-
-	* config/rl78/rl78.md: New define_expand "subdi3".
-
-2017-10-23  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/82673
-	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Skip
-	DF_REF_INSN if DF_REF_INSN_INFO is false.
-
-2017-10-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* i386.c (dimode_scalar_chain::compute_convert_gain): Use
-	xmm_move instead of sse_move.
-	(sse_store_index): New function.
-	(ix86_register_move_cost): Be more sensible about mismatch stall;
-	model AVX moves correctly; make difference between sse->integer and
-	integer->sse.
-	(ix86_builtin_vectorization_cost): Model correctly aligned and unaligned
-	moves; make difference between SSE and AVX.
-	* i386.h (processor_costs): Remove sse_move; add xmm_move, ymm_move
-	and zmm_move. Increase size of sse load and store tables;
-	add unaligned load and store tables; add ssemmx_to_integer.
-	* x86-tune-costs.h: Update all entries according to real
-	move latencies from Agner Fog's manual and chip documentation.
-
-2017-10-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82628
-	* config/i386/predicates.md (x86_64_dwzext_immediate_operand): New.
-	* config/i386/constraints.md (Wf): New constraint.
-	* config/i386/i386.md (UNSPEC_SBB): New unspec.
-	(cmp<dwi>_doubleword): Removed.
-	(sub<mode>3_carry_ccc, *sub<mode>3_carry_ccc_1): New patterns.
-	(sub<mode>3_carry_ccgz): Use unspec instead of compare.
-	* config/i386/i386.c (ix86_expand_branch) <case E_TImode>: Don't
-	expand with cmp<dwi>_doubleword.  For LTU and GEU use
-	sub<mode>3_carry_ccc instead of sub<mode>3_carry_ccgz and use CCCmode.
-
-	* common.opt (gcolumn-info): Enable by default.
-	* doc/invoke.texi (gcolumn-info): Document new default.
-
-2017-10-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82672
-	* graphite-isl-ast-to-gimple.c (graphite_copy_stmts_from_block):
-	Fold the stmt if we propagated into it.
-
-2017-10-23  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (bitmap_remove_from_set): Rename to...
-	(bitmap_remove_expr_from_set): ... this.  All callers call this
-	for non-constant values.
-	(bitmap_set_subtract): Rename to...
-	(bitmap_set_subtract_expressions): ... this.  Adjust and
-	optimize.
-	(bitmap_set_contains_value): Remove superfluous check.
-	(bitmap_set_replace_value): Inline into single caller ...
-	(bitmap_value_replace_in_set): ... here and simplify.
-	(dependent_clean): Merge into ...
-	(clean): ... this using an overload.  Adjust.
-	(prune_clobbered_mems): Adjust.
-	(compute_antic_aux): Likewise.
-	(compute_partial_antic_aux): Likewise.
-
-2017-10-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82129
-	Revert
-	2017-08-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81181
-	* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
-	(compute_antic): ... end of iteration here.
-
-2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* target.def (starting_frame_offset): New hook.
-	* doc/tm.texi (STARTING_FRAME_OFFSET): Remove in favor of...
-	(TARGET_STARTING_FRAME_OFFSET): ...this new hook.
-	* doc/tm.texi.in: Regenerate.
-	* hooks.h (hook_hwi_void_0): Declare.
-	* hooks.c (hook_hwi_void_0): New function.
-	* doc/rtl.texi: Refer to TARGET_STARTING_FRAME_OFFSET instead of
-	STARTING_FRAME_OFFSET.
-	* builtins.c (expand_builtin_setjmp_receiver): Likewise.
-	* reload1.c (reload): Likewise.
-	* cfgexpand.c (expand_used_vars): Use targetm.starting_frame_offset
-	instead of STARTING_FRAME_OFFSET.
-	* function.c (try_fit_stack_local): Likewise.
-	(assign_stack_local_1): Likewise
-	(instantiate_virtual_regs): Likewise.
-	* rtlanal.c (rtx_addr_can_trap_p_1): Likewise.
-	* config/avr/avr.md (nonlocal_goto_receiver): Likewise.
-	* config/aarch64/aarch64.h (STARTING_FRAME_OFFSET): Delete.
-	* config/alpha/alpha.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/arc/arc.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/arm/arm.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/bfin/bfin.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/c6x/c6x.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/cr16/cr16.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/cris/cris.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/fr30/fr30.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/frv/frv.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/ft32/ft32.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/h8300/h8300.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/i386/i386.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/ia64/ia64.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/m32c/m32c.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/m68k/m68k.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/mcore/mcore.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/mn10300/mn10300.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/moxie/moxie.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/msp430/msp430.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/nds32/nds32.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/nios2/nios2.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/nvptx/nvptx.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/pdp11/pdp11.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/riscv/riscv.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/rl78/rl78.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/rx/rx.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/s390/s390.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/sh/sh.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/sparc/sparc.c (sparc_compute_frame_size): Likewise.
-	* config/sparc/sparc.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/spu/spu.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/stormy16/stormy16.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/tilegx/tilegx.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/tilepro/tilepro.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/v850/v850.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/visium/visium.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/avr/avr.h (STARTING_FRAME_OFFSET): Likewise.
-	* config/avr/avr-protos.h (avr_starting_frame_offset): Likewise.
-	* config/avr/avr.c (avr_starting_frame_offset): Make static and
-	return a HOST_WIDE_INT.
-	(avr_builtin_setjmp_frame_value): Use it instead of
-	STARTING_FRAME_OFFSET.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* config/epiphany/epiphany.h (STARTING_FRAME_OFFSET): Delete.
-	* config/epiphany/epiphany.c (epiphany_starting_frame_offset):
-	New function.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* config/iq2000/iq2000.h (STARTING_FRAME_OFFSET): Delete.
-	* config/iq2000/iq2000.c (iq2000_starting_frame_offset): New function.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/lm32/lm32.h (STARTING_FRAME_OFFSET): Delete.
-	* config/lm32/lm32.c (lm32_starting_frame_offset): New function.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* config/m32r/m32r.h (STARTING_FRAME_OFFSET): Delete.
-	* config/m32r/m32r.c (m32r_starting_frame_offset): New function.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* config/microblaze/microblaze.h (STARTING_FRAME_OFFSET): Delete.
-	* config/microblaze/microblaze.c (microblaze_starting_frame_offset):
-	New function.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* config/mips/mips.h (STARTING_FRAME_OFFSET): Delete.
-	* config/mips/mips.c (mips_compute_frame_info): Refer to
-	TARGET_STARTING_FRAME_OFFSET instead of STARTING_FRAME_OFFSET.
-	(mips_starting_frame_offset): New function.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* config/mmix/mmix.h (STARTING_FRAME_OFFSET): Delete.
-	* config/mmix/mmix-protos.h (mmix_starting_frame_offset): Delete.
-	* config/mmix/mmix.c (mmix_starting_frame_offset): Make static
-	and return a HOST_WIDE_INT.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	(mmix_initial_elimination_offset): Refer to
-	TARGET_STARTING_FRAME_OFFSET instead of STARTING_FRAME_OFFSET.
-	* config/pa/pa.h (STARTING_FRAME_OFFSET): Delete.
-	* config/pa/pa.c (pa_starting_frame_offset): New function.
-	(pa_compute_frame_size): Use it instead of STARTING_FRAME_OFFSET.
-	(pa_expand_prologue): Likewise.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* config/powerpcspe/aix.h (STARTING_FRAME_OFFSET): Split out
-	!FRAME_GROWS_DOWNWARD handling to...
-	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
-	* config/powerpcspe/darwin.h (STARTING_FRAME_OFFSET): Split out
-	!FRAME_GROWS_DOWNWARD handling to...
-	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
-	* config/powerpcspe/powerpcspe.h (STARTING_FRAME_OFFSET): Split out
-	!FRAME_GROWS_DOWNWARD handling to...
-	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
-	* config/powerpcspe/powerpcspe.c (TARGET_STARTING_FRAME_OFFSET):
-	Redefine.
-	(rs6000_starting_frame_offset): New function.
-	* config/rs6000/aix.h (STARTING_FRAME_OFFSET): Split out
-	!FRAME_GROWS_DOWNWARD handling to...
-	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
-	* config/rs6000/darwin.h (STARTING_FRAME_OFFSET): Split out
-	!FRAME_GROWS_DOWNWARD handling to...
-	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
-	* config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Split out
-	!FRAME_GROWS_DOWNWARD handling to...
-	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
-	* config/rs6000/rs6000.c (TARGET_STARTING_FRAME_OFFSET): Refine.
-	(rs6000_starting_frame_offset): New function.
-	* config/vax/elf.h (STARTING_FRAME_OFFSET): Delete.
-	* config/vax/vax.h (STARTING_FRAME_OFFSET): Delete.
-	* config/vax/vax.c (vax_starting_frame_offset): New function.
-	(vax_expand_prologue): Use it instead of STARTING_FRAME_OFFSET.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* config/xtensa/xtensa.h (STARTING_FRAME_OFFSET): Delete.
-	* config/xtensa/xtensa.c (xtensa_starting_frame_offset): New function.
-	(TARGET_STARTING_FRAME_OFFSET): Redefine.
-	* system.h (STARTING_FRAME_OFFSET): Poison.
-
-2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Use
-	SCALAR_TYPE_MODE instead of TYPE_MODE.
-
-2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* dwarf2out.c (loc_list_from_tree_1): Use SCALAR_INT_TYPE_MODE
-
-2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expmed.c (expand_shift_1): Use scalar_mode for scalar_mode.
-
-2017-10-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82129
-	* tree-ssa-pre.c (bitmap_set_and): Remove.
-	(compute_antic_aux): Compute ANTIC_OUT intersection in a way
-	canonicalizing expressions in the set to those with lowest
-	ID rather than taking that from the first edge.
-
-2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* combine.c (rtx_equal_for_field_assignment_p): Use
-	byte_lowpart_offset.
-
-2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* internal-fn.c (expand_direct_optab_fn): Don't assign directly
-	to a SUBREG_PROMOTED_VAR.
-
-2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cfgexpand.c (expand_debug_expr): Use GET_MODE_UNIT_PRECISION.
-	(expand_debug_source_expr): Likewise.
-	* combine.c (combine_simplify_rtx): Likewise.
-	* cse.c (fold_rtx): Likewise.
-	* optabs.c (expand_float): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-	(simplify_binary_operation_1): Likewise.
-
-2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (simplify_comparison): Use HWI_COMPUTABLE_MODE_P.
-	(record_promoted_value): Likewise.
-	* expr.c (expand_expr_real_2): Likewise.
-	* ree.c (update_reg_equal_equiv_notes): Likewise.
-	(combine_set_extension): Likewise.
-	* rtlanal.c (low_bitmask_len): Likewise.
-	* simplify-rtx.c (neg_const_int): Likewise.
-	(simplify_binary_operation_1): Likewise.
-
-2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* lra-spills.c (assign_mem_slot): Use subreg_size_lowpart_offset.
-	* regcprop.c (maybe_mode_change): Likewise.
-	* reload1.c (alter_reg): Likewise.
-
-2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* inchash.h (inchash::hash::add_wide_int): New function.
-	* lto-streamer-out.c (hash_tree): Use it.
-
-2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* inchash.h (inchash::hash::add_wide_int): Rename to...
-	(inchash::hash::add_hwi): ...this.
-	* ipa-devirt.c (hash_odr_vtable): Update accordingly.
-	(polymorphic_call_target_hasher::hash): Likewise.
-	* ipa-icf.c (sem_function::get_hash, sem_function::init): Likewise.
-	(sem_item::add_expr, sem_item::add_type, sem_variable::get_hash)
-	(sem_item_optimizer::update_hash_by_addr_refs): Likewise.
-	* lto-streamer-out.c (hash_tree): Likewise.
-	* optc-save-gen.awk: Likewise.
-	* tree.c (add_expr): Likewise.
-
-2017-10-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/52451
-	* config/i386/i386.c (ix86_fp_compare_mode): Return CCFPmode
-	for ordered inequality comparisons even with TARGET_IEEE_FP.
-
-2017-10-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/82628
-	* config/i386/i386.md (cmp<dwi>_doubleword): New pattern.
-	* config/i386/i386.c (ix86_expand_branch) <case E_TImode>:
-	Expand with cmp<dwi>_doubleword.
-
-2017-10-21  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
-
-	* extend.texi: Add x86 specific to 'nocf_check' attribute.
-	List CET intrinsics.
-	* invoke.texi: Add -mcet, -mibt, -mshstk options.  Add x86
-	specific to -fcf-protection option.
-
-2017-10-21  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_IBT_SET): New.
-	(OPTION_MASK_ISA_SHSTK_SET): Likewise.
-	(OPTION_MASK_ISA_IBT_UNSET): Likewise.
-	(OPTION_MASK_ISA_SHSTK_UNSET): Likewise.
-	(ix86_handle_option): Add -mibt, -mshstk, -mcet handling.
-	* config.gcc (extra_headers): Add cetintrin.h for x86 targets.
-	(extra_objs): Add cet.o for Linux/x86 targets.
-	(tmake_file): Add i386/t-cet for Linux/x86 targets.
-	* config/i386/cet.c: New file.
-	* config/i386/cetintrin.h: Likewise.
-	* config/i386/t-cet: Likewise.
-	* config/i386/cpuid.h (bit_SHSTK): New.
-	(bit_IBT): Likewise.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Detect and
-	pass IBT and SHSTK bits.
-	* config/i386/i386-builtin-types.def
-	(VOID_FTYPE_UNSIGNED_PVOID): New.
-	(VOID_FTYPE_UINT64_PVOID): Likewise.
-	* config/i386/i386-builtin.def: Add CET intrinsics.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Add
-	OPTION_MASK_ISA_IBT, OPTION_MASK_ISA_SHSTK handling.
-	* config/i386/i386-passes.def: Add pass_insert_endbranch pass.
-	* config/i386/i386-protos.h (make_pass_insert_endbranch): New
-	prototype.
-	* config/i386/i386.c (rest_of_insert_endbranch): New.
-	(pass_data_insert_endbranch): Likewise.
-	(pass_insert_endbranch): Likewise.
-	(make_pass_insert_endbranch): Likewise.
-	(ix86_notrack_prefixed_insn_p): Likewise.
-	(ix86_target_string): Add -mibt, -mshstk flags.
-	(ix86_option_override_internal): Add flag_cf_protection
-	processing.
-	(ix86_valid_target_attribute_inner_p): Set OPT_mibt, OPT_mshstk.
-	(ix86_print_operand): Add 'notrack' prefix output.
-	(ix86_init_mmx_sse_builtins): Add CET intrinsics.
-	(ix86_expand_builtin): Expand CET intrinsics.
-	(x86_output_mi_thunk): Add 'endbranch' instruction.
-	* config/i386/i386.h (TARGET_IBT): New.
-	(TARGET_IBT_P): Likewise.
-	(TARGET_SHSTK): Likewise.
-	(TARGET_SHSTK_P): Likewise.
-	* config/i386/i386.md (unspecv): Add UNSPECV_NOP_RDSSP,
-	UNSPECV_INCSSP, UNSPECV_SAVEPREVSSP, UNSPECV_RSTORSSP,
-	UNSPECV_WRSS, UNSPECV_WRUSS, UNSPECV_SETSSBSY, UNSPECV_CLRSSBSY.
-	(builtin_setjmp_setup): New pattern.
-	(builtin_longjmp): Likewise.
-	(rdssp<mode>): Likewise.
-	(incssp<mode>): Likewise.
-	(saveprevssp): Likewise.
-	(rstorssp): Likewise.
-	(wrss<mode>): Likewise.
-	(wruss<mode>): Likewise.
-	(setssbsy): Likewise.
-	(clrssbsy): Likewise.
-	(nop_endbr): Likewise.
-	* config/i386/i386.opt: Add -mcet, -mibt, -mshstk and -mcet-switch
-	options.
-	* config/i386/immintrin.h: Include <cetintrin.h>.
-	* config/i386/linux-common.h
-	(file_end_indicate_exec_stack_and_cet): New prototype.
-	(TARGET_ASM_FILE_END): New.
-
-2017-10-20  Jan Hubicka  <hubicka@ucw.cz>
-
-	* i386.c (ix86_builtin_vectorization_cost): Use existing rtx_cost
-	latencies instead of having separate table; make difference between
-	integer and float costs.
-	* i386.h (processor_costs): Remove scalar_stmt_cost,
-	scalar_load_cost, scalar_store_cost, vec_stmt_cost, vec_to_scalar_cost,
-	scalar_to_vec_cost, vec_align_load_cost, vec_unalign_load_cost,
-	vec_store_cost.
-	* x86-tune-costs.h: Remove entries which has been removed in
-	procesor_costs from all tables; make cond_taken_branch_cost
-	and cond_not_taken_branch_cost COST_N_INSNS based.
-
-2017-10-20  Jan Hubicka  <hubicka@ucw.cz>
-
-	* x86-tune-costs.h (intel_cost, generic_cost): Fix move costs.
-
-2017-10-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.md (isa): Remove fma_avx512f.
-	* config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>,
-	<avx512>_fmadd_<mode>_mask3<round_name>,
-	<avx512>_fmsub_<mode>_mask<round_name>,
-	<avx512>_fmsub_<mode>_mask3<round_name>,
-	<avx512>_fnmadd_<mode>_mask<round_name>,
-	<avx512>_fnmadd_<mode>_mask3<round_name>,
-	<avx512>_fnmsub_<mode>_mask<round_name>,
-	<avx512>_fnmsub_<mode>_mask3<round_name>,
-	<avx512>_fmaddsub_<mode>_mask<round_name>,
-	<avx512>_fmaddsub_<mode>_mask3<round_name>,
-	<avx512>_fmsubadd_<mode>_mask<round_name>,
-	<avx512>_fmsubadd_<mode>_mask3<round_name>): Remove isa attribute.
-	(*vec_widen_umult_even_v16si<mask_name>,
-	*vec_widen_smult_even_v16si<mask_name>): Likewise.
-	(<mask_codefor>avx512bw_dbpsadbw<mode><mask_name>): Likewise.
-
-2017-10-20  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
-
-	* extend.texi: Add 'nocf_check' documentation.
-	* gimple.texi: Add second parameter to
-	gimple_build_call_from_tree.
-	* invoke.texi: Add -fcf-protection documentation.
-	* rtl.texi: Add REG_CALL_NOTRACK documenation.
-
-2017-10-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82473
-	* tree-vect-loop.c (vectorizable_reduction): Properly get at
-	the largest input type.
-
-2017-10-20  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
-
-	* c-attribs.c (handle_nocf_check_attribute): New function.
-	(c_common_attribute_table): Add 'nocf_check' handling.
-	* gimple-parser.c: Add second argument NULL to
-	gimple_build_call_from_tree.
-	* attrib.c (comp_type_attributes): Check nocf_check attribute.
-	* cfgexpand.c (expand_call_stmt): Set REG_CALL_NOCF_CHECK for
-	call insn.
-	* combine.c (distribute_notes): Add REG_CALL_NOCF_CHECK handling.
-	* common.opt: Add fcf-protection flag.
-	* emit-rtl.c (try_split): Add REG_CALL_NOCF_CHECK handling.
-	* flag-types.h: Add enum cf_protection_level.
-	* gimple.c (gimple_build_call_from_tree): Add second parameter.
-	Add 'nocf_check' attribute propagation to gimple call.
-	* gimple.h (gf_mask): Add GF_CALL_NOCF_CHECK.
-	(gimple_build_call_from_tree): Update prototype.
-	(gimple_call_nocf_check_p): New function.
-	(gimple_call_set_nocf_check): Likewise.
-	* gimplify.c: Add second argument to gimple_build_call_from_tree.
-	* ipa-icf.c: Add nocf_check attribute in statement hash.
-	* recog.c (peep2_attempt): Add REG_CALL_NOCF_CHECK handling.
-	* reg-notes.def: Add REG_NOTE (CALL_NOCF_CHECK).
-	* toplev.c (process_options): Add flag_cf_protection handling.
-
-2017-10-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* x86-tune-costs.h (core_cost): Fix div, move and sqrt latencies.
-
-2017-10-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82603
-	* tree-if-conv.c (predicate_mem_writes): Make sure to only
-	remove false predicated stores.
-
-2017-10-20  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c
-	(translate_isl_ast_to_gimple::graphite_copy_stmts_from_block):
-	Remove return value and simplify, dump copied stmt after lhs
-	adjustment.
-	(translate_isl_ast_to_gimple::translate_isl_ast_node_user):
-	Reduce dump verbosity.
-	(gsi_insert_earliest): Likewise.
-	(translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences): Adjust.
-	* graphite.c (print_global_statistics): Adjust dumping.
-	(print_graphite_scop_statistics): Likewise.
-	(print_graphite_statistics): Do not dump loops here.
-	(graphite_transform_loops): But here.
-
-2017-10-20  Nicolas Roche  <roche@adacore.com>
-
-	* configure.ac (ACX_PROG_GNAT): Append "libgnat" to include search dir.
-	* configure: Regenerate.
-
-2017-10-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82158
-	* tree-cfg.c (pass_warn_function_return::execute): In noreturn
-	functions when optimizing replace GIMPLE_RETURN stmts with
-	calls to __builtin_unreachable ().
-
-	PR sanitizer/82595
-	* config/gnu-user.h (LIBTSAN_EARLY_SPEC): Add libtsan_preinit.o
-	for -fsanitize=thread link of executables.
-	(LIBLSAN_EARLY_SPEC): Add liblsan_preinit.o for -fsanitize=leak
-	link of executables.
-
-	PR target/82370
-	* config/i386/sse.md (VI248_AVX2, VI248_AVX512BW, VI248_AVX512BW_2):
-	New mode iterators.
-	(<shift_insn><mode>3<mask_name>): Change the last of the 3
-	define_insns for logical vector shifts to use VI248_AVX512BW
-	iterator instead of VI48_AVX512, remove <mask_mode512bit_condition>
-	condition, useless isa and prefix attributes.  Change the first
-	2 of these define_insns to ...
-	(<mask_codefor><shift_insn><mode>3<mask_name>): ... this, new
-	define_insn for avx512vl.
-	(<shift_insn><mode>3): ... and this, new define_insn without
-	masking for non-avx512vl.
-
-	PR target/82370
-	* config/i386/sse.md (*andnot<mode>3,
-	<mask_codefor><code><mode>3<mask_name>, *<code><mode>3): Split
-	(=v,v,vm) alternative into (=x,x,xm) and (=v,v,vm), for 128-bit
-	and 256-bit vectors, the (=x,x,xm) alternative and when mask is
-	not applied use empty suffix even for TARGET_AVX512VL.
-	* config/i386/subst.md (mask_prefix3, mask_prefix4): When mask
-	is applied, supply evex,evex or evex,evex,evex instead of just
-	evex.
-
-2017-10-20  Julia Koval  <julia.koval@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_GFNI_SET,
-	(OPTION_MASK_ISA_GFNI_UNSET): New.
-	(ix86_handle_option): Handle OPT_mgfni.
-	* config/i386/cpuid.h (bit_GFNI): New.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Detect gfni.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Define __GFNI__.
-	* config/i386/i386.c (ix86_target_string): Add -mgfni.
-	(ix86_valid_target_attribute_inner_p): Add OPT_mgfni.
-	* config/i386/i386.h (TARGET_GFNI, TARGET_GFNI_P): New.
-	* config/i386/i386.opt: Add mgfni.
-
-2017-10-20  Orlando Arias  <oarias@knights.ucf.edu>
-
-	* config/msp430/msp430.c (msp430_option_override): Disable
-	-fdelete-null-pointer-checks.
-	* doc/invoke.text (-fdelete-null-pointer-checks): Document that.
-
-2017-10-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* x86-tune-costs.h (generic_cost, core_cost): Correct costs
-	of x87 and SSE instructions.
-
-2017-10-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* asan.c (create_cond_insert_point): Do not update edge count.
-	* auto-profile.c (afdo_propagate_edge): Update for edge count removal.
-	(afdo_propagate_circuit): Likewise.
-	(afdo_calculate_branch_prob): Likewise.
-	(afdo_annotate_cfg): Likewise.
-	* basic-block.h (struct edge_def): Remove count.
-	(edge_def::count): New accessor.
-	* bb-reorder.c (rotate_loop): Update.
-	(find_traces_1_round): Update.
-	(connect_traces): Update.
-	(sanitize_hot_paths): Update.
-	* cfg.c (unchecked_make_edge): Update.
-	(make_single_succ_edge): Update.
-	(check_bb_profile): Update.
-	(dump_edge_info): Update.
-	(update_bb_profile_for_threading): Update.
-	(scale_bbs_frequencies_int): Update.
-	(scale_bbs_frequencies_gcov_type): Update.
-	(scale_bbs_frequencies_profile_count): Update.
-	(scale_bbs_frequencies): Update.
-	* cfganal.c (connect_infinite_loops_to_exit): Update.
-	* cfgbuild.c (compute_outgoing_frequencies): Update.
-	(find_many_sub_basic_blocks): Update.
-	* cfgcleanup.c (try_forward_edges): Update.
-	(try_crossjump_to_edge): Update
-	* cfgexpand.c (expand_gimple_cond): Update
-	(expand_gimple_tailcall): Update
-	(construct_exit_block): Update
-	* cfghooks.c (verify_flow_info): Update
-	(redirect_edge_succ_nodup): Update
-	(split_edge): Update
-	(make_forwarder_block): Update
-	(duplicate_block): Update
-	(account_profile_record): Update
-	* cfgloop.c (find_subloop_latch_edge_by_profile): Update.
-	* cfgloopanal.c (expected_loop_iterations_unbounded): Update.
-	* cfgloopmanip.c (scale_loop_profile): Update.
-	(loopify): Update.
-	(lv_adjust_loop_entry_edge): Update.
-	* cfgrtl.c (try_redirect_by_replacing_jump): Update.
-	(force_nonfallthru_and_redirect): Update.
-	(purge_dead_edges): Update.
-	(rtl_flow_call_edges_add): Update.
-	* cgraphunit.c (init_lowered_empty_function): Update.
-	(cgraph_node::expand_thunk): Update.
-	* gimple-pretty-print.c (dump_probability): Update.
-	(dump_edge_probability): Update.
-	* gimple-ssa-isolate-paths.c (isolate_path): Update.
-	* haifa-sched.c (sched_create_recovery_edges): Update.
-	* hsa-gen.c (convert_switch_statements): Update.
-	* ifcvt.c (dead_or_predicable): Update.
-	* ipa-inline-transform.c (inline_transform): Update.
-	* ipa-split.c (split_function): Update.
-	* ipa-utils.c (ipa_merge_profiles): Update.
-	* loop-doloop.c (add_test): Update.
-	* loop-unroll.c (unroll_loop_runtime_iterations): Update.
-	* lto-streamer-in.c (input_cfg): Update.
-	(input_function): Update.
-	* lto-streamer-out.c (output_cfg): Update.
-	* modulo-sched.c (sms_schedule): Update.
-	* postreload-gcse.c (eliminate_partially_redundant_load): Update.
-	* predict.c (maybe_hot_edge_p): Update.
-	(unlikely_executed_edge_p): Update.
-	(probably_never_executed_edge_p): Update.
-	(dump_prediction): Update.
-	(drop_profile): Update.
-	(propagate_unlikely_bbs_forward): Update.
-	(determine_unlikely_bbs): Update.
-	(force_edge_cold): Update.
-	* profile.c (compute_branch_probabilities): Update.
-	* reg-stack.c (better_edge): Update.
-	* shrink-wrap.c (handle_simple_exit): Update.
-	* tracer.c (better_p): Update.
-	* trans-mem.c (expand_transaction): Update.
-	(split_bb_make_tm_edge): Update.
-	* tree-call-cdce.c: Update.
-	* tree-cfg.c (gimple_find_sub_bbs): Update.
-	(gimple_split_edge): Update.
-	(gimple_duplicate_sese_region): Update.
-	(gimple_duplicate_sese_tail): Update.
-	(gimple_flow_call_edges_add): Update.
-	(insert_cond_bb): Update.
-	(execute_fixup_cfg): Update.
-	* tree-cfgcleanup.c (cleanup_control_expr_graph): Update.
-	* tree-complex.c (expand_complex_div_wide): Update.
-	* tree-eh.c (lower_resx): Update.
-	(unsplit_eh): Update.
-	(cleanup_empty_eh_move_lp): Update.
-	* tree-inline.c (copy_edges_for_bb): Update.
-	(freqs_to_counts): Update.
-	(copy_cfg_body): Update.
-	* tree-ssa-dce.c (remove_dead_stmt): Update.
-	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
-	* tree-ssa-loop-im.c (execute_sm_if_changed): Update.
-	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update.
-	(unloop_loops): Update.
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
-	* tree-ssa-loop-split.c (connect_loops): Update.
-	(split_loop): Update.
-	* tree-ssa-loop-unswitch.c (hoist_guard): Update.
-	* tree-ssa-phionlycprop.c (propagate_rhs_into_lhs): Update.
-	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update.
-	* tree-ssa-reassoc.c (branch_fixup): Update.
-	* tree-ssa-tail-merge.c (replace_block_by): Update.
-	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Update.
-	(compute_path_counts): Update.
-	(update_profile): Update.
-	(recompute_probabilities): Update.
-	(update_joiner_offpath_counts): Update.
-	(estimated_freqs_path): Update.
-	(freqs_to_counts_path): Update.
-	(clear_counts_path): Update.
-	(ssa_fix_duplicate_block_edges): Update.
-	(duplicate_thread_path): Update.
-	* tree-switch-conversion.c (hoist_edge_and_branch_if_true): Update.
-	(case_bit_test_cmp): Update.
-	(collect_switch_conv_info): Update.
-	(gen_inbound_check): Update.
-	(do_jump_if_equal): Update.
-	(emit_cmp_and_jump_insns): Update.
-	* tree-tailcall.c (decrease_profile): Update.
-	(eliminate_tail_call): Update.
-	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
-	(vect_do_peeling): Update.
-	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
-	* ubsan.c (ubsan_expand_null_ifn): Update.
-	(ubsan_expand_ptr_ifn): Update.
-	* value-prof.c (gimple_divmod_fixed_value): Update.
-	(gimple_mod_pow2): Update.
-	(gimple_mod_subtract): Update.
-	(gimple_ic): Update.
-	(gimple_stringop_fixed_value): Update.
-
-2017-10-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/82618
-	* config/i386/i386.md (sub to cmp): New peephole2 pattern.
-
-2017-10-19  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR rtl-optimization/82395
-	* ira-color.c (allocno_priority_compare_func): Fix comparison step
-	based on non_spilled_static_chain_regno_p.
-
-2017-10-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (output_387_binary_op): Rewrite SSE part.
-	(ix86_emit_mode_set): Rewrite insn mnemonic construction.
-	(ix86_prepare_fp_compare_args): Redefine is_sse as bool.
-
-2017-10-19  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/82596
-	* tree.c (array_at_struct_end_p): Handle STRING_CST.
-
-2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* asan.c (handle_builtin_alloca): Deal with all alloca variants.
-	(get_mem_refs_of_builtin_call): Likewise.
-	* builtins.c (expand_builtin_apply): Adjust call to
-	allocate_dynamic_stack_space.
-	(expand_builtin_alloca): For __builtin_alloca_with_align_and_max, pass
-	the third argument to allocate_dynamic_stack_space, otherwise -1.
-	(expand_builtin): Deal with all alloca variants.
-	(is_inexpensive_builtin): Likewise.
-	* builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX): New.
-	* calls.c (special_function_p): Deal with all alloca variants.
-	(initialize_argument_information): Adjust call to
-	allocate_dynamic_stack_space.
-	(expand_call): Likewise.
-	* cfgexpand.c (expand_call_stmt): Deal with all alloca variants.
-	* doc/extend.texi (Built-ins): Add __builtin_alloca_with_align_and_max
-	* explow.c (allocate_dynamic_stack_space): Add MAX_SIZE parameter and
-	use it for the stack usage computation.
-	* explow.h (allocate_dynamic_stack_space): Adjust prototype.
-	* function.c (gimplify_parameters): Call build_alloca_call_expr.
-	* gimple-ssa-warn-alloca.c (alloca_call_type): Simplify control flow.
-	Take into account 3rd argument of __builtin_alloca_with_align_and_max.
-	(in_loop_p): Remove first argument and useless check.
-	(pass_walloca::execute): Remove useless test and adjust call to above.
-	* gimple.c (gimple_build_call_from_tree): Deal with all alloc variants
-	* gimplify.c (gimplify_vla_decl): Call build_alloca_call_expr.
-	(gimplify_call_expr): Deal with all alloca variants.
-	* hsa-gen.c (gen_hsa_alloca): Likewise.
-	(gen_hsa_insns_for_call): Likewise.
-	* ipa-pure-const.c (special_builtin_state): Likewise.
-	* tree-chkp.c (chkp_build_returned_bound): Likewise.
-	* tree-object-size.c (alloc_object_size): Likewise.
-	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
-	(call_may_clobber_ref_p_1): Likewise.
-	* tree-ssa-ccp.c (evaluate_stmt): Likewise.
-	(ccp_fold_stmt): Likewise.
-	(optimize_stack_restore): Likewise.
-	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
-	(mark_all_reaching_defs_necessary_1): Likewise.
-	(propagate_necessity): Likewise.
-	(eliminate_unnecessary_stmts): Likewise.
-	* tree.c (build_common_builtin_nodes): Build
-	BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX.
-	(build_alloca_call_expr): New function.
-	* tree.h (ALLOCA_FUNCTION_CODE_P): New macro.
-	(CASE_BUILT_IN_ALLOCA): Likewise.
-	(build_alloca_call_expr): Declare.
-	* varasm.c (incorporeal_function_p): Deal with all alloca variants.
-
-2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR debug/82509
-	* dwarf2out.c (new_die_raw): New static inline function.
-	(new_die): Use it to create the DIE.
-	(add_AT_external_die_ref): Likewise.
-	(clone_die): Likewise.
-	(clone_as_declaration): Likewise.
-	(dwarf2out_vms_debug_main_pointer): Likewise.
-	(base_type_die): Likewise.  Remove early return for corner cases.
-	Do not call add_pubtype on the DIE here.
-	(is_base_type): Remove ERROR_MARK and return 0 for VOID_TYPE.
-	(modified_type_die): Adjust the lookup for reverse order DIEs.  Skip
-	typedefs for base types with DW_AT_endianity.  Make sure a DIE with
-	native order exists for base types, attach the DIE manually and call
-	add_pubtype on it.  Do not equate a reverse order DIE to the type.
-
-2017-10-19  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (align_ok_ldrd_strd): New function.
-	(mem_ok_for_ldrd_strd): New parameter align.  Extract the alignment of
-	the mem into it.
-	(gen_operands_ldrd_strd): Validate the alignment of the accesses.
-
-2017-10-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* flag-types.h (enum sanitize_code): Add SANITIZE_BUILTIN.  Or
-	SANITIZE_BUILTIN into SANITIZE_UNDEFINED.
-	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_INVALID_BUILTIN,
-	BUILT_IN_UBSAN_HANDLE_INVALID_BUILTIN_ABORT): New builtins.
-	* opts.c (sanitizer_opts): Add builtin.
-	* ubsan.c (instrument_builtin): New function.
-	(pass_ubsan::execute): Call it.
-	(pass_ubsan::gate): Enable even for SANITIZE_BUILTIN.
-	* doc/invoke.texi: Document -fsanitize=builtin.
-
-	* ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch
-	builtins, store max (log2 (align), 0) into uchar field instead of
-	align into uptr field.
-	(ubsan_expand_objsize_ifn): Use _v1 suffixed type mismatch builtins,
-	store uchar 0 field instead of uptr 0 field.
-	(instrument_nonnull_return): Use _v1 suffixed nonnull return builtin,
-	instead of passing one address of struct with 2 locations pass
-	two addresses of structs with 1 location each.
-	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH,
-	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
-	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN,
-	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_ABORT): Removed.
-	(BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1,
-	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1_ABORT,
-	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1,
-	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1_ABORT): New builtins.
-
-2017-10-19  Martin Liska  <mliska@suse.cz>
-
-	PR driver/81829
-	* file-find.c (remove_prefix): Remove.
-	* file-find.h (remove_prefix): Likewise.
-	* gcc-ar.c: Remove smartness of lookup.
-
-2017-10-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (*call_indirect_aix<mode>,
-	*call_value_indirect_aix<mode>, *call_indirect_elfv2<mode>,
-	*call_value_indirect_elfv2<mode>): Add correct mode to the unspec.
-
-2017-10-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82580
-	* config/i386/i386.md (setcc + movzbl to xor + setcc): New peephole2.
-	(setcc + and to xor + setcc): New peephole2.
-
-2017-10-19  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Test Directives, Variants of
-	dg-require-support): Add dg-require-stack-size.
-
-2017-10-19  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/82517
-	* gimplify.c (gimplify_decl_expr): Do not instrument variables
-	that have a large alignment.
-	(gimplify_target_expr): Likewise.
-
-2017-10-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/82602
-	* ira.c (rtx_moveable_p): Return false for volatile asm.
-
-2017-10-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/82580
-	* config/i386/i386-modes.def (CCGZ): New CC mode.
-	* config/i386/i386.md (sub<mode>3_carry_ccgz): New insn pattern.
-	* config/i386/predicates.md (ix86_comparison_operator):
-	Handle CCGZmode.
-	* config/i386/i386.c (ix86_expand_branch) <case E_TImode>:
-	Emulate LE, LEU, GT, GTU, LT, LTU, GE and GEU double-word comparisons
-	with double-word subtraction.
-	(put_condition_code): Handle CCGZmode.
-
-2017-10-18  Aldy Hernandez  <aldyh@redhat.com>
-
-	* wide-int.cc (debug (const wide_int &)): New.
-	(debug (const wide_int *)): New.
-	(debug (const widest_int &)): New.
-	(debug (const widest_int *)): New.
-
-2017-10-18  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR middle-end/82556
-	* lra-constraints.c (curr_insn_transform): Use non-input operand
-	instead of output one for matched reload.
-
-2017-10-18  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (INCLUDE_ALGORITHM): New header file.
-	(tree-ssa-loop-ivopts.h): New header file.
-	(struct builtin_info): New fields.
-	(classify_builtin_1): Compute and record base and offset parts for
-	memset builtin partition by calling strip_offset.
-	(offset_cmp, fuse_memset_builtins): New functions.
-	(finalize_partitions): Fuse adjacent memset partitions by calling
-	above function.
-	* tree-ssa-loop-ivopts.c (strip_offset): Delete static declaration.
-	Expose the interface.
-	* tree-ssa-loop-ivopts.h (strip_offset): New declaration.
-
-2017-10-18  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/82574
-	* tree-loop-distribution.c (find_single_drs): New parameter.  Check
-	that data reference must be executed exactly once per iteration
-	against the outermost loop in nest.
-	(classify_partition): Update call to above function.
-
-2017-10-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82591
-	* graphite.c (graphite_transform_loops): Move code gen message
-	printing ...
-	* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
-	Here.  Handle scop_to_isl_ast failing.
-	(scop_to_isl_ast): Limit the number of ISL operations.
-
-2017-10-18  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c
-	(translate_isl_ast_to_gimple::set_rename): Simplify.
-	(translate_isl_ast_to_gimple::set_rename_for_each_def): Inline...
-	(graphite_copy_stmts_from_block): ... here.
-	(copy_bb_and_scalar_dependences): Simplify.
-	(add_parameters_to_ivs_params): Canonicalize.
-	(generate_entry_out_of_ssa_copies): Simplify.
-	* graphite-sese-to-poly.c (extract_affine_name): Simplify
-	by passing in ISL dimension.
-	(parameter_index_in_region_1): Rename to ...
-	(parameter_index_in_region): ... this.
-	(extract_affine): Adjust assert, pass down parameter index.
-	(add_param_constraints): Use range-info when available.
-	(build_scop_context): Adjust.
-	* sese.c (new_sese_info): Adjust.
-	(free_sese_info): Likewise.
-	* sese.h (bb_map_t, rename_map_t, phi_rename, init_back_edge_pair_t):
-	Remove unused typedefs.
-	(struct sese_info_t): Simplify rename_map, remove incomplete_phis.
-
-2017-10-18  Martin Liska  <mliska@suse.cz>
-
-	* combine.c (simplify_compare_const): Add gcc_fallthrough.
-
-2017-10-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_bb_fallthru_entry_likely): New function.
-	(s390_sched_init): Do not reset s390_sched_state if we entered the
-	current basic block via a fallthru edge and all others are unlikely.
-
-2017-10-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (NUM_SIDES): New variable.
-	(LONGRUNNING_THRESHOLD): New variable.
-	(LATENCY_FACTOR): New variable.
-	(s390_sched_score): Decrease score for long-running instructions on
-	wrong side.
-	(s390_sched_variable_issue): Perform bookkeeping for long-running
-	instructions.
-
-2017-10-18  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
-	Simplify with removal of the parameter rename map.
-	(set_rename): Likewise.
-	(should_copy_to_new_region): Likewise.
-	(graphite_copy_stmts_from_block): Likewise.
-	(copy_bb_and_scalar_dependences): Remove initialization of
-	unused copied_bb_map.
-	(copy_def): Remove.
-	(copy_internal_parameters): Likewise.
-	(graphite_regenerate_ast_isl): Do not call copy_internal_parameters.
-	* graphite-scop-detection.c (scop_detection::stmt_simple_for_scop_p):
-	Use INTEGRAL_TYPE_P.
-	(parameter_index_in_region_1): Rename to ...
-	(assign_parameter_index_in_region): ... this.  Assert we have
-	a parameter we handle.
-	(scan_tree_for_params): Adjust.
-	* sese.h (parameter_rename_map_t): Remove.
-	(struct sese_info_t): Remove unused parameter_rename_map and
-	copied_bb_map members.
-	* sese.c (new_sese_info): Adjust.
-	(free_sese_info): Likewise.
-
-2017-10-18  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/82545
-	* asan.c (asan_expand_poison_ifn): Do not put gimple stmt
-	on an abnormal edge.
-
-2017-10-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* doc/invoke.texi (ffunction-sections and fdata-sections):
-	Update.
-
-2017-10-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-loop-ivopts.c (add_autoinc_candidates): Bail out only if
-	the use statement can throw internally.
-
-2017-10-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/visium/visium.c (visium_select_cc_mode): Return CCmode for
-	any RTX present on the RHS of a SET.
-	* compare-elim.c (try_eliminate_compare): Restore comment.
-
-2017-10-17  Jakub Jelinek  <jakub@redhat.com>
-
-	* langhooks.h (struct lang_hooks): Document that tree_size langhook
-	may be also called on tcc_type nodes.
-	* langhooks.c (lhd_tree_size): Likewise.
-
-2017-10-17  David Malcolm  <dmalcolm@redhat.com>
-
-	* gimple-ssa-sprintf.c (fmtwarn): Update for changed signature of
-	format_warning_at_substring.
-	(maybe_warn): Convert source_range * param to a location_t.  Pass
-	UNKNOWN_LOCATION rather than NULL to fmtwarn.
-	(format_directive): Remove code to extract source_ranges and
-	source_range * in favor of just a location_t.
-	(parse_directive): Pass UNKNOWN_LOCATION rather than NULL to
-	fmtwarn.
-	* substring-locations.c (format_warning_va): Convert
-	source_range * param to a location_t.
-	(format_warning_at_substring): Likewise.
-	* substring-locations.h (format_warning_va): Likewise.
-	(format_warning_at_substring): Likewise.
-
-2017-10-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* target.h (enum vect_cost_for_stmt): Add vec_gather_load and
-	vec_scatter_store
-	* tree-vect-stmts.c (record_stmt_cost): Make difference between normal
-	and scatter/gather ops.
-
-	* aarch64/aarch64.c (aarch64_builtin_vectorization_cost): Add
-	vec_gather_load and vec_scatter_store.
-	* arm/arm.c (arm_builtin_vectorization_cost): Likewise.
-	* powerpcspe/powerpcspe.c (rs6000_builtin_vectorization_cost): Likewise.
-	* rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Likewise.
-	* s390/s390.c (s390_builtin_vectorization_cost): Likewise.
-	* spu/spu.c (spu_builtin_vectorization_cost): Likewise.
-	* i386/i386.c (x86_builtin_vectorization_cost): Likewise.
-
-2017-10-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	* reg-stack.c (compare_for_stack_reg): Add bool argument.
-	Detect FTST instruction and handle its register pops.  Only pop
-	second operand if can_pop_second_op is true.
-	(subst_stack_regs_pat) <case COMPARE>: Detect FCOMI instruction to
-	set can_pop_second_op to false in the compare_for_stack_reg call.
-
-	* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Only call
-	output_fp_compare for stack register operands.
-	* config/i386/i386.c (output_fp_compare): Do not output SSE compare
-	instructions here.  Do not emit stack register pops here.  Assert
-	that FCOMPP pops next to top stack register.  Rewrite function.
-
-2017-10-17  Nathan Sidwell  <nathan@acm.org>
-
-	PR middle-end/82577
-	* alias.c (compare_base_decls): Check HAS_DECL_ASSEMBLER_NAME_P,
-	use DECL_ASSEMBLER_NAME_RAW.
-
-	PR middle-end/82546
-	* tree.c (tree_code_size): Reformat.  Punt to lang hook for unknown
-	TYPE nodes.
-
-2017-10-17  Qing Zhao <qing.zhao@oracle.com>
-	    Wilco Dijkstra <wilco.dijkstra@arm.com>
-
-	* builtins.c (expand_builtin_update_setjmp_buf): Add a
-	converstion to Pmode from the buf_addr.
-
-2017-10-17  Richard Biener  <rguenther@suse.de>
-
-	* graphite-dependences.c (scop_get_reads_and_writes): Change
-	output parameters to references.
-
-2017-10-17  Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	PR 71026/tree-optimization
-	* fold-const.c (distribute_real_division): Removed.
-	(fold_binary_loc): Remove calls to distribute_real_divison.
-
-2017-10-17  Richard Biener  <rguenther@suse.de>
-
-	* graphite-scop-detection.c
-	(scop_detection::stmt_has_simple_data_refs_p): Always use
-	the full nest as region.
-	(try_generate_gimple_bb): Likewise.
-	* sese.c (scalar_evolution_in_region): Simplify now that
-	SCEV can handle instantiation in regions.
-	* tree-scalar-evolution.c (instantiate_scev_name): Also instantiate
-	in the non-loop part of a function if requested.
-
-2017-10-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82563
-	* graphite-isl-ast-to-gimple.c (generate_entry_out_of_ssa_copies):
-	New function.
-	(graphite_regenerate_ast_isl): Call it.
-	* graphite-scop-detection.c (build_scops): Remove entry edge split.
-
-2017-10-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/82549
-	* fold-const.c (optimize_bit_field_compare, fold_truth_andor_1):
-	Formatting fixes.  Instead of calling make_bit_field_ref with negative
-	bitpos return 0.
-
-2017-10-17  Olga Makhotina  <olga.makhotina@intel.com>
-
-	* config/i386/avx512dqintrin.h (_mm_mask_reduce_sd,
-	_mm_maskz_reduce_sd, _mm_mask_reduce_ss,=20
-	_mm_maskz_reduce_ss): New.
-	* config/i386/i386-builtin.def (__builtin_ia32_reducesd_mask,
-	__builtin_ia32_reducess_mask): Ditto..
-	(__builtin_ia32_reducesd, __builtin_ia32_reducess): Remove.
-	* config/i386/sse.md (reduces<mode>): Renamed to ...
-	(reduces<mode><mask_scalar_name>): ... this.
-	(vreduce<ssescalarmodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}):
-	Changed to ...
-	(vreduce<ssescalarmodesuffix>\t{%3, %2, %1, %0<mask_scalar_operand4>|
-	%0<mask_scalar_operand4>, %1, %2, %3}): ... this.
-
-2017-10-16  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS): Add unique-ptr-tests.o.
-	* selftest-run-tests.c (selftest::run_tests): Call
-	selftest::unique_ptr_tests_cc_tests.
-	* selftest.h (selftest::unique_ptr_tests_cc_tests): New decl.
-	* unique-ptr-tests.cc: New file.
-
-2017-10-16  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR sanitizer/82353
-	* lra.c (collect_non_operand_hard_regs): Don't ignore operator
-	locations.
-	* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
-	(make_hard_regno_born, make_hard_regno_dead): Update
-	bb_killed_pseudos and bb_gen_pseudos for fixed regs.
-
-2017-10-16  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dse.c (live_bytes_read): Fix thinko.
-
-2017-10-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* x86-tune-costs.h (znver1_cost): Fix move cost tables.
-
-2017-10-16  Olivier Hainque  <hainque@adacore.com>
-
-	* gcc/config.gcc (powerpc*-*-*spe*): Pick 8548 as the default
-	with_cpu if we were configured for an e500v2 target cpu name.
-
-2017-10-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-cpus.in (cortex-m33): Add nodsp option.
-	* doc/invoke.texi: Document +nodsp as a valid extension for
-	-mcpu=cortex-m33.
-
-2017-10-16  Martin Liska  <mliska@suse.cz>
-
-	* sbitmap.c (bitmap_bit_in_range_p_checking): New function.
-	(test_set_range): Likewise.
-	(test_range_functions): Rename to ...
-	(test_bit_in_range): ... this.
-	(sbitmap_c_tests): Add new test.
-
-2017-10-16  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, vdotq_s32):
-	New.
-	(vdot_lane_u32, vdot_laneq_u32, vdotq_lane_u32, vdotq_laneq_u32): New.
-	(vdot_lane_s32, vdot_laneq_s32, vdotq_lane_s32, vdotq_laneq_s32): New.
-
-2017-10-16  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64-builtins.c
-	(aarch64_types_quadopu_lane_qualifiers): New.
-	(TYPES_QUADOPU_LANE): New.
-	* config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>): New.
-	(<sur>dot_prod<vsi2qi>, aarch64_<sur>dot_lane<vsi2qi>): New.
-	(aarch64_<sur>dot_laneq<vsi2qi>): New.
-	* config/aarch64/aarch64-simd-builtins.def (sdot, udot): New.
-	(sdot_lane, udot_lane, sdot_laneq, udot_laneq): New.
-	* config/aarch64/iterators.md (sur): Add UNSPEC_SDOT, UNSPEC_UDOT.
-	(Vdottype, DOTPROD): New.
-	(sur): Add SDOT and UDOT.
-
-2017-10-16  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.h (AARCH64_FL_DOTPROD): New.
-	(AARCH64_ISA_DOTPROD, TARGET_DOTPROD): New.
-	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
-	Add TARGET_DOTPROD.
-	* config/aarch64/aarch64-option-extensions.def (dotprod): New.
-	* config/aarch64/aarch64-cores.def (cortex-a55, cortex-a75):
-	Enable TARGET_DOTPROD.
-	(cortex-a75.cortex-a55): Likewise.
-	* doc/invoke.texi (aarch64-feature-modifiers): Document dotprod.
-
-2017-10-16  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm-builtins.c (arm_unsigned_uternop_qualifiers): New.
-	(UTERNOP_QUALIFIERS, arm_umac_lane_qualifiers, UMAC_LANE_QUALIFIERS):
-	New.
-	* config/arm/arm_neon_builtins.def (sdot, udot, sdot_lane, udot_lane):
-	New.
-	* config/arm/iterators.md (DOTPROD, VSI2QI, vsi2qi): New.
-	(UNSPEC_DOT_S, UNSPEC_DOT_U, opsuffix): New.
-	* config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
-	(neon_<sup>dot_lane<vsi2qi>, <sup>dot_prod<vsi2qi>): New.
-	* config/arm/types.md (neon_dot, neon_dot_q): New.
-	* config/arm/unspecs.md (sup): Add UNSPEC_DOT_S, UNSPEC_DOT_U.
-
-2017-10-16  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm.h (TARGET_DOTPROD): New.
-	* config/arm/arm.c (arm_arch_dotprod): New.
-	(arm_option_reconfigure_globals): Add arm_arch_dotprod.
-	* config/arm/arm-c.c (__ARM_FEATURE_DOTPROD): New.
-	* config/arm/arm-cpus.in (armv8.2-a): Enabled +dotprod.
-	(feature dotprod, group dotprod, ALL_SIMD_INTERNAL): New.
-	(ALL_FPU_INTERNAL): Use ALL_SIMD_INTERNAL.
-	* config/arm/t-multilib (v8_2_a_simd_variants): Add dotprod.
-	* doc/invoke.texi (armv8.2-a): Document dotprod
-
-2017-10-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* i386.c (ix86_vec_cost): New function.
-	(ix86_rtx_costs): Handle vector operations better.
-	* i386.h (struct processor_costs): Add sse_op, fmasd, fmass.
-	* x86-tune-costs.h: Add new costs to all tables.
-
-2017-10-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* i386.c (ix86_rtx_costs): Make difference between x87 and SSE
-	operations.
-	* i386.h (struct processor_costs): Add addss, mulss, mulsd, divss,
-	divsd, sqrtss and sqrtsd
-	* x86-tune-costs.h: Add new entries to all costs.
-	(znver1_cost): Fix to match real instruction latencies.
-
-2017-10-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-	    Michael Collison <michael.collison@arm.com>
-
-	* compare-elim.c: Include emit-rtl.h.
-	(can_merge_compare_into_arith): New function.
-	(try_validate_parallel): Likewise.
-	(try_merge_compare): Likewise.
-	(try_eliminate_compare): Call the above when no previous clobber
-	is available.
-	(execute_compare_elim_after_reload): Add DF_UD_CHAIN and DF_DU_CHAIN
-	dataflow problems.
-
-2017-10-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/62263
-	PR middle-end/82498
-	* tree-ssa-phiopt.c (value_replacement): Comment fix.  Handle
-	up to 2 preparation statements for ASSIGN in MIDDLE_BB.
-
-	PR middle-end/62263
-	PR middle-end/82498
-	* tree-ssa-forwprop.c (simplify_rotate): Allow def_arg1[N]
-	to be any operand_equal_p operands.  For & (B - 1) require
-	B to be power of 2.  Recognize
-	(X << (Y & (B - 1))) | (X >> ((-Y) & (B - 1))) and similar patterns.
-
-2017-10-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR bootstrap/82553
-	* optabs.c (expand_memory_blockage): Fix call of
-	targetm.have_memory_blockage.
-
-2017-10-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/82548
-	* config.gcc (*-*-solaris2*, i[34567]86-*-cygwin*,
-	x86_64-*-cygwin*, i[34567]86-*-mingw* | x86_64-*-mingw*): Append
-	objects to extra_objs instead of overwriting it.
-
-2017-10-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sync.md (FILD_ATOMIC/FIST_ATOMIC FP load peephole2):
-	Use any_fp_register_operand as operand[3] predicate.  Simplify
-	equality test for operands[2] and operands[4] memory location.
-	(LDX_ATOMIC/STX_ATOMIC FP load peephole2): Ditto.
-	(FILD_ATOMIC/FIST_ATOMIC FP load peephole2 with mem blockage): New.
-	(LDX_ATOMIC/LDX_ATOMIC FP load peephole2 with mem blockage): Ditto.
-	(FILD_ATOMIC/FIST_ATOMIC FP store peephole2): Use
-	any_fp_register_operand as operand[1] predicate.  Simplify
-	equality test for operands[0] and operands[3] memory location.
-	(LDX_ATOMIC/STX_ATOMIC FP store peephole2): Ditto.
-	(FILD_ATOMIC/FIST_ATOMIC FP store peephole2 with mem blockage): New.
-	(LDX_ATOMIC/LDX_ATOMIC FP storepeephole2 with mem blockage): Ditto.
-
-2017-10-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* target-insns.def: Add memory_blockage.
-	* optabs.c (expand_memory_blockage): New function.
-	(expand_asm_memory_barrier): Rename ...
-	(expand_asm_memory_blockage): ... to this.
-	(expand_mem_thread_fence): Call expand_memory_blockage
-	instead of expand_asm_memory_barrier.
-	(expand_mem_singnal_fence): Ditto.
-	(expand_atomic_load): Ditto.
-	(expand_atomic_store): Ditto.
-	* doc/md.texi (Standard Pattern Names For Generation):
-	Document memory_blockage instruction pattern.
-
-2017-10-13  Sebastian Perta  <sebastian.perta@renesas.com>
-
-	* config/rl78/rl78.c (rl78_emit_libcall): New function.
-	* config/rl78/rl78-protos.h (rl78_emit_libcall): New function.
-	* config/rl78/rl78.md: New define_expand "adddi3".
-
-2017-10-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfghooks.c (verify_flow_info): Disable check that all probabilities
-	are set correctly.
-
-2017-10-13  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-reassoc.c (reassociate_bb): Clarify code slighly.
-
-2017-10-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82274
-	* internal-fn.c (expand_mul_overflow): If both operands have
-	the same highpart of -1 or 0 and the topmost bit of lowpart
-	is different, overflow is if res <= 0 rather than res < 0.
-
-2017-10-13  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Remove
-	TARGET_P9_VECTOR code for unaligned_load case.
-
-2017-10-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfghooks.c (verify_flow_info): Check that edge probabilities are set.
-
-2017-10-13  Nathan Sidwell  <nathan@acm.org>
-
-	* tree-core.h (tree_contains_struct): Make bool.
-	* tree.c (tree_contains_struct): Likewise.
-	* tree.h (MARK_TS_BASE): Remove do ... while (0) idiom.
-	(MARK_TS_TYPED, MARK_TS_COMMON, MARK_TS_TYPE_COMMON,
-	MARK_TS_TYPE_WITH_LANG_SPECIFIC, MARK_TS_DECL_MINIMAL,
-	MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL, MARK_TS_DECL_WITH_VIS,
-	MARK_TS_DECL_NON_COMMON): Likewise, use comma operator.
-
-2017-10-13  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c
-	(translate_isl_ast_to_gimple::get_rename_from_scev): Remove unused
-	parameters and dominance check.
-	(translate_isl_ast_to_gimple::graphite_copy_stmts_from_block): Adjust.
-	(translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences): Likewise.
-	(translate_isl_ast_to_gimple::graphite_regenerate_ast_isl):
-	Do not update SSA form here or do intermediate IL verification.
-	* graphite.c: Include tree-ssa.h and tree-into-ssa.h.
-	(graphite_initialize): Remove check on the number of loops in
-	the function and inline into graphite_transform_loops.
-	(graphite_finalize): Inline into graphite_transform_loops.
-	(graphite_transform_loops): Perform SSA update and IL verification
-	here.
-	* params.def (PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION): Remove.
-
-2017-10-13  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c (max_mode_int_precision,
-	graphite_expression_type_precision): Avoid global constructor
-	by moving ...
-	(translate_isl_ast_to_gimple::translate_isl_ast_to_gimple): Here.
-	(translate_isl_ast_to_gimple::graphite_expr_type): Add type member.
-	(translate_isl_ast_to_gimple::translate_isl_ast_node_for): Use it.
-	(translate_isl_ast_to_gimple::build_iv_mapping): Likewise.
-	(translate_isl_ast_to_gimple::graphite_create_new_guard): Likewise.
-	* graphite-sese-to-poly.c (build_original_schedule): Return nothing.
-
-2017-10-13  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/82499
-	* config/i386/i386.h (ix86_red_zone_size): New.
-	* config/i386/i386.md (push peephole2s): Replace
-	"!ix86_using_red_zone ()" with "ix86_red_zone_size == 0".
-
-2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (can_change_dest_mode): Reject changes in
-	REGMODE_NATURAL_SIZE.
-
-2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cfgexpand.c (expand_debug_expr): Use GET_MODE_UNIT_BITSIZE.
-	(expand_debug_source_expr): Likewise.
-	* combine.c (combine_simplify_rtx): Likewise.
-	* cse.c (fold_rtx): Likewise.
-	* fwprop.c (canonicalize_address): Likewise.
-	* targhooks.c (default_shift_truncation_mask): Likewise.
-
-2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* optabs.c (add_equal_note): Use GET_MODE_UNIT_SIZE.
-	(widened_mode): Likewise.
-	(expand_unop): Likewise.
-	* ree.c (transform_ifelse): Likewise.
-	(merge_def_and_ext): Likewise.
-	(combine_reaching_defs): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-
-2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* caller-save.c (replace_reg_with_saved_mem): Use byte_lowpart_offset.
-	* combine.c (gen_lowpart_for_combine): Likewise.
-	* dwarf2out.c (rtl_for_decl_location): Likewise.
-	* final.c (alter_subreg): Likewise.
-	* rtlhooks.c (gen_lowpart_general): Likewise.
-	(gen_lowpart_if_possible): Likewise.
-
-2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* calls.c (expand_call): Use subreg_lowpart_offset.
-	* cse.c (cse_insn): Likewise.
-	* regcprop.c (copy_value): Likewise.
-	(copyprop_hardreg_forward_1): Likewise.
-
-2017-10-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82524
-	* config/i386/i386.md (addqi_ext_1, andqi_ext_1,
-	*andqi_ext_1_cc, *<code>qi_ext_1, *xorqi_ext_1_cc): Change
-	=Q constraints to +Q and into insn condition add check
-	that operands[0] and operands[1] are equal.
-	(*addqi_ext_2, *andqi_ext_2, *<code>qi_ext_2): Change
-	=Q constraints to +Q and into insn condition add check
-	that operands[0] is equal to either operands[1] or operands[2].
-
-	PR target/82498
-	* fold-const.c (fold_binary_loc) <bit_rotate>: Code cleanups,
-	instead of handling MINUS_EXPR twice (once for each argument),
-	canonicalize operand order and handle just once, use rtype where
-	possible.  Handle (A << B) | (A >> (-B & (Z - 1))).
-
-	PR target/82498
-	* config/i386/ia32intrin.h (__rold, __rord, __rolq, __rorq): Allow
-	any values of __C while still being pattern recognizable as a simple
-	rotate instruction.
-
-2017-10-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82451
-	Revert
-	2017-10-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82355
-	* graphite-isl-ast-to-gimple.c (build_iv_mapping): Also build
-	a mapping for the enclosing loop but avoid generating one for
-	the loop tree root.
-	(copy_bb_and_scalar_dependences): Remove premature codegen
-	error on PHIs in blocks duplicated into multiple places.
-	* graphite-scop-detection.c
-	(scop_detection::stmt_has_simple_data_refs_p): For a loop not
-	in the region use it as loop and nest to analyze the DR in.
-	(try_generate_gimple_bb): Likewise.
-	* graphite-sese-to-poly.c (extract_affine_chrec): Adjust.
-	(add_loop_constraints): For blocks in a loop not in the region
-	create a dimension with a single iteration.
-	* sese.h (gbb_loop_at_index): Remove assert.
-
-	* cfgloop.c (loop_preheader_edge): For the loop tree root
-	return the single successor of the entry block.
-	* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
-	Reset the SCEV hashtable and niters.
-	* graphite-scop-detection.c
-	(scop_detection::graphite_can_represent_scev): Add SCOP parameter,
-	assert that we only have POLYNOMIAL_CHREC that vary in loops
-	contained in the region.
-	(scop_detection::graphite_can_represent_expr): Adjust.
-	(scop_detection::stmt_has_simple_data_refs_p): For loops
-	not in the region set loop to NULL.  The nest is now the
-	entry edge to the region.
-	(try_generate_gimple_bb): Likewise.
-	* sese.c (scalar_evolution_in_region): Adjust for
-	instantiate_scev change.
-	* tree-data-ref.h (graphite_find_data_references_in_stmt):
-	Make nest parameter the edge into the region.
-	(create_data_ref): Likewise.
-	* tree-data-ref.c (dr_analyze_indices): Make nest parameter an
-	entry edge into a region and adjust instantiate_scev calls.
-	(create_data_ref): Likewise.
-	(graphite_find_data_references_in_stmt): Likewise.
-	(find_data_references_in_stmt): Pass the loop preheader edge
-	from the nest argument.
-	* tree-scalar-evolution.h (instantiate_scev): Make instantiate_below
-	parameter the edge into the region.
-	(instantiate_parameters): Use the loop preheader edge as entry.
-	* tree-scalar-evolution.c (analyze_scalar_evolution): Handle
-	NULL loop.
-	(get_instantiated_value_entry): Make instantiate_below parameter
-	the edge into the region.
-	(instantiate_scev_name): Likewise.  Adjust dominance checks,
-	when we cannot use loop-based instantiation instantiate by
-	walking use-def chains.
-	(instantiate_scev_poly): Adjust.
-	(instantiate_scev_binary): Likewise.
-	(instantiate_scev_convert): Likewise.
-	(instantiate_scev_not): Likewise.
-	(instantiate_array_ref): Remove.
-	(instantiate_scev_3): Likewise.
-	(instantiate_scev_2): Likewise.
-	(instantiate_scev_1): Likewise.
-	(instantiate_scev_r): Do not blindly handle N-operand trees.
-	Do not instantiate array-refs.  Handle all constants and invariants.
-	(instantiate_scev): Make instantiate_below parameter
-	the edge into the region.
-	(resolve_mixers): Use the loop preheader edge for the region
-	parameter to instantiate_scev_r.
-	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Adjust.
-
-2017-10-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82525
-	* graphite-isl-ast-to-gimple.c
-	(translate_isl_ast_to_gimple::widest_int_from_isl_expr_int): Split
-	out from ...
-	(translate_isl_ast_to_gimple::gcc_expression_from_isl_expr_int): Here.
-	Fail code generation when we cannot represent the isl integer.
-	(binary_op_to_tree): Elide modulo operations that are no-ops
-	in the type we code generate.  Remove now superfluous code
-	generation errors.
-
-2017-10-13  Richard Biener  <rguenther@suse.de>
-
-	* graphite-scop-detection.c (loop_ivs_can_be_represented): Remove.
-	(scop_detection::harmful_loop_in_region): Remove premature
-	IV type restriction.
-	(scop_detection::graphite_can_represent_scev): We can handle
-	pointer IVs just fine.
-
-2017-10-13  Alan Modra  <amodra@gmail.com>
-
-	* doc/extend.texi (Extended Asm <Clobbers>): Rename to
-	"Clobbers and Scratch Registers".  Add paragraph on
-	alternative to clobbers for scratch registers and OpenBLAS
-	example.
-
-2017-10-13  Alan Modra  <amodra@gmail.com>
-
-	* doc/extend.texi (Clobbers): Correct vax example.  Delete old
-	example of a memory input for a string of known length.  Move
-	commentary out of table.  Add a number of new examples
-	covering array memory inputs.
-
-2017-10-12  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/82493
-	* sbitmap.c (bitmap_bit_in_range_p): Fix the implementation.
-	(test_range_functions): New function.
-	(sbitmap_c_tests): Likewise.
-	* selftest-run-tests.c (selftest::run_tests): Run new tests.
-	* selftest.h (sbitmap_c_tests): New function.
-
-	* tree-ssa-dse.c (live_bytes_read): Fix thinko.
-
-2017-10-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/amo.h: Fix spacing issue.
-
-2017-10-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82498
-	* config/i386/i386.md (*ashl<mode>3_mask_1,
-	*<shift_insn><mode>3_mask_1, *<rotate_insn><mode>3_mask_1,
-	*<btsc><mode>_mask_1, *btr<mode>_mask_1): New define_insn_and_split
-	patterns.
-
-2017-10-12  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.h (safe_scale_64bit): Fix GCC4.x path.
-	(profile_probability): Set max_probability
-	to (uint32_t) 1 << (n_bits - 2) and update accessors to avoid overlfows
-	in temporaries.
-	* profile-count.c (profile_probability::differs_from_p): Do not
-	rely on max_probaiblity == 10000
-
-2017-10-12  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dse.c (valid_ao_ref_for_dse): Reject ao_refs with
-	negative offsets.
-
-2017-10-12  Martin Sebor  <msebor@redhat.com>
-
-	PR other/82301
-	PR c/82435
-	* cgraphunit.c (maybe_diag_incompatible_alias): New function.
-	(handle_alias_pairs): Call it.
-	* common.opt (-Wattribute-alias): New option.
-	* doc/extend.texi (ifunc attribute): Discuss C++ specifics.
-	* doc/invoke.texi (-Wattribute-alias): Document.
-
-2017-10-12  Vladimir Makarov  <vmakarov@redhat.com>
-
-	Revert
-	2017-10-11  Vladimir Makarov  <vmakarov@redhat.com>
-	PR sanitizer/82353
-	* lra.c (collect_non_operand_hard_regs): Don't ignore operator
-	locations.
-	* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
-	(make_hard_regno_born, make_hard_regno_dead): Update
-	bb_killed_pseudos and bb_gen_pseudos.
-
-2017-10-12  Jan Hubicka  <hubicka@ucw.cz>
-
-	* config/i386/x86-tune-sched.c (ix86_adjust_cost): Fix Zen support.
-
-2017-10-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/alpha/alpha.c (alpha_split_conditional_move):
-	Use std::swap instead of manually swapping.
-	(alpha_stdarg_optimize_hook): Ditto.
-	(alpha_canonicalize_comparison): Ditto.
-
-2017-10-12  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (struct builtin_info): New struct.
-	(struct partition): Refactor fields into struct builtin_info.
-	(partition_free): Free struct builtin_info.
-	(build_size_arg_loc, build_addr_arg_loc): Delete.
-	(generate_memset_builtin, generate_memcpy_builtin): Get memory range
-	information from struct builtin_info.
-	(find_single_drs): New function refactored from classify_partition.
-	Also moved builtin validity checks to this function.
-	(compute_access_range, alloc_builtin): New functions.
-	(classify_builtin_st, classify_builtin_ldst): New functions.
-	(classify_partition): Refactor code into functions find_single_drs,
-	classify_builtin_st and classify_builtin_ldst.
-	(distribute_loop): Don't do runtime alias check when distributing
-	loop nest.
-	(find_seed_stmts_for_distribution): New function.
-	(pass_loop_distribution::execute): Refactor code finding seed
-	stmts into above function.  Support distribution for the innermost
-	two-level loop nest.  Adjust dump information.
-
-2017-10-12  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c: Adjust the general comment.
-	(NUM_PARTITION_THRESHOLD): New macro.
-	(ssa_name_has_uses_outside_loop_p): Support loop nest distribution.
-	(classify_partition): Skip builtin pattern of loop nest's inner loop.
-	(merge_dep_scc_partitions): New parameter ignore_alias_p and use it
-	in call to build_partition_graph.
-	(finalize_partitions): New parameter.  Make loop distribution more
-	conservative by fusing more partitions.
-	(distribute_loop): Don't do runtime alias check in case of loop nest
-	distribution.
-	(find_seed_stmts_for_distribution): New function.
-	(prepare_perfect_loop_nest): New function.
-	(pass_loop_distribution::execute): Refactor code finding seed stmts
-	and loop nest into above functions.  Support loop nest distribution.
-	Adjust dump information accordingly.
-
-2017-10-12  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (break_alias_scc_partitions): Add comment
-	and set PTYPE_SEQUENTIAL for merged partition.
-
-2017-10-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69728
-	Revert
-	2017-09-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69728
-	* graphite-sese-to-poly.c (schedule_error): New global.
-	(add_loop_schedule): Handle empty domain by failing the
-	schedule.
-	(build_original_schedule): Handle schedule_error.
-
-	* graphite-sese-to-poly.c (add_loop_schedule): Handle empty
-	domain by returning an unchanged schedule.
-
-2017-10-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* genrecog.c (validate_pattern): For VEC_SELECT verify that
-	CONST_INT selectors are 0 to GET_MODE_NUNITS (imode) - 1.
-
-2017-10-12  Aldy Hernandez  <aldyh@redhat.com>
-
-	* Makefile.in (TAGS): Merge all the *.def files into one pattern.
-	Handle params.def.
-
-2017-10-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/82159
-	* expr.c (store_field): Don't optimize away bitsize == 0 store
-	from CALL_EXPR with addressable return type.
-
-2017-10-11  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.h (TARGET_ISEL64): Delete.
-	* config/rs6000/rs6000.md (sel): Delete mode attribute.
-	(mov<mode>cc, isel_signed_<mode>, isel_unsigned_<mode>,
-	*isel_reversed_signed_<mode>, *isel_reversed_unsigned_<mode>): Use
-	TARGET_ISEL instead of TARGET_ISEL<sel>.
-
-2017-10-11  David Edelsohn  <dje.gcc@gmail.com>
-
-	* config/rs6000/rs6000.c
-	(rs6000_xcoff_asm_output_aligned_decl_common): Test for NULL decl.
-
-2017-10-11  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/predicates.md (zero_constant, all_ones_constant):
-	Move up in file.
-	(reg_or_cint_operand): Fix comment.
-	(reg_or_zero_operand): New predicate.
-	* config/rs6000/rs6000-protos.h (output_isel): Delete.
-	* config/rs6000/rs6000.c (output_isel): Delete.
-	* config/rs6000/rs6000.md (isel_signed_<mode>): Use reg_or_zero_operand
-	instead of reg_or_cint_operand.  Output instruction directly (not via
-	output_isel).
-	(isel_unsigned_<mode>): Ditto.
-	(*isel_reversed_signed_<mode>): Use reg_or_zero_operand instead of
-	gpc_reg_operand.  Add an instruction alternative for this.  Output
-	instruction directly.
-	(*isel_reversed_unsigned_<mode>): Ditto.
-
-2017-10-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_canonicalize_comparison): New function.
-	(TARGET_CANONICALIZE_COMPARISON): Define.
-
-2017-10-11  Qing Zhao  <qing.zhao@oracle.com>
-
-	PR target/81422
-	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
-	Check whether the dest is REG before adding REG_EQUIV note.
-
-2017-10-11  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR sanitizer/82353
-	* lra.c (collect_non_operand_hard_regs): Don't ignore operator
-	locations.
-	* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
-	(make_hard_regno_born, make_hard_regno_dead): Update
-	bb_killed_pseudos and bb_gen_pseudos.
-
-2017-10-11  Nathan Sidwell  <nathan@acm.org>
-
-	* incpath.h (enum incpath_kind): Name enum, prefix values.
-	(add_path, add_cpp_dir_path, get_added_cpp_dirs): Use incpath_kind.
-	* incpath.c (heads, tails): Use INC_MAX.
-	(add_env_var_paths, add_standard_paths): Use incpath_kind.
-	(merge_include_chains, split_quote_chain,
-	register_include_chains): Update incpath_kind names.
-	(add_cpp_dir_path, add_path, get_added_cpp_dirs): Use incpath_kind.
-	* config/darwin-c.c (add_system_framework_path): Update incpath_kind
-	names.
-	(add_framework_path, darwin_register_objc_includes): Likewise.
-	* config/vms/vms-c.c (vms_c_register_includes): Likewise.
-
-2017-10-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387):
-	Do not use float_operator operator predicate.
-	(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Ditto.
-	* config/i386/predicates.md (float_operator): Remove predicate.
-
-2017-10-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*jcc<mode>_0_i387): Remove insn pattern.
-	(*jccxf_i387): Ditto.
-	(*jcc<mode>_i387): Ditto.
-	(*jccu<mode>_i387): Ditto.
-	(*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Ditto.
-	(*jcc_*_i387 splitters): Remove.
-	* config/i386/i386-protos.h (ix86_split_fp_branch): Remove prototype.
-	* config/i386/i386.c (ix86_split_fp_branch): Remove.
-	* config/i386/predicates.md (ix86_swapped_fp_comparison_operator):
-	Remove predicate.
-
-2017-10-11  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.h (slow_safe_scale_64bit): New function.
-	(safe_scale_64bit): New inline.
-	(profile_count::max_safe_multiplier): Remove; use safe_scale_64bit.
-	* profile-count.c: Include wide-int.h
-	(slow_safe_scale_64bit): New.
-
-2017-10-11  Nathan Sidwell  <nathan@acm.org>
-
-	* tree.h (DECL_ASSEMBLER_NAME_SET_P): Don't check
-	HAS_DECL_ASSEMBLER_NAME_P.
-	* gimple-expr.c (gimple_decl_printable_name: Check
-	HAS_DECL_ASSEMBLER_NAME_P too.
-	* ipa-utils.h (type_in_anonymous_namespace_p): Check
-	DECL_ASSEMBLER_NAME_SET_P of TYPE_NAME.
-	(odr_type_p): No need to assert TYPE_NAME is a TYPE_DECL.
-	* passes.c (rest_of_decl_compilation): Check
-	HAS_DECL_ASSEMBLER_NAME_P too.
-	* recog.c (verify_changes): Likewise.
-	* tree-pretty-print.c (dump_decl_name): Likewise.
-	* tree-ssa-structalias.c (alias_get_name): Likewise.  Reimplement.
-
-	* tree.h (DECL_ASSEMBLER_NAME_RAW): New.
-	(SET_DECL_ASSEMBLER_NAME): Use it.
-	(DECL_ASSEMBLER_NAME_SET_P): Likewise.
-	(COPY_DECL_ASSEMBLER_NAME): Likewise.
-	* tree.c (decl_assembler_name): Use DECL_ASSEMBLER_NAME_RAW.
-
-2017-10-11  Jan Hubicka  <hubicka@ucw.cz>
-
-	* config.gcc (i386, x86_64): Add extra objects.
-	* config/i386/i386-protos.h (ix86_rip_relative_addr_p): Declare.
-	(ix86_min_insn_size): Declare.
-	(ix86_issue_rate): Declare.
-	(ix86_adjust_cost): Declare.
-	(ia32_multipass_dfa_lookahead): Declare.
-	(ix86_macro_fusion_p): Declare.
-	(ix86_macro_fusion_pair_p): Declare.
-	(ix86_bd_has_dispatch): Declare.
-	(ix86_bd_do_dispatch): Declare.
-	(ix86_core2i7_init_hooks): Declare.
-	(ix86_atom_sched_reorder): Declare.
-	* config/i386/i386.c Move all CPU cost tables to x86-tune-costs.h.
-	(COSTS_N_BYTES): Move to x86-tune-costs.h.
-	(DUMMY_STRINGOP_ALGS):Move to x86-tune-costs.h.
-	(rip_relative_addr_p): Rename to ...
-	(ix86_rip_relative_addr_p): ... this one; export.
-	(memory_address_length): Update.
-	(ix86_issue_rate): Move to x86-tune-sched.c.
-	(ix86_flags_dependent): Move to x86-tune-sched.c.
-	(ix86_agi_dependent): Move to x86-tune-sched.c.
-	(exact_dependency_1): Move to x86-tune-sched.c.
-	(exact_store_load_dependency): Move to x86-tune-sched.c.
-	(ix86_adjust_cost): Move to x86-tune-sched.c.
-	(ia32_multipass_dfa_lookahead): Move to x86-tune-sched.c.
-	(ix86_macro_fusion_p): Move to x86-tune-sched.c.
-	(ix86_macro_fusion_pair_p): Move to x86-tune-sched.c.
-	(do_reorder_for_imul): Move to x86-tune-sched-atom.c.
-	(swap_top_of_ready_list): Move to x86-tune-sched-atom.c.
-	(ix86_sched_reorder): Move to x86-tune-sched-atom.c.
-	(core2i7_first_cycle_multipass_init): Move to x86-tune-sched-core.c.
-	(core2i7_dfa_post_advance_cycle): Move to x86-tune-sched-core.c.
-	(min_insn_size): Rename to ...
-	(ix86_min_insn_size): ... this one; export.
-	(core2i7_first_cycle_multipass_begin): Move to x86-tune-sched-core.c.
-	(core2i7_first_cycle_multipass_issue): Move to x86-tune-sched-core.c.
-	(core2i7_first_cycle_multipass_backtrack): Move to
-	x86-tune-sched-core.c.
-	(core2i7_first_cycle_multipass_end): Move to x86-tune-sched-core.c.
-	(core2i7_first_cycle_multipass_fini): Move to x86-tune-sched-core.c.
-	(ix86_sched_init_global): Break up logic to ix86_core2i7_init_hooks.
-	(ix86_avoid_jump_mispredicts): Update.
-	(TARGET_SCHED_DISPATCH): Move to ix86-tune-sched-bd.c.
-	(TARGET_SCHED_DISPATCH_DO): Move to ix86-tune-sched-bd.c.
-	(TARGET_SCHED_REORDER): Move to ix86-tune-sched-bd.c.
-	(DISPATCH_WINDOW_SIZE): Move to ix86-tune-sched-bd.c.
-	(MAX_DISPATCH_WINDOWS): Move to ix86-tune-sched-bd.c.
-	(MAX_INSN): Move to ix86-tune-sched-bd.c.
-	(MAX_IMM): Move to ix86-tune-sched-bd.c.
-	(MAX_IMM_SIZE): Move to ix86-tune-sched-bd.c.
-	(MAX_IMM_32): Move to ix86-tune-sched-bd.c.
-	(MAX_IMM_64): Move to ix86-tune-sched-bd.c.
-	(MAX_LOAD): Move to ix86-tune-sched-bd.c.
-	(MAX_STORE): Move to ix86-tune-sched-bd.c.
-	(BIG): Move to ix86-tune-sched-bd.c.
-	(enum dispatch_group): Move to ix86-tune-sched-bd.c.
-	(enum insn_path): Move to ix86-tune-sched-bd.c.
-	(get_mem_group): Move to ix86-tune-sched-bd.c.
-	(is_cmp): Move to ix86-tune-sched-bd.c.
-	(dispatch_violation): Move to ix86-tune-sched-bd.c.
-	(is_branch): Move to ix86-tune-sched-bd.c.
-	(is_prefetch): Move to ix86-tune-sched-bd.c.
-	(init_window): Move to ix86-tune-sched-bd.c.
-	(allocate_window): Move to ix86-tune-sched-bd.c.
-	(init_dispatch_sched): Move to ix86-tune-sched-bd.c.
-	(is_end_basic_block): Move to ix86-tune-sched-bd.c.
-	(process_end_window): Move to ix86-tune-sched-bd.c.
-	(allocate_next_window): Move to ix86-tune-sched-bd.c.
-	(find_constant): Move to ix86-tune-sched-bd.c.
-	(get_num_immediates): Move to ix86-tune-sched-bd.c.
-	(has_immediate): Move to ix86-tune-sched-bd.c.
-	(get_insn_path): Move to ix86-tune-sched-bd.c.
-	(get_insn_group): Move to ix86-tune-sched-bd.c.
-	(count_num_restricted): Move to ix86-tune-sched-bd.c.
-	(fits_dispatch_window): Move to ix86-tune-sched-bd.c.
-	(add_insn_window): Move to ix86-tune-sched-bd.c.
-	(add_to_dispatch_window): Move to ix86-tune-sched-bd.c.
-	(debug_dispatch_window_file): Move to ix86-tune-sched-bd.c.
-	(debug_dispatch_window): Move to ix86-tune-sched-bd.c.
-	(debug_insn_dispatch_info_file): Move to ix86-tune-sched-bd.c.
-	(debug_ready_dispatch): Move to ix86-tune-sched-bd.c.
-	(do_dispatch): Move to ix86-tune-sched-bd.c.
-	(has_dispatch): Move to ix86-tune-sched-bd.c.
-	* config/i386/t-i386: Add new object files.
-	* config/i386/x86-tune-costs.h: New file.
-	* config/i386/x86-tune-sched-atom.c: New file.
-	* config/i386/x86-tune-sched-bd.c: New file.
-	* config/i386/x86-tune-sched-core.c: New file.
-	* config/i386/x86-tune-sched.c: New file.
-
-2017-10-11  Liu Hao  <lh_mouse@126.com>
-
-	* pretty-print.c [_WIN32] (colorize_init): Remove.  Use
-	the generic version below instead.
-	(should_colorize): Recognize Windows consoles as terminals
-	for MinGW targets.
-	* pretty-print.c [__MINGW32__] (write_all): New function.
-	[__MINGW32__] (find_esc_head): Likewise.
-	[__MINGW32__] (find_esc_terminator): Likewise.
-	[__MINGW32__] (eat_esc_sequence): Likewise.
-	[__MINGW32__] (mingw_ansi_fputs): New function that handles
-	ANSI escape codes.
-	(pp_write_text_to_stream): Use mingw_ansi_fputs instead of fputs
-	for MinGW targets.
-
-2017-10-11  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith):
-	Properly call analyze_scalar_evolution with the loop of the stmt.
-
-2017-10-11  Richard Biener  <rguenther@suse.de>
-
-	* tree.def (POLYNOMIAL_CHREC): Remove CHREC_VARIABLE tree operand.
-	* tree-core.h (tree_base): Add chrec_var union member.
-	* tree.h (CHREC_VAR): Remove.
-	(CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE): Adjust.
-	* tree-chrec.h (build_polynomial_chrec): Adjust.
-	* tree-chrec.c (reset_evolution_in_loop): Use build_polynomial_chrec.
-	* tree-pretty-print.c (dump_generic_node): Use CHREC_VARIABLE.
-
-2017-10-11  Marc Glisse  <marc.glisse@inria.fr>
-
-	* fold-const.c (fold_binary_loc) [X +- Y CMP X]: Move ...
-	* match.pd: ... here.
-	((T) X == (T) Y): Relax condition.
-
-2017-10-11  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/82472
-	* tree-loop-distribution.c (sort_partitions_by_post_order): Refine
-	comment.
-	(break_alias_scc_partitions): Update postorder number.
-
-2017-10-11  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/82490
-	* opts.c (parse_no_sanitize_attribute): Do not use error_value
-	variable.
-	* opts.h (parse_no_sanitize_attribute): Remove last argument.
-
-2017-10-11  Martin Liska  <mliska@suse.cz>
-
-	* print-rtl.c (print_insn): Move declaration of idbuf
-	to same scope as name.
-
-2017-10-11  Martin Liska  <mliska@suse.cz>
-
-	Revert r253637:
-
-	PR sanitizer/82484
-	* sanopt.c (sanitize_rewrite_addressable_params): Do not handle
-	volatile arguments.
-
-2017-10-11  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/82484
-	* sanopt.c (sanitize_rewrite_addressable_params): Do not handle
-	volatile arguments.
-
-2017-10-11  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
-
-	* config.gcc (default_gnu_indirect_function): Default to yes for
-	arm*-*-linux* with glibc.
-
-2017-10-11  Richard Biener  <rguenther@suse.de>
-
-	* tree-scalar-evolution.c (get_scalar_evolution): Handle
-	default-defs and types we do not want to analyze.
-	(interpret_loop_phi): Replace unreachable code with an assert.
-	(compute_scalar_evolution_in_loop): Remove and inline ...
-	(analyze_scalar_evolution_1): ... here, replacing condition with
-	what makes the intent clearer.  Remove handling of cases
-	get_scalar_evolution now handles.
-
-2017-10-10  Jim Wilson  <wilson@tuliptree.org>
-
-	PR rtl-optimization/81434
-	* haifa-sched.c (prune_ready_list): Init min_cost_group to 0.  Update
-	comment for main loop.  In sched_group_found if, also add checks for
-	pass and min_cost_group.
-
-2017-10-10  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (TARGET_INSN_COST): New.
-	(rs6000_insn_cost): New function.
-	* config/rs6000/rs6000.md (cost): New attribute.
-
-2017-10-10  Jakub Jelinek  <jakub@redhat.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/79565
-	PR target/82483
-	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Add
-	OPTION_MASK_ISA_MMX for __builtin_ia32_maskmovq,
-	__builtin_ia32_vec_ext_v4hi and __builtin_ia32_vec_set_v4hi.
-	(ix86_expand_builtin): Treat OPTION_MASK_ISA_MMX similarly
-	to OPTION_MASK_ISA_AVX512VL - builtins that have both
-	OPTION_MASK_ISA_MMX and some other bit set require both
-	mmx and the ISAs without the mmx bit.
-	* config/i386/i386-builtin.def (__builtin_ia32_cvtps2pi,
-	__builtin_ia32_cvttps2pi, __builtin_ia32_cvtpi2ps,
-	__builtin_ia32_pavgb, __builtin_ia32_pavgw, __builtin_ia32_pmulhuw,
-	__builtin_ia32_pmaxub, __builtin_ia32_pmaxsw, __builtin_ia32_pminub,
-	__builtin_ia32_pminsw, __builtin_ia32_psadbw, __builtin_ia32_pmovmskb,
-	__builtin_ia32_pshufw, __builtin_ia32_cvtpd2pi,
-	__builtin_ia32_cvttpd2pi, __builtin_ia32_cvtpi2pd,
-	__builtin_ia32_pmuludq, __builtin_ia32_pabsb, __builtin_ia32_pabsw,
-	__builtin_ia32_pabsd, __builtin_ia32_phaddw, __builtin_ia32_phaddd,
-	__builtin_ia32_phaddsw, __builtin_ia32_phsubw, __builtin_ia32_phsubd,
-	__builtin_ia32_phsubsw, __builtin_ia32_pmaddubsw,
-	__builtin_ia32_pmulhrsw, __builtin_ia32_pshufb, __builtin_ia32_psignb,
-	__builtin_ia32_psignw, __builtin_ia32_psignd, __builtin_ia32_movntq,
-	__builtin_ia32_paddq, __builtin_ia32_psubq, __builtin_ia32_palignr):
-	Add OPTION_MASK_ISA_MMX.
-
-2017-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config.gcc (armv7*-*-freebsd*): New target.
-	(armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define.
-
-2017-10-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI,
-	X86_TUNE_ADJUST_UNROLL, X86_TUNE_ONE_IF_CONV_INSN): Move to right
-	spot in the file.
-
-2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* wide-int.h (wide_int_ref_storage): Make host_dependent_precision
-	a template parameter.
-	(WIDE_INT_REF_FOR): Update accordingly.
-	* tree.h (wi::int_traits <const_tree>): Delete.
-	(wi::tree_to_widest_ref, wi::tree_to_offset_ref): New typedefs.
-	(wi::to_widest, wi::to_offset): Use them.  Expand commentary.
-	(wi::tree_to_wide_ref): New typedef.
-	(wi::to_wide): New function.
-	* calls.c (get_size_range): Use wi::to_wide when operating on
-	trees as wide_ints.
-	* cgraph.c (cgraph_node::create_thunk): Likewise.
-	* config/i386/i386.c (ix86_data_alignment): Likewise.
-	(ix86_local_alignment): Likewise.
-	* dbxout.c (stabstr_O): Likewise.
-	* dwarf2out.c (add_scalar_info, gen_enumeration_type_die): Likewise.
-	* expr.c (const_vector_from_tree): Likewise.
-	* fold-const-call.c (host_size_t_cst_p, fold_const_call_1): Likewise.
-	* fold-const.c (may_negate_without_overflow_p, negate_expr_p)
-	(fold_negate_expr_1, int_const_binop_1, const_binop)
-	(fold_convert_const_int_from_real, optimize_bit_field_compare)
-	(all_ones_mask_p, sign_bit_p, unextend, extract_muldiv_1)
-	(fold_div_compare, fold_single_bit_test, fold_plusminus_mult_expr)
-	(pointer_may_wrap_p, expr_not_equal_to, fold_binary_loc)
-	(fold_ternary_loc, multiple_of_p, fold_negate_const, fold_abs_const)
-	(fold_not_const, round_up_loc): Likewise.
-	* gimple-fold.c (gimple_fold_indirect_ref): Likewise.
-	* gimple-ssa-warn-alloca.c (alloca_call_type_by_arg): Likewise.
-	(alloca_call_type): Likewise.
-	* gimple.c (preprocess_case_label_vec_for_gimple): Likewise.
-	* godump.c (go_output_typedef): Likewise.
-	* graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
-	* internal-fn.c (get_min_precision): Likewise.
-	* ipa-cp.c (ipcp_store_vr_results): Likewise.
-	* ipa-polymorphic-call.c
-	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Likewise.
-	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise.
-	(ipa_modify_call_arguments): Likewise.
-	* match.pd: Likewise.
-	* omp-low.c (scan_omp_1_op, lower_omp_ordered_clauses): Likewise.
-	* print-tree.c (print_node_brief, print_node): Likewise.
-	* stmt.c (expand_case): Likewise.
-	* stor-layout.c (layout_type): Likewise.
-	* tree-affine.c (tree_to_aff_combination): Likewise.
-	* tree-cfg.c (group_case_labels_stmt): Likewise.
-	* tree-data-ref.c (dr_analyze_indices): Likewise.
-	(prune_runtime_alias_test_list): Likewise.
-	* tree-dump.c (dequeue_and_dump): Likewise.
-	* tree-inline.c (remap_gimple_op_r, copy_tree_body_r): Likewise.
-	* tree-predcom.c (is_inv_store_elimination_chain): Likewise.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-	* tree-scalar-evolution.c (iv_can_overflow_p): Likewise.
-	(simple_iv_with_niters): Likewise.
-	* tree-ssa-address.c (addr_for_mem_ref): Likewise.
-	* tree-ssa-ccp.c (ccp_finalize, evaluate_stmt): Likewise.
-	* tree-ssa-loop-ivopts.c (constant_multiple_of): Likewise.
-	* tree-ssa-loop-niter.c (split_to_var_and_offset)
-	(refine_value_range_using_guard, number_of_iterations_ne_max)
-	(number_of_iterations_lt_to_ne, number_of_iterations_lt)
-	(get_cst_init_from_scev, record_nonwrapping_iv)
-	(scev_var_range_cant_overflow): Likewise.
-	* tree-ssa-phiopt.c (minmax_replacement): Likewise.
-	* tree-ssa-pre.c (compute_avail): Likewise.
-	* tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise.
-	(vn_reference_maybe_forwprop_address, valueized_wider_op): Likewise.
-	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
-	* tree-ssa-uninit.c (is_pred_expr_subset_of): Likewise.
-	* tree-ssanames.c (set_nonzero_bits, get_nonzero_bits): Likewise.
-	* tree-switch-conversion.c (collect_switch_conv_info, array_value_type)
-	(dump_case_nodes, try_switch_expansion): Likewise.
-	* tree-vect-loop-manip.c (vect_gen_vector_loop_niters): Likewise.
-	(vect_do_peeling): Likewise.
-	* tree-vect-patterns.c (vect_recog_bool_pattern): Likewise.
-	* tree-vect-stmts.c (vectorizable_load): Likewise.
-	* tree-vrp.c (compare_values_warnv, vrp_int_const_binop): Likewise.
-	(zero_nonzero_bits_from_vr, ranges_from_anti_range): Likewise.
-	(extract_range_from_binary_expr_1, adjust_range_with_scev): Likewise.
-	(overflow_comparison_p_1, register_edge_assert_for_2): Likewise.
-	(is_masked_range_test, find_switch_asserts, maybe_set_nonzero_bits)
-	(vrp_evaluate_conditional_warnv_with_ops, intersect_ranges): Likewise.
-	(range_fits_type_p, two_valued_val_range_p, vrp_finalize): Likewise.
-	(evrp_dom_walker::before_dom_children): Likewise.
-	* tree.c (cache_integer_cst, real_value_from_int_cst, integer_zerop)
-	(integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2)
-	(tree_floor_log2, tree_ctz, mem_ref_offset, tree_int_cst_sign_bit)
-	(tree_int_cst_sgn, get_unwidened, int_fits_type_p): Likewise.
-	(get_type_static_bounds, num_ending_zeros, drop_tree_overflow)
-	(get_range_pos_neg): Likewise.
-	* ubsan.c (ubsan_expand_ptr_ifn): Likewise.
-	* config/darwin.c (darwin_mergeable_constant_section): Likewise.
-	* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Likewise.
-	* config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
-	* config/avr/avr.c (avr_fold_builtin): Likewise.
-	* config/bfin/bfin.c (bfin_local_alignment): Likewise.
-	* config/msp430/msp430.c (msp430_attr): Likewise.
-	* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
-	* config/powerpcspe/powerpcspe-c.c
-	(altivec_resolve_overloaded_builtin): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_aggregate_candidate)
-	(rs6000_expand_ternop_builtin): Likewise.
-	* config/rs6000/rs6000-c.c
-	(altivec_resolve_overloaded_builtin): Likewise.
-	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Likewise.
-	(rs6000_expand_ternop_builtin): Likewise.
-	* config/s390/s390.c (s390_handle_hotpatch_attribute): Likewise.
-
-2017-10-10  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes
-	when copying loop nest with only one inner loop.
-
-2017-10-10  Richard Biener  <rguenther@suse.de>
-
-	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop): Avoid compacting
-	blocks if SCEV is active.
-	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Remove
-	dead code.
-	(analyze_scalar_evolution): Handle cached evolutions the obvious way.
-	(scev_initialize): Assert we are not yet initialized.
-
-2017-10-10  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (generate_loops_for_partition): Remove
-	inner loop's exit stmt by making it always exit the loop, otherwise
-	we would generate an infinite empty loop.
-
-2017-10-10  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Skip
-	renaming variables in new preheader if it's deleted.
-
-2017-10-10  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (struct partition): Remove unused field
-	loops of the structure.
-	(partition_alloc, partition_free): Ditto.
-	(build_rdg_partition_for_vertex): Ditto.
-
-2017-10-09  Jeff Law  <law@redhat.com>
-
-	* targhooks.c (default_stack_clash_protection_final_dynamic_probe): Fix
-	return type to match prototype and documentation.
-
-2010-10-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (processor_costs): Move to ...
-	* config/rs6000/rs6000.h: ... here.
-	(rs6000_cost): Declare.
-
-2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* except.c (setjmp_fn): New global variable.
-	(init_eh): Initialize it if DONT_USE_BUILTIN_SETJMP is defined.
-	(sjlj_emit_function_enter): Call it instead of BUILTIN_SETJMP
-	if DONT_USE_BUILTIN_SETJMP is defined.
-
-2017-10-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* target.def (insn_cost): New hook.
-	* doc/tm.texi.in (TARGET_INSN_COST): New hook.
-	* doc/tm.texi: Regenerate.
-	* rtlanal.c (insn_cost): Use the new hook.
-
-2017-10-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine.c (combine_validate_cost): Compute the new insn_cost,
-	not just pattern_cost.
-	(try_combine): Adjust comment.
-
-2017-10-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* cfgrtl.c (rtl_account_profile_record): Replace insn_rtx_cost with
-	insn_cost.
-	* combine.c (uid_insn_cost): Adjust comment.
-	(combine_validate_cost): Adjust comment.  Use pattern_cost instead
-	of insn_rtx_cost
-	(combine_instructions): Use insn_cost instead of insn_rtx_cost.
-	* dse.c (find_shift_sequence): Ditto.
-	* ifcvt.c (cheap_bb_rtx_cost_p): Ditto.
-	(bb_valid_for_noce_process_p): Use pattern_cost.
-	* rtl.h (insn_rtx_cost): Delete.
-	(pattern_cost): New prototype.
-	(insn_cost): New prototype.
-	* rtlanal.c (insn_rtx_cost): Rename to...
-	(pattern_cost): ... this.
-	(insn_cost): New.
-
-2017-10-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*jcc_2): Remove insn pattern.
-	(*jcc<mode>_0_r_i387): Ditto.
-	(*jccxf_r_i387): Ditto.
-	(*jcc<mode>_r_i387): Ditto.
-	(*jccu<mode>_r_i387): Ditto.
-	(*jcc<X87MODEF:mode>_<SWI24:mode>_r_i387): Ditto.
-	(*jcc): Rename from *jcc_1.
-
-2017-10-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Process
-	deferred rescans after the lvx/stvx recombination pre-pass.
-
-2017-10-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/amo.h: New include file to provide ISA 3.0 atomic
-	memory operation instruction support.
-	* config.gcc (powerpc*-*-*): Include amo.h as an extra header.
-	(rs6000-ibm-aix[789]*): Likewise.
-	* doc/extend.texi (PowerPC Atomic Memory Operation Functions):
-	Document new functions.
-
-2017-10-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82397
-	* tree-data-ref.c (data_ref_compare_tree): Make sure to return
-	equality only for semantically equal trees.
-
-2017-10-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82449
-	* sese.c (scev_analyzable_p): Check whether the SCEV is linear.
-	* tree-chrec.h (evolution_function_is_constant_p): Adjust to
-	allow constant addresses.
-	* tree-chrec.c (scev_is_linear_expression): Constant evolutions
-	are linear.
-
-2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-builtins.def (vec_nabs, vec_vfi): Fix builtin
-	flags.
-
-2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/82463
-	* config/s390/vecintrin.h (vec_madd, vec_msub): Fix macro
-	definitions.
-
-2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/82465
-	* config/s390/s390-builtins.def (vec_sqrt): Fix builtin flags.
-
-2017-10-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82464
-	* config/s390/s390-builtins.def (s390_vec_xor_flt_a,
-	s390_vec_xor_flt_b, s390_vec_xor_flt_c): New.
-
-2017-10-09  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* wide-int.h (WI_BINARY_OPERATOR_RESULT): New macro.
-	(WI_BINARY_PREDICATE_RESULT): Likewise.
-	(wi::binary_traits::operator_result): New type.
-	(wi::binary_traits::predicate_result): Likewise.
-	(generic_wide_int::operator~, unary generic_wide_int::operator-)
-	(generic_wide_int::operator==, generic_wide_int::operator!=)
-	(generic_wide_int::operator&, generic_wide_int::and_not)
-	(generic_wide_int::operator|, generic_wide_int::or_not)
-	(generic_wide_int::operator^, generic_wide_int::operator+
-	(binary generic_wide_int::operator-, generic_wide_int::operator*):
-	Delete.
-	(operator~, unary operator-, operator==, operator!=, operator&)
-	(operator|, operator^, operator+, binary operator-, operator*): New
-	functions.
-	* expr.c (get_inner_reference): Use wi::bit_and_not.
-	* fold-const.c (fold_binary_loc): Likewise.
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
-	* tree-ssa-ccp.c (get_value_from_alignment): Likewise.
-	(bit_value_binop): Likewise.
-	* tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
-	* tree-vrp.c (zero_nonzero_bits_from_vr): Likewise.
-	(extract_range_from_binary_expr_1): Likewise.
-	(masked_increment): Likewise.
-	(simplify_bit_ops_using_ranges): Likewise.
-
-2017-10-09  Martin Jambor  <mjambor@suse.cz>
-
-	PR hsa/82416
-	* hsa-common.h (hsa_op_with_type): New method extend_int_to_32bit.
-	* hsa-gen.c (hsa_extend_inttype_to_32bit): New function.
-	(hsa_type_for_scalar_tree_type): Use it.  Always force min32int for
-	COMPLEX types.
-	(hsa_fixup_mov_insn_type): New function.
-	(hsa_op_with_type::get_in_type): Use it.
-	(hsa_build_append_simple_mov): Likewise.  Allow sub-32bit
-	immediates in an assert.
-	(hsa_op_with_type::extend_int_to_32bit): New method.
-	(gen_hsa_insns_for_bitfield): Fixup instruction and intermediary
-	types.  Convert to dest type if necessary.
-	(gen_hsa_insns_for_bitfield_load): Fixup load type if necessary.
-	(reg_for_gimple_ssa): Pass false as min32int to
-	hsa_type_for_scalar_tree_type.
-	(gen_hsa_addr): Fixup type when creating addresable temporary.
-	(gen_hsa_cmp_insn_from_gimple): Extend operands if necessary.
-	(gen_hsa_unary_operation): Extend operands and convert to dest type if
-	necessary.  Call hsa_fixup_mov_insn_type.
-	(gen_hsa_binary_operation): Changed operand types to hsa_op_with_type,
-	extend operands and convert to dest type if necessary.
-	(gen_hsa_insns_for_operation_assignment): Extend operands and convert
-	to dest type if necessary.
-	(set_output_in_type): Call hsa_fixup_mov_insn_type.  Just ude dest
-	if conversion nt necessary and size matches.
-	(gen_hsa_insns_for_load): Call hsa_fixup_mov_insn_type, convert
-	to dest type if necessary.
-	(gen_hsa_insns_for_store): Call hsa_fixup_mov_insn_type.
-	(gen_hsa_insns_for_switch_stmt): Likewise. Also extend operands if
-	necessary.
-	(gen_hsa_clrsb): Likewise.
-	(gen_hsa_ffs): Likewise.
-	(gen_hsa_divmod): Extend operands and convert to dest type if
-	necessary.
-	(gen_hsa_atomic_for_builtin): Change type of op to hsa_op_with_type.
-
-2017-10-08  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (conditional branch): Clean up formatting.
-	Remove empty default arguments.  Use a brace block as output
-	statement.
-	(conditional return): Ditto.
-	(jump): Ditto.
-	(indirect_jump): Ditto.  Use b%T0 instead of bctr/blr.
-	(tablejump, tablejumpsi, tablejumpdi, *tablejump<mode>_internal1):
-	Ditto.
-	(group_ending_nop): Ditto.
-	(doloop_end): Ditto.
-	(ctr<mode>, ctr<mode>_internal1, ctr<mode>_internal2): Ditto.
-	(splitters for those): Ditto.
-
-2017-10-08  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000-string.c (expand_strncmp_align_check): Invert
-	a conditional jump (and the compare for it) so that pc_rtx is the
-	last operand.
-	* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Adjust
-	for the deleted and renamed ctr<mode>_internal[234] patterns.
-	* config/rs6000/rs6000.md: Delete second conditional branch pattern.
-	Delete second conditional return pattern.
-	(ctr<mode>_internal2): Delete this second bdnz pattern.
-	(ctr<mode>_internal3): Rename to ctr<mode>_internal2.
-	(ctr<mode>_internal4): Delete this second bdz pattern.
-
-2017-10-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values.
-	(always_initialized_rtx_for_ssa_name_p): New predicate.
-	* tree-outof-ssa.c (remove_ssa_form): Initialize new field of SA.
-	(finish_out_of_ssa): Free new field of SA.
-	* tree-ssa-coalesce.h (get_undefined_value_partitions): Declare.
-	* tree-ssa-coalesce.c: Include tree-ssa.h.
-	(get_parm_default_def_partitions): Remove extern keyword.
-	(get_undefined_value_partitions): New function.
-	* expr.c (expand_expr_real_1) <expand_decl_rtl>: For a SSA_NAME, do
-	not set SUBREG_PROMOTED_VAR_P on the sub-register if it may contain
-	uninitialized bits.
-	* loop-iv.c (iv_get_reaching_def): Disqualify all subregs.
-
-2017-10-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* builtins.def (BUILT_IN_SETJMP): Revert latest change.
-
-2017-10-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* config/i386/i386.c (ix86_expand_set_or_movmem): Disable 512bit loops
-	for targets that preffer 128bit.
-
-2017-10-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* config/i386/i386.c (has_dispatch): Disable for Ryzen.
-
-2017-10-08  Olivier Hainque  <hainque@adacore.com>
-
-	* config/arm/arm.c (arm_set_return_address): Use MEM_VOLATILE_P
-	on the target mem instead of RTX_FRAME_RELATED_P on the insn to
-	prevent DSE.
-	(thumb_set_return_address): Likewise.
-
-2017-10-08  Olivier Hainque  <hainque@adacore.com>
-
-	* common/config/arm/arm-common.c (arm_except_unwind_info):
-	Handle DWARF2_UNWIND_INFO.
-
-2017-10-07  Michael Collison <michael.collison@arm.com>
-
-	* config/aarch64/aarch64.md (*aarch64_reg_<optab>_minus<mode>3):
-	New pattern.
-
-2017-10-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* builtins.def (BUILT_IN_SETJMP): Declare as library builtin instead
-	of GCC builtin if DONT_USE_BUILTIN_SETJMP is defined.
-	* except.c (sjlj_emit_function_enter): If DONT_USE_BUILTIN_SETJMP is
-	defined, force the creation of a new block for a dispatch label.
-
-2017-10-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* invoke.texi (Wsuggest-attribute=cold): Document.
-	* common.opt (Wsuggest-attribute=cold): New
-	* ipa-pure-const.c (warn_function_cold): New function.
-	* predict.c (compute_function_frequency): Use it.
-	* predict.h (warn_function_cold): Declare.
-
-2017-10-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-switch-conversion.c (do_jump_if_equal, emit_cmp_and_jump_insns):
-	Update profile.
-
-2017-10-06  Martin Liska  <mliska@suse.cz>
-
-	* sanopt.c (struct sanopt_tree_triplet_hash): Remove inline
-	keyword for member functions.
-	(struct sanopt_tree_couple): New struct.
-	(struct sanopt_tree_couple_hash): New function.
-	(struct sanopt_ctx): Add new hash_map.
-	(has_dominating_ubsan_ptr_check): New function.
-	(record_ubsan_ptr_check_stmt): Likewise.
-	(maybe_optimize_ubsan_ptr_ifn): Likewise.
-	(sanopt_optimize_walker): Handle IFN_UBSAN_PTR.
-	(pass_sanopt::execute): Handle also SANITIZE_POINTER_OVERFLOW.
-
-2017-10-06  Sudakshina Das  <sudi.das@arm.com>
-
-	PR target/82440
-	* config/aarch64/predicates.md (aarch64_reg_or_orr_imm): Only call
-	aarch64_simd_valid_immediate on CONST_VECTORs.
-	(aarch64_reg_or_bic_imm): Likewise.
-
-2017-10-06  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR rtl-optimization/82396
-	* haifa-sched.c (ready_sort_real): Disable qsort checking.
-
-2017-10-06  Sebastian Pop  <sebpop@gmail.com>
-
-	* graphite-dependences.c (scop_get_reads): Move code to...
-	(scop_get_must_writes): Move code to...
-	(scop_get_may_writes): Move code to...
-	(scop_get_reads_and_writes): ... here.
-	(scop_get_dependences): Call scop_get_reads_and_writes.
-
-2017-10-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/82434
-	* fold-const.h (can_native_encode_type_p,
-	can_native_encode_string_p): Remove.
-	* fold-const.c (native_encode_int): Formatting fixes.  If ptr is NULL,
-	don't encode anything, just return what would be otherwise returned.
-	(native_encode_fixed, native_encode_complex, native_encode_vector):
-	Likewise.
-	(native_encode_string): Likewise.  Inline by hand
-	can_native_encode_string_p.
-	(can_native_encode_type_p): Remove.
-	(can_native_encode_string_p): Remove.
-	* tree-vect-stmts.c (vectorizable_store): Instead of testing just
-	STRING_CSTs using can_native_encode_string_p, test all
-	CONSTANT_CLASS_P values using native_encode_expr with NULL ptr.
-	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Remove last
-	argument from native_encode_expr.
-	(rhs_valid_for_store_merging_p): Use native_encode_expr with NULL ptr.
-	(pass_store_merging::execute): Don't unnecessarily look for 3 stmts,
-	but just 2.
-
-2017-10-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82397
-	* tree-vect-data-refs.c (dr_group_sort_cmp): Do not use
-	operand_equal_p but rely on data_ref_compare_tree for detecting
-	equalities.
-	(vect_analyze_data_ref_accesses): Use data_ref_compare_tree
-	to match up with dr_group_sort_cmp.
-
-2017-10-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/82322
-	* config/s390/s390-builtins.def (s390_vfi): Define new overloaded
-	builtin.
-	* config/s390/s390-builtin-types.def: Regenerate.
-
-2017-10-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/82317
-	* config/s390/s390-builtin-types.def: Regenerate.
-	* config/s390/s390-builtins.def (s390_vfmaxdb_4, s390_vfmindb_4):
-	Change flag from B_VXE to B_VX.
-	(s390_vec_min_dbl): Remove B_VXE flag.
-
-2017-10-06  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c: Include ssa.h and tree-ssa.h.
-	(translate_isl_ast_to_gimple::translate_pending_phi_nodes,
-	translate_isl_ast_to_gimple::is_valid_rename,
-	translate_isl_ast_to_gimple::get_rename,
-	translate_isl_ast_to_gimple::get_def_bb_for_const,
-	translate_isl_ast_to_gimple::get_new_name,
-	translate_isl_ast_to_gimple::collect_all_ssa_names,
-	translate_isl_ast_to_gimple::copy_loop_phi_args,
-	translate_isl_ast_to_gimple::collect_all_ssa_names,
-	translate_isl_ast_to_gimple::copy_loop_phi_args,
-	translate_isl_ast_to_gimple::copy_loop_phi_nodes,
-	translate_isl_ast_to_gimple::add_close_phis_to_merge_points,
-	translate_isl_ast_to_gimple::add_close_phis_to_outer_loops,
-	translate_isl_ast_to_gimple::copy_loop_close_phi_args,
-	translate_isl_ast_to_gimple::copy_loop_close_phi_nodes,
-	translate_isl_ast_to_gimple::copy_cond_phi_args,
-	translate_isl_ast_to_gimple::copy_cond_phi_nodes,
-	translate_isl_ast_to_gimple::edge_for_new_close_phis,
-	translate_isl_ast_to_gimple::add_phi_arg_for_new_expr,
-	translate_isl_ast_to_gimple::rename_uses,
-	translate_isl_ast_to_gimple::rename_all_uses): Remove.
-	(translate_isl_ast_to_gimple::get_rename_from_scev): Simplify.
-	(set_rename_for_each_def): Likewise.
-	(graphite_copy_stmts_from_block): Handle debug stmt resetting
-	here.  Handle rewriting SCEV analyzable uses here.
-	(copy_bb_and_scalar_dependences): Generate code for PHI
-	copy-in/outs.
-	(graphite_regenerate_ast_isl): Adjust.
-	* graphite-scop-detection.c (trivially_empty_bb_p): Move to sese.[ch].
-	(add_write, add_read): New functions.
-	(build_cross_bb_scalars_def): Use it and simplify.
-	(build_cross_bb_scalars_use): Likewise.
-	(graphite_find_cross_bb_scalar_vars): Inline into...
-	(try_generate_gimple_bb): ...here.  Add dependences for PHIs,
-	simulating out-of-SSA.  Compute liveout and add dependencies.
-	(build_scops): Force an empty entry block.
-	* sese.h (sese_info_t::liveout, sese_info_t::debug_liveout): New
-	members.
-	(sese_build_liveouts): Declare.
-	(sese_trivially_empty_bb_p): Likewise.
-	* sese.c (sese_build_liveouts_bb): Properly handle PHIs,
-	compute liveout and debug_liveout.
-	(sese_bad_liveouts_use): Remove.
-	(sese_reset_debug_liveouts_bb): Likewise.
-	(sese_reset_debug_liveouts): Rewrite in terms of debug_liveout.
-	(sese_build_liveouts): Build liveout and debug_liveout and store
-	it in region.
-	(new_sese_info): Adjust.
-	(free_sese_info): Likewise.
-	(sese_insert_phis_for_liveouts): Reset debug stmts from here,
-	do not build liveout here.
-	(move_sese_in_condition): Adjust region entry.
-	(scev_analyzable_p): Match up with chrec_apply requirements.
-	(sese_trivially_empty_bb_p): New.
-	* tree-into-ssa.c (get_reaching_def): Properly support generating
-	default-defs for incremental rewrite of anonymous names.
-
-2017-10-06  Richard Biener  <rguenther@suse.de>
-
-	* graphite-sese-to-poly.c (extract_affine): For casts increasing
-	precision do not perform modulo reduction.
-
-2017-10-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82436
-	* tree-vect-slp.c (vect_supported_load_permutation_p): More
-	conservatively choose the vectorization factor when checking
-	whether we can perform the required load permutation.
-	(vect_transform_slp_perm_load): Assert when we may not fail.
-
-2017-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Correct error
-	message for incompatible -msdata=* and -mcall-* options.
-
-2017-10-05  Jan Hubicka <hubicka@ucw.cz>
-
-	* config/i386/i386.c (ia32_multipass_dfa_lookahead): Default to issue
-	rate for post-reload scheduling.
-
-2017-10-05  Tamar Christina  <tamar.christina@arm.com>
-
-	* doc/sourcebuild.texi (vect_sizes_16B_8B, vect_sizes_32B_16B): New.
-
-2017-10-05  Jan Hubicka <hubicka@ucw.cz>
-
-	* config/i386/i386.c (znver1_cost): Set branch_cost to 3 (instead of 2)
-	to improve monte carlo in scimark.
-
-2017-10-05  Jan Hubicka <hubicka@ucw.cz>
-
-	* config/i386/i386.c (ix86_size_cost, i386_cost, i486_cost,
-	pentium_cost, lakemont_cost, pentiumpro_cost, geode_cost, k6_cost,
-	athlon_cost, k8_cost, amdfam10_cost, btver1_cost, btver2_cost,
-	pentium4_cost, nocona_cost): Set reassociation width to 1.
-	(bdver1_cost, bdver2_cost, bdver3_cost, bdver4_cost): Set reassociation
-	width to 2 for fp operations and 1 otherwise.
-	(znver1_cost): Set scalar reassoc width to 4 and vector to 3 and 6
-	for int and fp.
-	(atom_cost): Set reassociation width to 2.
-	(slm_cost, generic_cost): Set fp reassociation width
-	to 2 and 1 otherwise.
-	(intel_cost): Set fp reassociation width to 4 and 1 otherwise.
-	(core_cost): Set fp reassociation width to 4 and vector to 2.
-	(ix86_reassociation_width): Rewrite using cost table; special case
-	plus/minus on Zen; honor X86_TUNE_SSE_SPLIT_REGS
-	and TARGET_AVX128_OPTIMAL.
-	* config/i386/i386.h (processor_costs): Add
-	reassoc_int, reassoc_fp, reassoc_vec_int, reassoc_vec_fp.
-	(TARGET_VECTOR_PARALLEL_EXECUTION, TARGET_REASSOC_INT_TO_PARALLEL,
-	TARGET_REASSOC_FP_TO_PARALLEL): Remove.
-	* x86-tune.def (X86_TUNE_REASSOC_INT_TO_PARALLEL): Remove.
-	(X86_TUNE_REASSOC_FP_TO_PARALLEL): Remove.
-	(X86_TUNE_VECTOR_PARALLEL_EXECUTION):  Remove.
-
-2017-10-05  Nathan Sidwell  <nathan@acm.org>
-
-	* doc/invoke.texi (Wparentheses): Document C++ MVP behaviour.
-
-2017-10-05  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm.c (arm_test_fpu_data): New.
-	(arm_run_selftests): Call arm_test_fpu_data.
-
-2017-10-04  Nathan Sidwell  <nathan@acm.org>
-
-	* toplev.c (toplev::main): Remove excess parens on pretty_printer
-	decl.
-	* caller-save.c (insert_save): Remove excess parens on TO_SAVE parm.
-
-2017-10-04  Sudakshina Das  <sudi.das@arm.com>
-
-	* config/aarch64/aarch64-protos.h (enum simd_immediate_check): New
-	check type for aarch64_simd_valid_immediate.
-	(aarch64_output_simd_mov_immediate): Update prototype.
-	(aarch64_simd_valid_immediate): Update prototype.
-	* config/aarch64/aarch64-simd.md (orr<mode>3): modified pattern to add
-	support for ORR-immediate.
-	(and<mode>3): modified pattern to add support for BIC-immediate.
-	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Function
-	now checks for valid immediate for BIC and ORR based on new enum
-	argument.
-	(aarch64_output_simd_mov_immediate): Function now used to output
-	BIC/ORR imm as well based on new enum argument.
-	* config/aarch64/constraints.md (Do): New vector immediate constraint.
-	(Db) : Likewise.
-	* config/aarch64/predicates.md (aarch64_reg_or_orr_imm): New predicate.
-	(aarch64_reg_or_bic_imm): Likewise.
-
-2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vx-builtins.md ("vec_mergeh<mode>")
-	("vec_mergel<mode>"): Change mode iterator to V_128_NOSINGLE.
-
-2017-10-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	Revert r253399:
-
-	PR rtl-optimization/82396
-	* haifa-sched.c (autopref_multipass_init): Simplify
-	initialization.
-	(autopref_rank_data): Simplify sort order.
-	* sched-int.h (autopref_multipass_data_): Remove
-	multi_mem_insn_p, min_offset and max_offset.
-
-2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* doc/sourcebuild.texi: Document vect_peeling_profitable.
-
-2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* doc/sourcebuild.texi: Document vect_intdouble_cvt and
-	vect_doubleint_cvt.
-
-2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* doc/sourcebuild.texi: Document vect_long_mult.
-
-2017-10-04  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/82413
-	* fold-const.c (build_range_check): Use widest_int when comparing
-	the maximum ETYPE value with HIGH.
-
-2017-10-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR rtl-optimization/82396
-	* haifa-sched.c (autopref_multipass_init): Simplify
-	initialization.
-	(autopref_rank_data): Simplify sort order.
-	* sched-int.h (autopref_multipass_data_): Remove
-	multi_mem_insn_p, min_offset and max_offset.
-
-2017-10-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/82381
-	* tree-ssa-reassoc.c (sort_by_operand_rank): Check for different
-	oeN->rank first.  Return 1 or -1 if one op is SSA_NAME and the other
-	is not.
-
-	PR tree-optimization/82374
-	* omp-low.c (create_omp_child_function): Copy DECL_ATTRIBUTES,
-	DECL_FUNCTION_SPECIFIC_OPTIMIZATION,
-	DECL_FUNCTION_SPECIFIC_TARGET and DECL_FUNCTION_VERSIONED from
-	current_function_decl to the new decl.
-
-2017-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2_HW): Define new
-	helper macro for IEEE float128 hardware built-in functions.
-	(SQRTF128_ODD): Add built-in functions with the round-to-odd
-	semantics.
-	(TRUNCF128_ODD): Likewise.
-	(ADDF128_ODD): Likewise.
-	(SUBF128_ODD): Likewise.
-	(MULF128_ODD): Likewise.
-	(DIVF128_ODD): Likewise.
-	(FMAF128_ODD): Likewise.
-	* config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): Rename to
-	UNSPEC_TRUNC_ROUND_TO_ODD.
-	(UNSPEC_TRUNC_ROUND_TO_ODD): Likewise.
-	(UNSPEC_ADD_ROUND_TO_ODD): New unspec codes for the IEEE 128-bit
-	floating point round to odd instructions.
-	(UNSPEC_SUB_ROUND_TO_ODD): Likewise.
-	(UNSPEC_MUL_ROUND_TO_ODD): Likewise.
-	(UNSPEC_DIV_ROUND_TO_ODD): Likewise.
-	(UNSPEC_FMA_ROUND_TO_ODD): Likewise.
-	(UNSPEC_SQRT_ROUND_TO_ODD): Likewise.
-	(trunc<mode>sf2_hw): Change the truncate with round to odd
-	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.
-	(add<mode>3_odd): Add insns for IEEE 128-bit floating point round
-	to odd hardware instructions.
-	(sub<mode>3_odd): Likewise.
-	(mul<mode>3_odd): Likewise.
-	(div<mode>3_odd): Likewise.
-	(sqrt<mode>2_odd): Likewise.
-	(fma<mode>4_odd): Likewise.
-	(fms<mode>4_odd): Likewise.
-	(nfma<mode>4_odd): Likewise.
-	(nfms<mode>4_odd): Likewise.
-	(trunc<mode>df2_odd): Change the truncate with round to odd
-	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.  Add a generator
-	function.
-	* doc/extend.texi (PowerPC built-in functions): Update documentation
-	for existing IEEE float128-bit built-in functions.  Add built-in
-	functions that generate the IEEE 128-bit floating point round to
-	odd instructions.
-
-2017-10-03  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/77729
-	* simplify-rtx.c (simplify_binary_operation_1): Delete the (X&C1)|C2
-	to (X&(C1&~C2))|C2 transformations.
-
-2017-10-03  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/82363
-	* tree-sra.c (propagate_subaccesses_across_link): In unrecoverable
-	mismatch, mark lacc written regardless of racc.
-
-2017-10-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/82381
-	* tree-ssa-reassoc.c (sort_by_operand_rank): Don't check
-	stmt_to_insert nor wheather SSA_NAMEs are default defs.
-	Return 1 or -1 if one of bba and bbb is NULL. If bb_rank is equal,
-	fallthrough into reassoc_stmt_dominates_stmt_p.
-
-	PR target/82386
-	* combine.c (combine_instructions): Don't combine in unreachable
-	basic blocks.
-
-2017-10-02  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR target/80210
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite
-	function to not use the have_cpu variable.  Do not set cpu_index,
-	rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT
-	or the default cpu.
-	(rs6000_valid_attribute_p): Remove duplicate initializations of
-	old_optimize and func_optimize.
-	(rs6000_pragma_target_parse): Call rs6000_activate_target_options ().
-	(rs6000_activate_target_options): Make global.
-	* config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add
-	prototype.
-
-2017-10-02  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-dfa.c (get_ref_base_and_extent): Set *pmax_size to -1
-	if *poffset + *pmax_size overflows in HOST_WIDE_INT.
-	Set *poffset to 0 and *psize and *pmax_size to -1 if
-	*poffset + *psize overflows in HOST_WIDE_INT.
-
-	PR tree-optimization/82387
-	PR tree-optimization/82388
-	PR tree-optimization/82389
-	* tree-ssa-dse.c (dse_classify_store): Test byte_tracking_enabled
-	instead of live_bytes non-NULL.
-
-2017-10-02  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/41076
-	* confg/avr/avr.md (*iorhi3.ashift8-ext.zerox): Add "r,r,0"
-	alternative.
-
-2017-10-02  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c (set_codegen_error): With
-	-fchecking and --param graphite-allow-codegen-errors=0 ICE.
-	* params.def (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): New param.
-
-2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree.h (wi::int_traits <const_tree>::decompose): Assert that the
-	requested precision matches the type's.
-	* calls.c (alloc_max_size): Calculate the new candidate size as
-	a widest_int and use wi::to_widest when comparing it with the
-	current candidate size.
-	* gimple-ssa-warn-alloca.c (pass_walloca::execute): Compare with
-	zero rather than integer_zero_node.
-	* match.pd: Check for a no-op conversion before using wi::add
-	rather than after.  Use tree_to_uhwi when summing small shift
-	counts into an unsigned int.
-
-2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	PR target/71307
-	* config/aarch64/aarch64.h (POINTER_AND_FP_REGS): New reg class.
-	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
-	* config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle
-	POINTER_AND_FP_REGS.
-
-2017-10-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82355
-	* graphite-isl-ast-to-gimple.c (build_iv_mapping): Also build
-	a mapping for the enclosing loop but avoid generating one for
-	the loop tree root.
-	(copy_bb_and_scalar_dependences): Remove premature codegen
-	error on PHIs in blocks duplicated into multiple places.
-	* graphite-scop-detection.c
-	(scop_detection::stmt_has_simple_data_refs_p): For a loop not
-	in the region use it as loop and nest to analyze the DR in.
-	(try_generate_gimple_bb): Likewise.
-	* graphite-sese-to-poly.c (extract_affine_chrec): Adjust.
-	(add_loop_constraints): For blocks in a loop not in the region
-	create a dimension with a single iteration.
-	* sese.h (gbb_loop_at_index): Remove assert.
-
-2017-10-01  Kevin Buettner  <kevinb@redhat.com>
-
-	* omp-expand.c (adjust_context_scope): New function.
-	(expand_parallel_call): Call adjust_context_scope.
-
-2017-10-01  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dom.c (optimize_stmt): Make this a method within the
-	dom_opt_dom_walker class with direct access to private members.
-	Add comments.  Call test_for_singularity.
-	(dom_opt_dom_walker::before_dom_children): Corresponding changes.
-	(dom_opt_dom_walker::after_dom_children): Do not lazily initialize
-	m_dummy_cond anymore.
-	(class dom_opt_dom_walker): Initialize m_dummy_cond member in the
-	class ctor.
-	(pass_dominator:execute): Build the dummy_cond here and pass it
-	to the dom_opt_dom_walker ctor.
-	(test_for_singularity): New function.
-
-2017-09-30  Krister Walfridsson  <krister.walfridsson@gmail.com>
-	    Maya Rashish  <coypu@sdf.org>
-
-	* config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing
-	netbsd.h, netbsd-stdint.h, and netbsd-elf.h.
-	(alpha*-*-netbsd*) Use nbsd_tm_file.
-	(arm*-*-netbsdelf*) Likewise.
-	(i[34567]86-*-netbsdelf*) Likewise.
-	(x86_64-*-netbsd*) Likewise.
-	(mips*-*-netbsd*) Likewise.
-	(powerpc-*-netbsd*) Likewise.
-	(sh*-*-netbsd*) Likewise.
-	(sparc-*-netbsdelf*) Likewise.
-	(sparc64-*-netbsd*) Likewise.
-	(m68k*-*-netbsdelf*) Use nbsd_tm_file and add CHAR_FAST8/SHORT_FAST16
-	to tm_defines.
-	(vax-*-netbsdelf*) Likewise.
-	* config/netbsd-stdint.h (INT_FAST8_TYPE): Check CHAR_FAST8.
-	(UINT_FAST8_TYPE) Likewise.
-	(INT_FAST16_TYPE) Check CHAR_FAST16.
-	(UINT_FAST16_TYPE) Likewise.
-
-2017-09-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82361
-	* config/i386/i386.md
-	(TARGET_USE_8BIT_IDIV zext divmodsi4 splitter): New define_split.
-	(divmodsi4_zext_1, divmodsi4_zext_2, *divmodsi4_zext_1,
-	*divmodsi4_zext_2): New define_insn_and_split.
-	(*divmodsi4_noext_zext_1, *divmodsi4_noext_zext_2): New define_insn.
-	(TARGET_USE_8BIT_IDIV zext udivmodsi4 splitter): New define_split.
-	(udivmodsi4_zext_1, udivmodsi4_zext_2, *udivmodsi4_zext_1,
-	*udivmodsi4_zext_2, *udivmodsi4_pow2_zext_1, *udivmodsi4_pow2_zext_2):
-	New define_insn_and_split.
-	(*udivmodsi4_noext_zext_1, *udivmodsi4_noext_zext_2): New define_insn.
-	* config/i386/i386.c (ix86_split_idivmod): Handle operands[0] or
-	operands[1] having DImode when mode is SImode.
-
-	* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
-	always SImode for DIV and MOD in REG_EQUAL notes.
-
-2017-09-29  Yury Gribov  <tetra2005@gmail.com>
-
-	PR middle-end/82319
-	* match.pd: Fix handling of NaNs in pattern.
-
-2017-09-29  Jeff Law  <law@redhat.com>
-
-	* sbitmap.c (bitmap_bit_in_range_p): New function.
-	* sbitmap.h (bitmap_bit_in_range_p): Prototype.
-	* tree-ssa-dse.c (live_bytes_read): New function.
-	(dse_classify_store): Ignore reads of dead bytes.
-
-	* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): Fix
-	typos and whitespace errors.
-	* config/i386/predicates.md (address_no_seg_operand): Likewise.
-	* config/s390/s390.c (s390_emit_prologue): Likewise.
-
-2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/81481
-	* ira-costs.c (scan_one_insn): Don't take into account PIC equiv
-	with a symbol for LRA.
-
-2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/82338
-	* lra-constraints.c (inherit_in_ebb): Check usage_insns check.
-
-2017-09-29  Alexander Monakov  <amonakov@ispras.ru>
-
-	* genmodes.c (calc_wider_mode): Suppress qsort macro.
-	* system.h [CHECKING_P] (qsort): Redirect to qsort_chk.
-	(qsort_chk): Declare.
-	* vec.c [CHECKING_P] (qsort_chk_error): New static function.
-	(qsort_chk): New function.
-
-2017-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/82337
-	* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
-	phi definition if the PHI result appears in an abnormal PHI.
-	(find_basis_for_base_expr): Don't record a basis if the LHS of the
-	basis appears in an abnormal PHI.
-
-2017-09-29  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c
-	(translate_isl_ast_to_gimple::set_codegen_error): New function.
-	(binary_op_to_tree): Use it.
-	(get_rename_from_scev): Likewise.
-	(copy_loop_phi_nodes): Likewise.
-	(copy_bb_and_scalar_dependences): Likewise.
-	(translate_pending_phi_nodes): Likewise.
-
-2017-09-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82339
-	* config/i386/i386.md (*movdi_internal peephole2): New -Os peephole
-	for movabsq $(i32 << shift), r64.
-
-2017-09-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_print_operand_address_as): Do not check
-	index when encoding %esp as %rsp to avoid 0x67 prefix.
-
-2017-09-28  Sergey Shalnov  <Sergey.Shalnov@intel.com>
-
-	* config/i386/i386.md (*movsf_internal, *movdf_internal):
-	Return 256-bit AVX modes for TARGET_PREFER_AVX256.
-
-2017-09-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (arm_option_override): Forbid ARMv8-M Security
-	Extensions with more than 16 double VFP registers.
-	(cmse_nonsecure_entry_clear_before_return): Remove second entry of
-	to_clear_mask and all code related to it.  Replace the remaining
-	entry by a sbitmap and adapt code accordingly.
-
-2017-09-28  Henry Linjamäki  <henry.linjamaki@parmance.com>
-
-	* brig-builtins.def: Change pure attributes to const.
-
-2017-09-28  Joseph Myers  <joseph@codesourcery.com>
-
-	* config.gcc (default_gnu_indirect_function): Default to yes for
-	sparc*-*-linux* with glibc.
-
-2017-09-28  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/aarch64/aarch64.c (aarch64_elf_asm_constructor)
-	(aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section
-	when creating .init_array and .fini_array sections with priority
-	specified.
-
-2017-09-27  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	PR target/71727
-	* config/aarch64/aarch64.c
-	(aarch64_builtin_support_vector_misalignment): Always return false
-	when misalignment is unknown.
-
-2017-09-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Revise
-	this function to return false if the definition used by the swap
-	instruction is artificial, or if the memory address from which the
-	constant value is loaded is not represented by a base address held
-	in a register or if the base address register is a frame or stack
-	pointer.  Additionally, return false if the base address of the
-	loaded constant is a SYMBOL_REF but is not considered to be a
-	constant.
-	(replace_swapped_load_constant): New function.
-	(rs6000_analyze_swaps): Add a new pass to replace a swap of a
-	loaded constant vector with a load of a swapped constant vector.
-
-2017-09-27  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
-	(FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins.
-	* config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the
-	fctiw instruction.
-
-2017-09-27  Alexander Monakov  <amonakov@ispras.ru>
-
-	* haifa-sched.c (autopref_rank_for_schedule): Order 'irrelevant' insns
-	first, always call autopref_rank_data otherwise.
-
-2017-09-27  Richard Biener  <rguenther@suse.de>
-
-	* graphite-scop-detection.c (find_scop_parameters): Move
-	loop bound handling ...
-	(gather_bbs::before_dom_children): ... here, avoiding the need
-	to build scop_info->loop_nest.
-	(record_loop_in_sese): Remove.
-	* sese.h (sese_info_t::loop_nest): Remove.
-	* sese.c (new_sese_info): Do not allocate loop_nest.
-	(free_sese_info): Do not free loop_nest.
-
-2017-09-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/82159
-	* gimplify.c (gimplify_modify_expr): Don't optimize away zero sized
-	lhs from calls if the lhs has addressable type.
-
-2017-09-27  Richard Biener  <rguenther@suse.de>
-
-	* graphite.h (scop::max_alias_set): New member.
-	* graphite-scop-detection.c: Remove references to non-existing
-	--param in comments.
-	(build_alias_sets): Record the maximum alias set used for drs.
-	(build_scops): Support zero as unlimited for
-	--param graphite-max-arrays-per-scop.
-	* graphite-sese-to-poly.c (add_scalar_version_numbers): Remove
-	and inline into ...
-	(build_poly_sr_1): ... here.  Compute alias set based on the
-	maximum alias set used for drs rather than
-	PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP
-
-2017-09-27  Richard Biener  <rguenther@suse.de>
-
-	* graphite-optimize-isl.c (get_schedule_for_node_st): Allow
-	--param loop-block-tile-size=0 to disable tiling.
-
-2017-09-27  Richard Biener  <rguenther@suse.de>
-
-	* doc/invoke.texi (graphite-max-bbs-per-function): Remove.
-	(graphite-max-nb-scop-params): Document special value zero.
-	* domwalk.h (dom_walker::STOP): New symbolical constant.
-	(dom_walker::dom_walker): Add optional parameter for bb to
-	RPO mapping.
-	(dom_walker::~dom_walker): Declare.
-	(dom_walker::before_dom_children): Document STOP return value.
-	(dom_walker::m_user_bb_to_rpo): New member.
-	(dom_walker::m_bb_to_rpo): Likewise.
-	* domwalk.c (dom_walker::dom_walker): Compute bb to RPO
-	mapping here if not provided by the user.
-	(dom_walker::~dom_walker): Free bb to RPO mapping if not
-	provided by the user.
-	(dom_walker::STOP): Define.
-	(dom_walker::walk): Do not compute bb to RPO mapping here.
-	Support STOP return value from before_dom_children to stop
-	walking.
-	* graphite-optimize-isl.c (optimize_isl): If the schedule
-	is the same still generate code if -fgraphite-identity
-	or -floop-parallelize-all are given.
-	* graphite-scop-detection.c: Include cfganal.h.
-	(gather_bbs::gather_bbs): Get and pass through bb to RPO
-	mapping.
-	(gather_bbs::before_dom_children): Return STOP for BBs
-	not in the region.
-	(build_scops): Compute bb to RPO mapping and pass it to
-	the domwalk.  Treat --param graphite-max-nb-scop-params=0
-	as not limiting the number of params.
-	* graphite.c (graphite_initialize): Remove limit on the
-	number of basic-blocks in a function.
-	* params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Remove.
-	(PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Adjust to documented
-	default value of 10.
-
-2017-09-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/vsx.md (peephole for optimizing move SF to GPR):
-	Adjust code to eliminate needing to do the shift right 32-bits
-	operation after XSCVDPSPN.
-
-2017-09-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* match.pd ((X / Y) == 0 -> X < Y): New pattern.
-	((X / Y) != 0 -> X >= Y): Likewise.
-
-2017-09-26  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_XL_LEN_R,
-	P9V_BUILTIN_VEC_XST_LEN_R): Add support for builtins
-	vector unsigned char vec_xl_len_r (unsigned char *, size_t);
-	void vec_xst_len_r (vector unsigned char, unsigned char *, size_t);
-	* config/rs6000/altivec.h (vec_xl_len_r, vec_xst_len_r): Add defines.
-	* config/rs6000/rs6000-builtin.def (XL_LEN_R, XST_LEN_R): Add
-	definitions and overloading.
-	* config/rs6000/rs6000.c (altivec_expand_builtin): Add case
-	statement for P9V_BUILTIN_XST_LEN_R.
-	(altivec_init_builtins): Add def_builtin for P9V_BUILTIN_STXVLL.
-	* config/rs6000/vsx.md (lxvll, stxvll, xl_len_r, xst_len_r): Add
-	define_expand and define_insn for the instructions and builtins.
-	* doc/extend.texi: Update the built-in documentation file for the new
-	built-in functions.
-	* config/rs6000/altivec.md (altivec_lvsl_reg, altivec_lvsr_reg): Add
-	define_insn for the instructions
-
-2017-09-26  Krister Walfridsson  <krister.walfridsson@gmail.com>
-
-	PR target/39570
-	* gcc/config/netbsd-protos.h: New file.
-	* gcc/config/netbsd.c: New file.
-	* gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define.
-	* gcc/config/t-netbsd: New file.
-	* gcc/config.gcc (tm_p_file): Add netbsd-protos.h.
-	(tmake_file) Add t-netbsd.
-	(extra_objs) Add netbsd.o.
-
-2017-09-26  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/82143
-	PR fortran/82324
-	* doc/sourcebuild.texi: Document fortran_real_10 and fortran_real_16.
-
-2017-09-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.md (extendsi<mode>2): Add a splitter to do
-	sign extension from a vector register to a GPR by doing a 32-bit
-	direct move and then an EXTSW.
-	(extendsi<mode>2 splitter): Likewise.
-	(movsi_from_sf): Adjust code to eliminate doing a 32-bit shift
-	right or vector extract after doing XSCVDPSPN.  Use
-	zero_extendsidi2 instead of p8_mfvsrd_4_disf to move the value to
-	the GPRs.
-	(movdi_from_sf_zero_ext): Likewise.
-	(reload_gpr_from_vsxsf): Likewise.
-	(p8_mfvsrd_4_disf): Delete, no longer used.
-	(movsi_from_df): Optimize converting a DFmode to a SFmode, and
-	then needing to move the SFmode to a GPR to use the XSCVDPSP
-	instruction instead of FRSP and XSCVDPSPN.
-	* config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Move insn so that
-	it is adjacent to the other XSCVSPDP insns.
-	(vsx_xscvdpsp_scalar): Use "ww" constraint instead of "f" to allow
-	SFmode to be in traditional Altivec registers.
-	(vsx_xscvdpspn): Eliminate useless alternative constraint.
-	(vsx_xscvspdpn): Likewise.
-	(vsx_xscvspdpn_scalar): Likewise.
-
-2017-09-26  Martin Jambor  <mjambor@suse.cz>
-
-	* tree-sra.c (compare_access_positions): Put integral types first,
-	stabilize sorting of integral types, remove conditions putting
-	non-full-precision integers last.
-	(sort_and_splice_var_accesses): Disable scalarization if a
-	non-integert would be represented by a non-full-precision integer.
-
-2017-09-26  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/microblaze/linux.h (TARGET_ASM_FILE_END): Likewise.
-	* config/pa/pa.h (NEED_INDICATE_EXEC_STACK): Likewise.
-	* config/pa/pa-linux.h (NEED_INDICATE_EXEC_STACK): Likewise.
-	* config/pa/pa.c (pa_hpux_file_end): Rename to pa_file_end.
-	Define unconditionally, with [ASM_OUTPUT_EXTERNAL_REAL]
-	conditionals inside the function instead of around it.  Call
-	file_end_indicate_exec_stack if NEED_INDICATE_EXEC_STACK.
-	(TARGET_ASM_FILE_END): Define unconditionally to pa_file_end.
-
-2017-09-26  Richard Biener  <rguenther@suse.de>
-
-	* graphite-scop-detection.c (scop_detection::build_scop_depth): Rewrite,
-	fold in ...
-	(scop_detection::build_scop_breadth): ... this.  Removed.
-	(scop_detection::loop_is_valid_in_scop): Fold into single caller.
-	(scop_detection::harmful_stmt_in_bb): Likewise.
-	(scop_detection::graphite_can_represent_stmt): Likewise.
-	(scop_detection::loop_body_is_valid_scop): Likewise.  Remove recursion.
-	(scop_detection::can_represent_loop): Remove recursion, fold in ...
-	(scop_detection::can_represent_loop_1): ... this.  Removed.
-	(scop_detection::harmful_loop_in_region): Simplify after inlining
-	the above and remove more quadraticness.
-	(build_scops): Adjust.
-	* tree-data-ref.c (loop_nest_has_data_refs): Remove pointless
-	quadraticness.
-
-2017-09-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82267
-	* config/i386/i386.c (ix86_print_operand_address_as): Only test
-	REGNO (base) == SP_REG if base is a REG.
-
-	PR middle-end/35691
-	* tree-ssa-reassoc.c (update_range_test): Dump r->exp each time
-	if it is different SSA_NAME.
-	(optimize_range_tests_cmp_bitwise): New function.
-	(optimize_range_tests): Call it.
-
-2017-09-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82321
-	* graphite.c (canonicalize_loop_closed_ssa): Properly check
-	for the def being inside the loop.
-
-2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vx-builtins.md ("vmslg"): Add missing operand in
-	assembler output.
-	* config/s390/s390-builtins.def: Fix constraint on op4.
-
-2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_vec_compare): Use the new mode
-	independent expanders.
-	* config/s390/vector.md ("vec_cmpuneq", "vec_cmpltgt")
-	("vec_ordered", "vec_unordered"): New expanders.
-
-2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_preferred_simd_mode): Return V4SFmode
-	for SFmode.
-
-2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vector.md ("vec_unpacks_low_v16qi"): Rename to
-	vec_unpacks_lo_v16qi.
-	("vec_unpacku_low_v16qi"): Rename to vec_unpacku_lo_v16qi.
-
-2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vector.md ("vec_unpacks_lo_v4sf")
-	("vec_unpacks_hi_v4sf", "vec_unpacks_lo_v2df")
-	("vec_unpacks_hi_v2df", "vec_pack_trunc_v2df"): New expanders.
-
-2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/predicates.md ("const_shift_by_byte_operand"): New
-	predicate.
-	* config/s390/vector.md ("*vec_srb<mode>"): Change modes to V_128
-	and V16QI.
-	("*vec_slb<mode>"): New insn pattern.
-	("vec_shr_<mode>"): New expander.
-	* config/s390/vx-builtins.md ("vec_slb<mode>"): Turn into expander
-	and force the shift count operand to V16QImode.
-	("vec_srb<mode>"): Set shift count mode to V16QI.
-
-2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vector.md ("vec_widen_umult_lo_<mode>")
-	("vec_widen_umult_hi_<mode>", "vec_widen_smult_lo_<mode>")
-	("vec_widen_smult_hi_<mode>"): New expander definitions.
-
-2017-09-26  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/82175
-	* config/arm/arm.h (DRIVER_SELF_SPECS): Separate sub-rules with commas.
-
-2017-09-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82320
-	* tree-ssa-sccvn.c (set_ssa_val_to): Changing undef to undef
-	isn't a change.
-
-2017-09-25  Jeff Law  <law@redhat.com>
-
-	* config/rs6000/rs6000-protos.h (output_probe_stack_range): Update
-	prototype for new argument.
-	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack_1): New function,
-	mostly extracted from rs6000_emit_allocate_stack.
-	(rs6000_emit_probe_stack_range_stack_clash): New function.
-	(rs6000_emit_allocate_stack): Call
-	rs6000_emit_probe_stack_range_stack_clash as needed.
-	(rs6000_emit_probe_stack_range): Add additional argument
-	to call to gen_probe_stack_range{si,di}.
-	(output_probe_stack_range): New.
-	(output_probe_stack_range_1): Renamed from output_probe_stack_range.
-	(output_probe_stack_range_stack_clash): New.
-	(rs6000_emit_prologue): Emit notes into dump file as requested.
-	* rs6000.md (allocate_stack): Handle -fstack-clash-protection.
-	(probe_stack_range<P:mode>): Operand 0 is now early-clobbered.
-	Add additional operand and pass it to output_probe_stack_range.
-
-2017-09-25  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/82163
-	* tree-ssa-loop-manip.h (verify_loop_closed_ssa): New parameter.
-	(checking_verify_loop_closed_ssa): New parameter.
-	* tree-ssa-loop-manip.c (check_loop_closed_ssa_use): Delete.
-	(check_loop_closed_ssa_stmt): Delete.
-	(check_loop_closed_ssa_def, check_loop_closed_ssa_bb): New functions.
-	(verify_loop_closed_ssa): Check loop closed ssa form for LOOP.
-	(tree_transform_and_unroll_loop): Check loop closed ssa form only for
-	changed loops.
-
-2017-09-25  Pekka Jaaskelainen <pekka@parmance.com>
-
-	* brig-builtins.def: Treat HSAIL barrier builtins as
-	setjmp/longjump style functions.
-
-2017-09-25  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* target.def (constant_alignment): New hook.
-	* defaults.h (CONSTANT_ALIGNMENT): Delete.
-	* doc/tm.texi.in (CONSTANT_ALIGNMENT): Replace with...
-	(TARGET_CONSTANT_ALIGNMENT): ...this new hook.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_constant_alignment): Declare.
-	(constant_alignment_word_strings): Likewise.
-	* targhooks.c (default_constant_alignment): New function.
-	(constant_alignment_word_strings): Likewise.
-	* builtins.c (get_object_alignment_2): Use targetm.constant_alignment
-	instead of CONSTANT_ALIGNMENT.
-	* varasm.c (align_variable, get_variable_align, build_constant_desc)
-	(force_const_mem): Likewise.
-	* config/aarch64/aarch64.h (CONSTANT_ALIGNMENT): Delete.
-	* config/aarch64/aarch64.c (aarch64_constant_alignment): New function.
-	(aarch64_classify_address): Call it instead of CONSTANT_ALIGNMENT.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/alpha/alpha.h (CONSTANT_ALIGNMENT): Delete commented-out
-	definition.
-	* config/arc/arc.h (CONSTANT_ALIGNMENT): Delete.
-	* config/arc/arc.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR): Delete.
-	(CONSTANT_ALIGNMENT): Likewise.
-	* config/arm/arm.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(arm_constant_alignment): New function.
-	* config/bfin/bfin.h (CONSTANT_ALIGNMENT): Delete.
-	* config/bfin/bfin.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/cr16/cr16.h (CONSTANT_ALIGNMENT): Delete.
-	* config/cr16/cr16.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/cris/cris.h (CONSTANT_ALIGNMENT): Delete.
-	* config/cris/cris.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(cris_constant_alignment): New function.
-	* config/epiphany/epiphany.h (CONSTANT_ALIGNMENT): Delete.
-	* config/epiphany/epiphany.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(epiphany_constant_alignment): New function.
-	* config/fr30/fr30.h (CONSTANT_ALIGNMENT): Delete.
-	* config/fr30/fr30.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/frv/frv.h (CONSTANT_ALIGNMENT): Delete.
-	* config/frv/frv.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/ft32/ft32.h (CONSTANT_ALIGNMENT): Delete.
-	* config/ft32/ft32.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/i386/i386.h (CONSTANT_ALIGNMENT): Delete.
-	* config/i386/i386-protos.h (ix86_constant_alignment): Delete.
-	* config/i386/i386.c (ix86_constant_alignment): Make static.
-	Use the same interface as the target hook.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/ia64/ia64.h (CONSTANT_ALIGNMENT): Delete.
-	* config/ia64/ia64.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/iq2000/iq2000.h (CONSTANT_ALIGNMENT): Delete.
-	* config/iq2000/iq2000.c (iq2000_constant_alignment): New function.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/lm32/lm32.h (CONSTANT_ALIGNMENT): Delete.
-	* config/lm32/lm32.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/m32r/m32r.h (CONSTANT_ALIGNMENT): Delete.
-	* config/m32r/m32r.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/mcore/mcore.h (CONSTANT_ALIGNMENT): Delete.
-	* config/mcore/mcore.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/microblaze/microblaze.h (CONSTANT_ALIGNMENT): Delete.
-	* config/microblaze/microblaze.c (microblaze_constant_alignment):
-	New function.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/mips/mips.h (CONSTANT_ALIGNMENT): Delete.
-	* config/mips/mips.c (mips_constant_alignment): New function.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/mmix/mmix.h (CONSTANT_ALIGNMENT): Delete.
-	* config/mmix/mmix-protos.h (mmix_constant_alignment): Delete.
-	* config/mmix/mmix.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(mmix_constant_alignment): Make static.  Use the same interface
-	as the target hook.
-	* config/moxie/moxie.h (CONSTANT_ALIGNMENT): Delete.
-	* config/moxie/moxie.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/nios2/nios2.h (CONSTANT_ALIGNMENT): Delete.
-	* config/nios2/nios2.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/pa/pa.h (CONSTANT_ALIGNMENT): Delete.
-	* config/pa/pa.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/powerpcspe/powerpcspe.h (CONSTANT_ALIGNMENT): Delete.
-	* config/powerpcspe/powerpcspe.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(rs6000_constant_alignment): New function.
-	* config/riscv/riscv.h (CONSTANT_ALIGNMENT): Delete.
-	* config/riscv/riscv.c (riscv_constant_alignment): New function.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Delete.
-	* config/rs6000/rs6000.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(rs6000_constant_alignment): New function.
-	* config/s390/s390.h (CONSTANT_ALIGNMENT): Delete.
-	* config/s390/s390.c (s390_constant_alignment): New function.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/sh/sh.h (CONSTANT_ALIGNMENT): Delete.
-	* config/sh/sh.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/sparc/sparc.h (CONSTANT_ALIGNMENT): Delete.
-	* config/sparc/sparc.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(sparc_constant_alignment): New function.
-	* config/spu/spu.h (CONSTANT_ALIGNMENT): Delete.
-	* config/spu/spu.c (spu_constant_alignment): New function.
-	(TARGET_CONSTANT_ALIGNMENT): Redefine.
-	* config/stormy16/stormy16.h (CONSTANT_ALIGNMENT): Delete.
-	* config/stormy16/stormy16.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/tilegx/tilegx.h (CONSTANT_ALIGNMENT): Delete.
-	* config/tilegx/tilegx.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/tilepro/tilepro.h (CONSTANT_ALIGNMENT): Delete.
-	* config/tilepro/tilepro.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
-	constant_alignment_word_strings.
-	* config/visium/visium.h (CONSTANT_ALIGNMENT): Delete.
-	* config/visium/visium.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(visium_constant_alignment): New function.
-	* config/xtensa/xtensa.h (CONSTANT_ALIGNMENT): Delete.
-	* config/xtensa/xtensa.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
-	(xtensa_constant_alignment): New function.
-	* system.h (CONSTANT_ALIGNMENT): Poison.
-
-2017-09-25  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
-	for early folding of vector stores (ALTIVEC_BUILTIN_ST_*).
-	(rs6000_builtin_valid_without_lhs): New helper function.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Remove obsoleted code for handling ALTIVEC_BUILTIN_VEC_ST.
-
-2017-09-25  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* target.h (vec_perm_indices): Use unsigned short rather than
-	unsigned char.
-	(auto_vec_perm_indices): Likewise.
-	* config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const_ok):
-	Use unsigned int rather than unsigned char.
-	* config/arm/arm.c (arm_vectorize_vec_perm_const_ok): Likewise.
-
-2017-09-25  Richard Biener  <rguenther@suse.de>
-
-	* cfgloop.h (sort_sibling_loops): Declare.
-	* cfgloop.c (sort_sibling_loops_cmp): New helper.
-	(sort_sibling_loops): New function sorting the sibling loop list
-	in RPO order.
-	* graphite.c (graphite_transform_loops): Sort sibling loops.
-
-2017-09-25  Richard Sandiford  <richard.sandifird@linaro.org>
-
-	* target.def (vec_perm_const_ok): Change sel parameter to
-	vec_perm_indices.
-	* optabs-query.c (can_vec_perm_p): Update accordingly.
-	* doc/tm.texi: Regenerate.
-	* config/aarch64/aarch64.c (expand_vec_perm_d): Change perm to
-	auto_vec_perm_indices and remove separate nelt field.
-	(aarch64_evpc_trn, aarch64_evpc_uzp, aarch64_evpc_zip)
-	(aarch64_evpc_ext, aarch64_evpc_rev, aarch64_evpc_dup)
-	(aarch64_evpc_tbl, aarch64_expand_vec_perm_const_1)
-	(aarch64_expand_vec_perm_const): Update accordingly.
-	(aarch64_vectorize_vec_perm_const_ok): Likewise.  Change sel
-	to vec_perm_indices.
-	* config/arm/arm.c (expand_vec_perm_d): Change perm to
-	auto_vec_perm_indices and remove separate nelt field.
-	(arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev)
-	(arm_evpc_neon_vtrn, arm_evpc_neon_vext, arm_evpc_neon_vtbl)
-	(arm_expand_vec_perm_const_1, arm_expand_vec_perm_const): Update
-	accordingly.
-	(arm_vectorize_vec_perm_const_ok): Likewise.  Change sel
-	to vec_perm_indices.
-	* config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change
-	sel to vec_perm_indices.
-	* config/ia64/ia64.c (ia64_vectorize_vec_perm_const_ok): Likewise.
-	* config/mips/mips.c (mips_vectorize_vec_perm_const_ok): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_vectorize_vec_perm_const_ok):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_vectorize_vec_perm_const_ok):
-	Likewise.
-
-2017-09-25  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	PR debug/82155
-	* dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl
-	on the FUNCTION_DECL function context if it has a DIE that is a
-	declaration.
-
-2017-09-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82285
-	* tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
-	enumeral types.
-
-2017-09-25  Tom de Vries  <tom@codesourcery.com>
-
-	PR target/80035
-	PR target/81069
-	* config/nvptx/nvptx.c (nvptx_output_call_insn): Add exit after call to
-	noreturn function.
-
-2017-09-25  Richard Biener  <rguenther@suse.de>
-
-	* graphite-optimize-isl.c (optimize_isl): Fail and dump if
-	ISL errors other than isl_error_quota happen.  Dump if the
-	schedule is the same.
-	* graphite-sese-to-poly.c (build_poly_scop): Fail on ISL
-	errors instead of aborting inside ISL.
-
-2017-09-25  Iain Sandoe  <iain@codesourcery.com>
-
-	PR target/80556
-	* config/i386/darwin.h (REAL_LIB_SPEC): New; put libSystem ahead
-	of libgcc_eh for m64.
-	* config/i386/darwin64.h: Likewise.
-
-2017-09-25  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/82144
-	* dwarf2out.c (gen_enumeration_type_die): Do not add alignment
-	attribute for incomplete types nor twice for complete ones.
-
-2017-09-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/82267
-	* config/i386/i386.c (ix86_print_operand_address_as): Encode
-	%esp as %rsp to avoid 0x67 prefix if there is no index or base
-	register.
-
-2017-09-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR bootstrap/82306
-	* config/i386/i386.opt (mprefer-avx256): Use
-	ix86_target_flags variable.
-	* config/i386/i386.c (ix86_target_string): Move
-	-mprefer-avx256 to flag2_opts.
-
-2017-09-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/35691
-	* match.pd: Simplify x == -1 & y == -1 into (x & y) == -1
-	and x != -1 | y != -1 into (x & y) != -1.
-
-2017-09-22  Steve Ellcey  <sellcey@cavium.com>
-
-	* config.gcc: Add new case statement to set
-	default_gnu_indirect_function.  Remove it from x86_64-*-linux*,
-	i[34567]86-*, powerpc*-*-linux*spe*, powerpc*-*-linux*, s390-*-linux*,
-	s390x-*-linux* case statements.   Added aarch64 to the list of
-	supported architectures.
-
-2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/82289
-	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): Check
-	STMT_VINFO_RELEVANT_P.
-
-2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vrp.c (extract_range_from_multiplicative_op_1): Assert
-	for VR_RANGE only; don't allow VR_ANTI_RANGE.
-	(extract_range_from_binary_expr_1): Don't call
-	extract_range_from_multiplicative_op_1 if !range_int_cst_p.
-
-2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (preferred_vector_alignment): New hook.
-	* doc/tm.texi.in (TARGET_VECTORIZE_PREFERRED_VECTOR_ALIGNMENT): New
-	hook.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_preferred_vector_alignment): Declare.
-	* targhooks.c (default_preferred_vector_alignment): New function.
-	* tree-vectorizer.h (dataref_aux): Add a target_alignment field.
-	Expand commentary.
-	(DR_TARGET_ALIGNMENT): New macro.
-	(aligned_access_p): Update commentary.
-	(vect_known_alignment_in_bytes): New function.
-	* tree-vect-data-refs.c (vect_calculate_required_alignment): New
-	function.
-	(vect_compute_data_ref_alignment): Set DR_TARGET_ALIGNMENT.
-	Calculate the misalignment based on the target alignment rather than
-	the vector size.
-	(vect_update_misalignment_for_peel): Use DR_TARGET_ALIGMENT
-	rather than TYPE_ALIGN / BITS_PER_UNIT to update the misalignment.
-	(vect_enhance_data_refs_alignment): Mask the byte misalignment with
-	the target alignment, rather than masking the element misalignment
-	with the number of elements in a vector.  Also use the target
-	alignment when calculating the maximum number of peels.
-	(vect_find_same_alignment_drs): Use vect_calculate_required_alignment
-	instead of TYPE_ALIGN_UNIT.
-	(vect_duplicate_ssa_name_ptr_info): Remove stmt_info parameter.
-	Measure DR_MISALIGNMENT relative to DR_TARGET_ALIGNMENT.
-	(vect_create_addr_base_for_vector_ref): Update call accordingly.
-	(vect_create_data_ref_ptr): Likewise.
-	(vect_setup_realignment): Realign by ANDing with
-	-DR_TARGET_MISALIGNMENT.
-	* tree-vect-loop-manip.c (vect_gen_prolog_loop_niters): Calculate
-	the number of peels based on DR_TARGET_ALIGNMENT.
-	* tree-vect-stmts.c (get_group_load_store_type): Compare the gap
-	with the guaranteed alignment boundary when deciding whether
-	overrun is OK.
-	(vectorizable_mask_load_store): Interpret DR_MISALIGNMENT
-	relative to DR_TARGET_ALIGNMENT instead of TYPE_ALIGN_UNIT.
-	(ensure_base_align): Remove stmt_info parameter.  Get the
-	target base alignment from DR_TARGET_ALIGNMENT.
-	(vectorizable_store): Update call accordingly.   Interpret
-	DR_MISALIGNMENT relative to DR_TARGET_ALIGNMENT instead of
-	TYPE_ALIGN_UNIT.
-	(vectorizable_load): Likewise.
-
-2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vectorizer.h (vect_get_scalar_dr_size): New function.
-	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use it.
-	(vect_enhance_data_refs_alignment): Likewise.
-
-2017-09-22  Richard Earnshaw  <richard.earnshaw@arm.com>
-
-	* config/arm/parsecpu.awk (fatal): Note that we've encountered an
-	error.  Only quit immediately if parsing is complete.
-	(BEGIN): Initialize fatal_err and parse_done.
-	(begin fpu, end fpu): Check number of arguments.
-	(begin arch, end arch): Likewise.
-	(begin cpu, end cpu): Likewise.
-	(cname, tune for, tune flags, architecture, fpu, option): Likewise.
-	(optalias): Likewise.
-
-2017-09-22  Richard Earnshaw  <richard.earnshaw@arm.com>
-
-	* config.gcc (arm*-*-*): Don't add arm-isa.h to tm_p_file.
-	* config/arm/arm-isa.h: Delete.  Move definitions to ...
-	* arm-cpus.in: ... here.  Use new feature and fgroup values.
-	* config/arm/arm.c (arm_option_override): Use lower case for feature
-	bit names.
-	* config/arm/arm.h (TARGET_HARD_FLOAT): Likewise.
-	(TARGET_VFP3, TARGET_VFP5, TARGET_FMA): Likewise.
-	* config/arm/parsecpu.awk (END): Add new command 'isa'.
-	(isa_pfx): Delete.
-	(print_isa_bits_for): New function.
-	(gen_isa): New function.
-	(gen_comm_data): Use print_isa_bits_for.
-	(define feature): New keyword.
-	(define fgroup): New keyword.
-	* config/arm/t-arm (TM_H): Remove.
-	(GTM_H): Add arm-isa.h.
-	(arm-isa.h): Add rule to generate file.
-	* common/config/arm/arm-common.c: (arm_canon_arch_option): Use lower
-	case for feature bit names.
-
-2017-09-22  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c (graphite_verify): Inline into
-	single caller.
-	(graphite_regenerate_ast_isl): Do not reset SCEV.  Move debug
-	print of no dependency loops ...
-	* graphite.c (graphite_transform_loops): ... here.
-	(canonicalize_loop_closed_ssa_form): Work from inner to outer
-	loops.
-	(same_close_phi_node, remove_duplicate_close_phi,
-	make_close_phi_nodes_unique, defined_in_loop_p): Fold into ...
-	(canonicalize_loop_closed_ssa): ... here and simplify.
-	* graphite-optimize-isl.c: Include tree-vectorizer.h.
-	(optimize_isl): Use dump_printf_loc to tell when we stopped
-	optimizing because of an ISL timeout.
-
-2017-09-22  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82291
-	* tree-if-conv.c (predicate_mem_writes): Make sure to
-	remove writes in blocks predicated with false.
-
-2017-09-22  Richard Biener  <rguenther@suse.de>
-
-	* sese.c: Include cfganal.h.
-	(if_region_set_false_region): Remove.
-	(create_if_region_on_edge): Likewise.
-	(move_sese_in_condition): Re-implement without destroying
-	dominators.
-
-2017-09-22  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes):
-	Verify both BBs contain loop PHI nodes before dispatching to
-	copy_loop_phi_args.
-	(graphite_regenerate_ast_isl): Do not recompute dominators,
-	do not verify three times.  Restructure for clarity.
-	* graphite-scop-detection.c (same_close_phi_node,
-	remove_duplicate_close_phi, make_close_phi_nodes_unique,
-	defined_in_loop_p, canonicalize_loop_closed_ssa,
-	canonicalize_loop_closed_ssa_form): Simplify, remove excess
-	checking and SSA rewrite, move to ...
-	* graphite.c: ... here.  Include ssa.h and tree-ssa-loop-manip.h.
-	(graphite_initialize): Do not pass in ctx, do not reset the
-	SCEV cache, compute only dominators.
-	(graphite_transform_loops): Allocate ISL ctx after
-	graphite_initialize.  Call canonicalize_loop_closed_ssa_form.
-	Maintain post-dominators only around build_scops.
-	* sese.c (if_region_set_false_region): Make static.  Free
-	and recompute dominators.
-	(move_sese_in_condition): Assert we don't get called with
-	post-dominators computed.
-	* sese.h (if_region_set_false_region): Remove.
-
-2017-09-22  Sergey Shalnov  <sergey.shalnov@intel.com>
-
-	* config/i386/sse.md ("mov<mode>_internal"): Use <sseinsnmode>
-	mode attribute for TARGET_AVX512VL.
-
-2017-09-21  Sergey Shalnov  <sergey.shalnov@intel.com>
-
-	* config/i386/i386.opt (mprefer-avx256): New option.
-	* config/i386/i386.c (ix86_target_string): Add -mprefer-avx256
-	to flag_opts.
-	(ix86_preferred_simd_mode): Return 256-bit AVX modes
-	for TARGET_PREFER_AVX256.
-	* doc/invoke.texi (x86 Options): Document -mprefer-avx256.
-
-2017-09-21  Jeff Law  <law@redhat.com>
-
-	* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash):
-	Fix dump output if the only stack space is for pushed registers.
-
-2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/spu/spu.c (spu_sched_adjust_cost): Update after renaming
-	of insn_cost.
-
-2017-09-21  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81882
-	* doc/extend.texi (attribute ifunc): Avoid relying on ill-formed
-	code (in C++) or code that triggers warnings.
-
-2017-09-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* stor-layout.c (bit_from_pos): Do not distribute the conversion.
-
-2017-09-21  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* haifa-sched.c: Rename insn_cost to insn_sched_cost.
-	* sched-rgn.c: Ditto.
-	* sel-sched-ir.c: Ditto.
-
-2017-09-21  Alexander Monakov  <amonakov@ispras.ru>
-
-	* toplev.h (set_random_seed): Adjust return type.
-	* toplev.c (init_local_tick): Move eager initialization of random_seed
-	to get_random_seed.  Adjust comment.
-	(init_random_seed): Inline to get_random_seed, delete.
-	(get_random_seed): Initialize random_seed lazily.
-	(set_random_seed): Do not return previous value.
-	(print_switch_value): Do not call get_random_seed.
-
-2017-09-21  Evgeny Kudryashov  <kudryashov@ispras.ru>
-
-	* cgraph.c (delete_function_version): New, broken out from...
-	(cgraph_node::delete_function_version): ...here.  Rename to
-	cgraph_node::delete_function_version_by_decl.  Update all uses.
-	(cgraph_node::remove): Call delete_function_version.
-
-2017-09-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81715
-	* tree-inline.c (expand_call_inline): Emit clobber stmts for
-	VAR_DECLs to which addressable non-volatile parameters are mapped
-	and for id->retvar after the return value assignment.  Clear
-	id->retval and id->retbnd after inlining.
-
-2017-09-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82276
-	PR tree-optimization/82244
-	* tree-vrp.c (build_assert_expr_for): Set
-	SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on
-	has it set.
-	(remove_range_assertions): Revert earlier change.
-
-2017-09-21  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/71951
-	* config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
-
-2017-09-21  Richard Biener  <rguenther@suse.de>
-
-	* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
-	Restore valid IL after code generation errors.
-	* graphite.c (graphite_transform_loops): Diagnose code
-	generation issues as MSG_MISSED_OPTIMIZATION and continue
-	with processing SCOPs.
-
-2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* calls.c (compute_argument_addresses): Use simplify_gen_binary
-	rather than choosing between plus_constant and gen_rtx_<CODE>.
-	* expr.c (emit_push_insn): Likewise.
-	(expand_expr_real_2): Likewise.
-
-2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* loop-unroll.c (split_iv): Call copy_rtx on the step.
-
-2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.c (find_atomic_core_type): Check tree_fits_uhwi_p before
-	calling tree_to_uhwi.
-
-2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-ssa-ccp.c (get_value_for_expr): Use a positive test for
-	INTEGER_CST rather than a negative test for ADDR_EXPR.
-
-2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vrp.c (extract_range_from_binary_expr_1): Check
-	int_cst_rangeN before calling value_range_constant_singleton (&vrN).
-
-2017-09-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71351
-	* graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple::
-	graphite_create_new_loop_guard): Remove, fold remaining parts
-	into caller ...
-	(translate_isl_ast_node_for): ... here and simplify.
-
-2017-09-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82260
-	* config/i386/i386.md (*movqi_internal): Replace (=q,q) alternative
-	with (=Q,Q), (=R,R) and (=r,r) alternatives, only enable the
-	latter two for 64-bit, renumber alternatives, for -Os imov (=q,n)
-	alternative always use QI mode, for -Os imov (=R,R) alternative
-	always use SI mode, for imov (=Q,Q) or (=r,r) alternatives
-	ignore -Os.
-
-2017-09-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-	    Jeff Law  <law@redhat.com>
-
-	* config/s390/s390.c (MIN_UNROLL_PROBES): Define.
-	(allocate_stack_space): New function, partially extracted from
-	s390_emit_prologue.
-	(s390_emit_prologue): Track offset to most recent stack probe.
-	Code to allocate space moved into allocate_stack_space.
-	Dump actions when no stack is allocated.
-	(s390_prologue_plus_offset): New function.
-	(s390_emit_stack_probe): Likewise.
-
-2017-09-20  Alexandre Oliva  <aoliva@redhat.com>
-
-	* common.opt (Wa, Wl, Wp, g, gz=): Add
-	RejectNegative.
-	(gno-column-info): Remove.
-	(gcolumn-info): Drop RejectNegative.
-	(gno-): New prefix.
-	(gno-record-gcc-switches): Remove.
-	(grecord-gcc-switches): Drop RejectNegative.
-	(gno-split-dwarf): Remove.
-	(gsplit-dwarf): Drop RejectNegative.
-	(gno-strict-dwarf): Remove.
-	(gstrict-dwarf): Drop RejectNegative.
-	* config/darwin.opt (gfull, gused): Add RejectNegative.
-	* dwarf2out.c (gen_producer_string): Drop
-	gno-record-gcc-switches handler.
-	* optc-gen.awk: Add g to prefixes with negative forms.
-	* opts-common.c (remapping_prefix_p): New.
-	(find_opt): Check it.
-	(generate_canonical_option): Test g prefix.
-	(option_map): Add -gno- mapping.
-	(add_misspelling_candidates): Check remapping_prefix_p.
-
-2017-09-20  Jeff Law  <law@redhat.com>
-
-	* config/powerpcspe/powerpcspe.c (rs6000_expand_prologue): Fix
-	thinko in stack clash protection support.
-
-	* explow.c (compute_stack_clash_protection_loop_data): Use
-	CONST_INT_P instead of explicit test.  Verify object is a
-	CONST_INT_P before looking at INTVAL.
-	(anti_adjust_stack_and_probe_stack_clash): Use CONST_INT_P
-	instead of explicit test.
-
-2017-09-20  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/77687
-	* config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch
-	address instead of to r1 and r11.
-
-2017-09-20  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* config.gcc: Support "knm".
-	* config/i386/driver-i386.c (host_detect_local_cpu): Detect "knm".
-	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
-	PROCESSOR_KNM.
-	* config/i386/i386.c (m_KNM): Define.
-	(processor_target_table): Add "knm".
-	(PTA_KNM): Define.
-	(ix86_option_override_internal): Add "knm".
-	(ix86_issue_rate): Add PROCESSOR_KNM.
-	(ix86_adjust_cost): Ditto.
-	(ia32_multipass_dfa_lookahead): Ditto.
-	(get_builtin_code_for_version): Handle PROCESSOR_KNM.
-	(fold_builtin_cpu): Add M_INTEL_KNM.
-	* config/i386/i386.h (processor_costs): Define TARGET_KNM.
-	(processor_type): Add PROCESSOR_KNM.
-	* config/i386/x86-tune.def: Add m_KNM.
-	* doc/invoke.texi: Add knm as x86 -march=/-mtune= CPU type.
-
-2017-09-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80213
-	* graphite-scop-detection.c (trivially_empty_bb_p): Labels
-	are allowed in empty BBs as well.
-	(canonicalize_loop_closed_ssa): Also look for other complex
-	edges.
-	(scop_detection::get_sese): Include the loop-closed PHI block
-	in loop SESEs.
-	(scop_detection::merge_sese): Remove code adding extra blocks.
-	(scop_detection::region_has_one_loop): Adjust for get_sese changes.
-	(build_scops): Assert the final returned scop is invalid.
-
-2017-09-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82264
-	* tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check
-	for GIMPLE_CONDs.
-	(vn_phi_lookup): Likewise.
-	(vn_phi_insert): Likewise.
-
-2017-09-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (tree_add_const_value_attribute): For INTEGER_CST
-	that fits into uhwi or shwi, add DW_AT_const_value regardless
-	of early_dwarf without going through RTL, using add_AT_unsigned
-	or add_AT_int.
-
-	* dwarf2out.c (DEBUG_LTO_DWO_INFO_SECTION): Reorder defines.
-	(DEBUG_LTO_ABBREV_SECTION): Likewise.
-	(DEBUG_LTO_MACINFO_SECTION): Likewise.
-	(DEBUG_MACRO_SECTION): Likewise.
-	(DEBUG_LTO_MACRO_SECTION): Likewise.
-	(DEBUG_STR_DWO_SECTION): Likewise.
-	(DEBUG_LTO_STR_DWO_SECTION): Likewise.
-	(DEBUG_LTO_LINE_SECTION): Drop .dwo suffix from the name.
-	(DEBUG_LTO_DWO_LINE_SECTION): Define.
-	(DEBUG_LTO_LINE_STR_SECTION): Define.
-	(init_sections_and_labels): Initialize debug_line_str_section
-	variable.  Initialize debug_loc_section for -gdwarf-5 to
-	DEBUG_LOCLISTS_SECTION.  Formatting fixes.
-
-2017-09-20  Richard Biener  <rguenther@suse.de>
-
-	* graphite-sese-to-poly.c (extract_affine): Properly handle
-	POINTER_PLUS_EXPR, BIT_NOT_EXPR and conversion to signed.
-
-2017-09-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81373
-	* graphite-scop-detection.c (build_cross_bb_scalars_def):
-	Force SESE live-out defs to be handled even if they are
-	scev_analyzable_p.
-
-2017-09-19  Jeff Law  <law@redhat.com>
-
-	* combine-stack-adj.c (combine_stack_adjustments_for_block): Do
-	nothing for stack adjustments with REG_STACK_CHECK.
-	* sched-deps.c (parse_add_or_inc): Reject insns with
-	REG_STACK_CHECK from dependency breaking.
-	* config/i386/i386.c (pro_epilogue_adjust_stack): Return insn.
-	(ix86_adjust_satck_and_probe_stack_clash): Add REG_STACK_NOTEs.
-	* reg-notes.def (STACK_CHECK): New note.
-
-	* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): New.
-	(ix86_expand_prologue): Dump stack clash info as needed.
-	Call ix86_adjust_stack_and_probe_stack_clash as needed.
-
-	* function.c (dump_stack_clash_frame_info): New function.
-	* function.h (dump_stack_clash_frame_info): Prototype.
-	(enum stack_clash_probes): New enum.
-
-	* config/alpha/alpha.c (alpha_expand_prologue): Also check
-	flag_stack_clash_protection.
-	* config/arm/arm.c (arm_compute_static_chain_stack_bytes): Likewise.
-	(arm_expand_prologue, thumb1_expand_prologue): Likewise.
-	(arm_frame_pointer_required): Likewise.
-	* config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
-	(ia64_expand_prologue): Likewise.
-	* config/mips/mips.c (mips_expand_prologue): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_expand_prologue): Likewise.
-	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
-	(sparc_flat_expand_prologue): Likewise.
-	* config/spu/spu.c (spu_expand_prologue): Likewise.
-
-	* explow.c: Include "params.h".
-	(anti_adjust_stack_and_probe_stack_clash): New function.
-	(get_stack_check_protect): Likewise.
-	(compute_stack_clash_protection_loop_data): Likewise.
-	(emit_stack_clash_protection_loop_start): Likewise.
-	(emit_stack_clash_protection_loop_end): Likewise.
-	(allocate_dynamic_stack_space): Use get_stack_check_protect.
-	Use anti_adjust_stack_and_probe_stack_clash.
-	* explow.h (compute_stack_clash_protection_loop_data): Prototype.
-	(emit_stack_clash_protection_loop_start): Likewise.
-	(emit_stack_clash_protection_loop_end): Likewise.
-	* rtl.h (get_stack_check_protect): Prototype.
-	* target.def (stack_clash_protection_final_dynamic_probe): New hook.
-	* targhooks.c (default_stack_clash_protection_final_dynamic_probe): New.
-	* targhooks.h (default_stack_clash_protection_final_dynamic_probe):
-	Prototype.
-	* doc/tm.texi.in (TARGET_STACK_CLASH_PROTECTION_FINAL_DYNAMIC_PROBE):
-	Add @hook.
-	* doc/tm.texi: Rebuilt.
-	* config/aarch64/aarch64.c (aarch64_expand_prologue): Use
-	get_stack_check_protect.
-	* config/alpha/alpha.c (alpha_expand_prologue): Likewise.
-	* config/arm/arm.c (arm_expand_prologue): Likewise.
-	(arm_frame_pointer_required): Likewise.
-	* config/i386/i386.c (ix86_expand_prologue): Likewise.
-	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
-	* config/mips/mips.c (mips_expand_prologue): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_emit_prologue): Likewise.
-	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
-	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
-	(sparc_flat_expand_prologue): Likewise.
-
-	* common.opt (-fstack-clash-protection): New option.
-	* flag-types.h (enum stack_check_type): Note difference between
-	-fstack-check= and -fstack-clash-protection.
-	* params.def (PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE): New PARAM.
-	(PARAM_STACK_CLASH_PROTECTION_PROBE_INTERVAL): Likewise.
-	* toplev.c (process_options): Issue warnings/errors for cases
-	not handled with -fstack-clash-protection.
-	* doc/invoke.texi (-fstack-clash-protection): Document new option.
-	(-fstack-check): Note additional problem with -fstack-check=generic.
-	Note that -fstack-check is primarily for Ada and refer users
-	to -fstack-clash-protection for stack-clash-protection.
-	Document new params for stack clash protection.
-
-2017-09-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_split_long_move): Do not handle
-	address used for LEA in a special way.
-
-2017-09-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* simplify-rtx.c (simplify_binary_operation_1): Fix typo in comment.
-
-2017-09-19  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81854
-	* cgraphunit.c (handle_alias_pairs): Reject aliases between functions
-	of incompatible types.
-
-2017-09-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
-	for early folding of vector loads (ALTIVEC_BUILTIN_LVX_*).
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Remove obsoleted code for handling ALTIVEC_BUILTIN_VEC_LD.
-
-2017-09-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82244
-	* tree-vrp.c (remove_range_assertions): Do not propagate
-	a constant to abnormals but replace the assert with a copy.
-
-2017-09-19  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR rtl-optimization/57878
-	PR rtl-optimization/68988
-	* lra-assigns.c (reload_pseudo_compare_func): Remove fragmentation
-	avoidance test involving non_reload_pseudos.  Move frequency test
-	below the general fragmentation avoidance test.
-
-2017-09-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69728
-	* graphite-sese-to-poly.c (schedule_error): New global.
-	(add_loop_schedule): Handle empty domain by failing the
-	schedule.
-	(build_original_schedule): Handle schedule_error.
-
-2017-09-19  Richard Biener  <rguenther@suse.de>
-
-	* graphite-scop-detection.c (scop_detection::can_represent_loop):
-	Do not iterate to sibling loops but only to siblings of inner
-	loops.
-
-2017-09-18  Andreas Schwab  <schwab@linux-m68k.org>
-
-	PR target/81613
-	* config/m68k/m68k.md (moveq feeding equality comparison): Check
-	that the registers are different.
-
-2017-09-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H
-	to processor_model and "amdfam17h" to arch_names_table.
-	* doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name.
-
-2017-09-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/82234
-	* doc/extend.texi: Add @findex entry for __builtin_shuffle.
-
-2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vectorizer.h (vect_slp_analyze_operations): Replace parameters
-	with a vec_info *.
-	* tree-vect-loop.c (vect_analyze_loop_operations): Update call
-	accordingly.
-	* tree-vect-slp.c (vect_slp_analyze_node_operations): Add vec_info *
-	parameter.  Set SLP_TREE_NUMBER_OF_VEC_STMTS here rather than in
-	vect_schedule_slp_instance.
-	(vect_slp_analyze_operations): Replace parameters with a vec_info *.
-	Update call to vect_slp_analyze_node_operations.  Simplify return
-	value.
-	(vect_slp_analyze_bb_1): Update call accordingly.
-	(vect_schedule_slp_instance): Remove vectorization_factor parameter.
-	Don't calculate SLP_TREE_NUMBER_OF_VEC_STMTS here.
-	(vect_schedule_slp): Update call accordingly.
-
-2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Cope
-	with types that aren't in fact scalar.
-
-2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vect-slp.c (vect_record_max_nunits): New function,
-	split out from...
-	(vect_build_slp_tree_1): ...here.
-	(vect_build_slp_tree_2): Call it for phis too.
-
-2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vect-stmts.c (vectorizable_mask_load_store): Pass mask_vectype
-	to vect_get_vec_def_for_operand when getting the mask operand.
-
-2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vect-loop.c (vectorizable_live_operation): Fix type of
-	bitstart.
-
-2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vect-loop.c (vectorizable_live_operation): Fix element size
-	calculation for vector booleans.
-
-2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vect-stmts.c (can_vectorize_live_stmts): New function,
-	split out from...
-	(vect_transform_stmt): ...here.
-	(vect_analyze_stmt): Use it instead of calling
-	vectorizable_live_operation directly.
-
-2017-09-18  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* omp-offload.c (oacc_xform_loop): Enable SIMD vectorization on
-	non-SIMT targets in acc vector loops.
-
-2017-09-18  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* configure.ac: Add arc and check if assembler supports gdwarf2.
-	* configure: Regenerate.
-
-2017-09-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82220
-	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Exclude
-	epilogue niters from the min_profitable_iters compute.
-
-2017-09-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82145
-	* config/i386/i386.c (ix86_init_large_pic_reg): Revert 2017-09-01
-	changes.  Turn CODE_LABEL into NOTE_INSN_DELETED_LABEL immediately.
-	(ix86_init_pic_reg): Revert 2017-09-01 changes.
-
-2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/81361
-	* dwarf2cfi.c (add_cfis_to_fde): Do not generate DW_CFA_set_loc after
-	switching to a new text section.
-
-2017-09-18  Richard Biener  <rguenther@suse.de>
-
-	* graphite-scop-detection.c (scop_detection::stmt_has_simple_data_ref):
-	Simplify.
-	(build_alias_set): Reject aliases with no access function.
-
-2017-09-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79622
-	* graphite-scop-detection.c (build_cross_bb_scalars_def): Properly
-	handle PHIs.
-	(build_cross_bb_scalars_use): Likewise.
-
-2017-09-18  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* cgraph.h (cgraph_thunk_info): Fix a typo in a comment.
-
-2017-09-18  Alan Modra  <amodra@gmail.com>
-
-	PR target/81996
-	* gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
-	stack_pointer_rtx for count 0.  Update comments.  Break up
-	large rtl expression.
-
-2017-09-17  Daniel Santos  <daniel.santos@pobox.com>
-
-	* config/i386/i386.c (xlogue_layout::STUB_NAME_MAX_LEN):
-	Increase to 20 bytes.
-	(xlogue_layout::s_stub_names): Add an additional size-2 diminsion.
-	(xlogue_layout::get_stub_name): Modify to select the appropairate sse
-	or avx version of the stub.
-
-2017-09-17  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/82166
-	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Properly
-	compute the minimum stack alignment.  Also update preferred stack
-	boundary for leaf functions.
-
-2017-09-16  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/82228
-	* tree-vect-loop.c (vectorizable_live_operation): Move initialization
-	of ncopies.
-
-2017-09-16  Chung-Ju Wu  <jasonwucj@gmail.com>
-
-	* common/config/nds32/nds32-common.c
-	(nds32_option_optimization_table): Refine formatting.
-	(nds32_option_optimization_table): Use -fsched-pressure and
-	-fomit-frame-pointer for specific optimization level.
-
-2017-09-16  Chung-Ju Wu  <jasonwucj@gmail.com>
-
-	* config/nds32/nds32.c: Refine formatting and comments.
-	* config/nds32/nds32.h: Likewise.
-	* config/nds32/nds32.md: Likewise.
-	* config/nds32/nds32-cost.c: Likewise.
-	* config/nds32/nds32-isr.c: Likewise.
-	* config/nds32/nds32-md-auxiliary.c: Likewise.
-	* config/nds32/nds32-multiple.md: Likewise.
-	* config/nds32/nds32-predicates.c: Likewise.
-
-2017-09-15  Andrew Sutton  <andrew.n.sutton@gmail.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	Add support for -std=c++2a.
-	* doc/cpp.texi (__cplusplus): Document value for -std=c++2a
-	or -std=gnu+2a.
-	* doc/invoke.texi: Document -std=c++2a and -std=gnu++2a.
-
-2017-09-15  Steve Ellcey  <sellcey@cavium.com>
-
-	PR target/82066
-	* doc/extend.texi (Common Function Attributes): Add 
-	references to ARM, AArch64, and S/390 specific attributes.
-	(Function Specific Option Pragmas): Add AArch64 and S/390
-	to list of back ends that support the target pragma.
-
-2017-09-15  Nathan Sidwell  <nathan@acm.org>
-
-	* doc/standards.texi: Fix C++17 description.  Update URLs for
-	C++11 & 14.
-
-2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* common.opt (Wcast-align=strict): New warning option.
-	* doc/invoke.texi: Document -Wcast-align=strict. 
-
-2017-09-15  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* cgraph.h (cgraph_thunk_info): Add comments.
-	* cgraph.c (cgraph_node::create_thunk): Adjust comment, make
-	assert for VIRTUAL_* arguments stricter.
-
-2017-09-15  Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	PR tree-optimization/71026
-	* match.pd: Move RDIV patterns from fold-const.c
-	* fold-const.c (distribute_real_division): Removed.
-	(fold_binary_loc): Remove calls to distribute_real_divison.
-
-2017-09-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document
-	c++1z and gnu++1z as deprecated.  Change other references to
-	-std=c++1z to -std=c++17 and -std=gnu++1z to -std=gnu++17.
-	Change -Wc++1z-compat to -Wc++17-compat.
-	* doc/cpp.texi: Document -std=c++17 defines __cplusplus 201703L.
-	* dwarf2out.c (highest_c_language): Handle C++17.
-	(gen_compile_unit_die): Likewise.
-
-2017-09-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/82192
-	* combine.c (make_extraction): Don't look through non-paradoxical
-	SUBREGs or TRUNCATE if pos + len is or might be bigger than
-	inner's mode.
-
-2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (function_arg_offset): New hook.
-	* targhooks.h (default_function_arg_offset): Declare.
-	* targhooks.c (default_function_arg_offset): New function.
-	* function.c (locate_and_pad_parm): Use
-	targetm.calls.function_arg_offset instead of FUNCTION_ARG_OFFSET.
-	* doc/tm.texi.in (FUNCTION_ARG_OFFSET): Replace with...
-	(TARGET_FUNCTION_ARG_OFFSET): ...this.
-	* doc/tm.texi: Regenerate.
-	* config/spu/spu.h (FUNCTION_ARG_OFFSET): Delete.
-	* config/spu/spu.c (spu_function_arg_offset): New function.
-	(TARGET_FUNCTION_ARG_OFFSET): Redefine.
-	* system.h (FUNCTION_ARG_OFFSET): Poison.
-
-2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayard  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (truly_noop_truncation): New hook.
-	(mode_rep_extended): Refer to TARGET_TRULY_NOOP_TRUNCATION rather
-	than TRULY_NOOP_TRUNCATION.
-	* hooks.h (hook_bool_uint_uint_true): Declare.
-	* hooks.c (hook_bool_uint_uint_true): New function.
-	* doc/tm.texi.in (TRULY_NOOP_TRUNCATION): Replace with...
-	(TARGET_TRULY_NOOP_TRUNCATION): ...this.
-	* doc/tm.texi: Regenerate.
-	* combine.c (make_extraction): Refer to TARGET_TRULY_NOOP_TRUNCATION
-	rather than TRULY_NOOP_TRUNCATION in comments.
-	(simplify_comparison): Likewise.
-	(record_truncated_value): Likewise.
-	* expmed.c (extract_bit_field_1): Likewise.
-	(extract_split_bit_field): Likewise.
-	* convert.c (convert_to_integer_1): Use targetm.truly_noop_truncation
-	instead of TRULY_NOOP_TRUNCATION.
-	* function.c (assign_parm_setup_block): Likewise.
-	* machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): Likewise.
-	* rtlhooks.c: Include target.h.
-	* config/aarch64/aarch64.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/alpha/alpha.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/arc/arc.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/arm/arm.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/avr/avr.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/bfin/bfin.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/c6x/c6x.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/cr16/cr16.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/cris/cris.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/epiphany/epiphany.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/fr30/fr30.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/frv/frv.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/ft32/ft32.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/h8300/h8300.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/i386/i386.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/ia64/ia64.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/iq2000/iq2000.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/lm32/lm32.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/m32c/m32c.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/m32r/m32r.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/m68k/m68k.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/mcore/mcore.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/microblaze/microblaze.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/mips/mips.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/mips/mips.c (mips_truly_noop_truncation): New function.
-	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
-	* config/mips/mips.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
-	rather than TRULY_NOOP_TRUNCATION in comments.
-	* config/mmix/mmix.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/mn10300/mn10300.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/moxie/moxie.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/msp430/msp430.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/nds32/nds32.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/nios2/nios2.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/nvptx/nvptx.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/pa/pa.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/pdp11/pdp11.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/powerpcspe/powerpcspe.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/riscv/riscv.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/riscv/riscv.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
-	rather than TRULY_NOOP_TRUNCATION in comments.
-	* config/rl78/rl78.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/rs6000/rs6000.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/rx/rx.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/s390/s390.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/sh/sh.h (MAYBE_BASE_REGISTER_RTX_P): Remove
-	TRULY_NOOP_TRUNCATION condition.
-	(MAYBE_INDEX_REGISTER_RTX_P): Likewise.
-	(TRULY_NOOP_TRUNCATION): Delete.
-	* config/sparc/sparc.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/spu/spu.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/spu/spu.c (spu_truly_noop_truncation): New function.
-	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
-	* config/stormy16/stormy16.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/tilegx/tilegx.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/tilegx/tilegx.c (tilegx_truly_noop_truncation): New fuction.
-	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
-	* config/tilegx/tilegx.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
-	rather than TRULY_NOOP_TRUNCATION in comments.
-	* config/tilepro/tilepro.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/v850/v850.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/vax/vax.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/visium/visium.h (TRULY_NOOP_TRUNCATION): Delete.
-	* config/xtensa/xtensa.h (TRULY_NOOP_TRUNCATION): Delete.
-	* system.h (TRULY_NOOP_TRUNCATION): Poison.
-
-2017-09-15  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	PR target/67591
-	* config/arm/arm.md (*cmp_and): Add enabled_for_depr_it attribute.
-	(*cmp_ior): Likewise.
-	(*ior_scc_scc): Add alternative for enabled_for_depr_it attribute.
-	(*ior_scc_scc_cmp): Likewise.
-	(*and_scc_scc): Likewise.
-	(*and_scc_scc_cmp): Likewise.
-
-2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayard  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (can_change_mode_class): New hook.
-	(mode_rep_extended): Refer to it instead of CANNOT_CHANGE_MODE_CLASS.
-	(hard_regno_nregs): Likewise.
-	* hooks.h (hook_bool_mode_mode_reg_class_t_true): Declare.
-	* hooks.c (hook_bool_mode_mode_reg_class_t_true): New function.
-	* doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Replace with...
-	(TARGET_CAN_CHANGE_MODE_CLASS): ...this.
-	(LOAD_EXTEND_OP): Update accordingly.
-	* doc/tm.texi: Regenerate.
-	* doc/rtl.texi: Refer to TARGET_CAN_CHANGE_MODE_CLASS instead of
-	CANNOT_CHANGE_MODE_CLASS.
-	* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Replace with...
-	(REG_CAN_CHANGE_MODE_P): ...this new macro.
-	* combine.c (simplify_set): Update accordingly.
-	* emit-rtl.c (validate_subreg): Likewise.
-	* recog.c (general_operand): Likewise.
-	* regcprop.c (mode_change_ok): Likewise.
-	* reload1.c (choose_reload_regs): Likewise.
-	(inherit_piecemeal_p): Likewise.
-	* rtlanal.c (simplify_subreg_regno): Likewise.
-	* postreload.c (reload_cse_simplify_set): Use REG_CAN_CHANGE_MODE_P
-	instead of CANNOT_CHANGE_MODE_CLASS.
-	(reload_cse_simplify_operands): Likewise.
-	* reload.c (push_reload): Use targetm.can_change_mode_class
-	instead of CANNOT_CHANGE_MODE_CLASS.
-	(push_reload): Likewise.  Also use REG_CAN_CHANGE_MODE_P instead of
-	REG_CANNOT_CHANGE_MODE_P.
-	* config/alpha/alpha.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/alpha/alpha.c (alpha_can_change_mode_class): New function.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	* config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/arm/arm.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(arm_can_change_mode_class): New function.
-	* config/arm/neon.md: Refer to TARGET_CAN_CHANGE_MODE_CLASS rather
-	than CANNOT_CHANGE_MODE_CLASS in comments.
-	* config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/i386/i386-protos.h (ix86_cannot_change_mode_class): Delete.
-	* config/i386/i386.c (ix86_cannot_change_mode_class): Replace with...
-	(ix86_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/ia64/ia64.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(ia64_can_change_mode_class): New function.
-	* config/m32c/m32c.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/m32c/m32c-protos.h (m32c_cannot_change_mode_class): Delete.
-	* config/m32c/m32c.c (m32c_cannot_change_mode_class): Replace with...
-	(m32c_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	* config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/mips/mips-protos.h (mips_cannot_change_mode_class): Delete.
-	* config/mips/mips.c (mips_cannot_change_mode_class): Replace with...
-	(mips_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	* config/msp430/msp430.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/msp430/msp430.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(msp430_can_change_mode_class): New function.
-	* config/nvptx/nvptx.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/nvptx/nvptx.c (nvptx_can_change_mode_class): New function.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	* config/pa/pa32-regs.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/pa/pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/pa/pa-protos.h (pa_cannot_change_mode_class): Delete.
-	* config/pa/pa.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(pa_cannot_change_mode_class): Replace with...
-	(pa_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	(pa_modes_tieable_p): Refer to TARGET_CAN_CHANGE_MODE_CLASS rather
-	than CANNOT_CHANGE_MODE_CLASS in comments.
-	* config/pdp11/pdp11.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class): Delete.
-	* config/pdp11/pdp11.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(pdp11_cannot_change_mode_class): Replace with...
-	(pdp11_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	* config/powerpcspe/powerpcspe.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/powerpcspe/powerpcspe-protos.h
-	(rs6000_cannot_change_mode_class_ptr): Delete.
-	* config/powerpcspe/powerpcspe.c
-	(rs6000_cannot_change_mode_class_ptr): Delete.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(rs6000_option_override_internal): Assign to
-	targetm.can_change_mode_class instead of
-	rs6000_cannot_change_mode_class_ptr.
-	(rs6000_cannot_change_mode_class): Replace with...
-	(rs6000_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	(rs6000_debug_cannot_change_mode_class): Replace with...
-	(rs6000_debug_can_change_mode_class): ...this new function.
-	* config/riscv/riscv.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/riscv/riscv.c (riscv_can_change_mode_class): New function.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/rs6000/rs6000-protos.h (rs6000_cannot_change_mode_class_ptr):
-	Delete.
-	* config/rs6000/rs6000.c (rs6000_cannot_change_mode_class_ptr): Delete.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(rs6000_option_override_internal): Assign to
-	targetm.can_change_mode_class instead of
-	rs6000_cannot_change_mode_class_ptr.
-	(rs6000_cannot_change_mode_class): Replace with...
-	(rs6000_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	(rs6000_debug_cannot_change_mode_class): Replace with...
-	(rs6000_debug_can_change_mode_class): ...this new function.
-	* config/s390/s390.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/s390/s390-protos.h (s390_cannot_change_mode_class): Delete.
-	* config/s390/s390.c (s390_cannot_change_mode_class): Replace with...
-	(s390_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	* config/sh/sh.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/sh/sh-protos.h (sh_cannot_change_mode_class): Delete.
-	* config/sh/sh.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(sh_cannot_change_mode_class): Replace with...
-	(sh_can_change_mode_class): ...this new function, inverting the
-	sense of the return value.
-	* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/sparc/sparc.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(sparc_can_change_mode_class): New function.
-	* config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/spu/spu.c (spu_can_change_mode_class): New function.
-	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	* config/visium/visium.h (CANNOT_CHANGE_MODE_CLASS): Delete.
-	* config/visium/visium.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
-	(visium_can_change_mode_class): New function.
-	* system.h (CANNOT_CHANGE_MODE_CLASS): Poison.
-
-2017-09-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82217
-	* tree-ssa-sccvn.c (visit_phi): Properly handle all VN_TOP
-	but not undefined case.
-
-2017-09-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82145
-	* postreload.c (reload_cse_simplify_operands): Skip
-	NOTE_INSN_DELETED_LABEL similarly to skipping CODE_LABEL.
-
-2017-09-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/68823
-	* graphite-scop-detection.c (build_alias_set): If we have a
-	possible dependence check whether we can handle them by just
-	looking at the DRs DR_ACCESS_FNs.
-	(build_scops): If build_alias_set fails, fail the SCOP.
-
-2017-09-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_1_HW): New macros
-	to support float128 built-in functions that require the ISA 3.0
-	hardware.
-	(BU_FLOAT128_3_HW): Likewise.
-	(SQRTF128): Add support for the IEEE 128-bit square root and fma
-	built-in functions.
-	(FMAF128): Likewise.
-	(FMAQ): Likewise.
-	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
-	support for built-in functions that need the ISA 3.0 IEEE 128-bit
-	floating point instructions.
-	(rs6000_invalid_builtin): Likewise.
-	(rs6000_builtin_mask_names): Likewise.
-	* config/rs6000/rs6000.h (MASK_FLOAT128_HW): Likewise.
-	(RS6000_BTM_FLOAT128_HW): Likewise.
-	(RS6000_BTM_COMMON): Likewise.
-	* config/rs6000/rs6000.md (fma<mode>4_hw): Add a generator
-	function.
-	* doc/extend.texi (RS/6000 built-in functions): Document the
-	IEEE 128-bit floating point square root and fused multiply-add
-	built-in functions.
-
-2017-09-14  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_set_up_by_prologue): Make sure the TOC
-	reg (r2) isn't in the set of registers defined in the prologue.
-
-2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vectorizer.h (_loop_vec_info): Add max_vectorization_factor.
-	(LOOP_VINFO_MAX_VECT_FACTOR): New macro.
-	(LOOP_VINFO_ORIG_VECT_FACTOR): Replace with...
-	(LOOP_VINFO_ORIG_MAX_VECT_FACTOR): ...this new macro.
-	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Update
-	accordingly.
-	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
-	max_vectorization_factor.
-	(vect_analyze_loop_2): Set LOOP_VINFO_MAX_VECT_FACTOR.
-
-2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vectorizer.h (vect_min_worthwhile_factor): Delete.
-	(vect_worthwhile_without_simd_p): Declare.
-	* tree-vect-loop.c (vect_worthwhile_without_simd_p): New function.
-	(vectorizable_reduction): Use it.
-	* tree-vect-stmts.c (vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-
-2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vectorizer.h (vect_get_num_copies): New function.
-	* tree-vect-data-refs.c (vect_get_data_access_cost): Use it.
-	* tree-vect-loop.c (vectorizable_reduction): Likewise.
-	(vectorizable_induction): Likewise.
-	(vectorizable_live_operation): Likewise.
-	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
-	(vectorizable_bswap): Likewise.
-	(vectorizable_call): Likewise.
-	(vectorizable_conversion): Likewise.
-	(vectorizable_assignment): Likewise.
-	(vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_store): Likewise.
-	(vectorizable_load): Likewise.
-	(vectorizable_condition): Likewise.
-	(vectorizable_comparison): Likewise.
-	(vect_analyze_stmt): Pass the slp node to vectorizable_live_operation.
-
-2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-vect-loop.c (vectorizable_induction): Use gimple_build instead
-	of vect_init_vector.
-
-2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gimple-fold.h (gimple_build_vector_from_val): Declare, and provide
-	an inline wrapper that provides a location.
-	(gimple_build_vector): Likewise.
-	* gimple-fold.c (gimple_build_vector_from_val): New function.
-	(gimple_build_vector): Likewise.
-	* tree-vect-loop.c (get_initial_def_for_reduction): Use the new
-	functions to build the initial value.  Always return a gimple value.
-	(get_initial_defs_for_reduction): Likewise.  Only compute
-	neutral_vec once.
-	(vect_create_epilog_for_reduction): Don't call force_gimple_operand or
-	vect_init_vector on the results from get_initial_def(s)_for_reduction.
-	(vectorizable_induction): Use gimple_build_vector rather than
-	vect_init_vector.
-
-2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.h (vec_perm_indices): New typedef.
-	(auto_vec_perm_indices): Likewise.
-	* optabs-query.h: Include target.h
-	(can_vec_perm_p): Take a vec_perm_indices *.
-	* optabs-query.c (can_vec_perm_p): Likewise.
-	(can_mult_highpart_p): Update accordingly.  Use auto_vec_perm_indices.
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
-	* tree-vect-generic.c (lower_vec_perm): Likewise.
-	* tree-vect-data-refs.c (vect_grouped_store_supported): Likewise.
-	(vect_grouped_load_supported): Likewise.
-	(vect_shift_permute_load_chain): Likewise.
-	(vect_permute_store_chain): Use auto_vec_perm_indices.
-	(vect_permute_load_chain): Likewise.
-	* fold-const.c (fold_vec_perm): Take vec_perm_indices.
-	(fold_ternary_loc): Update accordingly.  Use auto_vec_perm_indices.
-	Update uses of can_vec_perm_p.
-	* tree-vect-loop.c (calc_vec_perm_mask_for_shift): Replace the
-	mode with a number of elements.  Take a vec_perm_indices *.
-	(vect_create_epilog_for_reduction): Update accordingly.
-	Use auto_vec_perm_indices.
-	(have_whole_vector_shift): Likewise.  Update call to can_vec_perm_p.
-	* tree-vect-slp.c (vect_build_slp_tree_1): Likewise.
-	(vect_transform_slp_perm_load): Likewise.
-	(vect_schedule_slp_instance): Use auto_vec_perm_indices.
-	* tree-vectorizer.h (vect_gen_perm_mask_any): Take a vec_perm_indices.
-	(vect_gen_perm_mask_checked): Likewise.
-	* tree-vect-stmts.c (vect_gen_perm_mask_any): Take a vec_perm_indices.
-	(vect_gen_perm_mask_checked): Likewise.
-	(vectorizable_mask_load_store): Use auto_vec_perm_indices.
-	(vectorizable_store): Likewise.
-	(vectorizable_load): Likewise.
-	(perm_mask_for_reverse): Likewise.  Update call to can_vec_perm_p.
-	(vectorizable_bswap): Likewise.
-
-2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (build_vector): Take a vec<tree> instead of a tree *.
-	* tree.c (build_vector): Likewise.
-	(build_vector_from_ctor): Update accordingly.
-	(build_vector_from_val): Likewise.
-	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
-	* tree-vect-generic.c (add_rshift): Likewise.
-	(expand_vector_divmod): Likewise.
-	(optimize_vector_constructor): Likewise.
-	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
-	(vect_transform_slp_perm_load): Likewise.
-	(vect_schedule_slp_instance): Likewise.
-	* tree-vect-stmts.c (vectorizable_bswap): Likewise.
-	(vectorizable_call): Likewise.
-	(vect_gen_perm_mask_any): Likewise.  Add elements in order.
-	* expmed.c (make_tree): Likewise.
-	* fold-const.c (fold_negate_expr_1): Use auto_vec<tree> when building
-	a vector passed to build_vector.
-	(fold_convert_const): Likewise.
-	(exact_inverse): Likewise.
-	(fold_ternary_loc): Likewise.
-	(fold_relational_const): Likewise.
-	(const_binop): Likewise.  Use VECTOR_CST_ELT directly when operating
-	on VECTOR_CSTs, rather than going through vec_cst_ctor_to_array.
-	(const_unop): Likewise.  Store the reduction accumulator in a
-	variable rather than an array.
-	(vec_cst_ctor_to_array): Take the number of elements as a parameter.
-	(fold_vec_perm): Update calls accordingly.  Use auto_vec<tree> for
-	the new vector, rather than constructing it after the input arrays.
-	(native_interpret_vector): Use auto_vec<tree> when building
-	a vector passed to build_vector.  Add elements in order.
-	* tree-vect-loop.c (get_initial_defs_for_reduction): Use
-	auto_vec<tree> when building a vector passed to build_vector.
-	(vect_create_epilog_for_reduction): Likewise.
-	(vectorizable_induction): Likewise.
-	(get_initial_def_for_reduction): Likewise.  Fix indentation of
-	case statements.
-	* config/sparc/sparc.c (sparc_handle_vis_mul8x16): Change n_elts
-	to a vec<tree> *.
-	(sparc_fold_builtin): Use auto_vec<tree> when building a vector
-	passed to build_vector.
-
-2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-core.h (tree_base::u): Add an "nelts" field.
-	(tree_vector): Use VECTOR_CST_NELTS as the length.
-	* tree.c (tree_size): Likewise.
-	(make_vector): Initialize VECTOR_CST_NELTS.
-	* tree.h (VECTOR_CST_NELTS): Use the u.nelts field.
-	* cfgexpand.c (expand_debug_expr): Use VECTOR_CST_NELTS instead of
-	TYPE_VECTOR_SUBPARTS.
-	* expr.c (const_vector_mask_from_tree): Consistently use "units"
-	as the number of units, setting it from VECTOR_CST_NELTS.
-	(const_vector_from_tree): Likewise.
-	* fold-const.c (negate_expr_p): Use VECTOR_CST_NELTS instead of
-	TYPE_VECTOR_SUBPARTS for the number of elements in a VECTOR_CST.
-	(fold_negate_expr_1): Likewise.
-	(fold_convert_const): Likewise.
-	(const_binop): Likewise.  Differentiate the number of output and
-	input elements.
-	(const_unop): Likewise.
-	(fold_ternary_loc): Use VECTOR_CST_NELTS for the number of elements
-	in a VECTOR_CST, asserting that it is the same as TYPE_VECTOR_SUBPARTS
-	in cases that did the opposite.
-
-2017-09-14  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-sccvn.c (visit_phi): Merge undefined values similar
-	to VN_TOP.
-
-2017-09-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* dwarf2out.c (dwarf2out_source_line): Remove superfluous test.
-
-2017-09-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81325
-	* cfgbuild.c (find_bb_boundaries): Ignore debug insns in decisions
-	if and where to split a bb, except for splitting before debug insn
-	sequences followed by non-label real insn.  Delete debug insns
-	in between basic blocks.
-
-	* combine.c (make_compound_operation_int): Formatting fixes.
-
-	* config/alpha/elf.h (LINK_EH_SPEC): Add -static-pie support.
-	* config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
-	* config/netbsd.h (LINK_EH_SPEC): Likewise.
-	* config/sol2.h (LINK_EH_SPEC): Likewise.
-	* config/arm/uclinux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
-	* config/s390/linux.h (LINK_SPEC): Likewise.
-	* config/freebsd.h (LINK_EH_SPEC): Likewise.
-	* config/openbsd.h (LINK_EH_SPEC): Likewise.
-	* config/lm32/uclinux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
-	* config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Likewise.
-	* config/powerpcspe/sysv4.h (LINK_EH_SPEC): Likewise.
-	* config/bfin/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
-	* config/i386/gnu-user64.h (GNU_USER_TARGET_LINK_SPEC): Fix a typo.
-	* config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): Formatting fix.
-
-2017-09-13  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Add -static-pie
-	support.
-	(ENDFILE_LINUX_SPEC): Likewise.
-	(LINK_EH_SPEC): Likewise.
-	* config/rs6000/linux64.h (LINK_SHLIB_SPEC): Likewise.
-	(LINK_OS_LINUX_SPEC32): Likewise.
-	(LINK_OS_LINUX_SPEC64): Likewise.
-	* config/rs6000/linux.h (LINK_SHLIB_SPEC): Likewise.
-	(LINK_OS_LINUX_SPEC): Likewise.
-
-2017-09-13  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/82154
-	* stmt.c (expand_sjlj_dispatch_table): Use CASE_LOW when
-	CASE_HIGH is NULL_TREE.
-
-2017-09-13  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (secondary_memory_needed): New hook.
-	(secondary_reload): Refer to TARGET_SECONDARY_MEMORY_NEEDED
-	instead of SECONDARY_MEMORY_NEEDED.
-	(secondary_memory_needed_mode): Likewise.
-	* hooks.h (hook_bool_mode_reg_class_t_reg_class_t_false): Declare.
-	* hooks.c (hook_bool_mode_reg_class_t_reg_class_t_false): New function.
-	* doc/tm.texi.in (SECONDARY_MEMORY_NEEDED): Replace with...
-	(TARGET_SECONDARY_MEMORY_NEEDED): ...this.
-	(SECONDARY_MEMORY_NEEDED_RTX): Update reference accordingly.
-	* doc/tm.texi: Regenerate.
-	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/alpha/alpha.c (alpha_secondary_memory_needed): New function.
-	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	* config/i386/i386.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/i386/i386-protos.h (ix86_secondary_memory_needed): Delete.
-	* config/i386/i386.c (inline_secondary_memory_needed): Put the
-	mode argument first and change the reg_class arguments to reg_class_t.
-	(ix86_secondary_memory_needed): Likewise.  Remove the strict parameter.
-	Make static.  Update the call to inline_secondary_memory_needed.
-	(ix86_register_move_cost): Update the call to
-	inline_secondary_memory_needed.
-	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	* config/ia64/ia64.h (SECONDARY_MEMORY_NEEDED): Delete commented-out
-	definition.
-	* config/ia64/ia64.c (spill_xfmode_rfmode_operand): Refer to
-	TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED
-	in comment.
-	* config/mips/mips.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/mips/mips-protos.h (mips_secondary_memory_needed): Delete.
-	* config/mips/mips.c (mips_secondary_memory_needed): Make static
-	and match hook interface.  Add comment from mips.h.
-	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	* config/mmix/mmix.md (truncdfsf2): Refer to
-	TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED
-	in comment.
-	* config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED): Rename to...
-	(PA_SECONDARY_MEMORY_NEEDED): ...this, and put the mode argument first.
-	* config/pa/pa.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	(pa_secondary_memory_needed): New function.
-	* config/pdp11/pdp11.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/pdp11/pdp11-protos.h (pdp11_secondary_memory_needed): Delete.
-	* config/pdp11/pdp11.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	(pdp11_secondary_memory_needed): Make static and match hook interface.
-	* config/powerpcspe/powerpcspe.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/powerpcspe/powerpcspe-protos.h
-	(rs6000_secondary_memory_needed_ptr): Delete.
-	* config/powerpcspe/powerpcspe.c (rs6000_secondary_memory_needed_ptr):
-	Delete.
-	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	(rs6000_option_override_internal): Assign to
-	targetm.secondary_memory_needed rather than
-	rs6000_secondary_memory_needed_ptr.
-	(rs6000_secondary_memory_needed): Match hook interface.
-	(rs6000_debug_secondary_memory_needed): Likewise.
-	* config/riscv/riscv.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/riscv/riscv.c (riscv_secondary_memory_needed): New function.
-	(riscv_register_move_cost): Use it instead of SECONDARY_MEMORY_NEEDED.
-	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_ptr):
-	Delete.
-	* config/rs6000/rs6000.c (rs6000_secondary_memory_needed_ptr): Delete.
-	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	(rs6000_option_override_internal): Assign to
-	targetm.secondary_memory_needed rather than
-	rs6000_secondary_memory_needed_ptr.
-	(rs6000_secondary_memory_needed): Match hook interface.
-	(rs6000_debug_secondary_memory_needed): Likewise.
-	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/s390/s390.c (s390_secondary_memory_needed): New function.
-	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Delete.
-	* config/sparc/sparc.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
-	(sparc_secondary_memory_needed): New function.
-	* lra-constraints.c (check_and_process_move): Refer to
-	TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED
-	in comment.
-	(curr_insn_transform): Likewise.
-	(process_alt_operands): Use targetm.secondary_memory_needed
-	instead of TARGET_SECONDARY_MEMORY_NEEDED.
-	(check_secondary_memory_needed_p): Likewise.
-	(choose_split_class): Likewise.
-	* reload.c: Unconditionally include code that was previously
-	conditional on SECONDARY_MEMORY_NEEDED.
-	(push_secondary_reload): Use targetm.secondary_memory_needed
-	instead of TARGET_SECONDARY_MEMORY_NEEDED.
-	(push_reload): Likewise.
-	* reload1.c: Unconditionally include code that was previously
-	conditional on SECONDARY_MEMORY_NEEDED.
-	(choose_reload_regs): Use targetm.secondary_memory_needed
-	instead of TARGET_SECONDARY_MEMORY_NEEDED.
-	(gen_reload): Likewise.
-	* system.h (SECONDARY_MEMORY_NEEDED): Poison.
-
-2017-09-13  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (secondary_memory_needed_mode): New hook:
-	* targhooks.c (default_secondary_memory_needed_mode): Declare.
-	* targhooks.h (default_secondary_memory_needed_mode): New function.
-	* doc/tm.texi.in (SECONDARY_MEMORY_NEEDED_MODE): Replace with...
-	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): ...this.
-	* doc/tm.texi: Regenerate.
-	* lra-constraints.c (check_and_process_move): Use
-	targetm.secondary_memory_needed_mode instead of
-	TARGET_SECONDARY_MEMORY_NEEDED_MODE.
-	(curr_insn_transform): Likewise.
-	* reload.c (get_secondary_mem): Likewise.
-	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
-	* config/alpha/alpha.c (alpha_secondary_memory_needed_mode): New
-	function.
-	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine.
-	* config/i386/i386.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
-	* config/i386/i386.c (ix86_secondary_memory_needed_mode): New function.
-	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine.
-	* config/powerpcspe/powerpcspe.h (SECONDARY_MEMORY_NEEDED_MODE):
-	Delete.
-	* config/powerpcspe/powerpcspe-protos.h
-	(rs6000_secondary_memory_needed_mode): Delete.
-	* config/powerpcspe/powerpcspe.c
-	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine.
-	(rs6000_secondary_memory_needed_mode): Make static.
-	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
-	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_mode):
-	Delete.
-	* config/rs6000/rs6000.c (TARGET_SECONDARY_MEMORY_NEEDED_MODE):
-	Redefine.
-	(rs6000_secondary_memory_needed_mode): Make static.
-	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
-	* config/s390/s390.c (s390_secondary_memory_needed_mode): New function.
-	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine.
-	* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
-	* config/sparc/sparc.c (TARGET_SECONDARY_MEMORY_NEEDED_MODE):
-	Redefine.
-	(sparc_secondary_memory_needed_mode): New function.
-	* system.h (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Poison.
-
-2017-09-13  Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	* config/aarch64/constraints.md (Umq): New constraint.
-	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>):
-	Change to use Umq.
-	(mov<mode>): Update condition.
-
-2017-09-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* gimple-ssa-store-merging.c (sort_by_bitpos): Compare store order
-	when bitposition is the same.
-
-2017-09-13  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (output_die_symbol): Remove.
-	(output_die): Do not output a DIEs symbol.
-
-2017-09-13  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/82128
-	* gimple-fold.c (gimple_fold_call): Update SSA name in-place to
-	default-def to avoid breaking iterator update with the weird
-	interaction with cgraph_update_edges_for_call_stmt_node.
-
-2017-09-13  Richard Biener  <rguenther@suse.de>
-
-	* tree-cfg.c (verify_gimple_assign_binary): Add verification
-	for WIDEN_SUM_EXPR, VEC_WIDEN_MULT_{HI,LO,EVEN,ODD}_EXPR,
-	VEC_PACK_{TRUNC,SAT,FIX_TRUNC}_EXPR.
-	(verify_gimple_assign_ternary): Add verification for DOT_PROD_EXPR.
-
-2017-09-13  Kugan Vivekanandarajah  <kuganv@linaro.org>
-
-	* config/aarch64/aarch64.c (aarch64_override_options_after_change_1):
-	Disable pc relative literal load irrespective of
-	TARGET_FIX_ERR_A53_84341 for default.
-
-2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.c (output_return): Output the source location of
-	the insn in the delay slot, if any.
-	(output_sibcall): Likewise.
-
-2017-09-12  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR driver/81498
-	* common.opt (-static-pie): New alias.
-	(shared): Negate static-pie.
-	(-no-pie): Update help text.
-	(-pie): Likewise.
-	(static-pie): New option.
-	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add
-	-static-pie support.
-	(GNU_USER_TARGET_ENDFILE_SPEC): Likewise.
-	(LINK_EH_SPEC): Likewise.
-	(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
-	* config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): Likewise.
-	* config/i386/gnu-user64.h (GNU_USER_TARGET_LINK_SPEC): Likewise.
-	* gcc.c (LINK_COMMAND_SPEC): Likewise.
-	(init_gcc_specs): Likewise.
-	(init_spec): Likewise.
-	(display_help): Update help message for -pie.
-	* doc/invoke.texi: Update -pie, -no-pie and -static.  Document
-	-static-pie.
-
-2017-09-12  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (movsi_aarch64): Remove all '*'.
-	(movdi_aarch64): Likewise.
-	(movti_aarch64): Likewise.
-
-2017-09-12 Simon Wright <simon@pushface.org>
-
-	PR target/80204
-	* config/darwin-driver.c (darwin_find_version_from_kernel): Eliminate
-	calculation of the minor version, always output as 0.
-
-2017-09-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82112
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
-	ALTIVEC_BUILTIN_VEC_LD if arg1 has array type call default_conversion
-	on it early, rather than manual conversion late.  For
-	ALTIVEC_BUILTIN_VEC_ST if arg2 has array type call default_conversion
-	instead of performing manual conversion.
-
-2017-09-12  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/altivec.md (vec_widen_umult_even_v4si,
-	vec_widen_smult_even_v4si): Add define expands for vmuleuw, vmulesw,
-	vmulouw, vmulosw.
-	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
-	VMULOSW): Add definitions.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
-	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
-	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
-
-2017-09-12  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.md (movdi_aarch64): Set load/store
-	types correctly.
-	(movti_aarch64): Likewise.
-	(movdf_aarch64): Likewise.
-	(movtf_aarch64): Likewise.
-	(load_pairdi): Likewise.
-	(store_pairdi): Likewise.
-	(load_pairdf): Likewise.
-	(store_pairdf): Likewise.
-	(loadwb_pair<GPI:mode>_<P:mode>): Likewise.
-	(storewb_pair<GPI:mode>_<P:mode>): Likewise.
-	(ldr_got_small_<mode>): Likewise.
-	(ldr_got_small_28k_<mode>): Likewise.
-	(ldr_got_tiny): Likewise.
-	* config/aarch64/iterators.md (ldst_sz): New.
-	(ldpstp_sz): Likewise.
-	* config/aarch64/thunderx.md (thunderx_storepair): Split store_8
-	to store_16.
-	(thunderx_load): Split load_8 to load_16.
-	* config/aarch64/thunderx2t99.md (thunderx2t99_loadpair): Split
-	load_8 to load_16.
-	(thunderx2t99_storepair_basic): Split store_8 to store_16.
-	* config/arm/xgene1.md (xgene1_load_pair): Split load_8 to load_16.
-	(xgene1_store_pair): Split store_8 to store_16.
-	* config/aarch64/falkor.md (falkor_ld_3_ld): Split load_8 to load_16.
-	(falkor_st_0_st_sd): Split store_8 to store_16.
-
-2017-09-12  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/arm/types.md (type): Rename load1/2/3/4 to load_4/8/12/16
-	and store1/2/3/4 to store_4/8/12/16.
-	* config/aarch64/aarch64.md: Update for rename.
-	* config/arm/arm.md: Likewise.: Likewise.
-	* config/arm/arm.c: Likewise.
-	* config/arm/thumb1.md: Likewise.
-	* config/arm/thumb2.md: Likewise.
-	* config/arm/vfp.md: Likewise.
-	* config/arm/arm-generic.md: Likewise.
-	* config/arm/arm1020e.md: Likewise.
-	* config/arm/arm1026ejs.md: Likewise.
-	* config/arm/arm1136jfs.md: Likewise.
-	* config/arm/arm926ejs.md: Likewise.
-	* config/arm/cortex-a15.md: Likewise.
-	* config/arm/cortex-a17.md: Likewise.
-	* config/arm/cortex-a5.md: Likewise.
-	* config/arm/cortex-a53.md: Likewise.
-	* config/arm/cortex-a57.md: Likewise.
-	* config/arm/cortex-a7.md: Likewise.
-	* config/arm/cortex-a8.md: Likewise.
-	* config/arm/cortex-a9.md: Likewise.
-	* config/arm/cortex-m4.md: Likewise.
-	* config/arm/cortex-m7.md: Likewise.
-	* config/arm/cortex-r4.md: Likewise.
-	* config/arm/exynos-m1.md: Likewise.
-	* config/arm/fa526.md: Likewise.
-	* config/arm/fa606te.md: Likewise.
-	* config/arm/fa626te.md: Likewise.
-	* config/arm/fa726te.md: Likewise.
-	* config/arm/fmp626.md: Likewise.
-	* config/arm/iwmmxt.md: Likewise.
-	* config/arm/ldmstm.md: Likewise.
-	* config/arm/marvell-pj4.md: Likewise.
-	* config/arm/xgene1.md: Likewise.
-	* config/aarch64/thunderx.md: Likewise.
-	* config/aarch64/thunderx2t99.md: Likewise.
-	* config/aarch64/falkor.md: Likewise.
-
-2017-09-12  Martin Liska  <mliska@suse.cz>
-
-	* attribs.c (private_lookup_attribute): New function.
-	* attribs.h (private_lookup_attribute): Declared here.
-	(lookup_attribute): Called from this place.
-
-2017-09-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82157
-	* tree-ssa-pre.c (remove_dead_inserted_code): Do not remove
-	stmts with side-effects.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood <david.sherwood@arm.com>
-
-	* target.def (hard_regno_nregs): New hook.
-	(class_max_nregs): Refer to it instead of HARD_REGNO_NREGS.
-	* targhooks.h (default_hard_regno_nregs): Declare.
-	* targhooks.c (default_hard_regno_nregs): New function.
-	* doc/tm.texi.in (HARD_REGNO_NREGS): Replace with...
-	(TARGET_HARD_REGNO_NREGS): ...this hook.
-	(HARD_REGNO_NREGS_HAS_PADDING): Update accordingly.
-	(CLASS_MAX_NREGS): Likewise.
-	* doc/tm.texi: Regenerate.
-	* reginfo.c (init_reg_modes_target): Use targetm.hard_regno_nregs
-	instead of HARD_REGNO_NREGS.
-	* rtl.h (REG_NREGS): Refer to TARGET_HARD_REGNO_NREGS rather than
-	HARD_REGNO_NREGS in the comment.
-	* config/aarch64/aarch64.h (HARD_REGNO_NREGS): Delete.
-	* config/aarch64/aarch64-protos.h (aarch64_hard_regno_nregs): Delete.
-	* config/aarch64/aarch64.c (aarch64_hard_regno_nregs): Make static.
-	Return an unsigned int.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/alpha/alpha.h (HARD_REGNO_NREGS): Delete.
-	* config/arc/arc.h (HARD_REGNO_NREGS): Delete.
-	* config/arc/arc.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(arc_hard_regno_nregs): New function.
-	* config/arm/arm.h (HARD_REGNO_NREGS): Delete.
-	* config/arm/arm.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(arm_hard_regno_nregs): New function.
-	* config/avr/avr.h (HARD_REGNO_NREGS): Delete.
-	* config/bfin/bfin.h (HARD_REGNO_NREGS): Delete.
-	* config/bfin/bfin.c (bfin_hard_regno_nregs): New function.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/c6x/c6x.h (HARD_REGNO_NREGS): Delete.
-	* config/cr16/cr16.h (LONG_REG_P): Use targetm.hard_regno_nregs.
-	(HARD_REGNO_NREGS): Delete.
-	* config/cr16/cr16.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(cr16_hard_regno_nregs): New function.
-	(cr16_memory_move_cost): Use it instead of HARD_REGNO_NREGS.
-	* config/cris/cris.h (HARD_REGNO_NREGS): Delete.
-	* config/cris/cris.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(cris_hard_regno_nregs): New function.
-	* config/epiphany/epiphany.h (HARD_REGNO_NREGS): Delete.
-	* config/fr30/fr30.h (HARD_REGNO_NREGS): Delete.
-	(CLASS_MAX_NREGS): Use targetm.hard_regno_nregs.
-	* config/frv/frv.h (HARD_REGNO_NREGS): Delete.
-	(CLASS_MAX_NREGS): Remove outdated copy of documentation.
-	* config/frv/frv-protos.h (frv_hard_regno_nregs): Delete.
-	* config/frv/frv.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(frv_hard_regno_nregs): Make static.  Take and return an
-	unsigned int.
-	(frv_class_max_nregs): Remove outdated copy of documentation.
-	* config/ft32/ft32.h (HARD_REGNO_NREGS): Delete.
-	* config/h8300/h8300.h (HARD_REGNO_NREGS): Delete.
-	* config/h8300/h8300-protos.h (h8300_hard_regno_nregs): Delete.
-	* config/h8300/h8300.c (h8300_hard_regno_nregs): Delete.
-	* config/i386/i386.h (HARD_REGNO_NREGS): Delete.
-	* config/i386/i386.c (ix86_hard_regno_nregs): New function.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/ia64/ia64.h (HARD_REGNO_NREGS): Delete.
-	(CLASS_MAX_NREGS): Update comment.
-	* config/ia64/ia64.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(ia64_hard_regno_nregs): New function.
-	* config/iq2000/iq2000.h (HARD_REGNO_NREGS): Delete.
-	* config/lm32/lm32.h (HARD_REGNO_NREGS): Delete.
-	* config/m32c/m32c.h (HARD_REGNO_NREGS): Delete.
-	* config/m32c/m32c-protos.h (m32c_hard_regno_nregs): Delete.
-	* config/m32c/m32c.c (m32c_hard_regno_nregs_1): Take and return
-	an unsigned int.
-	(m32c_hard_regno_nregs): Likewise.  Make static.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/m32r/m32r.h (HARD_REGNO_NREGS): Delete.
-	* config/m68k/m68k.h (HARD_REGNO_NREGS): Delete.
-	* config/m68k/m68k.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(m68k_hard_regno_nregs): New function.
-	* config/mcore/mcore.h (HARD_REGNO_NREGS): Delete.
-	* config/microblaze/microblaze.h (HARD_REGNO_NREGS): Delete.
-	* config/mips/mips.h (HARD_REGNO_NREGS): Delete.
-	* config/mips/mips-protos.h (mips_hard_regno_nregs): Delete.
-	* config/mips/mips.c (mips_hard_regno_nregs): Make static.
-	Take and return an unsigned int.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/mmix/mmix.h (HARD_REGNO_NREGS): Delete.
-	(CLASS_MAX_NREGS): Use targetm.hard_regno_nregs.
-	* config/mn10300/mn10300.h (HARD_REGNO_NREGS): Delete.
-	* config/moxie/moxie.h (HARD_REGNO_NREGS): Delete.
-	* config/msp430/msp430.h (HARD_REGNO_NREGS): Delete.
-	* config/msp430/msp430-protos.h (msp430_hard_regno_nregs): Delete.
-	* config/msp430/msp430.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(msp430_hard_regno_nregs): Make static.  Take and return an
-	unsigned int.
-	* config/nds32/nds32.h (HARD_REGNO_NREGS): Delete.
-	* config/nds32/nds32-protos.h (nds32_hard_regno_nregs): Delete.
-	* config/nds32/nds32.c (nds32_hard_regno_nregs): Delete.
-	(nds32_hard_regno_mode_ok): Use targetm.hard_regno_nregs.
-	* config/nios2/nios2.h (HARD_REGNO_NREGS): Delete.
-	* config/nvptx/nvptx.h (HARD_REGNO_NREGS): Delete.
-	* config/nvptx/nvptx.c (nvptx_hard_regno_nregs): New function.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/pa/pa32-regs.h (HARD_REGNO_NREGS): Rename to...
-	(PA_HARD_REGNO_NREGS): ...this.
-	* config/pa/pa64-regs.h (HARD_REGNO_NREGS): Rename to...
-	(PA_HARD_REGNO_NREGS): ...this.
-	* config/pa/pa.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(pa_hard_regno_nregs): New function.
-	* config/pdp11/pdp11.h (HARD_REGNO_NREGS): Delete.
-	* config/pdp11/pdp11.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(pdp11_hard_regno_nregs): New function.
-	* config/powerpcspe/powerpcspe.h (HARD_REGNO_NREGS): Delete.
-	* config/powerpcspe/powerpcspe.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(rs6000_hard_regno_nregs_hook): New function.
-	* config/riscv/riscv.h (HARD_REGNO_NREGS): Delete.
-	* config/riscv/riscv-protos.h (riscv_hard_regno_nregs): Delete.
-	* config/riscv/riscv.c (riscv_hard_regno_nregs): Make static.
-	Take and return an unsigned int.  Move earlier in file.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/rl78/rl78.h (HARD_REGNO_NREGS): Delete.
-	* config/rl78/rl78-protos.h (rl78_hard_regno_nregs): Delete.
-	* config/rl78/rl78.c (TARGET_HARD_REGNO_NREGS): Reefine.
-	(rl78_hard_regno_nregs): Make static.  Take and return an
-	unsigned int.
-	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Delete.
-	* config/rs6000/rs6000.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(rs6000_hard_regno_nregs_hook): New function.
-	* config/rx/rx.h (HARD_REGNO_NREGS): Delete.
-	* config/rx/rx.c (rx_hard_regno_nregs): New function.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/s390/s390.h (HARD_REGNO_NREGS): Delete.
-	* config/s390/s390.c (REGNO_PAIR_OK): Use s390_hard_regno_nregs
-	instead of HARD_REGNO_NREGS.
-	(s390_hard_regno_nregs): New function.
-	(s390_hard_regno_mode_ok): Add comment from s390.h.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/sh/sh.h (HARD_REGNO_NREGS): Delete.
-	* config/sh/sh.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(sh_hard_regno_nregs): New function.
-	(sh_pass_in_reg_p): Use it.
-	* config/sparc/sparc.h (HARD_REGNO_NREGS): Delete.
-	* config/sparc/sparc.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(sparc_hard_regno_nregs): New function.
-	* config/spu/spu.h (HARD_REGNO_NREGS): Delete.
-	* config/spu/spu.c (spu_hard_regno_nregs): New function.
-	(spu_function_arg_advance): Use it, supplying a valid register number.
-	(TARGET_HARD_REGNO_NREGS): Redefine.
-	* config/stormy16/stormy16.h (HARD_REGNO_NREGS): Delete.
-	* config/tilegx/tilegx.h (HARD_REGNO_NREGS): Delete.
-	* config/tilepro/tilepro.h (HARD_REGNO_NREGS): Delete.
-	* config/v850/v850.h (HARD_REGNO_NREGS): Delete.
-	* config/vax/vax.h (HARD_REGNO_NREGS): Delete.
-	* config/visium/visium.h (HARD_REGNO_NREGS): Delete.
-	(CLASS_MAX_NREGS): Remove copy of old documentation.
-	* config/visium/visium.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	(visium_hard_regno_nregs): New function.
-	(visium_hard_regno_mode_ok): Use it instead of HARD_REGNO_NREGS.
-	* config/xtensa/xtensa.h (HARD_REGNO_NREGS): Delete.
-	* config/xtensa/xtensa.c (TARGET_HARD_REGNO_NREGS): Redefine.
-	xtensa_hard_regno_nregs): New function.
-	* system.h (HARD_REGNO_NREGS): Poison.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/arm/arm.h (THUMB_SECONDARY_INPUT_RELOAD_CLASS): Use
-	hard_regno_nregs instead of HARD_REGNO_NREGS.
-	(THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
-	* config/c6x/c6x.c (c6x_expand_prologue): Likewise.
-	(c6x_expand_epilogue): Likewise.
-	* config/frv/frv.c (frv_alloc_temp_reg): Likewise.
-	(frv_read_iacc_argument): Likewise.
-	* config/sh/sh.c: Include regs.h.
-	(sh_print_operand): Use hard_regno_nregs instead of HARD_REGNO_NREGS.
-	(regs_used): Likewise.
-	(output_stack_adjust): Likewise.
-	* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Likewise.
-	* expmed.c: Include regs.h.
-	(store_bit_field_1): Use hard_regno_nregs instead of HARD_REGNO_NREGS.
-	* ree.c: Include regs.h.
-	(combine_reaching_defs): Use hard_regno_nregs instead of
-	HARD_REGNO_NREGS.
-	(add_removable_extension): Likewise.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* regs.h (hard_regno_nregs): Turn into a function.
-	(end_hard_regno): Update accordingly.
-	* caller-save.c (setup_save_areas): Likewise.
-	(save_call_clobbered_regs): Likewise.
-	(replace_reg_with_saved_mem): Likewise.
-	(insert_restore): Likewise.
-	(insert_save): Likewise.
-	* combine.c (can_change_dest_mode): Likewise.
-	(move_deaths): Likewise.
-	(distribute_notes): Likewise.
-	* config/mips/mips.c (mips_hard_regno_call_part_clobbered): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_cannot_change_mode_class)
-	(rs6000_split_multireg_move): Likewise.
-	(rs6000_register_move_cost): Likewise.
-	(rs6000_memory_move_cost): Likewise.
-	* config/rs6000/rs6000.c (rs6000_cannot_change_mode_class): Likewise.
-	(rs6000_split_multireg_move): Likewise.
-	(rs6000_register_move_cost): Likewise.
-	(rs6000_memory_move_cost): Likewise.
-	* cselib.c (cselib_reset_table): Likewise.
-	(cselib_lookup_1): Likewise.
-	* emit-rtl.c (set_mode_and_regno): Likewise.
-	* function.c (aggregate_value_p): Likewise.
-	* ira-color.c (setup_profitable_hard_regs): Likewise.
-	(check_hard_reg_p): Likewise.
-	(calculate_saved_nregs): Likewise.
-	(assign_hard_reg): Likewise.
-	(improve_allocation): Likewise.
-	(calculate_spill_cost): Likewise.
-	* ira-emit.c (modify_move_list): Likewise.
-	* ira-int.h (ira_hard_reg_set_intersection_p): Likewise.
-	(ira_hard_reg_in_set_p): Likewise.
-	* ira.c (setup_reg_mode_hard_regset): Likewise.
-	(clarify_prohibited_class_mode_regs): Likewise.
-	(check_allocation): Likewise.
-	* lra-assigns.c (find_hard_regno_for_1): Likewise.
-	(lra_setup_reg_renumber): Likewise.
-	(setup_try_hard_regno_pseudos): Likewise.
-	(spill_for): Likewise.
-	(assign_hard_regno): Likewise.
-	(setup_live_pseudos_and_spill_after_risky_transforms): Likewise.
-	* lra-constraints.c (in_class_p): Likewise.
-	(lra_constraint_offset): Likewise.
-	(simplify_operand_subreg): Likewise.
-	(lra_constraints): Likewise.
-	(split_reg): Likewise.
-	(split_if_necessary): Likewise.
-	(invariant_p): Likewise.
-	(inherit_in_ebb): Likewise.
-	* lra-lives.c (process_bb_lives): Likewise.
-	* lra-remat.c (reg_overlap_for_remat_p): Likewise.
-	(get_hard_regs): Likewise.
-	(do_remat): Likewise.
-	* lra-spills.c (assign_spill_hard_regs): Likewise.
-	* mode-switching.c (create_pre_exit): Likewise.
-	* postreload.c (reload_combine_recognize_pattern): Likewise.
-	* recog.c (peep2_find_free_register): Likewise.
-	* regcprop.c (kill_value_regno): Likewise.
-	(set_value_regno): Likewise.
-	(copy_value): Likewise.
-	(maybe_mode_change): Likewise.
-	(find_oldest_value_reg): Likewise.
-	(copyprop_hardreg_forward_1): Likewise.
-	* regrename.c (check_new_reg_p): Likewise.
-	(regrename_do_replace): Likewise.
-	* reload.c (push_reload): Likewise.
-	(combine_reloads): Likewise.
-	(find_dummy_reload): Likewise.
-	(operands_match_p): Likewise.
-	(find_reloads): Likewise.
-	(find_equiv_reg): Likewise.
-	(reload_adjust_reg_for_mode): Likewise.
-	* reload1.c (count_pseudo): Likewise.
-	(count_spilled_pseudo): Likewise.
-	(find_reg): Likewise.
-	(clear_reload_reg_in_use): Likewise.
-	(free_for_value_p): Likewise.
-	(allocate_reload_reg): Likewise.
-	(choose_reload_regs): Likewise.
-	(reload_adjust_reg_for_temp): Likewise.
-	(emit_reload_insns): Likewise.
-	(delete_output_reload): Likewise.
-	* rtlanal.c (subreg_get_info): Likewise.
-	* sched-deps.c (sched_analyze_reg): Likewise.
-	* sel-sched.c (init_regs_for_mode): Likewise.
-	(mark_unavailable_hard_regs): Likewise.
-	(choose_best_reg_1): Likewise.
-	(verify_target_availability): Likewise.
-	* valtrack.c (dead_debug_insert_temp): Likewise.
-	* var-tracking.c (track_loc_p): Likewise.
-	(emit_note_insn_var_location): Likewise.
-	* varasm.c (make_decl_rtl): Likewise.
-	* reginfo.c (choose_hard_reg_mode): Likewise.
-	(init_reg_modes_target): Refer directly to
-	this_target_regs->x_hard_regno_nregs.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* ira-costs.c (record_operand_costs): Use in_hard_reg_set_p
-	instead of hard_regno_nregs.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Use
-	end_hard_regno instead of hard_regno_nregs.
-	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
-	* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Likewise.
-	* config/visium/visium.c (visium_hard_regno_mode_ok): Likewise.
-	* ira-color.c (improve_allocation): Likewise.
-	* lra-assigns.c (find_hard_regno_for_1): Likewise.
-	* lra-lives.c (mark_regno_live): Likewise.
-	(mark_regno_dead): Likewise.
-	* lra-remat.c (operand_to_remat): Likewise.
-	* lra.c (collect_non_operand_hard_regs): Likewise.
-	* postreload.c (reload_combine_note_store): Likewise.
-	(move2add_valid_value_p): Likewise.
-	* reload.c (regno_clobbered_p): Likewise.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/frv/frv.c (FOR_EACH_REGNO): Use END_REGNO instead of
-	hard_regno_nregs.
-	* config/v850/v850.c (v850_reorg): Likewise.
-	* reload.c (refers_to_regno_for_reload_p): Likewise.
-	(find_equiv_reg): Likewise.
-	* reload1.c (reload_reg_reaches_end_p): Likewise.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* caller-save.c (add_used_regs): Use REG_NREGS instead of
-	hard_regno_nregs.
-	* config/aarch64/aarch64.c (aarch64_split_combinev16qi): Likewise.
-	* config/arm/arm.c (output_move_neon): Likewise.
-	(arm_attr_length_move_neon): Likewise.
-	(neon_split_vcombine): Likewise.
-	* config/c6x/c6x.c (c6x_mark_reg_read): Likewise.
-	(c6x_mark_reg_written): Likewise.
-	(c6x_dwarf_register_span): Likewise.
-	* config/i386/i386.c (ix86_save_reg): Likewise.
-	* config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise.
-	(rws_access_reg): Likewise.
-	* config/s390/s390.c (s390_call_saved_register_used): Likewise.
-	* mode-switching.c (create_pre_exit): Likewise.
-	* ree.c (combine_reaching_defs): Likewise.
-	(add_removable_extension): Likewise.
-	* regcprop.c (find_oldest_value_reg): Likewise.
-	(copyprop_hardreg_forward_1): Likewise.
-	* reload.c (reload_inner_reg_of_subreg): Likewise.
-	(push_reload): Likewise.
-	(combine_reloads): Likewise.
-	(find_dummy_reload): Likewise.
-	(reload_adjust_reg_for_mode): Likewise.
-	* reload1.c (find_reload_regs): Likewise.
-	(forget_old_reloads_1): Likewise.
-	(reload_reg_free_for_value_p): Likewise.
-	(reload_adjust_reg_for_temp): Likewise.
-	(emit_reload_insns): Likewise.
-	(delete_output_reload): Likewise.
-	* sel-sched.c (choose_best_reg_1): Likewise.
-	(choose_best_pseudo_reg): Likewise.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood <david.sherwood@arm.com>
-
-	* defaults.h (SLOW_UNALIGNED_ACCESS): Delete.
-	* target.def (slow_unaligned_access): New hook.
-	* targhooks.h (default_slow_unaligned_access): Declare.
-	* targhooks.c (default_slow_unaligned_access): New function.
-	* doc/tm.texi.in (SLOW_UNALIGNED_ACCESS): Replace with...
-	(TARGET_SLOW_UNALIGNED_ACCESS): ...this.
-	* doc/tm.texi: Regenerate.
-	* config/alpha/alpha.h (SLOW_UNALIGNED_ACCESS): Delete.
-	* config/arm/arm.h (SLOW_UNALIGNED_ACCESS): Delete.
-	* config/i386/i386.h (SLOW_UNALIGNED_ACCESS): Delete commented-out
-	definition.
-	* config/powerpcspe/powerpcspe.h (SLOW_UNALIGNED_ACCESS): Delete.
-	* config/powerpcspe/powerpcspe.c (TARGET_SLOW_UNALIGNED_ACCESS):
-	Redefine.
-	(rs6000_slow_unaligned_access): New function.
-	(rs6000_emit_move): Use it instead of SLOW_UNALIGNED_ACCESS.
-	(expand_block_compare): Likewise.
-	(expand_strn_compare): Likewise.
-	(rs6000_rtx_costs): Likewise.
-	* config/riscv/riscv.h (SLOW_UNALIGNED_ACCESS): Delete.
-	(riscv_slow_unaligned_access): Likewise.
-	* config/riscv/riscv.c (riscv_slow_unaligned_access): Rename to...
-	(riscv_slow_unaligned_access_p): ...this and make static.
-	(riscv_option_override): Update accordingly.
-	(riscv_slow_unaligned_access): New function.
-	(TARGET_SLOW_UNALIGNED_ACCESS): Redefine.
-	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Delete.
-	* config/rs6000/rs6000.c (TARGET_SLOW_UNALIGNED_ACCESS): Redefine.
-	(rs6000_slow_unaligned_access): New function.
-	(rs6000_emit_move): Use it instead of SLOW_UNALIGNED_ACCESS.
-	(rs6000_rtx_costs): Likewise.
-	* config/rs6000/rs6000-string.c (expand_block_compare)
-	(expand_strn_compare): Use targetm.slow_unaligned_access instead
-	of SLOW_UNALIGNED_ACCESS.
-	* config/tilegx/tilegx.h (SLOW_UNALIGNED_ACCESS): Delete.
-	* config/tilepro/tilepro.h (SLOW_UNALIGNED_ACCESS): Delete.
-	* calls.c (expand_call): Use targetm.slow_unaligned_access instead
-	of SLOW_UNALIGNED_ACCESS.
-	* expmed.c (simple_mem_bitfield_p): Likewise.
-	* expr.c (alignment_for_piecewise_move): Likewise.
-	(emit_group_load_1): Likewise.
-	(emit_group_store): Likewise.
-	(copy_blkmode_from_reg): Likewise.
-	(emit_push_insn): Likewise.
-	(expand_assignment): Likewise.
-	(store_field): Likewise.
-	(expand_expr_real_1): Likewise.
-	* gimple-fold.c (gimple_fold_builtin_memory_op): Likewise.
-	* lra-constraints.c (simplify_operand_subreg): Likewise.
-	* stor-layout.c (bit_field_mode_iterator::next_mode): Likewise.
-	* gimple-ssa-store-merging.c: Likewise in block comment at start
-	of file.
-	* tree-ssa-strlen.c: Include target.h.
-	(handle_builtin_memcmp): Use targetm.slow_unaligned_access instead
-	of SLOW_UNALIGNED_ACCESS.
-	* system.h (SLOW_UNALIGNED_ACCESS): Poison.
-
-2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR rtl-optimization/82185
-	* expmed.c (emit_store_flag_int): Only test tem if it has been
-	initialized.
-
-2017-09-12  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/82149
-	* match.pd ((FTYPE) N CMP CST): Fix typo.
-
-2017-09-12  Simon Atanasyan  <simon.atanasyan@imgtec.com>
-
-	* config/mips/mips.c (mips_attribute_table): Add 'short_call'
-	attribute.
-	(mips_near_type_p): Add 'short_call' attribute as a synonym
-	for 'near'.
-	* doc/extend.texi (short_call): Document new function attribute.
-
-2017-09-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/82112
-	* c-common.c (sync_resolve_size): Instead of c_dialect_cxx ()
-	assertion check that in the condition.
-	(get_atomic_generic_size): Likewise.  Before testing if parameter
-	has pointer type, if it has array type, call for C++
-	default_conversion to perform array-to-pointer conversion.
-
-2017-09-12  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-generic.c (expand_vector_operations_1): Do nothing
-	for operations we cannot scalarize.
-
-2017-09-12  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC
-	vectors heap vectors.  Clean up comments.
-	Make visited_bbs a reference.
-	(profitable_jump_thread_path): Make GC
-	vectors heap vectors.  Clean up comments.
-	Misc cleanups.
-	(convert_and_register_jump_thread_path): Make GC vectors heap
-	vectors.
-	(check_subpath_and_update_thread_path): Same.  Clean up comments.
-	Make visited_bbs a reference.
-	(handle_phi): Abstract common code to to
-	register_jump_thread_path_if_profitable.
-	Rename VAR_BB to DEF_BB.
-	Update comments.
-	Make GC vectors heap vectors.
-	Make visited_bbs a reference.
-	(handle_assignment): Same.
-	(register_jump_thread_path_if_profitable): New.
-	(fsm_find_control_statement_thread_paths): Rename VAR_BB to
-	DEF_BB.
-	Make GC	vectors heap vectors.  Clean up comments.
-	Make visited_bbs a reference.
-	(find_jump_threads_backwards): Make visited_bbs live in the stack.
-	* tree-ssa-threadupdate.c (delete_jump_thread_path): Fix typo in
-	comment.
-
-2017-09-11  Max Filippov  <jcmvbkbc@gmail.com>
-
-	PR target/82181
-	* config/xtensa/xtensa.c (xtensa_mem_offset): Check that both
-	words of E_DImode object are reachable by xtensa_uimm8x4 access.
-
-2017-09-11  Vidya Praveen  <vidyapraveen@arm.com>
-
-	Revert r251800 and r251799.
-
-2017-09-11  Martin Jambor  <mjambor@suse.cz>
-
-	PR hsa/82119
-	* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Process ADDR_EXPRs in
-	arguments in advance.
-	* hsa-regalloc.c (naive_process_phi): New parameter predecessors,
-	use it to find predecessor edges.
-	(naive_outof_ssa): Collect vector of predecessors.
-
-2017-09-08  Jason Merrill  <jason@redhat.com>
-
-	PR c++/70029 - ICE with ref-qualifier and -flto
-	* langhooks.h (struct lang_hooks_for_types): Add
-	copy_lang_qualifiers.
-	* attribs.c (build_type_attribute_qual_variant): Use it.
-	* langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to
-	NULL.
-	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
-	* tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/81988
-	* config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32.
-	(*mulsi3_sp64): New instruction.
-	(mulsi3): New expander.
-
-2017-09-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/alpha/alpha.c (alpha_print_operand) <case 'S'>: Remove.
-
-2017-09-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* sancov.c: Include memmodel.h.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/80897
-	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Deal with too
-	large offsets.
-
-2017-09-07  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/vsx.md (define_insn "*stxvl"): Add missing argument to
-	the sldi instruction.
-
-2017-09-07  David Edelsohn  <dje.gcc@gmail.com>
-
-	* sancov.c: Include tm_p.h.
-
-2017-09-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81979
-	* output.h (switch_to_other_text_partition): New declaration.
-	* varasm.c (switch_to_other_text_partition): New function.
-	* config/rs6000/rs6000.c (uses_TOC): Return 2 if
-	NOTE_INSN_SWITCH_TEXT_SECTIONS is seen before finding load_toc_* insn.
-	(rs6000_elf_declare_function_name): If uses_TOC returned 2, switch
-	to the other text partition before emitting LCL label and switch back
-	after emitting the word after it.
-
-2017-09-07  Richard Biener  <rguenther@suse.de>
-
-	* passes.def (pass_split_crit_edges): Remove instance before PRE.
-	* tree-ssa-pre.c (pass_pre::execute): Instead manually split
-	critical edges here, after loop init.
-	(pass_data_pre): Remove PROP_no_crit_edges flags.
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use vn_valueize
-	for valueization of call args to avoid leaking VN_TOP.
-	(visit_use): Assert we do not visit default defs.
-	(init_scc_vn): Use build_decl for VN_TOP to make name nicer.
-	Use error_mark_node to more easily detect leaking VN_TOP.
-	All default-defs are varying, not VN_TOP.  Mark them visited.
-	(run_scc_vn): Make code match comment.
-
-2017-09-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete
-	OPTION_MASK_FLOAT128_KEYWORD.
-	(POWERPC_MASKS): Likewise.
-	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Delete
-	support for the -mfloat128-type option, and make -mfloat128
-	default on PowerPC Linux systems.  Define or undefine
-	__FLOAT128__ and  __FLOAT128_HARDWARE__ for the current options.
-	Define __float128 to be __ieee128 if IEEE 128-bit support is
-	enabled, or undefine it.
-	(rs6000_cpu_cpp_builtins): Delete defining __FLOAT128__ here.
-	Delete defining __FLOAT128_TYPE__.
-	* config/rs6000/rs6000.opt (x_TARGET_FLOAT128_TYPE): Delete the
-	-mfloat128-type option and make -mfloat128 default on PowerPC
-	Linux systems.
-	(TARGET_FLOAT128_TYPE): Likewise.
-	(-mfloat128-type): Likewise.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal):
-	Delete the -mfloat128-type option and make -mfloat128 default on
-	PowerPC Linux systems.  Always use __ieee128 to be the keyword for
-	the IEEE 128-bit type, and map __float128 to __ieee128 if IEEE
-	128-bit floating point is enabled.  Change tests from using
-	-mfloat128-type to -mfloat128.
-	(rs6000_mangle_type): Use the correct mangling for the __float128
-	type even if normal long double is restricted to 64-bits.
-	(floatn_mode): Enable the _Float128 type by default on VSX Linux
-	systems.
-	* config/rs6000/rs6000.h (MASK_FLOAT128_TYPE): Delete.
-	(MASK_FLOAT128_KEYWORD): Define new shortcut macro.
-	(RS6000BTM_FLOAT128): Define in terms of -mfloat128, not
-	-mfloat128-type.
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Update
-	documentation for -mfloat128.
-
-2017-09-06  Olivier Hainque  <hainque@adacore.com>
-
-	* config.gcc (powerpc-wrs-vxworksspe): Now match as vxworks*spe.
-
-2017-09-06  Wish Wu  <wishwu007@gmail.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	* asan.c (initialize_sanitizer_builtins): Add
-	BT_FN_VOID_UINT8_UINT8, BT_FN_VOID_UINT16_UINT16,
-	BT_FN_VOID_UINT32_UINT32, BT_FN_VOID_UINT64_UINT64,
-	BT_FN_VOID_FLOAT_FLOAT, BT_FN_VOID_DOUBLE_DOUBLE and
-	BT_FN_VOID_UINT64_PTR variables.
-	* builtin-types.def (BT_FN_VOID_UINT8_UINT8): New fn type.
-	(BT_FN_VOID_UINT16_UINT16): Likewise.
-	(BT_FN_VOID_UINT32_UINT32): Likewise.
-	(BT_FN_VOID_FLOAT_FLOAT): Likewise.
-	(BT_FN_VOID_DOUBLE_DOUBLE): Likewise.
-	(BT_FN_VOID_UINT64_PTR): Likewise.
-	* common.opt (flag_sanitize_coverage): New variable.
-	(fsanitize-coverage=trace-pc): Remove.
-	(fsanitize-coverage=): Add.
-	* flag-types.h (enum sanitize_coverage_code): New enum.
-	* fold-const.c (fold_range_test): Disable non-short-circuit
-	optimization if flag_sanitize_coverage.
-	(fold_truth_andor): Likewise.
-	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
-	* opts.c (COVERAGE_SANITIZER_OPT): Define.
-	(coverage_sanitizer_opts): New array.
-	(get_closest_sanitizer_option): Add OPTS argument, handle also
-	OPT_fsanitize_coverage_.
-	(parse_sanitizer_options): Adjusted to also handle
-	OPT_fsanitize_coverage_.
-	(common_handle_option): Add OPT_fsanitize_coverage_.
-	* sancov.c (instrument_comparison, instrument_switch): New function.
-	(sancov_pass): Add trace-cmp support.
-	* sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_CMP1,
-	BUILT_IN_SANITIZER_COV_TRACE_CMP2, BUILT_IN_SANITIZER_COV_TRACE_CMP4,
-	BUILT_IN_SANITIZER_COV_TRACE_CMP8,
-	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP1,
-	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP2,
-	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP4,
-	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP8,
-	BUILT_IN_SANITIZER_COV_TRACE_CMPF, BUILT_IN_SANITIZER_COV_TRACE_CMPD,
-	BUILT_IN_SANITIZER_COV_TRACE_SWITCH): New builtins.
-	* doc/invoke.texi: Document -fsanitize-coverage=trace-cmp.
-
-2017-09-06  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/parsecpu.awk (fatal): Note that we've encountered an
-	error.  Only quit immediately if parsing is complete.
-	(BEGIN): Initialize fatal_err and parse_done.
-	(begin fpu, end fpu): Check number of arguments.
-	(begin arch, end arch): Likewise.
-	(begin cpu, end cpu): Likewise.
-	(cname, tune for, tune flags, architecture, fpu, option): Likewise.
-	(optalias): Likewise.
-
-2017-09-06  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config.gcc (arm*-*-*): Don't add arm-isa.h to tm_p_file.
-	* config/arm/arm-isa.h: Delete.  Move definitions to ...
-	* arm-cpus.in: ... here.  Use new feature and fgroup values.
-	* config/arm/arm.c (arm_option_override): Use lower case for feature
-	bit names.
-	* config/arm/arm.h (TARGET_HARD_FLOAT): Likewise.
-	(TARGET_VFP3, TARGET_VFP5, TARGET_FMA): Likewise.
-	* config/arm/parsecpu.awk (END): Add new command 'isa'.
-	(isa_pfx): Delete.
-	(print_isa_bits_for): New function.
-	(gen_isa): New function.
-	(gen_comm_data): Use print_isa_bits_for.
-	(define feature): New keyword.
-	(define fgroup): New keyword.
-	* config/arm/t-arm (OPTIONS_H_EXTRA): Add arm-isa.h
-	(arm-isa.h): Add rule to generate file.
-	* common/config/arm/arm-common.c: (arm_canon_arch_option): Use lower
-	case for feature bit names.
-
-2017-09-06  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (NECESSARY): Remove.
-	(create_expression_by_pieces): Do not touch pass-local flags.
-	(insert_into_preds_of_block): Likewise.
-	(do_pre_regular_insertion): Likewise.
-	(eliminate_insert): Likewise.
-	(eliminate_dom_walker::before_dom_children): Likewise.
-	(fini_eliminate): Do not look at inserted_exprs.
-	(mark_operand_necessary): Remove.
-	(remove_dead_inserted_code): Replace with simple work-list
-	algorithm based on inserted_exprs and SSA uses.
-	(pass_pre::execute): Re-order fini_eliminate and
-	remove_dead_inserted_code.
-
-2017-09-06  Olivier Hainque  <hainque@adacore.com>
-
-	* config/powerpcspe/vxworks.h (VXCPU_FOR_8548): Correct definition
-	for VxWorks 7.  Adjust surrounding comments.
-
-2017-09-06  Richard Biener  <rguenther@suse.de>
-
-	* gimple-ssa-strength-reduction.c
-	(find_candidates_dom_walker::before_dom_children): Also allow
-	pointer types.
-
-2017-09-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82108
-	* tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment
-	for gap in the non-permutation SLP case.
-
-2017-09-06  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/82078
-	* tree-sra.c (sort_and_splice_var_accesses): Move call to
-	add_access_to_work_queue...
-	(build_accesses_from_assign): ...here.
-	(propagate_all_subaccesses): Make sure racc is the group
-	representative, if there is one.
-
-2017-09-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/82095
-	* varasm.c (categorize_decl_for_section): Use SECCAT_TBSS for TLS vars with
-	NULL DECL_INITIAL.
-
-2017-09-06  Richard Biener  <rguenther@suse.de>
-
-	* gimple-ssa-strength-reduction.c
-	(find_candidates_dom_walker::before_doom_children): Use a
-	type and not a mode check.
-
-2017-09-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR target/77308
-	* config/arm/predicates.md (arm_general_adddi_operand): Create new
-	non-vfp predicate.
-	* config/arm/arm.md (*arm_adddi3, *arm_subdi3): Use new predicates.
-
-2017-09-05  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/64910
-	* tree-ssa-reassoc.c (reassociate_bb): Restrict last change to
-	cases where we have 3 or more operands.
-
-2017-09-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/81768
-	* omp-low.c (lower_omp_for): Recompute tree invariant if
-	gimple_omp_for_initial/final is ADDR_EXPR.
-
-	PR middle-end/81768
-	* omp-expand.c (expand_omp_simd): Force second operands of COND_EXPR
-	into gimple val before gimplification fo the COND_EXPR.
-
-2017-09-05  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-ssa-threadupdate.c (duplicate_thread_path): Remove unused
-	REGION_COPY argument.
-	(thread_through_all_blocks): Remove unused argument to
-	duplicate_thread_path.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_gen_adjusted_ldpstp):
-	Take a scalar_mode rather than a machine_mode.
-	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
-	* config/aarch64/aarch64.c (aarch64_simd_container_mode): Likewise.
-	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
-	(aarch64_gen_adjusted_ldpstp): Likewise.
-	(aarch64_expand_vector_init): Use scalar_mode instead of machine_mode.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_is_extend_from_extract):
-	Take a scalar_int_mode instead of a machine_mode.
-	(aarch64_mask_and_shift_for_ubfiz_p): Likewise.
-	(aarch64_output_scalar_simd_mov_immediate): Likewise.
-	(aarch64_simd_scalar_immediate_valid_for_move): Likewise.
-	(aarch64_simd_attr_length_rglist): Delete.
-	* config/aarch64/aarch64.c (aarch64_is_extend_from_extract): Take
-	a scalar_int_mode instead of a machine_mode.
-	(aarch64_add_offset): Likewise.
-	(aarch64_internal_mov_immediate): Likewise
-	(aarch64_add_constant_internal): Likewise.
-	(aarch64_add_constant): Likewise.
-	(aarch64_movw_imm): Likewise.
-	(aarch64_rtx_arith_op_extract_p): Likewise.
-	(aarch64_mask_and_shift_for_ubfiz_p): Likewise.
-	(aarch64_simd_scalar_immediate_valid_for_move): Likewise.
-	Remove assert that the mode isn't a vector.
-	(aarch64_output_scalar_simd_mov_immediate): Likewise.
-	(aarch64_expand_mov_immediate): Update calls after above changes.
-	(aarch64_output_casesi): Use as_a <scalar_int_mode>.
-	(aarch64_and_bitmask_imm): Check for scalar integer modes.
-	(aarch64_move_imm): Likewise.
-	(aarch64_can_const_movi_rtx_p): Likewise.
-	(aarch64_strip_extend): Likewise.
-	(aarch64_extr_rtx_p): Likewise.
-	(aarch64_rtx_costs): Likewise, using wode_mode as the mode of
-	a CONST_INT when the mode parameter is VOIDmode.
-	(aarch64_float_const_rtx_p): Use scalar_int_mode for a temporary.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* machmode.h (bitwise_mode_for_mode): Return opt_mode.
-	* stor-layout.c (bitwise_mode_for_mode): Likewise.
-	(bitwise_type_for_mode): Update accordingly.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* stor-layout.h (mode_for_size_tree): Return an opt_mode.
-	* stor-layout.c (mode_for_size_tree): Likewise.
-	(mode_for_array): Update accordingly.
-	(layout_decl): Likewise.
-	(compute_record_mode): Likewise.  Only set the mode once.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* target.def (get_mask_mode): Change return type to opt_mode.
-	Expand commentary.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_get_mask_mode): Return an opt_mode.
-	* targhooks.c (default_get_mask_mode): Likewise.
-	* config/i386/i386.c (ix86_get_mask_mode): Likewise.
-	* optabs-query.c (can_vec_mask_load_store_p): Update use of
-	targetm.get_mask_mode.
-	* tree.c (build_truth_vector_type): Likewise.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* machmode.h (mode_for_vector): Return an opt_mode.
-	* stor-layout.c (mode_for_vector): Likewise.
-	(mode_for_int_vector): Update accordingly.
-	(layout_type): Likewise.
-	* config/i386/i386.c (emit_memmov): Likewise.
-	(ix86_expand_set_or_movmem): Likewise.
-	(ix86_expand_vector_init): Likewise.
-	(ix86_get_mask_mode): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_expand_vec_perm_const_1):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Likewise.
-	* expmed.c (extract_bit_field_1): Likewise.
-	* expr.c (expand_expr_real_2): Likewise.
-	* optabs-query.c (can_vec_perm_p): Likewise.
-	(can_vec_mask_load_store_p): Likewise.
-	* optabs.c (expand_vec_perm): Likewise.
-	* targhooks.c (default_get_mask_mode): Likewise.
-	* tree-vect-stmts.c (vectorizable_store): Likewise.
-	(vectorizable_load): Likewise.
-	(get_vectype_for_scalar_type_and_size): Likewise.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* machmode.h (mode_for_int_vector): New function.
-	* stor-layout.c (mode_for_int_vector): Likewise.
-	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Use it.
-	* config/powerpcspe/powerpcspe.c (rs6000_do_expand_vec_perm): Likewise.
-	* config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
-	* config/s390/s390.c (s390_expand_vec_compare_cc): Likewise.
-	(s390_expand_vcond): Likewise.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* machmode.h (opt_machine_mode): New type.
-	(opt_mode<T>): Allow construction from anything that can be
-	converted to a T.
-	(is_a, as_a, dyn_cast): Add overloads for opt_mode.
-	(mode_for_size): Return an opt_machine_mode.
-	* stor-layout.c (mode_for_size): Likewise.
-	(mode_for_size_tree): Update call accordingly.
-	(bitwise_mode_for_mode): Likewise.
-	(make_fract_type): Likewise.
-	(make_accum_type): Likewise.
-	* caller-save.c (replace_reg_with_saved_mem): Update call
-	accordingly.
-	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED_MODE): Likewise.
-	* config/i386/i386.h (SECONDARY_MEMORY_NEEDED_MODE): Likewise.
-	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED_MODE): Likewise.
-	* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_MODE): Likewise.
-	* expmed.c (extract_bit_field_1): Likewise.
-	* reload.c (get_secondary_mem): Likewise.
-	* varasm.c (assemble_integer): Likewise.
-	* lower-subreg.c (simplify_subreg_concatn): Likewise.  Move
-	early-out.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* machmode.h (decimal_float_mode_for_size): New function.
-	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use float_mode_for_size.
-	(REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
-	(REAL_VALUE_TO_TARGET_SINGLE): Likewise.
-	(REAL_VALUE_TO_TARGET_DECIMAL128): Use decimal_float_mode_for_size.
-	(REAL_VALUE_TO_TARGET_DECIMAL64): Likewise.
-	(REAL_VALUE_TO_TARGET_DECIMAL32): Likewise.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* builtins.c (expand_builtin_powi): Use int_mode_for_size.
-	(get_builtin_sync_mode): Likewise.
-	(expand_ifn_atomic_compare_exchange): Likewise.
-	(expand_builtin_atomic_clear): Likewise.
-	(expand_builtin_atomic_test_and_set): Likewise.
-	(fold_builtin_atomic_always_lock_free): Likewise.
-	* calls.c (compute_argument_addresses): Likewise.
-	(emit_library_call_value_1): Likewise.
-	(store_one_arg): Likewise.
-	* combine.c (combine_instructions): Likewise.
-	* config/aarch64/aarch64.c (aarch64_function_value): Likewise.
-	* config/arm/arm.c (arm_function_value): Likewise.
-	(aapcs_allocate_return_reg): Likewise.
-	* config/c6x/c6x.c (c6x_expand_movmem): Likewise.
-	* config/i386/i386.c (construct_container): Likewise.
-	(ix86_gimplify_va_arg): Likewise.
-	(ix86_expand_sse_cmp): Likewise.
-	(emit_memmov): Likewise.
-	(emit_memset): Likewise.
-	(expand_small_movmem_or_setmem): Likewise.
-	(ix86_expand_pextr): Likewise.
-	(ix86_expand_pinsr): Likewise.
-	* config/lm32/lm32.c (lm32_block_move_inline): Likewise.
-	* config/microblaze/microblaze.c (microblaze_block_move_straight):
-	Likewise.
-	* config/mips/mips.c (mips_function_value_1) Likewise.
-	(mips_block_move_straight): Likewise.
-	(mips_expand_ins_as_unaligned_store): Likewise.
-	* config/powerpcspe/powerpcspe.c
-	(rs6000_darwin64_record_arg_advance_flush): Likewise.
-	(rs6000_darwin64_record_arg_flush): Likewise.
-	* config/rs6000/rs6000.c
-	(rs6000_darwin64_record_arg_advance_flush): Likewise.
-	(rs6000_darwin64_record_arg_flush): Likewise.
-	* config/sparc/sparc.c (sparc_function_arg_1): Likewise.
-	(sparc_function_value_1): Likewise.
-	* config/spu/spu.c (adjust_operand): Likewise.
-	(spu_emit_branch_or_set): Likewise.
-	(arith_immediate_p): Likewise.
-	* emit-rtl.c (gen_lowpart_common): Likewise.
-	* expr.c (expand_expr_real_1): Likewise.
-	* function.c (assign_parm_setup_block): Likewise.
-	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Likewise.
-	* reload1.c (alter_reg): Likewise.
-	* stor-layout.c (mode_for_vector): Likewise.
-	(layout_type): Likewise.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/spu/spu.c (exp2_immediate_p): Use int_mode_for_mode.
-	(spu_convert_move): Likewise.
-	* lower-subreg.c (resolve_simple_move): Likewise.
-
-2017-09-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/81833
-	* config/rs6000/altivec.md (altivec_vsum2sws): Convert from a
-	define_insn to a define_expand.
-	(altivec_vsum2sws_direct): New define_insn.
-	(altivec_vsumsws): Convert from a define_insn to a define_expand.
-
-2017-09-05  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.c (arm_option_params_internal): Improve setting of
-	max_insns_skipped.
-
-2017-09-05  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/59501
-	PR target/81624
-	PR target/81769
-	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Don't
-	realign stack if stack alignment needed is less than incoming
-	stack boundary.
-
-2017-09-05  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/82072
-	* convert.c (convert_to_integer_1) <case NEGATE_EXPR>: Move the ubsan
-	check earlier.
-
-2017-09-05  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* explow.c (get_dynamic_stack_size): Improve dynamic alignment.
-
-2017-09-05  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82084
-	* fold-const.c (can_native_encode_string_p): Handle wide characters.
-
-2017-09-05  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82102
-	* tree-ssa-pre.c (fini_eliminate): Check if lhs is NULL.
-
-2017-09-05  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/82032
-	* tree-cfg.c (generate_range_test): New function.
-	* tree-cfg.h (generate_range_test): Declared here.
-	* tree-cfgcleanup.c (convert_single_case_switch): New function.
-	(cleanup_control_expr_graph): Use it.
-	* tree-switch-conversion.c (try_switch_expansion): Remove
-	assert.
-	(emit_case_nodes): Use generate_range_test.
-
-2017-09-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/82098
-	* config/i386/i386.md (*<btsc><mode>_mask): Add
-	TARGET_USE_BT to insn constraint.
-	(*btr<mode>_mask): Ditto.
-
-2017-09-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.c (arm_legitimate_index_p): Add comment.
-	(thumb2_legitimate_index_p): Use correct range for DI/DF mode.
-
-2017-09-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR target/77308
-	* config/arm/arm.md (*arm_adddi3, *arm_subdi3): Split early except for
-	TARGET_NEON and TARGET_IWMMXT.
-	(anddi3, iordi3, xordi3, one_cmpldi2): Split while expanding except for
-	TARGET_NEON and TARGET_IWMMXT.
-	(*one_cmpldi2_insn): Moved the body of one_cmpldi2 here.
-
-2017-09-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386-protos.h (ix86_tls_address_pattern_p) New prototype.
-	(ix86_rewrite_tls_address): Ditto.
-	* config/i386/i386.c (ix86_tls_address_pattern_p) New function.
-	(ix86_rewrite_tls_address_1): Ditto.
-	(ix86_rewrite_tls_address): Ditto.
-	* config/i386/predicates.md (tls_address_pattern): New predicate.
-	* config/i386/i386.md (TLS address splitter): New splitter.
-
-2017-09-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82084
-	* fold-const.h (can_native_encode_string_p): Declare.
-	* fold-const.c (can_native_encode_string_p): Factor out from ...
-	(native_encode_string): ... here.
-	* tree-vect-stmts.c (vectorizable_store): Call it to avoid
-	vectorizing stores from constants we later cannot handle.
-
-2017-09-04  Marek Polacek  <polacek@redhat.com>
-
-	PR c/81783
-	* doc/invoke.texi: Update -Wtautological-compare documentation.
-
-2017-09-04  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/64910
-	* tree-ssa-reassoc.c (reassociate_bb): For bitwise binary ops,
-	swap the first and last operand if the last is a constant.
-
-2017-09-04  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/82072
-	* convert.c (do_narrow): When sanitizing signed integer overflows,
-	bail out for signed types.
-	(convert_to_integer_1) <case NEGATE_EXPR>: Likewise.
-
-2017-09-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/82060
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	Move devirtualization after stmt folding and before EH/AB/noreturn
-	cleanup to get the stmt refs canonicalized.  Use a bool instead
-	of gimple_modified_p since that doesn't work for NOPs.  Schedule
-	NOPs generated by folding for removal.
-
-2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (pad_direction): New enum.
-	* defaults.h (DEFAULT_FUNCTION_ARG_PADDING): Delete.
-	(FUNCTION_ARG_PADDING): Likewise.
-	* target.def (function_arg_padding): New hook.
-	* targhooks.h (default_function_arg_padding): Declare.
-	* targhooks.c (default_function_arg_padding): New function.
-	* doc/tm.texi.in (FUNCTION_ARG_PADDING): Replace with...
-	(TARGET_FUNCTION_ARG_PADDING): ...this.
-	* doc/tm.texi: Regenerate.
-	* calls.c (store_unaligned_arguments_into_pseudos): Use pad_direction
-	instead of direction.
-	(compute_argument_addresses): Likewise.
-	(load_register_parameters): Likewise.
-	(emit_library_call_value_1): Likewise.
-	(store_one_arg): Use targetm.calls.function_arg_padding instead
-	of FUNCTION_ARG_PADDING.
-	(must_pass_in_stack_var_size_or_pad): Likewise.
-	* expr.c (emit_group_load_1): Use pad_direction instead of direction.
-	(emit_group_store): Likewise.
-	(emit_single_push_insn_1): Use targetm.calls.function_arg_padding
-	instead of FUNCTION_ARG_PADDING.
-	(emit_push_insn): Likewise, and propagate enum change throughout
-	function.
-	* function.h (direction): Delete.
-	(locate_and_pad_arg_data::where_pad): Use pad_direction instead
-	of direction.
-	* function.c (assign_parm_find_stack_rtl): Likewise.
-	(assign_parm_setup_block_p): Likewise.
-	(assign_parm_setup_block): Likewise.
-	(gimplify_parameters): Likewise.
-	(locate_and_pad_parm): Use targetm.calls.function_arg_padding
-	instead of FUNCTION_ARG_PADDING, and propagate enum change throughout
-	function.
-	* config/aarch64/aarch64.h (FUNCTION_ARG_PADDING): Delete.
-	(BLOCK_REG_PADDING): Use pad_direction instead of direction.
-	* config/aarch64/aarch64-protos.h (aarch64_pad_arg_upward): Delete.
-	* config/aarch64/aarch64.c (aarch64_pad_arg_upward): Replace with...
-	(aarch64_function_arg_padding): ...this new function.
-	(aarch64_gimplify_va_arg_expr): Use pad_direction instead of direction.
-	(TARGET_FUNCTION_ARG_PADDING): Redefine.
-	* config/arm/arm.h (FUNCTION_ARG_PADDING): Delete.
-	(BLOCK_REG_PADDING): Use pad_direction instead of direction.
-	* config/arm/arm-protos.h (arm_pad_arg_upward): Delete.
-	* config/arm/arm.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
-	(arm_pad_arg_upward): Replace with...
-	(arm_function_arg_padding): ...this new function.
-	* config/c6x/c6x.h (BLOCK_REG_PADDING): Use pad_direction instead
-	of direction.
-	* config/ia64/hpux.h (FUNCTION_ARG_PADDING): Delete.
-	* config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): Delete.
-	* config/ia64/ia64.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
-	(ia64_hpux_function_arg_padding): Replace with...
-	(ia64_function_arg_padding): ...this new function.  Use pad_direction
-	instead of direction.  Check for TARGET_HPUX.
-	* config/iq2000/iq2000.h (FUNCTION_ARG_PADDING): Delete.
-	* config/iq2000/iq2000.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
-	(iq2000_function_arg_padding): New function.
-	* config/mips/mips-protos.h (mips_pad_arg_upward): Delete.
-	* config/mips/mips.c (mips_pad_arg_upward): Replace with...
-	(mips_function_arg_padding): ...this new function.
-	(mips_pad_reg_upward): Update accordingly.
-	(TARGET_FUNCTION_ARG_PADDING): Redefine.
-	* config/mips/mips.h (PAD_VARARGS_DOWN): Use
-	targetm.calls.function_arg_padding.
-	(FUNCTION_ARG_PADDING): Delete.
-	(BLOCK_REG_PADDING): Use pad_direction instead of direction.
-	* config/nios2/nios2.h (FUNCTION_ARG_PADDING): Delete.
-	(PAD_VARARGS_DOWN): Use targetm.calls.function_arg_padding.
-	* config/nios2/nios2-protos.h (nios2_function_arg_padding): Delete.
-	(nios2_block_reg_padding): Return pad_direction instead of direction.
-	* config/nios2/nios2.c (nios2_block_reg_padding): Return pad_direction
-	instead of direction.
-	(nios2_function_arg_padding): Likewise.  Make static.
-	(TARGET_FUNCTION_ARG_PADDING): Redefine.
-	* config/pa/pa.h (FUNCTION_ARG_PADDING): Delete.
-	(BLOCK_REG_PADDING): Use targetm.calls.function_arg_padding.
-	* config/pa/pa-protos.h (pa_function_arg_padding): Delete.
-	* config/pa/pa.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
-	(pa_function_arg_padding): Make static.  Return pad_direction instead
-	of direction.
-	* config/powerpcspe/powerpcspe.h (FUNCTION_ARG_PADDING): Delete.
-	(PAD_VARARGS_DOWN): Use targetm.calls.function_arg_padding.
-	* config/powerpcspe/aix.h (BLOCK_REG_PADDING): Use pad_direction
-	instead of direction.  Use targetm.calls.function_arg_padding.
-	* config/powerpcspe/darwin.h (BLOCK_REG_PADDING): Likewise.
-	* config/powerpcspe/freebsd64.h (BLOCK_REG_PADDING): Likewise.
-	* config/powerpcspe/linux64.h (BLOCK_REG_PADDING): Likewise.
-	* config/powerpcspe/powerpcspe-protos.h (function_arg_padding): Delete.
-	* config/powerpcspe/powerpcspe.c (TARGET_FUNCTION_ARG_PADDING):
-	Redefine.
-	(function_arg_padding): Rename to...
-	(rs6000_function_arg_padding): ...this.  Make static.  Return
-	pad_direction instead of direction.
-	(rs6000_return_in_msb): Use rs6000_function_arg_padding.
-	* config/rs6000/rs6000.h (FUNCTION_ARG_PADDING): Delete.
-	(PAD_VARARGS_DOWN): Use targetm.calls.function_arg_padding.
-	* config/rs6000/aix.h (BLOCK_REG_PADDING): Use pad_direction
-	instead of direction.  Use targetm.calls.function_arg_padding.
-	* config/rs6000/darwin.h (BLOCK_REG_PADDING): Likewise.
-	* config/rs6000/freebsd64.h (BLOCK_REG_PADDING): Likewise.
-	* config/rs6000/linux64.h (BLOCK_REG_PADDING): Likewise.
-	* config/rs6000/rs6000-protos.h (function_arg_padding): Delete.
-	* config/rs6000/rs6000.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
-	(function_arg_padding): Rename to...
-	(rs6000_function_arg_padding): ...this.  Make static.  Return
-	pad_direction instead of direction.
-	(rs6000_return_in_msb): Use rs6000_function_arg_padding.
-	* config/s390/s390.h (FUNCTION_ARG_PADDING): Delete.
-	* config/s390/s390.c (s390_function_arg_padding): New function.
-	(TARGET_FUNCTION_ARG_PADDING): Redefine.
-	* config/sparc/sparc.h (FUNCTION_ARG_PADDING): Delete.
-	* config/sparc/sparc-protos.h (function_arg_padding): Delete.
-	* config/sparc/sparc.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
-	(function_arg_padding): Rename to...
-	(sparc_function_arg_padding): ...this.  Make static.  Return
-	pad_direction instead of direction.
-	* config/spu/spu.h (FUNCTION_ARG_PADDING): Delete.
-	* config/spu/spu.c (spu_function_arg_padding): New function.
-	(TARGET_FUNCTION_ARG_PADDING): Redefine.
-	* system.h (FUNCTION_ARG_PADDING): Poison.
-
-2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (modes_tieable_p): New hook.
-	* doc/tm.texi (MODES_TIEABLE_P): Replace with...
-	(TARGET_MODES_TIEABLE_P): ...this.
-	* doc/tm.texi.in: Regenerate.
-	* hooks.h (hook_bool_mode_mode_true): Declare.
-	* hooks.c (hook_bool_mode_mode_true): New function.
-	* combine.c (subst): Use targetm.modes_tieable_p instead of
-	MODES_TIEABLE_P.
-	* dse.c (find_shift_sequence): Likewise.
-	* expmed.c (extract_low_bits): Likewise.
-	* lower-subreg.c: Include target.h.
-	(find_decomposable_subregs): Use targetm.modes_tieable_p instead of
-	MODES_TIEABLE_P.
-	* rtlanal.c (rtx_cost): Likewise.
-	* config/aarch64/aarch64.h (MODES_TIEABLE_P): Delete.
-	* config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): Delete.
-	* config/aarch64/aarch64.c (aarch64_modes_tieable_p): Make static.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/alpha/alpha.h (MODES_TIEABLE_P): Delete.
-	* config/alpha/alpha.c (alpha_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/arc/arc.h (MODES_TIEABLE_P): Delete.
-	* config/arc/arc.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(arc_modes_tieable_p): New function.
-	* config/arm/arm.h (MODES_TIEABLE_P): Delete.
-	* config/arm/arm-protos.h (arm_modes_tieable_p): Delete.
-	* config/arm/arm.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(arm_modes_tieable_p): Make static.
-	* config/avr/avr.h (MODES_TIEABLE_P): Delete.
-	* config/bfin/bfin.h (MODES_TIEABLE_P): Delete.
-	* config/bfin/bfin.c (bfin_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/c6x/c6x.h (MODES_TIEABLE_P): Delete.
-	* config/c6x/c6x.c (c6x_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/cr16/cr16.h (MODES_TIEABLE_P): Delete.
-	* config/cr16/cr16.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(cr16_modes_tieable_p): New function.
-	* config/cris/cris.h (MODES_TIEABLE_P): Delete.
-	* config/epiphany/epiphany.h (MODES_TIEABLE_P): Delete.
-	* config/fr30/fr30.h (MODES_TIEABLE_P): Delete.
-	(TRULY_NOOP_TRUNCATION): Update comment.
-	* config/frv/frv.h (MODES_TIEABLE_P): Delete.
-	(TRULY_NOOP_TRUNCATION): Update comment.
-	* config/frv/frv.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(frv_modes_tieable_p): New function.
-	* config/ft32/ft32.h (MODES_TIEABLE_P): Delete.
-	* config/h8300/h8300.h (MODES_TIEABLE_P): Delete.
-	* config/h8300/h8300.c (h8300_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/i386/i386.h (MODES_TIEABLE_P): Delete.
-	* config/i386/i386-protos.h (ix86_modes_tieable_p): Delete.
-	* config/i386/i386.c (ix86_modes_tieable_p): Make static.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/ia64/ia64.h (MODES_TIEABLE_P): Delete.
-	* config/ia64/ia64.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(ia64_modes_tieable_p): New function.
-	* config/iq2000/iq2000.h (MODES_TIEABLE_P): Delete.
-	* config/iq2000/iq2000.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(iq2000_modes_tieable_p): New function.
-	* config/lm32/lm32.h (MODES_TIEABLE_P): Delete.
-	* config/lm32/lm32.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(lm32_modes_tieable_p): New function.
-	* config/m32c/m32c.h (MODES_TIEABLE_P): Delete.
-	* config/m32c/m32c-protos.h (m32c_modes_tieable_p): Delete.
-	* config/m32c/m32c.c (m32c_modes_tieable_p): Make static.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/m32r/m32r.h (MODES_TIEABLE_P): Delete.
-	* config/m32r/m32r.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(m32r_modes_tieable_p): New function.
-	* config/m68k/m68k.h (MODES_TIEABLE_P): Delete.
-	* config/m68k/m68k.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(m68k_modes_tieable_p): New function.
-	* config/mcore/mcore.h (MODES_TIEABLE_P): Delete.
-	* config/mcore/mcore.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(mcore_modes_tieable_p): New function.
-	* config/microblaze/microblaze.h (MODES_TIEABLE_P): Delete.
-	* config/microblaze/microblaze.c (microblaze_modes_tieable_p): New
-	function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/mips/mips.h (MODES_TIEABLE_P): Delete.
-	* config/mips/mips-protos.h (mips_modes_tieable_p): Delete.
-	* config/mips/mips.c (mips_modes_tieable_p): Make static.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/mmix/mmix.h (MODES_TIEABLE_P): Delete.
-	* config/mn10300/mn10300.h (MODES_TIEABLE_P): Delete.
-	* config/mn10300/mn10300-protos.h (mn10300_modes_tieable): Delete.
-	* config/mn10300/mn10300.c (mn10300_modes_tieable): Rename to...
-	(mn10300_modes_tieable_p): ...this and make static.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/moxie/moxie.h (MODES_TIEABLE_P): Delete.
-	* config/msp430/msp430.h (MODES_TIEABLE_P): Delete.
-	* config/msp430/msp430-protos.h (msp430_modes_tieable_p): Delete.
-	* config/msp430/msp430.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(msp430_modes_tieable_p): Make static.
-	* config/nds32/nds32.h (MODES_TIEABLE_P): Delete.
-	* config/nds32/nds32.c (nds32_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/nios2/nios2.h (MODES_TIEABLE_P): Delete.
-	* config/nvptx/nvptx.h (MODES_TIEABLE_P): Delete.
-	* config/nvptx/nvptx.c (nvptx_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/pa/pa.h (MODES_TIEABLE_P): Delete.
-	* config/pa/pa-protos.h (pa_modes_tieable_p): Delete.
-	* config/pa/pa.c (pa_modes_tieable_p): Make static.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/pdp11/pdp11.h (MODES_TIEABLE_P): Delete.
-	* config/pdp11/pdp11.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(pdp11_modes_tieable_p): New function.
-	* config/powerpcspe/powerpcspe.h (MODES_TIEABLE_P): Delete.
-	* config/powerpcspe/powerpcspe.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(rs6000_modes_tieable_p): New function.
-	(rs6000_debug_reg_global): Use it instead of MODES_TIEABLE_P.
-	* config/powerpcspe/powerpcspe.md: Update comment.
-	* config/riscv/riscv.h (MODES_TIEABLE_P): Delete.
-	* config/riscv/riscv.c (riscv_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/rl78/rl78.h (MODES_TIEABLE_P): Delete.
-	* config/rl78/rl78.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(rl78_modes_tieable_p): New function.
-	* config/rs6000/rs6000.h (MODES_TIEABLE_P): Delete.
-	* config/rs6000/rs6000.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(rs6000_modes_tieable_p): New function.
-	(rs6000_debug_reg_global): Use it instead of MODES_TIEABLE_P.
-	* config/rs6000/rs6000.md: Update comment.
-	* config/rx/rx.h (MODES_TIEABLE_P): Delete.
-	* config/rx/rx.c (rx_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/s390/s390.h (MODES_TIEABLE_P): Delete.
-	* config/s390/s390.c (s390_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/sh/sh.h (MODES_TIEABLE_P): Delete.
-	* config/sh/sh.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(sh_modes_tieable_p): New function.
-	* config/sparc/sparc.h (MODES_TIEABLE_P): Delete.
-	* config/sparc/sparc-protos.h (sparc_modes_tieable_p): Delete.
-	* config/sparc/sparc.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(sparc_modes_tieable_p): Make static.
-	* config/spu/spu.h (MODES_TIEABLE_P): Delete.
-	* config/spu/spu.c (spu_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/stormy16/stormy16.h (MODES_TIEABLE_P): Delete.
-	* config/stormy16/stormy16.c (xstormy16_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/tilegx/tilegx.h (MODES_TIEABLE_P): Delete.
-	* config/tilepro/tilepro.h (MODES_TIEABLE_P): Delete.
-	* config/v850/v850.h (MODES_TIEABLE_P): Delete.
-	* config/v850/v850.c (v850_modes_tieable_p): New function.
-	(TARGET_MODES_TIEABLE_P): Redefine.
-	* config/vax/vax.h (MODES_TIEABLE_P): Delete.
-	* config/visium/visium.h (MODES_TIEABLE_P): Delete.
-	* config/visium/visium.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(visium_modes_tieable_p): New function.
-	* config/xtensa/xtensa.h (MODES_TIEABLE_P): Delete.
-	* config/xtensa/xtensa.c (TARGET_MODES_TIEABLE_P): Redefine.
-	(xtensa_modes_tieable_p): New function.
-	* system.h (MODES_TIEABLE_P): Poison.
-
-2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (hard_regno_mode_ok): New hook.
-	* doc/tm.texi (HARD_REGNO_MODE_OK): Replace with...
-	(TARGET_HARD_REGNO_MODE_OK): ...this.
-	* doc/tm.texi.in: Regenerate.
-	* hooks.h (hook_bool_uint_mode_true): Declare.
-	* hooks.c (hook_bool_uint_mode_true): New function.
-	* doc/md.texi: Refer to targetm.hard_regno_mode_ok instead of
-	HARD_REGNO_MODE_OK.
-	* genpreds.c (write_insn_preds_c): Add an include of target.h.
-	* alias.c (init_alias_target): Use targetm.hard_regno_mode_ok
-	instead of HARD_REGNO_MODE_OK.
-	* caller-save.c: Include target.h.
-	(reg_save_code): Use targetm.hard_regno_mode_ok instead of
-	HARD_REGNO_MODE_OK.
-	* combine.c (can_combine_p): Likewise.
-	(combinable_i3pat): Likewise.
-	(can_change_dest_mode): Likewise.
-	* expr.c (init_expr_target): Likewise.
-	(convert_move): Likewise.
-	(convert_modes): Likewise.
-	* ira.c (setup_prohibited_class_mode_regs): Likewise.
-	(setup_prohibited_mode_move_regs): Likewise.
-	* ira.h (target_ira): Likewise.
-	* lra-assigns.c (find_hard_regno_for_1): Likewise.
-	* lra-constraints.c (process_alt_operands): Likewise.
-	(split_reg): Likewise.
-	* recog.c (peep2_find_free_register): Likewise.
-	* ree.c (combine_reaching_defs): Likewise.
-	* regcprop.c (maybe_mode_change): Likewise.
-	* reginfo.c (init_reg_sets_1): Likewise.
-	(choose_hard_reg_mode): Likewise.
-	(simplifiable_subregs): Likewise.
-	* regrename.c (check_new_reg_p): Likewise.
-	* reload.c (find_valid_class): Likewise.
-	(find_valid_class_1): Likewise.
-	(reload_inner_reg_of_subreg): Likewise.
-	(push_reload): Likewise.
-	(combine_reloads): Likewise.
-	(find_dummy_reload): Likewise.
-	(find_reloads): Likewise.
-	* reload1.c (find_reg): Likewise.
-	(set_reload_reg): Likewise.
-	(allocate_reload_reg): Likewise.
-	(choose_reload_regs): Likewise.
-	(reload_adjust_reg_for_temp): Likewise.
-	* rtlanal.c (subreg_size_offset_from_lsb): Likewise.
-	(simplify_subreg_regno): Likewise.
-	* sel-sched.c (init_regs_for_mode): Likewise.
-	* varasm.c (make_decl_rtl): Likewise.
-	* config/aarch64/aarch64.h (HARD_REGNO_MODE_OK): Delete.
-	(MODES_TIEABLE_P): Use targetm.hard_regno_mode_ok instead of
-	HARD_REGNO_MODE_OK.
-	* config/aarch64/aarch64-protos.h (aarch64_hard_regno_mode_ok): Delete.
-	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Make static.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/alpha/alpha.h (HARD_REGNO_MODE_OK): Delete.
-	* config/alpha/alpha.c (alpha_hard_regno_mode_ok): New function.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/arc/arc.h (arc_hard_regno_mode_ok): Delete.
-	(arc_mode_class): Delete.
-	(HARD_REGNO_MODE_OK): Delete.
-	* config/arc/arc.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(arc_hard_regno_mode_ok): Rename old array to...
-	(arc_hard_regno_mode_ok_modes): ...this.
-	(arc_conditional_register_usage): Update accordingly.
-	(arc_mode_class): Make static.
-	(arc_hard_regno_mode_ok): New function.
-	* config/arm/arm.h (HARD_REGNO_MODE_OK): Delete.
-	* config/arm/arm-protos.h (arm_hard_regno_mode_ok): Delete.
-	* config/arm/arm.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(arm_hard_regno_mode_ok): Make static.
-	* config/arm/arm.md (movdi): Use targetm.hard_regno_mode_ok instead of
-	HARD_REGNO_MODE_OK.
-	* config/avr/avr-protos.h (avr_hard_regno_mode_ok): Delete.
-	* config/avr/avr.h (HARD_REGNO_MODE_OK): Delete.
-	* config/avr/avr.c (avr_hard_regno_mode_ok): Make static and
-	return a bool.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/bfin/bfin-protos.h (hard_regno_mode_ok): Delete.
-	* config/bfin/bfin.h (HARD_REGNO_MODE_OK): Delete.
-	* config/bfin/bfin.c (hard_regno_mode_ok): Rename to...
-	(bfin_hard_regno_mode_ok): ...this.  Make static and return a bool.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/bfin/predicates.md (valid_reg_operand): Use
-	targetm.hard_regno_mode_ok instead of HARD_REGNO_MODE_OK.
-	* config/c6x/c6x.h (HARD_REGNO_MODE_OK): Delete.
-	* config/c6x/c6x.c (c6x_hard_regno_mode_ok): New function.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/cr16/cr16.h (HARD_REGNO_MODE_OK): Delete.
-	* config/cr16/cr16-protos.h (cr16_hard_regno_mode_ok): Delete.
-	* config/cr16/cr16.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(cr16_hard_regno_mode_ok): Make static and return a bool.
-	* config/cris/cris.h (HARD_REGNO_MODE_OK): Delete.
-	* config/cris/cris.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(cris_hard_regno_mode_ok): New function.
-	* config/epiphany/epiphany.h (epiphany_hard_regno_mode_ok): Delete.
-	(epiphany_mode_class): Delete.
-	(HARD_REGNO_MODE_OK): Delete.
-	* config/epiphany/epiphany-protos.h (hard_regno_mode_ok): Delete.
-	* config/epiphany/epiphany.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(hard_regno_mode_ok): Rename to...
-	(epiphany_hard_regno_mode_ok): ...this.  Make static and return a bool.
-	* config/fr30/fr30.h (HARD_REGNO_MODE_OK): Delete.
-	* config/fr30/fr30.md: Refer to targetm.hard_regno_mode_ok instead of
-	HARD_REGNO_MODE_OK.
-	* config/frv/frv.h (HARD_REGNO_MODE_OK): Delete.
-	* config/frv/frv-protos.h (frv_hard_regno_mode_ok): Delete.
-	* config/frv/frv.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(frv_hard_regno_mode_ok): Make static and return a bool.
-	* config/frv/frv.md: Refer to targetm.hard_regno_mode_ok instead of
-	HARD_REGNO_MODE_OK.
-	* config/ft32/ft32.h (HARD_REGNO_MODE_OK): Delete.
-	* config/h8300/h8300.h (HARD_REGNO_MODE_OK): Delete.
-	* config/h8300/h8300-protos.h (h8300_hard_regno_mode_ok): Delete.
-	* config/h8300/h8300.c (h8300_hard_regno_mode_ok): Make static
-	and return a bool.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/i386/i386.h (HARD_REGNO_MODE_OK): Delete.
-	* config/i386/i386-protos.h (ix86_hard_regno_mode_ok): Delete.
-	* config/i386/i386.c (ix86_hard_regno_mode_ok): Make static and
-	return a bool.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/ia64/ia64.h (HARD_REGNO_MODE_OK): Delete.
-	* config/ia64/ia64.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(ia64_hard_regno_mode_ok): New function.
-	* config/iq2000/iq2000.h (HARD_REGNO_MODE_OK): Delete.
-	* config/iq2000/iq2000.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(iq2000_hard_regno_mode_ok): New function.
-	* config/lm32/lm32.h (HARD_REGNO_MODE_OK): Delete.
-	* config/lm32/lm32.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(lm32_hard_regno_mode_ok): New function.
-	* config/m32c/m32c.h (HARD_REGNO_MODE_OK): Delete.
-	* config/m32c/m32c-protos.h (m32c_hard_regno_ok): Delete.
-	* config/m32c/m32c.c (class_can_hold_mode): Use m32c_hard_regno_mode_ok
-	instead of HARD_REGNO_MODE_OK.
-	(m32c_hard_regno_ok): Rename to...
-	(m32c_hard_regno_mode_ok): ...this.  Make static and return a bool.
-	(m32c_cannot_change_mode_class): Update accordingly.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/m32r/m32r.h (m32r_hard_regno_mode_ok): Delete.
-	(m32r_mode_class): Delete.
-	(HARD_REGNO_MODE_OK): Delete.
-	* config/m32r/m32r.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(m32r_hard_regno_mode_ok): Rename to...
-	(m32r_hard_regno_modes): ...this.
-	(m32r_mode_class): Make static.
-	(m32r_hard_regno_mode_ok): New function.
-	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Delete.
-	* config/m68k/m68k-protos.h (m68k_regno_mode_ok): Delete.
-	* config/m68k/m68k.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(m68k_hard_regno_mode_ok): Make static.
-	* config/mcore/mcore.h (HARD_REGNO_MODE_OK): Delete.
-	* config/mcore/mcore.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(mcore_hard_regno_mode_ok): New function.
-	* config/microblaze/microblaze.h (microblaze_hard_regno_mode_ok)
-	(HARD_REGNO_MODE_OK): Delete.
-	* config/microblaze/microblaze.c (microblaze_hard_regno_mode_ok):
-	Rename to...
-	(microblaze_hard_regno_mode_ok_p): ...this and make static.
-	(microblaze_hard_regno_mode_ok): New function.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/mips/mips.h (HARD_REGNO_MODE_OK): Delete.
-	(mips_hard_regno_mode_ok): Delete.
-	* config/mips/mips.c (mips_hard_regno_mode_ok): Rename to...
-	(mips_hard_regno_mode_ok_p): ...this and make static.
-	(mips_hard_regno_mode_ok_p): Rename to...
-	(mips_hard_regno_mode_ok_uncached): ...this.
-	(mips_hard_regno_mode_ok): New function.
-	(mips_class_max_nregs): Use mips_hard_regno_mode_ok instead
-	of HARD_REGNO_MODE_OK.
-	(mips_option_override): Update after above name changes.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/mmix/mmix.h (HARD_REGNO_MODE_OK): Delete.
-	* config/mn10300/mn10300.h (HARD_REGNO_MODE_OK): Delete.
-	* config/mn10300/mn10300-protos.h (mn10300_hard_regno_mode_ok): Delete.
-	* config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Make static.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/moxie/moxie.h (HARD_REGNO_MODE_OK): Delete.
-	* config/msp430/msp430.h (HARD_REGNO_MODE_OK): Delete.
-	* config/msp430/msp430-protos.h (msp430_hard_regno_mode_ok): Delete.
-	* config/msp430/msp430.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(msp430_hard_regno_mode_ok): Make static and return a bool.
-	* config/nds32/nds32.h (HARD_REGNO_MODE_OK): Delete.
-	* config/nds32/nds32-protos.h (nds32_hard_regno_mode_ok): Delete.
-	* config/nds32/nds32.c (nds32_hard_regno_mode_ok): Make static
-	and return a bool.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/nios2/nios2.h (HARD_REGNO_MODE_OK): Delete.
-	* config/nvptx/nvptx.h (HARD_REGNO_MODE_OK): Delete.
-	* config/pa/pa.h (MODES_TIEABLE_P): Update commentary.
-	* config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): Rename to...
-	(PA_HARD_REGNO_MODE_OK): ...this
-	* config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Rename to...
-	(PA_HARD_REGNO_MODE_OK): ...this.
-	* config/pa/pa.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(pa_hard_regno_mode_ok): New function.
-	* config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Delete.
-	* config/pdp11/pdp11.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(pdp11_hard_regno_mode_ok): New function.
-	* config/powerpcspe/powerpcspe.h (HARD_REGNO_MODE_OK): Delete.
-	* config/powerpcspe/powerpcspe-protos.h (rs6000_hard_regno_mode_ok_p):
-	Delete.
-	* config/powerpcspe/powerpcspe.c (rs6000_hard_regno_mode_ok_p):
-	Make static.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(rs6000_hard_regno_mode_ok): Rename to...
-	(rs6000_hard_regno_mode_ok_uncached): ...this.
-	(rs6000_init_hard_regno_mode_ok): Update accordingly.
-	(rs6000_hard_regno_mode_ok): New function.
-	* config/riscv/riscv.h (HARD_REGNO_MODE_OK): Delete.
-	* config/riscv/riscv-protos.h (riscv_hard_regno_mode_ok_p): Delete.
-	* config/riscv/riscv.c (riscv_hard_regno_mode_ok_p): Rename to...
-	(riscv_hard_regno_mode_ok): ...this and make static.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/rl78/rl78.h (HARD_REGNO_MODE_OK): Delete.
-	* config/rl78/rl78-protos.h (rl78_hard_regno_mode_ok): Delete.
-	* config/rl78/rl78.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(rl78_hard_regno_mode_ok): Make static and return bool.
-	* config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Delete.
-	* config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
-	Delete.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): Make static.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(rs6000_hard_regno_mode_ok): Rename to...
-	(rs6000_hard_regno_mode_ok_uncached): ...this.
-	(rs6000_init_hard_regno_mode_ok): Update accordingly.
-	(rs6000_hard_regno_mode_ok): New function.
-	* config/rx/rx.h (HARD_REGNO_MODE_OK): Delete.
-	* config/rx/rx.c (rx_hard_regno_mode_ok): New function.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/s390/s390.h (HARD_REGNO_MODE_OK): Delete.
-	* config/s390/s390-protos.h (s390_hard_regno_mode_ok): Delete.
-	* config/s390/s390.c (s390_hard_regno_mode_ok): Make static.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/sh/sh.h (HARD_REGNO_MODE_OK): Delete.
-	* config/sh/sh-protos.h (sh_hard_regno_mode_ok): Delete.
-	* config/sh/sh.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(sh_hard_regno_mode_ok): Make static.
-	* config/sparc/constraints.md: Refer to targetm.hard_regno_mode_ok
-	instead of HARD_REGNO_MODE_OK.
-	* config/sparc/sparc.h (hard_regno_mode_classes): Delete.
-	(sparc_mode_class): Delete.
-	(HARD_REGNO_MODE_OK): Delete.
-	* config/sparc/sparc.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(hard_regno_mode_classes): Make static.
-	(sparc_mode_class): Likewise.
-	(sparc_hard_regno_mode_ok): New function.
-	* config/spu/spu.h (HARD_REGNO_MODE_OK): Delete.
-	* config/stormy16/stormy16.h (HARD_REGNO_MODE_OK): Delete.
-	* config/stormy16/stormy16.c (xstormy16_hard_regno_mode_ok): New
-	function.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/tilegx/tilegx.h (HARD_REGNO_MODE_OK): Delete.
-	* config/tilepro/tilepro.h (HARD_REGNO_MODE_OK): Delete.
-	* config/v850/v850.h (HARD_REGNO_MODE_OK): Delete.
-	* config/v850/v850.c (v850_hard_regno_mode_ok): New function.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	* config/vax/vax.h (HARD_REGNO_MODE_OK): Delete.
-	* config/visium/visium.h (HARD_REGNO_MODE_OK): Delete.
-	* config/visium/visium.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(visium_hard_regno_mode_ok): New function.
-	* config/visium/visium.md: Refer to targetm.hard_regno_mode_ok
-	instead of HARD_REGNO_MODE_OK.
-	* config/xtensa/xtensa.h (xtensa_hard_regno_mode_ok): Delete.
-	(HARD_REGNO_MODE_OK): Delete.
-	* config/xtensa/xtensa.c (xtensa_hard_regno_mode_ok): Rename to...
-	(xtensa_hard_regno_mode_ok_p): ...this and make static.
-	(xtensa_option_override): Update accordingly.
-	(TARGET_HARD_REGNO_MODE_OK): Redefine.
-	(xtensa_hard_regno_mode_ok): New function.
-	* system.h (HARD_REGNO_MODE_OK): Poison.
-
-2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (hard_regno_call_part_clobbered): New hook.
-	* doc/tm.texi.in (HARD_REGNO_CALL_PART_CLOBBERED): Replace with...
-	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): ...this hook.
-	* doc/tm.texi: Regenerate.
-	* hooks.h (hook_bool_uint_mode_false): Declare.
-	* hooks.c (hook_bool_uint_mode_false): New function.
-	* regs.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
-	* cselib.c (cselib_process_insn): Use
-	targetm.hard_regno_call_part_clobbered instead of
-	HARD_REGNO_CALL_PART_CLOBBERED.
-	* ira-conflicts.c (ira_build_conflicts): Likewise.
-	* ira-costs.c (ira_tune_allocno_costs): Likewise.
-	* lra-constraints.c (need_for_call_save_p): Likewise.
-	* lra-lives.c: Include target.h.
-	(check_pseudos_live_through_calls): Use
-	targetm.hard_regno_call_part_clobbered instead of
-	HARD_REGNO_CALL_PART_CLOBBERED.
-	* regcprop.c: Include target.h.
-	(copyprop_hardreg_forward_1): Use
-	targetm.hard_regno_call_part_clobbered instead of
-	HARD_REGNO_CALL_PART_CLOBBERED.
-	* reginfo.c (choose_hard_reg_mode): Likewise.
-	* regrename.c (check_new_reg_p): Likewise.
-	* reload.c (find_equiv_reg): Likewise.
-	* reload1.c (emit_reload_insns): Likewise.
-	* sched-deps.c (deps_analyze_insn): Likewise.
-	* sel-sched.c (init_regs_for_mode): Likewise.
-	(mark_unavailable_hard_regs): Likewise.
-	* targhooks.c (default_dwarf_frame_reg_mode): Likewise.
-	* config/aarch64/aarch64.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
-	* config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered):
-	New function.
-	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
-	* config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
-	* config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered):
-	Delete.
-	* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Make static
-	and return a bool.
-	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
-	* config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
-	* config/i386/i386.c (ix86_hard_regno_call_part_clobbered): New
-	function.
-	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
-	* config/mips/mips.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
-	* config/mips/mips.c (mips_hard_regno_call_part_clobbered): New
-	function.
-	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
-	* config/powerpcspe/powerpcspe.h (HARD_REGNO_CALL_PART_CLOBBERED):
-	Delete.
-	* config/powerpcspe/powerpcspe.c
-	(rs6000_hard_regno_call_part_clobbered): New function.
-	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
-	* config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered):
-	New function.
-	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
-	* config/s390/s390.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
-	* config/s390/s390.c (s390_hard_regno_call_part_clobbered): New
-	function.
-	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
-	* config/sh/sh.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
-	* system.h (HARD_REGNO_CALL_PART_CLOBBERED): Poison.
-
-2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (subreg_memory_offset): Declare.
-	* emit-rtl.c (subreg_memory_offset): New function.
-	* expmed.c (store_bit_field_1): Use it.
-	* expr.c (undefined_operand_subword_p): Likewise.
-	* simplify-rtx.c (simplify_subreg): Likewise.
-
-2017-09-04  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR rtl-optimization/57448
-	PR target/67458
-	PR target/81316
-	* optabs.c (expand_atomic_load): Place compiler memory barriers if
-	using atomic_load pattern.
-	(expand_atomic_store): Likewise.
-
-2017-09-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81981
-	* gimple-fold.c (gimple_fold_call): Optimize away useless UBSAN_PTR
-	and UBSAN_BOUNDS internal calls.  Clean up IFN_UBSAN_OBJECT_SIZE
-	handling.  Use replace_call_with_value with NULL instead of
-	gsi_replace, unlink_stmt_vdef and release_defs.
-
-	* gdbhooks.py (OptMachineModePrinter.to_string): Use 8 spaces
-	instead of tab.
-
-	* lra-remat.c (reg_overlap_for_remat_p): Fix a pasto.
-
-2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR bootstrap/82045
-	* rtl.h (emit_library_call_value_1): Declare.
-	(emit_library_call): Replace declaration with a series of overloads.
-	Remove the parameter count argument.
-	(emit_library_call_value): Likewise.
-	* calls.c (emit_library_call_value_1): Make global.  Replace varargs
-	with an "rtx_mode_t *".
-	(emit_library_call_value): Delete.
-	(emit_library_call): Likewise.
-	* asan.c (asan_emit_stack_protection): Update calls accordingly.
-	(asan_emit_allocas_unpoison): Likewise.
-	* builtins.c (expand_builtin_powi): Likewise.
-	(expand_asan_emit_allocas_unpoison): Likewise.
-	* cfgexpand.c (expand_main_function): Likewise.
-	* config/aarch64/aarch64.c (aarch64_trampoline_init): Likewise.
-	* config/aarch64/aarch64.h (PROFILE_HOOK): Likewise.
-	* config/alpha/alpha.c (alpha_trampoline_init): Likewise.
-	* config/arm/arm.c (arm_trampoline_init): Likewise.
-	(arm_call_tls_get_addr): Likewise.
-	(arm_expand_divmod_libfunc): Likewise.
-	* config/bfin/bfin.md (umulsi3_highpart): Likewise.
-	(smulsi3_highpart): Likewise.
-	* config/c6x/c6x.c (c6x_initialize_trampoline): Likewise.
-	(c6x_expand_compare): Likewise.
-	(c6x_expand_movmem): Likewise.
-	* config/frv/frv.c (frv_trampoline_init): Likewise.
-	* config/i386/i386.c (ix86_trampoline_init): Likewise.
-	(ix86_expand_divmod_libfunc): Likewise.
-	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
-	(ia64_expand_compare): Likewise.
-	(ia64_profile_hook): Likewise.
-	* config/ia64/ia64.md (save_stack_nonlocal): Likewise.
-	(nonlocal_goto): Likewise.
-	(restore_stack_nonlocal): Likewise.
-	* config/m32r/m32r.c (block_move_call): Likewise.
-	(m32r_trampoline_init): Likewise.
-	* config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise.
-	* config/m68k/m68k.c (m68k_call_tls_get_addr): Likewise.
-	(m68k_call_m68k_read_tp): Likewise.
-	* config/microblaze/microblaze.c (microblaze_call_tls_get_addr)
-	(microblaze_expand_divide): Likewise.
-	* config/mips/mips.h (mips_args): Likewise.
-	* config/mips/sdemtk.h (mips_sync_icache): Likewise.
-	(MIPS_ICACHE_SYNC): Likewise.
-	* config/nios2/nios2.c (nios2_emit_expensive_div): Likewise.
-	(nios2_trampoline_init): Likewise.
-	* config/pa/pa.c (hppa_tls_call): Likewise.
-	(pa_trampoline_init): Likewise.
-	* config/pa/pa.md (canonicalize_funcptr_for_compare): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_legitimize_tls_address)
-	(expand_strn_compare): Likewise.
-	(rs6000_generate_compare): Likewise.
-	(rs6000_expand_float128_convert): Likewise.
-	(output_profile_hook): Likewise.
-	(rs6000_trampoline_init): Likewise.
-	* config/powerpcspe/powerpcspe.md (neg<mode>2): Likewise.
-	* config/riscv/riscv.h (PROFILE_HOOK): Likewise.
-	* config/rs6000/rs6000-string.c (expand_strn_compare): Likewise.
-	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
-	(rs6000_generate_compare): Likewise.
-	(rs6000_expand_float128_convert): Likewise.
-	(output_profile_hook): Likewise.
-	(rs6000_trampoline_init): Likewise.
-	* config/rs6000/rs6000.md (neg<mode>2): Likewise.
-	* config/sh/sh.c (sh_trampoline_init): Likewise.
-	* config/sparc/sparc.c (emit_soft_tfmode_libcall): Likewise.
-	(sparc_emit_float_lib_cmp): Likewise.
-	(sparc32_initialize_trampoline): Likewise.
-	(sparc64_initialize_trampoline): Likewise.
-	(sparc_profile_hook): Likewise.
-	* config/spu/spu.c (ea_load_store): Likewise.
-	* config/spu/spu.md (floatunssidf2): Likewise.
-	* config/tilegx/tilegx.c (tilegx_trampoline_init): Likewise.
-	* config/tilepro/tilepro.c (tilepro_trampoline_init): Likewise.
-	* config/visium/visium.c (expand_block_move_4): Likewise.
-	(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.
-	(visium_profile_hook): Likewise.
-	* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Likewise.
-	(xtensa_setup_frame_addresses): Likewise.
-	(xtensa_trampoline_init): Likewise.
-	* except.c (sjlj_emit_function_enter): Likewise.
-	(sjlj_emit_function_exit): Likewise.
-	* explow.c (allocate_dynamic_stack_space): Likewise.
-	(probe_stack_range): Likewise.
-	* expr.c (convert_mode_scalar): Likewise.
-	* optabs.c (expand_binop): Likewise.
-	(expand_twoval_binop_libfunc): Likewise.
-	(expand_unop): Likewise.
-	(prepare_cmp_insn): Likewise.
-	(prepare_float_lib_cmp): Likewise.
-	(expand_float): Likewise.
-	(expand_fix): Likewise.
-	(expand_fixed_convert): Likewise.
-	(maybe_emit_sync_lock_test_and_set): Likewise.
-	(expand_atomic_compare_and_swap): Likewise.
-	(expand_mem_thread_fence): Likewise.
-	(expand_atomic_fetch_op): Likewise.
-
-2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/generic.texi (OpenACC): Adjust URL.
-	* doc/invoke.texi (C Dialect Options): Ditto.
-
-2017-09-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*bt<mode>): Use nonimmediate_operand
-	predicate for operand 1.  Add (m,<S>) constraint.
-	(*jcc_bt<mode>): Use nonimmediate_operand predicate for operand 1.
-	Prevent memory operand 1 with register operand 2.
-
-2017-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/82024
-	* combine.c (try_combine): If the combination result is a PARALLEL,
-	and we only need to retain the SET in there that would be placed
-	at I2, check that we can place that at I3 instead, before doing so.
-
-2017-09-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81766
-	* config/i386/i386.c (ix86_init_large_pic_reg): Return label
-	instead of void.
-	(ix86_init_pic_reg): Remember label from ix86_init_large_pic_reg,
-	if non-NULL and preceded by NOTE_INSN_BASIC_BLOCK, swap the note
-	and label.
-
-2017-09-01  Joerg Sonnenberger  <joerg@bec.de>
-	    Jeff Law  <law@redhat.com>
-
-	* varasm.c (bss_initializer_p): Do not put constants into .bss
-	(categorize_decl_for_section): Handle bss_initializer_p returning
-	false when DECL_INITIAL is NULL.
-
-2017-09-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/82012
-	* config/s390/s390.c (s390_can_inline_p): New function.
-
-2017-09-01  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/82052
-	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr):
-	Always initialize the returned slot after a hash table miss
-	when INSERT is true.
-
-2017-09-01  Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/s390/s390.md (mem_signal_fence): Remove.
-	* doc/md.texi (mem_signal_fence): Remove.
-	* optabs.c (expand_mem_signal_fence): Remove uses of mem_signal_fence.
-	Update comments.
-	* target-insns.def (mem_signal_fence): Remove.
-
-2017-09-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81902
-	* doc/invoke.texi: Document -fsanitize=pointer-overflow.
-
-	PR sanitizer/81923
-	* asan.c (create_odr_indicator): Strip name encoding from assembler
-	name before appending it after __odr_asan_.
-
-2017-09-01  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/82059
-	* gimple-ssa-isolate-paths.c (isolate_path): Add profile and
-	frequency only when an edge is redirected.
-
-2017-09-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-c.c (__ARC_LPC_WIDTH__): Add builtin define.
-	* config/arc/arc.c (ARC_MAX_LOOP_LENGTH): Define.
-	(arc_conditional_register_usage): Remove ARC600 lp_count
-	exception.
-	(arc_file_start): Emit Tag_ARC_CPU_variation.
-	(arc_can_use_doloop_p): New conditions to use ZOLs.
-	(hwloop_fail): New function.
-	(hwloop_optimize): Likewise.
-	(hwloop_pattern_reg): Likewise.
-	(arc_doloop_hooks): New struct, to be used with reorg_loops.
-	(arc_reorg_loops): New function, calls reorg_loops.
-	(arc_reorg): Call arc_reorg_loops.  Remove old ZOL handling.
-	(arc600_corereg_hazard): Remove ZOL checking, case handled by
-	hwloop_optimize.
-	(arc_loop_hazard): Remove function, functionality moved into
-	hwloop_optimize.
-	(arc_hazard): Remove arc_loop_hazard call.
-	(arc_adjust_insn_length): Remove ZOL handling, functionality moved
-	into hwloop_optimize.
-	(arc_label_align): Remove ZOL handling.
-	* config/arc/arc.h (LOOP_ALIGN): Changed to 0.
-	* config/arc/arc.md (doloop_begin): Remove pattern.
-	(doloop_begin_i): Likewise.
-	(doloop_end_i): Likewise.
-	(doloop_fallback): Likewise.
-	(doloop_fallback_m): Likewise.
-	(doloop_end): Reimplement expand.
-	(arc_lp): New pattern for LP instruction.
-	(loop_end): New pattern.
-	(loop_fail): Likewise.
-	(decrement_and_branch_until_zero): Likewise.
-	* config/arc/arc.opt (mlpc-width): New option.
-	* doc/invoke.texi (mlpc-width): Document option.
-
-2017-09-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_ifcvt): Remove use of merge_blocks call.
-	(arc_ccfsm_advance): Fix checking for delay slots.
-	(arc_reorg): Add rtl dump after each call to arc_ifcvt.
-
-2017-09-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (movqi_insn): Add stores to save constant long
-	immediates.
-	(movhi_insn): Update store instruction constraint which are saving
-	6-bit short immediates.
-	(movsi_insn): Consider also short scaled load operations.
-	(zero_extendhisi2_i): Use Usd constraint instead of T.
-	(extendhisi2_i): Add q constraint.
-	(arc_clzsi2): Add type and length attributes.
-	(arc_ctzsi2): Likewise.
-	* config/arc/constraints.md (Usc): Update constraint, the
-	assembler can parse two relocations for a single instruction.
-
-2017-09-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_use_anchors_for_symbol_p): New function.
-	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
-
-2017-08-31  Olivier Hainque  <hainque@adacore.com>
-
-	* config.gcc (powerpc-wrs-vxworks|vxworksae|vxworksmils): Now
-	match as powerpc-wrs-vxworks*.
-
-2017-08-31  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_mla_elt_merge<mode>): Fix
-	register constraint for by-element operand.
-	(aarch64_mls_elt_merge<mode>): Likewise.
-
-2017-08-31  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_can_follow_jump): Check for short
-	branches.
-
-2017-08-31  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config.gcc: Use g.opt for arc.
-	* config/arc/arc.c (LEGITIMATE_SCALED_ADDRESS_P): Deleted,
-	functionality moved to ...
-	(legitimate_scaled_address_p): New function, ...here.
-	(LEGITIMATE_SMALL_DATA_OFFSET_P): New define.
-	(LEGITIMATE_SMALL_DATA_ADDRESS_P): Use the above define.
-	(legitimate_offset_address_p): Delete TARGET_NO_SDATA_SET
-	condition.
-	(arc_override_options): Handle G option.
-	(arc_output_pic_addr_const): Correct function definition.
-	(arc_legitimate_address_p): Use legitimate_scaled_address_p.
-	(arc_decl_anon_ns_mem_p): Delete.
-	(arc_in_small_data_p): Overhaul this function to take into
-	consideration the value given via G option.
-	(arc_rewrite_small_data_1): Renamed and corrected old
-	arc_rewrite_small_data function.
-	(arc_rewrite_small_data): New function.
-	(small_data_pattern): Don't use pic_offset_table_rtx.
-	* config/arc/arc.h (CC1_SPEC): Recognize G option.
-	* config/arc/simdext.md (movmisalignv2hi): Use
-	prepare_move_operands function.
-	(mov*): Likewise.
-	(movmisalign*): Likewise.
-	* doc/invoke.texi (ARC options): Document -G option.
-
-2017-08-31  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-protos.h (compact_sda_memory_operand): Update
-	prototype.
-	* config/arc/arc.c (arc_print_operand): Output scalled address for
-	sdata whenever is possible.
-	(arc_in_small_data_p): Allow sdata for 64bit datum when double
-	load/stores are available.
-	(compact_sda_memory_operand): Check for the alignment required by
-	code density instructions.
-	* config/arc/arc.md (movsi_insn): Use newly introduced Us0
-	constraint.
-	* config/arc/constraints.md (Usd): Update constraint.
-	(Us0): New constraint.
-	(Usc): Update constraint.
-
-2017-08-31  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/82054
-	* dwarf2out.c (dwarf2out_early_global_decl): Process each
-	function only once.
-
-2017-08-31  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
-	Resize type_signature.
-
-2017-08-31  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_base_register_rtx_p): Only allow
-	subregs whose inner modes can be stored in GPRs.
-	(aarch64_classify_index): Likewise.
-
-2017-08-31  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/iterators.md (V_cmp_result): Rename to...
-	(V_INT_EQUIV): ...this.
-	(v_cmp_result): Rename to...
-	(v_int_equiv): ...this.
-	* config/aarch64/aarch64.md (xorsign<mode>3): Update accordingly.
-	* config/aarch64/aarch64-simd.md (xorsign<mode>3): Likewise.
-	(copysign<mode>3): Likewise.
-	(aarch64_simd_bsl<mode>_internal): Likewise.
-	(aarch64_simd_bsl<mode>): Likewise.
-	(vec_cmp<mode><mode>): Likewise.
-	(vcond<mode><mode>): Likewise.
-	(vcond<v_cmp_mixed><mode>): Likewise.
-	(vcondu<mode><v_cmp_mixed>): Likewise.
-	(aarch64_cm<optab><mode>): Likewise.
-	(aarch64_cmtst<mode>): Likewise.
-	(aarch64_fac<optab><mode>): Likewise.
-	(vec_perm_const<mode>): Likewise.
-	(vcond_mask_<mode><v_cmp_result>): Rename to...
-	(vcond_mask_<mode><v_int_equiv>): ...this.
-	(vec_cmp<mode><v_cmp_result>): Rename to...
-	(vec_cmp<mode><v_int_equiv>): ...this.
-
-2017-08-31  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-modes.def: Remove 32-, 48- and 64-byte
-	vector modes.
-	* config/aarch64/iterators.md (VRL2, VRL3, VRL4): Delete.
-	* config/aarch64/aarch64.md (UNSPEC_LD2_DREG, UNSPEC_LD3_DREG)
-	(UNSPEC_LD4_DREG): New unspecs.
-	* config/aarch64/aarch64-simd.md (aarch64_ld2<mode>_dreg_le)
-	(aarch64_ld2<mode>_dreg_be): Replace with...
-	(aarch64_ld2<mode>_dreg): ...this pattern and use the new DREG
-	unspec.
-	(aarch64_ld3<mode>_dreg_le)
-	(aarch64_ld3<mode>_dreg_be): Replace with...
-	(aarch64_ld3<mode>_dreg): ...this pattern and use the new DREG
-	unspec.
-	(aarch64_ld4<mode>_dreg_le)
-	(aarch64_ld4<mode>_dreg_be): Replace with...
-	(aarch64_ld4<mode>_dreg): ...this pattern and use the new DREG
-	unspec.
-
-2017-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/81987
-	* gimple-ssa-strength-reduction.c (insert_initializers): Don't
-	insert an initializer in a location not dominated by the stride
-	definition.
-
-2017-08-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-eh.c (lower_try_finally_switch): Set the location of the finally
-	on the entire header of the finally block in the fallthru case.
-
-2017-08-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* varasm.c (decode_addr_const): Deal with INDIRECT_REF <INTEGER_CST>.
-
-2017-08-30  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_emit_prologue_move_from_cr): Rename from
-	rs6000_emit_move_from_cr and call renamed function.
-	(rs6000_emit_prologue): Call renamed functions.
-	* config/rs6000/rs6000.md (prologue_movesi_from_cr): Rename from
-	movesi_from_cr, remove volatile CRs.
-
-2017-08-30  Jon Beniston  <jon@beniston.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-patterns.c (vect_pattern_recog_1): Use VECTOR_TYPE_P instead
-	of VECTOR_MODE_P check.
-	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Allow single
-	element vector types.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* df.h (df_read_modify_subreg_p): Remove in favor of...
-	* rtl.h (read_modify_subreg_p): ...this new function.  Take a
-	const_rtx instead of an rtx.
-	* cprop.c (local_cprop_find_used_regs): Update accordingly.
-	* df-problems.c (df_word_lr_mark_ref): Likewise.
-	* ira-lives.c (mark_pseudo_reg_live): Likewise.
-	(mark_pseudo_reg_dead): Likewise.
-	(mark_ref_dead): Likewise.
-	* reginfo.c (init_subregs_of_mode): Likewise.
-	* sched-deps.c (sched_analyze_1): Likewise.
-	* df-scan.c (df_def_record_1): Likewise.
-	(df_uses_record): Likewise.
-	(df_read_modify_subreg_p): Remove in favor of...
-	* rtlanal.c (read_modify_subreg_p): ...this new function.  Take a
-	const_rtx instead of an rtx.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (partial_subreg_p): New function.
-	* caller-save.c (save_call_clobbered_regs): Use it.
-	* calls.c (expand_call): Likewise.
-	* combine.c (combinable_i3pat): Likewise.
-	(simplify_set): Likewise.
-	(make_extraction): Likewise.
-	(make_compound_operation_int): Likewise.
-	(gen_lowpart_or_truncate): Likewise.
-	(force_to_mode): Likewise.
-	(make_field_assignment): Likewise.
-	(reg_truncated_to_mode): Likewise.
-	(record_truncated_value): Likewise.
-	(move_deaths): Likewise.
-	* cse.c (record_jump_cond): Likewise.
-	(cse_insn): Likewise.
-	* cselib.c (cselib_lookup_1): Likewise.
-	* expmed.c (extract_bit_field_using_extv): Likewise.
-	* function.c (assign_parm_setup_reg): Likewise.
-	* ifcvt.c (noce_convert_multiple_sets): Likewise.
-	* ira-build.c (create_insn_allocnos): Likewise.
-	* lra-coalesce.c (merge_pseudos): Likewise.
-	* lra-constraints.c (match_reload): Likewise.
-	(simplify_operand_subreg): Likewise.
-	(curr_insn_transform): Likewise.
-	* lra-lives.c (process_bb_lives): Likewise.
-	* lra.c (new_insn_reg): Likewise.
-	(lra_substitute_pseudo): Likewise.
-	* regcprop.c (mode_change_ok): Likewise.
-	(maybe_mode_change): Likewise.
-	(copyprop_hardreg_forward_1): Likewise.
-	* reload.c (push_reload): Likewise.
-	(find_reloads): Likewise.
-	(find_reloads_subreg_address): Likewise.
-	* reload1.c (alter_reg): Likewise.
-	(eliminate_regs_1): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-
-2017-08-30  David Edelsohn  <dje.gcc@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Revert
-	back to if statements, including unpack.
-
-2017-08-30  Martin Liska  <mliska@suse.cz>
-
-	PR inline-asm/82001
-	* ipa-icf-gimple.c (func_checker::compare_tree_list_operand):
-	Rename to ...
-	(func_checker::compare_asm_inputs_outputs): ... this function.
-	(func_checker::compare_gimple_asm): Use the function to compare
-	also ASM constrains.
-	* ipa-icf-gimple.h: Rename the function.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (complex_mode): New type.
-	* gdbhooks.py (build_pretty_printer): Handle it.
-	* machmode.h (complex_mode): New class.
-	(complex_mode::includes_p): New function.
-	(is_complex_int_mode): Likewise.
-	(is_complex_float_mode): Likewise.
-	* genmodes.c (get_mode_class): Handle complex mode classes.
-	* function.c (expand_function_end): Use is_complex_int_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (scalar_mode_pod): New typedef.
-	* gdbhooks.py (build_pretty_printer): Handle it.
-	* machmode.h (gt_ggc_mx, gt_pch_nx): New functions.
-	* fixed-value.h (fixed_value::mode): Change type to scalar_mode_pod.
-	* fold-const.c (fold_convert_const_int_from_fixed): Use scalar_mode.
-	* tree-streamer-in.c (unpack_ts_fixed_cst_value_fields): Use
-	as_a <scalar_mode>.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (mode_for_vector): Take a scalar_mode instead
-	of a machine_mode.
-	* stor-layout.c (mode_for_vector): Likewise.
-	* explow.c (promote_mode): Use as_a <scalar_mode>.
-	* sdbout.c (sdbout_parms): Use is_a <scalar_mode>.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (preferred_simd_mode): Take a scalar_mode
-	instead of a machine_mode.
-	* targhooks.h (default_preferred_simd_mode): Likewise.
-	* targhooks.c (default_preferred_simd_mode): Likewise.
-	* config/arc/arc.c (arc_preferred_simd_mode): Likewise.
-	* config/arm/arm.c (arm_preferred_simd_mode): Likewise.
-	* config/c6x/c6x.c (c6x_preferred_simd_mode): Likewise.
-	* config/epiphany/epiphany.c (epiphany_preferred_simd_mode): Likewise.
-	* config/i386/i386.c (ix86_preferred_simd_mode): Likewise.
-	* config/mips/mips.c (mips_preferred_simd_mode): Likewise.
-	* config/nvptx/nvptx.c (nvptx_preferred_simd_mode): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_preferred_simd_mode):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_preferred_simd_mode): Likewise.
-	* config/s390/s390.c (s390_preferred_simd_mode): Likewise.
-	* config/sparc/sparc.c (sparc_preferred_simd_mode): Likewise.
-	* config/aarch64/aarch64.c (aarch64_preferred_simd_mode): Likewise.
-	(aarch64_simd_scalar_immediate_valid_for_move): Update accordingly.
-	* doc/tm.texi: Regenerate.
-	* optabs-query.c (can_vec_mask_load_store_p): Return false for
-	non-scalar modes.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (scalar_mode_supported_p): Take a scalar_mode
-	instead of a machine_mode.
-	* targhooks.h (default_scalar_mode_supported_p): Likewise.
-	* targhooks.c (default_scalar_mode_supported_p): Likewise.
-	* config/aarch64/aarch64.c (aarch64_scalar_mode_supported_p): Likewise.
-	* config/alpha/alpha.c (alpha_scalar_mode_supported_p): Likewise.
-	* config/arm/arm.c (arm_scalar_mode_supported_p): Likewise.
-	* config/avr/avr.c (avr_scalar_mode_supported_p): Likewise.
-	* config/c6x/c6x.c (c6x_scalar_mode_supported_p): Likewise.
-	* config/i386/i386.c (ix86_scalar_mode_supported_p): Likewise.
-	* config/ia64/ia64.c (ia64_scalar_mode_supported_p): Likewise.
-	* config/mips/mips.c (mips_scalar_mode_supported_p): Likewise.
-	* config/msp430/msp430.c (msp430_scalar_mode_supported_p): Likewise.
-	* config/pa/pa.c (pa_scalar_mode_supported_p): Likewise.
-	* config/pdp11/pdp11.c (pdp11_scalar_mode_supported_p): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_scalar_mode_supported_p):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Likewise.
-	* config/s390/s390.c (s390_scalar_mode_supported_p): Likewise.
-	* config/spu/spu.c (spu_scalar_mode_supported_p): Likewise.
-	* config/tilegx/tilegx.c (tilegx_scalar_mode_supported_p): Likewise.
-	* config/tilepro/tilepro.c (tilepro_scalar_mode_supported_p):
-	Likewise.
-	* doc/tm.texi: Regenerate.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (opt_scalar_mode): New typedef.
-	* gdbhooks.py (build_pretty_printers): Handle it.
-	* machmode.h (mode_iterator::get_2xwider): Add overload for
-	opt_mode<T>.
-	* emit-rtl.c (init_emit_once): Use opt_scalar_mode when iterating
-	over scalar modes.
-	* expr.c (convert_mode_scalar): Likewise.
-	* omp-low.c (omp_clause_aligned_alignment): Likewise.
-	* optabs.c (expand_float): Likewise.
-	(expand_fix): Likewise.
-	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* optabs.c (expand_float): Explicitly check for scalars before
-	using a branching expansion.
-	(expand_fix): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.c (convert_mode): Split scalar handling out into...
-	(convert_mode_scalar): ...this new function.  Treat the modes
-	as scalar_modes.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* omp-expand.c (expand_omp_atomic): Use is_int_mode, is_float_mode
-	and scalar_mode.
-	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* fixed-value.h (fixed_from_double_int): Take a scalar_mode
-	rather than a machine_mode.
-	(fixed_from_string): Likewise.
-	(fixed_convert): Likewise.
-	(fixed_convert_from_int): Likewise.
-	(fixed_convert_from_real): Likewise.
-	(real_convert_from_fixed): Likewise.
-	* fixed-value.c (fixed_from_double_int): Likewise.
-	(fixed_from_string): Likewise.
-	(fixed_convert): Likewise.
-	(fixed_convert_from_int): Likewise.
-	(fixed_convert_from_real): Likewise.
-	(real_convert_from_fixed): Likewise.
-	* config/avr/avr.c (avr_out_round): Use as_a <scalar_mode>.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* emit-rtl.c (immed_double_const): Use is_a <scalar_mode> instead
-	of separate mode class checks.  Do not allow vector modes here.
-	(immed_wide_int_const): Use as_a <scalar_mode>.
-	* explow.c (trunc_int_for_mode): Likewise.
-	* rtl.h (wi::int_traits<rtx_mode_t>::get_precision): Likewise.
-	(wi::shwi): Likewise.
-	(wi::min_value): Likewise.
-	(wi::max_value): Likewise.
-	* dwarf2out.c (loc_descriptor): Likewise.
-	* simplify-rtx.c (simplify_immed_subreg): Fix rtx_mode_t argument
-	for CONST_WIDE_INT.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (SCALAR_TYPE_MODE): New macro.
-	* expr.c (expand_expr_addr_expr_1): Use it.
-	(expand_expr_real_2): Likewise.
-	* fold-const.c (fold_convert_const_fixed_from_fixed): Likeise.
-	(fold_convert_const_fixed_from_int): Likewise.
-	(fold_convert_const_fixed_from_real): Likewise.
-	(native_encode_fixed): Likewise
-	(native_encode_complex): Likewise
-	(native_encode_vector): Likewise.
-	(native_interpret_fixed): Likewise.
-	(native_interpret_real): Likewise.
-	(native_interpret_complex): Likewise.
-	(native_interpret_vector): Likewise.
-	* omp-simd-clone.c (simd_clone_adjust_return_type): Likewise.
-	(simd_clone_adjust_argument_types): Likewise.
-	(simd_clone_init_simd_arrays): Likewise.
-	(simd_clone_adjust): Likewise.
-	* stor-layout.c (layout_type): Likewise.
-	* tree.c (build_minus_one_cst): Likewise.
-	* tree-cfg.c (verify_gimple_assign_ternary): Likewise.
-	* tree-inline.c (estimate_move_cost): Likewise.
-	* tree-ssa-math-opts.c (convert_plusminus_to_widen): Likewise.
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
-	(vectorizable_reduction): Likewise.
-	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Likewise.
-	(vect_recog_mixed_size_cond_pattern): Likewise.
-	(check_bool_pattern): Likewise.
-	(adjust_bool_pattern): Likewise.
-	(search_type_for_mask_1): Likewise.
-	* tree-vect-slp.c (vect_schedule_slp_instance): Likewise.
-	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
-	(vectorizable_load): Likewise.
-	(vectorizable_store): Likewise.
-	* ubsan.c (ubsan_encode_value): Likewise.
-	* varasm.c (output_constant): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (scalar_mode): New class.
-	* machmode.h (scalar_mode): Likewise.
-	(scalar_mode::includes_p): New function.
-	(mode_to_inner): Return a scalar_mode rather than a machine_mode.
-	* gdbhooks.py (build_pretty_printers): Handle scalar_mode.
-	* genmodes.c (get_mode_class): Handle remaining scalar modes.
-	* cfgexpand.c (expand_debug_expr): Use scalar_mode.
-	* expmed.c (store_bit_field_1): Likewise.
-	(extract_bit_field_1): Likewise.
-	* expr.c (write_complex_part): Likewise.
-	(read_complex_part): Likewise.
-	(emit_move_complex_push): Likewise.
-	(expand_expr_real_2): Likewise.
-	* function.c (assign_parm_setup_reg): Likewise.
-	(assign_parms_unsplit_complex): Likewise.
-	* optabs.c (expand_binop): Likewise.
-	* rtlanal.c (subreg_get_info): Likewise.
-	* simplify-rtx.c (simplify_immed_subreg): Likewise.
-	* varasm.c (output_constant_pool_2): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expmed.c (extract_high_half): Use scalar_int_mode and remove
-	assertion.
-	(expmed_mult_highpart_optab): Likewise.
-	(expmed_mult_highpart): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* builtins.h (builtin_strncpy_read_str): Take a scalar_int_mode
-	instead of a machine_mode.
-	(builtin_memset_read_str): Likewise.
-	* builtins.c (c_readstr): Likewise.
-	(builtin_memcpy_read_str): Likewise.
-	(builtin_strncpy_read_str): Likewise.
-	(builtin_memset_read_str): Likewise.
-	(builtin_memset_gen_str): Likewise.
-	(expand_builtin_signbit): Use scalar_int_mode for local variables.
-	* cfgexpand.c (convert_debug_memory_address): Take a scalar_int_mode
-	instead of a machine_mode.
-	* combine.c (simplify_if_then_else): Use scalar_int_mode for local
-	variables.
-	(make_extraction): Likewise.
-	(try_widen_shift_mode): Take and return scalar_int_modes instead
-	of machine_modes.
-	* config/aarch64/aarch64.c (aarch64_libgcc_cmp_return_mode): Return
-	a scalar_int_mode instead of a machine_mode.
-	* config/avr/avr.c (avr_addr_space_address_mode): Likewise.
-	(avr_addr_space_pointer_mode): Likewise.
-	* config/cr16/cr16.c (cr16_unwind_word_mode): Likewise.
-	* config/msp430/msp430.c (msp430_addr_space_pointer_mode): Likewise.
-	(msp430_unwind_word_mode): Likewise.
-	* config/spu/spu.c (spu_unwind_word_mode): Likewise.
-	(spu_addr_space_pointer_mode): Likewise.
-	(spu_addr_space_address_mode): Likewise.
-	(spu_libgcc_cmp_return_mode): Likewise.
-	(spu_libgcc_shift_count_mode): Likewise.
-	* config/rl78/rl78.c (rl78_addr_space_address_mode): Likewise.
-	(rl78_addr_space_pointer_mode): Likewise.
-	(fl78_unwind_word_mode): Likewise.
-	(rl78_valid_pointer_mode): Take a scalar_int_mode instead of a
-	machine_mode.
-	* config/alpha/alpha.c (vms_valid_pointer_mode): Likewise.
-	* config/ia64/ia64.c (ia64_vms_valid_pointer_mode): Likewise.
-	* config/mips/mips.c (mips_mode_rep_extended): Likewise.
-	(mips_valid_pointer_mode): Likewise.
-	* config/tilegx/tilegx.c (tilegx_mode_rep_extended): Likewise.
-	* config/ft32/ft32.c (ft32_valid_pointer_mode): Likewise.
-	(ft32_addr_space_pointer_mode): Return a scalar_int_mode instead
-	of a machine_mode.
-	(ft32_addr_space_address_mode): Likewise.
-	* config/m32c/m32c.c (m32c_valid_pointer_mode): Take a
-	scalar_int_mode instead of a machine_mode.
-	(m32c_addr_space_pointer_mode): Return a scalar_int_mode instead
-	of a machine_mode.
-	(m32c_addr_space_address_mode): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_abi_word_mode): Likewise.
-	(rs6000_eh_return_filter_mode): Likewise.
-	* config/rs6000/rs6000.c (rs6000_abi_word_mode): Likewise.
-	(rs6000_eh_return_filter_mode): Likewise.
-	* config/s390/s390.c (s390_libgcc_cmp_return_mode): Likewise.
-	(s390_libgcc_shift_count_mode): Likewise.
-	(s390_unwind_word_mode): Likewise.
-	(s390_valid_pointer_mode): Take a scalar_int_mode rather than a
-	machine_mode.
-	* target.def (mode_rep_extended): Likewise.
-	(valid_pointer_mode): Likewise.
-	(addr_space.valid_pointer_mode): Likewise.
-	(eh_return_filter_mode): Return a scalar_int_mode rather than
-	a machine_mode.
-	(libgcc_cmp_return_mode): Likewise.
-	(libgcc_shift_count_mode): Likewise.
-	(unwind_word_mode): Likewise.
-	(addr_space.pointer_mode): Likewise.
-	(addr_space.address_mode): Likewise.
-	* doc/tm.texi: Regenerate.
-	* dojump.c (prefer_and_bit_test): Take a scalar_int_mode rather than
-	a machine_mode.
-	(do_jump): Use scalar_int_mode for local variables.
-	* dwarf2cfi.c (init_return_column_size): Take a scalar_int_mode
-	rather than a machine_mode.
-	* dwarf2out.c (convert_descriptor_to_mode): Likewise.
-	(scompare_loc_descriptor_wide): Likewise.
-	(scompare_loc_descriptor_narrow): Likewise.
-	* emit-rtl.c (adjust_address_1): Use scalar_int_mode for local
-	variables.
-	* except.c (sjlj_emit_dispatch_table): Likewise.
-	(expand_builtin_eh_copy_values): Likewise.
-	* explow.c (convert_memory_address_addr_space_1): Likewise.
-	Take a scalar_int_mode rather than a machine_mode.
-	(convert_memory_address_addr_space): Take a scalar_int_mode rather
-	than a machine_mode.
-	(memory_address_addr_space): Use scalar_int_mode for local variables.
-	* expmed.h (expand_mult_highpart_adjust): Take a scalar_int_mode
-	rather than a machine_mode.
-	* expmed.c (mask_rtx): Likewise.
-	(init_expmed_one_conv): Likewise.
-	(expand_mult_highpart_adjust): Likewise.
-	(extract_high_half): Likewise.
-	(expmed_mult_highpart_optab): Likewise.
-	(expmed_mult_highpart): Likewise.
-	(expand_smod_pow2): Likewise.
-	(expand_sdiv_pow2): Likewise.
-	(emit_store_flag_int): Likewise.
-	(adjust_bit_field_mem_for_reg): Use scalar_int_mode for local
-	variables.
-	(extract_low_bits): Likewise.
-	* expr.h (by_pieces_constfn): Take a scalar_int_mode rather than
-	a machine_mode.
-	* expr.c (pieces_addr::adjust):  Likewise.
-	(can_store_by_pieces): Likewise.
-	(store_by_pieces): Likewise.
-	(clear_by_pieces_1): Likewise.
-	(expand_expr_addr_expr_1): Likewise.
-	(expand_expr_addr_expr): Use scalar_int_mode for local variables.
-	(expand_expr_real_1): Likewise.
-	(try_casesi): Likewise.
-	* final.c (shorten_branches): Likewise.
-	* fold-const.c (fold_convert_const_int_from_fixed): Change the
-	type of "mode" to machine_mode.
-	* internal-fn.c (expand_arith_overflow_result_store): Take a
-	scalar_int_mode rather than a machine_mode.
-	(expand_mul_overflow): Use scalar_int_mode for local variables.
-	* loop-doloop.c (doloop_modify): Likewise.
-	(doloop_optimize): Likewise.
-	* optabs.c (expand_subword_shift): Take a scalar_int_mode rather
-	than a machine_mode.
-	(expand_doubleword_shift_condmove): Likewise.
-	(expand_doubleword_shift): Likewise.
-	(expand_doubleword_clz): Likewise.
-	(expand_doubleword_popcount): Likewise.
-	(expand_doubleword_parity): Likewise.
-	(expand_absneg_bit): Use scalar_int_mode for local variables.
-	(prepare_float_lib_cmp): Likewise.
-	* rtl.h (convert_memory_address_addr_space_1): Take a scalar_int_mode
-	rather than a machine_mode.
-	(convert_memory_address_addr_space): Likewise.
-	(get_mode_bounds): Likewise.
-	(get_address_mode): Return a scalar_int_mode rather than a
-	machine_mode.
-	* rtlanal.c (get_address_mode): Likewise.
-	* stor-layout.c (get_mode_bounds): Take a scalar_int_mode rather
-	than a machine_mode.
-	* targhooks.c (default_mode_rep_extended): Likewise.
-	(default_valid_pointer_mode): Likewise.
-	(default_addr_space_valid_pointer_mode): Likewise.
-	(default_eh_return_filter_mode): Return a scalar_int_mode rather
-	than a machine_mode.
-	(default_libgcc_cmp_return_mode): Likewise.
-	(default_libgcc_shift_count_mode): Likewise.
-	(default_unwind_word_mode): Likewise.
-	(default_addr_space_pointer_mode): Likewise.
-	(default_addr_space_address_mode): Likewise.
-	* targhooks.h (default_eh_return_filter_mode): Likewise.
-	(default_libgcc_cmp_return_mode): Likewise.
-	(default_libgcc_shift_count_mode): Likewise.
-	(default_unwind_word_mode): Likewise.
-	(default_addr_space_pointer_mode): Likewise.
-	(default_addr_space_address_mode): Likewise.
-	(default_mode_rep_extended): Take a scalar_int_mode rather than
-	a machine_mode.
-	(default_valid_pointer_mode): Likewise.
-	(default_addr_space_valid_pointer_mode): Likewise.
-	* tree-ssa-address.c (addr_for_mem_ref): Use scalar_int_mode for
-	local variables.
-	* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Take a scalar_int_mode
-	rather than a machine_mode.
-	* tree-switch-conversion.c (array_value_type): Use scalar_int_mode
-	for local variables.
-	* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
-	* var-tracking.c (use_narrower_mode): Take a scalar_int_mode rather
-	than a machine_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* dojump.c (do_jump_by_parts_greater_rtx): Change the type of
-	the mode argument to scalar_int_mode.
-	(do_jump_by_parts_zero_rtx): Likewise.
-	(do_jump_by_parts_equality_rtx): Likewise.
-	(do_jump_by_parts_greater): Take a mode argument.
-	(do_jump_by_parts_equality): Likewise.
-	(do_jump_1): Update calls accordingly.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* is-a.h (safe_dyn_cast): New function.
-	* rtl.h (rtx_jump_table_data::get_data_mode): New function.
-	(jump_table_for_label): Likewise.
-	* final.c (final_addr_vec_align): Take an rtx_jump_table_data *
-	instead of an rtx_insn *.
-	(shorten_branches): Use dyn_cast instead of LABEL_P and
-	JUMP_TABLE_DATA_P.  Use jump_table_for_label and
-	rtx_jump_table_data::get_data_mode.
-	(final_scan_insn): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (try_combine): Use is_a <scalar_int_mode> when
-	trying to combine a full-register integer set with a subreg
-	integer set.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.c (expand_expr_addr_expr): Add a new_tmode local variable
-	that is always either address_mode or pointer_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.c (expand_expr_real_2): Use word_mode instead of innermode
-	when the two are known to be equal.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* simplify-rtx.c (simplify_const_unary_operation): Use
-	is_a <scalar_int_mode> instead of checking for a nonzero
-	precision.  Forcibly convert op_mode to a scalar_int_mode
-	in that case.  More clearly differentiate the operand and
-	result modes and use the former when deciding what the value
-	of a count-bits operation should be.  Use is_int_mode instead
-	of checking for a MODE_INT.  Remove redundant check for whether
-	this mode has a zero precision.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* optabs.c (widen_leading): Change the type of the mode argument
-	to scalar_int_mode.  Use opt_scalar_int_mode for the mode iterator.
-	(widen_bswap): Likewise.
-	(expand_parity): Likewise.
-	(expand_ctz): Change the type of the mode argument to scalar_int_mode.
-	(expand_ffs): Likewise.
-	(epand_unop): Check for scalar integer modes before calling the
-	above routines.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.c (const_scalar_mask_from_tree): Add a mode argument.
-	Expand commentary.
-	(expand_expr_real_1): Update call accordingly.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expmed.c (store_bit_field_using_insv): Add op0_mode and
-	value_mode arguments.  Use scalar_int_mode internally.
-	(store_bit_field_1): Rename the new integer mode from imode
-	to op0_mode and use it instead of GET_MODE (op0).  Update calls
-	to store_split_bit_field, store_bit_field_using_insv and
-	store_fixed_bit_field.
-	(store_fixed_bit_field): Add op0_mode and value_mode arguments.
-	Use scalar_int_mode internally.  Use a bit count rather than a mode
-	when calculating the largest bit size for get_best_mode.
-	Update calls to store_split_bit_field and store_fixed_bit_field_1.
-	(store_fixed_bit_field_1): Add mode and value_mode arguments.
-	Remove assertion that OP0 has a scalar integer mode.
-	(store_split_bit_field): Add op0_mode and value_mode arguments.
-	Update calls to extract_fixed_bit_field.
-	(extract_bit_field_using_extv): Add an op0_mode argument.
-	Use scalar_int_mode internally.
-	(extract_bit_field_1): Rename the new integer mode from imode to
-	op0_mode and use it instead of GET_MODE (op0).  Update calls to
-	extract_split_bit_field, extract_bit_field_using_extv and
-	extract_fixed_bit_field.
-	(extract_fixed_bit_field): Add an op0_mode argument.  Update calls
-	to extract_split_bit_field and extract_fixed_bit_field_1.
-	(extract_fixed_bit_field_1): Add a mode argument.  Remove assertion
-	that OP0 has a scalar integer mode.  Use as_a <scalar_int_mode>
-	on the target mode.
-	(extract_split_bit_field): Add an op0_mode argument.  Update call
-	to extract_fixed_bit_field.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cse.c (cse_insn): Use opt_scalar_int_mode for the mode iterator.
-	* explow.c (hard_function_value): Likewise.
-	* expmed.c (extract_fixed_bit_field_1): Likewise.  Move the
-	convert_to_mode call outside the loop.
-	* expr.c (alignment_for_piecewise_move): Use opt_scalar_int_mode
-	for the mode iterator.  Require the mode specified by max_pieces
-	to exist.
-	(emit_block_move_via_movmem): Use opt_scalar_int_mode for the
-	mode iterator.
-	(copy_blkmode_to_reg): Likewise.
-	(set_storage_via_setmem): Likewise.
-	* optabs.c (prepare_cmp_insn): Likewise.
-	* rtlanal.c (init_num_sign_bit_copies_in_rep): Likewise.
-	* stor-layout.c (finish_bitfield_representative): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (subreg_unpromoted_mode, subreg_promoted_mode): New functions.
-	* expr.c (convert_move): Use them.
-	(convert_modes): Likewise.
-	(store_expr_with_bounds): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (rtl_hooks::reg_nonzero_bits): Add a scalar_int_mode
-	parameter for the mode of "x".  Remove the "known_x", "known_mode"
-	and "known_ret" arguments.  Change the type of the mode argument
-	to scalar_int_mode.
-	(rtl_hooks:reg_num_sign_bit_copies): Likewise.
-	* combine.c (reg_nonzero_bits_for_combine): Update accordingly.
-	(reg_num_sign_bit_copies_for_combine): Likewise.
-	* rtlanal.c (nonzero_bits1): Likewise.
-	(num_sign_bit_copies1): Likewise.
-	* rtlhooks-def.h (reg_nonzero_bits_general): Likewise.
-	(reg_num_sign_bit_copies_general): Likewise.
-	* rtlhooks.c (reg_num_sign_bit_copies_general): Likewise.
-	(reg_nonzero_bits_general): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtlanal.c (num_sign_bit_copies): Handle VOIDmode here rather
-	than in subroutines.  Return 1 for non-integer modes.
-	(cached_num_sign_bit_copies): Change the type of the mode parameter
-	to scalar_int_mode.
-	(num_sign_bit_copies1): Likewise.  Remove early exit for other mode
-	classes.  Handle CONST_INT_P first and then check whether X also
-	has a scalar integer mode.  Check the same thing for inner registers
-	of a SUBREG and for values that are being extended or truncated.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtlanal.c (nonzero_bits): Handle VOIDmode here rather than
-	in subroutines.  Return the mode mask for non-integer modes.
-	(cached_nonzero_bits): Change the type of the mode parameter
-	to scalar_int_mode.
-	(nonzero_bits1): Likewise.  Remove early exit for other mode
-	classes.  Handle CONST_INT_P first and then check whether X
-	also has a scalar integer mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.c (widest_int_mode_for_size): Make the comment match the code.
-	Return a scalar_int_mode and assert that the size is greater than
-	one byte.
-	(by_pieces_ninsns): Update accordingly and remove VOIDmode handling.
-	(op_by_pieces_d::op_by_pieces_d): Likewise.
-	(op_by_pieces_d::run): Likewise.
-	(can_store_by_pieces): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (extract_left_shift): Add a mode argument and update
-	recursive calls.
-	(make_compound_operation_int): Change the type of the mode parameter
-	to scalar_int_mode and update the call to extract_left_shift.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (simplify_and_const_int): Change the type of the mode
-	parameter to scalar_int_mode.
-	(simplify_and_const_int_1): Likewise.  Update recursive call.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (simplify_compare_const): Check that the mode is a
-	scalar_int_mode (rather than VOIDmode) before testing its
-	precision.
-	(simplify_comparison): Move COMPARISON_P handling out of the
-	loop and restrict the latter part of the loop to scalar_int_modes.
-	Check is_a <scalar_int_mode> before calling HWI_COMPUTABLE_MODE_P
-	and when considering SUBREG_REGs.  Use is_int_mode instead of
-	checking GET_MODE_CLASS against MODE_INT.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (try_widen_shift_mode): Move check for equal modes to...
-	(simplify_shift_const_1): ...here.  Use scalar_int_mode for
-	shift_unit_mode and for modes involved in scalar shifts.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (force_int_to_mode): New function, split out from...
-	(force_to_mode): ...here.  Keep xmode up-to-date and use it
-	instead of GET_MODE (x).
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* optabs-query.h (extraction_insn::struct_mode): Change type to
-	opt_scalar_int_mode and update comment.
-	(extraction_insn::field_mode): Change type to scalar_int_mode.
-	(extraction_insn::pos_mode): Likewise.
-	* combine.c (make_extraction): Update accordingly.
-	* optabs-query.c (get_traditional_extraction_insn): Likewise.
-	(get_optab_extraction_insn): Likewise.
-	* recog.c (simplify_while_replacing): Likewise.
-	* expmed.c (narrow_bit_field_mem): Change the type of the mode
-	parameter to opt_scalar_int_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (bit_field_mode_iterator::next_mode): Take a pointer
-	to a scalar_int_mode instead of a machine_mode.
-	(bit_field_mode_iterator::m_mode): Change type to opt_scalar_int_mode.
-	(get_best_mode): Return a boolean and use a pointer argument to store
-	the selected mode.  Replace the limit mode parameter with a bit limit.
-	* expmed.c (adjust_bit_field_mem_for_reg): Use scalar_int_mode
-	for the values returned by bit_field_mode_iterator::next_mode.
-	(store_bit_field): Update call to get_best_mode.
-	(store_fixed_bit_field): Likewise.
-	(extract_fixed_bit_field): Likewise.
-	* expr.c (optimize_bitfield_assignment_op): Likewise.
-	* fold-const.c (optimize_bit_field_compare): Likewise.
-	(fold_truth_andor_1): Likewise.
-	* stor-layout.c (bit_field_mode_iterator::next_mode): As above.
-	Update for new type of m_mode.
-	(get_best_mode): As above.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expmed.c (strict_volatile_bitfield_p): Change the type of fieldmode
-	to scalar_int_mode.  Remove check for SCALAR_INT_MODE_P.
-	(store_bit_field): Check is_a <scalar_int_mode> before calling
-	strict_volatile_bitfield_p.
-	(extract_bit_field): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (cstore_mode): Return a scalar_int_mode.
-	* doc/tm.texi: Regenerate.
-	* config/sparc/sparc.c (sparc_cstore_mode): Return a scalar_int_mode.
-	* targhooks.h (default_cstore_mode): Likewise.
-	* targhooks.c (default_cstore_mode): Likewise, using a forced
-	conversion.
-	* expmed.c (emit_cstore): Expect the target of the cstore to be
-	a scalar_int_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cfgloop.h (rtx_iv): Change type of extend_mode and mode to
-	scalar_int_mode.
-	(niter_desc): Likewise mode.
-	(iv_analyze): Add a mode parameter.
-	(biv_p): Likewise.
-	(iv_analyze_expr): Pass the mode paraeter before the rtx it describes
-	and change its type to scalar_int_mode.
-	* loop-iv.c: Update commentary at head of file.
-	(iv_constant): Pass the mode paraeter before the rtx it describes
-	and change its type to scalar_int_mode.  Remove VOIDmode handling.
-	(iv_subreg): Change the type of the mode parameter to scalar_int_mode.
-	(iv_extend): Likewise.
-	(shorten_into_mode): Likewise.
-	(iv_add): Use scalar_int_mode.
-	(iv_mult): Likewise.
-	(iv_shift): Likewise.
-	(canonicalize_iv_subregs): Likewise.
-	(get_biv_step_1): Pass the outer_mode parameter before the rtx
-	it describes and change its mode to scalar_int_mode.   Also change
-	the type of the returned inner_mode to scalar_int_mode.
-	(get_biv_step): Likewise, turning outer_mode from a pointer
-	into a direct parameter.  Update call to get_biv_step_1.
-	(iv_analyze_biv): Add an outer_mode parameter.  Update calls to
-	iv_constant and get_biv_step.
-	(iv_analyze_expr): Pass the mode parameter before the rtx it describes
-	and change its type to scalar_int_mode.  Don't initialise iv->mode
-	to VOIDmode and remove later checks for its still being VOIDmode.
-	Update calls to iv_analyze_op and iv_analyze_expr.  Check
-	is_a <scalar_int_mode> when changing the mode under consideration.
-	(iv_analyze_def): Ignore registers that don't have a scalar_int_mode.
-	Update call to iv_analyze_expr.
-	(iv_analyze_op): Add a mode parameter.  Reject subregs whose
-	inner register is not also a scalar_int_mode.  Update call to
-	iv_analyze_biv.
-	(iv_analyze): Add a mode parameter.  Update call to iv_analyze_op.
-	(biv_p): Add a mode parameter.  Update call to iv_analyze_biv.
-	(iv_number_of_iterations): Use is_a <scalar_int_mode> instead of
-	separate mode class checks.  Update calls to iv_analyze.  Remove
-	fix-up of VOIDmodes after iv_analyze_biv.
-	* loop-unroll.c (analyze_iv_to_split_insn): Reject registers that
-	don't have a scalar_int_mode.  Update call to biv_p.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cfgexpand.c (convert_debug_memory_address): Use
-	as_a <scalar_int_mode>.
-	* combine.c (expand_compound_operation): Likewise.
-	(make_extraction): Likewise.
-	(change_zero_ext): Likewise.
-	(simplify_comparison): Likewise.
-	* cse.c (cse_insn): Likewise.
-	* dwarf2out.c (minmax_loc_descriptor): Likewise.
-	(mem_loc_descriptor): Likewise.
-	(loc_descriptor): Likewise.
-	* expmed.c (init_expmed_one_mode): Likewise.
-	(synth_mult): Likewise.
-	(emit_store_flag_1): Likewise.
-	(expand_divmod): Likewise.  Use HWI_COMPUTABLE_MODE_P instead
-	of a comparison with size.
-	* expr.c (expand_assignment): Use as_a <scalar_int_mode>.
-	(reduce_to_bit_field_precision): Likewise.
-	* function.c (expand_function_end): Likewise.
-	* internal-fn.c (expand_arith_overflow_result_store): Likewise.
-	* loop-doloop.c (doloop_modify): Likewise.
-	* optabs.c (expand_binop): Likewise.
-	(expand_unop): Likewise.
-	(expand_copysign_absneg): Likewise.
-	(prepare_cmp_insn): Likewise.
-	(maybe_legitimize_operand): Likewise.
-	* recog.c (const_scalar_int_operand): Likewise.
-	* rtlanal.c (get_address_mode): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-	(simplify_cond_clz_ctz): Likewise.
-	* tree-nested.c (get_nl_goto_field): Likewise.
-	* tree.c (build_vector_type_for_mode): Likewise.
-	* var-tracking.c (use_narrower_mode): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (SCALAR_INT_TYPE_MODE): New macro.
-	* builtins.c (expand_builtin_signbit): Use it.
-	* cfgexpand.c (expand_debug_expr): Likewise.
-	* dojump.c (do_jump): Likewise.
-	(do_compare_and_jump): Likewise.
-	* dwarf2cfi.c (expand_builtin_init_dwarf_reg_sizes): Likewise.
-	* expmed.c (make_tree): Likewise.
-	* expr.c (expand_expr_real_2): Likewise.
-	(expand_expr_real_1): Likewise.
-	(try_casesi): Likewise.
-	* fold-const-call.c (fold_const_call_ss): Likewise.
-	* fold-const.c (unextend): Likewise.
-	(extract_muldiv_1): Likewise.
-	(fold_single_bit_test): Likewise.
-	(native_encode_int): Likewise.
-	(native_encode_string): Likewise.
-	(native_interpret_int): Likewise.
-	* gimple-fold.c (gimple_fold_builtin_memset): Likewise.
-	* internal-fn.c (expand_addsub_overflow): Likewise.
-	(expand_neg_overflow): Likewise.
-	(expand_mul_overflow): Likewise.
-	(expand_arith_overflow): Likewise.
-	* match.pd: Likewise.
-	* stor-layout.c (layout_type): Likewise.
-	* tree-cfg.c (verify_gimple_assign_ternary): Likewise.
-	* tree-ssa-math-opts.c (convert_mult_to_widen): Likewise.
-	* tree-ssanames.c (get_range_info): Likewise.
-	* tree-switch-conversion.c (array_value_type) Likewise.
-	* tree-vect-patterns.c (vect_recog_rotate_pattern): Likewise.
-	(vect_recog_divmod_pattern): Likewise.
-	(vect_recog_mixed_size_cond_pattern): Likewise.
-	* tree-vrp.c (extract_range_basic): Likewise.
-	(simplify_float_conversion_using_ranges): Likewise.
-	* tree.c (int_fits_type_p): Likewise.
-	* ubsan.c (instrument_bool_enum_load): Likewise.
-	* varasm.c (mergeable_string_section): Likewise.
-	(narrowing_initializer_constant_valid_p): Likewise.
-	(output_constant): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (NARROWEST_INT_MODE): New macro.
-	* expr.c (alignment_for_piecewise_move): Use it instead of
-	GET_CLASS_NARROWEST_MODE (MODE_INT).
-	(push_block): Likewise.
-	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
-	Likewise.
-	* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* postreload.c (move2add_valid_value_p): Change the type of the
-	mode parameter to scalar_int_mode.
-	(move2add_use_add2_insn): Add a mode parameter and use it instead
-	of GET_MODE (reg).
-	(move2add_use_add3_insn): Likewise.
-	(reload_cse_move2add): Update accordingly.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* expr.c (expand_expr_real_2): Use scalar_int_mode for the
-	double-word mode.
-	* lower-subreg.c (resolve_shift_zext): Use is_a <scalar_int_mode>.
-	* optabs.c (expand_unop): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* dwarf2out.c (typed_binop): Change mode parameter to scalar_int_mode.
-	(clz_loc_descriptor): Likewise.  Remove SCALAR_INT_MODE_P check.
-	(popcount_loc_descriptor): Likewise.
-	(bswap_loc_descriptor): Likewise.
-	(rotate_loc_descriptor): Likewise.
-	(mem_loc_descriptor): Add is_a <scalar_int_mode> checks before
-	calling the functions above.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (sign_extend_short_imm): Add is_a <scalar_int_mode>
-	checks.
-	(try_combine): Likewise.
-	(simplify_if_then_else): Likewise.
-	* cse.c (cse_insn): Likewise.
-	* dwarf2out.c (mem_loc_descriptor): Likewise.
-	* emit-rtl.c (gen_lowpart_common): Likewise.
-	* simplify-rtx.c (simplify_truncation): Likewise.
-	(simplify_binary_operation_1): Likewise.
-	(simplify_const_relational_operation): Likewise.
-	(simplify_ternary_operation): Likewise.
-	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cse.c (cse_insn): Add is_a <scalar_int_mode> checks.
-	* reload.c (push_reload): Likewise.
-	(find_reloads): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (find_split_point): Add is_a <scalar_int_mode> checks.
-	(make_compound_operation_int): Likewise.
-	(change_zero_ext): Likewise.
-	* expr.c (convert_move): Likewise.
-	(convert_modes): Likewise.
-	* fwprop.c (forward_propagate_subreg): Likewise.
-	* loop-iv.c (get_biv_step_1): Likewise.
-	* optabs.c (widen_operand): Likewise.
-	* postreload.c (move2add_valid_value_p): Likewise.
-	* recog.c (simplify_while_replacing): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-	(simplify_binary_operation_1): Likewise.  Remove redundant
-	mode equality check.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (combine_simplify_rtx): Add checks for
-	is_a <scalar_int_mode>.
-	(simplify_if_then_else): Likewise.
-	(make_field_assignment): Likewise.
-	(simplify_comparison): Likewise.
-	* ifcvt.c (noce_try_bitop): Likewise.
-	* loop-invariant.c (canonicalize_address_mult): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gimple-fold.c (gimple_fold_builtin_memory_op): Use
-	is_a <scalar_int_mode> instead of != BLKmode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* cfgexpand.c (expand_debug_expr): Use is_a <scalar_int_mode>
-	instead of != VOIDmode.
-	* combine.c (if_then_else_cond): Likewise.
-	(change_zero_ext): Likewise.
-	* dwarf2out.c (mem_loc_descriptor): Likewise.
-	(loc_descriptor): Likewise.
-	* rtlanal.c (canonicalize_condition): Likewise.
-	* simplify-rtx.c (simplify_relational_operation_1): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* simplify-rtx.c (simplify_binary_operation_1): Use
-	is_a <scalar_int_mode> instead of !VECTOR_MODE_P.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* wide-int.h (int_traits<unsigned char>) New class.
-	(int_traits<unsigned short>) Likewise.
-	* cfgexpand.c (expand_debug_expr): Use is_a <scalar_int_mode>.
-	Use GET_MODE_UNIT_PRECISION and remove redundant test for
-	SCALAR_INT_MODE_P.
-	* combine.c (set_nonzero_bits_and_sign_copies): Use
-	is_a <scalar_int_mode>.
-	(find_split_point): Likewise.
-	(combine_simplify_rtx): Likewise.
-	(simplify_logical): Likewise.
-	(expand_compound_operation): Likewise.
-	(expand_field_assignment): Likewise.
-	(make_compound_operation): Likewise.
-	(extended_count): Likewise.
-	(change_zero_ext): Likewise.
-	(simplify_comparison): Likewise.
-	* dwarf2out.c (scompare_loc_descriptor): Likewise.
-	(ucompare_loc_descriptor): Likewise.
-	(minmax_loc_descriptor): Likewise.
-	(mem_loc_descriptor): Likewise.
-	(loc_descriptor): Likewise.
-	* expmed.c (init_expmed_one_mode): Likewise.
-	* lra-constraints.c (lra_constraint_offset): Likewise.
-	* optabs.c (prepare_libcall_arg): Likewise.
-	* postreload.c (move2add_note_store): Likewise.
-	* reload.c (operands_match_p): Likewise.
-	* rtl.h (load_extend_op): Likewise.
-	* rtlhooks.c (gen_lowpart_general): Likewise.
-	* simplify-rtx.c (simplify_truncation): Likewise.
-	(simplify_unary_operation_1): Likewise.
-	(simplify_binary_operation_1): Likewise.
-	(simplify_const_binary_operation): Likewise.
-	(simplify_const_relational_operation): Likewise.
-	(simplify_subreg): Likewise.
-	* stor-layout.c (bitwise_mode_for_mode): Likewise.
-	* var-tracking.c (adjust_mems): Likewise.
-	(prepare_call_arguments): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (is_int_mode): New fuction.
-	* combine.c (find_split_point): Use it.
-	(combine_simplify_rtx): Likewise.
-	(simplify_if_then_else): Likewise.
-	(simplify_set): Likewise.
-	(simplify_shift_const_1): Likewise.
-	(simplify_comparison): Likewise.
-	* config/aarch64/aarch64.c (aarch64_rtx_costs): Likewise.
-	* cse.c (notreg_cost): Likewise.
-	(cse_insn): Likewise.
-	* cselib.c (cselib_lookup_1): Likewise.
-	* dojump.c (do_jump_1): Likewise.
-	(do_compare_rtx_and_jump): Likewise.
-	* dse.c (get_call_args): Likewise.
-	* dwarf2out.c (rtl_for_decl_init): Likewise.
-	(native_encode_initializer): Likewise.
-	* expmed.c (emit_store_flag_1): Likewise.
-	(emit_store_flag): Likewise.
-	* expr.c (convert_modes): Likewise.
-	(store_field): Likewise.
-	(expand_expr_real_1): Likewise.
-	* fold-const.c (fold_read_from_constant_string): Likewise.
-	* gimple-ssa-sprintf.c (get_format_string): Likewise.
-	* optabs-libfuncs.c (gen_int_libfunc): Likewise.
-	* optabs.c (expand_binop): Likewise.
-	(expand_unop): Likewise.
-	(expand_abs_nojump): Likewise.
-	(expand_one_cmpl_abs_nojump): Likewise.
-	* simplify-rtx.c (mode_signbit_p): Likewise.
-	(val_signbit_p): Likewise.
-	(val_signbit_known_set_p): Likewise.
-	(val_signbit_known_clear_p): Likewise.
-	(simplify_relational_operation_1): Likewise.
-	* tree.c (vector_type_mode): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (smallest_mode_for_size): Fix formatting.
-	(smallest_int_mode_for_size): New function.
-	* cfgexpand.c (expand_debug_expr): Use smallest_int_mode_for_size
-	instead of smallest_mode_for_size.
-	* combine.c (make_extraction): Likewise.
-	* config/arc/arc.c (arc_expand_movmem): Likewise.
-	* config/arm/arm.c (arm_expand_divmod_libfunc): Likewise.
-	* config/i386/i386.c (ix86_get_mask_mode): Likewise.
-	* config/s390/s390.c (s390_expand_insv): Likewise.
-	* config/sparc/sparc.c (assign_int_registers): Likewise.
-	* config/spu/spu.c (spu_function_value): Likewise.
-	(spu_function_arg): Likewise.
-	* coverage.c (get_gcov_type): Likewise.
-	(get_gcov_unsigned_t): Likewise.
-	* dse.c (find_shift_sequence): Likewise.
-	* expmed.c (store_bit_field_1): Likewise.
-	* expr.c (convert_move): Likewise.
-	(store_field): Likewise.
-	* internal-fn.c (expand_arith_overflow): Likewise.
-	* optabs-query.c (get_best_extraction_insn): Likewise.
-	* optabs.c (expand_twoval_binop_libfunc): Likewise.
-	* stor-layout.c (layout_type): Likewise.
-	(initialize_sizetypes): Likewise.
-	* targhooks.c (default_get_mask_mode): Likewise.
-	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (opt_mode::else_blk): New function.
-	(int_mode_for_mode): Declare.
-	* stor-layout.c (int_mode_for_mode): Return an opt_scalar_int_mode.
-	* builtins.c (expand_builtin_signbit): Adjust for new int_mode_for_mode
-	return type.
-	* cfgexpand.c (expand_debug_expr): Likewise.
-	* combine.c (gen_lowpart_or_truncate): Likewise.
-	(gen_lowpart_for_combine): Likewise.
-	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Likewise.
-	* config/avr/avr.c (avr_to_int_mode): Likewise.
-	(avr_out_plus_1): Likewise.
-	(avr_out_plus): Likewise.
-	(avr_out_round): Likewise.
-	* config/i386/i386.c (ix86_split_to_parts): Likewise.
-	* config/s390/s390.c (s390_expand_vec_compare_cc): Likewise.
-	(s390_expand_vcond): Likewise.
-	* config/spu/spu.c (spu_split_immediate): Likewise.
-	(spu_expand_mov): Likewise.
-	* dse.c (get_stored_val): Likewise.
-	* expmed.c (store_bit_field_1): Likewise.
-	(convert_extracted_bit_field): Use int_mode_for_mode instead of
-	int_mode_for_size.
-	(extract_bit_field_1): Adjust for new int_mode_for_mode return type.
-	(extract_low_bits): Likewise.
-	* expr.c (emit_group_load_1): Likewise.  Separate out the BLKmode
-	handling rather than repeating the check.
-	(emit_group_store): Likewise.
-	(emit_move_via_integer): Adjust for new int_mode_for_mode return type.
-	* optabs.c (expand_absneg_bit): Likewise.
-	(expand_copysign_absneg): Likewise.
-	(expand_copysign_bit): Likewise.
-	* tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
-	* tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
-	* tree-vect-stmts.c (vect_gen_perm_mask_any): Likewise.
-	* var-tracking.c (prepare_call_arguments):  Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_do_expand_vec_perm): Use
-	int_mode_for_mode instead of mode_for_size.
-	* config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (int_mode_for_size): New function.
-	* builtins.c (set_builtin_user_assembler_name): Use int_mode_for_size
-	instead of mode_for_size.
-	* calls.c (save_fixed_argument_area): Likewise.  Make use of BLKmode
-	explicit.
-	* combine.c (expand_field_assignment): Use int_mode_for_size
-	instead of mode_for_size.
-	(make_extraction): Likewise.
-	(simplify_shift_const_1): Likewise.
-	(simplify_comparison): Likewise.
-	* dojump.c (do_jump): Likewise.
-	* dwarf2out.c (mem_loc_descriptor): Likewise.
-	* emit-rtl.c (init_derived_machine_modes): Likewise.
-	* expmed.c (flip_storage_order): Likewise.
-	(convert_extracted_bit_field): Likewise.
-	* expr.c (copy_blkmode_from_reg): Likewise.
-	* graphite-isl-ast-to-gimple.c (max_mode_int_precision): Likewise.
-	* internal-fn.c (expand_mul_overflow): Likewise.
-	* lower-subreg.c (simple_move): Likewise.
-	* optabs-libfuncs.c (init_optabs): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-	* tree.c (vector_type_mode): Likewise.
-	* tree-ssa-strlen.c (handle_builtin_memcmp): Likewise.
-	* tree-vect-data-refs.c (vect_lanes_optab_supported_p): Likewise.
-	* tree-vect-generic.c (expand_vector_parallel): Likewise.
-	* tree-vect-stmts.c (vectorizable_load): Likewise.
-	(vectorizable_store): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (pod_mode): New type.
-	(scalar_int_mode_pod): New typedef.
-	* machmode.h (pod_mode): New class.
-	(int_n_data_t::m): Change type to scalar_int_mode_pod.
-	* genmodes.c (emit_mode_int_n): Update accordingly.
-	* lower-subreg.h (target_lower_subreg): Change type to
-	scalar_int_mode_pod.
-	* gdbhooks.py (build_pretty_printer): Handle pod_mode and
-	scalar_int_mode_pod.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/powerpcspe/powerpcspe.h (rs6000_pmode): Change type from
-	machine_mode to scalar_int_mode.
-	* config/powerpcspe/powerpcspe.c (rs6000_pmode): Likewise.
-	(rs6000_option_override_internal): Remove cast to int.
-	* config/rs6000/rs6000.h (rs6000_pmode): Change type from
-	machine_mode to scalar_int_mode.
-	* config/rs6000/rs6000.c (rs6000_pmode): Likewise.
-	(rs6000_option_override_internal): Remove cast to int.
-	* config/s390/s390.h (Pmode): Remove cast to machine_mode.
-	* config/epiphany/epiphany.h (RTX_OK_FOR_OFFSET_P): Add cast
-	to machine_mode.
-	* config/s390/s390.c (s390_expand_builtin): Likewise.
-	* coretypes.h (scalar_int_mode): New type.
-	(opt_scalar_int_mode): New typedef.
-	* machmode.h (scalar_int_mode): New class.
-	(scalar_int_mode::includes_p): New function.
-	(byte_mode): Change type to scalar_int_mode.
-	(word_mode): Likewise.
-	(ptr_mode): Likewise.
-	* emit-rtl.c (byte_mode): Likewise.
-	(word_mode): Likewise.
-	(ptr_mode): Likewise.
-	(init_derived_machine_modes): Update accordingly.
-	* genmodes.c (get_mode_class): Return scalar_int_mode for MODE_INT
-	and MODE_PARTIAL_INT.
-	* gdbhooks.py (build_pretty_printer): Handle scalar_int_mode and
-	opt_scalar_int_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (libgcc_floating_mode_supported_p): Take a
-	scalar_float_mode.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_libgcc_floating_mode_supported_p): Take a
-	scalar_float_mode.
-	* targhooks.c (default_libgcc_floating_mode_supported_p): Likewise.
-	* config/aarch64/aarch64.c (aarch64_libgcc_floating_mode_supported_p):
-	Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (default_floatn_mode): Return an opt_scalar_float_mode.
-	* doc/tm.texi: Regenerate.
-	* config/arm/arm.c (arm_floatn_mode): Return an opt_scalar_float_mode.
-	* config/powerpcspe/powerpcspe.c (rs6000_floatn_mode): Likewise.
-	* config/rs6000/rs6000.c (rs6000_floatn_mode): Likewise.
-	* targhooks.h (default_floatn_mode): Likewise.
-	* targhooks.c (default_floatn_mode): Likewise.
-	* tree.c (build_common_tree_nodes): Update accordingly.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (mode_iterator::start): Provide overload for opt_modes.
-	(mode_iterator::iterate_p): Likewise.
-	(mode_iterator::get_wider): Likewise.
-	* expr.c (init_expr_target): Use opt_scalar_float_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (opt_scalar_float_mode): New typedef.
-	* machmode.h (float_mode_for_size): New function.
-	* emit-rtl.c (double_mode): Delete.
-	(init_emit_once): Use float_mode_for_size.
-	* stor-layout.c (layout_type): Likewise.
-	* gdbhooks.py (build_pretty_printer): Handle opt_scalar_float_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* output.h (assemble_real): Take a scalar_float_mode.
-	* config/arm/arm.c (arm_assemble_integer): Update accordingly.
-	* config/arm/arm.md (consttable_4): Likewise.
-	(consttable_8): Likewise.
-	(consttable_16): Likewise.
-	* config/mips/mips.md (consttable_float): Likewise.
-	* config/s390/s390.c (s390_output_pool_entry): Likewise.
-	* varasm.c (assemble_real): Take a scalar_float_mode.
-	(output_constant_pool_2): Update accordingly.
-	(output_constant): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree.h (SCALAR_FLOAT_TYPE_MODE): New macro.
-	* builtins.c (expand_builtin_signbit): Use it instead of TYPE_MODE.
-	* fold-const.c (fold_convert_const_real_from_fixed): Likewise.
-	(native_encode_real): Likewise.
-	(native_interpret_real): Likewise.
-	* hsa-brig.c (emit_immediate_scalar_to_buffer): Likewise.
-	* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* optabs-libfuncs.c (gen_trunc_conv_libfunc): Use is_a
-	<scalar_float_mode>.  Simplify.
-	(gen_extend_conv_libfunc): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (scalar_float_mode): New type.
-	* machmode.h (mode_traits::from_int): Use machine_mode if
-	USE_ENUM_MODES is defined.
-	(is_a): New function.
-	(as_a): Likewise.
-	(dyn_cast): Likewise.
-	(scalar_float_mode): New class.
-	(scalar_float_mode::includes_p): New function.
-	(is_float_mode): Likewise.
-	* gdbhooks.py (MachineModePrinter): New class.
-	(build_pretty_printer): Use it for scalar_float_mode.
-	* real.h (FLOAT_MODE_FORMAT): Use as_a <scalar_float_mode>.
-	(format_helper::format_helper): Turn into a template.
-	* genmodes.c (get_mode_class): New function.
-	(emit_insn_modes_h): Give modes the class returned by get_mode_class,
-	or machine_mode if none.
-	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Use
-	as_a <scalar_float_mode>.
-	* dwarf2out.c (mem_loc_descriptor): Likewise.
-	(insert_float): Likewise.
-	(add_const_value_attribute): Likewise.
-	* simplify-rtx.c (simplify_immed_subreg): Likewise.
-	* optabs.c (expand_absneg_bit): Take a scalar_float_mode.
-	(expand_unop): Update accordingly.
-	(expand_abs_nojump): Likewise.
-	(expand_copysign_absneg): Take a scalar_float_mode.
-	(expand_copysign_bit): Likewise.
-	(expand_copysign): Update accordingly.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* coretypes.h (opt_mode): New class.
-	* machmode.h (opt_mode): Likewise.
-	(opt_mode::else_void): New function.
-	(opt_mode::require): Likewise.
-	(opt_mode::exists): Likewise.
-	(GET_MODE_WIDER_MODE): Turn into a function and return an opt_mode.
-	(GET_MODE_2XWIDER_MODE): Likewise.
-	(mode_iterator::get_wider): Update accordingly.
-	(mode_iterator::get_2xwider): Likewise.
-	(mode_iterator::get_known_wider): Likewise, turning into a template.
-	* combine.c (make_extraction): Update use of GET_MODE_WIDER_MODE,
-	forcing a wider mode to exist.
-	* config/cr16/cr16.h (LONG_REG_P): Likewise.
-	* rtlanal.c (init_num_sign_bit_copies_in_rep): Likewise.
-	* config/c6x/c6x.c (c6x_rtx_costs): Update use of
-	GET_MODE_2XWIDER_MODE, forcing a wider mode to exist.
-	* lower-subreg.c (init_lower_subreg): Likewise.
-	* optabs-libfuncs.c (init_sync_libfuncs_1): Likewise, but not
-	on the final iteration.
-	* config/i386/i386.c (ix86_expand_set_or_movmem): Check whether
-	a wider mode exists before asking for a move pattern.
-	(get_mode_wider_vector): Update use of GET_MODE_WIDER_MODE,
-	forcing a wider mode to exist.
-	(expand_vselect_vconcat): Update use of GET_MODE_2XWIDER_MODE,
-	returning false if no such mode exists.
-	* config/ia64/ia64.c (expand_vselect_vconcat): Likewise.
-	* config/mips/mips.c (mips_expand_vselect_vconcat): Likewise.
-	* expmed.c (init_expmed_one_mode): Update use of GET_MODE_WIDER_MODE.
-	Avoid checking for a MODE_INT if we already know the mode is not a
-	SCALAR_INT_MODE_P.
-	(extract_high_half): Update use of GET_MODE_WIDER_MODE,
-	forcing a wider mode to exist.
-	(expmed_mult_highpart_optab): Likewise.
-	(expmed_mult_highpart): Likewise.
-	* expr.c (expand_expr_real_2): Update use of GET_MODE_WIDER_MODE,
-	using else_void.
-	* lto-streamer-in.c (lto_input_mode_table): Likewise.
-	* optabs-query.c (find_widening_optab_handler_and_mode): Likewise.
-	* stor-layout.c (bit_field_mode_iterator::next_mode): Likewise.
-	* internal-fn.c (expand_mul_overflow): Update use of
-	GET_MODE_2XWIDER_MODE.
-	* omp-low.c (omp_clause_aligned_alignment): Likewise.
-	* tree-ssa-math-opts.c (convert_mult_to_widen): Update use of
-	GET_MODE_WIDER_MODE.
-	(convert_plusminus_to_widen): Likewise.
-	* tree-switch-conversion.c (array_value_type): Likewise.
-	* var-tracking.c (emit_note_insn_var_location): Likewise.
-	* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
-	Return false inside rather than outside the loop if no wider mode
-	exists
-	* optabs.c (expand_binop): Update use of GET_MODE_WIDER_MODE
-	and GET_MODE_2XWIDER_MODE
-	(can_compare_p): Use else_void.
-	* gdbhooks.py (OptMachineModePrinter): New class.
-	(build_pretty_printer): Use it for opt_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* tree-switch-conversion.c (array_value_type): Only read TYPE_MODE
-	once.  Use get_narrowest_mode instead of GET_CLASS_NARROWEST_MODE.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* machmode.h (mode_traits): New structure.
-	(get_narrowest_mode): New function.
-	(mode_iterator::start): Likewise.
-	(mode_iterator::iterate_p): Likewise.
-	(mode_iterator::get_wider): Likewise.
-	(mode_iterator::get_known_wider): Likewise.
-	(mode_iterator::get_2xwider): Likewise.
-	(FOR_EACH_MODE_IN_CLASS): New mode iterator.
-	(FOR_EACH_MODE): Likewise.
-	(FOR_EACH_MODE_FROM): Likewise.
-	(FOR_EACH_MODE_UNTIL): Likewise.
-	(FOR_EACH_WIDER_MODE): Likewise.
-	(FOR_EACH_2XWIDER_MODE): Likewise.
-	* builtins.c (expand_builtin_strlen): Use new mode iterators.
-	* combine.c (simplify_comparison): Likewise
-	* config/i386/i386.c (type_natural_mode): Likewise.
-	* cse.c (cse_insn): Likewise.
-	* dse.c (find_shift_sequence): Likewise.
-	* emit-rtl.c (init_derived_machine_modes): Likewise.
-	(init_emit_once): Likewise.
-	* explow.c (hard_function_value): Likewise.
-	* expmed.c (extract_fixed_bit_field_1): Likewise.
-	(extract_bit_field_1): Likewise.
-	(expand_divmod): Likewise.
-	(emit_store_flag_1): Likewise.
-	* expr.c (init_expr_target): Likewise.
-	(convert_move): Likewise.
-	(alignment_for_piecewise_move): Likewise.
-	(widest_int_mode_for_size): Likewise.
-	(emit_block_move_via_movmem): Likewise.
-	(copy_blkmode_to_reg): Likewise.
-	(set_storage_via_setmem): Likewise.
-	(compress_float_constant): Likewise.
-	* omp-low.c (omp_clause_aligned_alignment): Likewise.
-	* optabs-query.c (get_best_extraction_insn): Likewise.
-	* optabs.c (expand_binop): Likewise.
-	(expand_twoval_unop): Likewise.
-	(expand_twoval_binop): Likewise.
-	(widen_leading): Likewise.
-	(widen_bswap): Likewise.
-	(expand_parity): Likewise.
-	(expand_unop): Likewise.
-	(prepare_cmp_insn): Likewise.
-	(prepare_float_lib_cmp): Likewise.
-	(expand_float): Likewise.
-	(expand_fix): Likewise.
-	(expand_sfix_optab): Likewise.
-	* postreload.c (move2add_use_add2_insn): Likewise.
-	* reg-stack.c (reg_to_stack): Likewise.
-	* reginfo.c (choose_hard_reg_mode): Likewise.
-	* rtlanal.c (init_num_sign_bit_copies_in_rep): Likewise.
-	* stor-layout.c (mode_for_size): Likewise.
-	(smallest_mode_for_size): Likewise.
-	(mode_for_vector): Likewise.
-	(finish_bitfield_representative): Likewise.
-	* tree-ssa-math-opts.c (target_supports_divmod_p): Likewise.
-	* tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
-	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
-	* var-tracking.c (prepare_call_arguments): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* genconditions.c (write_header): Add a "#define USE_ENUM_MODES".
-	* genmodes.c (emit_insn_modes_h): Define FOOmode to E_FOOmode if
-	USE_ENUM_MODES is defined and to ((void) 0, E_FOOmode) otherwise.
-	* machmode.h (mode_size): Move earlier in file.
-	(mode_precision): Likewise.
-	(mode_inner): Likewise.
-	(mode_nunits): Likewise.
-	(mode_unit_size): Likewise.
-	(unit_unit_precision): Likewise.
-	(mode_wider): Likewise.
-	(mode_2xwider): Likewise.
-	(machine_mode): New class.
-	(mode_to_bytes): New function.
-	(mode_to_bits): Likewise.
-	(mode_to_precision): Likewise.
-	(mode_to_inner): Likewise.
-	(mode_to_unit_size): Likewise.
-	(mode_to_unit_precision): Likewise.
-	(mode_to_nunits): Likewise.
-	(GET_MODE_SIZE): Use mode_to_bytes.
-	(GET_MODE_BITSIZE): Use mode_to_bits.
-	(GET_MODE_PRECISION): Use mode_to_precision.
-	(GET_MODE_INNER): Use mode_to_inner.
-	(GET_MODE_UNIT_SIZE): Use mode_to_unit_size.
-	(GET_MODE_UNIT_PRECISION): Use mode_to_unit_precision.
-	(GET_MODE_NUNITS): Use mode_to_nunits.
-	* system.h (ALWAYS_INLINE): New macro.
-	* config/powerpcspe/powerpcspe-c.c
-	(altivec_resolve_overloaded_builtin): Use machine_mode instead of
-	int for arg1_mode and arg2_mode.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_std_type):
-	Prefix mode names with E_ in case statements.
-	* config/aarch64/aarch64-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
-	* config/aarch64/aarch64.c (aarch64_split_simd_combine): Likewise.
-	(aarch64_split_simd_move): Likewise.
-	(aarch64_gen_storewb_pair): Likewise.
-	(aarch64_gen_loadwb_pair): Likewise.
-	(aarch64_gen_store_pair): Likewise.
-	(aarch64_gen_load_pair): Likewise.
-	(aarch64_get_condition_code_1): Likewise.
-	(aarch64_constant_pool_reload_icode): Likewise.
-	(get_rsqrte_type): Likewise.
-	(get_rsqrts_type): Likewise.
-	(get_recpe_type): Likewise.
-	(get_recps_type): Likewise.
-	(aarch64_gimplify_va_arg_expr): Likewise.
-	(aarch64_simd_container_mode): Likewise.
-	(aarch64_emit_load_exclusive): Likewise.
-	(aarch64_emit_store_exclusive): Likewise.
-	(aarch64_expand_compare_and_swap): Likewise.
-	(aarch64_gen_atomic_cas): Likewise.
-	(aarch64_emit_bic): Likewise.
-	(aarch64_emit_atomic_swap): Likewise.
-	(aarch64_emit_atomic_load_op): Likewise.
-	(aarch64_evpc_trn): Likewise.
-	(aarch64_evpc_uzp): Likewise.
-	(aarch64_evpc_zip): Likewise.
-	(aarch64_evpc_ext): Likewise.
-	(aarch64_evpc_rev): Likewise.
-	(aarch64_evpc_dup): Likewise.
-	(aarch64_gen_ccmp_first): Likewise.
-	(aarch64_gen_ccmp_next): Likewise.
-	* config/alpha/alpha.c (alpha_scalar_mode_supported_p): Likewise.
-	(alpha_emit_xfloating_libcall): Likewise.
-	(emit_insxl): Likewise.
-	(alpha_arg_type): Likewise.
-	* config/arc/arc.c (arc_vector_mode_supported_p): Likewise.
-	(arc_preferred_simd_mode): Likewise.
-	(arc_secondary_reload): Likewise.
-	(get_arc_condition_code): Likewise.
-	(arc_print_operand): Likewise.
-	(arc_legitimate_constant_p): Likewise.
-	* config/arc/arc.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
-	* config/arc/arc.md (casesi_load): Likewise.
-	(casesi_compact_jump): Likewise.
-	* config/arc/predicates.md (proper_comparison_operator): Likewise.
-	(cc_use_register): Likewise.
-	* config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
-	* config/arm/arm-builtins.c (arm_simd_builtin_std_type): Likewise.
-	(arm_init_iwmmxt_builtins): Likewise.
-	* config/arm/arm.c (thumb1_size_rtx_costs): Likewise.
-	(neon_expand_vector_init): Likewise.
-	(arm_attr_length_move_neon): Likewise.
-	(maybe_get_arm_condition_code): Likewise.
-	(arm_emit_vector_const): Likewise.
-	(arm_preferred_simd_mode): Likewise.
-	(arm_output_iwmmxt_tinsr): Likewise.
-	(thumb1_output_casesi): Likewise.
-	(thumb2_output_casesi): Likewise.
-	(arm_emit_load_exclusive): Likewise.
-	(arm_emit_store_exclusive): Likewise.
-	(arm_expand_compare_and_swap): Likewise.
-	(arm_evpc_neon_vuzp): Likewise.
-	(arm_evpc_neon_vzip): Likewise.
-	(arm_evpc_neon_vrev): Likewise.
-	(arm_evpc_neon_vtrn): Likewise.
-	(arm_evpc_neon_vext): Likewise.
-	(arm_validize_comparison): Likewise.
-	* config/arm/neon.md (neon_vc<cmp_op><mode>): Likewise.
-	* config/avr/avr-c.c (avr_resolve_overloaded_builtin): Likewise.
-	* config/avr/avr.c (avr_rtx_costs_1): Likewise.
-	* config/c6x/c6x.c (c6x_vector_mode_supported_p): Likewise.
-	(c6x_preferred_simd_mode): Likewise.
-	* config/epiphany/epiphany.c (get_epiphany_condition_code): Likewise.
-	(epiphany_rtx_costs): Likewise.
-	* config/epiphany/predicates.md (proper_comparison_operator):
-	Likewise.
-	* config/frv/frv.c (condexec_memory_operand): Likewise.
-	(frv_emit_move): Likewise.
-	(output_move_single): Likewise.
-	(output_condmove_single): Likewise.
-	(frv_hard_regno_mode_ok): Likewise.
-	(frv_matching_accg_mode): Likewise.
-	* config/h8300/h8300.c (split_adds_subs): Likewise.
-	(h8300_rtx_costs): Likewise.
-	(h8300_print_operand): Likewise.
-	(compute_mov_length): Likewise.
-	(output_logical_op): Likewise.
-	(compute_logical_op_length): Likewise.
-	(compute_logical_op_cc): Likewise.
-	(h8300_shift_needs_scratch_p): Likewise.
-	(output_a_shift): Likewise.
-	(compute_a_shift_length): Likewise.
-	(compute_a_shift_cc): Likewise.
-	(expand_a_rotate): Likewise.
-	(output_a_rotate): Likewise.
-	* config/i386/i386.c (classify_argument): Likewise.
-	(function_arg_advance_32): Likewise.
-	(function_arg_32): Likewise.
-	(function_arg_64): Likewise.
-	(function_value_64): Likewise.
-	(ix86_gimplify_va_arg): Likewise.
-	(ix86_legitimate_constant_p): Likewise.
-	(put_condition_code): Likewise.
-	(split_double_mode): Likewise.
-	(ix86_avx256_split_vector_move_misalign): Likewise.
-	(ix86_expand_vector_logical_operator): Likewise.
-	(ix86_split_idivmod): Likewise.
-	(ix86_expand_adjust_ufix_to_sfix_si): Likewise.
-	(ix86_build_const_vector): Likewise.
-	(ix86_build_signbit_mask): Likewise.
-	(ix86_match_ccmode): Likewise.
-	(ix86_cc_modes_compatible): Likewise.
-	(ix86_expand_branch): Likewise.
-	(ix86_expand_sse_cmp): Likewise.
-	(ix86_expand_sse_movcc): Likewise.
-	(ix86_expand_int_sse_cmp): Likewise.
-	(ix86_expand_vec_perm_vpermi2): Likewise.
-	(ix86_expand_vec_perm): Likewise.
-	(ix86_expand_sse_unpack): Likewise.
-	(ix86_expand_int_addcc): Likewise.
-	(ix86_split_to_parts): Likewise.
-	(ix86_vectorize_builtin_gather): Likewise.
-	(ix86_vectorize_builtin_scatter): Likewise.
-	(avx_vpermilp_parallel): Likewise.
-	(inline_memory_move_cost): Likewise.
-	(ix86_tieable_integer_mode_p): Likewise.
-	(x86_maybe_negate_const_int): Likewise.
-	(ix86_expand_vector_init_duplicate): Likewise.
-	(ix86_expand_vector_init_one_nonzero): Likewise.
-	(ix86_expand_vector_init_one_var): Likewise.
-	(ix86_expand_vector_init_concat): Likewise.
-	(ix86_expand_vector_init_interleave): Likewise.
-	(ix86_expand_vector_init_general): Likewise.
-	(ix86_expand_vector_set): Likewise.
-	(ix86_expand_vector_extract): Likewise.
-	(emit_reduc_half): Likewise.
-	(ix86_emit_i387_round): Likewise.
-	(ix86_mangle_type): Likewise.
-	(ix86_expand_round_sse4): Likewise.
-	(expand_vec_perm_blend): Likewise.
-	(canonicalize_vector_int_perm): Likewise.
-	(ix86_expand_vec_one_operand_perm_avx512): Likewise.
-	(expand_vec_perm_1): Likewise.
-	(expand_vec_perm_interleave3): Likewise.
-	(expand_vec_perm_even_odd_pack): Likewise.
-	(expand_vec_perm_even_odd_1): Likewise.
-	(expand_vec_perm_broadcast_1): Likewise.
-	(ix86_vectorize_vec_perm_const_ok): Likewise.
-	(ix86_expand_vecop_qihi): Likewise.
-	(ix86_expand_mul_widen_hilo): Likewise.
-	(ix86_expand_sse2_abs): Likewise.
-	(ix86_expand_pextr): Likewise.
-	(ix86_expand_pinsr): Likewise.
-	(ix86_preferred_simd_mode): Likewise.
-	(ix86_simd_clone_compute_vecsize_and_simdlen): Likewise.
-	* config/i386/sse.md (*andnot<mode>3): Likewise.
-	(<mask_codefor><code><mode>3<mask_name>): Likewise.
-	(*<code><mode>3): Likewise.
-	* config/ia64/ia64.c (ia64_expand_vecint_compare): Likewise.
-	(ia64_expand_atomic_op): Likewise.
-	(ia64_arg_type): Likewise.
-	(ia64_mode_to_int): Likewise.
-	(ia64_scalar_mode_supported_p): Likewise.
-	(ia64_vector_mode_supported_p): Likewise.
-	(expand_vec_perm_broadcast): Likewise.
-	* config/iq2000/iq2000.c (iq2000_move_1word): Likewise.
-	(iq2000_function_arg_advance): Likewise.
-	(iq2000_function_arg): Likewise.
-	* config/m32c/m32c.c (m32c_preferred_reload_class): Likewise.
-	* config/m68k/m68k.c (output_dbcc_and_branch): Likewise.
-	(m68k_libcall_value): Likewise.
-	(m68k_function_value): Likewise.
-	(sched_attr_op_type): Likewise.
-	* config/mcore/mcore.c (mcore_output_move): Likewise.
-	* config/microblaze/microblaze.c (microblaze_function_arg_advance):
-	Likewise.
-	(microblaze_function_arg): Likewise.
-	* config/mips/mips.c (mips16_build_call_stub): Likewise.
-	(mips_print_operand): Likewise.
-	(mips_mode_ok_for_mov_fmt_p): Likewise.
-	(mips_vector_mode_supported_p): Likewise.
-	(mips_preferred_simd_mode): Likewise.
-	(mips_expand_vpc_loongson_even_odd): Likewise.
-	(mips_expand_vec_unpack): Likewise.
-	(mips_expand_vi_broadcast): Likewise.
-	(mips_expand_vector_init): Likewise.
-	(mips_expand_vec_reduc): Likewise.
-	(mips_expand_msa_cmp): Likewise.
-	* config/mips/mips.md (casesi_internal_mips16_<mode>): Likewise.
-	* config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
-	(cc_flags_for_mode): Likewise.
-	* config/msp430/msp430.c (msp430_print_operand): Likewise.
-	* config/nds32/nds32-md-auxiliary.c (nds32_mem_format): Likewise.
-	(nds32_output_casesi_pc_relative): Likewise.
-	* config/nds32/nds32.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
-	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Likewise.
-	(nvptx_gen_unpack): Likewise.
-	(nvptx_gen_pack): Likewise.
-	(nvptx_gen_shuffle): Likewise.
-	(nvptx_gen_wcast): Likewise.
-	(nvptx_preferred_simd_mode): Likewise.
-	* config/pa/pa.c (pa_secondary_reload): Likewise.
-	* config/pa/predicates.md (base14_operand): Likewise.
-	* config/powerpcspe/powerpcspe-c.c
-	(altivec_resolve_overloaded_builtin): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_setup_reg_addr_masks):
-	Likewise.
-	(rs6000_preferred_simd_mode): Likewise.
-	(output_vec_const_move): Likewise.
-	(rs6000_expand_vector_extract): Likewise.
-	(rs6000_split_vec_extract_var): Likewise.
-	(reg_offset_addressing_ok_p): Likewise.
-	(rs6000_legitimate_offset_address_p): Likewise.
-	(rs6000_legitimize_address): Likewise.
-	(rs6000_emit_set_const): Likewise.
-	(rs6000_const_vec): Likewise.
-	(rs6000_emit_move): Likewise.
-	(spe_build_register_parallel): Likewise.
-	(rs6000_darwin64_record_arg_recurse): Likewise.
-	(swap_selector_for_mode): Likewise.
-	(spe_init_builtins): Likewise.
-	(paired_init_builtins): Likewise.
-	(altivec_init_builtins): Likewise.
-	(do_load_for_compare): Likewise.
-	(rs6000_generate_compare): Likewise.
-	(rs6000_expand_float128_convert): Likewise.
-	(emit_load_locked): Likewise.
-	(emit_store_conditional): Likewise.
-	(rs6000_output_function_epilogue): Likewise.
-	(rs6000_handle_altivec_attribute): Likewise.
-	(rs6000_function_value): Likewise.
-	(emit_fusion_gpr_load): Likewise.
-	(emit_fusion_p9_load): Likewise.
-	(emit_fusion_p9_store): Likewise.
-	* config/powerpcspe/predicates.md (easy_fp_constant): Likewise.
-	(fusion_gpr_mem_load): Likewise.
-	(fusion_addis_mem_combo_load): Likewise.
-	(fusion_addis_mem_combo_store): Likewise.
-	* config/rs6000/predicates.md (easy_fp_constant): Likewise.
-	(fusion_gpr_mem_load): Likewise.
-	(fusion_addis_mem_combo_load): Likewise.
-	(fusion_addis_mem_combo_store): Likewise.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Likewise.
-	* config/rs6000/rs6000-string.c (do_load_for_compare): Likewise.
-	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Likewise.
-	(rs6000_preferred_simd_mode): Likewise.
-	(output_vec_const_move): Likewise.
-	(rs6000_expand_vector_extract): Likewise.
-	(rs6000_split_vec_extract_var): Likewise.
-	(reg_offset_addressing_ok_p): Likewise.
-	(rs6000_legitimate_offset_address_p): Likewise.
-	(rs6000_legitimize_address): Likewise.
-	(rs6000_emit_set_const): Likewise.
-	(rs6000_const_vec): Likewise.
-	(rs6000_emit_move): Likewise.
-	(rs6000_darwin64_record_arg_recurse): Likewise.
-	(swap_selector_for_mode): Likewise.
-	(paired_init_builtins): Likewise.
-	(altivec_init_builtins): Likewise.
-	(rs6000_expand_float128_convert): Likewise.
-	(emit_load_locked): Likewise.
-	(emit_store_conditional): Likewise.
-	(rs6000_output_function_epilogue): Likewise.
-	(rs6000_handle_altivec_attribute): Likewise.
-	(rs6000_function_value): Likewise.
-	(emit_fusion_gpr_load): Likewise.
-	(emit_fusion_p9_load): Likewise.
-	(emit_fusion_p9_store): Likewise.
-	* config/rx/rx.c (rx_gen_move_template): Likewise.
-	(flags_from_mode): Likewise.
-	* config/s390/predicates.md (s390_alc_comparison): Likewise.
-	(s390_slb_comparison): Likewise.
-	* config/s390/s390.c (s390_handle_vectorbool_attribute): Likewise.
-	(s390_vector_mode_supported_p): Likewise.
-	(s390_cc_modes_compatible): Likewise.
-	(s390_match_ccmode_set): Likewise.
-	(s390_canonicalize_comparison): Likewise.
-	(s390_emit_compare_and_swap): Likewise.
-	(s390_branch_condition_mask): Likewise.
-	(s390_rtx_costs): Likewise.
-	(s390_secondary_reload): Likewise.
-	(__SECONDARY_RELOAD_CASE): Likewise.
-	(s390_expand_cs): Likewise.
-	(s390_preferred_simd_mode): Likewise.
-	* config/s390/vx-builtins.md (vec_packsu_u<mode>): Likewise.
-	* config/sh/sh.c (sh_print_operand): Likewise.
-	(dump_table): Likewise.
-	(sh_secondary_reload): Likewise.
-	* config/sh/sh.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
-	* config/sh/sh.md (casesi_worker_1): Likewise.
-	(casesi_worker_2): Likewise.
-	* config/sparc/predicates.md (icc_comparison_operator): Likewise.
-	(fcc_comparison_operator): Likewise.
-	* config/sparc/sparc.c (sparc_expand_move): Likewise.
-	(emit_soft_tfmode_cvt): Likewise.
-	(sparc_preferred_simd_mode): Likewise.
-	(output_cbranch): Likewise.
-	(sparc_print_operand): Likewise.
-	(sparc_expand_vec_perm_bmask): Likewise.
-	(vector_init_bshuffle): Likewise.
-	* config/spu/spu.c (spu_scalar_mode_supported_p): Likewise.
-	(spu_vector_mode_supported_p): Likewise.
-	(spu_expand_insv): Likewise.
-	(spu_emit_branch_or_set): Likewise.
-	(spu_handle_vector_attribute): Likewise.
-	(spu_builtin_splats): Likewise.
-	(spu_builtin_extract): Likewise.
-	(spu_builtin_promote): Likewise.
-	(spu_expand_sign_extend): Likewise.
-	* config/tilegx/tilegx.c (tilegx_scalar_mode_supported_p): Likewise.
-	(tilegx_simd_int): Likewise.
-	* config/tilepro/tilepro.c (tilepro_scalar_mode_supported_p): Likewise.
-	(tilepro_simd_int): Likewise.
-	* config/v850/v850.c (const_double_split): Likewise.
-	(v850_print_operand): Likewise.
-	(ep_memory_offset): Likewise.
-	* config/vax/vax.c (vax_rtx_costs): Likewise.
-	(vax_output_int_move): Likewise.
-	(vax_output_int_add): Likewise.
-	(vax_output_int_subtract): Likewise.
-	* config/visium/predicates.md (visium_branch_operator): Likewise.
-	* config/visium/visium.c (rtx_ok_for_offset_p): Likewise.
-	(visium_print_operand_address): Likewise.
-	* config/visium/visium.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
-	* config/xtensa/xtensa.c (xtensa_mem_offset): Likewise.
-	(xtensa_expand_conditional_branch): Likewise.
-	(xtensa_copy_incoming_a7): Likewise.
-	(xtensa_output_literal): Likewise.
-	* dfp.c (decimal_real_maxval): Likewise.
-	* targhooks.c (default_libgcc_floating_mode_supported_p): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* genmodes.c (mode_size_inline): Add an E_ prefix to mode names.
-	(mode_nunits_inline): Likewise.
-	(mode_inner_inline): Likewise.
-	(mode_unit_size_inline): Likewise.
-	(mode_unit_precision_inline): Likewise.
-	(emit_insn_modes_h): Likewise.  Also emit a #define of the
-	unprefixed name.
-	(emit_mode_wider): Add an E_ prefix to mode names.
-	(emit_mode_complex): Likewise.
-	(emit_mode_inner): Likewise.
-	(emit_mode_adjustments): Likewise.
-	(emit_mode_int_n): Likewise.
-	* config/aarch64/aarch64-builtins.c (v8qi_UP, v4hi_UP, v4hf_UP)
-	(v2si_UP, v2sf_UP, v1df_UP, di_UP, df_UP, v16qi_UP, v8hi_UP, v8hf_UP)
-	(v4si_UP, v4sf_UP, v2di_UP, v2df_UP, ti_UP, oi_UP, ci_UP, xi_UP)
-	(si_UP, sf_UP, hi_UP, hf_UP, qi_UP): Likewise.
-	(CRC32_BUILTIN, ENTRY): Likewise.
-	* config/aarch64/aarch64.c (aarch64_push_regs): Likewise.
-	(aarch64_pop_regs): Likewise.
-	(aarch64_process_components): Likewise.
-	* config/alpha/alpha.c (alpha_emit_conditional_move): Likewise.
-	* config/arm/arm-builtins.c (v8qi_UP, v4hi_UP, v4hf_UP, v2si_UP)
-	(v2sf_UP, di_UP, v16qi_UP, v8hi_UP, v8hf_UP, v4si_UP, v4sf_UP)
-	(v2di_UP, ti_UP, ei_UP, oi_UP, hf_UP, si_UP, void_UP): Likewise.
-	* config/arm/arm.c (arm_init_libfuncs): Likewise.
-	* config/i386/i386-builtin-types.awk (ix86_builtin_type_vect_mode):
-	Likewise.
-	* config/i386/i386-builtin.def (pcmpestr): Likewise.
-	(pcmpistr): Likewise.
-	* config/microblaze/microblaze.c (double_memory_operand): Likewise.
-	* config/mmix/mmix.c (mmix_output_condition): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_init_hard_regno_mode_ok):
-	Likewise.
-	* config/rl78/rl78.c (mduc_regs): Likewise.
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Likewise.
-	(htm_expand_builtin): Likewise.
-	* config/sh/sh.h (REGISTER_NATURAL_MODE): Likewise.
-	* config/sparc/sparc.c (emit_save_or_restore_regs): Likewise.
-	* config/xtensa/xtensa.c (print_operand): Likewise.
-	* expmed.h (NUM_MODE_PARTIAL_INT): Likewise.
-	(NUM_MODE_VECTOR_INT): Likewise.
-	* genoutput.c (null_operand): Likewise.
-	(output_operand_data): Likewise.
-	* genrecog.c (print_parameter_value): Likewise.
-	* lra.c (debug_operand_data): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* dwarf2out.c (scompare_loc_descriptor_wide)
-	(scompare_loc_descriptor_narrow): New functions, split out from...
-	(scompare_loc_descriptor): ...here.
-	* expmed.c (emit_store_flag_int): New function, split out from...
-	(emit_store_flag): ...here.
-
-2017-08-30  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (dwarf2out_finish): Remove setting AT_pubnames.
-	(dwarf2out_early_finish): Move setting of AT_pubnames from
-	early debug output to early finish.
-
-2017-08-30  Jozef Lawrynowicz  <jozef.l@somniumtech.com>
-
-	* gcc/config/msp430/msp430.h: Pass -mcode/data-region to the linker
-	and -mdata-region to the assembler.
-
-2017-08-30  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (add_dwarf_attr): Check we don't add duplicate
-	attributes.
-	(gen_subprogram_die): Add DW_AT_object_pointer only early.
-	(dwarf2out_early_global_decl): Only generate a DIE for the
-	abstract origin if it doesn't already exist or is a declaration DIE.
-	(resolve_addr): Do not add the linkage name twice when
-	generating a stub DIE for the DW_TAG_GNU_call_site target.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Use machine_mode rather than int for arg1_mode.
-
-2017-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/82015
-	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Insure
-	that the second argument of the built-in functions to unpack
-	128-bit scalar types to 64-bit values is 0 or 1.  Change to use a
-	switch statement instead a lot of if statements.
-	* config/rs6000/rs6000.md (unpack<mode>, FMOVE128_VSX iterator):
-	Allow 64-bit values to be in Altivec registers as well as
-	traditional floating point registers.
-	(pack<mode>, FMOVE128_VSX iterator): Likewise.
-
-2017-08-29  Alexander Monakov  <amonakov@ispras.ru>
-
-	* ira-costs.c (record_address_regs): Handle both operands of PLUS for
-	MAX_REGS_PER_ADDRESS == 1.
-
-2017-08-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.opt (flag_fentry): Do not init to -1.
-	* config/i386/i386.c (ix86_option_override_internal): Simplify
-	setting of opts->x_flag_entry.
-
-2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81503
-	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
-	folded constant fits in the target type; reorder tests for clarity.
-
-2017-08-29  Martin Liska  <mliska@suse.cz>
-
-	* passes.def: Include pass_lower_switch.
-	* stmt.c (dump_case_nodes): Remove and move to
-	tree-switch-conversion.
-	(case_values_threshold): Likewise.
-	(expand_switch_as_decision_tree_p): Likewise.
-	(emit_case_decision_tree): Likewise.
-	(expand_case): Likewise.
-	(balance_case_nodes): Likewise.
-	(node_has_low_bound): Likewise.
-	(node_has_high_bound): Likewise.
-	(node_is_bounded): Likewise.
-	(emit_case_nodes): Likewise.
-	(struct simple_case_node): New struct.
-	(add_case_node): Remove.
-	(emit_case_dispatch_table): Use vector instead of case_list.
-	(reset_out_edges_aux): Remove.
-	(compute_cases_per_edge): Likewise.
-	(expand_case): Build list of simple_case_node.
-	(expand_sjlj_dispatch_table): Use it.
-	* tree-switch-conversion.c (struct case_node): Moved from
-	stmt.c and adjusted.
-	(emit_case_nodes): Likewise.
-	(node_has_low_bound): Likewise.
-	(node_has_high_bound): Likewise.
-	(node_is_bounded): Likewise.
-	(case_values_threshold): Likewise.
-	(reset_out_edges_aux): Likewise.
-	(compute_cases_per_edge): Likewise.
-	(add_case_node): Likewise.
-	(dump_case_nodes): Likewise.
-	(balance_case_nodes): Likewise.
-	(expand_switch_as_decision_tree_p): Likewise.
-	(emit_jump): Likewise.
-	(emit_case_decision_tree): Likewise.
-	(try_switch_expansion): Likewise.
-	(do_jump_if_equal): Likewise.
-	(emit_cmp_and_jump_insns): Likewise.
-	(fix_phi_operands_for_edge): New function.
-	(record_phi_operand_mapping): Likewise.
-	(class pass_lower_switch): New pass.
-	(pass_lower_switch::execute): New function.
-	(make_pass_lower_switch): Likewise.
-	(conditional_probability):
-	* timevar.def: Add TV_TREE_SWITCH_LOWERING.
-	* tree-pass.h: Add make_pass_lower_switch.
-
-2017-08-29  Jozef Lawrynowicz  <jozef.l@somniumtech.com>
-
-	PR target/80993
-	* gcc/config/msp430/msp430.c (msp430_attr): Mark interrupt
-	handlers as used.
-
-2017-08-29  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (add_dwarf_attr): When checking is enabled verify
-	we do not add a DW_AT_inline attribute twice.
-	(gen_subprogram_die): Remove code setting DW_AT_inline on
-	DECL_ABSTRACT_P nodes.
-
-2017-08-29  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gimplify.c (gimplify_call_expr): Copy the nothrow flag to
-	calls to internal functions.
-	(gimplify_modify_expr): Likewise.
-	* tree-call-cdce.c (use_internal_fn): Likewise.
-	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
-	(convert_to_divmod): Set the nothrow flag.
-	* tree-if-conv.c (predicate_mem_writes):  Likewise.
-	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
-	(vectorizable_call): Likewise.
-	(vectorizable_store): Likewise.
-	(vectorizable_load): Likewise.
-	* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
-	(vect_recog_mask_conversion_pattern): Likewise.
-
-2017-08-29  Martin Liska  <mliska@suse.cz>
-
-	PR other/39851
-	* gcc.c (driver_handle_option): Add new argument.
-	* opts-common.c (handle_option): Pass
-	target_option_override_hook.
-	* opts-global.c (lang_handle_option): Add new option.
-	(set_default_handlers):  Add new argument.
-	(decode_options): Likewise.
-	* opts.c (target_handle_option): Likewise.
-	(common_handle_option): Call target_option_override_hook.
-	* opts.h (struct cl_option_handler_func): Add hook for
-	target option override.
-	(struct cl_option_handlers): Likewise.
-	(set_default_handlers): Add new argument.
-	(decode_options): Likewise.
-	(common_handle_option): Likewise.
-	(target_handle_option): Likewise.
-	* toplev.c (toplev::main): Pass targetm.target_option.override
-	hook.
-
-2017-08-29  Richard Biener  <rguenther@suse.de>
-	Dominik Infuehr <dominik.infuehr@theobroma-systems.com>
-
-	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine
-	life to the active subtree.
-
-2017-08-28  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dom.c (edge_info::record_simple_equiv): Call
-	derive_equivalences.
-	(derive_equivalences_from_bit_ior, record_temporary_equivalences):
-	Code moved into....
-	(edge_info::derive_equivalences): New private member function
-
-	* tree-ssa-dom.c (class edge_info): Changed from a struct
-	to a class.  Add ctor/dtor, methods and data members.
-	(edge_info::edge_info): Renamed from allocate_edge_info.
-	Initialize additional members.
-	(edge_info::~edge_info): New.
-	(free_dom_edge_info): Delete the edge info.
-	(record_edge_info): Use new class & associated member functions.
-	Tighten forms for testing for edge equivalences.
-	(record_temporary_equivalences): Iterate over the simple
-	equivalences rather than assuming there's only one per edge.
-	(cprop_into_successor_phis): Iterate over the simple
-	equivalences rather than assuming there's only one per edge.
-	(optimize_stmt): Use operand_equal_p rather than pointer
-	equality for mini-DSE code.
-
-2017-08-28  Nathan Sidwell  <nathan@acm.org>
-
-	* gcc.c (execute): Fold SIGPIPE handling into switch
-	statement.  Adjust internal error message.
-
-2017-08-28  Richard Biener  <rguenther@suse.de>
-
-	PR debug/81993
-	* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
-	Do nothing for removed DIEs.
-
-2017-08-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81977
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through
-	memcpy.
-
-2017-08-28  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR target/80640
-	* doc/md.texi (mem_thread_fence): Remove mention of mode.  Rewrite.
-	* optabs.c (expand_mem_thread_fence): Emit a compiler barrier when
-	using targetm.gen_mem_thread_fence.
-
-2017-08-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81995
-	* config/i386/i386.md (*<btsc><mode>): Change operand 2
-	predicate to register_operand.  Reorder operands.
-	(*btr<mode>): Ditto.
-	(*<btsc><mode>_mask): Change operand 3 predicate to register_operand.
-	(*btr<mode>_mask): Ditto.
-
-2017-08-25  Steven Munroe  <munroesj@gcc.gnu.org>
-
-	* config.gcc (powerpc*-*-*): Add xmmintrin.h and mm_malloc.h.
-	* config/rs6000/xmmintrin.h: New file.
-	* config/rs6000/x86intrin.h [__ALTIVEC__]: Include xmmintrin.h.
-
-2017-08-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/81504
-	* config/rs6000/rs6000-p8swap.c (find_alignment_op): Add reference
-	parameter and_insn and return it.
-	(recombine_lvx_pattern): Insert a copy to ensure availability of
-	the base register of the copied masking operation at the point of
-	the instruction replacement.
-	(recombine_stvx_pattern): Likewise.
-
-2017-08-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.opt (-mpower9-dform-scalar): Delete
-	undocumented switches.
-	(-mpower9-dform-vector): Likewise.
-	(-mpower9-dform): Likewise.
-	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update
-	comments to delete references to -mpower9-dform* switches.
-	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand):
-	Delete reference to -mpower9-dform* switches, test for
-	-mpower9-vector instead.
-	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise.
-	(OTHER_P9_VECTOR_MASKS): Likewise.
-	(POWERPC_MASKS): Likewise.
-	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Change
-	tests against -mpower9-dform* to -mpower9-vector.  Delete code
-	that checked for -mpower9-dform* consistancy with other options.
-	Add test for -mpower9-misc to enable other power9 switches.
-	(rs6000_init_hard_regno_mode_ok): Likewise.
-	(rs6000_option_override_internal): Likewise.
-	(rs6000_emit_prologue): Likewise.
-	(rs6000_emit_epilogue): Likewise.
-	(rs6000_opt_masks): Delete -mpower9-dform-{scalar,vector}.
-	(rs6000_disable_incompatiable_switches): Delete -mpower9-dform.
-	(emit_fusion_p9_load): Change tests for -mpower9-dform-scalar
-	-mpower9-vector.
-	(emit_fusion_p9_store): Likewise.
-	* config/rs6000/rs6000.h (TARGET_P9_DFORM_SCALAR): Delete
-	resetting these macros if the assembler does not support ISA 3.0
-	instructions.
-	(TARGET_P9_DFORM_VECTOR): Likewise.
-	* config/rs6000/rs6000.md (peepholes to optimize altivec memory):
-	Change to use -mpower9-vector instead of -mpower9-dform-scalar.
-
-2017-08-25  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/81747
-	* cse.c (cse_extended_basic_block): Don't attempt to record
-	equivalences for degenerate conditional branches that branch
-	to their fall-through.
-
-2017-08-24  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/81908
-	* gimple-fold.c (size_must_be_zero_p): New function.
-	(gimple_fold_builtin_memory_op): Call it.
-
-2017-08-24  Steven Munroe  <munroesj@gcc.gnu.org>
-
-	* config/rs6000/mm_malloc.h: New file.
-
-2017-08-24  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81913
-	* tree-ssa-loop-niter.c (number_of_iterations_cond): Skip niter
-	analysis when either IVs in condition can wrap.
-
-2017-08-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	* dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40.
-	* dwarf2cfi.c (MAX_ARTIFICIAL_LABEL_BYTES): Remove.
-
-2017-08-24  Richard Biener  <rguenther@suse.de>
-
-	PR target/81921
-	* targhooks.c (default_target_can_inline_p): Properly
-	use target_option_default_node when no DECL_FUNCTION_SPECIFIC_TARGET
-	is present and always compare.
-	* config/i386/i386.c (ix86_valid_target_attribute_tree): Do not
-	infer -mfpmath=sse from TARGET_SSE_P.
-	(ix86_can_inline_p): Properly use target_option_default_node when
-	no DECL_FUNCTION_SPECIFIC_TARGET is present and always compare.
-
-2017-08-24  Richard Biener  <rguenther@suse.de>
-
-	PR debug/81936
-	* dwarf2out.c (output_die): Handle flag_generate_offload like
-	flag_generate_lto.
-	(output_comp_unit): Likewise.
-	(gen_array_type_die): Likewise.
-	(dwarf2out_early_finish): Likewise.
-	(note_variable_value_in_expr): Likewise.
-	(dwarf2out_finish): Likewise.  Adjust assert.
-	* cgraphunit.c (symbol_table::compile): Move setting of
-	flag_generate_offload earlier ...
-	(symbol_table::finalize_compilation_unit): ... here, before
-	early debug finalization.
-
-2017-08-24  Richard Biener  <rguenther@suse.de>
-
-	* config/i386/i386.c: Include symbol-summary.h, ipa-prop.h
-	and ipa-fnsummary.h.
-	(ix86_can_inline_p): When ix86_fpmath flags do not match
-	check whether the callee uses FP math at all.
-
-2017-08-24  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR middle-end/81931
-	* tree-ssanames.c (get_nonzero_bits): Use element_precision
-	instead of TYPE_PRECISION.
-
-2017-08-24  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (make_extraction): Use subreg_offset_from_lsb.
-
-2017-08-23  Daniel Santos  <daniel.santos@pobox.com>
-
-	* config/i386/i386.h (ix86_frame::stack_realign_allocate_offset):
-	Remove field.
-	(ix86_frame::stack_realign_allocate): New field.
-	(struct machine_frame_state): Modify comments.
-	(machine_frame_state::sp_realigned_fp_end): New field.
-	* config/i386/i386.c (ix86_compute_frame_layout): Rework stack frame
-	layout calculation.
-	(sp_valid_at): Add assertion to assure no attempt to access invalid
-	offset of a realigned stack.
-	(fp_valid_at): Likewise.
-	(choose_baseaddr): Modify comments.
-	(ix86_emit_outlined_ms2sysv_save): Adjust to changes in
-	ix86_expand_prologue.
-	(ix86_expand_prologue): Modify stack realignment and allocation.
-	(ix86_expand_epilogue): Modify comments.
-	* doc/sourcebuild.texi: Add documentation for target selectors avx2,
-	avx2_runtime, avx512f, and avx512f_runtime.
-
-2017-08-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.opt: Remove unneeded Init(0) initializations.
-	(mstackrealign): Do not init to -1.
-	* config/i386/i386.c (ix86_option_override_internal):
-	Check opts_set, not opts when setting default value of
-	opts->x_ix86_force_align_arg_pointer.
-
-2017-08-23  Richard Biener  <rguenther@suse.de>
-
-	* function.c (fndecl_name): Use verbosity 1 (no arguments) for
-	lang_hooks.decl_printable_name.
-	* print-rtl-function.c (print_rtx_function): Likewise.
-	* tree-pretty-print.c (dump_function_header): Likewise.
-
-2017-08-23  Richard Biener  <rguenther@suse.de>
-
-	PR lto/81940
-	* dwarf2out.c (dwarf2out_abstract_function): Handle LTO with
-	-g0 at compile-time.
-
-2017-08-23  Tamar Christina  <tamar.christina@arm.com>
-
-	PR middle-end/19706
-	* doc/sourcebuild.texi (Other hardware attributes):
-	Document xorsign.
-
-2017-08-23  Tamar Christina  <tamar.christina@arm.com>
-
-	PR middle-end/19706
-	* tree-ssa-math-opts.c (convert_expand_mult_copysign):
-	Fix single-use check.
-
-2017-08-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* gcc.c (execute): Only test for SIGKILL and SIGQUIT if available.
-
-2017-08-22  Daniel Santos  <daniel.santos@pobox.com>
-
-	* doc/install.texi: Modify to add more details on running selected
-	tests.
-
-2017-08-22  Daniel Santos  <daniel.santos@pobox.com>
-
-	* config/i386/i386.c (ix86_option_override_internal): Error when -mx32
-	is combined with -mabi=ms.
-	(ix86_function_type_abi): Limit errors for mixing -mx32 with attribute
-	ms_abi.
-
-2017-08-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/81488
-	* gimple-ssa-strength-reduction (struct slsr_cand_d): Add visited
-	and cached_basis fields.
-	(MAX_SPREAD): New constant.
-	(alloc_cand_and_find_basis): Initialize new fields.
-	(clear_visited): New function.
-	(create_phi_basis_1): Rename from create_phi_basis, set visited
-	and cached_basis fields.
-	(create_phi_basis): New wrapper function.
-	(phi_add_costs_1): Rename from phi_add_costs, add spread
-	parameter, set visited field, short-circuit when limits reached.
-	(phi_add_costs): New wrapper function.
-	(record_phi_increments_1): Rename from record_phi_increments, set
-	visited field.
-	(record_phi_increments): New wrapper function.
-	(phi_incr_cost_1): Rename from phi_incr_cost, set visited field.
-	(phi_incr_cost): New wrapper function.
-	(all_phi_incrs_profitable_1): Rename from
-	all_phi_incrs_profitable, set visited field.
-	(all_phi_incrs_profitable): New wrapper function.
-
-2017-08-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* rtl.h (paradoxical_subreg_p): Define inline, and add a version
-	that takes the outer and inner modes.
-	* doc/rtl.texi: Use paradoxical_subreg_p instead of a GET_MODE_SIZE
-	comparison as the canonical test for a paradoxical subreg.
-	* combine.c (simplify_set): Use paradoxical_subreg_p.
-	(make_extraction): Likewise.
-	(force_to_mode): Likewise.
-	(rtx_equal_for_field_assignment_p): Likewise.
-	(gen_lowpart_for_combine): Likewise.
-	(simplify_comparison): Likewise.
-	* cse.c (equiv_constant): Likewise.
-	* expmed.c (store_bit_field_1): Likewise.
-	* final.c (alter_subreg): Likewise.
-	* fwprop.c (propagate_rtx): Likewise.
-	(forward_propagate_subreg): Likewise.
-	* ira-conflicts.c (ira_build_conflicts): Likewise.
-	* lower-subreg.c (simplify_gen_subreg_concatn): Likewise.
-	* lra-constraints.c (curr_insn_transform): Likewise.
-	(split_reg): Likewise.
-	* lra-eliminations.c (move_plus_up): Likewise.
-	(lra_eliminate_regs_1): Likewise.
-	* recog.c (general_operand): Likewise.
-	* ree.c (combine_reaching_defs): Likewise.
-	* reload.c (push_reload): Likewise.
-	(find_reloads): Likewise.
-	* reload1.c (elimination_effects): Likewise.
-	(compute_reload_subreg_offset): Likewise.
-	(choose_reload_regs): Likewise.
-	* rtlanal.c (subreg_lsb_1): Likewise.
-	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
-	(simplify_subreg): Likewise.
-	* var-tracking.c (track_loc_p): Likewise.
-	* emit-rtl.c (byte_lowpart_offset): Likewise.
-	(paradoxical_subreg_p): Delete out-of-line definition.
-
-2017-08-22  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/81741
-	PR tree-optimization/71947
-	* tree-ssa-dom.c: Include tree-inline.h.
-	(record_temporary_equivalences): Only record SSA_NAME = SSA_NAME
-	equivalences if one is more expensive to compute than the other.
-	* tree-ssa-scopedtables.h (class const_or_copies): Make
-	record_const_or_copy_raw method private.
-	(class avail_exprs_stack): New method simplify_binary_operation.
-	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Call
-	avail_exprs_stack::simplify_binary_operation as needed.
-	(avail_exprs_stack::simplify_binary_operation): New function.
-
-2017-08-22  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config.gcc (powerpc-*-rtems*): Add rs6000/linux64.opt.
-	* config/rs6000/rtems.h (ASM_PREFERRED_EH_DATA_FORMAT): New define.
-	(DOT_SYMBOLS): Likewise.
-	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
-	(RELOCATABLE_NEEDS_FIXUP): Likewise.
-	(RS6000_ABI_NAME): Likewise.
-	(TARGET_CMODEL): Likewise.
-	(TOC_SECTION_ASM_OP): Likewise.
-	(SET_CMODEL): New macro.
-	(SUBSUBTARGET_OVERRIDE_OPTIONS): Evaluate cmodel options.
-
-2017-08-22  Richard Biener  <rguenther@suse.de>
-
-	* tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT]
-	to allow for free-lang-data replacements similar to verify_type_variant.
-
-2017-08-22  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* config/aarch64/aarch64.md (casesi): Use DImode rather than
-	VOIDmode for the LABEL_REF.
-
-2017-08-22  Richard Biener  <rguenther@suse.de>
-
-	* tree-cfg.c (gimple_split_edge): Avoid reallocating target PHI nodes.
-
-2017-08-22  Richard Biener  <rguenther@suse.de>
-
-	* common.opt (feliminate-dwarf2-dups): Ignore.
-	* doc/invoke.texi (feliminate-dwarf2-dups): Remove documentation.
-	* dwarf2out.c (push_new_compile_unit, pop_compile_unit,
-	same_die_p_wrap, compute_section_prefix,
-	is_symbol_die, assign_symbol_names, break_out_includes): Remove.
-	(comdat_symbol_id, comdat_symbol_number): Likewise.
-	(cu_hash_table_entry, cu_hash_table_entry_hasher, cu_hash_type):
-	Likewise.
-	(check_duplicate_cu, record_comdat_symbol_number): Likewise.
-	(output_die): Mark unreachable path unreachable.
-	(dwarf2out_start_source_file): Do not create DW_TAG_GNU_BINCL.
-	(dwarf2out_end_source_file): Do not create DW_TAG_GNU_EINCL.
-	(dwarf2out_init): Remove code handling flag_eliminate_dwarf2_dups.
-	(dwarf2out_early_finish): Likewise.
-
-2017-08-22  Aldy Hernandez  <aldyh@redhat.com>
-
-	* wide-int.h (hwi_with_prec::hwi_with_prec): Sign extend.
-
-2017-08-22  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/81910
-	* config/avr/avr.c (avr_handle_addr_attribute): Early return if
-	not VAR_P. Filter attribute warnings with OPT_Wattributes.
-	(avr_attribute_table) <io, io_low, address>: Initialize
-	.decl_required with true.
-
-2017-08-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-cpus.def (-mvsx-scalar-float): Delete
-	undocumented debugging options.
-	(-mvsx-scalar-double): Likewise.
-	(-mallow-df-permute): Likewise.
-	(-mvectorize-builtins): Likewise.
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Likewise.
-	(rs6000_builtin_vectorized_function): Likewise.
-	(rs6000_builtin_md_vectorized_function): Likewise.
-	(rs6000_opt_vars): Likewise.
-
-2017-08-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/46091
-	* config/i386/i386.md (*btsq_imm): Rename from *btsq.
-	(*btrq_imm): Rename from *btrq.
-	(*btcq_imm): Rename from *btcq.
-	(btsc): New code attribute.
-	(*<btsc><mode>): New insn pattern.
-	(*btr<mode>): Ditto.
-	(*<btsc><mode>_mask): New insn_and_split pattern.
-	(*btr<mode>_mask): Ditto.
-
-2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* function.c (pad_below): Simplify padding calculation.
-
-2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target.def (function_prologue): Remove frame size argument.
-	(function_epilogue): Likewise.
-	* doc/tm.texi: Regenerate.
-	* final.c (final_start_function): Update call to function_prologue.
-	(final_end_function): Update call to function_epilogue.
-	(default_function_pro_epilogue): Remove frame size argument.
-	* output.h (default_function_pro_epilogue): Likewise.
-	* config/arm/arm.c (arm_output_function_epilogue): Likewise.
-	(arm_output_function_prologue): Likewise.
-	* config/frv/frv.c (frv_function_prologue): Likewise.
-	(frv_function_epilogue): Likewise.
-	* config/i386/i386.c (ix86_output_function_epilogue): Likewise.
-	* config/ia64/ia64.c (ia64_output_function_prologue): Likewise.
-	(ia64_output_function_epilogue): Likewise.
-	* config/m32r/m32r.c (m32r_output_function_prologue): Likewise.
-	(m32r_output_function_epilogue): Likewise.
-	* config/microblaze/microblaze.c (microblaze_function_prologue)
-	(microblaze_function_epilogue): Likewise.
-	* config/mips/mips.c (mips_output_function_prologue): Likewise.
-	(mips_output_function_epilogue): Likewise.
-	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Likewise.
-	(mmix_target_asm_function_epilogue): Likewise.
-	* config/msp430/msp430.c (msp430_start_function): Likewise.
-	* config/nds32/nds32.c (nds32_asm_function_prologue): Likewise.
-	(nds32_asm_function_epilogue): Likewise.
-	* config/nios2/nios2.c (nios2_asm_function_prologue): Likewise.
-	* config/pa/pa.c (pa_output_function_prologue): Likewise.
-	(pa_output_function_epilogue): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_output_function_prologue)
-	(rs6000_output_function_epilogue): Likewise.
-	* config/rl78/rl78.c (rl78_start_function): Likewise.
-	* config/rs6000/rs6000.c (rs6000_output_function_prologue): Likewise.
-	(rs6000_output_function_epilogue): Likewise.
-	* config/rx/rx.c (rx_output_function_prologue): Likewise.
-	* config/sh/sh.c (sh_output_function_epilogue): Likewise.
-	* config/sparc/sparc.c (sparc_asm_function_prologue): Likewise.
-	(sparc_asm_function_epilogue): Likewise.
-
-2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree.h (type_has_mode_precision_p): New function.
-	* convert.c (convert_to_integer_1): Use it.
-	* expr.c (expand_expr_real_2): Likewise.
-	(expand_expr_real_1): Likewise.
-	* fold-const.c (fold_single_bit_test_into_sign_test): Likewise.
-	* match.pd: Likewise.
-	* tree-ssa-forwprop.c (simplify_rotate): Likewise.
-	* tree-ssa-math-opts.c (convert_mult_to_fma): Likewise.
-	* tree-tailcall.c (process_assignment): Likewise.
-	* tree-vect-loop.c (vectorizable_reduction): Likewise.
-	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern)
-	(vect_recog_mult_pattern, vect_recog_divmod_pattern): Likewise.
-	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
-	(vectorizable_assignment): Likewise.
-	(vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-	* tree-vrp.c (register_edge_assert_for_2): Likewise.
-
-2017-08-21  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* match.pd: Add pow (C, x) simplification.
-
-2017-08-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81900
-	* tree-ssa-pre.c (compute_antic_aux): Properly compute changed
-	for blocks with abnormal predecessors.
-	(compute_antic): Do not set visited flag prematurely.
-
-2017-08-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/79883
-	* config/avr/avr.c (avr_set_current_function): Typo in diagnostic.
-
-2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* stor-layout.h (vector_type_mode): Move to...
-	* tree.h (vector_type_mode): ...here.
-	* stor-layout.c (vector_type_mode): Move to...
-	* tree.c (vector_type_mode): ...here.  Include rtl.h and regs.h.
-
-2017-08-21  Richard Biener  <rguenther@suse.de>
-
-	* debug.h (struct gcc_debug_hooks): Add die_ref_for_decl and
-	register_external_die hooks.
-	(debug_false_tree_charstarstar_uhwistar): Declare.
-	(debug_nothing_tree_charstar_uhwi): Likewise.
-	* debug.c (do_nothing_debug_hooks): Adjust.
-	(debug_false_tree_charstarstar_uhwistar): New do nothing.
-	(debug_nothing_tree_charstar_uhwi): Likewise.
-	* dbxout.c (dbx_debug_hooks): Adjust.
-	(xcoff_debug_hooks): Likewise.
-	* sdbout.c (sdb_debug_hooks): Likewise.
-	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
-	* dwarf2out.c (macinfo_label_base): New global.
-	(dwarf2out_register_external_die): New function for the
-	register_external_die hook.
-	(dwarf2out_die_ref_for_decl): Likewise for die_ref_for_decl.
-	(dwarf2_debug_hooks): Use them.
-	(dwarf2_lineno_debug_hooks): Adjust.
-	(struct die_struct): Add with_offset flag.
-	(DEBUG_LTO_DWO_INFO_SECTION, DEBUG_LTO_INFO_SECTION,
-	DEBUG_LTO_DWO_ABBREV_SECTION, DEBUG_LTO_ABBREV_SECTION,
-	DEBUG_LTO_DWO_MACINFO_SECTION, DEBUG_LTO_MACINFO_SECTION,
-	DEBUG_LTO_DWO_MACRO_SECTION, DEBUG_LTO_MACRO_SECTION,
-	DEBUG_LTO_LINE_SECTION, DEBUG_LTO_DWO_STR_OFFSETS_SECTION,
-	DEBUG_LTO_STR_DWO_SECTION, DEBUG_STR_LTO_SECTION): New macros
-	defining section names for the early LTO debug variants.
-	(reset_indirect_string): New helper.
-	(add_AT_external_die_ref): Helper for dwarf2out_register_external_die.
-	(print_dw_val): Add support for offsetted symbol references.
-	(get_ultimate_context): Split out from is_cxx.
-	(is_cxx): Use get_ultimate_context.
-	(is_fortran): Add decl overload.
-	(compute_comp_unit_symbol): Split out worker from
-	compute_section_prefix.
-	(compute_section_prefix): Call compute_comp_unit_symbol and
-	set comdat_type_p here.
-	(output_die): Skip DIE symbol output for the LTO added one.
-	Handle DIE symbol references with offset.
-	(output_comp_unit): Guard section name mangling properly.
-	For LTO debug sections emit a symbol at the section beginning
-	which we use to refer to its DIEs.
-	(add_abstract_origin_attribute): For DIEs registered via
-	dwarf2out_register_external_die directly refer to the early
-	DIE rather than indirectly through the shadow one we created.
-	Remove obsolete call to dwarf2out_abstract_function for
-	non-function/block origins.
-	(gen_array_type_die): When generating early LTO debug do
-	not emit DW_AT_string_length.
-	(gen_formal_parameter_die): Do not re-create DIEs for PARM_DECLs
-	late when in LTO.  As suggested place a gcc_unreachable for
-	the DECL_ABSTRACT_P case.
-	(gen_subprogram_die): Avoid another specification DIE
-	for early built declarations/definitions for the late LTO case.
-	(gen_variable_die): Add type references for late duplicated VLA dies
-	when in late LTO.
-	(gen_inlined_subroutine_die): Do not call dwarf2out_abstract_function,
-	we have the abstract instance already.
-	(process_scope_var): Adjust decl DIE contexts in LTO which
-	first puts them in limbo.
-	(gen_decl_die): Do not generate type DIEs late apart from
-	types for VLAs or for decls we do not yet have a DIE.  Do not
-	call dwarf2out_abstract_function late.
-	(dwarf2out_early_global_decl): Make sure to create DIEs
-	for abstract instances of a decl first.
-	(dwarf2out_late_global_decl): Adjust comment.
-	(output_macinfo_op): With multiple macro sections use
-	macinfo_label_base to distinguish labels.
-	(output_macinfo): Likewise.  Update macinfo_label_base.
-	Pass in the line info label.
-	(note_variable_value_in_expr): When generating LTO resolve
-	all variable values here by generating DIEs as needed.
-	(init_sections_and_labels): Add early LTO debug flag parameter
-	and generate different sections and names if set.  Add generation
-	counter for the labels so we can have multiple of them.
-	(reset_dies): Helper to allow DIEs to be output multiple times.
-	(dwarf2out_finish): When outputting DIEs to the fat part of an
-	LTO object first reset DIEs.
-	(dwarf2out_early_finish): Output early DIEs when generating LTO.
-	(modified_type_die): Check for decl_ultimate_origin being self
-	before recursing.
-	(gen_type_die_with_usage): Likewise.
-	(gen_typedef_die): Allow decl_ultimate_origin being self.
-	(set_decl_abstract_flags): Remove.
-	(set_block_abstract_flags): Likewise.
-	(dwarf2out_abstract_function): Treat the early generated DIEs
-	as the abstract copy and only add DW_AT_inline and
-	DW_AT_artificial here and call set_decl_origin_self.
-	If the DIE has an abstract origin don't do anything.
-	* tree.c (free_lang_data): Build a dummy TRANSLATION_UNIT_DECL
-	if we have none yet (Go fails to build one, PR78628).
-	(variably_modified_type_p): Prevent endless recursion for Ada
-	cyclic pointer types.
-	* lto-streamer-in.c: Include debug.h.
-	(dref_queue): New global.
-	(lto_read_tree_1): Stream in DIE references.
-	(lto_input_tree): Register DIE references.
-	(input_function): Stream DECL_DEBUG_ARGS.
-	* lto-streamer-out.c: Include debug.h.
-	(lto_write_tree_1): Output DIE references.
-	(DFS::DFS_write_tree_body): Follow DECL_ABSTRACT_ORIGIN.
-	Force a TRANSLATION_UNIT_DECL DECL_CONTEXT for file-scope decls.
-	(output_function): Stream DECL_DEBUG_ARGS.
-	* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
-	Stream DECL_ABSTRACT_ORIGIN.
-	* tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise.
-	(write_ts_decl_minimal_tree_pointers): Force a TRANSLATION_UNIT_DECL
-	DECL_CONTEXT for file-scope decls.
-	* lto-streamer.h (struct dref_entry): Declare.
-	(dref_queue): Likewise.
-	* cfgexpand.c (pass_expand::execute): Do not call the
-	outlining_inline_function hook here.
-	* lto-wrapper.c (debug_obj): New global.
-	(tool_cleanup): Unlink it if required.
-	(debug_objcopy): New function.
-	(run_gcc): Handle early debug sections in the IL files by
-	extracting them to separate files, partially linkin them and
-	feeding the result back as result to the linker.
-	* config/darwin.h (DEBUG_LTO_INFO_SECTION, DEBUG_LTO_ABBREV_SECTION,
-	DEBUG_LTO_MACINFO_SECTION, DEBUG_LTO_LINE_SECTION,
-	DEBUG_STR_LTO_SECTION, DEBUG_LTO_MACRO_SECTION): Put early debug
-	sections into a separate segment.
-	* config/darwin.c (darwin_asm_named_section): Handle __GNU_DWARF_LTO
-	segments.
-	(darwin_asm_dwarf_section): Likewise.
-	(darwin_asm_output_dwarf_offset): Likewise.
-	* config/i386/i386.c (make_resolver_func): Set DECL_IGNORED_P.
-
-2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* read-md.h (md_reader::record_potential_iterator_use): Replace
-	pointer argument with an rtx and an index.
-	* read-rtl.c (iterator_group::apply_iterator): Likewise.
-	(apply_mode_iterator): Likewise.
-	(apply_code_iterator): Likewise.
-	(apply_int_iterator): Likewise.
-	(apply_subst_iterator): Likewise.
-	(record_iterator_use): Likewise.
-	(record_attribute_use): Likewise.
-	(md_reader::record_potential_iterator_use): Likewise.  Update calls
-	to record_iterator_use and apply_iterator.
-	(iterator_use): Replace ptr with x and index.
-	(attribute_use): Likewise.
-	(apply_attribute_uses): Update calls to apply_iterator.
-	(apply_iterators): Likewise.  Update initialization of iterator_use.
-	(rtx_reader::read_rtx_code): Update calls to record_iterator_use
-	and record_potential_iterator_use.
-	(rtx_reader::read_rtx_operand): Likewise.
-
-2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* varasm.c (const_rtx_hash_1): Don't hash in the mode of a
-	CONST_WIDE_INT.
-
-2017-08-21  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81884
-	* tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses
-	at struct end conservatively when comparing common bases.
-
-2017-08-21  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-loop-im.c (struct lim_aux_data): Add ref index member.
-	(mem_ref_in_stmt): Remove.
-	(determine_max_movement): Use ref index to get at the reference.
-	(invariantness_dom_walker::before_dom_children): Deal with
-	lim data already initialized.
-	(gather_mem_refs_stmt): Initialize lim data and record ref index.
-
-2017-08-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (OPTION_MASK_ISA_ROUND): Remove.
-	(TARGET_ISA_ROUND): Ditto.
-	(TARGET_ROUND): Ditto.
-	* config/i386/i386.c: Substitute TARGET_ROUND with TARGET_SSE4_1.
-	* config/i386/i386.md: Ditto.
-	* config/i386/sse.md: Ditto.
-	* config/i386/i386-builtin.def: Substitute OPTION_MASK_ISA_ROUND
-	with OPTION_MASK_ISA_SSE4_1.
-
-2017-08-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81894
-	* doc/extend.texi (x86 Built-in Functions): Correct the name of
-	__builtin_ia32_lzcnt_u16.
-
-2017-08-18  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR target/80210
-	* config/rs6000/rs6000.c (rs6000_activate_target_options): New function.
-	(rs6000_set_current_function): Rewrite function to use it.
-
-2017-08-18  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR c/53037
-	* print-tree.c (print_node): Support DECL_WARN_IF_NOT_ALIGN
-	and TYPE_WARN_IF_NOT_ALIGN.
-	* stor-layout.c (do_type_align): Merge DECL_WARN_IF_NOT_ALIGN.
-	(handle_warn_if_not_align): New.
-	(place_union_field): Call handle_warn_if_not_align.
-	(place_field): Call handle_warn_if_not_align.
-	Copy TYPE_WARN_IF_NOT_ALIGN.
-	(finish_builtin_struct): Copy TYPE_WARN_IF_NOT_ALIGN.
-	(layout_type): Likewise.
-	* tree-core.h (tree_type_common): Add warn_if_not_align.  Set
-	spare to 18.
-	(tree_decl_common): Add warn_if_not_align.
-	* tree.c (build_range_type_1): Copy TYPE_WARN_IF_NOT_ALIGN.
-	* tree.h (TYPE_WARN_IF_NOT_ALIGN): New.
-	(SET_TYPE_WARN_IF_NOT_ALIGN): Likewise.
-	(DECL_WARN_IF_NOT_ALIGN): Likewise.
-	(SET_DECL_WARN_IF_NOT_ALIGN): Likewise.
-	* doc/extend.texi: Document warn_if_not_aligned attribute.
-	* doc/invoke.texi: Document -Wif-not-aligned and -Wpacked-not-aligned.
-
-2017-08-17  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/81864
-	* tree-loop-distribution.c (ddrs_table): Change type to pointer type.
-	(get_data_dependence): Use it as pointer type.
-	(distribute_loop): Likewise.
-
-2017-08-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.md (UNSPEC_VMRGOW_DIRECT): New constant.
-	(p8_vmrgew_v4sf_direct): Generalize to p8_vmrgew_<mode>_direct.
-	(p8_vmrgow_<mode>_direct): New define_insn.
-	* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Properly
-	handle endianness for vmrgew and vmrgow permute patterns.
-
-2017-08-17  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/altivec.md (VParity): Remove TARGET_VSX_TIMODE.
-	* config/rs6000/rs6000-cpus.def: Remove comment.
-	(ISA_2_7_MASKS_SERVER): Delete OPTION_MASK_VSX_TIMODE;
-	(POWERPC_MASKS): Likewise.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Remove unneeded
-	use of TARGET_VSX_TIMODE.
-	(rs6000_setup_reg_addr_masks): Change TARGET_VSX_TIMODE to TARGET_VSX.
-	(rs6000_init_hard_regno_mode_ok): Remove unneeded uses of
-	TARGET_VSX_TIMODE.  Change use of TARGET_VSX_TIMODE to TARGET_VSX.
-	(rs6000_option_override_internal): Remove dead code.
-	(rs6000_legitimize_address): Change TARGET_VSX_TIMODE to TARGET_VSX.
-	(rs6000_legitimize_reload_address): Likewise.
-	(rs6000_legitimate_address_p): Likewise.
-	(rs6000_opt_masks): Delete "vsx-timode".
-	(rs6000_disable_incompatible_switches): Remove mention of -mvsx-timode
-	from function comment.
-	* config/rs6000/rs6000.h (MASK_VSX_TIMODE): Delete.
-	* config/rs6000/rs6000.md (FMOVE128_GPR): Remove TARGET_VSX_TIMODE.
-	(V16QI, V8HI, V4SI, V4SF, V2DI, V2DF, V1TI): Remove useless empty
-	condition.
-	* config/rs6000/rs6000.opt (mvsx-timode): Replace with stub.
-	* config/rs6000/vector.md (VEC_IP): Remove TARGET_VSX_TIMODE.
-	* config/rs6000/vsx.md (VSX_LE_128): Likewise.
-	(VSX_TI): Likewise.
-	(VSX_M): Likewise.
-	(define_peephole2): Likewise.
-
-2017-08-17  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81859
-	* pretty-print.c (pp_format): Use strnlen in %.*s to avoid reading
-	past the end of an array.
-	(test_pp_format): Add test cases.
-
-2017-08-17  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* internal-fn.def (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): Add
-	missing ECF_NOTHROW flags.
-
-2017-08-17  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR target/72804
-	* config/rs6000/vsx.md (*vsx_le_permute_<mode>): Add support for
-	operands residing in integer registers.
-	(*vsx_le_perm_load_<mode>): Likewise.
-	(*vsx_le_perm_store_<mode>): Likewise.
-	(define_peephole2): Add peepholes to optimize the above.
-
-2017-08-17  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/81814
-	* fold-const.c (operand_equal_for_comparison_p): Remove code that used
-	to mimic what shorten_compare did.  Change the return type to bool.
-	(fold_cond_expr_with_comparison): Update call to
-	operand_equal_for_comparison_p.
-	(fold_ternary_loc): Likewise.
-
-2017-08-17  Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	* aarch64-simd.md (mov<mode>): No longer force zero immediate into
-	register.
-	(*aarch64_simd_mov<mode>): Add new case for stp	using zero immediate.
-
-2017-08-17  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-structalias.c (solve_graph): When propagating
-	to successors update the graphs succ edges and avoid duplicate work.
-
-2017-08-17  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR target/81861
-	* config/i386/i386.c (ix86_option_override_internal): Save target
-	specific options after ix86_stack_protector_guard_reg was changed.
-
-2017-08-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81827
-	* tree-ssa-structalias.c (struct variable_info): Add is_reg_var flag.
-	(new_var_info): Initialize it conservatively.
-	(get_call_vi): Mark register vars.
-	(new_scalar_tmp_constraint_exp): Likewise.
-	(handle_rhs_call): Likewise.
-	(handle_const_call): Likewise.
-	(create_function_info_for): Likewise.
-	(solve_constraints): Sort varinfos to separate register from
-	non-register vars to pack points-to solution bitmaps during
-	iteration.
-
-2017-08-17  Marek Polacek  <polacek@redhat.com>
-
-	* gimplify.c (gimplify_adjust_omp_clauses): Compare with 0 instead of 1.
-
-2017-08-17  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (vrp_int_const_binop): Do not set *overflow_p
-	to true when overflow is undefined and we saturated the result.
-
-2017-08-17  Alan Modra  <amodra@gmail.com>
-
-	PR target/80938
-	* config/rs6000/rs6000.c (rs6000_savres_strategy): Revert 2017-08-09.
-	Don't use store multiple if only one reg needs saving.
-	(interesting_frame_related_regno): New function.
-	(rs6000_frame_related): Don't emit frame info for regs that
-	don't need saving.
-	(rs6000_emit_epilogue): Likewise.
-
-2017-08-16  Nathan Sidwell  <nathan@acm.org>
-
-	* tree-core.h (tree_type_non_common): Rename binfo to lang_1.
-	* tree.h (TYPE_BINFO): Use type_non_common.maxval.
-	(TYPE_LANG_SLOT_1): Use type_non_common.lang_1, for any type.
-	* tree.c (free_lang_data_in_type): Use else-if chain.  Always
-	clear TYPE_LANG_1.  Remove obsolete member-function stripping.
-	(find_decls_types_r): Comment about TYPE_MAX_VALUES_RAW.
-	(verify_type): Adjust for TYPE_BINFO move.
-	* lto-streamer-out.c (DFS::DFS_write_tree_body): No need to
-	process TYPE_BINFO directly.
-	(hash_tree): Likewise.
-	* tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers):
-	Likewise.
-	* tree-streamer-out.c (write_ts_type_non_common_tree_pointers):
-	Likewise.
-
-2017-08-16  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (colorizer::m_caret): Remove unused field.
-
-2017-08-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/46091
-	* config/i386/i386.md (*anddi_1_btr): Change predicates of
-	operand 0 and operand 1 to nomimmediate_operand. Add "m" constraint.
-	Add ix86_binary_operator_ok to insn constraint.
-	(*iordi_1_bts): Ditto.
-	(*xordi_1_btc): Ditto.
-	(*btsq): Change predicate of operand 0 to nonimmediate_operand.
-	Update corresponding peephole2 pattern.
-	(*btrq): Ditto.
-	(*btcq): Ditto.
-
-2017-08-16  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81832
-	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Don't
-	copy loop header which has IFN_LOOP_DIST_ALIAS call.
-
-2017-08-16  Marek Polacek  <polacek@redhat.com>
-
-	PR middle/81695
-	* fold-const.c (fold_indirect_ref_1): Restore original behavior
-	regarding size_zero_node.
-
-2017-08-16  Martin Liska  <mliska@suse.cz>
-
-	PR target/81753
-	* config.gcc: Respect previously set extra_objs in case
-	of darwin target.
-
-2017-08-16  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/81835
-	* tree-vect-loop.c (vect_is_simple_reduction): Simply checks for
-	the phi SSA_NAME.  Check that the condition in a COND_EXPR does
-	not depend on the phi.
-
-2017-08-16  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Delete
-	dead code.
-
-2017-08-16  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Merge..
-	(save_reg_p): ..into this.  Update all callers.
-	(first_reg_to_save): Simplify.
-
-2017-08-16  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't restore
-	fixed regs.
-
-2017-08-15  Joseph Myers  <joseph@codesourcery.com>
-
-	PR target/78460
-	PR target/67712
-	* config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for
-	constant count if that count is less than 32.
-
-2017-08-15  Nathan Sidwell  <nathan@acm.org>
-
-	* gcc.c (execute): Emit friendlier message if inferior is killed
-	by an external cause.
-
-2017-08-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81790
-	* tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both
-	CONSTRUCTORs from simplifying and VN.
-
-2017-08-14  Martin Sebor  <msebor@redhat.com>
-
-	* builtin-attrs.def: Add comments.
-
-2017-08-14  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81117
-	* doc/extend.texi (attribute nonstring): Document new attribute.
-
-2017-08-14  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81117
-	* tree-diagnostic.c (default_tree_printer): Handle %G.
-	* gimple-pretty-print.h (percent_G_format): Declare new function.
-	* gimple-pretty-print.c (percent_G_format): Define.
-	* tree-pretty-print.c (percent_K_format): Add argument.
-
-2017-08-14  Martin Sebor  <msebor@redhat.com>
-
-	PR translation/79998
-	* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
-	Remove a stray space.
-
-2017-08-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/46091
-	* config/i386/i386.md (*anddi_1_btr): New insn_and_split pattern.
-	(*iordi_1_bts): Ditto.
-	(*xordi_1_btc): Ditto.
-
-2017-08-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/79845
-	* config/rs6000/linux64.h (INVALID_64BIT): Use quoted strings.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Use
-	quoted strings, and make more translator-friendly.
-	(darwin_rs6000_override_options): Likewise.
-	(rs6000_option_override_internal): Likewise.
-	(rs6000_return_in_memory): Fix overlong line.
-	(init_cmulative_args): Use quoted strings, and make more
-	translator-friendly.
-	(rs6000_pass_by_reference): Fix overlong line.
-	(def_builtin): Use quoted strings.
-	(altivec_expand_predicate_builtin): Use quoted strings, and make
-	more translator-friendly.
-	(htm_expand_builtin): Use quoted strings.
-	(cpu_expand_builtin): Use quoted strings, and make more
-	translator-friendly.
-	(altivec_expand_builtin): Likewise.
-	(paired_expand_predicate_builtin): Likewise.
-	(rs6000_invalid_builtin): Likewise.
-	(builtin_function_type): Use quoted strings.
-	(rs6000_expand_split_stack_prologue): Use quoted strings, and make
-	more translator-friendly.
-	(rs6000_trampoline_init): Likewise.
-	(rs6000_handle_altivec_attribute): Likewise.
-	(rs6000_inner_target_options): Use quoted strings.
-	(rs6000_disable_incompatible_switches): Likewise.
-	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Use quoted
-	strings, and make more translator-friendly.
-	(SUBSUBTARGET_OVERRIDE_OPTIONS): Use quoted strings.
-
-2017-08-14  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81799
-	* tree-loop-distribution.c (version_loop_by_alias_check): Force
-	cond_expr to simple gimple operand.
-
-2017-08-14  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR middle-end/46932
-	* doc/sourcebuild.texi (autoincdec): Add autoincdec description.
-
-2017-08-14  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/81754
-	PR target/81268
-	* config/avr/avr.opt (mgas-isr-prologues): New Var avr_gasisr_prologues.
-	* config/avr/avr.md (gasisr, *gasisr): Use it instead of
-	TARGET_GASISR_PROLOGUES.
-	* config/avr/avr.c (avr_option_override): Same.
-	(avr_pass_pre_proep::execute): Same.
-
-2017-08-13  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/81820
-	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Replace
-	frame pointer with stack pointer - UNITS_PER_WORD in debug insns.
-
-2017-08-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*load_tp_<mode>): Redefine as
-	define_insn_and_split.  Split to a memory load from 0 in
-	DEFAULT_TLS_SEG_REG address space.  Merge with *load_tp_x32
-	using PTR mode iterator.
-	(*load_tp_x32_zext"): Redefine as define_insn_and_split.
-	Split to a memory load from 0 in DEFAULT_TLS_SEG_REG address space.
-	(*add_tp_<mode>): Redefine as define_insn_and_split.
-	Split to an add with a memory load from 0 in DEFAULT_TLS_SEG_REG
-	address space.  Merge with *add_tp_x32 using PTR mode iterator.
-	(*add_tp_x32_zext"): Redefine as define_insn_and_split.
-	Split to an add with a  memory load from 0 in
-	DEFAULT_TLS_SEG_REG address space.
-
-2017-08-12  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-option-extensions.def (rdma):
-	Fix feature string to what Linux prints out in /proc/cpuinfo.
-
-2017-08-12  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	PR ada/79542
-	* dwarf2out.c (modified_type_die): For C typedef types that have
-	an ultimate origin, process the ultimate origin instead of the
-	input type.
-	(gen_typedef_die): Assert that input DECLs have no ultimate
-	origin.
-	(gen_type_die_with_usage): For typedef variants that have an
-	ultimate origin, just call gen_decl_die on the original DECL.
-	(process_scope_var): Avoid creating DIEs for local typedefs and
-	concrete static variables.
-
-2017-08-12  Alan Modra  <amodra@gmail.com>
-
-	PR target/81170
-	PR target/81295
-	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to
-	match gnu-user.h startfile.
-	(ENDFILE_LINUX_SPEC): Similarly.
-
-2017-08-11  Thomas Schwinge  <thomas@codesourcery.com>
-
-	PR lto/81430
-	* config/nvptx/nvptx.c (nvptx_override_options_after_change):
-	Remove function.
-	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Remove definition.
-
-2017-08-11  Tamar Christina  <tamar.christina@arm.com>
-	* config/aarch64/aarch64.md (mov<mode>): Change.
-	(*movhf_aarch64, *movsf_aarch64, *movdf_aarch64):
-	aarch64_reg_or_fp_float into aarch64_reg_or_fp_zero.
-	* config/aarch64/predicates.md (aarch64_reg_or_fp_float): Removed.
-
-2017-08-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-sra.c (build_access_from_expr_1): Use more precise diagnostics
-	for storage order barriers.
-
-2017-08-11  Martin Liska  <mliska@suse.cz>
-
-	PR tree-opt/79987
-	* tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument
-	variables of void type.
-
-2017-08-11  Martin Liska  <mliska@suse.cz>
-
-	* asan.c (asan_protect_global): Replace ASM_OUTPUT_DEF with
-	TARGET_SUPPORTS_ALIASES.
-	* cgraph.c (cgraph_node::create_same_body_alias): Likewise.
-	* ipa-visibility.c (can_replace_by_local_alias): Likewise.
-	(optimize_weakref): Likewise.
-	* symtab.c (symtab_node::noninterposable_alias): Likewise.
-	* varpool.c (varpool_node::create_extra_name_alias): Likewise.
-	* defaults.h: Introduce TARGET_SUPPORTS_ALIASES.
-
-2017-08-11  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/81213
-	* config/i386/i386.c (make_resolver_func): Do complete
-	refactoring of the function.
-
-2017-08-10  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81708
-	* config/i386/i386.opt (mstack-protector-guard-symbol=): New option
-	* config/i386/i386.c (ix86_stack_protect_guard): Use
-	ix86_stack_protect_guard_symbol_str to generate varible declaration.
-	* doc/invoke.texi (x86 Options): Document
-	-mstack-protector-guard-symbol= option.
-
-2017-08-10  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386-protos.h (ix86_split_stack_guard): New prototype.
-	* config/i386/i386.c (ix86_split_stack_guard): New function.
-	(ix86_xpand_split_stack_prologue): Call ix86_split_stack_guard.
-	(ix86_legitimate_address_p) <case UNSPEC_STACK_CHECK>: Remove.
-	(i386_asm_output_addr_const_extra) <case UNSPEC_STACK_CHECK>: Ditto.
-	(optput_pic_addr_const): Remove UNSPEC_STACK_CHECK handling.
-	* config/i386/i386.md (unspec): Remove UNSPEC_STACK_CHECK.
-	(split_stack_space_check): Call ix86_split_stack_guard.
-
-2017-08-10  Martin Sebor  <msebor@redhat.com>
-
-	* print-tree.c (print_node): Print location using the established
-	format %s:%i%i.
-	Replace spaces with colons.
-	(debug_raw, debug): Ditto.
-
-2017-08-10  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/81586
-	* pretty-print.c (pp_format): Correct the handling of %s precision.
-
-2017-08-10  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/81736
-	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
-	to ...
-	(ix86_finalize_stack_frame_flags): This.  Also clear
-	frame_pointer_needed if -fno-omit-frame-pointer is used without
-	stack access.
-	(ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
-	with ix86_finalize_stack_frame_flags.
-	(ix86_expand_epilogue): Likewise.
-	(ix86_expand_split_stack_prologue): Likewise.
-	* doc/invoke.texi: Add a note for -fno-omit-frame-pointer.
-
-2017-08-10  Martin Liska  <mliska@suse.cz>
-
-	PR c++/81355
-	* c-attribs.c (handle_target_attribute):
-	Report warning for an empty string argument of target attribute.
-
-2017-08-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/81687
-	* omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
-	LABEL_DECLs.
-	* tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
-	or DECL_NONLOCAL labels.
-	(move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
-	or DECL_NONLOCAL labels here.
-
-2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add blurb
-	to indicate when early gimple folding has been disabled.
-	(rs6000_gimple_fold_builtin): Add debug content.
-	(rs6000_invalid_builtin): Fix whitespace.
-	(rs6000_expand_builtin): Fix whitespace.
-	* config/rs6000/rs6000.opt: Add option for -mfold-gimple.
-
-2017-08-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/80938
-	* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
-	SAVE_MULTIPLE if not all the registers that saves, should be saved.
-
-2017-08-09  Jim Wilson  <jim.wilson@linaro.org>
-
-	* config/aarch64/aarch64-cores.def (falkor): Use falkor pipeline.
-	(qdf24xx): Likewise.
-	* config/aarch64/aarch64.md: Include falkor.md.
-	* config/aarch64/falkor.md: New.
-
-2017-08-09  Marek Polacek  <polacek@redhat.com>
-
-	PR c/81233
-	* diagnostic-core.h (emit_diagnostic_valist): Add declaration.
-	* diagnostic.c (emit_diagnostic): Add a comment.
-	(emit_diagnostic_valist): New function.
-
-2017-08-09  Marek Polacek  <polacek@redhat.com>
-
-	PR c/81417
-	* input.c (make_location): New overload.
-	* input.h (make_location): Declare.
-
-2017-08-08  Alan Modra  <amodra@gmail.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR driver/81523
-	* gcc.c (NO_PIE_SPEC): Delete.
-	(PIE_SPEC): Define as !no-pie/pie.  Move static|shared|r
-	exclusion..
-	(LINK_PIE_SPEC): ..to here.
-	(LINK_COMMAND_SPEC): Support -no-pie.
-	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
-	chain of crtbegin*.o selection, update for PIE_SPEC changes and
-	format.
-	(GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
-	* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
-	(ENDFILE_CRTEND_SPEC): Similarly.
-
-2017-08-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81708
-	* config/i386/i386.opt (mstack-protector-guard-reg=): New option
-	(mstack-protector-guard-offset=): Ditto.
-	* config/i386/i386.c (ix86_option_override): Handle
-	-mstack-protector-guard-reg= and -mstack-protector-guard-offset=
-	options.
-	(ix86_stack_protect_guard): Use ix86_stack_protect_guard_reg and
-	ix86_stack_protect_guard_offset variables.
-	(TARGET_STACK_PROTECT_GUARD): Always define.
-	* doc/invoke.texi (x86 Options): Document -mstack-protector-guard-reg=
-	and -mstack-protector-guard-offset= options.
-
-2017-08-08  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle
-	boundary case for the last candidate.
-
-2017-08-08  Bin Cheng  <bin.cheng@arm.com>
-
-	* doc/invoke.texi: Document -ftree-loop-distribution for O3.
-	* opts.c (default_options_table): Add OPT_ftree_loop_distribution.
-
-2017-08-08  Tamar Christina  <tamar.christina@arm.com>
-
-	PR middle-end/19706
-	* config/aarch64/aarch64.md (xorsign<mode>3): New optabs.
-	* config/aarch64/aarch64-builtins.c
-	(aarch64_builtin_vectorized_function): Added CASE_CFN_XORSIGN.
-	* config/aarch64/aarch64-simd-builtins.def: Added xorsign BINOP.
-	* config/aarch64/aarch64-simd.md: Added xorsign<mode>3
-
-2017-08-08  Tamar Christina  <tamar.christina@arm.com>
-	    Andrew Pinski <pinskia@gmail.com>
-
-	PR middle-end/19706
-	* internal-fn.def (XORSIGN): New.
-	* optabs.def (xorsign_optab): New.
-	* tree-ssa-math-opts.c (is_copysign_call_with_1): New.
-	(convert_expand_mult_copysign): New.
-	(pass_optimize_widening_mul::execute): Call
-	convert_expand_mult_copysign.
-
-2017-08-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/81354
-	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
-	Insert on edges rather than explicitly creating landing pads.
-	(analyze_candidates_and_replace): Commit edge inserts.
-
-2017-08-08  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81719
-	* tree-ssa-loop-niter.c: Include tree-dfa.h.
-	(expand_simple_operations): Also look through ADDR_EXPRs with
-	MEM_REF bases treating them as POINTER_PLUS_EXPR.
-
-2017-08-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81723
-	* tree-vect-slp.c (struct bst_traits): New hash traits.
-	(bst_fail): New global.
-	(vect_build_slp_tree_2): New worker, split out from ...
-	(vect_build_slp_tree): ... this now wrapping it with using
-	bst_fail set to cache SLP tree build fails.  Properly handle
-	max_tree_size.
-	(vect_analyze_slp_instance): Allocate and free bst_fail.
-
-2017-08-08  Martin Liska  <mliska@suse.cz>
-
-	PR tree-opt/81696
-	* ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
-	LABEL_DECLs that can be from a different function.
-
-2017-08-08  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81744
-	* tree-predcom.c (prepare_finalizers_chain): Deep copy expr of
-	loop's number of iterations.
-
-2017-08-08  Martin Liska  <mliska@suse.cz>
-
-	* asan.c: Include header files.
-	* attribs.c (build_decl_attribute_variant): New function moved
-	from tree.[ch].
-	(build_type_attribute_qual_variant): Likewise.
-	(cmp_attrib_identifiers): Likewise.
-	(simple_cst_list_equal): Likewise.
-	(omp_declare_simd_clauses_equal): Likewise.
-	(attribute_value_equal): Likewise.
-	(comp_type_attributes): Likewise.
-	(build_type_attribute_variant): Likewise.
-	(lookup_ident_attribute): Likewise.
-	(remove_attribute): Likewise.
-	(merge_attributes): Likewise.
-	(merge_type_attributes): Likewise.
-	(merge_decl_attributes): Likewise.
-	(merge_dllimport_decl_attributes): Likewise.
-	(handle_dll_attribute): Likewise.
-	(attribute_list_equal): Likewise.
-	(attribute_list_contained): Likewise.
-	* attribs.h (lookup_attribute): New function moved from tree.[ch].
-	(lookup_attribute_by_prefix): Likewise.
-	* bb-reorder.c: Include header files.
-	* builtins.c: Likewise.
-	* calls.c: Likewise.
-	* cfgexpand.c: Likewise.
-	* cgraph.c: Likewise.
-	* cgraphunit.c: Likewise.
-	* convert.c: Likewise.
-	* dwarf2out.c: Likewise.
-	* final.c: Likewise.
-	* fold-const.c: Likewise.
-	* function.c: Likewise.
-	* gimple-expr.c: Likewise.
-	* gimple-fold.c: Likewise.
-	* gimple-pretty-print.c: Likewise.
-	* gimple.c: Likewise.
-	* gimplify.c: Likewise.
-	* hsa-common.c: Likewise.
-	* hsa-gen.c: Likewise.
-	* internal-fn.c: Likewise.
-	* ipa-chkp.c: Likewise.
-	* ipa-cp.c: Likewise.
-	* ipa-devirt.c: Likewise.
-	* ipa-fnsummary.c: Likewise.
-	* ipa-inline.c: Likewise.
-	* ipa-visibility.c: Likewise.
-	* ipa.c: Likewise.
-	* lto-cgraph.c: Likewise.
-	* omp-expand.c: Likewise.
-	* omp-general.c: Likewise.
-	* omp-low.c: Likewise.
-	* omp-offload.c: Likewise.
-	* omp-simd-clone.c: Likewise.
-	* opts-global.c: Likewise.
-	* passes.c: Likewise.
-	* predict.c: Likewise.
-	* sancov.c: Likewise.
-	* sanopt.c: Likewise.
-	* symtab.c: Likewise.
-	* toplev.c: Likewise.
-	* trans-mem.c: Likewise.
-	* tree-chkp.c: Likewise.
-	* tree-eh.c: Likewise.
-	* tree-into-ssa.c: Likewise.
-	* tree-object-size.c: Likewise.
-	* tree-parloops.c: Likewise.
-	* tree-profile.c: Likewise.
-	* tree-ssa-ccp.c: Likewise.
-	* tree-ssa-live.c: Likewise.
-	* tree-ssa-loop.c: Likewise.
-	* tree-ssa-sccvn.c: Likewise.
-	* tree-ssa-structalias.c: Likewise.
-	* tree-ssa.c: Likewise.
-	* tree-streamer-in.c: Likewise.
-	* tree-vectorizer.c: Likewise.
-	* tree-vrp.c: Likewise.
-	* tsan.c: Likewise.
-	* ubsan.c: Likewise.
-	* varasm.c: Likewise.
-	* varpool.c: Likewise.
-	* tree.c: Remove functions moved to attribs.[ch].
-	* tree.h: Likewise.
-	* config/aarch64/aarch64.c: Add attrs.h header file.
-	* config/alpha/alpha.c: Likewise.
-	* config/arc/arc.c: Likewise.
-	* config/arm/arm.c: Likewise.
-	* config/avr/avr.c: Likewise.
-	* config/bfin/bfin.c: Likewise.
-	* config/c6x/c6x.c: Likewise.
-	* config/cr16/cr16.c: Likewise.
-	* config/cris/cris.c: Likewise.
-	* config/darwin.c: Likewise.
-	* config/epiphany/epiphany.c: Likewise.
-	* config/fr30/fr30.c: Likewise.
-	* config/frv/frv.c: Likewise.
-	* config/ft32/ft32.c: Likewise.
-	* config/h8300/h8300.c: Likewise.
-	* config/i386/winnt.c: Likewise.
-	* config/ia64/ia64.c: Likewise.
-	* config/iq2000/iq2000.c: Likewise.
-	* config/lm32/lm32.c: Likewise.
-	* config/m32c/m32c.c: Likewise.
-	* config/m32r/m32r.c: Likewise.
-	* config/m68k/m68k.c: Likewise.
-	* config/mcore/mcore.c: Likewise.
-	* config/microblaze/microblaze.c: Likewise.
-	* config/mips/mips.c: Likewise.
-	* config/mmix/mmix.c: Likewise.
-	* config/mn10300/mn10300.c: Likewise.
-	* config/moxie/moxie.c: Likewise.
-	* config/msp430/msp430.c: Likewise.
-	* config/nds32/nds32-isr.c: Likewise.
-	* config/nds32/nds32.c: Likewise.
-	* config/nios2/nios2.c: Likewise.
-	* config/nvptx/nvptx.c: Likewise.
-	* config/pa/pa.c: Likewise.
-	* config/pdp11/pdp11.c: Likewise.
-	* config/powerpcspe/powerpcspe.c: Likewise.
-	* config/riscv/riscv.c: Likewise.
-	* config/rl78/rl78.c: Likewise.
-	* config/rx/rx.c: Likewise.
-	* config/s390/s390.c: Likewise.
-	* config/sh/sh.c: Likewise.
-	* config/sol2.c: Likewise.
-	* config/sparc/sparc.c: Likewise.
-	* config/spu/spu.c: Likewise.
-	* config/stormy16/stormy16.c: Likewise.
-	* config/tilegx/tilegx.c: Likewise.
-	* config/tilepro/tilepro.c: Likewise.
-	* config/v850/v850.c: Likewise.
-	* config/vax/vax.c: Likewise.
-	* config/visium/visium.c: Likewise.
-	* config/xtensa/xtensa.c: Likewise.
-
-2017-08-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/81593
-	* config/rs6000/vsx.md (vsx_concat_<mode>, VSX_D): Cleanup
-	constraints since the -mupper-regs-* switches have been
-	eliminated.
-	(vsx_concat_<mode>_1): New combiner insns to recognize inserting
-	into a vector from a double word element that was extracted from
-	another vector, and eliminate extra XXPERMDI instructions.
-	(vsx_concat_<mode>_2): Likewise.
-	(vsx_concat_<mode>_3): Likewise.
-	(vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector
-	concat to allow optimizing inserts from previous extracts.
-
-2017-08-07  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_stack_protect_guard): Generate
-	memory reference to a SSP offset in TLS address space.
-	(ix86_print_operand) <case '@'>: Remove.
-	(ix86_print_operand_punct_valid_p): Remove '@' code.
-	* config/i386/i386.md (unspec): Remove UNSPEC_SP_TLS_SET and
-	UNSPEC_SP_TLS_TEST.
-	(stack_tls_protect_set_<mode>): Remove.
-	(stack_protect_set): Do not call gen_stack_tls_protect_set_<mode>.
-	(stack_tls_protect_test_<mode>): Remove.
-	(stack_protect_test): Do not call gen_stack_tls_protect_test_<mode>.
-
-2017-08-07  Olivier Hainque  <hainque@adacore.com>
-
-	PR target/81755
-	* config/vxworksae.h (VXWORKS_HAVE_TLS): Define.
-
-2017-08-07  Douglas Rupp  <rupp@adacore.com>
-
-	* Makefile.in (install-mkheaders): Fix typo, where the multi_dir
-	variable was referenced as multidir in command.
-
-2017-08-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/69389
-	* gimplify.c (goa_stabilize_expr): Handle BIT_INSERT_EXPR and
-	BIT_FIELD_REF.
-
-2017-08-07  Martin Liska  <mliska@suse.cz>
-
-	* config/m32c/m32c.c: Add include of stringpool.h and attribs.h.
-	* config/rl78/rl78.c: Add include of attribs.h.
-	* config/sh/sh.c: Likewise.
-	* config/v850/v850.c: Likewise.
-
-2017-08-07  Tom de Vries  <tom@codesourcery.com>
-
-	PR middle-end/78266
-	* omp-expand.c (expand_oacc_for): Ensure diff_type is large enough.
-
-2017-08-07  Martin Liska  <mliska@suse.cz>
-
-	* config/mips/mips.c: Include attribs.h.
-
-2017-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/68829
-	* doc/invoke.texi: Document change in behvaior for -Ofast for
-	Fortran.
-
-2017-08-07  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_pushwb_single_reg):
-	Use gen_frame_mem.
-	(aarch64_pop_regs): Likewise.
-	(aarch64_gen_load_pair): Likewise.
-	(aarch64_save_callee_saves): Likewise.
-	(aarch64_restore_callee_saves): Likewise.
-
-2017-08-07  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c: Revert the last change.
-
-2017-08-07  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/81736
-	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
-	to ...
-	(ix86_finalize_stack_frame_flags): This.  Also clear
-	frame_pointer_needed if -fno-omit-frame-pointer is used without
-	stack access.
-	(ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
-	with ix86_finalize_stack_frame_flags.
-	(ix86_expand_epilogue): Likewise.
-	(ix86_expand_split_stack_prologue): Likewise.
-
-2017-08-07  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/81743
-	* config/i386/i386.c (get_builtin_code_for_version): Set priority
-	to P_AES for Westmere.
-
-2017-08-07  Jonathan Yong  <10walls@gmail.com>
-
-	* config/i386/mingw.opt (fset-stack-executable): Removed.
-	* config/i386/cygming.opt (fset-stack-executable): Moved
-	from mingw.opt.
-	* config/i386/cygwin.h: Define CHECK_EXECUTE_STACK_ENABLED.
-
-2017-08-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* print-rtl.c (print_exp): Print NOT as "~" instead of as "!".
-
-2017-08-07  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/81737
-	* fold-const.c (fold_indirect_ref_1): Check type_domain.
-
-2017-08-07  Martin Liska  <mliska@suse.cz>
-
-	* attribs.h (canonicalize_attr_name): New function.
-	(cmp_attribs): Move from c-format.c and adjusted.
-	(is_attribute_p): Moved from tree.h.
-	* tree-inline.c: Add new includes.
-	* tree.c (cmp_attrib_identifiers): Use cmp_attribs.
-	(private_is_attribute_p): Remove.
-	(private_lookup_attribute): Likewise.
-	(private_lookup_attribute_by_prefix): Simplify.
-	(remove_attribute): Use is_attribute_p.
-	* tree.h: Remove removed declarations.
-
-2017-08-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/81698
-	* stmt.c (emit_case_dispatch_table): Add DEFAULT_EDGE argument,
-	instead of computing it in the function.  Formatting fix.
-	(expand_case): Don't rely on default_edge being the first edge,
-	clear it if removing it, pass default_edge to
-	emit_case_dispatch_table.
-	(expand_sjlj_dispatch_table): Pass NULL as DEFAULT_EDGE, formatting
-	fix.
-
-2017-08-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/alpha/alpha.c (alpha_reorg): If trap is the last active
-	insn in the function, emit NOP after the insn.
-
-2017-08-06  Tom de Vries  <tom@codesourcery.com>
-
-	* omp-expand.c (expand_oacc_for): Add missing edge probability for tile
-	and element loops.
-
-2017-08-06  Tom de Vries  <tom@codesourcery.com>
-
-	* omp-expand.c (expand_oacc_for): Add missing edge probability for chunk
-	loop.
-
-2017-08-04  Yury Gribov  <tetra2005@gmail.com>
-
-	PR tree-optimization/57371
-	* match.pd: New pattern.
-
-2017-08-04  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/81695
-	* fold-const.c (fold_indirect_ref_1): For ((int *)&a + 4 -> a[1],
-	perform the computation in offset_int.
-
-2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/81136
-	* tree-vectorizer.h: Include tree-hash-traits.h.
-	(vec_base_alignments): New typedef.
-	(vec_info): Add a base_alignments field.
-	(vect_record_base_alignments): Declare.
-	* tree-data-ref.h (data_reference): Add an is_conditional_in_stmt
-	field.
-	(DR_IS_CONDITIONAL_IN_STMT): New macro.
-	(create_data_ref): Add an is_conditional_in_stmt argument.
-	* tree-data-ref.c (create_data_ref): Likewise.  Use it to initialize
-	the is_conditional_in_stmt field.
-	(data_ref_loc): Add an is_conditional_in_stmt field.
-	(get_references_in_stmt): Set the is_conditional_in_stmt field.
-	(find_data_references_in_stmt): Update call to create_data_ref.
-	(graphite_find_data_references_in_stmt): Likewise.
-	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
-	* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
-	(vect_record_base_alignment): New function.
-	(vect_record_base_alignments): Likewise.
-	(vect_compute_data_ref_alignment): Adjust base_addr and aligned_to
-	for nested statements even if we fail to compute a misalignment.
-	Use pooled base alignments for unconditional references.
-	(vect_find_same_alignment_drs): Compare base addresses instead
-	of base objects.
-	(vect_analyze_data_refs_alignment): Call vect_record_base_alignments.
-	* tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
-
-2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vectorizer.h (vec_info): Add a constructor and destructor.
-	Add an explicit name for the enum.  Use auto_vec for slp_instances
-	and grouped_stores.
-	(_loop_vec_info): Add a constructor and destructor.  Use auto_vec
-	for all vectors.
-	(_bb_vec_info): Add a constructor and destructor.
-	(vinfo_for_stmt): Return NULL for uids of -1 as well.
-	(destroy_loop_vec_info): Delete.
-	(vect_destroy_datarefs): Likewise.
-	* tree-vectorizer.c (vect_destroy_datarefs): Delete.
-	(vec_info::vec_info): New function.
-	(vec_info::~vec_info): Likewise.
-	(vectorize_loops): Use delete instead of destroy_loop_vec_info.
-	* tree-parloops.c (gather_scalar_reductions): Use delete instead of
-	destroy_loop_vec_info.
-	* tree-vect-loop.c (new_loop_vec_info): Replace with...
-	(_loop_vec_info::_loop_vec_info): ...this.
-	(destroy_loop_vec_info): Replace with...
-	(_loop_vec_info::~_loop_vec_info): ...this.  Unconditionally delete
-	the stmt_vec_infos.  Leave handling of vec_info information to its
-	destructor.  Remove explicit vector releases.
-	(vect_analyze_loop_form): Use new instead of new_loop_vec_info.
-	(vect_analyze_loop): Use delete instead of destroy_loop_vec_info.
-	* tree-vect-slp.c (new_bb_vec_info): Replace with...
-	(_bb_vec_info::_bb_vec_info): ...this.  Don't reserve space in
-	BB_VINFO_GROUPED_STORES or BB_VINFO_SLP_INSTANCES.
-	(destroy_bb_vec_info): Replace with...
-	(_bb_vec_info::~_bb_vec_info): ...this.  Leave handling of vec_info
-	information to its destructor.
-	(vect_slp_analyze_bb_1): Use new and delete instead of
-	new_bb_vec_info and destroy_bb_vec_info.
-	(vect_slp_bb): Replace 2 calls to destroy_bb_vec_info with a
-	single delete.
-
-2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-data-ref.h (subscript): Add access_fn field.
-	(data_dependence_relation): Add could_be_independent_p.
-	(SUB_ACCESS_FN, DDR_COULD_BE_INDEPENDENT_P): New macros.
-	(same_access_functions): Move to tree-data-ref.c.
-	* tree-data-ref.c (ref_contains_union_access_p): New function.
-	(access_fn_component_p): Likewise.
-	(access_fn_components_comparable_p): Likewise.
-	(dr_analyze_indices): Add a reference to access_fn_component_p.
-	(dump_data_dependence_relation): Use SUB_ACCESS_FN instead of
-	DR_ACCESS_FN.
-	(constant_access_functions): Likewise.
-	(add_other_self_distances): Likewise.
-	(same_access_functions): Likewise.  (Moved from tree-data-ref.h.)
-	(initialize_data_dependence_relation): Use XCNEW and remove
-	explicit zeroing of DDR_REVERSED_P.  Look for a subsequence
-	of access functions that have the same type.  Allow the
-	subsequence to end with different bases in some circumstances.
-	Record the chosen access functions in SUB_ACCESS_FN.
-	(build_classic_dist_vector_1): Replace ddr_a and ddr_b with
-	a_index and b_index.  Use SUB_ACCESS_FN instead of DR_ACCESS_FN.
-	(subscript_dependence_tester_1): Likewise dra and drb.
-	(build_classic_dist_vector): Update calls accordingly.
-	(subscript_dependence_tester): Likewise.
-	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Check
-	DDR_COULD_BE_INDEPENDENT_P.
-	* tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Test
-	comp_alias_ddrs instead of may_alias_ddrs.
-	* tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr):
-	New function.
-	(vect_analyze_data_ref_dependence): Use it if
-	DDR_COULD_BE_INDEPENDENT_P, but fall back to using the recorded
-	distance vectors if that fails.
-	(dependence_distance_ge_vf): New function.
-	(vect_prune_runtime_alias_test_list): Use it.  Don't clear
-	LOOP_VINFO_MAY_ALIAS_DDRS.
-
-2017-08-04  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81705
-	* fold-const.c (fold_binary_loc): Properly restrict
-	minus_var0 && minus_var1 case when associating undefined overflow
-	entities.
-
-2017-08-04  Tom de Vries  <tom@codesourcery.com>
-
-	* omp-simd-clone.c (simd_clone_adjust): Add missing edge probability.
-
-2017-08-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Don't start diagnostic messages with a capital letter.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal):
-	Likewise.
-	(rs6000_invalid_builtin): Likewise.
-	(rs6000_trampoline_init): Likewise.
-
-2017-08-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81621
-	* bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
-	after setting changeable df flags.
-
-2017-08-03  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-reassoc.c (should_break_up_subtract): Also break
-	up if the use is in USE - X.
-
-2017-08-03  Alexander Monakov  <amonakov@ispras.ru>
-
-	* toplev.c (dumpfile.h): New include.
-	(internal_error_reentered): New static function.  Use it...
-	(internal_error_function): ...here to handle reentered internal_error.
-
-2017-08-03  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81148
-	* fold-const.c (split_tree): Add minus_var and minus_con
-	arguments, remove unused loc arg.  Never generate NEGATE_EXPRs
-	here but always use minus_*.
-	(associate_trees): Assert we never associate with MINUS_EXPR
-	and NULL first operand.  Do not recurse for PLUS_EXPR operands
-	when associating as MINUS_EXPR either.
-	(fold_binary_loc): Track minus_var and minus_con.
-
-2017-08-03  Tom de Vries  <tom@codesourcery.com>
-
-	PR lto/81430
-	* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers): If
-	ACCEL_COMPILER, apply finish_options on
-	DECL_FUNCTION_SPECIFIC_OPTIMIZATION.
-
-2017-08-03  Tom de Vries  <tom@codesourcery.com>
-
-	PR target/81662
-	* config/nvptx/nvptx.c (nvptx_option_override): Emit sorry if
-	function_entry_patch_area_size > 0.
-
-2017-08-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR driver/81650
-	* calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??)
-	instead of 10??LU, perform unit multiplication in wide_int,
-	don't change alloc_object_size_limit if the limit is larger
-	than SSIZE_MAX.
-
-	PR tree-optimization/81655
-	PR tree-optimization/81588
-	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle also
-	the case when ranges[i].low and high are 1 for unsigned type with
-	precision 1.
-
-	PR middle-end/81052
-	* omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp.
-	(pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd.
-
-2017-08-03  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* tree-vrp.h: Add include guard.
-
-2017-08-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81644
-	* config/i386/i386.md (unspecv): Add UNSPECV_UD2.
-	(ud2): New insn pattern.
-	* config/i386/i386.c (ix86_expand_epilogue):
-	For naked functions, generate ud2 instead of trap insn.
-
-2017-08-02  Marek Polacek  <polacek@redhat.com>
-
-	PR other/81667
-	* alloc-pool.h (base_pool_allocator): Initialize m_elt_size.
-
-2017-08-02  Tom de Vries  <tom@codesourcery.com>
-	    Cesar Philippidis  <cesar@codesourcery.com>
-
-	* config/nvptx/nvptx.c (nvptx_lockless_update, nvptx_lockfull_update):
-	Add missing edge probabilities.
-
-2017-08-02  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_reinterpret_float_as_int):
-	Correct endianness.
-
-2017-08-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/79499
-	* function.c (thread_prologue_and_epilogue_insns): Determine blocks
-	for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN
-	of first NONDEBUG_INSN_P in each of the split_prologue_seq and
-	prologue_seq sequences - if any.
-
-2017-08-02  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-stmts.c (vectorizable_store): Perform vector extracts
-	via vectors if supported, integer extracts via punning if supported
-	or otherwise vector extracts.
-
-2017-08-02  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (bitmap_insert_into_set_1): Remove and inline
-	into ...
-	(bitmap_insert_into_set): ... this.
-
-2017-08-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81633
-	Revert
-	2015-08-17  Alan Hayward  <alan.hayward@arm.com>
-
-	PR tree-optimization/71752
-	* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.
-
-2017-08-01  Daniel Santos  <daniel.santos@pobox.com>
-
-	* config/i386/i386.h (ix86_frame::outlined_save_offset): Remove field.
-	(machine_function::call_ms2sysv_pad_out): Remove field.
-	* config/i386/i386.c (xlogue_layout::get_stack_space_used): Modify.
-	(ix86_compute_frame_layout): Likewise.
-
-2017-08-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/81654
-	* config/i386/i386.c (ix86_set_func_type): Disallow naked
-	attribute with interrupt attribute.
-
-2017-08-01  Andrew Pinski  <apinski@cavium.com>
-
-	* tree-ssa-scopedtables.c (hashable_expr_equal_p): Check
-	BIT_INSERT_EXPR's operand 1
-	to see if the types precision matches.
-
-2017-08-01  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/70140
-	* builtins.c (expand_builtin_memcpy_args): Remove.
-	(expand_builtin_memcpy): Call newly added function
-	expand_builtin_memory_copy_args.
-	(expand_builtin_memcpy_with_bounds): Likewise.
-	(expand_builtin_mempcpy): Remove last argument.
-	(expand_builtin_mempcpy_with_bounds): Likewise.
-	(expand_builtin_memory_copy_args): New function created from
-	expand_builtin_mempcpy_args with small modifications.
-	(expand_builtin_mempcpy_args): Remove.
-	(expand_builtin_stpcpy): Remove unused argument.
-	(expand_builtin): Likewise.
-	(expand_builtin_with_bounds): Likewise.
-
-2017-08-01  Martin Liska  <mliska@suse.cz>
-
-	Revert r250771
-	Make mempcpy more optimal (PR middle-end/70140).
-
-2017-08-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81622
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
-	__builtin_vec_cmpne verify both arguments are compatible vectors
-	before looking at TYPE_MODE on the element type.  For __builtin_vec_ld
-	verify arg1_type is a pointer or array type.  For __builtin_vec_st,
-	move computation of aligned to after checking the argument types.
-	Formatting fixes.
-
-	PR target/80846
-	* config/rs6000/vsx.md (vextract_fp_from_shorth,
-	vextract_fp_from_shortl): Add element mode after mode in gen_vec_init*
-	calls.
-
-2017-08-01  Jerome Lambourg  <lambourg@adacore.com>
-	    Doug Rupp  <rupp@adacore.com>
-	    Olivier Hainque  <hainque@adacore.com>
-
-	* config.gcc (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 as
-	well as arm-wrs-vxworks. Update target_cpu_name from arm6 (arch v3) to
-	arm8 (arch v4).
-	* config/arm/vxworks.h (MAYBE_TARGET_BPABI_CPP_BUILTINS): New, helper
-	for TARGET_OS_CPP_BUILTIN.
-	(TARGET_OS_CPP_BUILTIN): Invoke MAYBE_TARGET_BPABI_CPP_BUILTINS(),
-	refine CPU definitions for arm_arch5 and add those for arm_arch6 and
-	arm_arch7.
-	(MAYBE_ASM_ABI_SPEC): New, helper for SUBTARGET_EXTRA_ASM_SPEC,
-	passing required abi options to the assembler for EABI configurations.
-	(EXTRA_CC1_SPEC): New macro, to help prevent the implicit production
-	of .text.hot and .text.unlikely sections for kernel modules when
-	using ARM style exceptions.
-	(CC1_SPEC): Remove obsolete attempt at mimicking Diab toolchain
-	options. Add EXTRA_CC1_SPEC.
-	(VXWORKS_ENDIAN_SPEC): Adjust comment and remove handling of Diab
-	toolchain options.
-	(DWARF2_UNWIND_INFO): Redefine to handle the pre/post VxWorks 7
-	transition.
-	(ARM_TARGET2_DWARF_FORMAT): Define.
-	* config/arm/t-vxworks: Adjust multilib control to removal of the
-	Diab command line options.
-
-2017-08-01  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/81561
-	* gcov.c (unblock): Make unblocking safe as we need to preserve
-	index correspondence of blocks and block_lists.
-
-2017-08-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81181
-	* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
-	(compute_antic): ... end of iteration here.
-
-2017-08-01  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* common.opt (ftree-vectorize): No longer set flag_tree_vectorize.
-	(ftree-loop-vectorize): Set as EnabledBy ftree-vectorize.
-	(ftree-slp-vectorize): Likewise.
-	* omp-expand (expand_omp_simd): Remove flag_tree_vectorize, as it
-	can no longer be set independent of flag_tree_loop_vectorize.
-	* omp-general.c (emp_max_vf): Likewise.
-	* opts.c (enable_fdo_optimizations): Remove references to
-	flag_tree_vectorize, these are now implicit.
-	(common_handle_option): Remove handling for OPT_ftree_vectorize,
-	and leave it for the options machinery.
-
-2017-08-01  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/70140
-	* builtins.c (expand_builtin_memcpy_args): Remove.
-	(expand_builtin_memcpy): Call newly added function
-	expand_builtin_memory_copy_args.
-	(expand_builtin_memcpy_with_bounds): Likewise.
-	(expand_builtin_mempcpy): Remove last argument.
-	(expand_builtin_mempcpy_with_bounds): Likewise.
-	(expand_builtin_memory_copy_args): New function created from
-	expand_builtin_mempcpy_args with small modifications.
-	(expand_builtin_mempcpy_args): Remove.
-	(expand_builtin_stpcpy): Remove unused argument.
-	(expand_builtin): Likewise.
-	(expand_builtin_with_bounds): Likewise.
-
-2017-08-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81641
-	* config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel
-	print "ds:" only for immediates in generic address space.
-
-2017-08-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81639
-	* config/i386/i386.c (ix86_funciton_naked): New prototype.
-	(ix86_function_ok_for_sibcall): Return false for naked functions.
-
-2017-08-01  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (print_pre_expr): Handle NULL expr.
-	(compute_antic): Seed worklist with exit block predecessors.
-	* cfganal.c (dfs_find_deadend): For a cycle return the source
-	of the edge closing it.
-
-2017-08-01  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.c
-	(aarch64_can_const_movi_rtx_p): Move 0 check.
-
-2017-08-01  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Delete.
-	* fold-const.c (fold_comparison, fold_binary_loc): Delete use of
-	above macro.
-	* match.pd: Ditto in address comparison pattern.
-
-2017-08-01  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81627
-	* tree-predcom.c (prepare_finalizers): Always rewrite into loop
-	closed ssa form for store-store chain.
-
-2017-08-01  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81620
-	* tree-predcom.c (add_ref_to_chain): Don't set has_max_use_after
-	for store-store chain.
-
-2017-08-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81588
-	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): If
-	ranges[i].in_p, invert comparison code ccode.  For >/>=,
-	swap rhs1 and rhs2 and comparison code unconditionally,
-	for </<= don't do that.  Don't swap rhs1/rhs2 again if
-	ranges[i].in_p, instead invert comparison code ccode if
-	opcode or oe->rank is BIT_IOR_EXPR.
-
-	PR target/80846
-	* optabs.def (vec_extract_optab, vec_init_optab): Change from
-	a direct optab to conversion optab.
-	* optabs.c (expand_vector_broadcast): Use convert_optab_handler
-	with GET_MODE_INNER as last argument instead of optab_handler.
-	* expmed.c (extract_bit_field_1): Likewise.  Use vector from
-	vector extraction if possible and optab is available.
-	* expr.c (store_constructor): Use convert_optab_handler instead
-	of optab_handler.  Use vector initialization from smaller
-	vectors if possible and optab is available.
-	* tree-vect-stmts.c (vectorizable_load): Likewise.
-	* doc/md.texi (vec_extract, vec_init): Document that the optabs
-	now have two modes.
-	* config/i386/i386.c (ix86_expand_vector_init): Handle expansion
-	of vec_init from half-sized vectors with the same element mode.
-	* config/i386/sse.md (ssehalfvecmode): Add V4TI case.
-	(ssehalfvecmodelower, ssescalarmodelower): New mode attributes.
-	(reduc_plus_scal_v8df, reduc_plus_scal_v4df, reduc_plus_scal_v2df,
-	reduc_plus_scal_v16sf, reduc_plus_scal_v8sf, reduc_plus_scal_v4sf,
-	reduc_<code>_scal_<mode>, reduc_umin_scal_v8hi): Add element mode
-	after mode in gen_vec_extract* calls.
-	(vec_extract<mode>): Renamed to ...
-	(vec_extract<mode><ssescalarmodelower>): ... this.
-	(vec_extract<mode><ssehalfvecmodelower>): New expander.
-	(rotl<mode>3, rotr<mode>3, <shift_insn><mode>3, ashrv2di3): Add
-	element mode after mode in gen_vec_init* calls.
-	(VEC_INIT_HALF_MODE): New mode iterator.
-	(vec_init<mode>): Renamed to ...
-	(vec_init<mode><ssescalarmodelower>): ... this.
-	(vec_init<mode><ssehalfvecmodelower>): New expander.
-	* config/i386/mmx.md (vec_extractv2sf): Renamed to ...
-	(vec_extractv2sfsf): ... this.
-	(vec_initv2sf): Renamed to ...
-	(vec_initv2sfsf): ... this.
-	(vec_extractv2si): Renamed to ...
-	(vec_extractv2sisi): ... this.
-	(vec_initv2si): Renamed to ...
-	(vec_initv2sisi): ... this.
-	(vec_extractv4hi): Renamed to ...
-	(vec_extractv4hihi): ... this.
-	(vec_initv4hi): Renamed to ...
-	(vec_initv4hihi): ... this.
-	(vec_extractv8qi): Renamed to ...
-	(vec_extractv8qiqi): ... this.
-	(vec_initv8qi): Renamed to ...
-	(vec_initv8qiqi): ... this.
-	* config/rs6000/vector.md (VEC_base_l): New mode attribute.
-	(vec_init<mode>): Renamed to ...
-	(vec_init<mode><VEC_base_l>): ... this.
-	(vec_extract<mode>): Renamed to ...
-	(vec_extract<mode><VEC_base_l>): ... this.
-	* config/rs6000/paired.md (vec_initv2sf): Renamed to ...
-	(vec_initv2sfsf): ... this.
-	* config/rs6000/altivec.md (splitter, altivec_copysign_v4sf3,
-	vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi,
-	vec_unpacku_lo_v8hi, mulv16qi3, altivec_vreve<mode>2): Add
-	element mode after mode in gen_vec_init* calls.
-	* config/aarch64/aarch64-simd.md (vec_init<mode>): Renamed to ...
-	(vec_init<mode><Vel>): ... this.
-	(vec_extract<mode>): Renamed to ...
-	(vec_extract<mode><Vel>): ... this.
-	* config/aarch64/iterators.md (Vel): New mode attribute.
-	* config/s390/s390.c (s390_expand_vec_strlen, s390_expand_vec_movstr):
-	Add element mode after mode in gen_vec_extract* calls.
-	* config/s390/vector.md (non_vec_l): New mode attribute.
-	(vec_extract<mode>): Renamed to ...
-	(vec_extract<mode><non_vec_l>): ... this.
-	(vec_init<mode>): Renamed to ...
-	(vec_init<mode><non_vec_l>): ... this.
-	* config/s390/s390-builtins.def (s390_vlgvb, s390_vlgvh, s390_vlgvf,
-	s390_vlgvf_flt, s390_vlgvg, s390_vlgvg_dbl): Add element mode after
-	vec_extract mode.
-	* config/arm/iterators.md (V_elem_l): New mode attribute.
-	* config/arm/neon.md (vec_extract<mode>): Renamed to ...
-	(vec_extract<mode><V_elem_l>): ... this.
-	(vec_extractv2di): Renamed to ...
-	(vec_extractv2didi): ... this.
-	(vec_init<mode>): Renamed to ...
-	(vec_init<mode><V_elem_l>): ... this.
-	(reduc_plus_scal_<mode>, reduc_plus_scal_v2di, reduc_smin_scal_<mode>,
-	reduc_smax_scal_<mode>, reduc_umin_scal_<mode>,
-	reduc_umax_scal_<mode>, neon_vget_lane<mode>, neon_vget_laneu<mode>):
-	Add element mode after gen_vec_extract* calls.
-	* config/mips/mips-msa.md (vec_init<mode>): Renamed to ...
-	(vec_init<mode><unitmode>): ... this.
-	(vec_extract<mode>): Renamed to ...
-	(vec_extract<mode><unitmode>): ... this.
-	* config/mips/loongson.md (vec_init<mode>): Renamed to ...
-	(vec_init<mode><unitmode>): ... this.
-	* config/mips/mips-ps-3d.md (vec_initv2sf): Renamed to ...
-	(vec_initv2sfsf): ... this.
-	(vec_extractv2sf): Renamed to ...
-	(vec_extractv2sfsf): ... this.
-	(reduc_plus_scal_v2sf, reduc_smin_scal_v2sf, reduc_smax_scal_v2sf):
-	Add element mode after gen_vec_extract* calls.
-	* config/mips/mips.md (unitmode): New mode iterator.
-	* config/spu/spu.c (spu_expand_prologue, spu_allocate_stack,
-	spu_builtin_extract): Add element mode after gen_vec_extract* calls.
-	* config/spu/spu.md (inner_l): New mode attribute.
-	(vec_init<mode>): Renamed to ...
-	(vec_init<mode><inner_l>): ... this.
-	(vec_extract<mode>): Renamed to ...
-	(vec_extract<mode><inner_l>): ... this.
-	* config/sparc/sparc.md (veltmode): New mode iterator.
-	(vec_init<VMALL:mode>): Renamed to ...
-	(vec_init<VMALL:mode><VMALL:veltmode>): ... this.
-	* config/ia64/vect.md (vec_initv2si): Renamed to ...
-	(vec_initv2sisi): ... this.
-	(vec_initv2sf): Renamed to ...
-	(vec_initv2sfsf): ... this.
-	(vec_extractv2sf): Renamed to ...
-	(vec_extractv2sfsf): ... this.
-	* config/powerpcspe/vector.md (VEC_base_l): New mode attribute.
-	(vec_init<mode>): Renamed to ...
-	(vec_init<mode><VEC_base_l>): ... this.
-	(vec_extract<mode>): Renamed to ...
-	(vec_extract<mode><VEC_base_l>): ... this.
-	* config/powerpcspe/paired.md (vec_initv2sf): Renamed to ...
-	(vec_initv2sfsf): ... this.
-	* config/powerpcspe/altivec.md (splitter, altivec_copysign_v4sf3,
-	vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi,
-	vec_unpacku_lo_v8hi, mulv16qi3): Add element mode after mode in
-	gen_vec_init* calls.
-
-2017-08-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81297
-	* tree-vrp.c (get_single_symbol): Remove assert, instead drop
-	TREE_OVERFLOW from INTEGER_CSTs.
-
-2017-07-31  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (enum rs6000_reg_type): Delete trailing comma.
-
-2017-07-31  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c: Add support for built-in functions
-	vector signed char vec_xl_be (signed long long, signed char *);
-	vector unsigned char vec_xl_be (signed long long, unsigned char *);
-	vector signed int vec_xl_be (signed long long, signed int *);
-	vector unsigned int vec_xl_be (signed long long, unsigned int *);
-	vector signed long long vec_xl_be (signed long long, signed long long *);
-	vector unsigned long long vec_xl_be (signed long long, unsigned long long *);
-	vector signed short vec_xl_be (signed long long, signed short *);
-	vector unsigned short vec_xl_be (signed long long, unsigned short *);
-	vector double vec_xl_be (signed long long, double *);
-	vector float vec_xl_be (signed long long, float *);
-	* config/rs6000/altivec.h (vec_xl_be): Add #define.
-	* config/rs6000/rs6000-builtin.def (XL_BE_V16QI, XL_BE_V8HI, XL_BE_V4SI)
-	XL_BE_V2DI, XL_BE_V4SF, XL_BE_V2DF, XL_BE): Add definitions
-	for the builtins.
-	* config/rs6000/rs6000.c (altivec_expand_xl_be_builtin): Add function.
-	(altivec_expand_builtin): Add switch statement to call
-	altivec_expand_xl_be for each builtin.
-	(altivec_init_builtins): Add def_builtin for _builtin_vsx_le_be_v8hi,
-	__builtin_vsx_le_be_v4si, __builtin_vsx_le_be_v2di,
-	__builtin_vsx_le_be_v4sf, __builtin_vsx_le_be_v2df,
-	__builtin_vsx_le_be_v16qi.
-	* doc/extend.texi: Update the built-in documentation file for the
-	new built-in functions.
-
-2017-07-31  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/25967
-	* config/i386/i386.c (ix86_allocate_stack_slots_for_args):
-	New function.
-	(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Define.
-
-2017-07-31  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config.gcc: Add z14.
-	* config/s390/driver-native.c (s390_host_detect_local_cpu): Add
-	CPU model numbers for z13s and z14.
-	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Replace
-	arch12 with z14.
-	* config/s390/s390-opts.h (enum processor_type): Rename
-	PROCESSOR_ARCH12 to PROCESSOR_3906_Z14.
-	* config/s390/s390.c (processor_table): Add field for CPU name to
-	be passed to Binutils.
-	(s390_asm_output_machine_for_arch): Use the new field in
-	processor_table for Binutils.
-	(s390_expand_builtin): Replace arch12 with z14.
-	(s390_issue_rate): Rename PROCESSOR_ARCH12 to PROCESSOR_3906_Z14.
-	(s390_get_sched_attrmask): Likewise.
-	(s390_get_unit_mask): Likewise.
-	* config/s390/s390.opt: Add z14 to processor_type enum.
-
-2017-07-31  Martin Jambor  <mjambor@suse.cz>
-
-	PR hsa/81477
-	* ipa-fnsummary.c (ipa_fn_summary_generate): Set versionable
-	regardless of optimization level.
-
-2017-07-31  Jan Hubicka <hubicka@ucw.cz>
-	    Martin Liska  <mliska@suse.cz>
-
-	* predict.def: Remove old comment and adjust probability.
-	* gimplify.c (should_warn_for_implicit_fallthrough): Ignore
-	PREDICT statements.
-
-2017-07-31  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/25967
-	* config/i386/i386.c (ix86_function_naked): New function.
-	(ix86_can_use_return_insn_p): Return false for naked functions.
-	(ix86_expand_prologue): Skip prologue for naked functions.
-	(ix86_expand_epilogue): Skip epilogue for naked functions
-	and emit trap instruction.
-	(ix86_warn_func_return): New function.
-	(ix86_attribute_table): Add "naked" attribute specification.
-	(TARGET_WARN_FUNC_RETURN): Define.
-	* doc/extend.texi (x86 Function Attributes) <naked>: Document it.
-
-2017-07-31  Martin Liska  <mliska@suse.cz>
-
-	* gimple-pretty-print.c (dump_gimple_label): Never dump BB info.
-	(dump_gimple_bb_header): Always dump BB info.
-	(pp_cfg_jump): Do not append info about BB when dumping a jump.
-
-2017-07-31  Martin Liska  <mliska@suse.cz>
-
-	PR sanitize/81530
-	* convert.c (convert_to_integer_1): Guard condition with flag_sanitize_p
-	also with current_function_decl non-null equality.
-
-2017-07-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81604
-	* ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't
-	change type to the element type, instead add eltype variable and
-	use it where we are interested in the element type.
-
-	PR tree-optimization/81603
-	* ipa-polymorphic-call.c
-	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Perform
-	offset arithmetic in offset_int, bail out if the resulting bit offset
-	doesn't fit into shwi.
-
-2017-07-31  Martin Liska  <mliska@suse.cz>
-
-	* gimplify.c (mostly_copy_tree_r): Remove Java specific hunk.
-	(gimplify_save_expr): Fix comment.
-
-2017-07-30  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/79793
-	* config/i386/i386.c (ix86_function_arg): Update arguments for
-	exception handler.
-	(ix86_compute_frame_layout): Set the initial stack offset to
-	INCOMING_FRAME_SP_OFFSET.  Update red-zone offset with
-	INCOMING_FRAME_SP_OFFSET.
-	(ix86_expand_epilogue): Don't pop the 'ERROR_CODE' off the
-	stack before exception handler returns.
-	* config/i386/i386.h (INCOMING_FRAME_SP_OFFSET): Add the
-	the 'ERROR_CODE' for exception handler.
-
-2017-07-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (ASM_PRINTF_EXTENSIONS): New macro.
-	(ASM_OUTPUT_REG_PUSH): Rewrite with new operand modifiers.
-	(ASM_OUTPUT_REG_POP): Ditto.
-	* config/i386/i386.c (ix86_asm_output_function_label): Use fputs
-	instead of asm_fprintf to output pure string.
-
-2017-07-29  Jakub Jelinek  <jakub@redhat.com>
-
-	* debug.h (struct gcc_debug_hooks): Add IMPLICIT argument
-	to imported_module_or_decl hook.
-	(debug_nothing_tree_tree_tree_bool): Remove.
-	(debug_nothing_tree_tree_tree_bool_bool): New declaration.
-	* debug.c (do_nothing_debug_hooks): Use
-	debug_nothing_tree_tree_tree_bool_bool instead of
-	debug_nothing_tree_tree_tree_bool.
-	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
-	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
-	* sdbout.c (sdb_debug_hooks): Likewise.
-	* dwarf2out.c (dwarf2_lineno_debug_hooks): Likewise.
-	(gen_namespace_die): Add DW_AT_export_symbols attribute if
-	langhook wants it.
-	(dwarf2out_imported_module_or_decl): Add IMPLICIT argument,
-	if true, -gdwarf-5 and decl will have DW_AT_export_symbols
-	attribute, don't add anything.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* fold-const.c (fold_build1_stat_loc): Remove _stat from name.
-	(fold_build2_stat_loc): Likewise.
-	(fold_build3_stat_loc): Likewise.
-	* fold-const.h (fold_build1, fold_build2, fold_build3): Adjust.
-	(fold_build1_loc): Remove macro.
-	(fold_build2_loc): Likewise.
-	(fold_build3_loc): Likewise.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* gimple.c (gimple_build_debug_bind_stat): Remove _stat from name.
-	(gimple_build_debug_bind_source_stat): Likewise.
-	* gimple.h (gimple_build_debug_bind): Remove macro.
-	(gimple_build_debug_bind_source): Likewise.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* bitmap.c (bitmap_alloc): Adjust.
-	(bitmap_gc_alloc): Likewise.
-	* bitmap.h (bitmap_initialize_stat): Remove _stat from name.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* bitmap.c (bitmap_obstack_alloc_stat): Rename to bitmap_alloc.
-	(bitmap_gc_alloc_stat): Rename to bitmap_gc_alloc.
-	* bitmap.h (bitmap_obstack_alloc_stat): Adjust prototype.
-	(bitmap_gc_alloc_stat): Likewise.
-	(BITMAP_ALLOC, BITMAP_GGC_ALLOC): Adjust.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* rtl.c (shallow_copy_rtx_stat): Remove _stat from name.
-	* rtl.h (shallow_copy_rtx): Remove macro.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* emit-rtl.c (gen_raw_REG): Adjust.
-	* gengenrtl.c (gendef): Likewise.
-	* rtl.c (rtx_alloc_stat): Remove _stat from name.
-	* rtl.h (rtx_alloc): Remove macro.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (build_tree_list_vec_stat): Remove _stat from name.
-	(build_tree_list_stat): Likewise.
-	* tree.h (build_tree_list): Remove macro.
-	(build_tree_list_vec): Likewise.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (make_vector_stat): Remove _stat from name.
-	(build_vector_stat): Likewise.
-	* tree.h (make_vector_stat): Remove macro.
-	(build_vector_stat): Likewise.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.h (build_var_debug_value): Remove prototype.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (tree_cons_stat): Remove _stat from name.
-	* tree.h (tree_cons): Remove macro.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (build_vl_exp_stat): Remove _stat from name.
-	* tree.h (build_vl_exp): Remove macro.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (build_decl_stat): Remove _stat from name.
-	* tree.h (build_decl): Remove macro.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* gimple.c (gimple_build_with_ops_stat): Adjust.
-	(gimple_alloc_stat): Remove _stat from name.
-	* gimple.h (gimple_alloc): Remove macro.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (make_tree_vec_stat): Remove _stat from name.
-	(grow_tree_vec_stat): Likewise.
-	* tree.h (make_tree_vec_stat): Adjust prototype.
-	(grow_tree_vec_stat): Likewise.
-	(make_tree_vec): Remove macro.
-	(grow_tree_vec): Likewise.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* fold-const.c (fold_build1_stat_loc): Adjust.
-	(fold_build2_stat_loc): Likewise.
-	(fold_build3_stat_loc): Likewise.
-	* tree.c (build0_stat): Remove _stat from name.
-	(build1_stat): Likewise.
-	(build2_stat): Likewise.
-	(build3_stat): Likewise.
-	(build4_stat): Likewise.
-	(build5_stat): Likewise.
-	* tree.h (build1_loc): Remove macro, and rename _stat function
-	to this.
-	(build2_loc): Likewise.
-	(build3_loc): Likewise.
-	(build4_loc): Likewise.
-	(build5_loc): Likewise.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (make_int_cst_stat): Remove _stat from name.
-	* tree.h (make_int_cst_stat): Adjust prototype.
-	(make_int_cst): Remove macro.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (make_tre_binfo_stat): Remove _stat from name.
-	* tree.h (make_tree_binfo_stat): Adjust prototype.
-	(make_tree_binfo): Remove.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (copy_node_stat): Rename to copy_node.
-	(build_distinct_type_copy): Adjust.
-	* tree.h (copy_node_stat): Adjust prototype.
-	(copy_node): Remove macro.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree.c (make_node_stat): rename to make_node.
-	(build_tree_list_stat): Adjust.
-	(build0_stat): Likewise.
-	(build2_stat): Likewise.
-	(build3_stat): Likewise.
-	(build4_stat): Likewise.
-	(build5_stat): Likewise.
-	(build_decl_stat): Likewise.
-	* tree.h (make_node_stat): Adjust prototype.
-	(make_node): remove macro.
-
-2017-07-28  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define.
-	(PPC_FEATURE2_SCV): Likewise.
-	* config/rs6000/rs6000.c (cpu_supports_info): Use them.
-
-2017-07-28  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.c
-	(aarch64_internal_mov_immediate): Add new special pattern.
-	* config/aarch64/aarch64.md (*movdi_aarch64):
-	Add reg/32bit const mov case.
-
-2017-07-28  Tamar Christina  <tamar.christina@arm.com>
-	    Richard Sandiford <richard.sandiford@linaro.org>
-
-	* config/aarch64/aarch64.md (mov<mode>): Generalize.
-	(*movhf_aarch64, *movsf_aarch64, *movdf_aarch64):
-	Add integer and movi cases.
-	(movi-split-hf-df-sf split, fp16): New.
-	(enabled): Added TARGET_FP_F16INST.
-	* config/aarch64/iterators.md (GPF_HF): New.
-	* config/aarch64/predicates.md (aarch64_reg_or_fp_float): New.
-
-2017-07-28  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.c
-	(aarch64_simd_container_mode): Add prototype.
-	(aarch64_expand_mov_immediate): Add HI support.
-	(aarch64_reinterpret_float_as_int, aarch64_float_const_rtx_p: New.
-	(aarch64_can_const_movi_rtx_p): New.
-	(aarch64_preferred_reload_class):
-	Remove restrictions of using FP registers for certain SIMD operations.
-	(aarch64_rtx_costs): Added new cost for CONST_DOUBLE moves.
-	(aarch64_valid_floating_const): Add integer move validation.
-	(aarch64_simd_imm_scalar_p): Remove.
-	(aarch64_output_scalar_simd_mov_immediate): Generalize function.
-	(aarch64_legitimate_constant_p): Expand list of supported cases.
-	* config/aarch64/aarch64-protos.h
-	(aarch64_float_const_rtx_p, aarch64_can_const_movi_rtx_p): New.
-	(aarch64_reinterpret_float_as_int): New.
-	(aarch64_simd_imm_scalar_p): Remove.
-	* config/aarch64/constraints.md (Uvi): New.
-	(Dd): Split into Ds and new Dd.
-	* config/aarch64/aarch64.md (*movsi_aarch64):
-	Add SIMD mov case.
-	(*movdi_aarch64): Add SIMD mov case.
-
-2017-07-28  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c: (struct chain): Handle store-store chain in which
-	stores for elimination only store loop invariant values.
-	(execute_pred_commoning_chain): Ditto.
-	(prepare_initializers_chain_store_elim): Ditto.
-	(prepare_finalizers): Ditto.
-	(is_inv_store_elimination_chain): New function.
-	(initialize_root_vars_store_elim_1): New function.
-
-2017-07-28  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c: Revise general description of the pass.
-	(enum chain_type): New enum type for store elimination.
-	(struct chain): New field supporting store elimination.
-	(struct component): Ditto.
-	(dump_chain): Dump store-stores chain.
-	(release_chain): Release resources.
-	(split_data_refs_to_components): Compute and create component
-	contains only stores for elimination.
-	(get_chain_last_ref_at): New function.
-	(make_invariant_chain): Initialization.
-	(make_rooted_chain): Specify chain type in parameter and record it.
-	(add_looparound_copies): Skip for store-stores chain.
-	(determine_roots_comp): Compute type of chain and pass it to
-	make_rooted_chain.
-	(initialize_root_vars_store_elim_2): New function.
-	(finalize_eliminated_stores): New function.
-	(remove_stmt): Handle store for elimination.
-	(execute_pred_commoning_chain): Execute predictive commoning on
-	store-store chains.
-	(determine_unroll_factor): Skip unroll for store-stores chain.
-	(prepare_initializers_chain_store_elim): New function.
-	(prepare_initializers_chain): Hanlde store-store chain.
-	(prepare_finalizers_chain, prepare_finalizers): New function.
-	(tree_predictive_commoning_loop): Return integer value indicating
-	if loop is unrolled or lcssa form is corrupted.
-	(tree_predictive_commoning): Rewrite for lcssa form if necessary.
-
-2017-07-28  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c (initialize_root): Delete.
-	(execute_pred_commoning_chain): Initialize root vars and replace
-	reference of non-combined chain directly, rather than call above
-	function.
-
-2017-07-28  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c (ref_at_iteration): Add parameter NITERS.  Compute
-	memory reference to DR at (NITERS + ITERS)-th iteration of loop.
-
-2017-07-28  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c (struct chain): New field init_seq.
-	(release_chain): Release init_seq.
-	(prepare_initializers_chain): Record intialization stmts in above
-	field.
-	(insert_init_seqs): New function.
-	(tree_predictive_commoning_loop): Call insert_init_seqs.
-
-2017-07-28  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-predcom.c (determine_roots_comp): Skip trivial components.
-
-2017-07-28  Richard Biener  <rguenther@suse.de>
-
-	* match.pd: Remove superfluous :c.
-	* genmatch.c (simplify::id): Add member.
-	(lower_commutative, lower_opt_convert, lower_cond, lower_for):
-	Copy id.
-	(current_id): New global.
-	(dt_node::parent): Move from ...
-	(dt_operand::parent): ... here.  Add for_id member.
-	(is_a_helper <dt_operand *>::test): DT_TRUE is also a dt_operand.
-	(decision_tree::find_node): Relax order requirement when
-	merging DT_TRUE nodes to ones inbetween the current simplify
-	and the one we try to merge with.  Add diagnostic whenever
-	we need to enforce pattern order by not merging.
-	(decision_tree::insert): Set current_id.
-	(decision_tree::print_node): Dump parent node and for_id.
-	(parser::last_id): Add member.
-	(parser::push_simplify): Assign unique id.
-	(parser::parser): Initialize last_id.
-
-2017-07-28  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/81340
-	* sanopt.c (sanitize_rewrite_addressable_params): Set VALUE_EXPR after
-	gimple_build_debug_bind.
-
-2017-07-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81502
-	* match.pd: Add pattern combining BIT_INSERT_EXPR with
-	BIT_FIELD_REF.
-	* tree-cfg.c (verify_expr): Verify types of BIT_FIELD_REF
-	size/pos operands.
-	(verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR pos.
-	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Use bitsizetype
-	for BIT_FIELD_REF args.
-	* fold-const.c (make_bit_field_ref): Likewise.
-	* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
-
-2017-07-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/80998
-	* sanopt.c (pass_sanopt::execute): Handle IFN_UBSAN_PTR.
-	* tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise.
-	* flag-types.h (enum sanitize_code): Add SANITIZER_POINTER_OVERFLOW.
-	Or it into SANITIZER_UNDEFINED.
-	* ubsan.c: Include gimple-fold.h and varasm.h.
-	(ubsan_expand_ptr_ifn): New function.
-	(instrument_pointer_overflow): New function.
-	(maybe_instrument_pointer_overflow): New function.
-	(instrument_object_size): Formatting fix.
-	(pass_ubsan::execute): Call instrument_pointer_overflow
-	and maybe_instrument_pointer_overflow.
-	* internal-fn.c (expand_UBSAN_PTR): New function.
-	* ubsan.h (ubsan_expand_ptr_ifn): Declare.
-	* sanitizer.def (__ubsan_handle_pointer_overflow,
-	__ubsan_handle_pointer_overflow_abort): New builtins.
-	* tree-ssa-tail-merge.c (merge_stmts_p): Handle IFN_UBSAN_PTR.
-	* internal-fn.def (UBSAN_PTR): New internal function.
-	* opts.c (sanitizer_opts): Add pointer-overflow.
-	* lto-streamer-in.c (input_function): Handle IFN_UBSAN_PTR.
-	* fold-const.c (build_range_check): Compute pointer range check in
-	integral type if pointer arithmetics would be needed.  Formatting
-	fixes.
-
-2017-07-28  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/81460
-	* sanopt.c (sanitize_rewrite_addressable_params): Do not rewrite
-	parameters that are of a variable-length.
-
-2017-07-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h.  Add
-	rs6000/biarch64.h.
-	* config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
-	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
-	(CRT_CALL_STATIC_FUNCTION): Likewise.
-	(ASM_DEFAULT_SPEC): New define.
-	(ASM_SPEC32): Likewise.
-	(ASM_SPEC64): Likewise.
-	(ASM_SPEC_COMMON): Likewise.
-	(ASM_SPEC): Likewise.
-	(INVALID_64BIT): Likewise.
-	(LINK_OS_DEFAULT_SPEC): Likewise.
-	(LINK_OS_SPEC32): Likewise.
-	(LINK_OS_SPEC64): Likewise.
-	(POWERPC_LINUX): Likewise.
-	(PTRDIFF_TYPE): Likewise.
-	(RESTORE_FP_PREFIX): Likewise.
-	(RESTORE_FP_SUFFIX): Likewise.
-	(SAVE_FP_PREFIX): Likewise.
-	(SAVE_FP_SUFFIX): Likewise.
-	(SIZE_TYPE): Likewise.
-	(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
-	(TARGET_64BIT): Likewise.
-	(TARGET_64BIT): Likewise.
-	(TARGET_AIX): Likewise.
-	(WCHAR_TYPE_SIZE): Likewise.
-	(WCHAR_TYPE): Undefine.
-	(TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines.
-	(CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC.
-	(CPP_OS_RTEMS_SPEC): Delete.
-	(SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems.  Add
-	asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and
-	link_os_spec64.
-	* config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs.
-
-2017-07-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81578
-	* tree-parloops.c (build_new_reduction): Bail out if
-	reduction_code isn't one of the standard OpenMP reductions.
-	Move the details printing after that decision.
-
-2017-07-27  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/predicates.md (volatile_mem_operand): Remove code
-	related to reload_in_progress.
-	(splat_input_operand): Likewise.
-	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
-	Delete prototype.
-	* config/rs6000/rs6000.c (machine_function): Remove sdmode_stack_slot
-	field.
-	(TARGET_EXPAND_TO_RTL_HOOK): Delete.
-	(TARGET_INSTANTIATE_DECLS): Likewise.
-	(legitimate_indexed_address_p): Delete reload_in_progress code.
-	(rs6000_debug_legitimate_address_p): Likewise.
-	(rs6000_eliminate_indexed_memrefs): Likewise.
-	(rs6000_emit_le_vsx_store): Likewise.
-	(rs6000_emit_move_si_sf_subreg): Likewise.
-	(rs6000_emit_move): Likewise.
-	(register_to_reg_type): Likewise.
-	(rs6000_pre_atomic_barrier): Likewise.
-	(rs6000_machopic_legitimize_pic_address): Likewise.
-	(rs6000_allocate_stack_temp): Likewise.
-	(rs6000_address_for_fpconvert): Likewise.
-	(rs6000_address_for_altivec): Likewise.
-	(rs6000_secondary_memory_needed_rtx): Delete function.
-	(rs6000_check_sdmode): Likewise.
-	(rs6000_alloc_sdmode_stack_slot): Likewise.
-	(rs6000_instantiate_decls): Likewise.
-	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
-	* config/rs6000/rs6000.md (splitter for *movsi_got_internal):
-	Delete reload_in_progress.
-	(*vec_reload_and_plus_<mptrsize>): Likewise.
-	* config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
-	(vsx_div_v2di): Likewise.
-	(vsx_udiv_v2di): Likewise.
-
-2017-07-27  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/rs6000.opt (mlra): Replace with stub.
-	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Delete OPTION_MASK_LRA.
-	* config/rs6000/rs6000.c (TARGET_LRA_P): Delete.
-	(rs6000_debug_reg_global): Delete print of LRA status.
-	(rs6000_option_override_internal): Delete dead LRA related code.
-	(rs6000_lra_p): Delete function.
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mlra.
-
-2017-07-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*).
-	* config/riscv/rtems.h: New file.
-
-2017-07-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-	    Sudakshina Das  <sudi.das@arm.com>
-
-	* config/aarch64/aarch64.md
-	(define_split for and<mode>3nr_compare): Move
-	non aarch64_logical_operand to a register.
-	(define_split for and_<SHIFT:optab><mode>3nr_compare0): Move non
-	register immediate operand to a register.
-	* config/aarch64/predicates.md (aarch64_mov_imm_operand): New.
-
-2017-07-27  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR middle-end/81564
-	* tree-cfg.c (group_case_labels_stmt): Handle already deleted blocks.
-
-2017-07-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81573
-	PR tree-optimization/81494
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
-	multi defuse cycle case.
-
-2017-07-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81571
-	* tree-vect-slp.c (vect_build_slp_tree): Properly verify reduction
-	PHIs.
-
-2017-07-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.c (sparc_option_override): Set MASK_FSMULD flag
-	earlier and only if MASK_FPU is set.  Adjust formatting.
-
-2017-07-27  Martin Liska  <mliska@suse.cz>
-
-	* opt-functions.awk: Add validation of value of Init.
-	* optc-gen.awk: Pass new argument.
-
-2017-07-27  Martin Liska  <mliska@suse.cz>
-
-	* auto-profile.c (autofdo_source_profile::update_inlined_ind_target):
-	Fix wrong condition.
-
-2017-07-27  Martin Liska  <mliska@suse.cz>
-
-	* auto-profile.c (afdo_annotate_cfg): Assign zero counts to
-	BBs and edges seen by autoFDO.
-
-2017-07-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81502
-	* tree-ssa.c (non_rewritable_lvalue_p): Handle BIT_INSERT_EXPR
-	with incompatible but same sized type.
-	(execute_update_addresses_taken): Likewise.
-
-2017-07-27  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* tree-ssa-loop-ch.c (pass_ch::process_loop_p): Guard on
-	flag_tree_loop_vectorize rather than flag_tree_vectorize.
-
-2017-07-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/81534
-	* config/s390/s390.md ("*atomic_compare_and_swap<mode>_1")
-	("*atomic_compare_and_swapdi_2", "*atomic_compare_and_swapsi_3"):
-	Change s_operand to memory_operand.
-
-2017-07-27  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* config/rs6000/rs6000-protos.h (rs6000_emit_le_vsx_permute): Declare.
-	* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Replace with...
-	(rs6000_emit_le_vsx_permute): ...this.  Take the destination as input.
-	Emit instructions rather than returning an expression.  Handle TFmode
-	and KFmode by casting to TImode.
-	(rs6000_emit_le_vsx_load): Update to use rs6000_emit_le_vsx_permute.
-	(rs6000_emit_le_vsx_store): Likewise.
-	* config/rs6000/vsx.md (VSX_TI): New iterator.
-	(*vsx_le_permute_<mode>): Use it instead of VSX_LE_128.
-	(*vsx_le_undo_permute_<mode>): Likewise.
-	(*vsx_le_perm_load_<mode>): Use rs6000_emit_le_vsx_permute to
-	emit the split sequence.
-	(*vsx_le_perm_store_<mode>): Likewise.
-
-2017-07-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81555
-	PR tree-optimization/81556
-	* tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument,
-	if true, force CHANGED for the recursive invocation.
-	(reassociate_bb): Remember original length of ops array, pass
-	len != orig_len as NEXT_CHANGED in rewrite_expr_tree call.
-
-	* attribs.c (decl_attributes): Imply noinline, noclone and no_icf
-	attributes for noipa attribute.  For naked attribute use
-	lookup_attribute first before lookup_attribute_spec.
-	* final.c (rest_of_handle_final): Disable IPA RA for functions with
-	noipa attribute.
-	* ipa-visibility.c (non_local_p): Fix comment typos.  Return true
-	for functions with noipa attribute.
-	(cgraph_externally_visible_p): Return true for functions with noipa
-	attribute.
-	* cgraph.c (cgraph_node::get_availability): Return AVAIL_INTERPOSABLE
-	for functions with noipa attribute.
-	* doc/extend.texi: Document noipa function attribute.
-	* tree-ssa-structalias.c (refered_from_nonlocal_fn): Set *nonlocal_p
-	also for functions with noipa attribute.
-	(ipa_pta_execute): Set nonlocal_p also for nodes with noipa attribute.
-
-2017-07-26  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64.c (thunderx_vector_cost): Decrease cost of
-	vec_unalign_load_cost and vec_unalign_store_cost.
-
-2017-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete
-	-mvsx-small-integer option.
-	(ISA_3_0_MASKS_IEEE): Likewise.
-	(OTHER_VSX_VECTOR_MASKS): Likewise.
-	(POWERPC_MASKS): Likewise.
-	* config/rs6000/rs6000.opt (-mvsx-small-integer): Likewise.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Simplify
-	code, only testing for DImode being allowed in non-VSX floating
-	point registers.
-	(rs6000_init_hard_regno_mode_ok): Change TARGET_VSX_SMALL_INTEGER
-	to TARGET_P8_VECTOR test.  Remove redundant VSX test inside of
-	another VSX test.
-	(rs6000_option_override_internal): Delete -mvsx-small-integer.
-	(rs6000_expand_vector_set): Change TARGET_VSX_SMALL_INTEGER to
-	TARGET_P8_VECTOR test.
-	(rs6000_secondary_reload_simple_move): Likewise.
-	(rs6000_preferred_reload_class): Delete TARGET_VSX_SMALL_INTEGER,
-	since TARGET_P9_VECTOR was already tested.
-	(rs6000_opt_masks): Remove -mvsx-small-integer.
-	* config/rs6000/vsx.md (vsx_extract_<mode>): Delete
-	TARGET_VSX_SMALL_INTEGER, since a test for TARGET_P9_VECTOR was
-	used.
-	(vsx_extract_<mode>_p9): Delete TARGET_VSX_SMALL_INTEGER, since a
-	test for TARGET_VEXTRACTUB was used, and that uses
-	TARGET_P9_VECTOR.
-	(p9 extract splitter): Likewise.
-	(vsx_extract_<mode>_di_p9): Likewise.
-	(vsx_extract_<mode>_store_p9): Likewise.
-	(vsx_extract_si): Delete TARGET_VSX_SMALL_INTEGER, since a test
-	for TARGET_P9_VECTOR was used.  Delete code that is now dead with
-	the elimination of TARGET_VSX_SMALL_INTEGER.
-	(vsx_extract_<mode>_p8): Likewise.
-	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>): Likewise.
-	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Likewise.
-	(vsx_set_<mode>_p9): Likewise.
-	(vsx_set_v4sf_p9): Likewise.
-	(vsx_set_v4sf_p9_zero): Likewise.
-	(vsx_insert_extract_v4sf_p9): Likewise.
-	(vsx_insert_extract_v4sf_p9_2): Likewise.
-	* config/rs6000/rs6000.md (sign extend splitter): Change
-	TARGET_VSX_SMALL_INTEGER to TARGET_P8_VECTOR test.
-	(floatsi<mode>2_lfiwax_mem): Likewise.
-	(floatunssi<mode>2_lfiwzx_mem): Likewise.
-	(float<QHI:mode><FP_ISA3:mode>2): Delete TARGET_VSX_SMALL_INTEGER,
-	since a test for TARGET_P9_VECTOR was used.
-	(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<mode>si2): Change TARGET_VSX_SMALL_INTEGER to
-	TARGET_P8_VECTOR test.
-	(fix_trunc<mode>si2_stfiwx): Likewise.
-	(fix_trunc<mode>si2_internal): Likewise.
-	(fix_trunc<SFDF:mode><QHI:mode>2): Delete
-	TARGET_VSX_SMALL_INTEGER, since a test for TARGET_P9_VECTOR was
-	used.
-	(fix_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
-	(fixuns_trunc<mode>si2): Change TARGET_VSX_SMALL_INTEGER to
-	TARGET_P8_VECTOR test.
-	(fixuns_trunc<mode>si2_stfiwx): Likewise.
-	(fixuns_trunc<SFDF:mode><QHI:mode>2): Delete
-	TARGET_VSX_SMALL_INTEGER, since a test for TARGET_P9_VECTOR was
-	used.
-	(fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
-	(fctiw<u>z_<mode>_smallint): Delete TARGET_VSX_SMALL_INTEGER,
-	since a test for TARGET_P9_VECTOR was used.
-	(splitter for loading small constants): Likewise.
-
-2017-07-26  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64.c (thunderx_vector_cost): Fix
-	vec_fp_stmt_cost.
-
-2017-07-26  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/81563
-	* config/i386/i386.c (sp_valid_at): Properly check CFA offset.
-	(fp_valid_at): Likewise.
-
-2017-07-26  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa57_addrcost_table): Remove.
-	(qdf24xx_addrcost_table): Likewise.
-	(cortexa57_tunings): Update to use generic_branch_cost.
-	(cortexa72_tunings): Likewise.
-	(cortexa73_tunings): Likewise.
-	(qdf24xx_tunings): Likewise.
-
-2017-07-26  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa57_branch_cost): Remove.
-	(thunderx2t99_branch_cost): Likewise.
-	(cortexa35_tunings): Update to use generic_branch_cost.
-	(cortexa53_tunings): Likewise.
-	(cortexa57_tunings): Likewise.
-	(cortexa72_tunings): Likewise.
-	(cortexa73_tunings): Likewise.
-	(thunderx2t99_tunings): Likewise.
-
-2017-07-26  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config/sparc/sparc.c (dump_target_flag_bits): Dump MASK_FSMULD.
-	(sparc_option_override): Honour MASK_FSMULD.
-	* config/sparc/sparc.h (MASK_FEATURES): Add MASK_FSMULD.
-	* config/sparc/sparc.md (muldf3_extend): Use TARGET_FSMULD.
-	* config/sparc/sparc.opt (mfsmuld): New option.
-	* doc/invoke.texi (mfsmuld): Document option.
-
-2017-07-26  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/70992
-	* tree.c (build2_stat): Don't set TREE_CONSTANT on divisions by zero.
-
-2017-07-26  Richard Biener  <rguenther@suse.de>
-
-	* gimple-match-head.c (do_valueize): Return OP if valueize
-	returns NULL_TREE.
-	(get_def): New helper to get at the def stmt of a SSA name
-	if valueize allows.
-	* genmatch.c (dt_node::gen_kids_1): Use get_def instead of
-	do_valueize to get at the def stmt.
-	(dt_operand::gen_gimple_expr): Simplify do_valueize calls.
-
-2017-07-26  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR middle-end/46932
-	* auto-inc-dec.c (parse_add_or_inc): Block autoinc on sfp.
-
-2017-07-26  Martin Liska  <mliska@suse.cz>
-
-	PR sanitize/81186
-	* function.c (expand_function_start): Make expansion of
-	nonlocal_goto_save_area after parm_birth_insn.
-
-2017-07-26  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config/sparc/sparc.c (sparc_option_override): Remove MASK_FPU
-	from all CPU target flags enable members.
-
-2017-07-26  Richard Biener  <rguenther@suse.de>
-
-	* genmatch.c (dt_simplify::gen): Make iterator vars const.
-	(decision_tree::gen): Make 'type' const.
-	(write_predicate): Likewise.
-
-2017-07-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok):
-	Eliminate TARGET_UPPER_REGS_{DF,DI,SF} usage.
-	(rs6000_option_override_internal): Likewise.
-	(rs6000_expand_vector_set): Likewise.
-	* config/rs6000/rs6000.h (TARGET_UPPER_REGS_DF): Delete.
-	(TARGET_UPPER_REGS_SF): Likewise.
-	(TARGET_UPPER_REGS_DI): Likewise.
-	(TARGET_VEXTRACTUB): Eliminate TARGET_UPPER_REGS_{DF,DI,SF}.
-	(TARGET_DIRECT_MOVE_64BIT): Likewise.
-	* config/rs6000/rs6000.md (ALTIVEC_DFORM): Likewise.
-	(float<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
-	(Splitters for DI constants in Altivec registers): Likewise.
-	* config/rs6000/vsx.md (vsx_set_<mode>_p9): Likewise.
-	(vsx_set_v4sf_p9): Likewise.
-	(vsx_set_v4sf_p9_zero): Likewise.
-	(vsx_insert_extract_v4sf_p9): Likewise.
-	(vsx_insert_extract_v4sf_p9_2): Likewise.
-
-2017-07-25  Carl Love  <cel@us.ibm.com>
-
-	* doc/extend.texi: Update the built-in documentation file for the
-	existing built-in functions
-	vector signed char vec_cnttz (vector signed char);
-	vector unsigned char vec_cnttz (vector unsigned char);
-	vector signed short vec_cnttz (vector signed short);
-	vector unsigned short vec_cnttz (vector unsigned short);
-	vector signed int vec_cnttz (vector signed int);
-	vector unsigned int vec_cnttz (vector unsigned int);
-	vector signed long long vec_cnttz (vector signed long long);
-	vector unsigned long long vec_cnttz (vector unsigned long long);
-
-2017-07-25  Andrew Pinski  <apinski@cavium.com>
-
-	* tree-ssa-uninit.c (warn_uninitialized_vars): Don't warn about memory
-	accesses where the use is for the first operand of a BIT_INSERT.
-
-2017-07-25  Jim Wilson  <jim.wilson@linaro.org>
-
-	PR bootstrap/81521
-	* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look
-	for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS.
-
-2017-07-25  Jim Wilson  <jim.wilson@linaro.org>
-
-	* config/i386/gstabs.h: Delete.
-	* config/i386/openbsd.h, config/i386/t-openbsd: Likewise.
-
-2017-07-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_decompose_address): Do not check for
-	register RTX when looking at index_reg or base_reg.
-	* config/i386/i386.h (INCOMING_RETURN_ADDR_RTX): Use stack_pointer_rtx.
-
-2017-07-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gimple.c (gimple_assign_set_rhs_with_ops): Do not ask gsi_replace
-	to update EH info here.
-
-2017-07-25  Alexander Monakov  <amonakov@ispras.ru>
-
-	* match.pd ((X * CST1) * CST2): Simplify to X * (CST1 * CST2).
-
-2017-07-25  Alexander Monakov  <amonakov@ispras.ru>
-
-	* match.pd ((X * CST) * Y): Reassociate to (X * Y) * CST.
-
-2017-07-25  Torsten Duwe  <duwe@suse.de>
-
-	* common.opt: Introduce -fpatchable-function-entry
-	command line option, and its variables function_entry_patch_area_size
-	and function_entry_patch_area_start.
-	* opts.c (common_handle_option): Add -fpatchable_function_entry_ case,
-	including a two-value parser.
-	* target.def (print_patchable_function_entry): New target hook.
-	* targhooks.h (default_print_patchable_function_entry): New function.
-	* targhooks.c (default_print_patchable_function_entry): Likewise.
-	* toplev.c (process_options): Switch off IPA-RA if
-	patchable function entries are being generated.
-	* varasm.c (assemble_start_function): Look at the
-	patchable-function-entry command line switch and current
-	function attributes and maybe generate NOP instructions by
-	calling the print_patchable_function_entry hook.
-	* doc/extend.texi: Document patchable_function_entry attribute.
-	* doc/invoke.texi: Document -fpatchable_function_entry
-	command line option.
-	* doc/tm.texi.in (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY):
-	New target hook.
-	* doc/tm.texi: Re-generate.
-
-2017-07-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81532
-	* config/i386/constraints.md (Yd, Ye): Use ALL_SSE_REGS for
-	TARGET_AVX512DQ rather than TARGET_AVX512BW.
-
-2017-07-25  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/parsecpu.awk (all_cores): Remove duplicates.
-
-2017-07-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81455
-	* tree-ssa-loop-unswitch.c (find_loop_guard): Make sure to
-	not walk in cycles when looking for guards.
-
-2017-07-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81529
-	* tree-vect-stmts.c (process_use): Disregard live induction PHIs
-	when optimizing backedge uses.
-
-2017-07-25  David Edelsohn  <dje.gcc@gmail.com>
-
-	* dwarf2asm.c (dw2_asm_output_nstring): Encode double quote
-	character for AIX.
-	* dwarf2out.c (output_macinfo): Copy debug_line_section_label
-	to dl_section_ref.  On AIX, append an expression to subtract
-	the size of the section length to dl_section_ref.
-
-2017-07-25  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* configure.ac: If any of the config.* scripts fail, exit 1.
-	* configure: Regenerate.
-
-2017-07-25  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81546
-	* tree-ssa-operands.c (verify_imm_links): Remove cap on number
-	of immediate uses, be more verbose on errors.
-
-2017-07-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81510
-	* tree-vect-loop.c (vect_is_simple_reduction): When the
-	reduction stmt is not inside the loop bail out.
-
-2017-07-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81303
-	* tree-vect-loop-manip.c (vect_loop_versioning): Build
-	profitability check against LOOP_VINFO_NITERSM1.
-
-2017-07-25  Alexander Monakov  <amonakov@ispras.ru>
-
-	* domwalk.c (cmp_bb_postorder): Simplify.
-	(sort_bbs_postorder): New function.  Use it...
-	(dom_walker::walk): ...here to optimize common cases.
-
-2017-07-25  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/81520
-	* ipa-visibility.c (function_and_variable_visibility): Make the
-	redirection just on target that supports aliasing.
-	Fix GNU coding style.
-
-2017-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	PR libgcc/61152
-	* config/aarch64/rtems.h: Add GCC Runtime Library Exception.
-	Format changes.
-	* config/arm/rtems.h: Likewise.
-	* config/bfin/rtems.h: Likewise.
-	* config/i386/rtemself.h: Likewise.
-	* config/lm32/rtems.h: Likewise.
-	* config/m32c/rtems.h: Likewise.
-	* config/m68k/rtemself.h: Likewise.
-	* config/microblaze/rtems.h: Likewise.
-	* config/mips/rtems.h: Likewise.
-	* config/moxie/rtems.h: Likewise.
-	* config/nios2/rtems.h: Likewise.
-	* config/powerpcspe/rtems.h: Likewise.
-	* config/rs6000/rtems.h: Likewise.
-	* config/rtems.h: Likewise.
-	* config/sh/rtems.h: Likewise.
-	* config/sh/rtemself.h: Likewise.
-	* config/sparc/rtemself.h: Likewise.
-
-2017-07-25  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR 81487
-	* hsa-brig.c (brig_init): Use xasprintf instead of asprintf.
-	* gimple-pretty-print.c (dump_profile, dump_probability): Same.
-	* tree-ssa-structalias.c (alias_get_name): Same.
-
-2017-07-25  Bin Cheng  <bin.cheng@arm.com>
-
-	PR target/81414
-	* config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac
-	instructions if no du chain is found.
-
-2017-07-25  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr-log.c (avr_log_vadump) ['T']: Print NULL-TREE.
-
-2017-07-25  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81505
-	* fold-const.c (fold_negate_const): TREE_OVERFLOW should be
-	sticky.
-
-2017-07-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Delete
-	upper-regs options.
-	(ISA_2_7_MASKS_SERVER): Likewise.
-	(ISA_3_0_MASKS_IEEE): Likewise.
-	(OTHER_P8_VECTOR_MASKS): Likewise.
-	(OTHER_VSX_VECTOR_MASKS): Likewise.
-	(POWERPC_MASKS): Likewise.
-	(power7 cpu): Use ISA_2_6_MASKS_SERVER instead of using a
-	duplicate list of options.
-	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Remove
-	explicit -mupper-regs options.
-	* config/rs6000/rs6000.opt (-mvsx-scalar-memory): Delete
-	-mupper-regs* options.  Delete -mvsx-scalar-memory, which was an
-	alias for -mupper-regs-df.
-	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Likewise.
-	(rs6000_init_hard_regno_mode_ok): Likewise.
-	(rs6000_option_override_internal): Likewise.
-	(rs6000_opt_masks): Likewise.
-	* config/rs6000/rs6000.h (TARGET_UPPER_REGS_DF): Define upper regs
-	options in terms of whether -mvsx or -mpower8-vector was used.
-	(TARGET_UPPER_REGS_DI): Likewise.
-	(TARGET_UPPER_REGS_SF): Likewise.
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete the
-	-mupper-regs-* options.
-
-2017-07-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* passes.c (emergency_dump_function): Print some empty lines and a
-	header before the RTL dump.
-
-2017-07-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* cfgrtl.c (rtl_dump_bb): Don't call NEXT_INSN on NULL.
-
-2017-07-24  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/79041
-	* config/aarch64/aarch64.c (aarch64_classify_symbol):
-	Avoid SYMBOL_SMALL_ABSOLUTE for literals with pc-relative literals.
-
-2017-07-24  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c: Add support for built-in functions
-	vector float vec_extract_fp32_from_shorth (vector unsigned short);
-	vector float vec_extract_fp32_from_shortl (vector unsigned short);
-	* config/rs6000/altivec.h (vec_extract_fp_from_shorth,
-	vec_extract_fp_from_shortl): Add defines for the two builtins.
-	* config/rs6000/rs6000-builtin.def (VEXTRACT_FP_FROM_SHORTH,
-	VEXTRACT_FP_FROM_SHORTL): Add BU_P9V_OVERLOAD_1 and BU_P9V_VSX_1
-	new builtins.
-	* config/rs6000/vsx.md vsx_xvcvhpsp): Add define_insn.
-	(vextract_fp_from_shorth, vextract_fp_from_shortl): Add define_expands.
-	* doc/extend.texi: Update the built-in documentation file for the
-	new built-in function.
-
-2017-07-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/81521
-	* tree.def: Remove TYPE_METHODS documentation, adjust TYPE_FIELDS
-	documentation.
-	* doc/generic.texi: Likewise.
-	* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look
-	for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS.
-
-2017-07-24  Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_mla_elt_merge<mode>): New.
-	(aarch64_mls_elt_merge<mode>): Likewise.
-
-2017-07-23  Krister Walfridsson  <krister.walfridsson@gmail.com>
-
-	* config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
-	having __cxa_atexit.
-
-2017-07-23  Michael Collison  <michael.collison@arm.com>
-
-	* config/arm/arm.c (arm_option_override): Deprecate
-	use of -mstructure-size-boundary.
-	* config/arm/arm.opt: Deprecate -mstructure-size-boundary.
-	* doc/invoke.texi: Deprecate -mstructure-size-boundary.
-
-2017-07-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/80695
-	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
-	Reduce cost estimate for direct moves.
-
-2017-07-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80569
-	* config/i386/i386.c (ix86_option_override_internal): Disable
-	BMI, BMI2 and TBM instructions for -m16.
-
-2017-07-21  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
-	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
-	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
-	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
-	VMULOSW): New enum "unspec" values.
-	(altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
-	altivec_vmulosw): New patterns.
-	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
-	VMULOSW): Add definitions.
-
-2017-07-21  Jim Wilson  <jim.wilson@linaro.org>
-
-	* config/aarch64/aarch64-cores.def (falkor): Add AARCH64_FL_RDMA.
-	(qdf24xx): Likewise.
-	* config/aarch64/aarch64-options-extensions.def (rdma); New.
-	* config/aarch64/aarch64.h (AARCH64_FL_RDMA): New.
-	(AARCH64_FL_V8_1): Renumber.
-	(AARCH64_FL_FOR_ARCH8_1): Add AARCH64_FL_RDMA.
-	(AARCH64_ISA_RDMA): Use AARCH64_FL_RDMA.
-	* config/aarch64/arm_neon.h: Use +rdma instead of arch=armv8.1-a.
-	* doc/invoke.texi (AArch64 Options): Mention +rmda in -march docs.  Add
-	rdma to feature modifiers list.
-
-2017-07-21  Yury Gribov  <tetra2005@gmail.com>
-
-	PR middle-end/56727
-	* ipa-visibility (function_and_variable_visibility): Convert
-	recursive PLT call to direct call if appropriate.
-
-2017-07-21  Andrew Pinski  <apinski@cavium.com>
-
-	* tree-ssa-sccvn.c (vn_nary_op_eq): Check BIT_INSERT_EXPR's
-	operand 1 to see if the types precision matches.
-	* fold-const.c (operand_equal_p): Likewise.
-
-2017-07-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81303
-	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): Pass
-	in datarefs vector.  Allow NULL dr0 for no peeling cost estimate.
-	(vect_peeling_hash_get_lowest_cost): Adjust.
-	(vect_enhance_data_refs_alignment): Likewise.  Use
-	vect_get_peeling_costs_all_drs to compute the penalty for no
-	peeling to match up costs.
-
-2017-07-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81500
-	* tree-vect-loop.c (vect_is_simple_reduction): Properly fail if
-	we didn't identify a reduction path.
-
-2017-07-21  Tom de Vries  <tom@codesourcery.com>
-	    Cesar Philippidis  <cesar@codesourcery.com>
-
-	PR gcov-profile/81442
-	* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Add missing edge
-	probabilities.
-
-2017-07-21  Tom de Vries  <tom@codesourcery.com>
-
-	PR lto/81430
-	* config/nvptx/nvptx.c (nvptx_override_options_after_change): New
-	function.
-	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define to
-	nvptx_override_options_after_change.
-
-2017-07-21  Ulrich Drepper  <drepper@redhat.com>
-
-	* dwarf2out.c (output_file_names): Avoid double testing for
-	dwarf_version >= 5.
-
-2017-07-21  Georg-Johann Lay  <avr@gjlay.de>
-
-	* doc/invoke.texi (AVR Built-in Functions): Re-layout section.
-
-2016-07-21  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgcleanup.c (flow_find_cross_jump): Do not crossjump across
-	hot/cold regions.
-	(try_crossjump_to_edge): Do not punt on partitioned functions.
-
-2016-07-21  Jan Hubicka  <hubicka@ucw.cz>
-
-	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
-	Put all BBs reachable only via paths crossing cold region to cold
-	region.
-	* cfgrtl.c (find_bbs_reachable_by_hot_paths): New function.
-
-2016-07-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81303
-	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Take
-	into account prologue and epilogue iterations when raising
-	min_profitable_iters to sth at least covering one vector iteration.
-
-2017-07-21  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm.c (arm_test_cpu_arch_dat):
-	Check for overlap.
-
-2017-07-20  Nathan Sidwell  <nathan@acm.org>
-
-	Remove TYPE_METHODS.
-	* tree.h (TYPE_METHODS): Delete.
-	* dwarf2out.c (gen_member_die): Member fns are on TYPE_FIELDS.
-	* dbxout.c (dbxout_type_fields): Ignore FUNCTION_DECLs.
-	(dbxout_type_methods): Scan TYPE_FIELDS.
-	(dbxout_type): Don't check TYPE_METHODS here.
-	* function.c (use_register_for_decl): Always ignore register for
-	class types when not optimizing.
-	* ipa-devirt.c (odr_types_equivalent_p): Delete TYPE_METHODS scan.
-	* tree.c (free_lang_data_in_type): Stitch out member functions and
-	templates from TYPE_FIELDS.
-	(build_distinct_type_copy, verify_type_variant,
-	verify_type): Member fns are on TYPE_FIELDS.
-	* tree-dump.c (dequeue_and_dump): No TYPE_METHODS.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-
-2017-07-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/80846
-	* config/i386/i386.c (ix86_expand_vector_init_general): Handle
-	V2TImode and V4TImode.
-	(ix86_expand_vector_extract): Likewise.
-	* config/i386/sse.md (VMOVE): Enable V4TImode even for just
-	TARGET_AVX512F, instead of only for TARGET_AVX512BW.
-	(ssescalarmode): Handle V4TImode and V2TImode.
-	(VEC_EXTRACT_MODE): Add V4TImode and V2TImode.
-	(*vec_extractv2ti, *vec_extractv4ti): New insns.
-	(VEXTRACTI128_MODE): New mode iterator.
-	(splitter for *vec_extractv?ti first element): New.
-	(VEC_INIT_MODE): New mode iterator.
-	(vec_init<mode>): Consolidate 3 expanders into one using
-	VEC_INIT_MODE mode iterator.
-
-2017-07-20  Alexander Monakov  <amonakov@ispras.ru>
-
-	* lra-assigns.c (pseudo_compare_func): Fix comparison step based on
-	non_spilled_static_chain_regno_p.
-
-2017-07-20  Alexander Monakov  <amonakov@ispras.ru>
-
-	* gimple-ssa-store-merging.c (sort_by_bitpos): Return 0 on equal bitpos.
-
-2017-07-20  Jan Hubicka  <hubicka@ucw.cz>
-
-	* bb-reorder.c (connect_traces): Allow copying of blocks within
-	single partition.
-
-2017-07-20  Richard Biener  <rguenther@suse.de>
-
-	* gimple.h (gimple_phi_result): Add gphi * overload.
-	(gimple_phi_result_ptr): Likewise.
-	(gimple_phi_arg): Likewise.  Adjust index assert to only
-	allow actual argument accesses rather than all slots available
-	by capacity.
-	(gimple_phi_arg_def): Add gphi * overload.
-	* tree-phinodes.c (make_phi_node): Initialize only actual
-	arguments.
-	(resize_phi_node): Clear memory not covered by old node,
-	do not initialize excess argument slots.
-	(reserve_phi_args_for_new_edge): Initialize new argument slot
-	completely.
-
-2017-07-20  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81388
-	Revert r238585:
-	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.
-
-2017-07-18  Jan Hubicka  <hubicka@ucw.cz>
-	    Tom de Vries  <tom@codesourcery.com>
-
-	PR middle-end/81030
-	* cfgbuild.c (find_many_sub_basic_blocks): Update REG_BR_PROB note
-	when gimple level profile disagrees with what RTL expander did.
-
-2017-07-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/61171
-	* tree-vectorizer.h (slp_instance): Add reduc_phis member.
-	(vect_analyze_stmt): Add slp instance parameter.
-	(vectorizable_reduction): Likewise.
-	* tree-vect-loop.c (vect_analyze_loop_operations): Adjust.
-	(vect_is_simple_reduction): Deal with chains not detected
-	as SLP reduction chain, specifically not properly associated
-	chains containing a mix of plus/minus.
-	(get_reduction_op): Remove.
-	(get_initial_defs_for_reduction): Simplify, pass in whether
-	this is a reduction chain, pass in the SLP node for the PHIs.
-	(vect_create_epilog_for_reduction): Get the SLP instance as
-	arg and adjust.
-	(vectorizable_reduction): Get the SLP instance as arg.
-	During analysis remember the SLP node with the PHIs in the
-	instance.  Simplify getting at the vectorized reduction PHIs.
-	* tree-vect-slp.c (vect_slp_analyze_node_operations): Pass
-	through SLP instance.
-	(vect_slp_analyze_operations): Likewise.
-	* tree-vect-stms.c (vect_analyze_stmt): Likewise.
-	(vect_transform_stmt): Likewise.
-
-2017-07-20  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/81489
-	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Move
-	read of phi arg location to before loop that modifies phi.
-
-2017-07-20  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0):
-	New pattern.
-
-2017-07-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/81331
-	* except.c (execute): Fix ordering issue.
-
-2018-07-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/81423
-	* combine.c (make_compound_operation_int): Don't try to optimize
-	the AND of a SUBREG of an LSHIFTRT if that SUBREG is paradoxical.
-
-2017-07-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/81423
-	* simplify-rtx.c (simplify_truncation): Handle truncating an IOR
-	with a constant that is -1 in the truncated to mode.
-
-2017-07-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (propagate_unlikely_bbs_forward): Break out from ...
-	(determine_unlikely_bbs): ... here.
-	* predict.h (propagate_unlikely_bbs_forward): Declare.
-	* cfgexpand.c (pass_expand::execute): Use it.
-	* bb-reorder.c (sanitize_hot_paths): Do not consider known to be
-	unlikely edges.
-	(find_rarely_executed_basic_blocks_and_crossing_edges): Use
-	propagate_unlikely_bbs_forward.
-
-2017-07-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/81331
-	* except.c (maybe_add_nop_after_section_switch): New function.
-	(execute): Use it.
-
-2017-07-19  Tom de Vries  <tom@codesourcery.com>
-
-	* gimple.h (gimple_phi_set_arg): Make assert more strict.
-
-2017-07-19  Tom de Vries  <tom@codesourcery.com>
-
-	* gimple.h (gimple_phi_arg): Make assert more strict.
-
-2017-07-19  Steven Munroe  <munroesj@gcc.gnu.org>
-
-	* config.gcc (powerpc*-*-*): Add mmintrin.h.
-	* config/rs6000/mmintrin.h: New file.
-	* config/rs6000/x86intrin.h [__ALTIVEC__]: Include mmintrin.h.
-
-2017-07-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81346
-	* match.pd: Optimize (X - 1U) <= INT_MAX-1U into (int) X > 0.
-
-2017-07-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/nvptx/nvptx.md (VECIM): Add V2DI.
-
-2017-07-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/nvptx/nvptx-modes.def: Add V2DImode.
-	* config/nvptx/nvptx-protos.h (nvptx_data_alignment): Declare.
-	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Handle V2DImode.
-	(nvptx_output_mov_insn): Handle lack of mov.b128.
-	(nvptx_print_operand): Handle 'H' and 'L' codes.
-	(nvptx_vector_mode_supported): Allow V2DImode.
-	(nvptx_preferred_simd_mode): New function.
-	(nvptx_data_alignment): New function.
-	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Redefine to
-	nvptx_preferred_simd_mode.
-	* config/nvptx/nvptx.h (STACK_BOUNDARY, BIGGEST_ALIGNMENT): Change from
-	64 to 128 bits.
-	(DATA_ALIGNMENT): Define.  Set to nvptx_data_alignment.
-
-2017-07-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/nvptx/nvptx-modes.def: New file.  Add V2SImode.
-	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Handle V2SImode.
-	(nvptx_vector_mode_supported): New function.  Allow V2SImode.
-	(TARGET_VECTOR_MODE_SUPPORTED_P): Redefine to nvptx_vector_mode_supported.
-	* config/nvptx/nvptx.md (VECIM): New mode iterator. Add V2SI.
-	(mov<VECIM>_insn): New define_insn.
-	(define_expand "mov<VECIM>): New define_expand.
-
-2017-07-19  Tom de Vries  <tom@codesourcery.com>
-
-	* config/nvptx/nvptx.c (nvptx_print_operand): Handle v2 vector mode.
-
-2017-07-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81346
-	* fold-const.h (fold_div_compare, range_check_type): Declare.
-	* fold-const.c (range_check_type): New function.
-	(build_range_check): Use range_check_type.
-	(fold_div_compare): No longer static, rewritten into
-	a match.pd helper function.
-	(fold_comparison): Don't call fold_div_compare here.
-	* match.pd (X / C1 op C2): New optimization using fold_div_compare
-	as helper function.
-
-2017-07-19  Nathan Sidwell  <nathan@acm.org>
-
-	* tree.h (TYPE_MINVAL, TYPE_MAXVAL): Rename to ...
-	(TYPE_MIN_VALUE_RAW, TYPE_MAX_VALUE_RAW): ... these.
-	* tree.c (find_decls_types_r, verify_type): Use
-	TYPE_{MIN,MAX}_VALUE_RAW.
-	* lto-streamer-out.c (DFS::DFS_write_tree_body): Likewise.
-	(hash_tree): Likewise.
-	* tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers):
-	Likewise.
-	* tree-streamer-out.c (write_ts_type_non_common_tree_pointers):
-	Likewise.
-
-2017-07-18  Tom de Vries  <tom@codesourcery.com>
-
-	PR middle-end/81464
-	* omp-expand.c (expand_omp_for_static_chunk): Handle
-	equal-argument loop exit phi.
-
-2017-07-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81471
-	* config/i386/i386.md (rorx_immediate_operand): New mode attribute.
-	(*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as
-	operand 2 predicate.
-	(*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as
-	operand 2 predicate.
-	(ror,rol -> rorx splitters): Use const_int_operand as
-	operand 2 predicate.
-
-2017-06-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81410
-	* tree-vect-stmts.c (vectorizable_load): Properly adjust for
-	the gap in the ! slp_perm SLP case after each group.
-
-2017-07-18  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/81463
-	* cfgloopmanip.c (scale_loop_profile): Watch out for zero frequency
-	again.
-
-2017-07-18  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/81462
-	* predict.c (set_even_probabilities): Cleanup; do not affect
-	probabilities that are already known.
-	(combine_predictions_for_bb): Call even when count is set.
-
-2017-07-18  Nathan Sidwell  <nathan@acm.org>
-
-	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
-	TYPE_MAX_VALUE.
-
-2017-07-18  Bin Cheng  <bin.cheng@arm.com>
-
-	PR target/81408
-	* tree-ssa-loop-niter.c (number_of_iterations_exit): Dump missed
-	optimization for loop niter analysis.
-
-2017-07-18  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/81473
-	* config/avr/avr.c (avr_optimize_casesi): Don't use
-	INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX.
-
-2017-07-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Remove
-	body_cost_vec from _vect_peel_extended_info.
-	(vect_peeling_hash_get_lowest_cost): Do not set body_cost_vec.
-	(vect_peeling_hash_choose_best_peeling): Remove body_cost_vec and
-	npeel.
-
-2017-07-18  Bin Cheng  <bin.cheng@arm.com>
-
-	* config/arm/arm.c (emit_unlikely_jump): Remove unused var.
-
-2017-07-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80620
-	PR tree-optimization/81403
-	* tree-ssa-pre.c (phi_translate_1): Clear range and points-to
-	info when re-using a VN table entry.
-
-2017-07-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81418
-	* tree-vect-loop.c (vectorizable_reduction): Properly compute
-	vectype_in.  Verify that with lane-reducing reduction operations
-	we have a single def-use cycle.
-
-2017-07-17  Carl Love  <cel@us.ibm.com>
-
-	Revert commit r249424	2017-06-20  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
-	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
-	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
-	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
-	VMULOSW): New enum "unspec" values.
-	(vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
-	vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si,
-	altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
-	altivec_vmulosw): New patterns.
-	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
-	VMULOSW): Add definitions.
-
-2017-07-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/alpha/alpha.c: Include predict.h.
-
-2017-07-17  Yury Gribov  <tetra2005@gmail.com>
-
-	* tree-vrp.c (compare_assert_loc): Fix comparison function
-	to return predictable results.
-
-2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (adddi3): Remove support for mexpand-adddi
-	option.
-	(subdi3): Likewise.
-	* config/arc/arc.opt (mexpand-adddi): Deprecate it.
-	* doc/invoke.texi (mexpand-adddi): Update text.
-
-2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (clzsi2): Expand to an arc_clzsi2 instruction
-	that also clobbers the CC register. The old expand code is moved
-	to ...
-	(*arc_clzsi2): ... here.
-	(ctzsi2): Expand to an arc_ctzsi2 instruction that also clobbers
-	the CC register. The old expand code is moved to ...
-	(arc_ctzsi2): ... here.
-
-2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.opt (mindexed-loads): Use initial value
-	TARGET_INDEXED_LOADS_DEFAULT.
-	(mauto-modify-reg): Use initial value
-	TARGET_AUTO_MODIFY_REG_DEFAULT.
-	* config/arc/elf.h (TARGET_INDEXED_LOADS_DEFAULT): Define.
-	(TARGET_AUTO_MODIFY_REG_DEFAULT): Likewise.
-	* config/arc/linux.h (TARGET_INDEXED_LOADS_DEFAULT): Define.
-	(TARGET_AUTO_MODIFY_REG_DEFAULT): Likewise.
-
-2017-07-17  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/81302
-	* opts.c (finish_options): Do not allow -fgnu-tm
-	w/ -fsanitize={kernel-,}address.  Say sorry.
-
-2017-07-17  Bin Cheng  <bin.cheng@arm.com>
-
-	PR target/81369
-	* tree-loop-distribution.c (classify_partition): Only assert on
-	numer of iterations.
-	(merge_dep_scc_partitions): Delete prameter.  Update function call.
-	(distribute_loop): Remove code handling loop with unknown niters.
-	(pass_loop_distribution::execute): Skip loop with unknown niters.
-
-2017-07-17  Bin Cheng  <bin.cheng@arm.com>
-
-	PR target/81369
-	* tree-loop-distribution.c (merge_dep_scc_partitions): Sink call to
-	function sort_partitions_by_post_order.
-
-2017-07-17  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81374
-	* tree-loop-distribution.c (pass_loop_distribution::execute): Record
-	the max index of basic blocks, rather than number of basic blocks.
-
-2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-protos.h (arc_legitimate_pc_offset_p): Remove
-	proto.
-	(arc_legitimate_pic_operand_p): Likewise.
-	* config/arc/arc.c (arc_legitimate_pic_operand_p): Remove
-	function.
-	(arc_needs_pcl_p): Likewise.
-	(arc_legitimate_pc_offset_p): Likewise.
-	(arc_legitimate_pic_addr_p): Remove LABEL_REF case, as this
-	function is also used in constrains.md.
-	(arc_legitimate_constant_p): Use arc_legitimate_pic_addr_p to
-	validate pic constants. Handle CONST_INT, CONST_DOUBLE, MINUS and
-	PLUS.  Only return true/false in known cases, otherwise assert.
-	(arc_legitimate_address_p): Remove arc_legitimate_pic_addr_p as it
-	is already called in arc_legitimate_constant_p.
-	* config/arc/arc.h (CONSTANT_ADDRESS_P): Consider also LABEL for
-	pic addresses.
-	(LEGITIMATE_PIC_OPERAND_P): Use
-	arc_raw_symbolic_reference_mentioned_p function.
-	* config/arc/constraints.md (Cpc): Use arc_legitimate_pic_addr_p
-	function.
-	(Cal): Likewise.
-	(C32): Likewise.
-
-2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
-	Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc-protos.h (arc_compute_function_type): Change prototype.
-	(arc_return_address_register): New function.
-	* config/arc/arc.c (arc_handle_fndecl_attribute): New function.
-	(arc_handle_fndecl_attribute): Add naked attribute.
-	(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Define.
-	(TARGET_WARN_FUNC_RETURN): Likewise.
-	(arc_allocate_stack_slots_for_args): New function.
-	(arc_warn_func_return): Likewise.
-	(machine_function): Change type fn_type.
-	(arc_compute_function_type): Consider new naked function type,
-	change function return type.
-	(arc_must_save_register): Adapt to handle new
-	arc_compute_function_type's return type.
-	(arc_expand_prologue): Likewise.
-	(arc_expand_epilogue): Likewise.
-	(arc_return_address_regs): Delete.
-	(arc_return_address_register): New function.
-	(arc_epilogue_uses): Use above function.
-	* config/arc/arc.h (arc_return_address_regs): Delete prototype.
-	(arc_function_type): Change encoding, add naked type.
-	(ARC_INTERRUPT_P): Change to handle the new encoding.
-	(ARC_FAST_INTERRUPT_P): Likewise.
-	(ARC_NORMAL_P): Define.
-	(ARC_NAKED_P): Likewise.
-	(arc_compute_function_type): Delete prototype.
-	* config/arc/arc.md (in_ret_delay_slot): Use
-	arc_return_address_register function.
-	(simple_return): Likewise.
-	(p_return_i): Likewise.
-
-2017-07-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81428
-	* match.pd (X / X -> one): Don't optimize _Fract divisions, as 1
-	can't be built for those types.
-
-2017-07-17  Georg-Johann Lay  <avr@gjlay.de>
-
-	Remove stuff dead since r239246.
-
-	* config/avr/avr-arch.h (avr_inform_devices): Remove dead proto.
-	* config/avr/avr-devices.c (mcu_name, comparator, avr_mcus_str)
-	(avr_inform_devices): Remove dead stuff.
-
-2017-07-17  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm_neon.h: Fix softp typo.
-
-2017-07-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81365
-	* tree-ssa-phiprop.c (propagate_with_phi): When considering hoisting
-	aggregate moves onto bb predecessor edges, make sure there are no
-	loads that could alias the lhs in between the start of bb and the
-	loads from *phi.
-
-2017-07-17  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR 80929
-	* config/avr/avr.c (avr_mul_highpart_cost): New static function.
-	(avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost.
-	[LSHIFTRT, outer_code = TRUNCATE]: Same.
-
-2017-07-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81396
-	* tree-ssa-math-opts.c (struct symbolic_number): Add n_ops field.
-	(init_symbolic_number): Initialize it to 1.
-	(perform_symbolic_merge): Add n_ops from both operands into the new
-	n_ops.
-	(find_bswap_or_nop): Don't consider n->n == cmpnop computations
-	without base_addr as useless if they need more than one operation.
-	(bswap_replace): Handle !bswap case for NULL base_addr.
-
-2017-07-17  Tom de Vries  <tom@codesourcery.com>
-
-	PR target/81069
-	* config/nvptx/nvptx.c (nvptx_single): Insert diverging branch as late
-	as possible.
-
-2017-07-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
-	conditional builtin define __FIX_LEON3FT_B2BST.
-
-2017-07-17  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/t-rtems: Add mfix-gr712rc multilibs. Replace
-	MULTILIB_EXCEPTIONS with MULTILIB_REQUIRED. Match -mfix-gr712rc
-	with -mfix-ut700.
-
-2017-07-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/81424
-	* optabs.c (prepare_cmp_insn): Use copy_to_reg instead of force_reg
-	to remove potential trapping from operands if -fnon-call-exceptions.
-
-2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Use
-	profile_proability for scalling.
-	* scale_profile_for_vect_loop.c (scale_profile_for_vect_loop): Likewise.
-
-2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_edge::redirect_call_stmt_to_caller): Cleanup.
-
-2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgloopmanip.c (scale_loop_profile): Avoid use of REG_BR_PROB_BASE
-	fixpoint arithmetics.
-
-2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-unswitch.c (hoist_guard): Avoid use of REG_BR_PROB_BASE
-	fixpoint arithmetics.
-
-2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* asan.c (create_cond_insert_point): Avoid use of REG_BR_PROB_BASE
-	fixpoint arithmetics.
-
-2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.h (profile_probability::from_reg_br_prob_note,
-	profile_probability::to_reg_br_prob_note): New functions.
-	* doc/rtl.texi (REG_BR_PROB_NOTE): Update documentation.
-	* reg-notes.h (REG_BR_PROB, REG_BR_PRED): Update docs.
-	* predict.c (probability_reliable_p): Update.
-	(edge_probability_reliable_p): Update.
-	(br_prob_note_reliable_p): Update.
-	(invert_br_probabilities): Update.
-	(add_reg_br_prob_note): New function.
-	(combine_predictions_for_insn): Update.
-	* asan.c (asan_clear_shadow): Update.
-	* cfgbuild.c (compute_outgoing_frequencies): Update.
-	* cfgrtl.c (force_nonfallthru_and_redirect): Update.
-	(update_br_prob_note): Update.
-	(rtl_verify_edges): Update.
-	(purge_dead_edges): Update.
-	(fixup_reorder_chain): Update.
-	* emit-rtl.c (try_split): Update.
-	* ifcvt.c (cond_exec_process_insns): Update.
-	(cond_exec_process_if_block): Update.
-	(dead_or_predicable): Update.
-	* internal-fn.c (expand_addsub_overflow): Update.
-	(expand_neg_overflow): Update.
-	(expand_mul_overflow): Update.
-	* loop-doloop.c (doloop_modify): Update.
-	* loop-unroll.c (compare_and_jump_seq): Update.
-	* optabs.c (emit_cmp_and_jump_insn_1): Update.
-	* predict.h: Update.
-	* reorg.c (mostly_true_jump): Update.
-	* rtl.h: Update.
-	* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): Update.
-	* config/alpha/alpha.c (emit_unlikely_jump): Update.
-	* config/arc/arc.c: (emit_unlikely_jump): Update.
-	* config/arm/arm.c: (emit_unlikely_jump): Update.
-	* config/bfin/bfin.c (cbranch_predicted_taken_p): Update.
-	* config/frv/frv.c (frv_print_operand_jump_hint): Update.
-	* config/i386/i386.c (ix86_expand_split_stack_prologue): Update.
-	(ix86_print_operand): Update.
-	(ix86_split_fp_branch): Update.
-	(predict_jump): Update.
-	* config/ia64/ia64.c (ia64_print_operand): Update.
-	* config/mmix/mmix.c (mmix_print_operand): Update.
-	* config/powerpcspe/powerpcspe.c (output_cbranch): Update.
-	(rs6000_expand_split_stack_prologue): Update.
-	* config/rs6000/rs6000.c: Update.
-	* config/s390/s390.c (s390_expand_vec_strlen): Update.
-	(s390_expand_vec_movstr): Update.
-	(s390_expand_cs_tdsi): Update.
-	(s390_expand_split_stack_prologue): Update.
-	* config/sh/sh.c (sh_print_operand): Update.
-	(expand_cbranchsi4): Update.
-	(expand_cbranchdi4): Update.
-	* config/sparc/sparc.c (output_v9branch): Update.
-	* config/spu/spu.c (get_branch_target): Update.
-	(ea_load_store_inline): Update.
-	* config/tilegx/tilegx.c (cbranch_predicted_p): Update.
-	* config/tilepro/tilepro.c: Update.
-
-2017-07-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gimplify.c (mostly_copy_tree_r): Revert latest change.
-	(gimplify_save_expr): Likewise.
-
-2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-visibility.c (function_and_variable_visibility): Fix pasto.
-
-2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (pass_data_ipa_fn_summary): Use
-	TV_IPA_FNSUMMARY.
-	* timevar.def (TV_IPA_FNSUMMARY): Define.
-
-2017-07-16  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/sparc.md (divdf3_fix): Add NOP to prevent back
-	to back store errata sensitive sequence from being generated.
-	(sqrtdf2_fix): Likewise.
-
-2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-threadupdate.c (compute_path_counts,
-	update_joiner_offpath_counts): Use profile_probability.
-
-2017-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	Revert:
-	2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-c.c (arm_cpu_builtins): Define
-	__ARM_FEATURE_NUMERIC_MAXMIN solely based on TARGET_VFP5.
-
-2017-07-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	array entries to represent __ieee128 versions of the
-	scalar_test_data_class, scalar_test_neg, scalar_extract_exp,
-	scalar_extract_sig, and scalar_insert_exp built-in functions.
-	(altivec_resolve_overloaded_builtin): Add special case handling
-	for the __builtin_scalar_insert_exp function, as represented by
-	the P9V_BUILTIN_VEC_VSIEDP constant.
-	* config/rs6000/rs6000-builtin.def (VSEEQP): Add scalar extract
-	exponent support for __ieee128 argument.
-	(VSESQP): Add scalar extract signature support for __ieee128
-	argument.
-	(VSTDCNQP): Add scalar test negative support for __ieee128
-	argument.
-	(VSIEQP): Add scalar insert exponent support for __int128 argument
-	with __ieee128 result.
-	(VSIEQPF): Add scalar insert exponent support for __ieee128
-	argument with __ieee128 result.
-	(VSTDCQP): Add scalar test data class support for __ieee128
-	argument.
-	(VSTDCNQP): Add overload support for scalar test negative with
-	__ieee128 argument.
-	(VSTDCQP): Add overload support for scalar test data class
-	__ieee128 argument.
-	* config/rs6000/vsx.md (UNSPEC_VSX_SXSIG) Replace
-	UNSPEC_VSX_SXSIGDP.
-	(UNSPEC_VSX_SIEXPQP): New constant.
-	(xsxexpqp): New insn for VSX scalar extract exponent quad
-	precision.
-	(xsxsigqp): New insn for VSX scalar extract significand quad
-	precision.
-	(xsiexpqpf): New insn for VSX scalar insert exponent quad
-	precision with floating point argument.
-	(xststdcqp): New expand for VSX scalar test data class quad
-	precision.
-	(xststdcnegqp): New expand for VSX scalar test negative quad
-	precision.
-	(xststdcqp): New insn to match expansions for VSX scalar test data
-	class quad precision and VSX scalar test negative quad precision.
-	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
-	special case operand checking to enforce that second operand of
-	VSX scalar test data class with quad precision argument is a 7-bit
-	unsigned literal.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
-	prototypes and descriptions of __ieee128 versions of
-	scalar_extract_exp, scalar_extract_sig, scalar_insert_exp,
-	scalar_test_data_class, and scalar_test_neg built-in functions.
-
-2016-07-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/81162
-	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
-	replace a negate with an add.
-
-2017-07-14  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* doc/invoke.texi (arm/-mcpu): Document +crypto.
-
-2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-c.c (arm_cpu_builtins): Define
-	__ARM_FEATURE_NUMERIC_MAXMIN solely based on TARGET_VFP5.
-
-2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-cpus.in (cortex-r52): Add new entry.
-	(armv8-r): Set ARM Cortex-R52 as default CPU.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm-tune.md: Regenerate.
-	* config/arm/driver-arm.c (arm_cpu_table): Add entry for ARM
-	Cortex-R52.
-	* doc/invoke.texi: Mention -mtune=cortex-r52 and availability of fp.dp
-	extension for -mcpu=cortex-r52.
-
-2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-isa.h (isa_bit_FP_ARMv8): Delete enumerator.
-	(ISA_FP_ARMv8): Define as ISA_FPv5 and ISA_FP_D32.
-	* config/arm/arm-cpus.in (armv8-r): Define fp.sp as enabling FPv5.
-	(fp-armv8): Define it as FP_ARMv8 only.
-	config/arm/arm.h (TARGET_FPU_ARMV8): Delete.
-	(TARGET_VFP_FP16INST): Define using TARGET_VFP5 rather than
-	TARGET_FPU_ARMV8.
-	config/arm/arm.c (arm_rtx_costs_internal): Replace checks against
-	TARGET_FPU_ARMV8 by checks against TARGET_VFP5.
-	* config/arm/arm-builtins.c (arm_builtin_vectorized_function): Define
-	first ARM_CHECK_BUILTIN_MODE definition using TARGET_VFP5 rather
-	than TARGET_FPU_ARMV8.
-	* config/arm/arm-c.c (arm_cpu_builtins): Likewise for
-	__ARM_FEATURE_NUMERIC_MAXMIN macro definition.
-	* config/arm/arm.md (cmov<mode>): Condition on TARGET_VFP5 rather than
-	TARGET_FPU_ARMV8.
-	* config/arm/neon.md (neon_vrint): Likewise.
-	(neon_vcvt): Likewise.
-	(neon_<fmaxmin_op><mode>): Likewise.
-	(<fmaxmin><mode>3): Likewise.
-	* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Likewise.
-	* config/arm/predicates.md (arm_cond_move_operator): Check against
-	TARGET_VFP5 rather than TARGET_FPU_ARMV8 and fix spacing.
-
-2017-07-14  Jackson Woodruff  <jackson.woodruff@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_print_operand): Move comments
-	to top of function.
-
-2017-07-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* gimple-ssa-store-merging.c (clear_bit_region): Replace reference to
-	loop in comment with memset.
-
-2017-07-14  Martin Liska  <mliska@suse.cz>
-
-	* cfgexpand.c (expand_gimple_basic_block): Remove dead comment.
-	* dwarf2out.c (is_java): Remove the function.
-	(output_pubname): Remove usage of the function.
-	(lower_bound_default): Remove usage of DW_LANG_Java.
-	(gen_compile_unit_die): Likewise.
-	* gcc.c: Remove compiler defaults for .java and .zip files.
-	* gimple-expr.c (remove_suffix): Change as there's no longer
-	extension than 4-letter one.
-	* gimplify.c (mostly_copy_tree_r): Remove Java-special part.
-	(gimplify_save_expr): Likewise.
-	* ipa-utils.h (polymorphic_type_binfo_p): Remove the comment
-	as it's possible even for other languages than Java.
-	* langhooks.h (struct lang_hooks): Remove Java from a comment.
-	* lto-opts.c (lto_write_options): Remove reference to Java.
-	* opts.c (strip_off_ending): Update file extension handling.
-	* tree-cfg.c (verify_gimple_call): Remove comment with Java.
-	* tree-eh.c (lower_resx): Likewise.
-	* tree.c (free_lang_data_in_type): Remove dead code.
-	(find_decls_types_r): Likewise.
-	(build_common_builtin_nodes): Remove Java from a comment.
-	(verify_type): Remove dead code.
-	* varasm.c (assemble_external): Remove Java from a comment.
-
-2017-07-14  Martin Liska  <mliska@suse.cz>
-
-	* opts.c (finish_options): Add quotes.
-	(common_handle_option): Likewise.
-
-2017-07-14  Martin Liska  <mliska@suse.cz>
-
-	* dbxout.c (get_lang_number): Do not handle GNU Pascal.
-	* dbxout.h (extern void dbxout_stab_value_internal_label_diff):
-	Remove N_SO_PASCAL.
-	* dwarf2out.c (lower_bound_default): Do not handle
-	DW_LANG_Pascal83.
-	(gen_compile_unit_die): Likewise.
-	* gcc.c: Remove default extension binding for GNU Pascal.
-	* stmt.c: Remove Pascal language from a comment.
-	* xcoffout.c: Likewise.
-
-2017-07-13  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/81405
-	* diagnostic-show-locus.c (fixit_cmp): New function.
-	(layout::layout): Sort m_fixit_hints.
-	(column_range::column_range): Assert that the values are valid.
-	(struct char_span): New struct.
-	(correction::overwrite): New method.
-	(struct source_line): New struct.
-	(line_corrections::add_hint): Add assertions.  Reimplement memcpy
-	calls in terms of classes source_line and char_span, and
-	correction::overwrite.
-	(selftest::test_overlapped_fixit_printing_2): New function.
-	(selftest::diagnostic_show_locus_c_tests): Call it.
-
-2017-07-13  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Return
-	early if there is no lhs.
-
-2017-07-13  Martin Liska  <mliska@suse.cz>
-
-	* dwarf2out.c (gen_pointer_type_die): Remove dead code.
-	(gen_reference_type_die): Likewise.
-	* stor-layout.c: Remove Pascal-related comment.
-
-2017-07-13  Martin Liska  <mliska@suse.cz>
-
-	* opts.c (finish_options): Add quotes to error messages.
-	(parse_sanitizer_options): Likewise.
-
-2017-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* doc/invoke.texi (armv8-r): Document +fp.sp ARMv8-R extension.
-
-2017-07-13  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/vxworks.h (TARGET_ENDIAN_DEFAULT): Define.
-
-2017-07-13  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	* asan.c (asan_emit_allocas_unpoison): Use ptr_mode for arguments
-	during expansion.
-	* builtins.c (expand_asan_emit_allocas_unpoison): Likewise.
-
-2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/81193
-	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
-	provides the hardware capability bits, define the macro
-	__BUILTIN_CPU_SUPPORTS__.
-	* config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
-	if GLIBC does not provide the hardware capability bits.  Add a
-	gcc_unreachable call if the built-in cpu function is neither
-	__builtin_cpu_is nor __builtin_cpu_supports.
-	(rs6000_get_function_versions_dispatcher): Change the warning
-	that an old GLIBC is used which does not export the capability
-	bits to be an error.
-	* doc/extend.texi (target_clones attribute): Document the
-	restriction that GLIBC 2.23 or newer is needed on the PowerPC.
-	(PowerPC built-in functions): Document that GLIBC 2.23 or newer is
-	needed by __builtin_cpu_is and __builtin_cpu_supports.  Document
-	the macros defined by GCC if the newer GLIBC is available.
-
-2017-07-12  Jeff Law  <law@redhat.com>
-
-	* config/riscv/riscv.c: Remove unnecessary includes.  Reorder
-	remaining includes slightly.
-	* config/riscv/riscv-builtins.c: Include profile-count.h.
-
-2017-07-12  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/79883
-	* config/avr/avr.c (avr_set_current_function): In diagnostic
-	messages: Quote keywords and (parts of) identifiers.
-	[WITH_AVRLIBC]: Warn for functions named "ISR", "SIGNAL" or
-	"INTERUPT".
-
-2017-07-12  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c: Add support for built-in functions
-	vector bool char vec_revb (vector bool char);
-	vector bool short vec_revb (vector short char);
-	vector bool int vec_revb (vector bool int);
-	vector bool long long vec_revb (vector bool long long);
-	* doc/extend.texi: Update the built-in documentation file for the
-	new built-in functions.
-
-2017-07-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md: Remove movcc splitter.
-
-2017-07-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_rtx_costs): Return proper costs for
-	load/store on condition.
-
-2017-07-12  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/81407
-	* config/avr/avr.c (avr_encode_section_info)
-	[progmem && !TREE_READONLY]: Error if progmem object needs
-	constructing.
-
-2017-07-11  Michael Collison  <michael.collison@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_sub<mode>_compare0):
-	New pattern.
-
-2017-07-11  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c: Add support for builtins
-	vector unsigned int vec_parity_lsbb (vector signed int);
-	vector unsigned int vec_parity_lsbb (vector unsigned int);
-	vector unsigned __int128 vec_parity_lsbb (vector signed __int128);
-	vector unsigned __int128 vec_parity_lsbb (vector unsigned __int128);
-	vector unsigned long long vec_parity_lsbb (vector signed long long);
-	vector unsigned long long vec_parity_lsbb (vector unsigned long long);
-	* config/rs6000/rs6000-builtin.def (VPARITY_LSBB): Add BU_P9V_OVERLOAD1.
-	* config/rs6000/altivec.h (vec_parity_lsbb): Add define.
-	* doc/extend.texi: Update the built-in documentation file for the
-	new built-in functions.
-
-2017-07-11  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c: Include "gcc-rich-location.h".
-	(layout::m_primary_loc): New field.
-	(layout::layout): Initialize new field.  Move location filtering
-	logic from here to...
-	(layout::maybe_add_location_range): ...this new method.  Add
-	support for filtering to just the lines already specified by other
-	locations.
-	(layout::will_show_line_p): New method.
-	(gcc_rich_location::add_location_if_nearby): New method.
-	(selftest::test_add_location_if_nearby): New test function.
-	(selftest::diagnostic_show_locus_c_tests): Call it.
-	* gcc-rich-location.h (gcc_rich_location::add_location_if_nearby):
-	New method.
-
-2017-07-11  Tom de Vries  <tom@codesourcery.com>
-
-	* config/nvptx/nvptx.c (WORKAROUND_PTXJIT_BUG): New macro.
-	(bb_first_real_insn): New function.
-	(nvptx_single): Add extra initialization of broadcasted condition
-	variables.
-
-2017-07-11  Nathan Sidwell  <nathan@acm.org>
-
-	* dwarf2out.c (gen_member_die): Remove useless check for anon ctors.
-
-2017-07-11  Georg-Johann Lay  <avr@gjlay.de>
-
-	* doc/extend.texi (AVR Function Attributes): Remove weblink to
-	Binutils doc as TEXI will mess them up.
-	* doc/invoke.texi (AVR Options): Same here.
-
-2017-07-11  Daniel Cederman  <cederman@gaisler.com>
-
-	* config/sparc/sparc.opt (mfix-ut700): New option.
-	(mfix-gr712rc): Likewise.
-	(sparc_fix_b2bst): New variable.
-	* doc/invoke.texi (SPARC options): Document them.
-	(ARM options): Fix warnings.
-	* config/sparc/sparc.c (sparc_do_work_around_errata): Insert NOP
-	instructions to prevent sequences that can trigger the store-store
-	errata for certain LEON3FT processors.
-	(pass_work_around_errata::gate): Also test sparc_fix_b2bst.
-	(sparc_option_override): Set sparc_fix_b2bst appropriately.
-	* config/sparc/sparc.md (fix_b2bst): New attribute.
-	(in_branch_delay): Prevent stores in delay slot if fix_b2bst.
-
-2017-07-10  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81375
-	* config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH.
-	(rcpps): Ditto.
-	(*rsqrtsf2_sse): Ditto.
-	(rsqrtsf2): Ditto.
-	(div<mode>3): Macroize insn from divdf3 and divsf3
-	using MODEF mode iterator.
-
-2017-07-10  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/80397
-	* gimple-ssa-sprintf.c (format_integer): Use INTEGRAL_TYPE_P()
-	instead of testing for equality to INTEGER_TYPE.
-
-2017-07-10  Vineet Gupta <vgupta@synopsys.com>
-
-	* config.gcc: Remove uclibc from arc target spec.
-
-2017-07-10  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.h (ADDITIONAL_REGISTER_NAMES): Define.
-
-2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/80838
-	* lto-wrapper.c (remove_option): New function.
-	(merge_and_complain): Merge PIC/PIE options more realistically.
-
-2017-07-10  Georg-Johann Lay  <avr@gjlay.de>
-
-	Better ISR prologues by supporting GASes __gcc_isr pseudo insn.
-
-	PR target/20296
-	PR target/81268
-	* configure.ac [target=avr]: Add GAS check for -mgcc-isr.
-	(HAVE_AS_AVR_MGCCISR_OPTION):  If so, AC_DEFINE it.
-	* config.in: Regenerate.
-	* configure: Regenerate.
-	* doc/extend.texi (AVR Function Attributes) <no_gccisr>: Document it.
-	* doc/invoke.texi (AVR Options) <-mgas-isr-prologues>: Document it.
-	* config/avr/avr.opt (-mgas-isr-prologues): New option and...
-	(TARGET_GASISR_PROLOGUES): ...target mask.
-	* common/config/avr/avr-common.c
-	(avr_option_optimization_table) [OPT_LEVELS_1_PLUS_NOT_DEBUG]:
-	Set -mgas-isr-prologues.
-	* config/avr/avr-passes.def (avr_pass_pre_proep): Add
-	INSERT_PASS_BEFORE for it.
-	* config/avr/avr-protos.h (make_avr_pass_pre_proep): New proto.
-	* config/avr/avr.c (avr_option_override)
-	[!HAVE_AS_AVR_MGCCISR_OPTION]: Unset TARGET_GASISR_PROLOGUES.
-	(avr_no_gccisr_function_p, avr_hregs_split_reg): New static functions.
-	(avr_attribute_table) <no_gccisr>: Add new function attribute.
-	(avr_set_current_function) <is_no_gccisr>: Init machine field.
-	(avr_pass_data_pre_proep, avr_pass_pre_proep): New pass data
-	and rtl_opt_pass.
-	(make_avr_pass_pre_proep): New function.
-	(emit_push_sfr) <treg>: Add argument to function and use it
-	instead of TMP_REG.
-	(avr_expand_prologue) [machine->gasisr.maybe]: Emit gasisr insn
-	and set machine->gasisr.yes.
-	(avr_expand_epilogue) [machine->gasisr.yes]: Similar.
-	(avr_asm_function_end_prologue) [machine->gasisr.yes]: Add
-	__gcc_isr.n_pushed to .L__stack_usage.
-	(TARGET_ASM_FINAL_POSTSCAN_INSN): Define to...
-	(avr_asm_final_postscan_insn): ...this new static function.
-	* config/avr/avr.h (machine_function)
-	<is_no_gccisr, use_L__stack_usage>: New fields.
-	<gasisr, gasisr.yes, gasisr.maybe, gasisr.regno>: New fields.
-	* config/avr/avr.md (UNSPECV_GASISR): Add unspecv enum.
-	(GASISR_Prologue, GASISR_Epilogue, GASISR_Done): New define_constants.
-	(gasisr, *gasisr): New expander and insn.
-	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
-	[HAVE_AS_AVR_MGCCISR_OPTION]: Print asm_gccisr spec.
-	* config/avr/specs.h (ASM_SPEC) <asm_gccisr>: Add sub spec.
-
-2017-07-10  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/parsecpu.awk (gen_comm_data): Do not escape single quotes
-	in quoted strings.
-
-2017-07-10  Georg-Johann Lay  <avr@gjlay.de>
-
-	Move jump-tables out of .text again.
-
-	PR target/81075
-	* config/avr/avr.c (ASM_OUTPUT_ADDR_VEC_ELT): Remove function.
-	(ASM_OUTPUT_ADDR_VEC): New function.
-	(avr_adjust_insn_length) [JUMP_TABLE_DATA_P]: Return 0.
-	(avr_final_prescan_insn) [avr_log.insn_addresses]: Dump
-	INSN_ADDRESSes as asm comment.
-	* config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION): Adjust comment.
-	(ASM_OUTPUT_ADDR_VEC_ELT): Remove define.
-	(ASM_OUTPUT_ADDR_VEC): Define to avr_output_addr_vec.
-	* config/avr/avr.md (*tablejump): Adjust comment.
-	* config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
-	* config/avr/avr-log.c (avr_log_set_avr_log) <insn_addresses>:
-	New detail.
-	* config/avr/avr-protos.h (avr_output_addr_vec_elt): Remove proto.
-	(avr_output_addr_vec): New proto.
-	(avr_log_t) <insn_addresses>: New field.
-
-2017-07-09  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/81313
-	* config/i386/i386.c (ix86_function_arg_advance): Set
-	outgoing_args_on_stack to true if there are outgoing arguments
-	on stack.
-	(ix86_function_arg): Likewise.
-	(ix86_get_drap_rtx): Use DRAP only if there are outgoing
-	arguments on stack and ACCUMULATE_OUTGOING_ARGS is false.
-	* config/i386/i386.h (machine_function): Add
-	outgoing_args_on_stack.
-
-2017-07-09  Krister Walfridsson  <krister.walfridsson@gmail.com>
-
-	* config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
-	supporting pthreds.
-	* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always enable pthreads.
-
-2017-07-08  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* Makefile.in (HOOKS_H, RTL_BASE_H, FUNCTION_H, EXPR_H, REGS_H)
-	(REAL_H): Remove $(MACHMODE_H).
-	(FIXED_VALUE_H, TREE_CORE_H, CFGLOOP_H): Remove $(MACHMODE_H) and
-	double-int.h.
-	(CORETYPES_H): Add signop.h, wide-int.h, wide-int-print.h,
-	$(MACHMODE_H) and double-int.h.
-	(build/min-insn-modes.o): Depend on $(CORETYPES_H) rather than
-	$(MACHMODE_H).
-	(gengtype-state.o, gengtype.o, build/gengtype.o): Don't depend on
-	double-int.h.
-
-2017-07-07  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Check
-	prev_set and curr_set for AARCH64_FUSE_ALU_BRANCH.
-
-2017-07-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_get_function_versions_dispatcher):
-	Add warning if GCC was not configured to link against a GLIBC that
-	exports the hardware capability bits.
-	(make_resolver_func): Make resolver function private and not a
-	COMDAT function.  Create the name with clone_function_name instead
-	of make_unique_name.
-
-	PR target/81348
-	* config/rs6000/rs6000.md (HI sign_extend splitter): Use the
-	correct operand in doing the split.
-
-2017-07-07 Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c: Add support for built-in function
-	vector unsigned short vec_pack_to_short_fp32 (vector float,
-						      vector float).
-	* config/rs6000/rs6000-builtin.def (CONVERT_4F32_8I16): Add
-	BU_P9V_AV_2 and BU_P9V_OVERLOAD_2 definitions.
-	* config/rs6000/altivec.h (vec_pack_to_short_fp32): Add define.
-	* config/rs6000/altivec.md(UNSPEC_CONVERT_4F32_8I16): Add UNSPEC.
-	(convert_4f32_8i16): Add define_expand.
-	* doc/extend.texi: Update the built-in documentation file for the
-	new built-in function.
-
-2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/m8.md: New file.
-	* config/sparc/sparc.md: Include m8.md.
-
-2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/sparc.opt: New option -mvis4b.
-	* config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_VIS4B.
-	(sparc_option_override): Handle VIS4B.
-	(enum sparc_builtins): Define
-	SPARC_BUILTIN_DICTUNPACK{8,16,32},
-	SPARC_BUILTIN_FPCMP{LE,GT,EQ,NE}{8,16,32}SHL,
-	SPARC_BUILTIN_FPCMPU{LE,GT}{8,16,32}SHL,
-	SPARC_BUILTIN_FPCMPDE{8,16,32}SHL and
-	SPARC_BUILTIN_FPCMPUR{8,16,32}SHL.
-	(check_constant_argument): New function.
-	(sparc_vis_init_builtins): Define builtins
-	__builtin_vis_dictunpack{8,16,32},
-	__builtin_vis_fpcmp{le,gt,eq,ne}{8,16,32}shl,
-	__builtin_vis_fpcmpu{le,gt}{8,16,32}shl,
-	__builtin_vis_fpcmpde{8,16,32}shl and
-	__builtin_vis_fpcmpur{8,16,32}shl.
-	(sparc_expand_builtin): Check that the constant operands to
-	__builtin_vis_fpcmp*shl and _builtin_vis_dictunpack* are indeed
-	constant and in range.
-	* config/sparc/sparc-c.c (sparc_target_macros): Handle
-	TARGET_VIS4B.
-	* config/sparc/sparc.h (SPARC_IMM2_P): Define.
-	(SPARC_IMM5_P): Likewise.
-	* config/sparc/sparc.md (cpu_feature): Add new feagure "vis4b".
-	(enabled): Handle vis4b.
-	(UNSPEC_DICTUNPACK): New unspec.
-	(UNSPEC_FPCMPSHL): Likewise.
-	(UNSPEC_FPUCMPSHL): Likewise.
-	(UNSPEC_FPCMPDESHL): Likewise.
-	(UNSPEC_FPCMPURSHL): Likewise.
-	(cpu_feature): New CPU feature `vis4b'.
-	(dictunpack{8,16,32}): New insns.
-	(FPCSMODE): New mode iterator.
-	(fpcscond): New code iterator.
-	(fpcsucond): Likewise.
-	(fpcmp{le,gt,eq,ne}{8,16,32}{si,di}shl): New insns.
-	(fpcmpu{le,gt}{8,16,32}{si,di}shl): Likewise.
-	(fpcmpde{8,16,32}{si,di}shl): Likewise.
-	(fpcmpur{8,16,32}{si,di}shl): Likewise.
-	* config/sparc/constraints.md: Define constraints `q' for unsigned
-	2-bit integer constants and `t' for unsigned 5-bit integer
-	constants.
-	* config/sparc/predicates.md (imm5_operand_dictunpack8): New
-	predicate.
-	(imm5_operand_dictunpack16): Likewise.
-	(imm5_operand_dictunpack32): Likewise.
-	(imm2_operand): Likewise.
-	* doc/invoke.texi (SPARC Options): Document -mvis4b.
-	* doc/extend.texi (SPARC VIS Built-in Functions): Document the
-	ditunpack* and fpcmp*shl builtins.
-
-2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config.gcc: Handle m8 in --with-{cpu,tune} options.
-	* config.in: Add HAVE_AS_SPARC6 define.
-	* config/sparc/driver-sparc.c (cpu_names): Add entry for the SPARC
-	M8.
-	* config/sparc/sol2.h (CPP_CPU64_DEFAULT_SPEC): Define for
-	TARGET_CPU_m8.
-	(ASM_CPU32_DEFAUILT_SPEC): Likewise.
-	(CPP_CPU_SPEC): Handle m8.
-	(ASM_CPU_SPEC): Likewise.
-	* config/sparc/sparc-opts.h (enum processor_type): Add
-	PROCESSOR_M8.
-	* config/sparc/sparc.c (m8_costs): New struct.
-	(sparc_option_override): Handle TARGET_CPU_m8.
-	(sparc32_initialize_trampoline): Likewise.
-	(sparc64_initialize_trampoline): Likewise.
-	(sparc_issue_rate): Likewise.
-	(sparc_register_move_cost): Likewise.
-	* config/sparc/sparc.h (TARGET_CPU_m8): Define.
-	(CPP_CPU64_DEFAULT_SPEC): Define for M8.
-	(ASM_CPU64_DEFAULT_SPEC): Likewise.
-	(CPP_CPU_SPEC): Handle M8.
-	(ASM_CPU_SPEC): Likewise.
-	(AS_M8_FLAG): Define.
-	* config/sparc/sparc.md: Add m8 to the cpu attribute.
-	* config/sparc/sparc.opt: New option -mcpu=m8 for sparc targets.
-	* configure.ac (HAVE_AS_SPARC6): Check for assembler support for
-	M8 instructions.
-	* configure: Regenerate.
-	* doc/invoke.texi (SPARC Options): Document -mcpu=m8 and
-	-mtune=m8.
-
-2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/niagara7.md: Rework the DFA scheduler to use insn
-	subtypes.
-	* config/sparc/sparc.md: Remove the `v3pipe' insn attribute.
-	("*movdi_insn_sp32"): Do not set v3pipe.
-	("*movsi_insn"): Likewise.
-	("*movdi_insn_sp64"): Likewise.
-	("*movsf_insn"): Likewise.
-	("*movdf_insn_sp32"): Likewise.
-	("*movdf_insn_sp64"): Likewise.
-	("*zero_extendsidi2_insn_sp64"): Likewise.
-	("*sign_extendsidi2_insn"): Likewise.
-	("*mov<VM32:mode>_insn"): Likewise.
-	("*mov<VM64:mode>_insn_sp64"): Likewise.
-	("*mov<VM64:mode>_insn_sp32"): Likewise.
-	("<plusminus_insn><VADDSUB:mode>3"): Likewise.
-	("<vlop:code><VL:mode>3"): Likewise.
-	("*not_<vlop:code><VL:mode>3"): Likewise.
-	("*nand<VL:mode>_vis"): Likewise.
-	("*<vlnotop:code>_not1<VL:mode>_vis"): Likewise.
-	("*<vlnotop:code>_not2<VL:mode>_vis"): Likewise.
-	("one_cmpl<VL:mode>2"): Likewise.
-	("faligndata<VM64:mode>_vis"): Likewise.
-	("alignaddrsi_vis"): Likewise.
-	("alignaddrdi_vis"): Likweise.
-	("alignaddrlsi_vis"): Likewise.
-	("alignaddrldi_vis"): Likewise.
-	("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
-	("bmaskdi_vis"): Likewise.
-	("bmasksi_vis"): Likewise.
-	("bshuffle<VM64:mode>_vis"): Likewise.
-	("cmask8<P:mode>_vis"): Likewise.
-	("cmask16<P:mode>_vis"): Likewise.
-	("cmask32<P:mode>_vis"): Likewise.
-	("pdistn<P:mode>_vis"): Likewise.
-	("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
-
-2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/sparc.md ("subtype"): New insn attribute.
-	("*wrgsr_sp64"): Set insn subtype.
-	("*rdgsr_sp64"): Likewise.
-	("alignaddrsi_vis"): Likewise.
-	("alignaddrdi_vis"): Likewise.
-	("alignaddrlsi_vis"): Likewise.
-	("alignaddrldi_vis"): Likewise.
-	("<plusminus_insn><VADDSUB:mode>3"): Likewise.
-	("fexpand_vis"): Likewise.
-	("fpmerge_vis"): Likewise.
-	("faligndata<VM64:mode>_vis"): Likewise.
-	("bshuffle<VM64:mode>_vis"): Likewise.
-	("cmask8<P:mode>_vis"): Likewise.
-	("cmask16<P:mode>_vis"): Likewise.
-	("cmask32<P:mode>_vis"): Likewise.
-	("fchksm16_vis"): Likewise.
-	("v<vis3_shift_patname><GCM:mode>3"): Likewise.
-	("fmean16_vis"): Likewise.
-	("fp<plusminus_insn>64_vis"): Likewise.
-	("<plusminus_insn>v8qi3"): Likewise.
-	("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
-	("<vis4_minmax_patname><VMMAX:mode>3"): Likewise.
-	("<vis4_uminmax_patname><VMMAX:mode>3"): Likewise.
-	("<vis3_addsub_ss_patname>v8qi3"): Likewise.
-	("<vis4_addsub_us_patname><VAUS:mode>3"): Likewise.
-	("*movqi_insn"): Likewise.
-	("*movhi_insn"): Likewise.
-	("*movsi_insn"): Likewise.
-	("movsi_pic_gotdata_op"): Likewise.
-	("*movdi_insn_sp32"): Likewise.
-	("*movdi_insn_sp64"): Likewise.
-	("movdi_pic_gotdata_op"): Likewise.
-	("*movsf_insn"): Likewise.
-	("*movdf_insn_sp32"): Likewise.
-	("*movdf_insn_sp64"): Likewise.
-	("*zero_extendhisi2_insn"): Likewise.
-	("*zero_extendqihi2_insn"): Likewise.
-	("*zero_extendqisi2_insn"): Likewise.
-	("*zero_extendqidi2_insn"): Likewise.
-	("*zero_extendhidi2_insn"): Likewise.
-	("*zero_extendsidi2_insn_sp64"): Likewise.
-	("ldfsr"): Likewise.
-	("prefetch_64"): Likewise.
-	("prefetch_32"): Likewise.
-	("tie_ld32"): Likewise.
-	("tie_ld64"): Likewise.
-	("*tldo_ldub_sp32"): Likewise.
-	("*tldo_ldub1_sp32"): Likewise.
-	("*tldo_ldub2_sp32"): Likewise.
-	("*tldo_ldub_sp64"): Likewise.
-	("*tldo_ldub1_sp64"): Likewise.
-	("*tldo_ldub2_sp64"): Likewise.
-	("*tldo_ldub3_sp64"): Likewise.
-	("*tldo_lduh_sp32"): Likewise.
-	("*tldo_lduh1_sp32"): Likewise.
-	("*tldo_lduh_sp64"): Likewise.
-	("*tldo_lduh1_sp64"): Likewise.
-	("*tldo_lduh2_sp64"): Likewise.
-	("*tldo_lduw_sp32"): Likewise.
-	("*tldo_lduw_sp64"): Likewise.
-	("*tldo_lduw1_sp64"): Likewise.
-	("*tldo_ldx_sp64"): Likewise.
-	("*mov<VM32:mode>_insn"): Likewise.
-	("*mov<VM64:mode>_insn_sp64"): Likewise.
-	("*mov<VM64:mode>_insn_sp32"): Likewise.
-
-2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/sparc.md ("type"): New insn type viscmp.
-	("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Set insn type to
-	viscmp.
-	("fpcmp<gcond:code>8<P:mode>_vis"): Likewise.
-	("fucmp<gcond:code>8<P:mode>_vis"): Likewise.
-	("fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
-	* config/sparc/niagara7.md ("n7_vis_logical_v3pipe"): Handle
-	viscmp.
-	("n7_vis_logical_11cycle"): Likewise.
-	* config/sparc/niagara4.md ("n4_vis_logical"): Likewise.
-	* config/sparc/niagara2.md ("niag3_vis": Likewise.
-	* config/sparc/niagara.md ("niag_vis"): Likewise.
-	* config/sparc/ultra3.md ("us3_fga"): Likewise.
-	* config/sparc/ultra1_2.md ("us1_fga_double"): Likewise.
-
-2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/sparc.md: New instruction type `bmask'.
-	(bmaskdi_vis): Use the `bmask' type.
-	(bmasksi_vis): Likewise.
-	* config/sparc/ultra3.md (us3_array): Likewise.
-	* config/sparc/niagara7.md (n7_array): Likewise.
-	* config/sparc/niagara4.md (n4_array): Likewise.
-	* config/sparc/niagara2.md (niag2_vis): Likewise.
-	(niag3_vis): Likewise.
-	* config/sparc/niagara.md (niag_vis): Likewise.
-
-2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-comdats.c: Remove optimize check from gate.
-	* ipa-fnsummary.c (ipa_fn_summary_generate): do not generate summary
-	for functions not optimized.
-	(ipa_fn_summary_read): Skip optimize check.
-	(ipa_fn_summary_write): Likewise.
-	* ipa-inline-analysis.c (do_estimate_growth_1): Check that caller
-	is optimized.
-	* ipa-inline.c (can_inline_edge_p): Not optimized functions are
-	uninlinable.
-	(can_inline_edge_p): Check flag_pcc_struct_return for match.
-	(check_callers): Give up on caller which is not optimized.
-	(inline_small_functions): Likewise.
-	(ipa_inline): Do not give up when not optimizing.
-	* ipa-visbility.c (function_and_variable_visibility): Do not optimize
-	away unoptimizes cdtors.
-	(whole_program_function_and_variable_visibility): Do
-	ipa_discover_readonly_nonaddressable_vars in LTO mode.
-	* ipa.c (process_references): Do not check optimize.
-	(symbol_table::remove_unreachable_nodes): Update optimize check.
-	(set_writeonly_bit): Update optimize check.
-	(pass_ipa_cdtor_merge::gate): Do not check optimize.
-	(pass_ipa_single_use::gate): Remove.
-
-2017-07-06  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (union_defs, union_uses, insn_is_load_p,
-	insn_is_store_p, insn_is_swap_p, const_load_sequence_p, v2df_reduction_p,
-	rtx_is_swappable_p, insn_is_swappable_p, chain_contains_only_swaps,
-	mark_swaps_for_removal, swap_const_vector_halves, adjust_subreg_index,
-	permute_load, permute_store, adjust_extract, adjust_splat,
-	adjust_xxpermdi, adjust_concat, adjust_vperm, handle_special_swappables,
-	replace_swap_with_copy, dump_swap_insn_table,
-	alignment_with_canonical_addr, alignment_mask, find_alignment_op,
-	recombine_lvx_pattern, recombine_stvx_pattern,
-	recombine_lvx_stvx_patterns, rs6000_analyze_swaps,
-	make_pass_analyze_swaps): Move all code related to p8 swap optimizations
-	to file rs6000-p8swap.c.
-	* config/rs6000/rs6000-p8swap.c: New file.
-	* config/rs6000/t-rs6000: Add rule to build rs6000-p8swap.o.
-	* config.gcc: Add rs6000-p8swap.o to extra_objs for powerpc*-*-*
-	and rs6000*-*-* targets.
-
-2017-07-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (selftest): Remove dependency on s-selftest-c++.
-
-2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* lto-wrapper.c (merge_and_complain): Do not merge
-	fexceptions, fnon_call_exceptions, ftrapv, ffp_contract_, fmath_errno,
-	fsigned_zeros, ftrapping_math, fwrapv.
-	(append_compiler_options): Do not track these options.
-	(append_linker_options): Likewie
-
-2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphunit.c (cgraph_node::finalize_function): When
-	!flag_toplevel_reorde set no_reorder flag.
-	(varpool_node::finalize_decl): Likewise.
-	(symbol_table::compile): Drop no toplevel reorder path.
-
-2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* bb-reorder.c (better_edge_p): Do not build traces across abnormal/eh
-	edges; zero probability is not better than uninitialized.
-
-2017-07-06  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	* asan.h (asan_sanitize_allocas_p): Declare.
-	* asan.c (asan_sanitize_allocas_p): New function.
-	(handle_builtin_stack_restore): Bail out if !asan_sanitize_allocas_p.
-	(handle_builtin_alloca): Likewise.
-	* cfgexpand.c (expand_used_vars): Do not add allocas unpoisoning stuff
-	if !asan_sanitize_allocas_p.
-	* params.def (asan-instrument-allocas): Add new option.
-	* params.h (ASAN_PROTECT_ALLOCAS): Define.
-	* opts.c (common_handle_option): Disable allocas sanitization for
-	KASan by default.
-
-2017-07-06  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	* asan.c: Include gimple-fold.h.
-	(get_last_alloca_addr): New function.
-	(handle_builtin_stackrestore): Likewise.
-	(handle_builtin_alloca): Likewise.
-	(asan_emit_allocas_unpoison): Likewise.
-	(get_mem_refs_of_builtin_call): Add new parameter, remove const
-	quallifier from first paramerer. Handle BUILT_IN_ALLOCA,
-	BUILT_IN_ALLOCA_WITH_ALIGN and BUILT_IN_STACK_RESTORE builtins.
-	(instrument_builtin_call): Pass gimple iterator to
-	get_mem_refs_of_builtin_call.
-	(last_alloca_addr): New global.
-	* asan.h (asan_emit_allocas_unpoison): Declare.
-	* builtins.c (expand_asan_emit_allocas_unpoison): New function.
-	(expand_builtin): Handle BUILT_IN_ASAN_ALLOCAS_UNPOISON.
-	* cfgexpand.c (expand_used_vars): Call asan_emit_allocas_unpoison
-	if function calls alloca.
-	* gimple-fold.c (replace_call_with_value): Remove static keyword.
-	* gimple-fold.h (replace_call_with_value): Declare.
-	* internal-fn.c: Include asan.h.
-	* sanitizer.def (BUILT_IN_ASAN_ALLOCA_POISON,
-	BUILT_IN_ASAN_ALLOCAS_UNPOISON): New builtins.
-
-2017-07-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (SELFTEST_FLAGS): Drop "-x c", moving it to...
-	(C_SELFTEST_FLAGS): New.
-	(CPP_SELFTEST_FLAGS): New.
-	(SELFTEST_DEPS): New, from deps of s-selftest.
-	(C_SELFTEST_DEPS): New, from deps of s-selftest.
-	(CPP_SELFTEST_DEPS): New.
-	(selftest): Add dependency on s-selftest-c++.
-	(s-selftest): Rename to...
-	(s-selftest-c): ...this, moving deps to SELFTEST_DEPS
-	and C_SELFTEST_DEPS, and using C_SELFTEST_FLAGS rather
-	than SELFTEST_FLAGS.
-	(selftest-gdb): Rename to...
-	(selftest-c-gdb): ...this, using C_SELFTEST_DEPS and
-	C_SELFTEST_FLAGS.
-	(selftest-gdb): Reintroduce as an alias for selftest-c-gdb.
-	(selftest-valgrind): Rename to...
-	(selftest-c-valgrind): ...this, using C_SELFTEST_DEPS and
-	C_SELFTEST_FLAGS.
-	(selftest-valgrind): Reintroduce as an alias for
-	selftest-c-valgrind.
-	(s-selftest-c++): New.
-	(selftest-c++-gdb): New.
-	(selftest-c++-valgrind): New.
-
-2017-07-06  Olivier Hainque  <hainque@adacore.com>
-
-	* gcc.c (process_command): When deciding if undefined variables
-	should be ignored when processing specs, accept "gcc -v" as well.
-
-2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* auto-profile.c (afdo_set_bb_count, afdo_propagate_edge,
-	afdo_annotate_cfg): Set counts/probabilities as determined by afdo.
-
-2017-07-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm-cpus.in (armv8-r): Add new entry.
-	* config/arm/arm-isa.h (ISA_ARMv8r): Define macro.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm.h (enum base_architecture): Add BASE_ARCH_8R
-	enumerator.
-	* doc/invoke.texi: Mention -march=armv8-r and its extensions.
-
-2017-07-06  Carl Love  <cel@us.ibm.com>
-
-	* ChangeLog: Clean up from mid air collision
-
-2017-07-06  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c: Add support for built-in functions
-	vector signed int vec_subc (vector signed int, vector signed int);
-	vector signed __int128 vec_subc (vector signed __int128,
-					 vector signed __int128);
-	vector unsigned __int128 vec_subc (vector unsigned __int128,
-					   vector unsigned __int128);
-	vector signed int vec_sube (vector signed int, vector signed int,
-				    vector signed int);
-	vector unsigned int vec_sube (vector unsigned int,
-				      vector unsigned int,
-				      vector unsigned int);
-	vector signed __int128 vec_sube (vector signed __int128,
-					 vector signed __int128,
-					 vector signed__int128);
-	vector unsigned __int128 vec_sube (vector unsigned __int128,
-					   vector unsigned __int128,
-					   vector unsigned __int128);
-	vector signed int vec_subec (vector signed int, vector signed int,
-				     vector signed int);
-	vector unsigned int vec_subec (vector unsigned int,
-				       vector unsigned int,
-				       vector unsigned int);
-	vector signed __int128 vec_subec (vector signed __int128,
-					  vector signed __int128,
-					  vector signed__int128);
-	vector unsigned __int128 vec_subec (vector unsigned __int128,
-					    vector unsigned __int128,
-					    vector unsigned __int128);
-	* config/rs6000/rs6000.c (ALTIVEC_BUILTIN_VEC_SUBE,
-	ALTIVEC_BUILTIN_VEC_SUBEC): Add ef_builtins.
-	* config/rs6000/rs6000-builtin.def (SUBE, SUBEC): Add
-	BU_ALTIVEC_OVERLOAD_X definitions.
-	* config/rs6000/altivec.h (vec_sube, vec_subec): Add builtin defines.
-	* doc/extend.texi: Update the built-in documentation file for the new
-	built-in functions.
-
-2017-07-06  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c++/79300
-	* diagnostic-show-locus.c (layout::layout): Use start and finish
-	spelling location for the start and finish of each range.
-	* genmatch.c (linemap_client_expand_location_to_spelling_point):
-	Add unused aspect param.
-	* input.c (expand_location_1): Add "aspect" param, and use it
-	to access the correct part of the location.
-	(expand_location): Pass LOCATION_ASPECT_CARET to new param of
-	expand_location_1.
-	(expand_location_to_spelling_point): Likewise.
-	(linemap_client_expand_location_to_spelling_point): Add "aspect"
-	param, and pass it to expand_location_1.
-
-2017-07-06  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* config/i386/avx512fintrin.h (_mm_mask_getexp_round_ss,
-	_mm_maskz_getexp_round_ss, _mm_mask_getexp_round_sd,
-	_mm_maskz_getexp_round_sd, _mm_mask_getmant_round_sd,
-	_mm_maskz_getmant_round_sd, _mm_mask_getmant_round_ss,
-	_mm_maskz_getmant_round_ss, _mm_mask_getexp_ss, _mm_maskz_getexp_ss,
-	_mm_mask_getexp_sd, _mm_maskz_getexp_sd, _mm_mask_getmant_sd,
-	_mm_maskz_getmant_sd, _mm_mask_getmant_ss,
-	_mm_maskz_getmant_ss): New intrinsics.
-	(__builtin_ia32_getexpss128_mask): Changed to ...
-	__builtin_ia32_getexpss128_round ... this.
-	(__builtin_ia32_getexpsd128_mask): Changed to ...
-	__builtin_ia32_getexpsd128_round ... this.
-	* config/i386/i386-builtin-types.def
-	((V2DF, V2DF, V2DF, INT, V2DF, UQI, INT),
-	(V4SF, V4SF, V4SF, INT, V4SF, UQI, INT)): New function type aliases.
-	* config/i386/i386-builtin.def (__builtin_ia32_getexpsd_mask_round,
-	__builtin_ia32_getexpss_mask_round,	__builtin_ia32_getmantsd_mask_round,
-	__builtin_ia32_getmantss_mask_round): New builtins.
-	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_UQI_INT,
-	V4SF_FTYPE_V4SF_V4SF_INT_V4SF_UQI_INT): Handle new types.
-	(CODE_FOR_avx512f_vgetmantv2df_mask_round,
-	CODE_FOR_avx512f_vgetmantv4sf_mask_round): New cases.
-	* config/i386/sse.md
-	(avx512f_sgetexp<mode><round_saeonly_name>): Changed to ...
-	avx512f_sgetexp<mode><mask_scalar_name>
-	<round_saeonly_scalar_name> ... this.
-	(vgetexp<ssescalarmodesuffix>\t{<round_saeonly_op3>%2, %1, %0|
-	%0, %1, %2<round_saeonly_op3>}): Changed to ...
-	vgetexp<ssescalarmodesuffix>
-	\t{<round_saeonly_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|
-	%0<mask_scalar_operand3>, %1, %2<round_saeonly_scalar_mask_op3>} ... this.
-	(avx512f_vgetmant<mode><round_saeonly_name>): Changed to ...
-	avx512f_vgetmant<mode><mask_scalar_name>
-	<round_saeonly_scalar_name> ... this.
-	(vgetmant<ssescalarmodesuffix>\t{%3, <round_saeonly_op4>%2, %1, %0|
-	%0, %1, %2<round_saeonly_op4>, %3}): Changed to ...
-	vgetmant<ssescalarmodesuffix>
-	\t{%3, <round_saeonly_scalar_mask_op4>%2, %1, %0<mask_scalar_operand4>|
-	%0<mask_scalar_operand4>, %1, %2
-	<round_saeonly_scalar_mask_op4>, %3} ... this.
-	* config/i386/subst.md (mask_scalar_operand4,
-	round_saeonly_scalar_mask_operand4,	round_saeonly_scalar_mask_op4,
-	round_saeonly_scalar_nimm_predicate): New subst attributes.
-
-2017-07-06  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/i386.c (ix86_erase_embedded_rounding):
-	Remove code for old rounding pattern.
-
-2017-07-06  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/t-arm (GTM_H): Add arm-cpu.h.
-
-2017-07-06  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* doc/sourcebuild.texi (Test Directives, Variants of
-	dg-require-support): Add documentation for dg-require-stack-check.
-
-2017-07-05  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* config/i386/subst.md (mask_scalar, round_scalar,
-	round_saeonly_scalar): New meta-templates.
-	(mask_scalar_name, mask_scalar_operand3, round_scalar_name,
-	round_scalar_mask_operand3, round_scalar_mask_op3,
-	round_scalar_constraint, round_scalar_prefix, round_saeonly_scalar_name,
-	round_saeonly_scalar_mask_operand3, round_saeonly_scalar_mask_op3,
-	round_saeonly_scalar_constraint,
-	round_saeonly_scalar_prefix): New subst attribute.
-	* config/i386/sse.md
-	(<sse>_vm<plusminus_insn><mode>3<mask_name><round_name>): Renamed to ...
-	<sse>_vm<plusminus_insn><mode>3<mask_scalar_name>
-	<round_scalar_name> ... this.
-	(<sse>_vm<multdiv_mnemonic><mode>3<mask_name><round_name>): Renamed to ...
-	<sse>_vm<multdiv_mnemonic><mode>3<mask_scalar_name>
-	<round_scalar_name> ... this.
-	(<sse>_vm<code><mode>3<mask_name><round_saeonly_name>): Renamed to ...
-	<sse>_vm<code><mode>3<mask_scalar_name>
-	<round_saeonly_scalar_name> ... this.
-	(v<plusminus_mnemonic><ssescalarmodesuffix>
-	\t{<round_mask_op3>%2, %1, %0<mask_operand3>|
-	%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}): Changed to ...
-	v<plusminus_mnemonic><ssescalarmodesuffix>
-	\t{<round_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|
-	%0<mask_scalar_operand3>, %1, %<iptr>2<round_scalar_mask_op3>} ... this.
-	(v<multdiv_mnemonic><ssescalarmodesuffix>
-	\t{<round_mask_op3>%2, %1, %0<mask_operand3>|
-	%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}): Changed to ...
-	v<multdiv_mnemonic><ssescalarmodesuffix>
-	\t{<round_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|
-	%0<mask_scalar_operand3>, %1, %<iptr>2<round_scalar_mask_op3>} ... this.
-	(v<maxmin_float><ssescalarmodesuffix>
-	\t{<round_saeonly_mask_op3>%2, %1, %0<mask_operand3>|
-	%0<mask_operand3>, %1, %<iptr>2<round_saeonly_mask_op3>}): Changed to ...
-	v<maxmin_float><ssescalarmodesuffix>
-	\t{<round_saeonly_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|
-	%0<mask_scalar_operand3>, %1, %<iptr>2
-	<round_saeonly_scalar_mask_op3>} ... this.
-
-2017-07-05  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (arm_fixed_condition_code_regs): New function.
-	(TARGET_FIXED_CONDITION_CODE_REGS): Redefine.
-
-2017-07-05  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* combine.c (simplify_if_then_else): Remove "enum" before
-	"machine_mode".
-	* compare-elim.c (can_eliminate_compare): Likewise.
-	* config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_std_type):
-	Likewise.
-	(aarch64_lookup_simd_builtin_type): Likewise.
-	(aarch64_simd_builtin_type): Likewise.
-	(aarch64_init_simd_builtin_types): Likewise.
-	(aarch64_simd_expand_args): Likewise.
-	* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist):
-	Likewise.
-	(aarch64_reverse_mask): Likewise.
-	(aarch64_simd_emit_reg_reg_move): Likewise.
-	(aarch64_gen_adjusted_ldpstp): Likewise.
-	(aarch64_ccmp_mode_to_code): Likewise.
-	(aarch64_operands_ok_for_ldpstp): Likewise.
-	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
-	* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class):
-	Likewise.
-	(aarch64_min_divisions_for_recip_mul): Likewise.
-	(aarch64_reassociation_width): Likewise.
-	(aarch64_get_condition_code_1): Likewise.
-	(aarch64_simd_emit_reg_reg_move): Likewise.
-	(aarch64_simd_attr_length_rglist): Likewise.
-	(aarch64_reverse_mask): Likewise.
-	(aarch64_operands_ok_for_ldpstp): Likewise.
-	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
-	(aarch64_gen_adjusted_ldpstp): Likewise.
-	* config/aarch64/cortex-a57-fma-steering.c (fma_node::rename):
-	Likewise.
-	* config/arc/arc.c (legitimate_offset_address_p): Likewise.
-	* config/arm/arm-builtins.c (arm_simd_builtin_std_type): Likewise.
-	(arm_lookup_simd_builtin_type): Likewise.
-	(arm_simd_builtin_type): Likewise.
-	(arm_init_simd_builtin_types): Likewise.
-	(arm_expand_builtin_args): Likewise.
-	* config/arm/arm-protos.h (arm_expand_builtin): Likewise.
-	* config/ft32/ft32.c (ft32_libcall_value): Likewise.
-	(ft32_setup_incoming_varargs): Likewise.
-	(ft32_function_arg): Likewise.
-	(ft32_function_arg_advance): Likewise.
-	(ft32_pass_by_reference): Likewise.
-	(ft32_arg_partial_bytes): Likewise.
-	(ft32_valid_pointer_mode): Likewise.
-	(ft32_addr_space_pointer_mode): Likewise.
-	(ft32_addr_space_legitimate_address_p): Likewise.
-	* config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple):
-	Likewise.
-	* config/i386/i386.c (ix86_setup_incoming_vararg_bounds): Likewise.
-	(ix86_emit_outlined_ms2sysv_restore): Likewise.
-	(iamcu_alignment): Likewise.
-	(canonicalize_vector_int_perm): Likewise.
-	(ix86_noce_conversion_profitable_p): Likewise.
-	(ix86_mpx_bound_mode): Likewise.
-	(ix86_operands_ok_for_move_multiple): Likewise.
-	* config/microblaze/microblaze-protos.h
-	(microblaze_expand_conditional_branch_reg): Likewise.
-	* config/microblaze/microblaze.c
-	(microblaze_expand_conditional_branch_reg): Likewise.
-	* config/powerpcspe/powerpcspe.c (rs6000_init_hard_regno_mode_ok):
-	Likewise.
-	(rs6000_reassociation_width): Likewise.
-	(rs6000_invalid_binary_op): Likewise.
-	(fusion_p9_p): Likewise.
-	(emit_fusion_p9_load): Likewise.
-	(emit_fusion_p9_store): Likewise.
-	* config/riscv/riscv-protos.h (riscv_regno_mode_ok_for_base_p):
-	Likewise.
-	(riscv_hard_regno_mode_ok_p): Likewise.
-	(riscv_address_insns): Likewise.
-	(riscv_split_symbol): Likewise.
-	(riscv_legitimize_move): Likewise.
-	(riscv_function_value): Likewise.
-	(riscv_hard_regno_nregs): Likewise.
-	(riscv_expand_builtin): Likewise.
-	* config/riscv/riscv.c (riscv_build_integer_1): Likewise.
-	(riscv_build_integer): Likewise.
-	(riscv_split_integer): Likewise.
-	(riscv_legitimate_constant_p): Likewise.
-	(riscv_cannot_force_const_mem): Likewise.
-	(riscv_regno_mode_ok_for_base_p): Likewise.
-	(riscv_valid_base_register_p): Likewise.
-	(riscv_valid_offset_p): Likewise.
-	(riscv_valid_lo_sum_p): Likewise.
-	(riscv_classify_address): Likewise.
-	(riscv_legitimate_address_p): Likewise.
-	(riscv_address_insns): Likewise.
-	(riscv_load_store_insns): Likewise.
-	(riscv_force_binary): Likewise.
-	(riscv_split_symbol): Likewise.
-	(riscv_force_address): Likewise.
-	(riscv_legitimize_address): Likewise.
-	(riscv_move_integer): Likewise.
-	(riscv_legitimize_const_move): Likewise.
-	(riscv_legitimize_move): Likewise.
-	(riscv_address_cost): Likewise.
-	(riscv_subword): Likewise.
-	(riscv_output_move): Likewise.
-	(riscv_canonicalize_int_order_test): Likewise.
-	(riscv_emit_int_order_test): Likewise.
-	(riscv_function_arg_boundary): Likewise.
-	(riscv_pass_mode_in_fpr_p): Likewise.
-	(riscv_pass_fpr_single): Likewise.
-	(riscv_pass_fpr_pair): Likewise.
-	(riscv_get_arg_info): Likewise.
-	(riscv_function_arg): Likewise.
-	(riscv_function_arg_advance): Likewise.
-	(riscv_arg_partial_bytes): Likewise.
-	(riscv_function_value): Likewise.
-	(riscv_pass_by_reference): Likewise.
-	(riscv_setup_incoming_varargs): Likewise.
-	(riscv_print_operand): Likewise.
-	(riscv_elf_select_rtx_section): Likewise.
-	(riscv_save_restore_reg): Likewise.
-	(riscv_for_each_saved_reg): Likewise.
-	(riscv_register_move_cost): Likewise.
-	(riscv_hard_regno_mode_ok_p): Likewise.
-	(riscv_hard_regno_nregs): Likewise.
-	(riscv_class_max_nregs): Likewise.
-	(riscv_memory_move_cost): Likewise.
-	* config/rl78/rl78-protos.h (rl78_split_movsi): Likewise.
-	* config/rl78/rl78.c (rl78_split_movsi): Likewise.
-	(rl78_addr_space_address_mode): Likewise.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Likewise.
-	(rs6000_reassociation_width): Likewise.
-	(rs6000_invalid_binary_op): Likewise.
-	(fusion_p9_p): Likewise.
-	(emit_fusion_p9_load): Likewise.
-	(emit_fusion_p9_store): Likewise.
-	* config/visium/visium-protos.h (prepare_move_operands): Likewise.
-	(ok_for_simple_move_operands): Likewise.
-	(ok_for_simple_move_strict_operands): Likewise.
-	(ok_for_simple_arith_logic_operands): Likewise.
-	(visium_legitimize_reload_address): Likewise.
-	(visium_select_cc_mode): Likewise.
-	(output_cbranch): Likewise.
-	(visium_split_double_move): Likewise.
-	(visium_expand_copysign): Likewise.
-	(visium_expand_int_cstore): Likewise.
-	(visium_expand_fp_cstore): Likewise.
-	* config/visium/visium.c (visium_pass_by_reference): Likewise.
-	(visium_function_arg): Likewise.
-	(visium_function_arg_advance): Likewise.
-	(visium_libcall_value): Likewise.
-	(visium_setup_incoming_varargs): Likewise.
-	(visium_legitimate_constant_p): Likewise.
-	(visium_legitimate_address_p): Likewise.
-	(visium_legitimize_address): Likewise.
-	(visium_secondary_reload): Likewise.
-	(visium_register_move_cost): Likewise.
-	(visium_memory_move_cost): Likewise.
-	(prepare_move_operands): Likewise.
-	(ok_for_simple_move_operands): Likewise.
-	(ok_for_simple_move_strict_operands): Likewise.
-	(ok_for_simple_arith_logic_operands): Likewise.
-	(visium_function_value_1): Likewise.
-	(rtx_ok_for_offset_p): Likewise.
-	(visium_legitimize_reload_address): Likewise.
-	(visium_split_double_move): Likewise.
-	(visium_expand_copysign): Likewise.
-	(visium_expand_int_cstore): Likewise.
-	(visium_expand_fp_cstore): Likewise.
-	(visium_split_cstore): Likewise.
-	(visium_select_cc_mode): Likewise.
-	(visium_split_cbranch): Likewise.
-	(output_cbranch): Likewise.
-	(visium_print_operand_address): Likewise.
-	* expmed.c (flip_storage_order): Likewise.
-	* expmed.h (emit_cstore): Likewise.
-	(flip_storage_order): Likewise.
-	* genrecog.c (validate_pattern): Likewise.
-	* hsa-gen.c (gen_hsa_addr): Likewise.
-	* internal-fn.c (expand_arith_overflow): Likewise.
-	* ira-color.c (allocno_copy_cost_saving): Likewise.
-	* lra-assigns.c (find_hard_regno_for_1): Likewise.
-	* lra-constraints.c (prohibited_class_reg_set_mode_p): Likewise.
-	(process_invariant_for_inheritance): Likewise.
-	* lra-eliminations.c (move_plus_up): Likewise.
-	* omp-low.c (lower_oacc_reductions): Likewise.
-	* simplify-rtx.c (simplify_subreg): Likewise.
-	* target.def (TARGET_SETUP_INCOMING_VARARG_BOUNDS): Likewise.
-	(TARGET_CHKP_BOUND_MODE): Likewise..
-	* targhooks.c (default_chkp_bound_mode): Likewise.
-	(default_setup_incoming_vararg_bounds): Likewise.
-	* targhooks.h (default_chkp_bound_mode): Likewise.
-	(default_setup_incoming_vararg_bounds): Likewise.
-	* tree-ssa-math-opts.c (divmod_candidate_p): Likewise.
-	* tree-vect-loop.c (calc_vec_perm_mask_for_shift): Likewise.
-	(have_whole_vector_shift): Likewise.
-	* tree-vect-stmts.c (vectorizable_load): Likewise.
-	* doc/tm.texi: Regenerate.
-
-2017-07-05  Georg-Johann Lay  <avr@gjlay.de>
-
-	Graceful degrade if Binutils PR21472 is not available.
-
-	PR target/81072
-	* configure.ac [target=avr]: WARN instead of ERROR if avrxmega3
-	.rodata in flash test fails.
-	(HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH): Define it if test passes.
-	* confgure: Regenerate.
-	* config.in: Regenerate.
-	* config/avr/avr.c (avr_asm_named_section)
-	[HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH]: Only trigger
-	__do_copy_data for stuff in .rodata if flash_pm_offset = 0.
-	(avr_asm_init_sections): Same.
-
-2017-07-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* config/arm/neon.md (fma<VCVTF:mode>4): Remove %?.
-	(fma<VH:mode>4_intrinsic): Likewise.
-	(*fmsub<VCVTF:mode>4): Likewise.
-	(*fmsub<VH:mode>4_intrinsic): Likewise.
-
-2017-07-05  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/81305
-	* config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]:
-	Don't depend on "optimize > 0".
-	(out_movhi_r_mr, out_movqi_mr_r): Same.
-	(out_movhi_mr_r, out_movqi_r_mr): Same.
-	(avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for
-	io_address_operand on "optimize > 0".
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c: Add general explanantion on the pass.
-	(generate_loops_for_partition): Mark distributed loop.
-	(pg_add_dependence_edges): New parameter.  Handle alias data
-	dependence specially and record it in the parameter if asked.
-	(struct pg_vdata, pg_edata, pg_edge_callback_data): New structs.
-	(init_partition_graph_vertices, add_partition_graph_edge): New.
-	(pg_skip_alias_edge, free_partition_graph_edata_cb): New.
-	(free_partition_graph_vdata, build_partition_graph): New.
-	(sort_partitions_by_post_order, merge_dep_scc_partitions): New.
-	(pg_collect_alias_ddrs, break_alias_scc_partitions): New.
-	(data_ref_segment_size, latch_dominated_by_data_ref): New.
-	(compute_alias_check_pairs, version_loop_by_alias_check): New.
-	(version_for_distribution_p, finalize_partitions): New.
-	(distribute_loop): Handle alias data dependence specially.  Factor
-	out loop fusion code as functions and call these functions.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (classify_partition): New parameter and
-	better handle reduction statement.
-	(rdg_build_partitions): Revise comment.
-	(distribute_loop): Compute statements in all partitions and pass it
-	to classify_partition.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (enum partition_type): New.
-	(struct partition): New field type.
-	(partition_merge_into): Add parameter.  Update partition type.
-	(data_dep_in_cycle_p, update_type_for_merge): New functions.
-	(build_rdg_partition_for_vertex): Compute partition type.
-	(rdg_build_partitions): Dump partition type.
-	(distribute_loop): Update calls to partition_merge_into.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (struct ddr_hasher): New.
-	(ddr_hasher::hash, ::equal, get_data_dependence): New function.
-	(ddrs_table): New.
-	(classify_partition): Call get_data_dependence.
-	(pg_add_dependence_edges): Ditto.
-	(distribute_loop): Release data dependence hash table.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (ref_base_address): Delete.
-	(similar_memory_accesses): Rename ...
-	(share_memory_accesses): ... to this.  Check if partitions access
-	the same memory reference.
-	(distribute_loop): Call share_memory_accesses.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (struct partition): New field recording
-	its data reference.
-	(partition_alloc, partition_free): Init and release data refs.
-	(partition_merge_into): Merge data refs.
-	(build_rdg_partition_for_vertex): Collect data refs for partition.
-	(pg_add_dependence_edges): Change parameters from vector to bitmap.
-	Update uses.
-	(distribute_loop): Remve data refs from vertice data of partition
-	graph.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (params.h): Include header file.
-	(MAX_DATAREFS_NUM, DR_INDEX): New macro.
-	(datarefs_vec): New global var.
-	(create_rdg_vertices): Use datarefs_vec directly.
-	(free_rdg): Don't free data references.
-	(build_rdg): Update use.  Don't free data references.
-	(distribute_loop): Compute global variable for data references.
-	Bail out if there are too many data references.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (loop_nest): New global var.
-	(build_rdg): Use loop directly, rather than loop nest.
-	(pg_add_dependence_edges): Remove loop nest parameter.  Use global
-	variable directly.
-	(distribute_loop): Compute global variable loop nest.  Update use.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (enum fuse_type, fuse_message): New.
-	(partition_merge_into): New parameter.  Dump reason for fusion.
-	(distribute_loop): Update use of partition_merge_into.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (bb_top_order_index): New.
-	(bb_top_order_index_size, bb_top_order_cmp): New.
-	(stmts_from_loop): Use topological order.
-	(pass_loop_distribution::execute): Compute and release topological
-	order for basic blocks.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-loop-distribution.c (pass_loop_distribution::execute): Skip
-	if no loops.
-
-2017-07-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* cfgloop.h (struct loop): Add comment.  New field orig_loop_num.
-	* cfgloopmanip.c (lv_adjust_loop_entry_edge): Comment change.
-	* internal-fn.c (expand_LOOP_DIST_ALIAS): New function.
-	* internal-fn.def (LOOP_DIST_ALIAS): New.
-	* tree-vectorizer.c (fold_loop_vectorized_call): Rename to ...
-	(fold_loop_internal_call): ... this.
-	(vect_loop_dist_alias_call): New function.
-	(set_uid_loop_bbs): Call fold_loop_internal_call.
-	(vectorize_loops): Fold IFN_LOOP_VECTORIZED and IFN_LOOP_DIST_ALIAS
-	internal calls.
-
-2017-07-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81300
-	* config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes):
-	Require dead FLAGS_REG at the beginning of a peephole.
-
-2017-07-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81294
-	* config/i386/adxintrin.h (_subborrow_u32): Swap _X and _Y
-	arguments in the call to __builtin_ia32_sbb_u32.
-	(_subborrow_u64): Swap _X and _Y arguments in the call to
-	__builtin_ia32_sbb_u64.
-
-2017-07-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/81278
-	* tree-vrp.c (compare_assert_loc): Turn into a function template
-	with stable template parameter.  Only test if a->e is NULL,
-	!a->e == !b->e has been verified already.  Use e == NULL or
-	e != NULL instead of e or ! e tests.  If stable is true, don't use
-	iterative_hash_expr, on the other side allow a or b or both NULL
-	and sort the NULLs last.
-	(process_assert_insertions): Sort using compare_assert_loc<false>
-	instead of compare_assert_loc, later sort using
-	compare_assert_loc<true> before calling process_assert_insertions_for
-	in a loop.  Use break instead of continue once seen NULL pointer.
-
-2017-07-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/driver-arm.c (arm_cpu_table): Add entry for ARM
-	Cortex-R7 and Cortex-R8 processors.
-
-2017-07-04  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-utils.c (ipa_merge_profiles): Fix merging when dst is
-	uninitialized while src is not.
-
-2017-07-04  Richard Earnshaw  <rearnsha@arm.com>
-
-	* common/config/arm/arm-common.c: Adjust include path for
-	arm-cpu-cdata.h
-	* config/arm/t-arm (TM_H): Adjust path for arm-cpu.h.
-	(arm-cpu.h): Create in build directory.  Adjust dependency rules.
-	(arm-cpu-data.h): Likewise.
-	(arm-cpu-cdata.h): Likewise.
-	* config/arm/arm-cpu.h: Delete.
-	* config/arm/arm-cpu-cdata.h: Delete.
-	* config/arm/arm-cpu-data.h: Delete.
-
-2017-07-04  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/arm/arm-cpus.in (cortex-a55): New.
-	(cortex-a75): Likewise.
-	(cortex-a75.cortex-a55): Likewise.
-	* config/arm/driver-arm.c (arm_cpu_table): Add cortex-a55 and
-	cortex-a75.
-	* doc/invoke.texi (-mcpu): Document cortex-a55 and cortex-a75.
-	* config/arm/arm-cpu-cdata.h: Regenerate.
-	* config/arm/arm-cpu-data.h: Regenerate.
-	* config/arm/arm-cpu.h: Regenerate.
-	* config/arm/arm-tables.opt: Regenerate.
-	* config/arm/arm-tune.md: Regenerate.
-
-2017-07-04  Jan Hubicka  <hubicka@ucw.cz>
-
-	* haifa-sched.c (sched_create_recovery_edges): Update profile.
-
-2017-07-04  Jan Hubicka  <hubicka@ucw.cz>
-
-	* bb-reorder.c (better_edge_p): Fix handling of uninitialized
-	probability.
-
-2017-07-04  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/81292
-	* tree-ssa-strlen.c (handle_builtin_strlen): When setting
-	full_string_p, also call adjust_related_strinfos if the adjustment
-	is simple, otherwise invalidate related strinfos.
-
-2017-07-04  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/81040
-	* sanopt.c (sanitize_rewrite_addressable_params): Mark the
-	newly created variable as DECL_IGNORED_P.
-
-2017-07-04  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/81293
-	* ipa-inline.c (inline_small_functions):
-	Use xstrdup_for_dump.
-
-2017-07-04  Tom de Vries  <tom@codesourcery.com>
-
-	* graph.c (draw_cfg_edges): Save and restore EDGE_DFS_BACK.
-
-2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR target/81033
-	* config/darwin.c (darwin_function_switched_text_sections):
-	Fix spaces.
-
-2017-07-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-vect-loop-manip.c (vect_do_peeling): Fix scaling up.
-
-2017-07-03  Richard Earnshaw  <rearnsha@arm.com>
-
-	* doc/invoke.texi (ARM Options): Add -mbe8 and -mbe32 to option summary.
-
-2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vect-loop.c (vect_analyze_loop_2): Treat min_scalar_loop_bound,
-	min_profitable_iters, and th as inclusive lower bounds.
-	Fix LOOP_VINFO_PEELING_FOR_GAPS condition.
-	(vect_estimate_min_profitable_iters): Return inclusive lower bounds
-	for min_profitable_iters and min_profitable_estimate.
-	(vect_transform_loop): Treat th as an inclusive lower bound.
-	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
-
-2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR target/81033
-	* config/darwin.c (darwin_function_switched_text_sections):
-	Replace DECL_NAME with DECL_ASSEMBLER_NAME, split assemble_name_raw
-	in two pieces, and suppress the use of buf.
-
-2017-07-03  Nathan Sidwell  <nathan@acm.org>
-
-	* hash-table.h (hash_table_mod1): Fix indentation.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/81290
-	* predict.c (force_edge_cold): Be more careful about propagation
-	backward.
-	* profile-count.h (profile_probability::guessed,
-	profile_probability::fdo, profile_count::guessed, profile_count::fdo):
-	New.
-	* tree-ssa-threadupdate.c (recompute_probabilities): Result is guessed.
-
-2017-07-03  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* doc/invoke.texi (rcpc architecture extension): Document it.
-
-2017-07-03  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/60510
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Pass in
-	the scalar reduction PHI and use it.
-	(vectorizable_reduction): Properly guard the single_defuse_cycle
-	path for non-SLP reduction chains where we cannot use it.
-	Rework reduc_def/index and vector type deduction.  Rework
-	vector operand gathering during reduction op code-gen.
-	* tree-vect-slp.c (vect_analyze_slp): For failed SLP reduction
-	chains dissolve the chain and leave it to non-SLP reduction
-	handling.
-
-2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-data-ref.h (dr_alignment): Declare.
-	* tree-data-ref.c (dr_alignment): New function.
-	* tree-vectorizer.h (dataref_aux): Remove base_element_aligned.
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Don't
-	set it.
-	* tree-vect-stmts.c (vectorizable_store): Use dr_alignment.
-
-2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-data-ref.h (innermost_loop_behavior): Add base_alignment
-	and base_misalignment fields.
-	(DR_BASE_ALIGNMENT, DR_BASE_MISALIGNMENT): New macros.
-	* tree-data-ref.c: Include builtins.h.
-	(dr_analyze_innermost): Set up the new innmost_loop_behavior fields.
-	* tree-vectorizer.h (STMT_VINFO_DR_BASE_ALIGNMENT): New macro.
-	(STMT_VINFO_DR_BASE_MISALIGNMENT): Likewise.
-	* tree-vect-data-refs.c: Include tree-cfg.h.
-	(vect_compute_data_ref_alignment): Use the new innermost_loop_behavior
-	fields instead of calculating an alignment here.
-	(vect_analyze_data_refs): Use dr_analyze_innermost.  Dump the new
-	innermost_loop_behavior fields.
-
-2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-data-ref.h (innermost_loop_behavior): Add a step_alignment
-	field.
-	(DR_STEP_ALIGNMENT): New macro.
-	* tree-vectorizer.h (STMT_VINFO_DR_STEP_ALIGNMENT): Likewise.
-	* tree-data-ref.c (dr_analyze_innermost): Initalize step_alignment.
-	(create_data_ref): Print it.
-	* tree-vect-stmts.c (vectorizable_load): Use the step alignment
-	to tell whether the step preserves vector (mis)alignment.
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
-	Move the check for an integer step and generalise to all INTEGER_CST.
-	(vect_analyze_data_refs): Set DR_STEP_ALIGNMENT when setting DR_STEP.
-	Print the outer step alignment.
-
-2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-data-ref.h (innermost_loop_behavior): Replace aligned_to
-	with offset_alignment.
-	(DR_ALIGNED_TO): Delete.
-	(DR_OFFSET_ALIGNMENT): New macro.
-	* tree-vectorizer.h (STMT_VINFO_DR_ALIGNED_TO): Delete.
-	(STMT_VINFO_DR_OFFSET_ALIGNMENT): New macro.
-	* tree-data-ref.c (dr_analyze_innermost): Update after above changes.
-	(create_data_ref): Likewise.
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
-	(vect_analyze_data_refs): Likewise.
-	* tree-if-conv.c (if_convertible_loop_p_1): Use memset before
-	creating dummy innermost behavior.
-
-2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-data-ref.h (dr_analyze_innermost): Replace the dr argument
-	with a "innermost_loop_behavior *" and refeence tree.
-	* tree-data-ref.c (dr_analyze_innermost): Likewise.
-	(create_data_ref): Update call accordingly.
-	* tree-predcom.c (find_looparound_phi): Likewise.
-
-2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vectorizer.h (_stmt_vec_info): Replace individual dr_*
-	fields with dr_wrt_vec_loop.
-	(STMT_VINFO_DR_BASE_ADDRESS, STMT_VINFO_DR_INIT, STMT_VINFO_DR_OFFSET)
-	(STMT_VINFO_DR_STEP, STMT_VINFO_DR_ALIGNED_TO): Update accordingly.
-	(STMT_VINFO_DR_WRT_VEC_LOOP): New macro.
-	(vect_dr_behavior): New function.
-	(vect_create_addr_base_for_vector_ref): Remove loop parameter.
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
-	vect_dr_behavior.  Use a step_preserves_misalignment_p boolean to
-	track whether the step preserves the misalignment.
-	(vect_create_addr_base_for_vector_ref): Remove loop parameter.
-	Use vect_dr_behavior.
-	(vect_setup_realignment): Update call accordingly.
-	(vect_create_data_ref_ptr): Likewise.  Use vect_dr_behavior.
-	* tree-vect-loop-manip.c (vect_gen_prolog_loop_niters): Update
-	call to vect_create_addr_base_for_vector_ref.
-	(vect_create_cond_for_align_checks): Likewise.
-	* tree-vect-patterns.c (vect_recog_bool_pattern): Copy
-	STMT_VINFO_DR_WRT_VEC_LOOP as a block.
-	(vect_recog_mask_conversion_pattern): Likewise.
-	* tree-vect-stmts.c (compare_step_with_zero): Use vect_dr_behavior.
-	(new_stmt_vec_info): Remove redundant zeroing.
-
-2017-07-03  Richard Earnshaw  <rearnsha@arm.com>
-
-	* common/config/arm/arm-common.c (arm_be8_option): New function.
-	* config/arm/arm-isa.h (isa_feature): Add new feature bit isa_bit_be8.
-	(ISA_ARMv6): Add isa_bit_be8.
-	* config/arm/arm.h (arm_be8_option): Add prototype.
-	(BE8_SPEC_FUNCTION): New define.
-	(EXTRA_SPEC_FUNCTIONS): Add BE8_SPEC_FUNCTION.
-	* config/arm/arm.opt (mbig-endian): Mark as Negative of mlittle-endian.
-	(mlittle-endian): Similarly.
-	(mbe8, mbe32): New options.
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Call arm_be8_option.
-	* doc/invoke.texi (ARM Options): Document -mbe8 and -mbe32.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-cfg.c (gimple_find_sub_bbs): Fix profile updating.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-cfgcleanup.c (want_merge_blocks_p): New function.
-	(cleanup_tree_cfg_bb): Use it.
-	* profile-count.h (profile_count::of_for_merging, profile_count::merge):
-	New functions.
-	* tree-cfg.c (gimple_merge_blocks): Use profile_count::merge.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR bootstrap/81285
-	* loop-doloop.c (add_test): Update profile.
-
-2017-07-03  Martin Liska  <mliska@suse.cz>
-
-	PR sanitize/81040
-	* sanopt.c (rewrite_usage_of_param): New function.
-	(sanitize_rewrite_addressable_params): Likewise.
-	(pass_sanopt::execute): Call rewrite_usage_of_param.
-
-2017-07-03  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Revert
-	back to using VIEW_CONVERT_EXPR.
-
-2017-07-03  Martin Liska  <mliska@suse.cz>
-
-	PR other/78366
-	* doc/extend.texi: Document when a resolver function is
-	generated for target_clones.
-
-2017-07-03  Martin Liska  <mliska@suse.cz>
-
-	* asan.c (asan_emit_stack_protection): Unpoison just red zones
-	and shadow memory of auto variables which are subject of
-	use-after-scope sanitization.
-	(asan_expand_mark_ifn): Add do set only when is_poison.
-
-2016-07-03  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_analyze_loop_operations): Also analyze
-	reduction PHIs.
-	(vect_force_simple_reduction): Record reduction def -> phi mapping.
-	(vectorizable_reduction): Perform reduction PHI creation when
-	visiting a reduction PHI and adjust and simplify code generation
-	phase of the reduction op.  Cache dts, use fold_binary, not fold_build2.
-	(vect_transform_loop): Visit reduction PHIs.
-	* tree-vect-slp.c (vect_get_and_check_slp_defs): Record reduction
-	defs into the SLP tree.
-	(vect_build_slp_tree): Reduction defs terminate the recursion.
-	* tree-vect-stmts.c (vect_get_vec_def_for_operand_1): Allow lookup
-	of reduction defs.
-	(vect_get_vec_defs_for_stmt_copy): Export.
-	(vect_get_vec_defs): Likewise.
-	* tree-vectorizer.h (struct _stmt_vec_info): Amend reduc_def
-	purpose.
-	(vect_get_vec_defs_for_stmt_copy): Declare.
-	(vect_get_vec_defs): Likewise.
-
-2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-data-ref.c (dr_analyze_innermost): Replace the "nest"
-	parameter with a "loop" parameter and use it instead of the
-	loop containing DR_STMT.  Don't check simple_iv when doing
-	BB analysis.  Describe the two analysis modes in the comment.
-
-2017-07-03  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/69468
-	* tree-ssa-tail-merge.c (ignore_edge_flags): New constant.
-	(find_same_succ_bb): Handle ignore_edge_flags.
-
-2017-07-03  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/81192
-	* tree-ssa-tail-merge.c (same_succ_hash): Use bb->loop_father->num in
-	hash.
-	(same_succ::equal): Don't find bbs to be equal if bb->loop_father
-	differs.
-	(find_same_succ_bb): Remove obsolete test on bb->loop_father->latch.
-
-2017-07-03  Tom de Vries  <tom@codesourcery.com>
-
-	PR tree-optimization/81192
-	* tree-ssa-tail-merge.c (same_succ_flush_bb): Handle
-	BB_SAME_SUCC (bb) == NULL.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgrtl.c (rtl_verify_edges): Enable checking of profile_probability
-	consistency.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* dumpfile.c: Include profile-count.h
-	* tree-cfg.c (gimple_duplicate_sese_tail): Drop UNUSED attributes;
-	update profile.
-	(insert_cond_bb): Update profile.
-	* tree-cfg.h (insert_cond_bb): Update prototype.
-	* tree-chkp-opt.c (chkp_optimize_string_function_calls): Update.
-	* tree-dump.c: Do not include tree-cfg.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* bb-reorder.c (fix_up_crossing_landing_pad): Update profile.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* expect.c (dw2_build_landing_pads): Update profile of the landing pad
-	bb.
-
-2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-complex.c (expand_complex_div_wide): update profile.
-
-2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* Makefile.in (MACHMODE_H): Remove insn-modes.h
-	(CORETYPES_H): New define.
-	(MOSTLYCLEANFILES): Add insn-modes-inline.h.
-	(insn-modes-inline.h, s-modes-inline-h): New rules.
-	(generated_files): Add insn-modes-inline.h.
-	(RTL_BASE_H, TREE_CORE_H): Use CORETYPES_H instead of coretypes.h.
-	(build/gensupport.o, build/ggc-none.o, build/print-rtl.o): Likewise.
-	(build/read-md.o, build/read-rtl.o, build/rtl.o): Likewise.
-	(build/vec.o, build/hash-table.o, build/inchash.o): Likewise.
-	(build/gencondmd.o, build/genattr.o, build/genattr-common.o): Likewise.
-	(build/genattrtab.o, build/genautomata.o, build/gencheck.o): Likewise.
-	(build/gencodes.o, build/genconditions.o): Likewise.
-	(build/genconfig.o, build/genconstants.o, build/genemit.o): Likewise.
-	(build/genenums.o, build/genextract.o, build/genflags.o): Likewise.
-	(build/gentarget-def.o, build/genmddeps.o, build/genopinit.o)
-	(build/genoutput.o, build/genpeep.o, build/genpreds.o): Likewise.
-	(build/genrecog.o, build/genmddump.o, build/genmatch.o): Likewise.
-	(build/gencfn-macros.o, build/gcov-iov.o): Likewise.
-	* coretypes.h: Include everything up to real.h for generators.
-	Include insn-modes.h first.  Include wide-int-print.h after
-	wide-int.h.  Include insn-modes-inline.h and then machmode.h.
-	* machmode.h: Don't include insn-modes.h here.
-	* function-tests.c: Remove includes of signop.h, machmode.h,
-	double-int.h and wide-int.h.
-	* rtl.h: Likewise.
-	* gcc-rich-location.c: Remove includes of machmode.h, double-int.h
-	and wide-int.h.
-	* optc-save-gen.awk: Likewise.
-	* gencheck.c (BITS_PER_UNIT): Delete dummy definition.
-	* godump.c: Remove include of wide-int-print.h.
-	* pretty-print.h: Likewise.
-	* wide-int-print.cc: Likewise.
-	* wide-int.cc: Likewise.
-	* hash-map-tests.c: Remove include of signop.h.
-	* hash-set-tests.c: Likewise.
-	* rtl-tests.c: Likewise.
-	* mkconfig.sh: Remove include of machmode.h.
-	* genmodes.c (emit_insn_modes_h): Split emission of inline functions
-	into...
-	(emit_insn_modes_inline_h): ...this new function.  Emit the code
-	into an insn-modes-inline.h header file, adding appropriate
-	include guards and end comments.
-	(emit_insn_modes_c_header): Remove include of machmode.h.
-	(emit_min_insn_modes_c_header): Include coretypes.h rather than
-	machmode.h.
-	(main): Handle -i flag and call emit_insn_modes_inline_h when
-	it is passed.
-
-2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-ssa-strlen.c (strinfo): Rename the length field to
-	nonzero_chars.  Add a full_string_p field.
-	(compare_nonzero_chars, zero_length_string_p): New functions.
-	(get_addr_stridx): Add an offset_out parameter.
-	Use compare_nonzero_chars.
-	(get_stridx): Update accordingly.  Use compare_nonzero_chars.
-	(new_strinfo): Update after above changes to strinfo.
-	(set_endptr_and_length): Set full_string_p.
-	(get_string_length): Update after above changes to strinfo.
-	(unshare_strinfo): Update call to new_strinfo.
-	(maybe_invalidate): Likewise.
-	(get_stridx_plus_constant): Change off to unsigned HOST_WIDE_INT.
-	Use compare_nonzero_chars and zero_string_p.  Treat nonzero_chars
-	as a uhwi instead of an shwi.  Update after above changes to
-	strinfo and new_strinfo.
-	(zero_length_string): Assert that chainsi contains full strings.
-	Use zero_length_string_p.  Update call to new_strinfo.
-	(adjust_related_strinfos): Update after above changes to strinfo.
-	Copy full_string_p from origsi.
-	(adjust_last_stmt): Use zero_length_string_p.
-	(handle_builtin_strlen): Update after above changes to strinfo and
-	new_strinfo.  Install the lhs as the string length if the previous
-	entry didn't describe a full string.
-	(handle_builtin_strchr): Update after above changes to strinfo
-	and new_strinfo.
-	(handle_builtin_strcpy): Likewise.
-	(handle_builtin_strcat): Likewise.
-	(handle_builtin_malloc): Likewise.
-	(handle_pointer_plus): Likewise.
-	(handle_builtin_memcpy): Likewise.  Track nonzero characters
-	that aren't necessarily followed by a nul terminator.
-	(handle_char_store): Likewise.
-
-2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/80769
-	* tree-ssa-strlen.c (strinfo): Document that "stmt" is also used
-	for malloc and calloc.  Document the new invariant that all related
-	strinfos have delayed lengths or none do.
-	(verify_related_strinfos): Move earlier in file.
-	(set_endptr_and_length): New function, split out from...
-	(get_string_length): ...here.  Also set the lengths of related
-	strinfos.
-	(zero_length_string): Assert that chainsi has known (rather than
-	delayed) lengths.
-	(adjust_related_strinfos): Likewise.
-
-2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR tree-optimization/81136
-	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Only
-	assert that two references with the same misalignment have the same
-	compile-time misalignment if those compile-time misalignments
-	are known.
-
-2017-07-01  Andi Kleen  <ak@linux.intel.com>
-
-	* print-tree.c (print_node): Print all attributes.
-
-2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfg.c (scale_bbs_frequencies): New function.
-	* cfg.h (scale_bbs_frequencies): Declare it.
-	* cfgloopanal.c (single_likely_exit): Cleanup.
-	* cfgloopmanip.c (scale_loop_frequencies): Take profile_probability
-	as parameter.
-	(scale_loop_profile): Likewise.
-	(loop_version): Likewise.
-	(create_empty_loop_on_edge): Update.
-	* cfgloopmanip.h (scale_loop_frequencies, scale_loop_profile,
-	scale_loop_frequencies, scale_loop_profile, loopify,
-	loop_version): Update prototypes.
-	* modulo-sched.c (sms_schedule): Update.
-	* predict.c (unlikely_executed_edge_p): Also check probability.
-	(probably_never_executed_edge_p): Fix typo.
-	* tree-if-conv.c (version_loop_for_if_conversion): Update.
-	* tree-parloops.c (gen_parallel_loop): Update.
-	* tree-ssa-loop-ivcanon.c (try_peel_loop): Update.
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
-	* tree-ssa-loop-split.c (split_loop): Update.
-	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Update.
-	* tree-vect-loop-manip.c (vect_do_peeling): Update.
-	(vect_loop_versioning): Update.
-	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
-
-2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* trans-mem.c (split_bb_make_tm_edge): Update profile.
-
-2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-if-conv.c (combine_blocks): Use make_single_succ_edge
-	to keep profile consistent.
-
-2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgrtl.c (rtl_flow_call_edges_add): Update profile.
-	* tree-cfg.c (gimple_flow_call_edges_add): Likewise.
-	* profile-count.h (max_safe_multiplier): Make unsigned.
-	(profile_count::guessed_zero): New.
-
-2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* bb-reorder.c (fix_up_crossing_landing_pad,
-	fix_crossing_conditional_branches): Use make_single_succ_edge
-	to keep profile consistent.
-
-2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-vect-loop.c (optimize_mask_stores): Use make_single_succ_edge
-	to update profile.
-
-2017-07-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81262
-	* bb-reorder.c (fix_up_fall_thru_edges): Move variable declarations to
-	the right scopes, make sure cond_jump isn't preserved between multiple
-	iterations.  Search for fallthru edge whenever there are 3+ edges and
-	use find_fallthru_edge for it.
-
-2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
-
-	Patch by Alexander Monakov <amonakov@ispras.ru>
-	* sel-sched-ir.c (compute_succs_info): Handle uninitialized
-	probabilities consistently.
-
-2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
-
-	* pa.c (pa_expand_compare_and_swap_loop): Update call of
-	emit_cmp_and_jump_insns.
-
-2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/81261
-	* tree-inline.c (expand_call_inline): Combine profile statuses.
-
-2017-06-30  Andrew Pinski  <apinski@cavium.com>
-
-	* tree-if-conv.c (predicate_scalar_phi): Update new_stmt if
-	fold_stmt returned true.
-
-2017-06-30  Nathan Sidwell  <nathan@acm.org>
-
-	* ggc.h (empty_string): Delete.
-	* cfgexpand.c (expand_asm_stmt): Use plain "".
-	* optabs.c (expand_asm_memory_barrier): Likewise.
-	* stringpool.c (empty_string): Delete.
-	(digit_vector, digit_string): Delete.
-	(ggc_alloc_string): Use plain "", don't optimize single digit
-	strings.  Use ggc_alloc_atomic.
-
-2017-06-30  Richard Earnshaw  <rearnsha@arm.com>
-
-	* rtlanal.c (insn_rtx_cost): If a parallel contains exactly one
-	comparison set and one other set, use the cost of the non-comparison
-	set.
-
-2017-06-30  Nathan Sidwell  <nathan@acm.org>
-
-	* ggc.h: Replace all 'static inline' with plain 'inline'.  Fix
-	some formatting.
-
-2017-06-30  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* tree-cfg.c (group_case_labels_stmt): Merge scanning and compressing
-	loops.  Remove now unneeded calls to gimple_switch_set_label() that
-	just set removed labels to NULL_TREE.
-
-2017-06-30  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-ssanames.c (set_range_info_raw): Abstract from ...
-	(set_range_info): ...here.  Only call set_range_info_raw if domain
-	is useful.
-	(set_nonzero_bits): Call set_range_info_raw.
-	* tree-ssanames.h (set_range_info_raw): New.
-
-2017-06-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81225
-	* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For V8FI,
-	V16FI and VI8F_256 iterators, use <store_mask_predicate> instead
-	of nonimmediate_operand and <store_mask_constraint> instead of m
-	for the input operand.  For V8FI iterator, always split if input
-	is a MEM.  For V16FI and V8SF_256 iterators, don't test if both
-	operands are MEM if <mask_applied>.  For VI4F_256 iterator, use
-	<store_mask_predicate> instead of register_operand and
-	<store_mask_constraint> instead of v for the input operand.  Make
-	sure both operands aren't MEMs for if not <mask_applied>.
-
-2017-06-30  Sylvestre Ledru  <sylvestre@debian.org>
-
-	* lto-wrapper.c (copy_file) Close both file descriptors before
-	exiting normally.
-
-2017-06-30  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/81214
-	* multiple_target.c (create_dispatcher_calls): Make ifunc
-	also for function that don't have calls or are not referenced.
-
-2017-06-30  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_slp_analyze_node_operations): Only
-	analyze the first scalar stmt.  Move vector type computation
-	for the BB case here from ...
-	* tree-vect-stmts.c (vect_analyze_stmt): ... here.  Guard
-	live operation processing in the SLP case properly.
-
-2017-06-30  Richard Biener  <rguenther@suse.de>
-
-	* graph.c (draw_cfg_node_succ_edges): Fix broken dot syntax.
-
-2017-06-30  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/81021
-	* tree-eh.c (lower_resx): Call BUILT_IN_ASAN_HANDLE_NO_RETURN
-	before BUILT_IN_UNWIND_RESUME when ASAN is used.
-
-2017-06-30  Yvan Roux  <yvan.roux@linaro.org>
-
-	* doc/invoke.texi (AArch64): Add missing options and remove redundant
-	ones.
-
-2017-06-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81249
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Convert
-	condition reduction result to original scalar type.
-
-2017-06-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* profile-count.h (enum profile_quality): Fix typos and whitespace
-	issues.
-
-2017-06-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_setmem): Adjust to the new data
-	type for branch probabilities.
-
-2017-06-29  Julian Brown  <julian@codesourcery.com>
-	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/aarch64-fusion-pairs.def: Add ALU_BRANCH entry.
-	* config/aarch64/aarch64.c (AARCH64_FUSE_ALU_BRANCH): New fusion type.
-	(thunderx2t99_tunings): Set AARCH64_FUSE_ALU_BRANCH flag.
-	(aarch_macro_fusion_pair_p): Add support for AARCH64_FUSE_ALU_BRANCH.
-
-2017-06-29  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Push the
-	check for CC usage into AARCH64_FUSE_CMP_BRANCH.
-	* config/i386/i386.c (ix86_macro_fusion_pair_p): Push the check for
-	CC usage from generic code to here.
-	* sched-deps.c (sched_macro_fuse_insns): Move the condition for
-	CC usage into the target macros.
-
-2017-06-29  Maya Rashish  <coypu@sdf.org>
-
-	* config/netbsd.h (NETBSD_LIB_SPEC): Add -lc when creating shared
-	objects.
-
-2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
-
-	* arm/arm-builtins.c: Include profile-count.h
-	* except.c (sjlj_emit_function_enter): Use
-	profile_probability::unlikely.
-
-2017-06-29  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (toc_relative_expr_p): Make tocrel_base
-	and tocrel_offset be pointer args rather than implicitly using
-	static versions.
-	(legitimate_constant_pool_address_p, rs6000_emit_move,
-	const_load_sequence_p, adjust_vperm): Add local tocrel_base and
-	tocrel_offset and use in toc_relative_expr_p call.
-	(print_operand, print_operand_address): Use static tocrel_base_oac
-	and tocrel_offset_oac.
-	(rs6000_output_addr_const_extra): Use static tocrel_base_oac and
-	tocrel_offset_oac.
-
-2017-06-29  Maya Rashish  <coypu@sdf.org>
-
-	* config/vax/builtins.md (ffssi2_internal): Correct constraint.
-
-2017-06-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* expr.c (expand_expr) <normal_inner_ref>: When testing for unaligned
-	objects, take into account only the alignment of 'op0' and 'mode1' if
-	'op0' is a MEM.
-
-2017-06-29  Steve Ellcey  <sellcey@cavium.com>
-
-	* ccmp.c (ccmp_tree_comparison_p): New function.
-	(ccmp_candidate_p): Update to use above function.
-	(get_compare_parts): New function.
-	(expand_ccmp_next): Update to use new functions.
-	(expand_ccmp_expr_1): Take tree arg instead of gimple, update to use
-	new functions.
-	(expand_ccmp_expr): Pass tree instead of gimple to expand_ccmp_expr_1,
-	take mode as argument.
-	* ccmp.h (expand_ccmp_expr): Add mode as argument.
-	* expr.c (expand_expr_real_1): Pass mode as argument.
-
-2017-06-29  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* combine.c (combine_instructions): Print insns to dump_file, together
-	with their costs.
-
-2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
-
-	* asan.c (asan_emit_stack_protection): Update.
-	(create_cond_insert_point): Update.
-	* auto-profile.c (afdo_propagate_circuit): Update.
-	* basic-block.h (struct edge_def): Turn probability to
-	profile_probability.
-	(EDGE_FREQUENCY): Update.
-	* bb-reorder.c (find_traces_1_round): Update.
-	(better_edge_p): Update.
-	(sanitize_hot_paths): Update.
-	* cfg.c (unchecked_make_edge): Initialize probability to uninitialized.
-	(make_single_succ_edge): Update.
-	(check_bb_profile): Update.
-	(dump_edge_info): Update.
-	(update_bb_profile_for_threading): Update.
-	* cfganal.c (connect_infinite_loops_to_exit): Initialize new edge
-	probabilitycount to 0.
-	* cfgbuild.c (compute_outgoing_frequencies): Update.
-	* cfgcleanup.c (try_forward_edges): Update.
-	(outgoing_edges_match): Update.
-	(try_crossjump_to_edge): Update.
-	* cfgexpand.c (expand_gimple_cond): Update make_single_succ_edge.
-	(expand_gimple_tailcall): Update.
-	(construct_init_block): Use make_single_succ_edge.
-	(construct_exit_block): Use make_single_succ_edge.
-	* cfghooks.c (verify_flow_info): Update.
-	(redirect_edge_succ_nodup): Update.
-	(split_edge): Update.
-	(account_profile_record): Update.
-	* cfgloopanal.c (single_likely_exit): Update.
-	* cfgloopmanip.c (scale_loop_profile): Update.
-	(set_zero_probability): Remove.
-	(duplicate_loop_to_header_edge): Update.
-	* cfgloopmanip.h (loop_version): Update prototype.
-	* cfgrtl.c (try_redirect_by_replacing_jump): Update.
-	(force_nonfallthru_and_redirect): Update.
-	(update_br_prob_note): Update.
-	(rtl_verify_edges): Update.
-	(purge_dead_edges): Update.
-	(rtl_lv_add_condition_to_bb): Update.
-	* cgraph.c: (cgraph_edge::redirect_call_stmt_to_calle): Update.
-	* cgraphunit.c (init_lowered_empty_function): Update.
-	(cgraph_node::expand_thunk): Update.
-	* cilk-common.c: Include profile-count.h
-	* dojump.c (inv): Remove.
-	(jumpifnot): Update.
-	(jumpifnot_1): Update.
-	(do_jump_1): Update.
-	(do_jump): Update.
-	(do_jump_by_parts_greater_rtx): Update.
-	(do_compare_rtx_and_jump): Update.
-	* dojump.h (jumpifnot, jumpifnot_1, jumpif_1, jumpif, do_jump,
-	do_jump_1. do_compare_rtx_and_jump): Update prototype.
-	* dwarf2cfi.c: Include profile-count.h
-	* except.c (dw2_build_landing_pads): Use make_single_succ_edge.
-	(sjlj_emit_dispatch_table): Likewise.
-	* explow.c: Include profile-count.h
-	* expmed.c (emit_store_flag_force): Update.
-	(do_cmp_and_jump): Update.
-	* expr.c (compare_by_pieces_d::generate): Update.
-	(compare_by_pieces_d::finish_mode): Update.
-	(emit_block_move_via_loop): Update.
-	(store_expr_with_bounds): Update.
-	(store_constructor): Update.
-	(expand_expr_real_2): Update.
-	(expand_expr_real_1): Update.
-	* expr.h (try_casesi, try_tablejump): Update prototypes.
-	* gimple-pretty-print.c (dump_probability): Update.
-	(dump_profile): New.
-	(dump_gimple_label): Update.
-	(dump_gimple_bb_header): Update.
-	* graph.c (draw_cfg_node_succ_edges): Update.
-	* hsa-gen.c (convert_switch_statements): Update.
-	* ifcvt.c (cheap_bb_rtx_cost_p): Update.
-	(find_if_case_1): Update.
-	(find_if_case_2): Update.
-	* internal-fn.c (expand_arith_overflow_result_store): Update.
-	(expand_addsub_overflow): Update.
-	(expand_neg_overflow): Update.
-	(expand_mul_overflow): Update.
-	(expand_vector_ubsan_overflow): Update.
-	* ipa-cp.c (good_cloning_opportunity_p): Update.
-	* ipa-split.c (split_function): Use make_single_succ_edge.
-	* ipa-utils.c (ipa_merge_profiles): Update.
-	* loop-doloop.c (add_test): Update.
-	(doloop_modify): Update.
-	* loop-unroll.c (compare_and_jump_seq): Update.
-	(unroll_loop_runtime_iterations): Update.
-	* lra-constraints.c (lra_inheritance): Update.
-	* lto-streamer-in.c (input_cfg): Update.
-	* lto-streamer-out.c (output_cfg): Update.
-	* mcf.c (adjust_cfg_counts): Update.
-	* modulo-sched.c (sms_schedule): Update.
-	* omp-expand.c (expand_omp_for_init_counts): Update.
-	(extract_omp_for_update_vars): Update.
-	(expand_omp_ordered_sink): Update.
-	(expand_omp_for_ordered_loops): Update.
-	(expand_omp_for_generic): Update.
-	(expand_omp_for_static_nochunk): Update.
-	(expand_omp_for_static_chunk): Update.
-	(expand_cilk_for): Update.
-	(expand_omp_simd): Update.
-	(expand_omp_taskloop_for_outer): Update.
-	(expand_omp_taskloop_for_inner): Update.
-	* omp-simd-clone.c (simd_clone_adjust): Update.
-	* optabs.c (expand_doubleword_shift): Update.
-	(expand_abs): Update.
-	(emit_cmp_and_jump_insn_1): Update.
-	(expand_compare_and_swap_loop): Update.
-	* optabs.h (emit_cmp_and_jump_insns): Update prototype.
-	* predict.c (predictable_edge_p): Update.
-	(edge_probability_reliable_p): Update.
-	(set_even_probabilities): Update.
-	(combine_predictions_for_insn): Update.
-	(combine_predictions_for_bb): Update.
-	(propagate_freq): Update.
-	(estimate_bb_frequencies): Update.
-	(force_edge_cold): Update.
-	* profile-count.c (profile_count::dump): Add missing space into dump.
-	(profile_count::debug): Add newline.
-	(profile_count::differs_from_p): Explicitly convert to unsigned.
-	(profile_count::stream_in): Update.
-	(profile_probability::dump): New member function.
-	(profile_probability::debug): New member function.
-	(profile_probability::differs_from_p): New member function.
-	(profile_probability::differs_lot_from_p): New member function.
-	(profile_probability::stream_in): New member function.
-	(profile_probability::stream_out): New member function.
-	* profile-count.h (profile_count_quality): Rename to ...
-	(profile_quality): ... this one.
-	(profile_probability): New.
-	(profile_count): Update.
-	* profile.c (compute_branch_probabilities): Update.
-	* recog.c (peep2_attempt): Update.
-	* sched-ebb.c (schedule_ebbs): Update.
-	* sched-rgn.c (find_single_block_region): Update.
-	(compute_dom_prob_ps): Update.
-	(schedule_region): Update.
-	* sel-sched-ir.c (compute_succs_info): Update.
-	* stmt.c (struct case_node): Update.
-	(do_jump_if_equal): Update.
-	(get_outgoing_edge_probs): Update.
-	(conditional_probability): Update.
-	(emit_case_dispatch_table): Update.
-	(expand_case): Update.
-	(expand_sjlj_dispatch_table): Update.
-	(emit_case_nodes): Update.
-	* targhooks.c: Update.
-	* tracer.c (better_p): Update.
-	(find_best_successor): Update.
-	* trans-mem.c (expand_transaction): Update.
-	* tree-call-cdce.c: Update.
-	* tree-cfg.c (gimple_split_edge): Upate.
-	(move_sese_region_to_fn): Upate.
-	* tree-cfgcleanup.c (cleanup_control_expr_graph): Upate.
-	* tree-eh.c (lower_resx): Upate.
-	(cleanup_empty_eh_move_lp): Upate.
-	* tree-if-conv.c (version_loop_for_if_conversion): Update.
-	* tree-inline.c (copy_edges_for_bb): Update.
-	(copy_cfg_body): Update.
-	* tree-parloops.c (gen_parallel_loop): Update.
-	* tree-profile.c (gimple_gen_ic_func_profiler): Update.
-	(gimple_gen_time_profiler): Update.
-	* tree-ssa-dce.c (remove_dead_stmt): Update.
-	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
-	* tree-ssa-loop-im.c (execute_sm_if_changed): Update.
-	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update.
-	(unloop_loops): Update.
-	(try_peel_loop): Update.
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
-	* tree-ssa-loop-split.c (connect_loops): Update.
-	(split_loop): Update.
-	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Update.
-	(hoist_guard): Update.
-	* tree-ssa-phionlycprop.c (propagate_rhs_into_lhs): Update.
-	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update.
-	(value_replacement): Update.
-	* tree-ssa-reassoc.c (branch_fixup): Update.
-	* tree-ssa-tail-merge.c (replace_block_by): Update.
-	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Update.
-	(create_edge_and_update_destination_phis): Update.
-	(compute_path_counts): Update.
-	(recompute_probabilities): Update.
-	(update_joiner_offpath_counts): Update.
-	(freqs_to_counts_path): Update.
-	(duplicate_thread_path): Update.
-	* tree-switch-conversion.c (hoist_edge_and_branch_if_true): Update.
-	(struct switch_conv_info): Update.
-	(gen_inbound_check): Update.
-	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
-	(vect_do_peeling): Update.
-	(vect_loop_versioning): Update.
-	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
-	(optimize_mask_stores): Update.
-	* ubsan.c (ubsan_expand_null_ifn): Update.
-	* value-prof.c (gimple_divmod_fixed_value): Update.
-	(gimple_divmod_fixed_value_transform): Update.
-	(gimple_mod_pow2): Update.
-	(gimple_mod_pow2_value_transform): Update.
-	(gimple_mod_subtract): Update.
-	(gimple_mod_subtract_transform): Update.
-	(gimple_ic): Update.
-	(gimple_stringop_fixed_value): Update.
-	(gimple_stringops_transform): Update.
-	* value-prof.h: Update.
-
-2017-06-29  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c: Add support for built-in functions
-	vector signed int vec_signed (vector float);
-	vector signed long long vec_signed (vector double);
-	vector signed int vec_signed2 (vector double, vector double);
-	vector signed int vec_signede (vector double);
-	vector signed int vec_signedo (vector double);
-	* config/rs6000/rs6000.c (rs6000_generate_vsigned2_code): Add
-	instruction generator.
-	* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPSXWS, UNSPEC_VSX_XVCVSPSXDS,
-	UNSPEC_VSX_VSIGNED2): Add UNSPECS.
-	(vsx_xvcvspsxws, vsx_xvcvdpuxds_scale, vsx_xvcvspuxws, vsigned2_v2df):
-	Add define_insn.
-	(vsignedo_v2df, vsignede_v2df, vunsigned2_v2df, vunsignedo_v2df,
-	vunsignede_v2df): Add define_expands.
-	* config/rs6000/rs6000-builtin.def (VEC_SIGNED, VEC_UNSIGNED,
-	VEC_SIGNED2, VEC_UNSIGNED2, VEC_SIGNEDE, VEC_UNSIGNEDE, VEC_SIGNEDO,
-	VEC_UNSIGNEDO): Add definitions.
-	* config/vsx.md (UNSPEC_VSX_XVCVSPSXWS, UNSPEC_VSX_XVCVSPSXDS,
-	UNSPEC_VSX_VSIGNED2): Add UNSPECs.
-	(vsx_xvcvspsxws, vsx_xvcvspuxws): Add define_insn.
-	(vsigned2_v2df, vsigendo_v2df, vsignede_v2df,
-	vunsigned2_v2df, vunsignedo_v2df, vunsignede_v2df): Add define_expands.
-	* config/rs6000/altivec.h (vec_signed, vec_signed2,
-	vec_signede and vec_signedo, vec_unsigned, vec_unsigned2,
-	vec_unsignede, vec_unsignedo): Add builtin defines.
-	* config/rs6000-protos.h (rs6000_generate_vsigned2_code): Add extern
-	declaration.
-	* doc/extend.texi: Update the built-in documentation file for the
-	new built-in functions.
-
-2017-06-29  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Do not add
-	reduction chains to LOOP_VINFO_REDUCTIONS.
-	* tree-vect-slp.c (vect_analyze_slp): Continue looking for
-	SLP reductions after processing reduction chains.
-
-2017-06-29  Nathan Sidwell  <nathan@acm.org>
-
-	* builtins.c (fold_builtin_FUNCTION): Use
-	lang_hooks.decl_printable_name.
-
-2017-06-29  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR middle-end/81194
-	* cfgexpand.c (expand_gimple_stmt_1): Handle switch statements
-	with only one label.
-	* stmt.c (expand_case): Assert NCASES is greater than one.
-
-2017-06-29  Richard Biener  <rguenther@suse.de>
-
-	* tree-cfg.c (group_case_labels_stmt): Return whether we changed
-	anything.
-	(group_case_labels): Likewise.
-	(find_taken_edge): Push sanity checking on val to workers...
-	(find_taken_edge_cond_expr): ... here
-	(find_taken_edge_switch_expr): ... and here, handle cases
-	with just a default label.
-	* tree-cfg.h (group_case_labels_stmt): Adjust prototype.
-	(group_case_labels): Likewise.
-	* tree-cfgcleanup.c (execute_cleanup_cfg_post_optimizing): When
-	group_case_labels does anything cleanup the CFG again.
-
-2017-06-29  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/81196
-	* tree-ssa-loop-niter.c (number_of_iterations_cond): Handle loop
-	exit condition comparing two IVs.
-
-2017-06-29  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/parsecpu.awk (gen_comm_data): Add initializer for
-	profile to the dummy entry at the end of the list of architectures.
-	* config/arm/arm-cpu-cdata.h: Regenerated.
-
-2017-06-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-	    Michael Collison <michael.collison@arm.com>
-
-	PR target/70119
-	* config/aarch64/aarch64.md (*aarch64_<optab>_reg_<mode>3_mask1):
-	New pattern.
-	(*aarch64_reg_<mode>3_neg_mask2): New pattern.
-	(*aarch64_reg_<mode>3_minus_mask): New pattern.
-	(*aarch64_<optab>_reg_di3_mask2): New pattern.
-	* config/aarch64/aarch64.c (aarch64_rtx_costs): Account for cost
-	of shift when the shift amount is masked with constant equal to
-	the size of the mode.
-	* config/aarch64/predicates.md (subreg_lowpart_operator): New
-	predicate.
-
-2017-06-29  Martin Liska  <mliska@suse.cz>
-
-	* config/i386/i386.opt: Change range from [1,5] to [0,5].
-
-2017-06-29  Yury Gribov  <tetra2005@gmail.com>
-
-	PR bootstrap/80565
-	* ipa-cp.c (allocate_and_init_ipcp_value): Add initialization
-	code.
-	* ipa-inline.h
-	(edge_growth_cache_entry::edge_growth_cache_entry): New
-	function.
-	(reset_edge_growth_cache): Update to use constructor.
-
-2017-06-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* config/aarch64/aarch64.h (AARCH64_EXPAND_ALIGNMENT): New.
-	(DATA_ALIGNMENT): Update to use AARCH64_EXPAND_ALIGNMENT.
-	(LOCAL_ALIGNMENT): Update to use AARCH64_EXPAND_ALIGNMENT.
-
-2017-06-28  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64)
-	(_mm256_permutexvar_epi32, _mm256_permutex_epi64): New intrinsics.
-
-2017-06-28  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* config.gcc (*-linux-musl*): Add t-musl tmake_file.
-	(*-linux-uclibc*): Add t-uclibc tmake_file.
-	* config/t-musl: New.
-	* config/t-uclibc: New.
-
-2017-06-28  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/parsecpu.awk (profile): Parse new keyword in an arch
-	context.
-	(gen_comm_data): Emit architectural setting of arch_prof.
-	* config/arm/arm-cpus.in (armv6-m, armv6s-m, armv7-a, armv7ve): Set the
-	profile.
-	(armv7-r, armv7-m, armv7e-m, armv8-a, armv8.1-a, armv8.2-a): Likewise.
-	(armv8-m.base, armv8-m.main): Likewise.
-	* arm-protos.h (arm_build_target): Add profile field.
-	(arch_option): Likewise.
-	* config/arm/arm.c (arm_configure_build_target): Copy the profile to
-	the active target.
-	* config/arm/arm.h (TARGET_ARM_ARCH_PROFILE): Use
-	arm_active_target.profile.
-
-2017-06-28  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81227
-	* fold-const.c (negate_expr_p): Use TYPE_UNSIGNED, not
-	TYPE_OVERFLOW_WRAPS.
-	* match.pd (negate_expr_p): Likewise.
-	* tree-ssa-reassoc.c (optimize_range_tests_diff): Use
-	fold_build2, not fold_binary.
-
-2017-06-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64 (aarch64_expand_mov_immediate):
-	Convert memory address to Pmode.
-	(aarch64_print_operand): Assert MEM operands are always Pmode.
-
-2017-06-28  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/79665
-	* config/arm/aarch-common.c (arm_no_early_alu_shift_dep):
-	Remove redundant if.
-	(aarch_forward_to_shift_is_not_shifted_reg): Remove.
-	* config/arm/aarch-common-protos.h
-	(aarch_forward_to_shift_is_not_shifted_re): Remove.
-	* config/arm/cortex-a53.md: Use arm_no_early_alu_shift_dep in bypass.
-
-2017-06-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR ipa/81238
-	* multiple_target.c (create_dispatcher_calls): Set the default
-	clone to be static, not public.
-
-2017-06-28  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vectorizable_reduction): Move special
-	cond reduction IV var creation ...
-	(vect_create_epilog_for_reduction): ... here.  Remove induction_index
-	parameter.  Use STMT_VINFO_VECTYPE.
-	* tree-vect-slp.c (vect_get_constant_vectors): Properly reset
-	constant_p.
-
-2017-06-28  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/81128
-	* ipa-visibility.c (non_local_p): Handle visibility.
-
-2017-06-28  Martin Liska  <mliska@suse.cz>
-
-	PR driver/79659
-	* common.opt: Add IntegerRange to various options.
-	* opt-functions.awk (integer_range_info): New function.
-	* optc-gen.awk: Add integer_range_info to cl_options struct.
-	* opts-common.c (decode_cmdline_option): Handle
-	CL_ERR_INT_RANGE_ARG.
-	(cmdline_handle_error): Likewise.
-	* opts.c (print_filtered_help): Show valid interval in
-	when --help is provided.
-	* opts.h (struct cl_option): Add range_min and range_max fields.
-	* config/i386/i386.opt: Add IntegerRange for -mbranch-cost.
-
-2017-06-28  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd ((X & ~Y) | (~X & Y)): Generalize to + and ^.
-	(x * C EQ/NE y * C): New transformation.
-
-2017-06-28  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* genmultilib (combination_space): Accept '+' in option names.
-
-2017-06-28  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/81224
-	* asan.c (instrument_derefs): Bail out inner references
-	that are hard register variables.
-
-2017-06-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81175
-	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use def_builtin
-	rather than def_builtin_pure for __builtin_ia32_gatherpf*.
-
-2017-06-28  Richard Biener  <rguenther@suse.de>
-
-	* tree-vectorizer.h (vect_get_vec_defs): Remove.
-	(vect_get_slp_defs): Adjust.
-	* tree-vect-loop.c (get_initial_defs_for_reduction): Split
-	out from ...
-	* tree-vect-slp.c (vect_get_constant_vectors): ... here and
-	simplify.
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Use
-	get_initial_defs_for_reduction instead of vect_get_vec_defs.
-	(vectorizable_reduction): Adjust.
-	* tree-vect-slp.c (vect_get_constant_vectors): Remove reduction
-	handling.
-	(vect_get_slp_defs): Likewise.
-	* tree-vect-stmts.c (vect_get_vec_defs): Make static and adjust.
-	(vectorizable_bswap): Adjust.
-	(vectorizable_call): Likewise.
-	(vectorizable_conversion): Likewise.
-	(vectorizable_assignment): Likewise.
-	(vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_store): Likewise.
-	(vectorizable_condition): Likewise.
-	(vectorizable_comparison): Likewise.
-
-2017-06-28  Michael Collison  <michael.collison@arm.com>
-
-	PR target/68535
-	* config/arm/arm.c (gen_ldm_seq): Remove last unnecessary
-	set of base_reg
-	(arm_gen_movmemqi): Removed unused variable 'i'.
-	Convert 'for' loop into 'while' loop.
-	(arm_expand_prologue): Remove last unnecessary set of insn.
-	(thumb_pop): Remove unused variable 'pushed_words'.
-	(thumb_exit): Remove last unnecessary set of regs_to_pop.
-
-2017-06-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/predicates.md: Use s390_rel_address_ok_p.
-	* config/s390/s390-protos.h: Add prototype of
-	s390_rel_address_ok_p.
-	* config/s390/s390.c (s390_got_symbol): New function.
-	(s390_rel_address_ok_p): New function.
-	(legitimize_pic_address): Use s390_rel_address_ok_p.
-	(s390_load_got): Use s390_got_symbol.
-	(s390_option_override): Issue error if
-	-mno-pic-data-is-text-relative is used without -fpic/-fPIC.
-	* config/s390/s390.h (TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE):
-	New macro.
-	* config/s390/s390.opt: New option mpic-data-is-text-relative.
-
-2017-06-27  Andrew Pinski  <apinski@cavium.com>
-
-	* match.pd (X >/>=/</<= 0 ? 1.0 : -1.0): New patterns.
-	(X * copysign (1.0, X)): New pattern.
-	(X * copysign (1.0, -X)): New pattern.
-	(copysign (-1.0, CST)): New pattern.
-
-2017-06-27  Joseph Myers  <joseph@codesourcery.com>
-
-	* genmultilib (combination_space): Remove variable.
-	Validate reuse rules against regular expression for any sequence
-	of multilib options in any order.
-
-2017-06-27  Michael Collison  <michael.collison@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_combine<mode>): Directly
-	call aarch64_split_simd_combine.
-	* (aarch64_combine_internal<mode>): Delete pattern.
-	* config/aarch64/aarch64.c (aarch64_split_simd_combine):
-	Allow register and subreg operands.
-
-2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
-
-	* config/i386/vxworks.h (ASM_SPEC): Remove definition. No target
-	specific need, just fallback on defaults.
-	(ASM_OUTPUT_ALIGNED_BSS): Add #undef before #define.
-
-2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
-	    Olivier Hainque  <hainque@adacore.com>
-
-	* config/i386/vxworks.h (DBX_REGISTER_NUMBER): Pick distinct
-	map for 64bits.
-	(TARGET_OS_CPP_BUILTINS): builtin_define CPU to X86_64 for 64bit
-	targets. Pick a default if no particular attempt applied.
-	(STACK_CHECK_PROTECT): Double for 64bit targets, which have
-	larger contexts.
-
-2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
-
-	* config.gcc (i*86-wrs-vxworks7): Handle new acceptable triplet.
-	(x86_64-wrs-vxworks7): Likewise.
-
-2017-06-27  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/81223
-	* ubsan.c (instrument_null): Check get_base_address's result for null.
-
-2017-06-27  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd ((A+-B)+(C-A), (A+B)-(A-C)): New transformations.
-
-2017-06-27  Marc Glisse  <marc.glisse@inria.fr>
-
-	* builtin-types.def (BT_FENV_T_PTR, BT_CONST_FENV_T_PTR,
-	BT_FEXCEPT_T_PTR, BT_CONST_FEXCEPT_T_PTR): New primitive types.
-	(BT_FN_INT_FENV_T_PTR, BT_FN_INT_CONST_FENV_T_PTR,
-	BT_FN_INT_FEXCEPT_T_PTR_INT, BT_FN_INT_CONST_FEXCEPT_T_PTR_INT):
-	New function types.
-	* builtins.def (BUILT_IN_FECLEAREXCEPT, BUILT_IN_FEGETENV,
-	BUILT_IN_FEGETEXCEPTFLAG, BUILT_IN_FEGETROUND,
-	BUILT_IN_FEHOLDEXCEPT, BUILT_IN_FERAISEEXCEPT,
-	BUILT_IN_FESETENV, BUILT_IN_FESETEXCEPTFLAG,
-	BUILT_IN_FESETROUND, BUILT_IN_FETESTEXCEPT,
-	BUILT_IN_FEUPDATEENV): New builtins.
-	* tree-core.h (TI_FENV_T_PTR_TYPE, TI_CONST_FENV_T_PTR_TYPE,
-	TI_FEXCEPT_T_PTR_TYPE, TI_CONST_FEXCEPT_T_PTR_TYPE): New entries.
-	* tree.h (fenv_t_ptr_type_node, const_fenv_t_ptr_type_node,
-	fexcept_t_ptr_type_node, const_fexcept_t_ptr_type_node): New
-	macros.
-	(builtin_structptr_types): Adjust size.
-	* tree.c (builtin_structptr_types): Add four entries.
-
-2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
-	    Olivier Hainque  <hainque@adacore.com>
-
-	* config/vxworks.h (VXWORKS_LIB_SPEC): Incorporate ...
-	(TLS_SYM): New local macro, forcing reference to __tls__ on
-	link command lines for VxWorks 7 RTPs, triggering initialization
-	of tlsLib.
-	(VXWORKS_HAVE_TLS): New macro. State whether the target VxWorks
-	OS features TLS support, true for RTPs on VxWorks 7.
-	* config/vxworks.c (vxworks_override_options): Setup emutls
-	accordingly.
-
-2017-06-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* predict.c (test_prediction_value_range): Use -1U instead of -1
-	to avoid narrowing conversion warning.
-	* dumpfile.c (dump_options): Wrap all value into dump_flags_t cast
-	to avoid narrowing conversion warning.
-	* opt-functions.awk (var_ref): Return (unsigned short) -1 instead of
-	-1.
-	* optc-gen.awk (END): Expect (unsigned short) -1 instead of -1.
-
-2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
-
-	* config/vxworks.h (VXWORKS_LIBS_RTP): Alternative definition for
-	64bit configurations.
-	(PTR_DIFF_TYPE): Alternative definition for TARGET_LP64.
-	(SIZE_TYPE): Likewise.
-	* config/vxworks.c (vxworks_emutls_var_fields): Use
-	long_unsigned_type_node instead of unsigned_type_node as the offset
-	field type, which is "pointer" mode in emutls.c.
-
-2017-06-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81209
-	* ubsan.c (ubsan_encode_value): Initialize DECL_CONTEXT on var.
-
-	PR middle-end/81207
-	* gimple-fold.c (replace_call_with_call_and_fold): Handle
-	gimple_vuse copying separately from gimple_vdef copying.
-
-2017-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* value-prof.c (free_hist): Remove call to memset and the enclosing if
-	condition.
-
-2017-06-26  Jerome Lambourg  <lambourg@adacore.com>
-	    Olivier Hainque  <hainque@adacore.com>
-
-	* config.gcc (*-*-vxworks*): Add TARGET_VXWORKS7=1 to tm_defines
-	for all vxworks7 targets.
-	* config/vxworks.h (TARGET_VXWORKS7): If not defined, define to 0.
-	(VXWORKS_ADDITIONAL_CPP_SPEC): Alternative definition for VXWORKS7.
-	(VXWORKS_LIBS_RTP, VXWORKS_LIBS_RTP_DIR): New macros, allowing
-	variations for VX6/VX7 and 32/64bits later on in ...
-	(VXWORKS_LIB_SPEC): Leverage new macros.
-	(VXWORKS_OS_CPP_BUILTINS): Define _VSB_CONFIG_FILE for VXWORKS7,
-	as well as _ALLOW_KEYWORD_MACROS when "inline" is not a keyword.
-
-2017-06-26  Jerome Lambourg  <lambourg@adacore.com>
-
-	* config/vxworks.h (VXWORKS_OS_CPP_BUILTINS): builtin_define
-	_VX_TOOL_FAMILY and _VX_TOOL to gnu.
-
-2017-06-26  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c: Add support for built-in functions
-	vector bool char vec_reve (vector bool char);
-	vector signed char vec_reve (vector signed char);
-	vector unsigned char vec_reve (vector unsigned char);
-	vector bool int vec_reve (vector bool int);
-	vector signed int vec_reve (vector signed int);
-	vector unsigned int vec_reve (vector unsigned int);
-	vector bool long long vec_reve (vector bool long long);
-	vector signed long long vec_reve (vector signed long long);
-	vector unsigned long long vec_reve (vector unsigned long long);
-	vector bool short vec_reve (vector bool short);
-	vector signed short vec_reve (vector signed short);
-	vector double vec_reve (vector double);
-	vector float vec_reve (vector float);
-	* config/rs6000/rs6000-builtin.def (VREVE_V2DI, VREVE_V4SI,
-	VREVE_V8HI, VREVE_V16QI, VREVE_V2DF, VREVE_V4SF, VREVE): New builtin.
-	* config/rs6000/altivec.md (UNSPEC_VREVEV): New UNSPEC.
-	(altivec_vreve): New pattern.
-	* config/rs6000/altivec.h (vec_reve): New define.
-	* doc/extend.texi (vec_rev): Update the built-in documentation file
-	for the new built-in functions.
-
-2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/71815
-	* gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New
-	function.
-	(find_basis_for_candidate): Call uses_consumed_by_stmt rather than
-	has_single_use.
-	(slsr_process_phi): Likewise.
-	(replace_uncond_cands_and_profitable_phis): Don't replace a
-	multiply candidate with a stride of 1 (copy or cast).
-	(phi_incr_cost): Call uses_consumed_by_stmt rather than
-	has_single_use.
-	(lowest_cost_path): Likewise.
-	(total_savings): Likewise.
-
-2017-06-26  Richard Biener  <rguenther@suse.de>
-
-	PR target/81175
-	* config/i386/i386.c (ix86_init_mmx_sse_builtins):
-	Use def_builtin_pure for all gather builtins.
-
-2017-06-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81203
-	* tree-tailcall.c (find_tail_calls): Do not move stmts into
-	non-dominating BBs.
-
-2017-06-26  Marek Polacek  <polacek@redhat.com>
-
-	PR c/80116
-	* doc/invoke.texi: Document -Wmultistatement-macros.
-
-2017-06-26  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* doc/sourcebuild.texi (ARM-specific attributes): Document new
-	arm_neon_ok_no_float_abi effective target.
-
-2017-06-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80928
-	* cfghooks.c (duplicate_block): Do not copy BB_DUPLICATED flag.
-	(copy_bbs): Set BB_DUPLICATED flag early.
-	(execute_on_growing_pred): Do not execute for BB_DUPLICATED
-	marked blocks.
-	(execute_on_shrinking_pred): Likewise.
-	* tree-ssa.c (ssa_redirect_edge): Do not look for PHI args in
-	BB_DUPLICATED blocks.
-	* tree-ssa-phionlycoprop.c (eliminate_degenerate_phis_1): Properly
-	iterate over all PHIs considering removal of *gsi.
-
-2017-06-23  Jim Wilson  <jim.wilson@linaro.org>
-
-	* doc/invoke.texi (AArch64 Options, -mtune): Re-add falkor and
-	qdf24xx.
-
-2017-06-23  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-string.c: (expand_block_clear,
-	do_load_for_compare, select_block_compare_mode,
-	compute_current_alignment, expand_block_compare,
-	expand_strncmp_align_check, expand_strn_compare,
-	expand_block_move, rs6000_output_load_multiple)
-	Move functions related to string/block move/compare
-	to a separate file.
-	* config/rs6000/rs6000.c: Move above functions to rs6000-string.c.
-	* config/rs6000/rs6000-protos.h (rs6000_emit_dot_insn): Add prototype
-	for this function which is now used in two files.
-	* config/rs6000/t-rs6000: Add rule to compile rs6000-string.o.
-	* config.gcc: Add rs6000-string.o to extra_objs for
-	targets powerpc*-*-* and rs6000*-*-*.
-
-2017-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/80510
-	* config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in
-	32-bit, since indexed is not valid for DImode.
-	(mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA
-	3.0 d-form load/stores to be the same as mov<mode>_hardfloat64.
-	(define_peephole2 for Altivec d-form load): Add 32-bit support.
-	(define_peephole2 for Altivec d-form store): Likewise.
-
-	PR ipa/81185
-	* multiple_target.c (create_dispatcher_calls): Only create the
-	dispatcher call if the function is the default clone of a
-	versioned function.
-
-2017-06-23  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR middle-end/80902
-	* builtins.c (expand_builtin_atomic_fetch_op): If emitting code after
-	a call, force the call to not be a tail call.
-
-2017-06-23  Jeff Law  <law@redhat.com>
-
-	* doc/contrib.texi: Add entry for Steven Pemberton's work on
-	enquire.
-
-2017-06-23  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c: Add include of ssa-propagate.h for
-	update_call_from_tree().  (rs6000_gimple_fold_builtin): Add
-	handling for early expansion of vector shifts (sl,sr,sra,rl).
-	(builtin_function_type): Add vector shift right instructions
-	to the unsigned argument list.
-
-2017-06-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	rtl-optimizatoin/79286
-	* ira.c (update_equiv_regs): Revert to using may_trap_or_fault_p again.
-	* rtlanal.c (rtx_addr_can_trap_p_1): SYMBOL_REF_FUNCTION_P can never
-	trap.  PIC register plus a const unspec without offset can never trap.
-
-2017-06-23  Marc Glisse  <marc.glisse@inria.fr>
-
-	* tree.h (builtin_structptr_type): New type.
-	(builtin_structptr_types): Declare new array.
-	* tree.c (builtin_structptr_types): New array.
-	(free_lang_data, build_common_tree_nodes): Use it.
-
-2017-06-23  Jonathan Wakely  <jwakely@redhat.com>
-
-	PR c++/81187
-	* doc/invoke.texi (-Wnoexcept-type): Fix name of option, from
-	-Wnoexcept.
-
-2017-06-22  Matt Turner  <mattst88@gmail.com>
-
-	* config/i386/driver-i386.c (host_detect_local_cpu): Add Kaby
-	Lake models to skylake case.  Assume skylake for unknown
-	models with clflushopt.
-
-2017-06-22  Jeff Law  <law@redhat.com>
-
-	* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Handle
-	frame sizes that do not satisfy aarch64_uimm12_shift.
-
-2017-06-22  Jan Hubicka <hubicka@ucw.cz>
-
-	* profile-count.h (apply_probability,
-	apply_scale, probability_in): Fix checks for zero.
-
-2017-06-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* incpath.c (add_sysroot_to_chain): Allow for $SYSROOT prefix.
-	* doc/cppdiropts.texi (-I @var{dir}): Document it.
-
-2016-06-22  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_model_reduction_cost): Handle
-	COND_REDUCTION and INTEGER_INDUC_COND_REDUCTION without
-	REDUC_MAX_EXPR support.
-	(vectorizable_reduction): Likewise.
-	(vect_create_epilog_for_reduction): Likewise.
-
-2017-06-22  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* match.pd (A / (1 << B) -> A >> B): New.
-	* generic-match-head.c: Include optabs-tree.h.
-	* gimple-match-head.c: Likewise.
-	* optabs-tree.h (target_supports_op_p): New.
-	* optabs-tree.c (target_supports_op_p): New.
-
-2017-06-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* configure.ac (gcc_cv_ld_static_dynamic): Also check stderr for
-	$gcc_cv_ld --help output.
-	(gcc_cv_ld_demangle): Likewise.
-	(gcc_cv_ld_eh_frame_hdr): Likewise.
-	(gcc_cv_ld_pie): Likewise.
-	(gcc_cv_ld_as_needed): Likewise.  Prefer native forms unless $gnu_ld.
-	(gcc_cv_ld_buildid): Likewise.
-	(gcc_cv_ld_sysroot): Likewise.
-	(ld_bndplt_support): Likewise.
-	(ld_pushpopstate_support): Likewise.
-	* configure: Regenerate.
-	* config/sol2.h [!USE_GLD] (SYSROOT_SPEC): Define.
-
-2017-06-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/81151
-	* config/i386/sse.md (round<mode>2): Renumber match_dup and
-	operands indexes to avoid gap between operands and match_dups.
-
-2017-06-21  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
-	Increment Arith_shift and Arith_shift_reg by 1.
-	* config/aarch64/aarch64-tuning-flags.def (cheap_shift_extend):
-	New tuning flag.
-	* config/aarch64/aarch64.c (thunderx_tunings): Enable
-	AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND.
-	(aarch64_strip_extend): Add new argument and test for it.
-	(aarch64_cheap_mult_shift_p): New function.
-	(aarch64_rtx_mult_cost): Call aarch64_cheap_mult_shift_p and don't
-	add a cost if it is true.
-	Update calls to aarch64_strip_extend.
-	(aarch64_rtx_costs): Update calls to aarch64_strip_extend.
-
-2017-06-21  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-cores.def (thunderxt88p1): Use thunderxt88
-	tunings.
-	(thunderxt88): Likewise.
-	* config/aarch64/aarch64.c (thunderxt88_prefetch_tune): New variable.
-	(thunderx_prefetch_tune): New variable.
-	(thunderx2t99_prefetch_tune): Update for the correct values.
-	(thunderxt88_tunings): New variable.
-	(thunderx_tunings): Use thunderx_prefetch_tune instead of
-	generic_prefetch_tune.
-	(thunderx2t99_tunings): Use AUTOPREFETCHER_WEAK.
-
-2017-06-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>_lse,
-	SHORT): Relax operand 3 to aarch64_reg_or_zero and constraint to Z.
-	(aarch64_compare_and_swap<mode>_lse, GPI): Likewise.
-	(aarch64_atomic_cas<mode>, SHORT): Likewise for operand 2.
-	(aarch64_atomic_cas<mode>, GPI): Likewise.
-
-2017-06-21  Martin Liska  <mliska@suse.cz>
-
-	* gimplify.c (gimplify_label_expr): Insert GIMPLE_PREDICT
-	statements on cold and hot labels.
-	* predict.c (tree_estimate_probability_bb): Remove the
-	prediction from this place.
-
-2017-06-21  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/79489
-	* gimplify.c (maybe_add_early_return_predict_stmt): New
-	function.
-	(gimplify_return_expr): Call the function.
-	* predict.c (tree_estimate_probability_bb): Remove handling
-	of early return.
-	* predict.def: Update comment about early return predictor.
-	* gimple-predict.h (is_gimple_predict): New function.
-	* predict.def: Change default value of early return to 66.
-	* tree-tailcall.c (find_tail_calls): Skip GIMPLE_PREDICT
-	statements.
-	* passes.def: Put pass_strip_predict_hints to the beginning of
-	IPA passes.
-
-2017-06-21  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (gen_decl_die): Remove the guard to skip file-scope
-	FUNCTION_DECL declarations.
-	(dwarf2out_early_global_decl): Remove the guard to skip FUNCTION_DECL
-	declarations.
-	(dwaf2out_decl): Likewise.
-	* godump.c (go_early_global_decl): Skip call to the real debug hook
-	for FUNCTION_DECL declarations.
-	* passes.c (rest_of_decl_compilation): Skip call to the
-	early_global_decl debug hook for FUNCTION_DECL declarations, unless
-	-fdump-go-spec is passed.
-
-2017-06-21  Marc Glisse  <marc.glisse@inria.fr>
-
-	* config/i386/i386.c (struct builtin_isa): New field pure_p.
-	Reorder for compactness.
-	(def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
-	(def_builtin_pure, def_builtin_pure2): New functions.
-	(ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.
-
-2017-06-21  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (nop_convert): New predicate.
-	((A +- CST1) +- CST2): Allow some NOP conversions.
-
-2017-06-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/81130
-	* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
-	with ctors/dtors if GOVD_SHARED is set.
-
-2017-06-21  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (movti_aarch64):
-	Emit mov rather than orr.
-	(movtf_aarch64): Likewise.
-	* config/aarch64/aarch64-simd.md (aarch64_simd_mov):
-	Emit mov rather than orr.
-
-2017-06-21  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_simd_dup):
-	Swap alternatives, make integer dup more expensive.
-
-2017-06-21  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
-	Return true for non-tls symbols.
-
-2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-cores.def (cortex-a55): New.
-	(cortex-a75): Likewise.
-	(cortex-a75.cortex-a55): Likewise.
-	* config/aarch64/aarch64-tune.md: Regenerate.
-	* doc/invoke.texi (-mtune): Document new values for -mtune.
-
-2017-06-21  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Add Options, Features for dg-add-options): Add
-	stack_size feature.
-	(Effective-Target Keywords, Other attributes): Suggest using
-	dg-add-options stack_size feature to get stack limit in stack_size
-	effective target documentation.
-
-2017-06-21  Julian Brown  <julian@codesourcery.com>
-	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi)
-	(aarch64_crypto_pmullv2di): Change type attribute to crypto_pmull.
-	* config/aarch64/thunderx2t99.md (thunderx2t99_pmull): New
-	reservation.
-	* config/arm/cortex-a53.md (cortex_a53_advsimd_type): Add crypto_pmull to
-	attribute type list for neon_multiply.
-	* config/arm/cortex-a57.md (cortex_a57_neon_type): Add crypto_pmull to
-	attribute type list for neon_multiply.
-	* config/arm/crypto.md (crypto_vmullp64): Change type to crypto_pmull.
-	* config/arm/exynos-m1.md (exynos_m1_neon_type): Add crypto_pmull to
-	attribute type list for neon_multiply.
-	* config/arm/types.md (crypto_pmull): Add.
-	* config/arm/xgene1.md (xgene1_neon_pmull): Add crypto_pmull to
-	attribute type list.
-
-2017-06-20  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config.gcc (armv6*-*-freebsd*): Change the target_cpu_cname to
-	arm1176jzf-s.
-
-2017-06-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* ira-costs.c (find_costs_and_classes): Initialize cost_classes later
-	to make sure not to dereference a NULL cost_classes_ptr pointer.
-
-2017-06-20  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
-	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
-	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
-	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
-	VMULOSW): New enum "unspec" values.
-	(vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
-	vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si,
-	altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
-	altivec_vmulosw): New patterns.
-	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
-	VMULOSW): Add definitions.
-
-2017-06-20  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/i386.c: Fix rounding expand for new pattern.
-	* config/i386/subst.md: Fix pattern (parallel -> unspec).
-
-2017-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-option-extensions.def (rcpc): New.
-	* config/aarch64/aarch64.h (AARCH64_FL_RCPC): New.
-
-2017-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-option-extensions.def (fp16): Fix expected
-	feature string.
-
-2017-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64-cores.def: Rearrange to sort by
-	architecture, then by implementer ID.
-	* config/aarch64/aarch64-tune.md: Regenerate.
-
-2017-06-20  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81097
-	* fold-const.c (split_tree): Fold to type before negating.
-
-2017-06-20  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c
-	(selftest::test_fixit_deletion_affecting_newline): New function.
-	(selftest::diagnostic_show_locus_c_tests): Call it.
-
-2017-06-20  Andreas Schwab  <schwab@suse.de>
-
-	PR target/80970
-	* config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d"
-	instead of "+d".
-
-2017-06-20  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
-
-	* config/arm/arm-c.c (arm_cpu_builtins): New block to define
-	__ARM_FEATURE_COPROC according to support.
-
-2017-06-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
-	Rewritten to avoid overflow for > 32-bit pointers.
-
-	PR sanitizer/81125
-	* ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser
-	by removing enum keyword.
-	(ubsan_type_descriptor): Likewise.  Formatting fix.
-
-	PR target/81121
-	* config/i386/i386.md (TARGET_USE_VECTOR_CONVERTS float si->{sf,df}
-	splitter): Require TARGET_SSE2 in the condition.
-
-2017-06-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/79799
-	* config/rs6000/rs6000.c (rs6000_expand_vector_init): Add support
-	for doing vector set of SFmode on ISA 3.0.
-	* config/rs6000/vsx.md (vsx_set_v4sf_p9): Likewise.
-	(vsx_set_v4sf_p9_zero): Special case setting 0.0f to a V4SF
-	element.
-	(vsx_insert_extract_v4sf_p9): Add an optimization for inserting a
-	SFmode value into a V4SF variable that was extracted from another
-	V4SF variable without converting the element to double precision
-	and back to single precision vector format.
-	(vsx_insert_extract_v4sf_p9_2): Likewise.
-
-2017-06-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Multiply
-	in UWHI to avoid undefined overflow.
-
-	PR sanitizer/81125
-	* ubsan.h (enum ubsan_encode_value_phase): New.
-	(ubsan_encode_value): Change second argument to
-	enum ubsan_encode_value_phase with default value of
-	UBSAN_ENCODE_VALUE_GENERIC.
-	* ubsan.c (ubsan_encode_value): Change second argument to
-	enum ubsan_encode_value_phase PHASE from bool IN_EXPAND_P,
-	adjust uses, for UBSAN_ENCODE_VALUE_GENERIC use just
-	create_tmp_var_raw instead of create_tmp_var and use a
-	TARGET_EXPR.
-	(ubsan_expand_bounds_ifn, ubsan_build_overflow_builtin,
-	instrument_bool_enum_load, ubsan_instrument_float_cast): Adjust
-	ubsan_encode_value callers.
-
-	PR sanitizer/81111
-	* ubsan.c (ubsan_encode_value): If current_function_decl is NULL,
-	use create_tmp_var_raw instead of create_tmp_var, mark it addressable
-	just by setting TREE_ADDRESSABLE on the result and use a TARGET_EXPR.
-
-2017-06-19  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81118
-	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop): Clear niter
-	estimates if we changed anything.
-
-2017-06-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80887
-	* tree-ssa-sccvn.c (mprts_hook_cnt): New global.
-	(vn_lookup_simplify_result): Allow only mprts_hook_cnt succesful
-	simplified lookups, then reset mprts_hook.
-	(vn_nary_build_or_lookup_1): Set mprts_hook_cnt to 9 before
-	simplifying.
-	(try_to_simplify): Likewise.
-
-2017-06-19  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/80879
-	* gimplify.c (gimplify_switch_expr):
-	Initialize live_switch_vars for SWITCH_BODY == STATEMENT_LIST.
-
-2017-06-19  Martin Liska  <mliska@suse.cz>
-
-	* doc/install.texi: Document that PGO runs in 4 stages.
-
-2017-06-19  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/80732
-	* attribs.c (make_dispatcher_decl): Do not append '.ifunc'
-	to dispatcher function name.
-	* multiple_target.c (replace_function_decl): New function.
-	(create_dispatcher_calls): Redirect both edges and references.
-
-2017-06-19  Jan Hubicka <hubicka@ucw.cz>
-
-	* profile-count.c (profile_count::dump): Dump quality.
-	(profile_count::differs_from_p): Update for unsigned val.
-	* profile-count.h (profile_count_quality): New enum.
-	(profile_count): Turn m_val to 62bit unsigned, add quality tracking.
-
-2017-06-19  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-loop-niter.h (estimate_numbers_of_iterations): Take
-	struct function as arg.
-	(estimate_numbers_of_iterations): Export overload with loop arg.
-	(free_numbers_of_iterations_estimates_loop): Use an overload of
-	free_numbers_of_iterations_estimates instead.
-	* tree-cfg.c (remove_bb): Adjust.
-	* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Likewise.
-	* tree-parloops.c (gen_parallel_loop): Likewise.
-	* tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
-	Likewise.
-	(tree_unroll_loops_completely): Likewise.
-	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
-	Use an overload instead and export.
-	(estimated_loop_iterations): Adjust.
-	(max_loop_iterations): Likewise.
-	(likely_max_loop_iterations): Likewise.
-	(estimate_numbers_of_iterations): Take struct function as arg
-	and adjust.
-	(loop_exits_before_overflow): Adjust.
-	(free_numbers_of_iterations_estimates_loop): Use an overload.
-	* tree-vect-loop.c (vect_analyze_loop_form): Adjust.
-	* tree-vectorizer.c (vect_free_loop_info_assumptions): Likewise.
-
-2017-06-19  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/81112
-	* ipa-prop.c (find_constructor_constant_at_offset): Handle
-	RANGE_EXPR conservatively.
-
-2017-06-16  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	definitions for vec_float, vec_float2, vec_floato,
-	vec_floate built-ins.
-	* config/rs6000/vsx.md (define_c_enum "unspec"): Add RTL code
-	for instructions vsx_xvcvsxws vsx_xvcvuxwsp, float2, floato and
-	floate.
-	* config/rs6000/rs6000-builtin.def (FLOAT2_V2DI, FLOATE_V2DF,
-	FLOATE_2DI, FLOATO_V2DF, FLOATEE_V2DI, XVCVSXWSP_V4SF,
-	UNS_FLOATO_V2DI, UNS_FLOATE_V2DI): Add definitions.
-	* config/altivec.md (define_insn "p8_vmrgew_<mode>",
-	define_mode_attr VF_sxddp): Add V4SF type to p8_vmrgew.
-	* config/rs6000/altivec.h (vec_float, vec_float2, vec_floate,
-	vec_floato): Add builtin defines.
-	* doc/extend.texi (vec_float, vec_float2, vec_floate, vec_floato):
-	Update the built-in documentation file for the new built-in
-	functions.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.opt (marm): Mark as the negative of of -mthumb.
-	(mthumb): Mark as the negative of -marm.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* doc/invoke.texi (ARM Options, -mcpu): Document supported
-	extension options.
-	(ARM Options, -mtune): Document that this accepts the same
-	extension options as -mcpu.
-	(ARM Options, -mfpu): Document addition of -mfpu=auto.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* doc/invoke.texi (ARM Options, -march=): Document new syntax and
-	permitted extensions.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-cpus.in (armv7): Add extension +nofp.
-	(armv7-r): Add aliases vfpv3xd and vfpv3-d16.
-	(armv8-m.main): Add option +nodsp.
-	* config/arm/arm-cpu-cdata.h: Regenerated.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/t-fuchsia: New file.
-	* config.gcc (arm*-*-fuchsia*): Use it.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/t-symbian: Rewrite for new option infrastructure.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/t-phoenix (MULTILIB_REUSE): Clear variable.
-	(MULTILIB_REQUIRED): Likewise.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/t-linux-eabi (MULTILIB_EXCEPTIONS): Set to empty.
-	(MULTILIB_RESUE): Likewise.
-	(MULTILIB_MATCHES): Likewise.
-	(MULTLIB_REQUIRED): Likewise.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/t-rtems: Rewrite for new option framework.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/t-aprofile (v7_a_nosimd_variants, v7_a_simd_variants)
-	(v7ve_nosimd_variatns, v7ve_vfpv3_simd_variants)
-	(v7ve_vfpv4_simd_variants, v8_a_nosimd_variants, v8_a_simd_variants)
-	(v8_1_a_simd_variants, v8_2_a_simd_variants): Move to ...
-	* config/arm/t-multilib: ... here.
-	(MULTILIB_OPTIONS): Add armv7 and armv7+fp architectures.
-	(MULTILIB_MATCHES): Use armv7 libraries for armv7-r.  Also use for
-	armv7-a and armv8*-a when A-profile libraries have not been built.
-	* config/arm/t-rmprofile: Rewrite.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* genmultilib (multilib_reuse): Allow an explicit period to be escaped
-	with a backslash.  Remove the backslash after substituting unescaped
-	periods.
-	* doc/fragments.texi (MULTILIB_REUSE): Document it.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config.gcc: (arm*-*-*): When building a-profile libraries, force
-	the driver to pass through the default setting of -mfloat-abi.
-	* common/config/arm/arm-common.c (arm_target_thumb_only): Return -marm
-	rather than NULL.
-	* config/arm/t-multilib (MULTILIB_REUSE): Initialize to empty.
-	(all_feat_combs): New rule.
-	(MULTILIB_OPTIONS): Use explicit ARM and Thumb directories.  Rework
-	default libraries.
-	* config/arm/t-aprofile: Rewrite.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.h (FPUTYPE_AUTO): Define.
-	* config/arm/arm.c (arm_option_override): Use FPUTYPE_AUTO if the
-	fpu is not specified by the user/command-line.
-	* config/arm/bpabi.h (FPUTYPE_DEFAULT): Delete.
-	* config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Delete.
-	* config/arm/linux-elf.h (FPUTYPE_DEFAULT): Delete.
-	* config/arm/vxworks.h (FPUTYPE_DEFAULT): Delete.
-	* common/config/arm/arm-common.c (arm_canon_arch_option): Use
-	FPUTYPE_AUTO insted of FPUTYPE_DEFAULT.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/elf.h (MULTILIB_DEFAULTS): Delete.
-	* config/arm/t-arm-elf: Rewritten.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.h (TARGET_HARD_FLOAT): Also check that we
-	have some floating-point instructions.
-	(TARGET_SOFT_FLOAT): Define as inverse of TARGET_HARD_FLOAT.
-	(TARGET_MAYBE_HARD_FLOAT): New macro.
-	* config/arm/arm-builtins.c (arm_init_builtins): Use
-	TARGET_MAYBE_HARD_FLOAT.
-	* config/arm/arm.c (arm_option_override): Use TARGET_HARD_FLOAT_ABI.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* common/config/arm/arm-common.c: Define INCLUDE_LIST.
-	(configargs.h): Include it.
-	(arm_print_hint_for_fpu_option): New function.
-	(arm_parse_fpu_option): New function.
-	(candidate_extension): New class.
-	(arm_canon_for_multilib): New function.
-	* config/arm/arm.h (CANON_ARCH_SPEC_FUNCTION): New macro.
-	(EXTRA_SPEC_FUNCTIONS): Add CANON_ARCH_SPEC_FUNCTION.
-	(ARCH_CANONICAL_SPECS): New macro.
-	(DRIVER_SELF_SPECS): Add ARCH_CANONICAL_SPECS.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config.gcc (arm*-*-*): Ensure both target_cpu_cname and with_cpu
-	are set after handling multilib fragments.  Set target_cpu_default2
-	from with_cpu.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config.gcc (arm*-*-fucshia*): Set target_cpu_cname to the real
-	cpu name.
-	(arm*-*-*): Set target_cpu_default2 to a quoted string.
-	* config/arm/parsecpu.awk (check_cpu): Validate any extension
-	options.
-	(check_arch): Likewise.
-	* config/arm/arm.c (arm_configure_build_target): Handle
-	TARGET_CPU_DEFAULT being a string constant.  Scan any feature
-	options in the default.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-protos.h (cpu_arch_extension): Add field to record
-	when an option is an alias of another.
-	* config/arm/parsecpu.awk (optalias): New parser token.
-	(gen_comm_data): Mark non-alias options as such.  Emit entries
-	for extension aliases.
-	* config/arm/arm-cpus.in (armv5e): Make vfpv2 an alias.
-	(armv5te, armv5tej, armv6, armv6j, armv6k, armv6z): Likewise.
-	(armv6kz, armv6zk, armv6t2): Likewise.
-	(armv7): Make vfpv3-d16 an alias.
-	(armv7-a): Make vfpv3-d16, neon and neon-vfpv3 aliases.	 Sort in
-	canonical order.
-	(armv7ve): Make vfpv4-d16, neon-vfpv3 and neon-vfpv4 aliases.
-	Sort in canonical order.
-	(armv8-a): Sort in canonical order.
-	(armv8.1-a, armv8.2-a):	 Likewise.
-	(generic-armv7-a): Make neon and neon-vfpv3 aliases.  Sort in
-	canonical order.
-	(cortex-a9): Sort in canonical order.
-	* config/arm/arm.c (selftests.h): Include it.
-	(arm_test_cpu_arch_data): New function.
-	(arm_run_self_tests): New function.
-	(TARGET_RUN_TARGET_SELFTESTS): Redefine.
-	(targetm): Move declaration to the end of the file.
-	* arm-cpu-cdata.h: Regenerated.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.h (TARGET_MODE_SPECS): Add additional parameter to
-	call to target_mode_check describing the type of option passed.
-	* common/config/arm/arm-common.c (arm_arch_core_flag): Delete.
-	(arm_target_thumb_only): Use arm_parse_arch_option_name or
-	arm_parse_cpu_option_name to match parameters against list of
-	available targets.
-	* config/arm/parsecpu.awk (gen_comm_data): Don't generate
-	arm_arch_core_flags data structure.
-	* config/arm/arm-cpu_cdata.h: Regenerated.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* common/config/arm/arm-common.c (arm_initialize_isa): Moved here from
-	config/arm/arm.c.
-	(arm_print_hint_for_cpu_option): Likewise.
-	(arm_print_hint_for_arch_option): Likewise.
-	(arm_parse_cpu_option_name): Likewise.
-	(arm_parse_arch_option_name): Likewise.
-	* config/arm/arm.c (arm_identify_fpu_from_isa): Use the computed number
-	of entries in the all_fpus list.
-	* config/arm/arm-protos.h (all_architectures, all_cores): Declare.
-	(arm_parse_cpu_option_name): Declare.
-	(arm_parse_arch_option_name): Declare.
-	(arm_parse_option_features): Declare.
-	(arm_intialize_isa): Declare.
-	* config/arm/parsecpu.awk (gen_data): Move CPU and architecture
-	data tables to ...
-	(gen_comm_data): ... here.  Make definitions non-static.
-	* config/arm/arm-cpu-data.h: Regenerated.
-	* config/arm/arm-cpu-cdata.h: Regenerated.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-protos.h (arm_build_target): Remove arch_core.
-	(cpu_arch_extension): New structure.
-	(cpu_arch_option, arch_option, cpu_option): New structures.
-	* config/arm/parsecpu.awk (gen_headers): Build an enumeration of
-	architecture types.
-	(gen_data): Generate new format data tables.
-	* config/arm/arm.c (cpu_tune): New structure.
-	(cpu_option, processors): Delete.
-	(arm_print_hint_for_core_or_arch): Delete.  Replace with ...
-	(arm_print_hint_for_cpu_option): ... this and ...
-	(arm_print_hint_for_arch_option): ... this.
-	(arm_parse_arch_cpu_name): Delete.  Replace with ...
-	(arm_parse_cpu_option_name): ... this and ...
-	(arm_parse_arch_option_name): ... this.
-	(arm_unrecognized_feature): Change type of target parameter to
-	cpu_arch_option.
-	(arm_parse_arch_cpu_features): Delete.	Replace with ...
-	(arm_parse_option_features): ... this.
-	(arm_configure_build_target): Rework to use new configuration data
-	tables.
-	(arm_print_tune_info): Rework for new configuration data tables.
-	* config/arm/arm-cpu-data.h: Regenerated.
-	* config/arm/arm-cpu.h: Regenerated.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* Makefile.in (OBJS): Move sbitmap.o from here ...
-	(OBJS-libcommon): ... to here.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-isa.h (ISA_ALL_FPU_INTERNAL): Renamed from ISA_ALL_FPU.
-	(ISA_ALL_CRYPTO): New macro.
-	(ISA_ALL_SIMD): New macro
-	(ISA_ALL_FP): New macro.
-	* config/arm/arm.c (fpu_bitlist): Update initializer.
-	* config/arm/arm-cpus.in: Use new ISA_ALL macros to disable crypto,
-	simd or fp.
-	(arm9e): Add fpu.  Add option for nofp
-	(arm946e-s, arm966e-s, arm968e-s, arm10e, arm1020e, arm1022e): Likewise.
-	(arm926ej-s, arm1026ej-s): Likewise.
-	(generic-armv7-a): Add fpu.  Add options for simd, vfpv3, vfpv3-d16,
-	vfpv3-fp16, vfpv3-d16-fp16, vfpv4, vfpv4-d16, neon, neon-vfp3,
-	neon-fp16, neon-vfpv4, nofp and nosimd.
-	(cortex-a5, cortex-a7): Add fpu.  Add options for nosimd and nofp.
-	(cortex-a8): Add fpu.  Add option for nofp.
-	(cortex-a9): Add fpu.  Add options for nosimd and nofp.
-	(cortex-a12, cortex-a15, cortex-a17): Add fpu.	Add option for nofp.
-	(cortex-r4f): Add fpu.
-	(cortex-r5): Add fpu.  Add options for nofp.dp and nofp.
-	(cortex-r7): Use idiv option from architecture.	 Add fpu.  Add option
-	for nofp.
-	(cortex-r8): Likewise.
-	(cortex-m4): Add fpu.  Add option for nofp.
-	(cortex-a15.cortex-a7): Add fpu.  Add option for nofp.
-	(cortex-a17.cortex-a7): Likewise.
-	(cortex-a32): Add fpu.	Add options for crypto and nofp.
-	(cortex-a35, cortex-a53): Likewise.
-	(cortex-a57): Add fpu.	Add option for crypto.
-	(cortex-a72, cortex-a73): Likewise.
-	(exynos-m1): Likewise.
-	(cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
-	(cortex-a73.cortex-a35, cortex-a73.cortex-a53): Likewise.
-	(cortex-m33): Add fpu.	Add option for nofp.
-	* config/arm/arm-cpu-cdata.h: Regenerated
-	* config/arm/arm-cpu-data.h: Regenerated.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm-cpus.in (armv5e): Add options fp, vfpv2 and nofp.
-	(armv5te, armv5tej): Likewise.
-	(armv6, armv6j, armv6k, armv6z, armv6kz, armv6zk, armv6t2): Likewise.
-	(armv7): Add options fp and vfpv3-d16.
-	(armv7-a): Add options fp, simd, vfpv3, vfpv3-d16, vfpv3-d16-fp16,
-	vfpv3-fp16, vfpv4, vfpv4-d16, neon, neon-vfpv3, neon-fp16, neon-vfpv4,
-	nofp and nosimd.
-	(armv7ve): Likewise.
-	(armv7-r): Add options fp, fp.sp, idiv, nofp and noidiv.
-	(armv7e-m): Add options fp, fpv5, fp.dp and nofp.
-	(armv8-a): Add nocrypto option.
-	(armv8.1-a, armv8.2-a): Likewise.
-	(armv8-m.main): add options fp, fp.dp and nofp.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-cpus.in (armv8-a): Add options crc, simd crypto and
-	nofp.
-	(armv8-a+crc): Delete.
-	(armv8.1-a): Add options simd, crypto and nofp.
-	(armv8.2-a): Add options fp16, simd, crypto and nofp.
-	(armv8.2-a+fp16): Delete.
-	(armv8-m.main): Add option dsp.
-	(armv8-m.main+dsp): Delete.
-	(cortex-a8): Add fpu.  Add nofp option.
-	(cortex-a9): Add fpu.  Add nofp and nosimd options.
-	* config/arm/parsecpu.awk (gen_data): Generate option tables and
-	link to main cpu and architecture data structures.
-	(gen_comm_data): Only put isa attributes from the main architecture
-	in common tables.
-	(option): New statement for architecture and CPU entries.
-	* arm.c (struct cpu_option): New structure.
-	(struct processors): Add entry for options.
-	(arm_unrecognized_feature): New function.
-	(arm_parse_arch_cpu_name): Ignore any characters after the first
-	'+' character.
-	(arm_parse_arch_cpu_feature): New function.
-	(arm_configure_build_target): Separate out any CPU and architecture
-	features and parse separately.	Don't error out if -mfpu=auto is
-	used with only an architecture string.
-	(arm_print_asm_arch_directives): New function.
-	(arm_file_start): Call it.
-	* config/arm/arm-cpu-cdata.h: Regenerated.
-	* config/arm/arm-cpu-data.h: Likewise.
-	* config/arm/arm-tables.opt: Likewise.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/elf.h (ASM_SPEC): Only pass -mfpu through to the
-	assembler when it is not -mfpu=auto.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.h (BIG_LITTLE_SPEC): Delete macro.
-	(ASM_REWRITE_SPEC_FUNCTIONS): New macro.
-	(BIG_LITTLE_CPU_SPEC_FUNCTIONS): Delete macro.
-	(ASM_CPU_SPEC): Rewrite.
-	(MCPU_MTUNE_NATIVE_FUNCTIONS): New macro.
-	(EXTRA_SPEC_FUNCTIONS): Move outside of ifdef.	Use
-	MCPU_MTUNE_NATIVE_FUNCTIONS and ASM_REWRITE_SPEC_FUNCTIONS.  Remove
-	reference to BIG_LITTLE_CPU_SPEC_FUNCTIONS.
-	* common/config/arm/arm-common.c (arm_rewrite_selected_cpu): Ensure
-	copied string is NUL-terminated.  Also strip any characters prefixed
-	by '+'.
-	(arm_rewrite_selected_arch): New function.
-	(arm_rewrite_march): New function.
-
-2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.opt (x_arm_arch_string): New TargetSave option.
-	(x_arm_cpu_string, x_arm_tune_string): Likewise.
-	(march, mcpu, mtune): Convert to string-based options.
-	* config/arm/arm.c (arm_print_hint_for_core_or_arch): New function.
-	(arm_parse_arch_cpu_name): New function.
-	(arm_configure_build_target): Use arm_parse_arch_cpu_name to
-	identify selected architecture or CPU.
-	(arm_option_save): New function.
-	(TARGET_OPTION_SAVE): Redefine.
-	(arm_option_restore): Restore string options.
-	(arm_option_print): Print string options.
-
-2017-06-16  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/80933
-	PR tree-optimization/80934
-	* builtins.c (fold_builtin_3): Do not handle bcmp here.
-	* gimple-fold.c (gimple_fold_builtin_bcmp): New function.
-	(gimple_fold_builtin_bcopy, gimple_fold_builtin_bzero): Likewise.
-	(gimple_fold_builtin): Call them.
-
-2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* gimple-ssa-isolate-paths.c (isolate_path): Set edge leading to path
-	as unlikely; update profile.
-
-2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (force_edge_cold): Handle declaring edges impossible
-	more aggresively.
-
-2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update
-	profile.
-	(try_unroll_loop_completely): Fix reporting.
-
-2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-tail-merge.c (replace_block_by): Fix profile updating.
-
-2017-06-16  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	PR target/71778
-	* config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET
-	if given a non-constant argument for an intrinsic which requires a
-	constant.
-
-2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile.c (compare_freqs): New function.
-	(branch_prob): Sort edge list.
-	(find_spanning_tree): Assume that the list is priority sorted.
-
-2017-06-16  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81090
-	* passes.def (pass_record_bounds): Remove.
-	* tree-pass.h (make_pass_record_bounds): Likewise.
-	* tree-ssa-loop.c (pass_data_record_bounds, pass_record_bounds,
-	make_pass_record_bounds): Likewise.
-	* tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Do
-	not free niter estimates at the beginning but at the end.
-	* tree-scalar-evolution.c (scev_finalize): Free niter estimates.
-
-2017-06-16  Richard Biener  <rguenther@suse.de>
-
-	* tree-switch-conversion.c (emit_case_bit_tests): Adjust
-	initializer to workaround ICE in host GCC 4.8.
-
-2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-transform.c (update_noncloned_frequencies): Update also
-	counts.
-	(clone_inlined_nodes): Update.
-
-2017-06-16  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
-
-	* config/aarch64/aarch64.c (qdf24xx_prefetch_tune): Update
-	prefetch settings, and enable prefetching by default at -O3.
-
-2017-06-16  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
-
-	* config/aarch64/aarch64.c (aarch64_override_options_internal):
-	Set flag_prefetch_loop_arrays according to tuning data.
-
-2017-06-16  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
-
-	* config/aarch64/aarch64-protos.h (struct cpu_prefetch_tune):
-	New tune structure.
-	(struct tune_params): Use cpu_prefetch_tune instead of cache_line_size.
-	[Unrelated to main purpose of the patch] Place the pointer field last
-	to enable type checking errors when tune structure are wrongly merged.
-	* config/aarch64/aarch64.c (generic_prefetch_tune,)
-	(exynosm1_prefetch_tune, qdf24xx_prefetch_tune,)
-	(thunderx2t99_prefetch_tune): New tune constants.
-	(tune_params *_tunings): Update all tunings (no functional change).
-	(aarch64_override_options_internal): Set PARAM_SIMULTANEOUS_PREFETCHES,
-	PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE, and PARAM_L2_CACHE_SIZE
-	from tunings structures.
-
-2017-06-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/81094
-	* ubsan.c (instrument_null): Add T argument, use it instead
-	of computing it based on IS_LHS.
-	(instrument_object_size): Likewise.
-	(pass_ubsan::execute): Adjust instrument_null and
-	instrument_object_size callers to pass gimple_get_lhs or
-	gimple_assign_rhs1 result to it.  Use instrument_null instead of
-	calling get_base_address and instrument_mem_ref.  Handle
-	aggregate call arguments for object-size sanitization.
-
-2017-06-16  Yury Gribov  <tetra2005@gmail.com>
-
-	PR tree-optimization/81089
-	* tree-vrp.c (is_masked_range_test): Validate operands of
-	subexpression.
-
-2017-06-15  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/80560
-	* dumpfile.c (dump_register): Avoid calling memset to initialize
-	a class with a default ctor.
-	* gcc.c (struct compiler): Remove const qualification.
-	* genattrtab.c (gen_insn_reserv): Replace memset with initialization.
-	* hash-table.h: Ditto.
-	* ipa-cp.c (allocate_and_init_ipcp_value): Replace memset with
-	  assignment.
-	* ipa-prop.c (ipa_free_edge_args_substructures): Ditto.
-	* omp-low.c (lower_omp_ordered_clauses): Replace memset with
-	default ctor.
-	* params.h (struct param_info): Make struct members non-const.
-	* tree-switch-conversion.c (emit_case_bit_tests): Replace memset
-	with default initialization.
-	* vec.h (vec_copy_construct, vec_default_construct): New helper
-	functions.
-	(vec<T>::copy, vec<T>::splice, vec<T>::reserve): Replace memcpy
-	with vec_copy_construct.
-	(vect<T>::quick_grow_cleared): Replace memset with default ctor.
-	(vect<T>::vec_safe_grow_cleared, vec_safe_grow_cleared): Same.
-	* doc/invoke.texi (-Wclass-memaccess): Document.
-
-2017-06-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-
-	* emit-rtl.h (is_leaf): Update comment about local
-	register allocator.
-
-2017-06-15  Jozef Lawrynowicz	<jozef.l@somniumtech.com>
-
-	PR target/78818
-	* config/msp430/msp430.c (msp430_data_attr): Check that it's possible
-	for a variable to have a section before checking if the section has a
-	name.
-	Set section to.persistent if persistent	attribute is set.
-	Warn if .persistent attribute is used on an automatic variable.
-
-2017-06-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/80474
-	* reorg.c (update_block): Do not ignore instructions in a delay slot.
-
-2017-06-15  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (add<mode>3): Use reg_or_subregno instead
-	of REGNO.
-
-2017-06-14  Maciej W. Rozycki  <macro@imgtec.com>
-
-	* config/mips/mips.md (MIPS16_T_REGNUM): Remove constant.
-	(casesi): Emit bounds checking as RTL.
-	(casesi_internal_mips16_<mode>): Remove bounds checking.
-
-2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
-
-	* config/xtensa/xtensa.c (xtensa_option_override): Append
-	MASK_CONST16 to target_flags in the absence of TARGET_L32R.
-	(hwloop_optimize, hwloop_fail, hwloop_pattern_reg,
-	 xtensa_doloop_hooks): Define unconditionally.
-	(xtensa_reorg_loops): Only call reorg_loops in the presence of
-	TARGET_LOOPS.
-	* config/xtensa/xtensa.h (TARGET_L32R): New definition.
-	(TARGET_DEFAULT): Remove XCHAL_HAVE_L32R condition and account
-	for it in xtensa_option_override.
-	(HARD_FRAME_POINTER_IS_FRAME_POINTER,
-	 HARD_FRAME_POINTER_IS_ARG_POINTER): New definitions.
-
-2017-06-14  Boris Kolpackov  <boris@codesynthesis.com>
-
-	* doc/cppopts.texi: Document '-' special value to -MF.
-
-2017-06-14  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/cortex-a53.md (cortex_a53_fpalu) Adjust latency.
-	(cortex_a53_fconst): Likewise.
-	(cortex_a53_fpmul): Likewise.
-	(cortex_a53_f_load_64): Likewise.
-	(cortex_a53_f_load_many): Likewise.
-	(cortex_a53_advsimd_alu): Likewise.
-	(cortex_a53_advsimd_alu_q): Likewise.
-	(cortex_a53_advsimd_mul): Likewise.
-	(cortex_a53_advsimd_mul_q): Likewise.
-	(fpmac bypass): Add new bypass for fpmac-fpmac case.
-	Add missing fmul, r2f_cvt and fconst cases.
-
-2017-06-14  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81088
-	* fold-const.c (split_tree): Drop TREE_OVERFLOW flag from
-	literal constants.
-	(fold_binary_loc): When associating do not treat pre-existing
-	TREE_OVERFLOW on literal constants as a reason to allow
-	TREE_OVERFLOW on associated literal constants.
-
-2017-06-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3.
-	(MASK_FEATURES): New macro.
-	* config/sparc/sparc.c (sparc_option_override): Remove the special
-	handling of -mfpu and generalize it to all MASK_FEATURES switches.
-
-2017-06-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* simplify-rtx.c (simplify_binary_operation_1) <UDIV>: Do not simplify
-	a division of 0 if non-call exceptions are enabled.
-
-2017-06-14  Andrew Pinski  <apinski@cavium.com>
-	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	PR target/71663
-	* config/aarch64/aarch64.c (aarch64_expand_vector_init):
-	Improve vector initialization code gen for only variable case.
-
-2017-06-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry.
-
-2017-06-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81083
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Do not use abnormals
-	as values.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c: Update all comments that mentioned SPE.
-	(rs6000_expand_builtin): Remove RS6000_BTC_EVSEL.
-	* config/rs6000/rs6000.h (RS6000_BTC_EVSEL): Delete.
-	* config/rs6000/vxworks.h (VXCPU_FOR_8548): Delete.  Adjust former use.
-	* config/rs6000/vxworksae.h (VXCPU_FOR_8548): Delete.
-	* config/rs6000/vxworksmils.h (VXCPU_FOR_8548): Delete.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000-opts.h (enum rs6000_vector): Delete VECTOR_SPE.
-	* config/rs6000/rs6000.c (rs6000_debug_vector_unit): Delete VECTOR_SPE.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.h (FIXED_SCRATCH): Delete.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/t-rtems: Don't handle SPE.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/t-linux: Don't handle SPE.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/eabispe.h: Delete file.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/t-spe: Delete file.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (SPE_CONST_OFFSET_OK): Delete.
-	(rs6000_legitimate_offset_address_p): Return false for anything in
-	V2SImode or V2SFmode.
-
-2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000-modes.def: Remove all 8-byte vector modes
-	except V2SF and V2SI.  Rearrange the vector modes, and add comments.
-	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Remove V8QImode
-	and V4HImode.
-	(reg_offset_addressing_ok_p): Remove V4HImode and V1DImode.
-	(rs6000_legitimate_offset_address_p): Ditto.
-	(rs6000_emit_move): Ditto.
-	(rs6000_init_builtins): Remove V4HI_type_node.
-
-2017-06-13  Martin Liska  <mliska@suse.cz>
-
-	PR sanitize/78204
-	* asan.c (asan_sanitize_stack_p): Use sanitize_flags_p.
-	(gate_asan): Likewise.
-	* asan.h (asan_no_sanitize_address_p): Remove the function.
-	(sanitize_flags_p): New function.
-	* builtins.def: Fix coding style.
-	* common.opt: Use renamed enum value.
-	* convert.c (convert_to_integer_1): Use sanitize_flags_p.
-	* doc/extend.texi: Document no_sanitize attribute.
-	* flag-types.h (enum sanitize_code): Rename SANITIZE_NONDEFAULT
-	to SANITIZE_UNDEFINED_NONDEFAULT.
-	* gcc.c (sanitize_spec_function): Use the renamed enum value.
-	* gimple-fold.c (optimize_atomic_compare_exchange_p):
-	Use sanitize_flags_p.
-	* gimplify.c (gimplify_function_tree): Likewise.
-	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Likewise.
-	* opts.c (parse_no_sanitize_attribute): New function.
-	(common_handle_option): Use renamed enum value.
-	* opts.h (parse_no_sanitize_attribute): Declare.
-	* tree.c (sanitize_flags_p): New function.
-	* tree.h: Declared here.
-	* tsan.c: Use sanitize_flags_p.
-	* ubsan.c (ubsan_expand_null_ifn): Likewise.
-	(instrument_mem_ref): Likewise.
-	(instrument_bool_enum_load): Likewise.
-	(do_ubsan_in_current_function): Remove the function.
-	(pass_ubsan::execute): Use sanitize_flags_p.
-	* ubsan.h: Remove do_ubsan_in_current_function
-	* tree-cfg.c (print_no_sanitize_attr_value): New function.
-	(dump_function_to_file): Use it here.
-
-2017-06-13  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/80803
-	PR tree-optimization/81063
-	* tree-sra.c (subtree_mark_written_and_enqueue): Move up in the file.
-	(propagate_subaccesses_across_link): Enqueue subtree whenever
-	necessary instead of relying on the caller.
-
-2017-06-13  Martin Jambor  <mjambor@suse.cz>
-
-	* tree-sra.c (add_access_to_work_queue): Only enqueue accesses
-	that have a first_link.
-	(sort_and_splice_var_accesses): Do not check first_link before
-	enquing.
-	(subtree_mark_written_and_enqueue): Likewise.
-	(propagate_all_subaccesses): Likewise and do not stop at first
-	parent with a first_link.
-
-2017-06-13  Martin Jambor  <mjambor@suse.cz>
-
-	* tree-sra.c (dump_access_tree_1): Fix accidental dumping to stderr
-	instead of f.
-
-2017-06-13  Yury Gribov  <tetra2005@gmail.com>
-
-	* match.pd: New pattern.
-
-2017-06-13  Yury Gribov  <tetra2005@gmail.com>
-
-	* tree-vrp.c (is_masked_range_test): New function.
-	(register_edge_assert_for): Determine ranges for
-	some bit tests.
-
-2017-06-13  Yury Gribov  <tetra2005@gmail.com>
-
-	PR tree-optimization/67328
-	* fold-const.c (maskable_range_p): New function.
-	(build_range_check): Generate bittests if possible.
-
-2017-06-13  Martin Liska  <mliska@suse.cz>
-
-	* gimple-pretty-print.c (dump_probability): Add new argument.
-	(dump_edge_probability): Dump both probability and count.
-	(dump_gimple_label): Likewise.
-	(dump_gimple_bb_header): Likewise.
-
-2017-06-13  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/81072
-	* config/avr/avr-devices.c: Fix indentation.
-	* config/avr/gen-avr-mmcu-specs.c: Dito.
-
-2017-06-13  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_model_reduction_cost): Do not fail,
-	instead get vector type from stmt_info.
-	(vectorizable_reduction): Adjust.  Remove dead code.
-
-2017-06-13  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81065
-	* fold-const.c (extract_muldiv_1): Remove bogus distribution
-	case of C * (x * C2 + C3).
-	(fold_addr_of_array_ref_difference): Properly fold index difference.
-
-2017-06-12  David S. Miller  <davem@davemloft.net>
-
-	PR target/80968
-	* config/sparc/sparc.md (return expander): Emit frame blockage if
-	function uses alloca.
-
-2017-06-12  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* combine.c (make_field_assignment): Check len rather than the mode
-	precision when calling force_to_mode.
-
-2017-06-12  Georg-Johann Lay  <avr@gjlay.de>
-
-	Support multilibs and devices that see flash in RAM address range.
-
-	PR target/81072
-	* config/avr/avr-arch.h (avr_arch_id) <ARCH_AVRXMEGA3>: New enum.
-	(avr_mcu_t) <flash_pm_offset>: New field.
-	(avr_device_specific_features) <AVR_ISA_RCALL>: New enum.
-	* config/avr/avr.h (AVR_SHORT_CALLS): New define.
-	(AVR_HAVE_JMP_CALL): Don't set if AVR_SHORT_CALLS.
-	(AVR_TINY_PM_OFFSET): Remove macro.
-	* config/avr/avr.opt (-mshort-calls): New option.
-	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
-	[*self_spec]: Add / remove -mshort-calls depending on AVR_ISA_RCALL.
-	* config/avr/avr-c.c (avr_cpu_cpp_builtins)
-	<__AVR_SHORT_CALLS__>: Built-in define if AVR_SHORT_CALLS.
-	<__AVR_HAVE_JMP_CALL__>: Use AVR_HAVE_JMP_CALL as condition
-	instead of avr_arch->have_jmp_call.
-	<__AVR_PM_BASE_ADDRESS__>: Built-in define if avr_arch->flash_pm_offset.
-	[AVR_TINY] <__AVR_TINY_PM_BASE_ADDRESS__>: Use
-	avr_arch->flash_pm_offset to define.
-	* config/avr/avr-devices.c (avr_arch_types): Add initializers for
-	new field flash_pm_offset.  Add entry for avrxmega3.
-	(avr_texinfo): Add entry for avrxmega3.
-	* config/avr/avr-mcus.def: Add entries for: avrxmega3,
-	attiny212, attiny214,
-	attiny412, attiny414, attiny416, attiny417,
-	attiny814, attiny816, attiny817,
-	attiny1614, attiny1616, attiny1617,
-	attiny3214, attiny3216, attiny3217.
-	* config/avr/avr.c (avr_assemble_integer)[AVR_TINY]: Use
-	avr_arch->flash_pm_offset instead of AVR_TINY_PM_OFFSET.
-	(avr_print_operand_address) [AVR_TINY]: Same.
-	(avr_asm_init_sections) <readonly_data_section>: Only patch
-	callback if avr_arch->flash_pm_offset = 0.
-	(avr_asm_named_section) <avr_need_copy_data_p>: Skip setting it
-	for rodata if avr_arch->flash_pm_offset != 0.
-	(avr_encode_section_info) [AVR_TINY]: Adjust comment.
-	* config/avr/genmultilib.awk (dir_rcall, opt_rcall): New vars.
-	(opts) [AVR_ISA_RCALL]: Append opt_rcall.
-	(m_options): Append opt_rcall.
-	(m_dirnames): Append dir_rcall.
-	* config/avr/t-multilib: Regenerate.
-
-	* configure.ac [target=avr]: Check whether avrxmega3 default
-	linker description file works as needed.
-	* configure: Regenerate.
-	* doc/avr-mmcu.texi: Regenerate.
-	* doc/invoke.texi (AVR Options) <-mshort-calls>: Document it.
-	<__AVR_ARCH__>: Document avrxmega3 and 103.
-	<__AVR_HAVE_JMP_CALL__>: Adjust documentation.
-	<__AVR_SHORT_CALLS__>: Document it.
-	<__AVR_PM_BASE_ADDRESS__>: Document it.
-	* doc/extend.texi (AVR Options) <-mshort-calls>: Document it.
-	(AVR Variable Attributes) <progmem>: Document this is
-	not needed for avrxmega3.
-	(AVR Named Address Spaces) <__flash>: Dito.
-
-2017-06-12  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_node::dump): Complain about profile insanities.
-
-2017-06-12  Doug Rupp  <rupp@adacore.com>
-
-	* config.gcc (*-*-vxworks*): Set use_gcc_stdint to "provide".
-	Append vxworks-stdint.h to the tm_file list.
-	* config/vxworks-stdint.h: New file.
-
-2017-06-12  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/81041
-	* tree-profile.c (gimple_gen_ic_func_profiler):
-	Create an extra BB in profile-generate
-	(gimple_gen_time_profiler): Likewise.
-
-2017-06-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/81003
-	* tree-ssa-reassoc.c (force_into_ssa_name): New function.
-	(update_range_test): Use it instead of force_gimple_operand_gsi.
-
-2017-06-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/81053
-	* tree-vect-loop.c (vect_is_simple_reduction): Handle PHI
-	with backedge value not defined in loop.  Simplify def stmt
-	compute.
-
-2017-06-11  Tom de Vries  <tom@codesourcery.com>
-
-	PR target/79939
-	* config/nvptx/nvptx.c (nvptx_cannot_force_const_mem): New function.
-	Return true.
-	(TARGET_CANNOT_FORCE_CONST_MEM): Redefine to
-	nvptx_cannot_force_const_mem.
-
-2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* opts.c (finish_options): Move test for flag_split_stack after
-	it has been initialized.
-
-2017-06-11  Jason Merrill  <jason@redhat.com>
-
-	* tree.h (id_equal): New.
-	* dwarf2out.c, hsa-gen.c, ipa-devirt.c, omp-expand.c,
-	omp-simd-clone.c, read-rtl-function.c, tree-chkp.c, tree.c: Use it
-	instead of strcmp of IDENTIFIER_POINTER.
-
-2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-transform.c: Include function.h, cfg.h and basic-block.h
-	(mark_all_inlined_calls_cdtor): Fix formating.
-	(inline_transform): Rescale profile before inlining.
-
-2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.h (cgraph_edge::clone): Update prototype.
-	* cgraphclones.c (cgraph_edge::clone): Update profile scaling.
-	(cgraph_node::create_clone): Update.
-	(cgraph_node::create_version_clone): Update.
-	* tree-inline.c (copy_bb): Update.
-	(expand_call_inline): Update.
-
-2017-06-10  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (emit_vrsave_prologue): New function,
-	factored out from ...
-	(rs6000_emit_prologue): ... here.
-
-2017-06-10  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (emit_split_stack_prologue): New function,
-	factored out from ...
-	(rs6000_emit_prologue): ... here.
-
-2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (drop_profile): Also drop individual bb/edge and cgraph
-	edge counts.
-	(handle_missing_profiles): Fix computation of tp_first_run.
-	(counts_to_freqs): Do not touch freqs when count is 0.
-
-2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphbuild.c (cgraph_edge::rebuild_references): Do not touch
-	profile.
-
-2017-06-10  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Effective-Target Keywords, Environment
-	attributes): Document signal effective target.
-
-2017-06-10  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
-	Document effective target stack_size.
-
-2017-06-09  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic.c (diagnostic_report_diagnostic): Only add fixits
-	to the edit_context if they can be auto-applied.
-
-2017-06-9  Ian Lance Taylor  <iant@golang.org>
-
-	* opts.c (finish_options): If -fsplit-stack, disable implicit
-	-forder-blocks-and-partition.
-	* doc/invoke.texi (Optimize Options): Document that when using
-	-fsplit-stack -forder-blocks-and-partition is not implicitly
-	enabled.
-
-2017-06-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* builtin-attrs.def (ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST,
-	ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST,
-	ATTR_TMPURE_NORETURN_NOTHROW_LEAF_COLD_LIST): New.
-	* builtins.def (abort, trap, unreachable): Declare cold.
-	* calls.c (flags_from_decl_or_type): Lookup ECF_COLD.
-	* tree-core.h (ECF_COLD): New.
-	* tree.c (set_call_expr_flags): Handle ECF_COLD.
-	(build_common_builtin_nodes): Mark unreachable and abort as cold.
-
-2017-06-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (unlikely_executed_stmt_p): Cleanup.
-
-2017-06-09  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-loop-im.c (execute_sm): Do not force multi-threaded
-	model if the ref is always written to.
-
-2017-06-09  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.md (lrint<GPF:mode><GPI:mode>2): New.
-
-2017-06-09  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm.c (arm_rtx_costs_internal): Make sdiv more expensive
-	than udiv.
-
-2017-06-09  Tom de Vries  <tom@codesourcery.com>
-
-	PR target/80855
-	* config/nvptx/nvptx.md (define_expand "mov<QHSDISDFM>"): Error out with
-	"target cannot support label values" when encountering LABEL_REF.
-
-2017-06-09  Martin Liska  <mliska@suse.cz>
-
-	* tree-profile.c (gimple_gen_ic_profiler): Update comment.
-	(gimple_gen_ic_func_profiler): Emit direct comparison
-	of __gcov_indirect_call_callee with NULL.
-	(gimple_gen_time_profiler): Change probability from
-	PROB_VERY_UNLIKELY to PROB_UNLIKELY.
-
-2017-06-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile.c (edge_gcov_counts): Turn to pointer.
-	(compute_branch_probabilities, compute_branch_probabilities): Update.
-	(branch_prob): Do not clear edge_gcov_count.
-	* profile.h (edge_gcov_counts): Turn to pointer.
-	(edge_gcov_count): Update.
-
-2017-06-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* gimple.h (gimple_check_failed): Mark cold.
-
-2017-06-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/66623
-	* tree-vect-loop.c (vect_is_simple_reduction): Cleanup,
-	refactor check_reduction into two parts, properly computing
-	whether we have to check reduction validity for outer loop
-	vectorization.
-
-2017-06-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79483
-	* graphite-scop-detection.c (order): New global.
-	(get_order): Compute bb to order mapping that satisfies code
-	generation constraints.
-	(cmp_pbbs): New helper.
-	(build_scops): Start domwalk at entry block, sort generated
-	pbbs.
-
-2017-06-09  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/81007
-	* ipa-polymorphic-call.c
-	(ipa_polymorphic_call_context::restrict_to_inner_class):
-	Skip FIELD_DECLs with error_mark_node type.
-	* passes.def (all_lowering_passes): Run pass_build_cgraph_edges
-	last again.
-
-2017-06-09  Martin Liska  <mliska@suse.cz>
-
-	* predict.c (struct branch_predictor): New struct.
-	(test_prediction_value_range): New test.
-	(predict_c_tests): New function.
-	* selftest-run-tests.c (selftest::run_tests): Run the function.
-	* selftest.h: Declare new tests.
-
-2017-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/80966
-	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
-	gen_add3_insn did not fail.
-	* config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
-	r0, construct that number in a temporary reg and add that reg to r0.
-	If asked to put the result in r0 as well, fail.
-
-2017-06-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
-	for early expansion of vec_eqv.
-
-2017-06-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/81005
-	* ubsan.c (instrument_null): Avoid pointless code temporary.
-	(pass_ubsan::execute): Instrument aggregate arguments of calls.
-
-2017-06-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/81015
-	Revert:
-	2016-12-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/59874
-	* config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
-	(*clzhi2): Ditto.
-
-2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (unlikely_executed_edge_p): Move ahead.
-	(probably_never_executed_edge_p): Use it.
-
-2017-06-08  Alexander Ivchenko  <alexander.ivchenko@intel.com>
-
-	PR middle-end/79988
-	* tree-chkp.c (chkp_gimple_call_builtin_p): Remove
-	gimple_call_builtin_p call.
-
-2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* system.h (fancy_abort): Annotate by ATTRIBUTE_COLD.
-	* rtl.h (rtl_check_failed_bounds, rtl_check_failed_type1,
-	rtl_check_failed_type2, rtl_check_failed_code1,
-	rtl_check_failed_code2, rtl_check_failed_code_mode,
-	rtl_check_failed_block_symbol, cwi_check_failed_bounds,
-	rtvec_check_failed_bounds, rtl_check_failed_flag,
-	_fatal_insn_not_found, _fatal_insn): Likewise.
-	* tree.h (tree_contains_struct_check_failed,
-	tree_check_failed, tree_not_check_failed,
-	tree_class_check_failed, tree_range_check_failed,
-	tree_not_class_check_failed, tree_int_cst_elt_check_failed,
-	tree_vec_elt_check_failed, phi_node_elt_check_failed,
-	tree_operand_check_failed, omp_clause_check_failed,
-	omp_clause_operand_check_failed, omp_clause_range_check_failed):
-	Likewise.
-
-2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_edge::maybe_hot_p): Do not check
-	flag_branch_probabilities.
-	* ipa-inline.c (edge_badness): Likewise.
-	* ipa-profile.c (ipa_propagate_frequency_1): Likewise.
-	* postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
-	* predict.c (maybe_hot_frequency_p): Likewise.
-	(probably_never_executed): Likewise.
-	* sched-ebb.c (schedule_ebbs): Likewise.
-	* sched-rgn.c (find_single_block_region): Likewise.
-	* tracer.c (tail_duplicate): Likewise.
-
-2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* opts.c (finish_options): x_flag_reorder_blocks_and_partition no
-	longer requires x_flag_profile_use.
-
-2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgrtl.c (cfg_layout_initialize): Check crtl->has_bb_partition
-	instead of flag_reorder_blocks_and_partition.
-	* dbxout.c (dbxout_function_end): Likewise.
-	* dwarf2out.c (gen_subprogram_die): Likewise.
-	* haifa-sched.c (sched_create_recovery_edges): Likewise.
-	* hw-doloop.c (reorg_loops): Likewise.
-	* varasm.c (assemble_start_function,
-	assemble_end_function): Likewise.
-	(decide_function_section): Do not check for
-	flag_reorder_blocks_and_partition.
-
-2017-06-08  Alexander Ivchenko  <alexander.ivchenko@intel.com>
-
-	* tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
-	New function.
-	(chkp_get_hard_register_fake_addr_expr): Ditto.
-	(chkp_build_addr_expr): Add check for hard reg case.
-	(chkp_parse_array_and_component_ref): Ditto.
-	(chkp_find_bounds_1): Ditto.
-	(chkp_process_stmt): Don't generate bounds store for
-	hard reg case.
-
-2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (maybe_hot_bb_p): Do not check profile status.
-	(maybe_hot_edge_p): Likewise.
-	(probably_never_executed): Check for zero counts even if profile
-	is not read.
-	(unlikely_executed_edge_p): New function.
-	(unlikely_executed_stmt_p): New function.
-	(unlikely_executed_bb_p): New function.
-	(set_even_probabilities): Use unlikely predicates.
-	(combine_predictions_for_bb): Likewise.
-	(predict_paths_for_bb): Likewise.
-	(predict_paths_leading_to_edge): Likewise.
-	(determine_unlikely_bbs): New function.
-	(estimate_bb_frequencies): Use it.
-	(compute_function_frequency): Use zero counts even if profile is
-	not read.
-	* profile-count.h: Fix typo.
-
-2017-08-08  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512bwintrin.h (_mm512_mask_cvtepi16_storeu_epi8,
-	_mm512_mask_cvtsepi16_storeu_epi8,
-	_mm512_mask_cvtusepi16_storeu_epi8): New intrinsics.
-	* config/i386/avx512vlbwintrin.h (_mm256_mask_cvtepi16_storeu_epi8,
-	_mm_mask_cvtsepi16_storeu_epi8, _mm256_mask_cvtsepi16_storeu_epi8,
-	_mm_mask_cvtusepi16_storeu_epi8, _mm256_mask_cvtusepi16_storeu_epi8,
-	_mm_mask_cvtepi16_storeu_epi8): New intrinsics.
-	* config/i386/i386-builtin-types.def (PV8Q, V8QI): New pointer type.
-	(VOID_FTYPE_PV32QI_V32HI_USI, VOID_FTYPE_PV8QI_V8HI_UQI,
-	VOID_FTYPE_PV16QI_V16HI_UHI): New function types.
-	* config/i386/i386-builtin.def (__builtin_ia32_pmovwb128mem_mask,
-	__builtin_ia32_pmovwb256mem_mask, __builtin_ia32_pmovswb128mem_mask,
-	__builtin_ia32_pmovswb256mem_mask, __builtin_ia32_pmovuswb128mem_mask,
-	__builtin_ia32_pmovuswb256mem_mask,
-	__builtin_ia32_pmovuswb512mem_mask, __builtin_ia32_pmovswb512mem_mask)
-	__builtin_ia32_pmovwb512mem_mask): New builtins.
-
-2017-08-08  Julia Koval  <julia.koval@intel.com>
-
-	PR target/73350,80862
-	* config/i386/subst.md (round): Fix round pattern.
-	* config/i386/i386.c (ix86_erase_embedded_rounding):
-	Fix erasing rounding for the fixed pattern.
-
-2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgbuild.c (find_many_sub_basic_blocks): Fix thinko.
-
-2017-06-08  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/80911
-	* gcov.c (block_info::block_info): New constructor.
-
-2017-06-07  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c: The return type of the following
-	built-in functions was implemented as int not long long.  Fix sign
-	of return value for the unsigned version of vec_mulo and vec_mule.
-	vector unsigned long long vec_bperm (vector unsigned long long,
-					     vector unsigned char)
-	vector signed long long vec_mule (vector signed int,
-					  vector signed int)
-	vector unsigned long long vec_mule (vector unsigned int,
-					    vector unsigned int)
-	vector signed long long vec_mulo (vector signed int,
-					  vector signed int)
-	vector unsigned long long vec_mulo (vector unsigned int,
-					    vector unsigned int)
-	* doc/extend.texi: Fix the documentation for the built-in
-	functions.
-
-2017-06-07  Carl Love  <cel@us.ibm.com>
-
-	PR target/80982
-	* config/rs6000/altivec.md (double<mode>2): Fix the implementation of
-	for BE.
-
-2017-06-07  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/altivec.md: Fix argument swizzle in vec_doublel
-	support, Generate	doublehv for signed int/float for BE case only.
-
-2017-06-07  Alexander Monakov  <amonakov@ispras.ru>
-
-	* doc/invoke.texi (mcx16): Rewrite.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/predicates.md (rs6000_nonimmediate_operand): Delete.
-	* config/rs6000/rs6000.md (*movsi_internal1, movsi_from_sf,
-	*mov<mode>_softfloat, and an anonymous splitter): Use
-	nonimmediate_operand instead of rs6000_nonimmediate_operand.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE_ACC and
-	SPEFSCR registers.
-	* config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Ditto.
-	(enum rs6000_reg_type): Delete SPE_ACC_TYPE and SPEFSCR_REG_TYPE.
-	(rs6000_debug_reg_global): Adjust.
-	(rs6000_init_hard_regno_mode_ok): Adjust.
-	(rs6000_dbx_register_number): Adjust.
-	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Change to 115.
-	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
-	Remove SPE_ACC and SPEFSCR.
-	(REG_ALLOC_ORDER): Ditto.
-	(FRAME_POINTER_REGNUM): Change to 111.
-	(enum reg_class): Remove the SPE_ACC and SPEFSCR registers.
-	(REG_CLASS_NAMES): Ditto.
-	(REG_CLASS_CONTENTS): Delete the SPE_ACC and SPEFSCR registers.
-	(REGISTER_NAMES): Ditto.
-	(ADDITIONAL_REG_NAMES): Ditto.
-	(rs6000_reg_names): Ditto.
-	* config/rs6000/rs6000.md: Renumber some register number
-	define_constants.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE high
-	registers.
-	* config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Ditto.
-	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Change from 149
-	to 117.
-	(DWARF_REG_TO_UNWIND_COLUMN): Do not define.
-	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
-	Delete the SPE high registers.
-	(REG_ALLOC_ORDER): Ditto.
-	(enum reg_class): Remove SPE_HIGH_REGS.
-	(REG_CLASS_NAMES): Ditto.
-	(REG_CLASS_CONTENTS): Delete the SPE high registers.
-	(REGISTER_NAMES): Ditto.
-	(rs6000_reg_names): Ditto.
-	* doc/tm.texi.in: Remove SPE as example.
-	* doc/tm.texi: Regenerate.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/8540.md (ppc8540_brinc): Delete.
-	* config/rs6000/e500mc.md (e500mc_brinc): Delete.
-	* config/rs6000/e500mc64.md (e500mc64_brinc): Delete.
-	* config/rs6000/rs6000.md (type): Remove "brinc".
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config.gcc (powerpc*-*-*): Don't add spe.h to extra_headers.
-	(powerpc*-linux*spe*): Use ${cpu_type} instead of rs6000.
-	* config/rs6000/linuxspe.h: Delete file.
-	* config/rs6000/rs6000.md: Don't include spe.md.
-	* config/rs6000/spe.h: Delete file.
-	* config/rs6000/spe.md: Delete file.
-	* config/rs6000/t-rs6000: Remove spe.md.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/predicates.md (reg_or_mem_operand): Reformat.
-	(reg_or_none500mem_operand): Delete.
-	* config/rs6000/rs6000.md (extendsfdf2): Use reg_or_mem_operand
-	instead of reg_or_none500mem_operand.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
-	handling of SPE flags.
-	* config/rs6000/rs6000.opt (-mspe, -mspe=no, -mspe=yes): Delete.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000-common.c (rs6000_handle_option): Remove
-	SPE ABI handling.
-	* config/rs6000/paired.md (paired_negv2sf2): Rename to negv2sf2.
-	(paired_absv2sf2, paired_addv2sf3, paired_subv2sf3, paired_mulv2sf3,
-	paired_divv2sf3): Similar.
-	* config/rs6000/predicates.md: Replace TARGET_SPE, TARGET_SPE_ABI,
-	SPE_VECTOR_MODE and SPE_HIGH_REGNO_P by 0; simplify.
-	* config/rs6000/rs6000-builtin.def: Delete RS6000_BUILTIN_E and
-	RS6000_BUILTIN_S.
-	Delete BU_SPE_1, BU_SPE_2, BU_SPE_3, BU_SPE_E, BU_SPE_P, and BU_SPE_X.
-	Rename the paired_* instruction patterns.
-	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Do not
-	define __SPE__.
-	* config/rs6000/rs6000-protos.h (invalid_e500_subreg): Delete.
-	* config/rs6000/rs6000.c: Delete RS6000_BUILTIN_E and RS6000_BUILTIN_S.
-	(struct rs6000_stack): Delete fields spe_gp_save_offset, spe_gp_size,
-	spe_padding_size, and spe_64bit_regs_used.  Replace TARGET_SPE and
-	TARGET_SPE_ABI with 0, simplify.  Replace SPE_VECTOR_MODE with
-	PAIRED_VECTOR_MODE.
-	(struct machine_function): Delete field spe_insn_chain_scanned_p.
-	(spe_func_has_64bit_regs_p): Delete.
-	(spe_expand_predicate_builtin): Delete.
-	(spe_expand_evsel_builtin): Delete.
-	(TARGET_DWARF_REGISTER_SPAN): Do not define.
-	(TARGET_MEMBER_TYPE_FORCES_BLK): Do not define.
-	(invalid_e500_subreg): Delete.
-	(rs6000_legitimize_address): Always force_reg op2 as well, for
-	paired single memory accesses.
-	(rs6000_member_type_forces_blk): Delete.
-	(rs6000_spe_function_arg): Delete.
-	(rs6000_expand_unop_builtin): Delete SPE handling.
-	(rs6000_expand_binop_builtin): Ditto.
-	(spe_expand_stv_builtin): Delete.
-	(bdesc_2arg_spe): Delete.
-	(spe_expand_builtin): Delete.
-	(spe_expand_predicate_builtin): Delete.
-	(spe_expand_evsel_builtin): Delete.
-	(rs6000_invalid_builtin): Remove RS6000_BTM_SPE handling.
-	(spe_init_builtins): Delete.
-	(spe_func_has_64bit_regs_p): Delete.
-	(savres_routine_name): Delete "info" parameter.  Adjust callers.
-	(rs6000_emit_stack_reset): Ditto.
-	(rs6000_dwarf_register_span): Delete.
-	* config/rs6000/rs6000.h (TARGET_SPE_ABI, TARGET_SPE,
-	UNITS_PER_SPE_WORD, SPE_HIGH_REGNO_P, SPE_SIMD_REGNO_P,
-	SPE_VECTOR_MODE, RS6000_BTM_SPE, RS6000_BUILTIN_E, RS6000_BUILTIN_S):
-	Delete.
-	* config/rs6000/rs6000.md (FIRST_SPE_HIGH_REGNO, LAST_SPE_HIGH_REGNO):
-	Delete.
-	* config/rs6000/rs6000.opt (-mabi=spe, -mabi=no-spe): Delete.
-	* config/rs6000/spe.md: Delete every pattern that uses TARGET_SPE.
-	* config/rs6000/vector.md (absv2sf2, negv2sf2, addv2sf3, subv2sf3,
-	mulv2sf3, divv2sf3): Delete expanders.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Delete.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit): Delete.
-	* config/rs6000/rs6000.c: Ditto.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/predicated.md (rs6000_cbranch_operator): Delete.
-	* config/rs6000/rs6000.md: Replace rs6000_cbranch_operator by
-	comparison_operator.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c: Remove everything related to -mfloat-gprs.
-	* config/rs6000/rs6000.opt: Ditto.
-	* config/rs6000/t-rtems: Ditto.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/predicates.md: Replace TARGET_E500_DOUBLE and
-	TARGET_E500_SINGLE by 0, simplify.
-	* config/rs6000/rs6000.c: Ditto.
-	(rs6000_option_override_internal): Delete CHECK_E500_OPTIONS.
-	(spe_build_register_parallel): Delete.
-	* config/rs6000/rs6000.h: Delete TARGET_E500_SINGLE,
-	TARGET_E500_DOUBLE, and CHECK_E500_OPTIONS.
-	* config/rs6000/rs6000.md: Replace TARGET_E500_DOUBLE,
-	TARGET_E500_SINGLE, and <E500_CONVERT> by 0, simplify.
-	(E500_CONVERT): Delete.
-	* config/rs6000/spe.md: Remove many patterns and all define_constants.
-
-2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/darwin.md: Replace TARGET_FPRS by 1 and simplify.
-	* config/rs6000/dfp.md: Ditto.
-	(negdd2, *negdd2_fpr): Merge.
-	(absdd2, *absdd2_fpr): Merge.
-	(negtd2, *negtd2_fpr): Merge.
-	(abstd2, *abstd2_fpr): Merge.
-	* config/rs6000/e500.h: Delete file.
-	* config/rs6000/predicates.md (rs6000_cbranch_operator): Replace
-	TARGET_FPRS by 1 and simplify.
-	* config/rs6000/rs6000-c.c: Ditto.
-	* config/rs6000/rs6000.c: Ditto.  Also replace TARGET_SF_SPE and
-	TARGET_DF_SPE by 0.
-	* config/rs6000/rs6000.h: Ditto.  Delete TARGET_SF_SPE and
-	TARGET_DF_SPE.
-	* config/rs6000/rs6000.md: Ditto.
-	(floatdidf2, *floatdidf2_fpr): Merge.
-	(move_from_CR_gt_bit): Delete.
-	* config/rs6000/spe.md: Replace TARGET_FPRS by 1 and simplify.
-	(E500_CR_IOR_COMPARE): Delete.
-	(All patterns that require !TARGET_FPRS): Delete.
-	* config/rs6000/vsx.md: Replace TARGET_FPRS by 1 and simplify.
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	* passes.def (pass_iv_canon): Move before pass_loop_distribution.
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	* graphds.c (add_edge): Intitialize edge's attached data.
-	(foll_in_subgraph, dfs_fst_edge, dfs_next_edge): New function
-	pointer parameter.  Call pointed function on each edge during
-	graph traversing.  Skip traversing the edge when the function
-	returns true.
-	(graphds_dfs, graphds_scc): Ditto.
-	(for_each_edge): New parameter.  Pass the new parameter to callback
-	function.
-	* graphds.h (skip_edge_callback): New function pointer type.
-	(graphds_dfs, graphds_scc): New function pointer parameter.
-	(graphds_edge_callback, for_each_edge): New parameter.
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Factor
-	out code checking if runtime alias check is possible to below ...
-	Call the new function.
-	* tree-data-ref.c (runtime_alias_check_p): ... to new function.
-	* tree-data-ref.h (runtime_alias_check_p): New decalaration.
-
-2017-06-07  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80932
-	* fold-const.c (extract_muldiv_1) <case MINUS_EXPR>: Add
-	TYPE_OVERFLOW_WRAPS check.
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (vect_do_peeling): Don't skip vector loop
-	if versioning is required.
-	* tree-vect-loop.c (vect_analyze_loop_2): Merge niter check for loop
-	peeling with the check for versioning.
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vectorizer.h (vect_build_loop_niters): New parameter.
-	* tree-vect-loop-manip.c (vect_build_loop_niters): New parameter.
-	Set true to new parameter if new ssa variable is defined.
-	(vect_gen_vector_loop_niters): Refactor.  Set range information
-	for the new vector loop bound variable.
-	(vect_do_peeling): Ditto.
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-affine.c (ssa.h): Include header file.
-	(tree_to_aff_combination): Handle (T1)(X - CST) when inner type
-	has wrapping overflow behavior.
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-affine.c (tree_to_aff_combination): Handle (T1)(X + X).
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	(aff_combination_expand): Move (T1)(X *+- CST) simplification to ...
-	(tree_to_aff_combination): ... here.
-
-2017-06-07  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (ivopts_estimate_reg_pressure): New
-	reg_pressure model function.
-	(ivopts_global_cost_for_size): Delete.
-	(determine_set_costs, iv_ca_recount_cost): Call new model function
-	ivopts_estimate_reg_pressure.
-
-2017-06-07  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_rtx_costs): Make sdiv more
-	expensive than udiv.  Remove floating point cases from mod.
-
-2017-06-07  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/aarch-cost-tables.h (cortexa53_extra_cost):
-	Increase idiv cost.
-
-2017-06-07  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.md
-	(copysignsf3): Fix mask generation.
-
-2017-06-07  Jakub Jelinek  <jakub@redhat.com>
-
-	* dumpfile.h (enum tree_dump_index): Rename TDI_generic to
-	TDI_gimple.
-	(class dump_manager): Add register_dumps method.
-	* dumpfile.c: Include langhooks.h.
-	(dump_files): Use 0 instead of 3/4/5 for TDI_{original,gimple,nested}.
-	(FIRST_AUTO_NUMBERED_DUMP): Decrease to 1.
-	(FIRST_ME_AUTO_NUMBERED_DUMP): Define.
-	(dump_manager::dump_register): Start with 512 entries instead of 32.
-	(dump_manager::register_dumps): New method.
-	* toplev.c (general_init): Instead of invoking register_dumps
-	langhook, invoke register_dumps method on the dump manager.
-	* gimplify.c (gimplify_function_tree): Use TDI_gimple instead of
-	TDI_generic.
-
-2017-06-07  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* doc/md.texi: Clarify the restrictions on a define_insn condition.
-	Say that # requires an associated define_split to exist, and that
-	the define_split must be suitable for use after register allocation.
-
-2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgbuild.c (find_bb_boundaries): Initialize profile of split blocks.
-	(compute_outgoing_frequencies): Also initialize zero counts.
-	(find_many_sub_basic_blocks): Do not produce uninitialized profile
-	around loops; preserve more of profile when nothing changes.
-
-2017-06-06  Jim Wilson  <jim.wilson@linaro.org>
-
-	* config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs): Move to
-	here.
-	* config/arm/aarch-cost-tables.h (qdf24xx_extra_costs): From here.
-	* config/arm/arm-cpu-cdata.h: Regenerate.
-	* config/arm/arm-cpu-data.h, config/arm/arm-cpu.h: Likewise.
-	* config/arm/arm-tables.opt, config/arm/arm-tune.md: Likewise.
-	* config/arm/arm-cpus.in: Delete falkor and qdf24xx entries.
-	* config/arm/arm.c (arm_qdf24xx_tune): Delete.
-	* config/arm/bpabi.h (BE8_LINK_SPEC): Delete falkor and qdf24xx
-	support.
-	* config/arm/t-aprofile (MULTILIB_MATCHES): Delete falkor and qdf24xx
-	support.
-	* config/arm/t-rmprofile: Likewise.
-	* doc/invoke.texi (ARM Options): Drop falkor and qdf24xx support.
-
-2017-06-06  David S. Miller  <davem@davemloft.net>
-
-	PR target/80968
-	* config/sparc/sparc.c (sparc_expand_prologue): Emit frame
-	blockage if function uses alloca.
-
-2017-06-06  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
-
-	* tree-ssa-loop-prefetch.c (struct mem_ref_group, struct mem_ref):
-	New "uid" fields to hold pretty-print IDs of group and ref.
-	Memory references are now identified as <group_id>:<ref_id>
-	instead of using [random] addresses.
-	(dump_mem_details): Simplify, no functional change.
-	(dump_mem_ref): Simplify and make output more concise.
-	Replace couple of fprintf's throughout code with calls to dump_mem_ref.
-	(find_or_create_group): Initialize group uid.
-	(record_ref): Initialize ref uid.  Improve debug output.
-	(prune_group_by_reuse, should_issue_prefetch_p,)
-	(should_issue_prefetch_p, schedule_prefetches, issue_prefetch_ref,)
-	(mark_nontemporal_store, determine_loop_nest_reuse):
-	Improve debug output.
-
-2017-06-06  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
-
-	* dbgcnt.def (prefetch): New debug counter.
-	* tree-ssa-loop-prefetch.c (dbgcnt.h): New include.
-	(schedule_prefetches): Stop issueing prefetches if debug counter
-	tripped.
-
-2017-06-06  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Testsuites, C Language Testsuites,
-	gcc.c-torture/compile): Remove mention of NO_LABEL_VALUES in fixme.
-
-2017-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/atomics.md (atomic_compare_and_swap<mode> expander):
-	Use aarch64_reg_or_zero predicate for operand 4.
-	(aarch64_compare_and_swap<mode> define_insn_and_split):
-	Use aarch64_reg_or_zero predicate for operand 3.  Add 'Z' constraint.
-	(aarch64_store_exclusive<mode>): Likewise for operand 2.
-
-2017-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (arm_compute_save_reg_mask): Rename into ...
-	(arm_compute_save_core_reg_mask): This.
-	(thumb1_compute_save_reg_mask): Rename into ...
-	(thumb1_compute_save_core_reg_mask): This.
-	(arm_compute_save_reg0_reg12_mask): Adapt comment.
-	(arm_compute_frame_layout): Likewise.
-
-2017-06-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80974
-	* tree-ssa-sccvn.c (set_ssa_val_to): Do not change but only
-	keep or clear leaders SSA info.
-
-2017-06-06  Tom de Vries  <tom@codesourcery.com>
-
-	* config/nvptx/nvptx.c (split_mode_p): New function.
-	(nvptx_declare_function_name, nvptx_print_operand): Use split_mode_p.
-
-2017-06-06  Tom de Vries  <tom@codesourcery.com>
-
-	* config/nvptx/nvptx.c (nvptx_print_operand): Use maybe_split_mode.
-
-2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR bootstrap/80978
-	* tree-cfg.c (execute_fixup_cfg): Fix condition on when to rescale
-	profile.
-
-2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* shrink-wrap.c (handle_simple_exit): Update profile.
-	(try_shrink_wrapping): Upate profile.
-
-2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (tree_estimate_probability_bb): Add LOCAL_ONLY.
-	(tree_guess_outgoing_edge_probabilities): New.
-	* predict.h (tree_guess_outgoing_edge_probabilities): Declare.
-	* tree-cfg.c (gimple_find_sub_bbs): Propagate profile.
-
-2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-split.c (split_function): Initialize return bb profile.
-
-2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile.c (compute_branch_probabilities): Also initialize
-	EXIT_BLOCK profile.
-
-2017-06-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80928
-	* tree-vect-loop.c (vect_update_vf_for_slp): Amend dumps.
-	(vect_analyze_loop_operations): Properly guard analysis for
-	pure SLP case.
-	(vect_transform_loop): Likewise.
-	(vect_analyze_loop_2): Also reset SLP type on PHIs.
-	(vect_model_induction_cost): Do not cost for pure SLP.
-	(vectorizable_induction): Pass in SLP node, implement SLP vectorization
-	of induction in inner loop vectorization.
-	* tree-vect-slp.c (vect_create_new_slp_node): Handle PHIs.
-	(vect_get_and_check_slp_defs): Handle vect_induction_def.
-	(vect_build_slp_tree): Likewise.  Handle PHIs as terminating the
-	recursion.
-	(vect_analyze_slp_cost_1): Cost induction.
-	(vect_detect_hybrid_slp_stmts): Handle PHIs.
-	(vect_get_slp_vect_defs): Likewise.
-	* tree-vect-stmts.c (vect_analyze_stmt): Handle induction.
-	(vect_transform_stmt): Handle SLP reductions.
-	* tree-vectorizer.h (vectorizable_induction): Adjust.
-
-2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (make_resolver_func): Update
-	init_lowered_empty_function call.
-
-2017-06-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/invoke.texi: Document the -fprofile-abs-path option.
-	* common.opt (fprofile-abs-path): New option.
-	* gcov-io.h (gcov_write_filename): Declare.
-	* gcov-io.c (gcov_write_filename): New function.
-	* coverage.c (coverage_begin_function): Use gcov_write_filename.
-	* profile.c (output_location): Likewise.
-
-2017-06-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* shring-wrap.c: Revert accidental commit.
-
-2017-06-05  Volker Reichelt  <v.reichelt@netcologne.de>
-
-	* doc/invoke.texi (-Wduplicated-branches): Add to warning list.
-
-2017-06-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgexpand.c (expand_gimple_tailcall): Initialize profile of
-	new edge.
-	* ipa-inline.c (want_inline_self_recursive_call_p): Watch for missing
-	profile in callgraph edge.
-	* profile-count.h (apply_probability): If THIS is 0, then result is 0
-	(apply_scale): Likewise.
-	* tree-inline.c (copy_bb, copy_edges_for_bb, copy_cfg_body):
-	Also scale profile when inlining function with zero profile.
-	(initialize_cfun): Update exit block profile even when it is zero.
-	* tree-ssa-threadupdate.c (clear_counts_path): Handle correctly case
-	when profile is read.
-
-2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (toplevel): Include attribs.h.
-	(CLONE_*): New constants to define the processors we can generate
-	code for with the target_clone attribute.
-	(rs6000_clone_map): New array to identify which clone processors
-	the current program is running on.
-	(TARGET_COMPARE_VERSION_PRIORITY): Define to enable the
-	target_clone attribute.
-	(TARGET_GENERATE_VERSION_DISPATCHER_BODY): Likewise.
-	(TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): Likewise.
-	(TARGET_OPTION_FUNCTION_VERSIONS): Likewise.
-	(cpu_expand_builtin): Add support for target_clone attribute.
-	(rs6000_valid_attribute_p): Allow "default" attribute.
-	(get_decl_name): New debug function to simplify printing the
-	current function name in debugging statements.
-	(rs6000_clone_priority): New functions to support the target_clone
-	attribute, and be able to generate code to switch between ISA 2.05
-	through ISA 3.0 (power6 through power9).
-	(rs6000_compare_version_priority): Likewise.
-	(rs6000_get_function_versions_dispatcher): Likewise.
-	(make_resolver_func): Likewise.
-	(add_condition_to_bb): Likewise.
-	(dispatch_function_versions): Likewise.
-	(rs6000_generate_version_dispatcher_body): Likewise.
-	(rs6000_can_inline_p): Call get_decl_name for debugging usage.
-	(fusion_gpr_load_p): Fix a spacing issue.
-	* doc/extend.texi (Common Function Attributes): Document that the
-	PowerPC supports the target_clone attribute.
-
-2017-06-05  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.h: explain F symbol found in description of ARM
-	register allocation in its legend.
-
-2017-06-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* config/mips/frame-header-opt.c: Include profile-count.h.
-	* config/riscv/riscv.c: Include profile-count.h
-
-2017-06-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-im.c (execute_sm_if_changed): Add FLAG_BBS parameter;
-	update profile.
-	(sm_set_flag_if_changed): Add bbs field.
-	(execute_sm_if_changed_flag_set): Pass BBS.
-	(execute_sm): Update.
-
-2017-06-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_store_lane0<mode>):
-	New pattern.
-
-2017-06-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.md (sub<mode>3_compare1_imm): New define_insn.
-	(peephole2): New peephole2 to emit the above.
-	* config/aarch64/predicates.md (aarch64_sub_immediate): New predicate.
-
-2017-06-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (define_peephole2 above
-	*sub_<shift>_<mode>): New peephole.
-
-2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* config/i386/i386.c (make_resolver_func): Update.
-	* Makefile.in: Add profile-count.h and profile-count.o
-	* auto-profile.c (afdo_indirect_call): Update to new API.
-	(afdo_set_bb_count): Update.
-	(afdo_propagate_edge): Update.
-	(afdo_propagate_circuit): Update.
-	(afdo_calculate_branch_prob): Update.
-	(afdo_annotate_cfg): Update.
-	* basic-block.h: Include profile-count.h
-	(struct edge_def): Turn count to profile_count.
-	(struct basic_block_def): Likewie.
-	(REG_BR_PROB_BASE): Move to profile-count.h
-	(RDIV): Move to profile-count.h
-	* bb-reorder.c (max_entry_count): Turn to profile_count.
-	(find_traces): Update.
-	(rotate_loop):Update.
-	(connect_traces):Update.
-	(sanitize_hot_paths):Update.
-	* bt-load.c (migrate_btr_defs): Update.
-	* cfg.c (RDIV): Remove.
-	(init_flow): Use alloc_block.
-	(alloc_block): Uninitialize count.
-	(unchecked_make_edge): Uninitialize count.
-	(check_bb_profile): Update.
-	(dump_edge_info): Update.
-	(dump_bb_info): Update.
-	(update_bb_profile_for_threading): Update.
-	(scale_bbs_frequencies_int): Update.
-	(scale_bbs_frequencies_gcov_type): Update.
-	(scale_bbs_frequencies_profile_count): New.
-	* cfg.h (update_bb_profile_for_threading): Update.
-	(scale_bbs_frequencies_profile_count): Declare.
-	* cfgbuild.c (compute_outgoing_frequencies): Update.
-	(find_many_sub_basic_blocks): Update.
-	* cfgcleanup.c (try_forward_edges): Update.
-	(try_crossjump_to_edge): Update.
-	* cfgexpand.c (expand_gimple_tailcall): Update.
-	(construct_exit_block): Update.
-	* cfghooks.c (verify_flow_info): Update.
-	(dump_bb_for_graph): Update.
-	(split_edge): Update.
-	(make_forwarder_block): Update.
-	(duplicate_block): Update.
-	(account_profile_record): Update.
-	* cfgloop.c (find_subloop_latch_edge_by_profile): Update.
-	(get_estimated_loop_iterations): Update.
-	* cfgloopanal.c (expected_loop_iterations_unbounded): Update.
-	(single_likely_exit): Update.
-	* cfgloopmanip.c (scale_loop_profile): Update.
-	(loopify): Update.
-	(set_zero_probability): Update.
-	(lv_adjust_loop_entry_edge): Update.
-	* cfgrtl.c (force_nonfallthru_and_redirect): Update.
-	(purge_dead_edges): Update.
-	(rtl_account_profile_record): Update.
-	* cgraph.c (cgraph_node::create): Uninitialize count.
-	(symbol_table::create_edge): Uninitialize count.
-	(cgraph_update_edges_for_call_stmt_node): Update.
-	(cgraph_edge::dump_edge_flags): Update.
-	(cgraph_node::dump): Update.
-	(cgraph_edge::maybe_hot_p): Update.
-	* cgraph.h: Include profile-count.h
-	(create_clone), create_edge, create_indirect_edge): Update.
-	(cgraph_node): Turn count to profile_count.
-	(cgraph_edge0: Likewise.
-	(make_speculative, clone): Update.
-	(create_edge): Update.
-	(init_lowered_empty_function): Update.
-	* cgraphclones.c (cgraph_edge::clone): Update.
-	(duplicate_thunk_for_node): Update.
-	(cgraph_node::create_clone): Update.
-	* cgraphunit.c (cgraph_node::analyze): Update.
-	(cgraph_node::expand_thunk): Update.
-	* final.c (dump_basic_block_info): Update.
-	* gimple-streamer-in.c (input_bb): Update.
-	* gimple-streamer-out.c (output_bb): Update.
-	* graphite.c (print_global_statistics): Update.
-	(print_graphite_scop_statistics): Update.
-	* hsa-brig.c: Include basic-block.h.
-	* hsa-dump.c: Include basic-block.h.
-	* hsa-gen.c (T sum_slice): Update.
-	(convert_switch_statements):Update.
-	* hsa-regalloc.c: Include basic-block.h.
-	* ipa-chkp.c (chkp_produce_thunks): Update.
-	* ipa-cp.c (struct caller_statistics): Update.
-	(init_caller_stats): Update.
-	(gather_caller_stats): Update.
-	(ipcp_cloning_candidate_p): Update.
-	(good_cloning_opportunity_p): Update.
-	(get_info_about_necessary_edges): Update.
-	(dump_profile_updates): Update.
-	(update_profiling_info): Update.
-	(update_specialized_profile): Update.
-	(perhaps_add_new_callers): Update.
-	(decide_about_value): Update.
-	(ipa_cp_c_finalize): Update.
-	* ipa-devirt.c (struct odr_type_warn_count): Update.
-	(struct decl_warn_count): Update.
-	(struct final_warning_record): Update.
-	(possible_polymorphic_call_targets): Update.
-	(ipa_devirt): Update.
-	* ipa-fnsummary.c (redirect_to_unreachable): Update.
-	* ipa-icf.c (sem_function::merge): Update.
-	* ipa-inline-analysis.c (do_estimate_edge_time): Update.
-	* ipa-inline.c (compute_uninlined_call_time): Update.
-	(compute_inlined_call_time): Update.
-	(want_inline_small_function_p): Update.
-	(want_inline_self_recursive_call_p): Update.
-	(edge_badness): Update.
-	(lookup_recursive_calls): Update.
-	(recursive_inlining): Update.
-	(inline_small_functions): Update.
-	(dump_overall_stats): Update.
-	(dump_inline_stats): Update.
-	* ipa-profile.c (ipa_profile_generate_summary): Update.
-	(ipa_propagate_frequency): Update.
-	(ipa_profile): Update.
-	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
-	* ipa-utils.c (ipa_merge_profiles): Update.
-	* loop-doloop.c (doloop_modify): Update.
-	* loop-unroll.c (report_unroll): Update.
-	(unroll_loop_runtime_iterations): Update.
-	* lto-cgraph.c (lto_output_edge): Update.
-	(lto_output_node): Update.
-	(input_node): Update.
-	(input_edge): Update.
-	(merge_profile_summaries): Update.
-	* lto-streamer-in.c (input_cfg): Update.
-	* lto-streamer-out.c (output_cfg): Update.
-	* mcf.c (create_fixup_graph): Update.
-	(adjust_cfg_counts): Update.
-	(sum_edge_counts): Update.
-	* modulo-sched.c (sms_schedule): Update.
-	* postreload-gcse.c (eliminate_partially_redundant_load): Update.
-	* predict.c (maybe_hot_count_p): Update.
-	(probably_never_executed): Update.
-	(dump_prediction): Update.
-	(combine_predictions_for_bb): Update.
-	(propagate_freq): Update.
-	(handle_missing_profiles): Update.
-	(counts_to_freqs): Update.
-	(rebuild_frequencies): Update.
-	(force_edge_cold): Update.
-	* predict.h: Include profile-count.h
-	(maybe_hot_count_p, counts_to_freqs): UPdate.
-	* print-rtl-function.c: Do not include cfg.h
-	* print-rtl.c: Include basic-block.h
-	* profile-count.c: New file.
-	* profile-count.h: New file.
-	* profile.c (is_edge_inconsistent): Update.
-	(correct_negative_edge_counts): Update.
-	(is_inconsistent): Update.
-	(set_bb_counts): Update.
-	(read_profile_edge_counts): Update.
-	(compute_frequency_overlap): Update.
-	(compute_branch_probabilities): Update; Initialize and deinitialize
-	gcov_count tables.
-	(branch_prob): Update.
-	* profile.h (bb_gcov_counts, edge_gcov_counts): New.
-	(edge_gcov_count): New.
-	(bb_gcov_count): New.
-	* shrink-wrap.c (try_shrink_wrapping): Update.
-	* tracer.c (better_p): Update.
-	* trans-mem.c (expand_transaction): Update.
-	(ipa_tm_insert_irr_call): Update.
-	(ipa_tm_insert_gettmclone_call): Update.
-	* tree-call-cdce.c: Update.
-	* tree-cfg.c (gimple_duplicate_sese_region): Update.
-	(gimple_duplicate_sese_tail): Update.
-	(gimple_account_profile_record): Update.
-	(execute_fixup_cfg): Update.
-	* tree-inline.c (copy_bb): Update.
-	(copy_edges_for_bb): Update.
-	(initialize_cfun): Update.
-	(freqs_to_counts): Update.
-	(copy_cfg_body): Update.
-	(expand_call_inline): Update.
-	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
-	* tree-ssa-loop-ivcanon.c (unloop_loops): Update.
-	(try_unroll_loop_completely): Update.
-	(try_peel_loop): Update.
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
-	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Update.
-	* tree-ssa-loop-split.c (connect_loops): Update.
-	* tree-ssa-loop-unswitch.c (hoist_guard): Update.
-	* tree-ssa-reassoc.c (branch_fixup): Update.
-	* tree-ssa-tail-merge.c (replace_block_by): Update.
-	* tree-ssa-threadupdate.c (create_block_for_threading): Update.
-	(compute_path_counts): Update.
-	(update_profile): Update.
-	(recompute_probabilities): Update.
-	(update_joiner_offpath_counts): Update.
-	(estimated_freqs_path): Update.
-	(freqs_to_counts_path): Update.
-	(clear_counts_path): Update.
-	(ssa_fix_duplicate_block_edges): Update.
-	(duplicate_thread_path): Update.
-	* tree-switch-conversion.c (case_bit_test_cmp): Update.
-	(struct switch_conv_info): Update.
-	* tree-tailcall.c (decrease_profile): Update.
-	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
-	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
-	* value-prof.c (check_counter): Update.
-	(gimple_divmod_fixed_value): Update.
-	(gimple_mod_pow2): Update.
-	(gimple_mod_subtract): Update.
-	(gimple_ic_transform): Update.
-	(gimple_stringop_fixed_value): Update.
-	* value-prof.h (gimple_ic): Update.
-
-2017-06-02  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c: Add support for built-in functions
-	vector double vec_doublee (vector signed int);
-	vector double vec_doublee (vector unsigned int);
-	vector double vec_doublee (vector float);
-	vector double vec_doubleh (vector signed int);
-	vector double vec_doubleh (vector unsigned int);
-	vector double vec_doubleh (vector float);
-	vector double vec_doublel (vector signed int);
-	vector double vec_doublel (vector unsigned int);
-	vector double vec_doublel (vector float);
-	vector double vec_doubleo (vector signed int);
-	vector double vec_doubleo (vector unsigned int);
-	vector double vec_doubleo (vector float);.
-	* config/rs6000/rs6000-builtin.def: Add definitions for DOUBLEE,
-	DOUBLEO, DOUBLEH, DOUBLEL, UNS_DOUBLEO, UNS_DOUBLEE, UNS_DOUBLEH,
-	UNS_DOUBLEL.
-	* config/rs6000/altivec.md: Add code generator for doublee<mode>2,
-	unsdoubleev4si2, doubleo<mode>2, unsdoubleov4si2, doubleh<mode>2,
-	unsdoublehv4si2, doublel<mode>2, unsdoublelv4si2, add mode attribute
-	VS_sxwsp.
-	* config/rs6000/altivec.h: Add define for vec_doublee, vec_doubleo,
-	vec_doublel, vec_doubleh.
-	* doc/extend.texi: Update the built-in documentation file for the
-	new built-in functions.
-
-2017-06-02  David Malcolm  <dmalcolm@redhat.com>
-
-	PR jit/80954
-	* ipa-inline-analysis.c (free_growth_caches): Set
-	edge_removal_hook_holder to NULL after removing it.
-
-2017-06-02  Sudakshina Das  <sudi.das@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for
-	comparision with zero.
-
-2017-06-02  Will Schmidt  <will_schmidt@vnet.ibm.com>
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
-	for early expansion of vec_min and vec_max builtins.
-	(builtin_function_type): Add min/max unsigned variants to those
-	identified as having unsigned arguments.
-
-2017-06-02  Olivier Hainque  <hainque@adacore.com>
-
-	* config/vx-common.h (DWARF_UNWIND_INFO): Switch #define to 1.
-
-2017-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64-simd.md (*aarch64_simd_vec_copy_lane<mode>):
-	Use VALL_F16 iterator rather than VALL.
-
-2017-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_split_compare_and_swap):
-	Emit CBNZ inside loop when doing a strong exchange and comparing
-	against zero.  Generate the CC flags after the loop.
-
-2017-06-02  David Edelsohn  <dje.gcc@gmail.com>
-
-	* dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New.
-	(dl_section_ref): New.
-	(dwarf2out_finish): Copy debug_line_section_label to dl_section_ref.
-	On AIX, append an expression to subtract the size of the
-	section length to dl_section_ref.
-
-2017-06-02  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
-	for early expansion of vector absolute builtins.
-
-2017-06-02  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_detect_hybrid_slp_2): Match up
-	what we consider a relevant use stmt with vect_detect_hybrid_slp_stmts.
-
-2017-06-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80948
-	* tree-tailcall.c (find_tail_calls): Track stmts to move in
-	stmt order as well.
-
-2017-06-02  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_analyze_loop_operations): Not relevant
-	PHIs are ok.
-	* tree-vect-stmts.c (process_use): Do not mark backedge defs
-	for inductions as relevant.
-
-2017-06-02  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (get_initial_def_for_induction): Inline into ...
-	(vectorizable_induction): ... this.  Remove dead code.
-
-2017-06-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* builtins. (expand_builtin_alloca): Remove second parameter and
-	infer its value from the first parameter instead.
-	(expand_builtin) <BUILT_IN_ALLOCA>: Adjust call to above.
-
-2017-06-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/80903
-	* loop-doloop.c (add_test): Unshare sequence.
-
-2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/invoke.texi: Document the -Wsizeof-pointer-div warning.
-
-2017-06-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* config/i386/i386.c (x86_64_ms_sysv_extra_clobbered_registers): Make
-	static.
-	(xlogue_layout::get_stack_space_used, xlogue_layout::s_instances,
-	xlogue_layout::get_instance, logue_layout::xlogue_layout,
-	sp_valid_at, fp_valid_at, choose_basereg): Formatting.
-	(xlogue_layout::get_stub_rtx): Make static.
-	(xlogue_layout::get_stub_name): Avoid const-cast, make static.
-	(xlogue_layout::compute_stub_managed_regs): Rename to...
-	(xlogue_layout::count_stub_managed_regs): ...this.
-	(xlogue_layout::is_stub_managed_reg): New function.
-	(xlogue_layout::m_stub_names): Rename to...
-	(xlogue_layout::s_stub_names): ...this, make static.
-	(xlogue_layout::STUB_INDEX_OFFSET, xlogue_layout::MIN_REGS,
-	xlogue_layout::MAX_REGS, xlogue_layout::MAX_EXTRA_REGS,
-	xlogue_layout::VARIANT_COUNT, xlogue_layout::STUB_NAME_MAX_LEN,
-	xlogue_layout::s_stub_names): Instantiate statics.
-	(stub_managed_regs): Remove.
-	(ix86_save_reg): Use xlogue_layout::compute_stub_managed_regs.
-	(disable_call_ms2sysv_xlogues): Rename to...
-	(warn_once_call_ms2sysv_xlogues): ...this, and warn only once.
-	(ix86_initial_elimination_offset, ix86_expand_call): Fix call_ms2sysv
-	warning logic.
-	(ix86_static_chain): Make sure that ix86_static_chain_on_stack can't
-	change after reload_completed.
-	(ix86_can_use_return_insn_p): Use the ix86_frame data structure
-	directly.
-	(ix86_expand_prologue): Likewise.
-	(ix86_expand_epilogue): Likewise.
-	(ix86_expand_split_stack_prologue): Likewise.
-	(ix86_compute_frame_layout): Remove frame parameter ...
-	(TARGET_COMPUTE_FRAME_LAYOUT): ... and export it as a target hook.
-	(ix86_finalize_stack_realign_flags): Call ix86_compute_frame_layout
-	only if necessary.
-	(ix86_init_machine_status): Don't set use_fast_prologue_epilogue_nregs.
-	(ix86_frame): Move from here ...
-	* config/i386/i386.h (ix86_frame): ... to here.
-	(machine_function): Remove use_fast_prologue_epilogue_nregs, cache the
-	complete ix86_frame data structure instead.  Remove some_ld_name.
-
-2017-06-01  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (dwarf2out_late_global_decl): Add locations for
-	symbols that hold a DECL_VALUE_EXPR.
-
-2017-06-01  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/80898
-	* tree-sra.c (process_subtree_disqualification): Removed.
-	(disqualify_candidate): Do not acll
-	process_subtree_disqualification.
-	(subtree_mark_written_and_enqueue): New function.
-	(propagate_all_subaccesses): Set grp_write of LHS subtree if the
-	RHS has been disqualified and re-queue LHS if necessary.  Apart
-	from that, ignore disqualified RHS.
-
-2017-06-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_emit_epilogue): Disable early return
-	address fetch for z10 or later.
-
-2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (tst_movb): Add guard when splitting.
-
-2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_can_eliminate): Test against
-	arc_frame_pointer_needed.
-
-2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_expand_prologue): Emit a special barrier
-	to prevent store reordering.
-	* config/arc/arc.md (UNSPEC_ARC_STKTIE): Define.
-	(type): Add block type.
-	(stack_tie): Define special instruction to be used in
-	expand_prologue.
-
-2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (commutative_binary_comparison): Remove 'I'
-	constraint. It is not valid for the pattern.
-	(noncommutative_binary_comparison): Likewise.
-
-2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/simdext.md (movv2hi_insn): Change predicate to avoid
-	scaled addresses.
-
-2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_conditional_register_usage): Allow r30 to
-	be used by the reg-alloc.
-
-2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (mulsi3): Avoid use of hard registers before
-	reg-alloc when having mul64 or mul32x16 instructions.
-	(mulsidi3): Likewise.
-	(umulsidi3): Likewise.
-	(mulsi32x16): New pattern.
-	(mulsi64): Likewise.
-	(mulsidi64): Likewise.
-	(umulsidi64): Likewise.
-	(MUL32x16_REG): Define.
-	(mul64_600): Use MUL32x16_REG.
-	(mac64_600): Likewise.
-	(umul64_600): Likewise.
-	(umac64_600): Likewise.
-
-2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (mulsi3_700): Make it commutative.
-
-2017-06-01  Jose E. Marchesi  <jose.marchesi@oracle.com>
-
-	* config/sparc/sparc.md (*zero_extendsidi2_insn_sp64): Set insn
-	type for movstouw.
-	(*sign_extendsidi2_insn): Likewise for movstosw.
-
-2017-06-01  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (get_discr_value): Call the get_debug_type hook on
-	the type of the input discriminant value.  Convert the
-	discriminant value of signedness vary.
-
-2017-06-01  Volker Reichelt  <v.reichelt@netcologne.de>
-
-	* doc/invoke.texi (-Wcatch-value): Document new shortcut.
-	Add to -Wall section.
-
-2017-06-01  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/66313
-	* fold-const.c (fold_plusminus_mult_expr): If the factored
-	factor may be zero use a wrapping type for the inner operation.
-	* tree-tailcall.c (independent_of_stmt_p): Pass in to_move bitmap
-	and handle moved defs.
-	(process_assignment): Properly guard the unary op case.  Return a
-	tri-state indicating that moving the stmt before the call may allow
-	to continue.  Pass through to_move.
-	(find_tail_calls): Handle moving unrelated defs before
-	the call.
-
-2017-05-31  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/80618
-	* config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the
-	splitter result in the canonical way.
-
-2017-05-31  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*zero_extendsidi2): Enable alternative (?r, *Yj)
-	also for 32bit target.  Update insn attributes.
-	(zero-extendsidi2 splitter): Allow all registers for operand 1.
-
-2017-05-31  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* config/i386/avx512fintrin.h (_mm_mask_max_sd)
-	(_mm_maskz_max_sd, _mm_mask_max_ss, _mm_maskz_max_ss)
-	(_mm_mask_min_sd, _mm_maskz_min_sd, _mm_mask_min_ss)
-	(_mm_maskz_min_ss): New intrinsics.
-
-2017-05-31  Martin Liska  <mliska@suse.cz>
-
-	* tree-vect-loop.c (vect_create_epilog_for_reduction):
-	Change comment style to one we normally use.
-	(vectorizable_reduction): Likewise.
-	(vectorizable_induction): Likewise.
-	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
-	(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.
-	* tree-vectorizer.h: Likewise.
-
-2017-05-31  Alexander Monakov  <amonakov@ispras.ru>
-
-	* passes.c (emergency_dump_function): New.
-	* tree-pass.h (emergency_dump_function): Declare.
-	* plugin.c (plugins_internal_error_function): Remove.
-	* plugin.h (plugins_internal_error_function): Remove declaration.
-	* toplev.c (internal_error_function): New static function.  Use it...
-	(general_init): ...here.
-
-2017-05-31  Graham Markall  <graham.markall@embecosm.com>
-
-	* config/arc/arc.c (arc_print_operand): Handle constant operands.
-	(arc_rtx_costs): Add costs for new patterns.
-	* config/arc/arc.md: Additional *add_n and *sub_n patterns.
-	* config/arc/predicates.md: Add _1_2_3_operand predicate.
-
-2017-05-31  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-ssa-strlen.c (get_next_strinfo): New function.
-	(get_stridx_plus_constant): Use it.
-	(zero_length_string): Likewise.
-	(adjust_related_strinfos): Likewise.
-	(adjust_last_stmt): Likewise.
-
-2017-05-31  Richard Biener  <rguenther@suse.de>
-
-	PR target/80880
-	* config/i386/i386.c (ix86_expand_builtin): Remove assert
-	for arg being an SSA name when expanding IX86_BUILTIN_BNDRET.
-
-2017-05-31  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-vect-data-refs.c (vect_find_same_alignment_drs): Remove
-	loop_vinfo argument and use of dependence distance vectors.
-	Check instead whether the two references differ only in their
-	initial value and assume that they have the same alignment if the
-	difference is a multiple of the vector alignment.
-	(vect_analyze_data_refs_alignment): Update call accordingly.
-
-2017-05-31  Martin Liska  <mliska@suse.cz>
-
-	PR target/79155
-	* config/i386/cpuid.h: Fix typo in a comment in cpuid.h.
-
-2017-05-31  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (create_intersect_range_checks_index)
-	(create_intersect_range_checks): Move from ...
-	* tree-data-ref.c (create_intersect_range_checks_index)
-	(create_intersect_range_checks): ... to here.
-	(create_runtime_alias_checks): New function factored from ...
-	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): ...
-	here.  Call above function.
-	* tree-data-ref.h (create_runtime_alias_checks): New function.
-
-2017-05-31  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-data-ref.c (prune_runtime_alias_test_list): Relax minimal
-	segment length for dr_b and compute it in wide_int.
-
-2017-05-31  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80906
-	* graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get
-	and pass through iv_map.
-	(copy_bb_and_scalar_dependences): Adjust.
-	(translate_pending_phi_nodes): Likewise.
-	(copy_loop_close_phi_args): Handle code-generating IVs instead
-	of ICEing.
-
-2017-05-30  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-color.c (color_dict): Add "type-diff".
-	(parse_gcc_colors): Update comment.
-	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-	-fdiagnostics-show-template-tree and -fno-elide-type.
-	(GCC_COLORS): Add type-diff to example.
-	(type-diff=): New.
-	(-fdiagnostics-show-template-tree): New.
-	(-fno-elide-type): New.
-	* pretty-print.c (pp_format): Pass quote and formatters[argno] to
-	the pp_format_decoder callback.  Call any m_format_postprocessor's
-	"handle" method.
-	(pretty_printer::pretty_printer): Initialize
-	m_format_postprocessor.
-	(pretty_printer::~pretty_printer): Delete any
-	m_format_postprocessor.
-	* pretty-print.h (printer_fn): Add bool and const char ** parameters.
-	(class format_postprocessor): New class.
-	(struct pretty_printer::format_decoder): Document the new parameters.
-	(struct pretty_printer::m_format_postprocessor): New field.
-	* tree-diagnostic.c (default_tree_printer): Update for new
-	bool and const char ** params.
-	* tree-diagnostic.h (default_tree_printer): Likewise.
-
-2017-05-30  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/predicates.md (cc_reg_not_micro_cr0_operand): Delete.
-	(lwa_operand): Delete rs6000_gen_cell_microcode test.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
-	rs6000_gen_cell_microcode code.
-	(rs6000_final_prescan_insn): Delete.
-	(rs6000_opt_vars): Delete the "gen-cell-microcode" and
-	"warn-cell-microcode" entries.
-	* config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Delete.
-	* config/rs6000/rs6000.md: Delete rs6000_gen_cell_microcode tests
-	throughout.  Change cc_reg_not_micro_cr0_operand to
-	cc_reg_not_cr0_operand throughout.
-	(*extendhi<mode>2_noload): Delete.
-	* config/rs6000/rs6000.opt (mgen-cell-microcode): Replace by stub.
-	(mwarn-cell-microcode): Delete.
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete
-	-mgen-cell-microcode and -mwarn-cell-microcode.
-
-2017-05-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80833
-	* config/i386/constraints.md (Yd): New constraint.
-	(Ye): Ditto.
-	* config/i386/i386.md (*movti_internal): Add (?r, Ye)
-	and (?Yd, r) alternatives.  Update insn attributes.
-	* config/i386/i386.md (*movti_internal): Add (?r, *Ye)
-	and (?*Yd, r) alternatives.  Update insn attributes.
-	(double-mode inter-unit splitters): Add new GR<->XMM splitters.
-
-2017-05-30  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gimplify.c (gimplify_modify_expr): Don't create a
-	DECL_DEBUG_EXPR link if *FROM_P does not belong to the current
-	function.
-
-2017-05-30  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm-builtins.c (arm_expand_builtin): Remove const.
-
-2017-05-30  Richard Biener  <rguenther@suse.de>
-
-	* tree-vectorizer.h (struct _stmt_vec_info): Add reduc_type
-	and reduc_def fields.
-	(STMT_VINFO_REDUC_TYPE): New define.
-	(STMT_VINFO_REDUC_DEF): Likewise.
-	(vect_force_simple_reduction): Adjust prototype.
-	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Adjust.
-	(vect_is_simple_reduction): Remove check_reduction argument.
-	(vect_force_simple_reduction): Adjust and set
-	STMT_VINFO_REDUC_TYPE and STMT_VINFO_REDUC_DEF.
-	(vectorizable_reduction): Do not re-do reduction analysis
-	but use STMT_VINFO_REDUC_TYPE and STMT_VINFO_REDUC_DEF.
-	* tree-parloops.c (gather_scalar_reductions): Adjust.
-
-2017-05-30  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80901
-	* cfgexpand.c (expand_gimple_cond): Match up loop fixup with
-	split_edge code.
-
-2017-05-24  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs):
-	Introduce unknown_misalignment parameter and remove vf.
-	(vect_peeling_hash_get_lowest_cost):
-	Pass unknown_misalignment parameter.
-	(vect_enhance_data_refs_alignment):
-	Fix unsupportable data ref treatment.
-
-2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* tree-vect-data-refs.c (vect_get_data_access_cost):
-	Workaround for SLP handling.
-	(vect_enhance_data_refs_alignment):
-	Compute costs for doing no peeling at all, compare to the best
-	peeling costs so far and avoid peeling if cheaper.
-
-2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* tree-vect-data-refs.c (vect_peeling_hash_choose_best_peeling):
-	Return peeling info and set costs to zero for unlimited cost
-	model.
-	(vect_enhance_data_refs_alignment): Also inspect all datarefs
-	with unknown misalignment. Compute and costs for unknown
-	misalignment, compare them to the costs for known misalignment
-	and choose the cheapest for peeling.
-
-2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Rename.
-	(vect_get_peeling_costs_all_drs): Create function.
-	(vect_peeling_hash_get_lowest_cost):
-	Use vect_get_peeling_costs_all_drs.
-	(vect_peeling_supportable): Create function.
-	(vect_enhance_data_refs_alignment): Use vect_peeling_supportable.
-
-2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Create
-	DR_HAS_NEGATIVE_STEP.
-	(vect_update_misalignment_for_peel): Define DR_MISALIGNMENT.
-	(vect_enhance_data_refs_alignment): Use.
-	(vect_duplicate_ssa_name_ptr_info): Use.
-	* tree-vectorizer.h (dr_misalignment): Use.
-	(known_alignment_for_access_p): Use.
-
-2017-05-30  Jozef Lawrynowicz  <jozef.l@somniumtech.com>
-
-	PR target/78838
-	* config/msp430/msp430.c (gen_prefix): Return NULL when section name is
-	.lowtext.
-	(has_section_name): New function.
-
-2017-05-30  Martin Liska  <mliska@suse.cz>
-
-	PR other/80909
-	* auto-profile.c (get_function_decl_from_block): Fix
-	parenthesis.
-
-2017-05-30  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80876
-	* cfgexpand.c (expand_gimple_cond): Fixup preserving loops again.
-
-2017-05-30  Martin Liska  <mliska@suse.cz>
-
-	* dumpfile.c: Use newly added macro DUMP_FILE_INFO.
-	* dumpfile.h (struct dump_file_info): Remove ctors.
-
-2017-05-30  Martin Liska  <mliska@suse.cz>
-
-	* predict.def: Fix GNU coding style.
-
-2017-05-29  Max Filippov  <jcmvbkbc@gmail.com>
-
-	* config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
-	Mark 'to' argument with ATTRIBUTE_UNUSED.
-
-2017-05-29  Max Filippov  <jcmvbkbc@gmail.com>
-
-	* config/xtensa/xtensa.c (xtensa_emit_call): Use
-	HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
-	(print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
-	format string.
-
-2017-05-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/install.texi (Options specification): Restore entry of
-	--enable-sjlj-exceptions.
-
-2017-05-27  Michael Eager  <eager@eagercon.com>
-
-	Revert:
-	2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
-
-	See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html.
-
-	* config/microblaze/microblaze.h
-	(FIXED_REGISTERS): Update in macro.
-	(CALL_USED_REGISTERS): Update in macro.
-
-2017-05-27  François-Xavier Coudett  <fxcoudert@gcc.gnu.org>
-
-	* doc/install.texi: Add links to macOS binary distributions.
-
-2017-05-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/80887
-	Revert:
-	2017-05-25  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd ((A +- CST1) +- CST2): Allow some conversions.
-
-2017-05-26  Martin Liska  <mliska@suse.cz>
-
-	* dumpfile.h (enum dump_kind): Renumber TDF_* flags to be contiguous.
-
-2017-05-26  Martin Liska  <mliska@suse.cz>
-
-	* cfg.c (check_bb_profile): Do not use TDF_COMMENT and print
-	always leading ';; '.
-	(dump_bb_info): Likewise.
-	(brief_dump_cfg): Likewise.
-	* cfgrtl.c (print_rtl_with_bb): Do not use TDF_COMMENT.
-	* dumpfile.c: Remove usage of TDF_VERBOSE.
-	* dumpfile.h (enum dump_kind): Likewise.
-	(dump_gimple_bb_header): Do not use TDF_COMMENT.
-	* print-tree.c (debug_verbose): Remove.
-	* tree-cfg.c (gimple_dump_cfg): Do not use TDF_COMMENT.
-	(dump_function_to_file): Remove dumps guarded with TDF_VERBOSE.
-	* tree-diagnostic.c (default_tree_printer): Replace
-	TDF_DIAGNOSTIC with TDF_SLIM.
-
-2017-05-26  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass
-	in parameter loop, rather than loop_vinfo.
-	(create_intersect_range_checks): Ditto.
-	(vect_create_cond_for_alias_checks): Update call to above functions.
-
-2017-05-26  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/80815
-	* tree-data-ref.c (prune_runtime_alias_test_list): Simplify condition
-	for merging runtime alias checks.  Handle negative DR_STEPs.
-
-2017-05-26  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-data-refs.c (Operator==, comp_dr_with_seg_len_pair):
-	Move from ...
-	* tree-data-ref.c (Operator==, comp_dr_with_seg_len_pair): To here.
-	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Factor
-	out code pruning runtime alias checks.
-	* tree-data-ref.c (prune_runtime_alias_test_list): New function
-	factored out from above.
-	* tree-vectorizer.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
-	Move from ...
-	* tree-data-ref.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
-	... to here.
-	(prune_runtime_alias_test_list): New decalaration.
-
-2017-05-26  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-data-refs.c (compare_tree): Rename and move ...
-	* tree-data-ref.c (data_ref_compare_tree): ... to here.
-	* tree-data-ref.h (data_ref_compare_tree): New decalaration.
-	* tree-vect-data-refs.c (dr_group_sort_cmp): Update uses.
-	(operator==, comp_dr_with_seg_len_pair): Ditto.
-	(vect_prune_runtime_alias_test_list): Ditto.
-
-2017-05-26  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/80663
-	* params.def: Bound partial-inlining-entry-probability param.
-
-2017-05-26  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80875
-	* fold-const.c (fold_binary_loc) <case MULT_EXPR>: Check if OP1
-	can be negated.
-
-2017-05-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80842
-	* tree-ssa-ccp.c (set_lattice_value): Always meet with the old
-	value.
-
-2017-05-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80844
-	* tree-vectorizer.c (adjust_simduid_builtins): Propagate results.
-
-2017-05-25  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* doc/md.texi (Machine Constraints): Update x86 family
-	machine constraints section to match 'config/i386/constraints.md'.
-
-2017-05-25  Volker Reichelt  <v.reichelt@netcologne.de>
-
-	* doc/invoke.texi (-Wcatch-value=): Document new warning option.
-
-2017-05-25  Nathan Sidwell  <nathan@acm.org>
-
-	* doc/invoke.texi (--enable-languages): Update documentation.
-
-2017-05-25  Martin Liska  <mliska@suse.cz>
-
-	* dumpfile.c: Add TDF_FOLDING.
-	* dumpfile.h (enum dump_kind): Likewise.
-	* genmatch.c (dt_simplify::gen_1): Use it.
-
-2017-05-25  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (view_convert (convert@0 @1)): Handle zero-extension.
-
-2017-05-25  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd ((A +- CST1) +- CST2): Allow some conversions.
-	* tree.c (drop_tree_overflow): Handle COMPLEX_CST and VECTOR_CST.
-
-2017-05-25  Marc Glisse  <marc.glisse@inria.fr>
-
-	* fold-const.c (fold_binary_loc) [(A & C) == D]: Remove transformation.
-	* match.pd (X == C): Rewrite it here.
-	(with_possible_nonzero_bits, with_possible_nonzero_bits2,
-	with_certain_nonzero_bits2): New predicates.
-	* tree-ssanames.c (get_nonzero_bits): Handle INTEGER_CST.
-
-2017-05-24  Nathan Sidwell  <nathan@acm.org>
-
-	* lto-streamer-in.c (lto_input_data_block): Adjust T const cast to
-	avoid warning.
-
-	* auto-profile.c (afdo_propagate): Adjust T const cast to avoid
-	warning.
-
-2017-05-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/powerpcspe: New port.  Files are copied from the rs6000
-	port, with "rs6000" in filenames replaced by "powerpcspe".
-
-2017-05-24  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR rtl-optimization/80754
-	* lra-remat.c (do_remat): Add overlap checks for dst_regno.
-
-2017-05-24  Sheldon Lobo  <smlobo@sheldon.us.oracle.com>
-
-	* config/sparc/sparc.md (length): Return the correct value for -mflat
-	sibcalls to match output_sibcall.
-
-2017-05-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR bootstrap/80860
-	PR bootstrap/80843
-	* config/rs6000/rs6000.c (struct machine_function): Add new field
-	n_components.
-	(rs6000_get_separate_components): Init that field, use it.
-	(rs6000_components_for_bb): Use the field.
-
-2017-05-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (arm_expand_prologue): Fix typo in comment.
-
-2017-05-24  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR middle-end/80823
-	* tree-cfg.c (group_case_labels_stmt): Delete increment of "i";
-
-2017-05-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/80725
-	* config/s390/s390.c (s390_check_qrst_address): Check incoming
-	address against address_operand predicate.
-	* config/s390/s390.md ("*indirect_jump"): Swap alternatives.
-
-2017-05-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* var-tracking.c (track_expr_p): Do not return 0 for tracked record
-	parameters passed indirectly.
-
-2017-05-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*movdi_internal): Remove SSE4
-	alternative 18 (?r, *v).  Update insn attributes.
-	(*movsi_internal): Remove SSE4 alternative 13 (?r, *v).
-	Update insn attributes.
-	(*zero_extendsidi2): Remove SSE4 alternative (?r, *x).
-	Update insn attributes.
-	* config/i386/sse.md (vec_extract<ssevecmodelower>_0): Remove SSE4
-	alternative 1 (r, v). Remove isa attribute.
-	* config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
-	Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC
-	and !TARGET_INTER_UNIT_MOVES_TO_VEC targets.
-
-2017-05-23  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Directives, Verify compiler message): Document
-	dg-line directive.
-
-2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphunit.c (symbol_table::process_new_functions): Update.
-	* ipa-fnsummary.c (pass_data_inline_parameters): Remove.
-	(inline_generate_summary): Rename to ...
-	(ipa_fn_summary_generate): ... this one.
-	(inline_read_summary): Rename to ...
-	(ipa_fn_summary_read): ... this one.
-	(inline_write_summary): Rename to ...
-	(ipa_fn_summary_write): ... this one.
-	(inline_free_summary): Rename to ...
-	(ipa_free_fn_summary): ... this one.
-	(pass_data_local_fn_summary, pass_local_fn_summary,
-	make_pass_local_fn_summary, pass_data_ipa_free_fn_summary,
-	pass_ipa_free_fn_summary, make_pass_ipa_free_fn_summary,
-	pass_data_ipa_fn_summary, pass_ipa_fn_summary,
-	make_pass_ipa_fn_summary): New.
-	* ipa-fnsummary.h (inline_generate_summary, inline_read_summary,
-	inline_write_summary, inline_free_summary): Remove.
-	(ipa_free_fn_summary) : New.
-	* ipa-inline.c (ipa_inline): Update.
-	(pass_ipa_inline): Do not generate summaries.
-	* ipa.c (pass_data_ipa_free_fn_summary, pass_ipa_free_fn_summary):
-	Remove.
-	* passes.def: Replace pass_inline_parameters by pass_local_fn_summary
-	and add pass_ipa_fn_summary.
-	* tree-pass.h (make_pass_ipa_fn_summary, make_pass_local_fn_summary):
-	New.
-	(make_pass_inline_parameters): Remove.
-
-2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* omp-low.c (struct omp_context): Remove "default_kind" member.
-	Adjust all users.
-
-	* omp-offload.c (execute_oacc_device_lower): Remove the
-	parallelism dimensions function attributes for unparallelized
-	OpenACC kernels constructs.
-
-2017-05-23  Martin Liska  <mliska@suse.cz>
-
-	* cgraph.c (cgraph_node::get_create): Use symtab_node::dump_{asm_,}name
-	functions.
-	(cgraph_edge::make_speculative): Likewise.
-	(cgraph_edge::resolve_speculation): Likewise.
-	(cgraph_edge::redirect_call_stmt_to_callee): Likewise.
-	(cgraph_node::dump): Likewise.
-	* cgraph.h: Likewise.
-	* cgraphunit.c (analyze_functions): Likewise.
-	(symbol_table::compile): Likewise.
-	* ipa-cp.c (print_all_lattices): Likewise.
-	(determine_versionability): Likewise.
-	(initialize_node_lattices): Likewise.
-	(ipcp_verify_propagated_values): Likewise.
-	(estimate_local_effects): Likewise.
-	(update_profiling_info): Likewise.
-	(create_specialized_node): Likewise.
-	(perhaps_add_new_callers): Likewise.
-	(decide_about_value): Likewise.
-	(decide_whether_version_node): Likewise.
-	(identify_dead_nodes): Likewise.
-	(ipcp_store_bits_results): Likewise.
-	* ipa-devirt.c (dump_targets): Likewise.
-	(ipa_devirt): Likewise.
-	* ipa-icf.c (sem_item::dump): Likewise.
-	(sem_function::equals): Likewise.
-	(sem_variable::equals): Likewise.
-	(sem_item_optimizer::read_section): Likewise.
-	(sem_item_optimizer::execute): Likewise.
-	(congruence_class::dump): Likewise.
-	* ipa-inline-analysis.c (dump_ipa_call_summary): Likewise.
-	(dump_inline_summary): Likewise.
-	(estimate_node_size_and_time): Likewise.
-	(inline_analyze_function): Likewise.
-	* ipa-inline-transform.c (inline_call): Likewise.
-	* ipa-inline.c (report_inline_failed_reason): Likewise.
-	(want_early_inline_function_p): Likewise.
-	(edge_badness): Likewise.
-	(update_edge_key): Likewise.
-	(inline_small_functions): Likewise.
-	* ipa-profile.c (ipa_profile): Likewise.
-	* ipa-prop.c (ipa_print_node_jump_functions): Likewise.
-	(ipa_make_edge_direct_to_target): Likewise.
-	(remove_described_reference): Likewise.
-	(ipa_impossible_devirt_target): Likewise.
-	(propagate_controlled_uses): Likewise.
-	(ipa_print_node_params): Likewise.
-	(ipcp_transform_function): Likewise.
-	* ipa-pure-const.c (pure_const_read_summary): Likewise.
-	(propagate_pure_const): Likewise.
-	* ipa-reference.c (generate_summary): Likewise.
-	(read_write_all_from_decl): Likewise.
-	(propagate): Likewise.
-	(ipa_reference_read_optimization_summary): Likewise.
-	* ipa-utils.c (ipa_merge_profiles): Likewise.
-	* ipa.c (walk_polymorphic_call_targets): Likewise.
-	(symbol_table::remove_unreachable_nodes): Likewise.
-	(ipa_single_use): Likewise.
-	* passes.c (execute_todo): Likewise.
-	* predict.c (drop_profile): Likewise.
-	* symtab.c (symtab_node::get_dump_name): New function.
-	(symtab_node::dump_name): Likewise.
-	(symtab_node::dump_asm_name): Likewise.
-	(symtab_node::dump_references): Likewise.
-	(symtab_node::dump_referring): Likewise.
-	(symtab_node::dump_base): Likewise.
-	(symtab_node::debug_symtab): Likewise.
-	* tree-sra.c (convert_callers_for_node): Likewise.
-	* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
-	* value-prof.c (init_node_map): Likewise.
-
-2017-05-23  Martin Liska  <mliska@suse.cz>
-
-	* cgraph.h: Move symtab_node::dump_table to symbol_table::dump
-	and symtab_node::debug_symtab to symbol_table::debug.
-	* cgraphunit.c (analyze_functions): Use the renamed function.
-	(symbol_table::compile): Likewise.
-	* ipa-cp.c (ipcp_verify_propagated_values): Likewise.
-	* ipa-icf.c (sem_item_optimizer::execute): Likewise.
-	* passes.c (execute_todo): Likewise.
-	* symtab.c (symbol_table::dump): New function.
-	* tree-ssa-structalias.c (ipa_pta_execute): Use the renamed function.
-
-2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (estimate_node_size_and_time): Do not sanity check
-	that nonconst implies exec.
-
-2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
-	inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
-	(inline_edge_summary_vec): Turn into ...
-	(ipa_call_summaries): ... this one.
-	(redirect_to_unreachable, edge_set_predicate,
-	evaluate_properties_for_edge, inline_summary_alloc,
-	reset_ipa_call_summary, reset_inline_summary,
-	inline_summary_t::duplicate): Update.
-	(inline_edge_duplication_hook): Turn to ...
-	(ipa_call_summary_t::duplicate): ... this one.
-	(inline_edge_removal_hook): Turn to ...
-	(ipa_call_summary_t::remove): ... this one.
-	(dump_inline_edge_summary): Turn to ...
-	(dump_ipa_call_summary): ... this one.
-	(estimate_function_body_sizes): Update.
-	(inline_update_callee_summaries): Update.
-	(remap_edge_change_prob): Update.
-	(remap_edge_summaries): Update.
-	(inline_merge_summary): Update.
-	(do_estimate_edge_time): Update.
-	(inline_generate_summary): Update.
-	(inline_read_section): Update.
-	(inline_read_summary): Update.
-	(inline_free_summary): Update.
-	* ipa-inline.c (can_inline_edge_p): Update.
-	(compute_inlined_call_time): Update.
-	(want_inline_small_function_p): Update.
-	(edge_badness): Update.
-	(early_inliner): Update.
-	* ipa-inline.h (inline_edge_summary): Turn to ...
-	(ipa_call_summary): ... this one.
-	(ipa_call_summary_t): New class.
-	(inline_edge_summary_t, inline_edge_summary_vec): Remove.
-	(ipa_call_summaries): New.
-	(inline_edge_summary): Remove.
-	(estimate_edge_growth): Update.
-	* ipa-profile.c (ipa_propagate_frequency_1): Update.
-	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
-	* ipa-split.c (execute_split_functions): Update.
-	* ipa.c (symbol_table::remove_unreachable_nodes): Update.
-
-2017-05-23  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Effective-Target Keywords, Other hardware
-	attributes): Document rdrand effective target.
-
-2017-05-23  Tom de Vries  <tom@codesourcery.com>
-
-	* doc/sourcebuild.texi (Effective-Target Keywords, Other hardware
-	attributes): Sort alphabetically.
-
-2017-05-23  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/genmultilib.awk: Use gsub instead of gensub.
-
-2017-05-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/80718
-	* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Split
-	V2DF/V2DI splat into two separate patterns, one that handles
-	registers, and the other that only handles memory.  Drop support
-	for splatting from a GPR on ISA 2.07 and then splitting the
-	splat into direct move and splat.
-	(vsx_splat_<mode>_reg): Likewise.
-	(vsx_splat_<mode>_mem): Likewise.
-
-2017-05-22  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* cfgcleanup.c (bb_is_just_return): Allow CLOBBERs.
-
-2017-05-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/80809
-	* omp-low.c (finish_taskreg_remap): New function.
-	(finish_taskreg_scan): If unit size of ctx->record_type
-	is non-constant, unshare the size expression and replace
-	decls in it with possible outer var refs.
-
-	PR middle-end/80809
-	* gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use
-	GOVD_SHARED rather than GOVD_PRIVATE with it.
-	(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect
-	GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE.
-
-	PR middle-end/80853
-	* omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE
-	as last argument to build_outer_var_ref for pointer bases of array
-	section reductions.
-
-2017-05-19  Martin Sebor  <msebor@redhat.com>
-
-	* print-tree.c (print_node): Print DECL_READ_P flag.
-
-2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
-
-	* Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h
-	* auto-profile.c: Replace ipa-inline.h by ipa-fnsummary.h
-	* cgraph.c: Likewise.
-	* cgraphunit.c: Likewise.
-	* gengtype.c: Likewise.
-	* ipa-cp.c: Likewise.
-	* ipa-devirt.c: Likewise.
-	* ipa-icf.c: Likewise.
-	* ipa-predicate.c: Likewise.
-	* ipa-profile.c: Likewise.
-	* ipa-prop.c: Likewise.
-	* ipa-split.c: Likewise.
-	* ipa.c: Likewise.
-	* ipa-inline-analysis.c (inline_summaries, ipa_call_summaries,
-	edge_predicate_pool, dump_inline_hints,
-	inline_summary::account_size_time, redirect_to_unreachable,
-	edge_set_predicate, set_hint_predicate,
-	evaluate_conditions_for_known_args, evaluate_properties_for_edge,
-	inline_summary_alloc, ipa_call_summary::reset, inline_summary::reset,
-	inline_summary_t::remove, remap_hint_predicate_after_duplication,
-	inline_summary_t::duplicate, ipa_call_summary_t::duplicate,
-	ipa_call_summary_t::remove, initialize_growth_caches,
-	free_growth_caches, dump_ipa_call_summary, dump_inline_summary,
-	debug_inline_summary, dump_inline_summaries, initialize_inline_failed,
-	mark_modified, unmodified_parm_1, unmodified_parm,
-	unmodified_parm_or_parm_agg_item, eliminated_by_inlining_prob,
-	set_cond_stmt_execution_predicate, set_switch_stmt_execution_predicate,
-	compute_bb_predicates, will_be_nonconstant_expr_predicate,
-	will_be_nonconstant_predicate, record_modified_bb_info,
-	get_minimal_bb, record_modified, param_change_prob,
-	phi_result_unknown_predicate, predicate_for_phi_result,
-	array_index_predicate, clobber_only_eh_bb_p, fp_expression_p,
-	estimate_function_body_sizes, compute_inline_parameters,
-	compute_inline_parameters_for_curren, pass_data_inline_parameters,
-	estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,
-	inline_update_callee_summaries, remap_edge_change_prob,
-	remap_edge_summaries, remap_hint_predicate, inline_merge_summary,
-	inline_update_overall_summary, inline_indirect_intraprocedural_analysis,
-	inline_analyze_function, inline_summary_t::insert,
-	inline_generate_summary, read_ipa_call_summary, inline_read_section,
-	inline_read_summary, write_ipa_call_summary, inline_write_summary,
-	inline_free_summary): Move to ipa-fnsummary.h
-	(predicate_t): Remove.
-	* ipa-fnsummary.c: New file.
-	* ipa-inline.h:  Do not include sreal.h and ipa-predicate.h
-	(enum inline_hints_vals, inline_hints, agg_position_info,
-	INLINE_SIZE_SCALE, size_time_entry, inline_summary, inline_summary_t,
-	inline_summaries, ipa_call_summary, ipa_call_summary_t,
-	ipa_call_summaries, debug_inline_summary, dump_inline_summaries,
-	dump_inline_summary, dump_inline_hints, inline_generate_summary,
-	inline_read_summary, inline_write_summary, inline_free_summary,
-	inline_analyze_function, initialize_inline_failed,
-	inline_merge_summary, inline_update_overall_summary,
-	compute_inline_parameters): Move to ipa-fnsummary.h
-	* ipa-fnsummary.h: New file.
-	* ipa-inline-transform.h: Include ipa-inline.h.
-	* ipa-inline.c: LIkewise.
-
-2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (edge_badness): Use inlined_time instead of
-	inline_summaries->get.
-
-2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (edge_badness): Use estimate_size_after_inlining.
-
-2017-05-22  Nathan Sidwell  <nathan@acm.org>
-
-	* doc/invoke.texi (fdump-translation-unit): Delete documentation.
-	(fdump-lang): Document 'raw' option.
-	* dumpfile.h (TDI_tu): Delete.
-	* dumpfile.c (dump_files): Remove translation-unit.
-	(FIRST_AUTO_NUMBERED_DUMP): Decrement.
-
-2017-05-22  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/t-avr (AWK) [t-multilib]: Remove "-v FORMAT=Makefile"
-	command option from $(AWK) call.
-	* config/avr/genmultilib.awk: Simplify and rewrite so that it
-	generates MULTILIB_REQUIRED instead of MULTILIB_EXCEPTIONS.
-	[FORMAT]: Remove handling of variable.
-	* config/avr/t-multilib: Regenerate.
-
-2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (inline_summary::reset): Do not reset
-	self_time.
-	(dump_inline_summary): Do not print self_time.
-	(estimate_function_body_sizes): Do not set self_time.
-	(compute_inline_parameters): Likewise.
-	(inline_read_section, inline_write_summary): Do not stream self_time.
-	* ipa-inline.h (inline_summary): Drop self_time.
-
-2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (account_size_time): Rename to ...
-	(inline_summary::account_size_time): ... this one.
-	(reset_ipa_call_summary): Turn to ...
-	(ipa_call_summary::reset): ... this one.
-	(reset_inline_summary): Turn to ...
-	(inline_summary::reset): ... this one.
-	(inline_summary_t::remove): Update.
-	(inline_summary_t::duplicate): Update.
-	(ipa_call_summary_t::remove): Update.
-	(dump_inline_summary): Update.
-	(estimate_function_body_sizes): Update.
-	(compute_inline_parameters): Update.
-	(estimate_node_size_and_time): Update.
-	(inline_merge_summary): Update.
-	(inline_update_overall_summary): Update.
-	(inline_read_section): Update.
-	(inline_write_summary): Update.
-	* ipa-inline.h (inline_summary): Rename entry to size_time_table;
-	add account_size_time and reset member functions.
-	(ipa_call_summary): Add reset function.
-	* ipa-predicate.h (predicate::operator &): Constify.
-
-2017-05-22  Richard Biener  <rguenther@suse.de>
-
-	* df-scan.c (df_insn_refs_verify): Speedup when not verifying.
-
-2017-05-19  Jason Merrill  <jason@redhat.com>
-
-	* tree.c (make_tree_vec_stat, grow_tree_vec_stat): Use size_t.
-
-2017-05-19  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80800
-	* fold-const.c (extract_muldiv_1) <case TRUNC_DIV_EXPR>: Add
-	TYPE_OVERFLOW_WRAPS checks.
-
-2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* tree-core.h (enum omp_clause_default_kind): Add
-	"OMP_CLAUSE_DEFAULT_PRESENT".
-	* tree-pretty-print.c (dump_omp_clause): Handle it.
-	* gimplify.c (enum gimplify_omp_var_data): Add
-	"GOVD_MAP_FORCE_PRESENT".
-	(gimplify_adjust_omp_clauses_1): Map it to
-	"GOMP_MAP_FORCE_PRESENT".
-	(oacc_default_clause): Handle "OMP_CLAUSE_DEFAULT_PRESENT".
-
-	* gimplify.c (oacc_default_clause): Clarify.
-
-2017-05-19  Nathan Sidwell  <nathan@acm.org>
-
-	LANG_HOOK_REGISTER_DUMPS
-	* toplev.c (general_init): Call register dump lang hook.
-	* doc/invoke.texi: Document -fdump-lang option family.
-	* dumpfile.c (dump_files): Remove class dump here.
-	(FIRST_AUTO_NUMBERED_DUMP): Adjust.
-	* dumpfile.h (tree_dump_index): Remove TDI_class.
-	* langhooks-def.h (lhd_register_dumps): Declare.
-	(LANG_HOOKS_REGISTER_DUMPS): Define.
-	(LANG_HOOKS_INITIALIZER): Add it.
-	* langhooks.c (lhd_register_dumps): Define.
-	* langhooks.h (struct lang_hooks): Add register_dumps.
-
-2017-05-19  Nathan Sidwell  <nathan@acm.org>
-
-	* context.h (context::set_passes): New.
-	* context.c (context::context): Do not create pass manager.
-	* toplev.c (general_init): Create pass manager here.
-
-2017-05-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (splitter to load of -1 and mask): Don't
-	use this splitter if two add or or instructions would also work for
-	the constant we want to generate.
-
-2017-05-19  Richard Biener  <rguenther@suse.de>
-
-	PR build/80821
-	* genmatch.c (dt_node::gen_kids_1): Add missing scope around
-	predicate evaluation.
-
-2017-05-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.h (ipa_call_summary): Turn sizes into signed;
-	add ctor.
-	* ipa-inline.c (want_inline_small_function_p): Do not cast to
-	unsigned.
-
-2017-05-19  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
-	inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
-	(inline_edge_summary_vec): Turn into ...
-	(ipa_call_summaries): ... this one.
-	(redirect_to_unreachable, edge_set_predicate,
-	evaluate_properties_for_edge, inline_summary_alloc,
-	reset_ipa_call_summary, reset_inline_summary,
-	inline_summary_t::duplicate): Update.
-	(inline_edge_duplication_hook): Turn to ...
-	(ipa_call_summary_t::duplicate): ... this one.
-	(inline_edge_removal_hook): Turn to ...
-	(ipa_call_summary_t::remove): ... this one.
-	(dump_inline_edge_summary): Turn to ...
-	(dump_ipa_call_summary): ... this one.
-	(estimate_function_body_sizes): Update.
-	(inline_update_callee_summaries): Update.
-	(remap_edge_change_prob): Update.
-	(remap_edge_summaries): Update.
-	(inline_merge_summary): Update.
-	(do_estimate_edge_time): Update.
-	(inline_generate_summary): Update.
-	(inline_read_section): Update.
-	(inline_read_summary): Update.
-	(inline_free_summary): Update.
-	* ipa-inline.c (can_inline_edge_p): Update.
-	(compute_inlined_call_time): Update.
-	(want_inline_small_function_p): Update.
-	(edge_badness): Update.
-	(early_inliner): Update.
-	* ipa-inline.h (inline_edge_summary): Turn to ...
-	(ipa_call_summary): ... this one.
-	(ipa_call_summary_t): New class.
-	(inline_edge_summary_t, inline_edge_summary_vec): Remove.
-	(ipa_call_summaries): New.
-	(inline_edge_summary): Remove.
-	(estimate_edge_growth): Update.
-	* ipa-profile.c (ipa_propagate_frequency_1): Update.
-	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
-	* ipa-split.c (execute_split_functions): Update.
-	* ipa.c (symbol_table::remove_unreachable_nodes): Update.
-
-2017-05-19  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80764
-	* cfgexpand.c (expand_gimple_cond): Fix loop fixup.
-
-2017-05-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (struct machine_function): Add field
-	fpr_is_wrapped_separately.
-	(rs6000_get_separate_components): Use 64 components.  Handle the
-	new FPR components.
-	(rs6000_components_for_bb): Handle the FPR components.
-	(rs6000_emit_prologue_components): Handle the FPR components.
-	(rs6000_emit_epilogue_components): Handle the FPR components.
-	(rs6000_set_handled_components): Handle the FPR components.
-	(rs6000_emit_prologue): Don't output prologue code for those FPRs
-	that are already separately shrink-wrapped.
-	(rs6000_emit_epilogue): Don't output epilogue code for those FPRs
-	that are already separately shrink-wrapped.
-
-2017-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/80510
-	* config/rs6000/predicates.md (simple_offsettable_mem_operand):
-	New predicate.
-
-	* config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator.
-	(define_peephole2 for Altivec d-form load): Add peepholes to catch
-	cases where the register allocator uses a move and an offsettable
-	memory operation to/from a FPR register on ISA 2.06/2.07.
-	(define_peephole2 for Altivec d-form store): Likewise.
-
-2017-05-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80799
-	* config/i386/mmx.md (*mov<mode>_internal): Enable
-	alternatives 11, 12, 13 and 14 also for 32bit targets.
-	Remove alternatives 15, 16, 17 and 18.
-	* config/i386/sse.md (vec_concatv2di): Change
-	alternative (!x, *y) to (x, ?!*Yn).
-
-2017-05-18  Paolo Carlini  <paolo.carlini@oracle.com>
-
-	* dumpfile.h (enum dump_kind): Remove stray comma.
-
-2017-05-18  Jan Hubicka  <hubicka@ucw.cz>
-
-	* Makefile.in: Add ipa-predicate.o and ipa-predicate.h
-	* ipa-inline-analysis.c (NUM_CONDITIONS): turn into
-	predicate::num_conditions
-	(IS_NOT_CONSTANT): turn into predicate::is_not_constant.
-	(CHANGED): turn into predicate::changed.
-	(agg_position_info): Move to ipa-predicate.h
-	(add_condition, predicate::add_clause, predicate::operator &=,
-	predicate::or_with, predicate::evaluate, predicate::probability,
-	dump_condition, dump_clause, predicate::dump,
-	predicate::remap_after_duplication, predicate::remap_after_inlining,
-	predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c
-	(evaluate_conditions_for_known_args): Update.
-	(set_cond_stmt_execution_predicate): Update.
-	* ipa-inline.h: Include ipa-predicate.h
-	(condition, inline_param_summary, conditions, agg_position_info,
-	predicate): Move to ipa-predicate.h
-	* ipa-predicate.c: New file.
-	* ipa-predicate.h: New file.
-
-2017-05-18  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* final.c (leaf_function_p): Check we are not in a sequence.
-
-2017-05-18  Martin Liska  <mliska@suse.cz>
-
-	* cfgrtl.c (rtl_verify_edges): Remove usage of TDF_RTL.
-	* dumpfile.c (dump_register): Use new enum dump_kind.
-	(get_dump_file_name): Likewise.
-	(dump_enable_all): Likewise.
-	(dump_switch_p_1): Likewise.
-	(enable_rtl_dump_file): Remove usage of TDF_RTL.
-	* dumpfile.h (enum dump_kind): New enum type.
-	(struct dump_file_info): Create constructor and
-	format fields and comments.
-	* passes.c (pass_manager::register_one_dump_file):
-	Use num dump_kind.
-	* statistics.c (statistics_early_init): Likewise.
-	* tree-ssa-loop-prefetch.c (dump_mem_details): Replace
-	TDF_TREE with TDF_SLIM.
-	(gather_memory_references_ref): Likewise.
-
-2017-05-18  Martin Liska  <mliska@suse.cz>
-
-	* vec.h (struct vnull): Use it.
-
-2017-05-18  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h
-	(true_predicate, false_predicate, true_predicate_p,
-	false_predicate_p): Remove.
-	(single_cond_predicate, not_inlined_predicate): Turn to member function
-	in ipa-inline.h
-	(add_condition): Update.
-	(add_clause): Turn to...
-	(predicate::add_clause): ... this one; update; allow passing NULL
-	as parameter.
-	(and_predicates): Turn to ...
-	(predicate::operator &=): ... this one.
-	(predicates_equal_p): Move to predicate::operator == in ipa-inline.h
-	(or_predicates): Turn to ...
-	(predicate::or_with): ... this one.
-	(evaluate_predicate): Turn to ...
-	(predicate::evaluate): ... this one.
-	(predicate_probability): Turn to ...
-	(predicate::probability): ... this one.
-	(dump_condition): Update.
-	(dump_predicate): Turn to ...
-	(predicate::dump): ... this one.
-	(account_size_time): Update.
-	(edge_set_predicate): Update.
-	(set_hint_predicate): UPdate.
-	(evaluate_conditions_for_known_args): Update.
-	(evaluate_properties_for_edge): Update.
-	(remap_predicate_after_duplication): Turn to...
-	(predicate::remap_after_duplication): ... this one.
-	(remap_hint_predicate_after_duplication): Update.
-	(inline_summary_t::duplicate): UPdate.
-	(dump_inline_edge_summary): Update.
-	(dump_inline_summary): Update.
-	(set_cond_stmt_execution_predicate): Update.
-	(set_switch_stmt_execution_predicate): Update.
-	(compute_bb_predicates): Update.
-	(will_be_nonconstant_expr_predicate): Update.
-	(will_be_nonconstant_predicate): Update.
-	(phi_result_unknown_predicate): Update.
-	(predicate_for_phi_result): Update.
-	(array_index_predicate): Update.
-	(estimate_function_body_sizes): Update.
-	(estimate_node_size_and_time): Update.
-	(estimate_ipcp_clone_size_and_time): Update.
-	(remap_predicate): Rename to ...
-	(predicate::remap_after_inlining): ... this one.
-	(remap_hint_predicate): Update.
-	(inline_merge_summary): Update.
-	(inline_update_overall_summary): Update.
-	(estimate_size_after_inlining): Update.
-	(read_predicate): Rename to ...
-	(predicate::stream_in): ... this one.
-	(read_inline_edge_summary): Update.
-	(write_predicate): Rename to ...
-	(predicate::stream_out): ... this one.
-	(write_inline_edge_summary): Update.
-	* ipa-inline.h (MAX_CLAUSES): Turn to predicate::max_clauses.
-	(clause_t): Turn to uint32_t
-	(predicate): Turn to class; implement constructor and operators
-	==, !=, &
-	(size_time_entry): Update.
-	(inline_summary): Update.
-	(inline_edge_summary): Update.
-
-2017-05-18  Marc Glisse  <marc.glisse@inria.fr>
-
-	* fold-const.c (fold_binary_loc): Move transformation...
-	* match.pd (C - X CMP X): ... here.
-
-2017-05-18  Sheldon Lobo  <sheldon.lobo@oracle.com>
-
-	* config/sparc/sparc.c (sparc_option_override): Set function
-	alignment for -mcpu=niagara7 to 64 to match the I$ line.
-	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch
-	latency to 1.
-	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch
-	latency to 2.
-	* config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo.
-
-2017-05-18  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80797
-	* ubsan.c (instrument_null): Unwrap ADDR_EXPRs.
-	(pass_ubsan::execute): Call gimple_assign_single_p instead of
-	gimple_assign_load_p.
-
-2017-05-17  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR middle-end/80692
-	* real.c (do_compare): Give decimal_do_compare preference over
-	comparing just the signs.
-
-2017-05-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	* doc/md.texi (Canonicalization of Instructions): Describe the
-	canonical form of instructions that inherently set a condition
-	code register.
-
-2017-05-17  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR middle-end/80775
-	* tree-cfg.c: Move deletion of unreachable case statements to after
-	the merging of consecutive case labels.
-
-2017-05-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Refer
-	readers to __gnu_cmse_nonsecure_call libcall for saving, clearing and
-	restoring of callee-saved registers.
-
-2017-05-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* compare-elim.c (equivalent_reg_at_start): Adjust outdated comment.
-	* config/visium/visium.c (single_set_and_flags): Likewise.
-	* config/visium/visium.md (Substitutions): Likewise.
-
-2017-05-17  Martin Liska  <mliska@suse.cz>
-
-	* cfg.c: Introduce dump_flags_t type and
-	use it instead of int type.
-	* cfg.h: Likewise.
-	* cfghooks.c: Likewise.
-	* cfghooks.h (struct cfg_hooks): Likewise.
-	* cfgrtl.c: Likewise.
-	* cfgrtl.h: Likewise.
-	* cgraph.c (cgraph_node::get_body): Likewise.
-	* coretypes.h: Likewise.
-	* domwalk.c: Likewise.
-	* domwalk.h: Likewise.
-	* dumpfile.c (struct dump_option_value_info): Likewise.
-	(dump_enable_all): Likewise.
-	(dump_switch_p_1): Likewise.
-	(opt_info_switch_p): Likewise.
-	* dumpfile.h (enum tree_dump_index): Likewise.
-	(struct dump_file_info): Likewise.
-	* genemit.c: Likewise.
-	* generic-match-head.c: Likewise.
-	* gengtype.c (open_base_files): Likewise.
-	* gimple-pretty-print.c: Likewise.
-	* gimple-pretty-print.h: Likewise.
-	* graph.c (print_graph_cfg): Likewise.
-	* graphite-scop-detection.c (dot_all_sese): Likewise.
-	* ipa-devirt.c (build_type_inheritance_graph): Likewise.
-	* loop-unroll.c (report_unroll): Likewise.
-	* passes.c (pass_manager::register_one_dump_file): Likewise.
-	* print-tree.c: Likewise.
-	* statistics.c: Likewise.
-	* tree-cfg.c: Likewise.
-	* tree-cfg.h: Likewise.
-	* tree-dfa.c: Likewise.
-	* tree-dfa.h: Likewise.
-	* tree-dump.c (dump_function): Likewise.
-	* tree-dump.h (struct dump_info): Likewise.
-	* tree-pretty-print.c: Likewise.
-	* tree-pretty-print.h: Likewise.
-	* tree-ssa-live.c: Likewise.
-	* tree-ssa-live.h: Likewise.
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
-	* tree-vect-loop.c: Likewise.
-	* tree-vect-slp.c: Likewise.
-
-2017-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
-	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/80457
-	* tree-vect-stmts.c (vect_model_simple_cost): Model the cost
-	of all arguments to a statement as scalar_to_vec operations.
-	(vectorizable_call): Adjust call to vect_model_simple_cost for
-	new parameter.
-	(vectorizable_conversion): Likewise.
-	(vectorizable_assignment): Likewise.
-	(vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_comparison): Likewise.
-	(vect_is_simple_cond): Record the def types for operands.
-	(vectorizable_condition): Likewise, call vect_model_simple_cost.
-	* tree-vectorizer.h (vect_model_simple_cost): Add new parameter
-	for statement argument count.
-
-2017-05-16  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c: Add support for built-in functions
-	vector unsigned long long vec_bperm (vector unsigned long long,
-					     vector unsigned char)
-	vector signed long long vec_mule (vector signed int,
-					  vector signed int)
-	vector unsigned long long vec_mule (vector unsigned int,
-					    vector unsigned int)
-	vector signed long long vec_mulo (vector signed int,
-					  vector signed int)
-	vector unsigned long long vec_mulo (vector unsigned int,
-					    vector unsigned int)
-	vector signed char vec_sldw (vector signed char,
-				     vector signed char,
-				     const int)
-	vector unsigned char vec_sldw (vector unsigned char,
-				       vector unsigned char,
-				       const int)
-	vector signed short vec_sldw (vector signed short,
-				      vector signed short,
-				      const int)
-	vector unsigned short vec_sldw (vector unsigned short,
-					vector unsigned short,
-					const int)
-	vector signed int vec_sldw (vector signed int,
-				    vector signed int,
-				    const int)
-	vector unsigned int vec_sldw (vector unsigned int,
-				      vector unsigned int,
-				      const int)
-	vector signed long long vec_sldw (vector signed long long,
-					  vector signed long long,
-					  const int)
-	vector unsigned long long vec_sldw (vector unsigned long long,
-					    vector unsigned long long,
-					    const int)
-	* config/rs6000/rs6000-c: Add support for built-in functions
-	* config/rs6000/rs6000-builtin.def: Add definition for SLDW.
-	* config/rs6000/altivec.h: Add defintion for vec_sldw.
-	* doc/extend.texi: Update the built-in documentation for the
-	new built-in functions.
-
-2017-05-16  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80536
-	PR sanitizer/80386
-	* tree.c (save_expr): Don't fold the expression.
-
-2017-05-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*movsi_internal): Split (?rm,*y) alternative
-	to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r)
-	and (?*y,m).  Update insn attributes.
-
-2017-05-16  Martin Liska  <mliska@suse.cz>
-
-	* cgraph.c (cgraph_edge::resolve_speculation): Add default value for
-	flags argument of print_gimple_stmt, print_gimple_expr,
-	print_generic_stmt and print_generic_expr.
-	* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
-	* coretypes.h: Likewise.
-	* except.c (dump_eh_tree): Likewise.
-	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
-	* gimple-pretty-print.h: Likewise.
-	* gimple-ssa-backprop.c (dump_usage_prefix): Likewise.
-	(backprop::push_to_worklist): Likewise.
-	(backprop::pop_from_worklist): Likewise.
-	(backprop::process_use): Likewise.
-	(backprop::intersect_uses): Likewise.
-	(note_replacement): Likewise.
-	* gimple-ssa-store-merging.c
-	(pass_store_merging::terminate_all_aliasing_chains): Likewise.
-	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
-	(pass_store_merging::execute): Likewise.
-	* gimple-ssa-strength-reduction.c (dump_candidate): Likewise.
-	(ssa_base_cand_dump_callback): Likewise.
-	(dump_incr_vec): Likewise.
-	(replace_refs): Likewise.
-	(replace_mult_candidate): Likewise.
-	(create_add_on_incoming_edge): Likewise.
-	(create_phi_basis): Likewise.
-	(insert_initializers): Likewise.
-	(all_phi_incrs_profitable): Likewise.
-	(introduce_cast_before_cand): Likewise.
-	(replace_one_candidate): Likewise.
-	* gimplify.c (gimplify_expr): Likewise.
-	* graphite-isl-ast-to-gimple.c (is_valid_rename): Likewise.
-	(set_rename): Likewise.
-	(rename_uses): Likewise.
-	(copy_loop_phi_nodes): Likewise.
-	(add_close_phis_to_merge_points): Likewise.
-	(copy_loop_close_phi_args): Likewise.
-	(copy_cond_phi_args): Likewise.
-	(graphite_copy_stmts_from_block): Likewise.
-	(translate_pending_phi_nodes): Likewise.
-	* graphite-poly.c (print_pdr): Likewise.
-	(dump_gbb_cases): Likewise.
-	(dump_gbb_conditions): Likewise.
-	(print_scop_params): Likewise.
-	* graphite-scop-detection.c (build_cross_bb_scalars_def): Likewise.
-	(build_cross_bb_scalars_use): Likewise.
-	(gather_bbs::before_dom_children): Likewise.
-	* hsa-dump.c (dump_hsa_immed): Likewise.
-	* ipa-cp.c (print_ipcp_constant_value): Likewise.
-	(get_replacement_map): Likewise.
-	* ipa-inline-analysis.c (dump_condition): Likewise.
-	(estimate_function_body_sizes): Likewise.
-	* ipa-polymorphic-call.c (check_stmt_for_type_change): Likewise.
-	(ipa_polymorphic_call_context::get_dynamic_type): Likewise.
-	* ipa-prop.c (ipa_dump_param): Likewise.
-	(ipa_print_node_jump_functions_for_edge): Likewise.
-	(ipa_modify_call_arguments): Likewise.
-	(ipa_modify_expr): Likewise.
-	(ipa_dump_param_adjustments): Likewise.
-	(ipa_dump_agg_replacement_values): Likewise.
-	(ipcp_modif_dom_walker::before_dom_children): Likewise.
-	* ipa-pure-const.c (check_stmt): Likewise.
-	(pass_nothrow::execute): Likewise.
-	* ipa-split.c (execute_split_functions): Likewise.
-	* omp-offload.c (dump_oacc_loop_part): Likewise.
-	(dump_oacc_loop): Likewise.
-	* trans-mem.c (tm_log_emit): Likewise.
-	(tm_memopt_accumulate_memops): Likewise.
-	(dump_tm_memopt_set): Likewise.
-	(dump_tm_memopt_transform): Likewise.
-	* tree-cfg.c (gimple_verify_flow_info): Likewise.
-	(print_loop): Likewise.
-	* tree-chkp-opt.c (chkp_print_addr): Likewise.
-	(chkp_gather_checks_info): Likewise.
-	(chkp_get_check_result): Likewise.
-	(chkp_remove_check_if_pass): Likewise.
-	(chkp_use_outer_bounds_if_possible): Likewise.
-	(chkp_reduce_bounds_lifetime): Likewise.
-	* tree-chkp.c (chkp_register_addr_bounds): Likewise.
-	(chkp_mark_completed_bounds): Likewise.
-	(chkp_register_incomplete_bounds): Likewise.
-	(chkp_mark_invalid_bounds): Likewise.
-	(chkp_maybe_copy_and_register_bounds): Likewise.
-	(chkp_build_returned_bound): Likewise.
-	(chkp_get_bound_for_parm): Likewise.
-	(chkp_build_bndldx): Likewise.
-	(chkp_get_bounds_by_definition): Likewise.
-	(chkp_generate_extern_var_bounds): Likewise.
-	(chkp_get_bounds_for_decl_addr): Likewise.
-	* tree-chrec.c (chrec_apply): Likewise.
-	* tree-data-ref.c (dump_data_reference): Likewise.
-	(dump_subscript): Likewise.
-	(dump_data_dependence_relation): Likewise.
-	(analyze_overlapping_iterations): Likewise.
-	* tree-inline.c (expand_call_inline): Likewise.
-	(tree_function_versioning): Likewise.
-	* tree-into-ssa.c (dump_defs_stack): Likewise.
-	(dump_currdefs): Likewise.
-	(dump_names_replaced_by): Likewise.
-	(dump_update_ssa): Likewise.
-	(update_ssa): Likewise.
-	* tree-object-size.c (pass_object_sizes::execute): Likewise.
-	* tree-parloops.c (build_new_reduction): Likewise.
-	(try_create_reduction_list): Likewise.
-	(ref_conflicts_with_region): Likewise.
-	(oacc_entry_exit_ok_1): Likewise.
-	(oacc_entry_exit_single_gang): Likewise.
-	* tree-pretty-print.h: Likewise.
-	* tree-scalar-evolution.c (set_scalar_evolution): Likewise.
-	(get_scalar_evolution): Likewise.
-	(add_to_evolution): Likewise.
-	(get_loop_exit_condition): Likewise.
-	(analyze_evolution_in_loop): Likewise.
-	(analyze_initial_condition): Likewise.
-	(analyze_scalar_evolution): Likewise.
-	(instantiate_scev): Likewise.
-	(number_of_latch_executions): Likewise.
-	(gather_chrec_stats): Likewise.
-	(final_value_replacement_loop): Likewise.
-	(scev_const_prop): Likewise.
-	* tree-sra.c (dump_access): Likewise.
-	(disqualify_candidate): Likewise.
-	(create_access): Likewise.
-	(reject): Likewise.
-	(maybe_add_sra_candidate): Likewise.
-	(create_access_replacement): Likewise.
-	(analyze_access_subtree): Likewise.
-	(analyze_all_variable_accesses): Likewise.
-	(sra_modify_assign): Likewise.
-	(initialize_constant_pool_replacements): Likewise.
-	(find_param_candidates): Likewise.
-	(decide_one_param_reduction): Likewise.
-	(replace_removed_params_ssa_names): Likewise.
-	* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
-	* tree-ssa-copy.c (dump_copy_of): Likewise.
-	(copy_prop_visit_cond_stmt): Likewise.
-	* tree-ssa-dce.c (mark_operand_necessary): Likewise.
-	* tree-ssa-dom.c (pass_dominator::execute): Likewise.
-	(record_equivalences_from_stmt): Likewise.
-	* tree-ssa-dse.c (compute_trims): Likewise.
-	(delete_dead_call): Likewise.
-	(delete_dead_assignment): Likewise.
-	* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Likewise.
-	(forward_propagate_into_cond): Likewise.
-	(pass_forwprop::execute): Likewise.
-	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
-	* tree-ssa-loop-im.c (invariantness_dom_walker::before_dom_children):
-	Likewise.
-	(move_computations_worker): Likewise.
-	(execute_sm): Likewise.
-	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
-	(remove_exits_and_undefined_stmts): Likewise.
-	(remove_redundant_iv_tests): Likewise.
-	* tree-ssa-loop-ivopts.c (dump_use): Likewise.
-	(adjust_iv_update_pos): Likewise.
-	* tree-ssa-math-opts.c (bswap_replace): Likewise.
-	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Likewise.
-	(value_replacement): Likewise.
-	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
-	* tree-ssa-pre.c (print_pre_expr): Likewise.
-	(get_representative_for): Likewise.
-	(create_expression_by_pieces): Likewise.
-	(insert_into_preds_of_block): Likewise.
-	(eliminate_insert): Likewise.
-	(eliminate_dom_walker::before_dom_children): Likewise.
-	(eliminate): Likewise.
-	(remove_dead_inserted_code): Likewise.
-	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
-	* tree-ssa-reassoc.c (get_rank): Likewise.
-	(eliminate_duplicate_pair): Likewise.
-	(eliminate_plus_minus_pair): Likewise.
-	(eliminate_not_pairs): Likewise.
-	(undistribute_ops_list): Likewise.
-	(eliminate_redundant_comparison): Likewise.
-	(update_range_test): Likewise.
-	(optimize_range_tests_var_bound): Likewise.
-	(optimize_vec_cond_expr): Likewise.
-	(rewrite_expr_tree): Likewise.
-	(rewrite_expr_tree_parallel): Likewise.
-	(linearize_expr): Likewise.
-	(break_up_subtract): Likewise.
-	(linearize_expr_tree): Likewise.
-	(attempt_builtin_powi): Likewise.
-	(attempt_builtin_copysign): Likewise.
-	(transform_stmt_to_copy): Likewise.
-	(transform_stmt_to_multiply): Likewise.
-	(dump_ops_vector): Likewise.
-	* tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Likewise.
-	(print_scc): Likewise.
-	(set_ssa_val_to): Likewise.
-	(visit_reference_op_store): Likewise.
-	(visit_use): Likewise.
-	(sccvn_dom_walker::before_dom_children): Likewise.
-	(run_scc_vn): Likewise.
-	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr):
-	Likewise.
-	(expr_hash_elt::print): Likewise.
-	(const_and_copies::pop_to_marker): Likewise.
-	(const_and_copies::record_const_or_copy_raw): Likewise.
-	* tree-ssa-structalias.c (compute_dependence_clique): Likewise.
-	* tree-ssa-uninit.c (collect_phi_def_edges): Likewise.
-	(dump_predicates): Likewise.
-	(find_uninit_use): Likewise.
-	(warn_uninitialized_phi): Likewise.
-	(pass_late_warn_uninitialized::execute): Likewise.
-	* tree-ssa.c (verify_vssa): Likewise.
-	(verify_ssa): Likewise.
-	(maybe_optimize_var): Likewise.
-	* tree-vrp.c (dump_value_range): Likewise.
-	(dump_all_value_ranges): Likewise.
-	(dump_asserts_for): Likewise.
-	(register_edge_assert_for_2): Likewise.
-	(vrp_visit_cond_stmt): Likewise.
-	(vrp_visit_switch_stmt): Likewise.
-	(vrp_visit_stmt): Likewise.
-	(vrp_visit_phi_node): Likewise.
-	(simplify_cond_using_ranges_1): Likewise.
-	(fold_predicate_in): Likewise.
-	(evrp_dom_walker::before_dom_children): Likewise.
-	(evrp_dom_walker::push_value_range): Likewise.
-	(evrp_dom_walker::pop_value_range): Likewise.
-	(execute_early_vrp): Likewise.
-
-2017-05-16  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (loc_list_from_tree_1): Do not create
-	DW_OP_GNU_variable_value for DECL_IGNORED_P decls.
-
-2017-05-16  Richard Biener  <rguenther@suse.de>
-
-	* dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE
-	just generated.
-	(note_variable_value_in_expr): If we resolved the decl ref
-	do not push to the stack.
-
-2017-05-16  Matthew Wahab  <matthew.wahab@arm.com>
-
-	* config/arm/arm_neon.h (vadd_f16): Use standard arithmetic
-	operations in fast-math mode.
-	(vaddq_f16): Likewise.
-	(vmul_f16): Likewise.
-	(vmulq_f16): Likewise.
-	(vsub_f16): Likewise.
-	(vsubq_f16): Likewise.
-	* config/arm/neon.md (add<mode>3): New.
-	(sub<mode>3): New.
-	(fma:<VH:mode>3): New.  Also remove outdated comment.
-	(mul<mode>3): New.
-
-2017-05-16  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/79849.
-	PR ipa/79850.
-	* ipa-devirt.c (warn_types_mismatch): Fix typo.
-	(odr_types_equivalent_p): Likewise.
-
-2017-05-15  Sylvestre Ledru  <sylvestre@debian.org>
-
-	* plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637).
-
-2017-05-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80425
-	* config/i386.i386.md (*zero_extendsidi2): Do not penalize
-	non-interunit SSE move alternatives with '?'.
-	(zero-extendsidi peephole2): New peephole to skip intermediate
-	general register in SSE zero-extend sequence.
-
-2017-05-15  Jeff Law  <law@redhat.com>
-
-	* reorg.c (relax_delay_slots): Create a new variable to hold
-	the temporary target rather than clobbering TARGET_LABEL.
-
-	* config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Add
-	missing argument to extract_bit_field call.
-	* config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.
-
-2017-05-15  Martin Liska  <mliska@suse.cz>
-
-	PR driver/31468
-	* gcc.c (process_command): Do not allow empty argument of -o option.
-
-2017-05-15  Renlin Li  <renlin.li@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_expand_call): Declare.
-	* config/aarch64/aarch64.c (aarch64_expand_call): Define.
-	* config/aarch64/constraints.md (Usf): Add long call check.
-	* config/aarch64/aarch64.md (call): Use aarch64_expand_call.
-	(call_value): Likewise.
-	(sibcall): Likewise.
-	(sibcall_value): Likewise.
-	(call_insn): New.
-	(call_value_insn): New.
-	(sibcall_insn): Update rtx pattern.
-	(sibcall_value_insn): Likewise.
-	(call_internal): Remove.
-	(call_value_internal): Likewise.
-	(sibcall_internal): Likewise.
-	(sibcall_value_internal): Likewise.
-	(call_reg): Likewise.
-	(call_symbol): Likewise.
-	(call_value_reg): Likewise.
-	(call_value_symbol): Likewise.
-
-2017-05-14  Krister Walfridsson  <krister.walfridsson@gmail.com>
-
-	PR target/80600
-	* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.
-
-2017-05-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
-	compatible with CCGOCmode and with CCZmode.
-
-2017-05-14  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/77671
-	* gimple-fold.c (gimple_fold_builtin_sprintf): Make extern.
-	(gimple_fold_builtin_snprintf): Same.
-	* gimple-fold.h (gimple_fold_builtin_sprintf): Declare.
-	(gimple_fold_builtin_snprintf): Same.
-	* gimple-ssa-sprintf.c (get_format_string): Correct the detection
-	of character types.
-	(is_call_safe): New function.
-	(try_substitute_return_value): Call it.
-	(try_simplify_call): New function.
-	(pass_sprintf_length::handle_gimple_call): Call it.
-
-2017-05-14  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/80669
-	* builtins.c (expand_builtin_stpncpy): Simplify.
-
-2017-05-14  Daniel Santos  <daniel.santos@pobox.com>
-
-	* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues.
-	* config/i386/i386.h
-	(x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned.
-	(NUM_X86_64_MS_CLOBBERED_REGS): New macro.
-	(struct machine_function): Add new members call_ms2sysv,
-	call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs.
-	(struct machine_frame_state): New fields sp_realigned and
-	sp_realigned_offset.
-	* config/i386/i386.c
-	(enum xlogue_stub): New enum.
-	(enum xlogue_stub_sets): New enum.
-	(class xlogue_layout): New class.
-	(struct ix86_frame): New fields stack_realign_allocate_offset,
-	stack_realign_offset and outlined_save_offset.  Modify comments to
-	detail stack layout when using out-of-line stubs.
-	(ix86_target_string): Add -mcall-ms2sysv-xlogues option.
-	(ix86_option_override_internal): Add sorry() for TARGET_SEH and
-	-mcall-ms2sysv-xlogues.
-	(stub_managed_regs): New static variable.
-	(ix86_save_reg): Add new parameter ignore_outlined to optionally omit
-	registers managed by out-of-line stub.
-	(disable_call_ms2sysv_xlogues): New function.
-	(ix86_compute_frame_layout): Modify re-alignment calculations, disable
-	m->call_ms2sysv when appropriate and compute frame layout for
-	out-of-line stubs.
-	(sp_valid_at, fp_valid_at): New inline functions.
-	(choose_basereg): New function.
-	(choose_baseaddr): Add align parameter, use choose_basereg and modify
-	all callers.
-	(ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov):
-	Use align parameter of choose_baseaddr to generated aligned SSE movs
-	when possible.
-	(pro_epilogue_adjust_stack): Modify to track
-	machine_frame_state::sp_realigned.
-	(ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg.
-	(ix86_nsaved_sseregs): Likewise.
-	(ix86_emit_save_regs): Likewise.
-	(ix86_emit_save_regs_using_mov): Likewise.
-	(ix86_emit_save_sse_regs_using_mov): Likewise.
-	(get_scratch_register_on_entry): Likewise.
-	(gen_frame_set): New function.
-	(gen_frame_load): Likewise.
-	(gen_frame_store): Likewise.
-	(emit_outlined_ms2sysv_save): Likewise.
-	(emit_outlined_ms2sysv_restore): Likewise.
-	(ix86_expand_prologue): Modify stack re-alignment code and call
-	emit_outlined_ms2sysv_save when appropriate.
-	(ix86_emit_leave): Clear machine_frame_state::sp_realigned.  Add
-	parameter rtx_insn *insn, which allows the function to be used to only
-	generate the notes.
-	(ix86_expand_epilogue): Modify validity checks of frame and stack
-	pointers, and call emit_outlined_ms2sysv_restore when appropriate.
-	(ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate.
-	* config/i386/predicates.md
-	(save_multiple): New predicate.
-	(restore_multiple): Likewise.
-	* config/i386/sse.md
-	(save_multiple<mode>): New pattern.
-	(save_multiple_realign<mode>): Likewise.
-	(restore_multiple<mode>): Likewise.
-	(restore_multiple_and_return<mode>): Likewise.
-	(restore_multiple_leave_return<mode>): Likewise.
-	* Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp
-
-2017-05-14  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
-	* config/i386/i386-builtin.def (__builtin_ia32_xgetbv)
-	(__builtin_ia32_xsetbv): New builtins.
-	* config/i386/i386.c (ix86_expand_special_args_builtin):
-	Process new types.
-	(ix86_expand_builtin): Special expand for new intrinsics.
-	* config/i386/i386.md (UNSPECV_XGETBV, UNSPECV_XSETBV): New.
-	(xsetbv, xsetbv_rex64, xgetbv, xgetbv_rex64): New insn patterns.
-	* config/i386/xsaveintrin.h (_xsetbv, _getbv): New intrinsics.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfganal.c (inverted_post_order_compute): Change argument type
-	to vec *.
-	* cfganal.h (inverted_post_order_compute): Adjust prototype.
-	* df-core.c (rest_of_handle_df_initialize): Adjust.
-	(rest_of_handle_df_finish): Likewise.
-	(df_analyze_1): Likewise.
-	(df_analyze): Likewise.
-	(loop_inverted_post_order_compute): Change argument to be a vec *.
-	(df_analyze_loop): Adjust.
-	(df_get_n_blocks): Likewise.
-	(df_get_postorder): Likewise.
-	* df.h (struct df_d): Change field to be a vec.
-	* lcm.c (compute_laterin): Adjust.
-	(compute_available): Likewise.
-	* lra-lives.c (lra_create_live_ranges_1): Likewise.
-	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
-	* tree-ssa-pre.c (compute_antic): Likewise.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfganal.c (connect_infinite_loops_to_exit): Adjust.
-	(depth_first_search::depth_first_search): Change structure init
-	function to this constructor.
-	(depth_first_search::add_bb): Rename function to this member.
-	(depth_first_search::execute): Likewise.
-	(flow_dfs_compute_reverse_finish): Adjust.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* ddg.c (find_nodes_on_paths): Use auto_sbitmap.
-	(longest_simple_path): Likewise.
-	* shrink-wrap.c (spread_components): Likewise.
-	(disqualify_problematic_components): Likewise.
-	(emit_common_heads_for_components): Likewise.
-	(emit_common_tails_for_components): Likewise.
-	(insert_prologue_epilogue_for_components): Likewise.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a
-	auto_sbitmap.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* df-core.c (df_set_blocks): Start using auto_bitmap.
-	(df_compact_blocks): Likewise.
-	* df-problems.c (df_rd_confluence_n): Likewise.
-	* df-scan.c (df_insn_rescan_all): Likewise.
-	(df_process_deferred_rescans): Likewise.
-	(df_update_entry_block_defs): Likewise.
-	(df_update_exit_block_uses): Likewise.
-	(df_entry_block_bitmap_verify): Likewise.
-	(df_exit_block_bitmap_verify): Likewise.
-	(df_scan_verify): Likewise.
-	* lra-constraints.c (lra_constraints): Likewise.
-	(undo_optional_reloads): Likewise.
-	(lra_undo_inheritance): Likewise.
-	* lra-remat.c (calculate_gen_cands): Likewise.
-	(do_remat): Likewise.
-	* lra-spills.c (assign_spill_hard_regs): Likewise.
-	(spill_pseudos): Likewise.
-	* tree-ssa-pre.c (bitmap_set_and): Likewise.
-	(bitmap_set_subtract_values): Likewise.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* haifa-sched.c (estimate_shadow_tick): Replace manual bitmap
-	management with auto_bitmap.
-	(fix_inter_tick): Likewise.
-	(fix_recovery_deps): Likewise.
-	* ira.c (add_store_equivs): Likewise.
-	(find_moveable_pseudos): Likewise.
-	(split_live_ranges_for_shrink_wrap): Likewise.
-	* print-rtl.c (rtx_reuse_manager::rtx_reuse_manager): Likewise.
-	(rtx_reuse_manager::seen_def_p): Likewise.
-	(rtx_reuse_manager::set_seen_def): Likewise.
-	* print-rtl.h (class rtx_reuse_manager): Likewise.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap
-	lifetime.
-	(migrate_btr_def): Likewise.
-	* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
-	* df-core.c (loop_post_order_compute): Likewise.
-	(loop_inverted_post_order_compute): Likewise.
-	* hsa-common.h: Likewise.
-	* hsa-gen.c (hsa_bb::~hsa_bb): Likewise.
-	* init-regs.c (initialize_uninitialized_regs): Likewise.
-	* ipa-inline.c (resolve_noninline_speculation): Likewise.
-	(inline_small_functions): Likewise.
-	* ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
-	* ira.c (combine_and_move_insns): Likewise.
-	(build_insn_chain): Likewise.
-	* loop-invariant.c (find_invariants): Likewise.
-	* lower-subreg.c (propagate_pseudo_copies): Likewise.
-	* predict.c (tree_predict_by_opcode): Likewise.
-	(predict_paths_leading_to): Likewise.
-	(predict_paths_leading_to_edge): Likewise.
-	(estimate_loops_at_level): Likewise.
-	(estimate_loops): Likewise.
-	* shrink-wrap.c (try_shrink_wrapping): Likewise.
-	(spread_components): Likewise.
-	* tree-cfg.c (remove_edge_and_dominated_blocks): Likewise.
-	* tree-loop-distribution.c (rdg_build_partitions): Likewise.
-	* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
-	* tree-ssa-coalesce.c (coalesce_ssa_name): Likewise.
-	* tree-ssa-phionlycprop.c (pass_phi_only_cprop::execute): Likewise.
-	* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
-	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
-	* tree-ssa-threadupdate.c (compute_path_counts): Likewise.
-	(mark_threaded_blocks): Likewise.
-	(thread_through_all_blocks): Likewise.
-	* tree-ssa.c (verify_ssa): Likewise.
-	(execute_update_addresses_taken): Likewise.
-	* tree-ssanames.c (verify_ssaname_freelists): Likewise.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* cfganal.c (mark_dfs_back_edges): Replace manual stack with
-	auto_vec.
-	(post_order_compute): Likewise.
-	(inverted_post_order_compute): Likewise.
-	(pre_and_rev_post_order_compute_fn): Likewise.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* genrecog.c (int_set::int_set): Explicitly construct our
-	auto_vec base class.
-	* vec.h (auto_vec::auto_vec): New constructor.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* bitmap.h (class auto_bitmap): New constructor taking
-	bitmap_obstack * argument.
-
-2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* bitmap.h (class auto_bitmap): Change type of m_bits to
-	bitmap_head, and adjust ctor / dtor and member operators.
-
-2017-05-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* compare-elim.c (equivalent_reg_at_start): Return NULL_RTX
-	when returned register mode doesn't match original mode.
-
-2017-05-12  Jeff Law  <law@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	* config/mn10300/mn10300.c (mn10300_match_ccmode): Fix where
-	we look for cc setter after the compare-elim changes.
-	* config/mn10300/mn10300.md (addsi3_flags): Fix order of patterns
-	within the vector to match what compare-elim now expects.
-	(subsi3_flags, andsi3_flags, iorsi3_flags): Likewise.
-	(xorsi3_flags, one_cmplsi2_flags): Likewise.
-
-	* config/rx/rx.c (rx_match_ccmode): Fix where we look cc setter
-	after the compare-elim changes.
-	* config/rx/rx.md (abssi2_flags): Fix order of patterns within
-	the vector to match what compare-elim now expects.
-	(addsi3_flags, adc_flags, addsi3_flags peepholes): Likewise.
-	(andsi3_flags, negsi2_flags, one_cmplsi2_flags): Likewise.
-	(iorsi3_flags, rotlsi3_flags, rotrsi3_flags): Likewise.
-	(ashrsi3_flags, lshrsi3_flags, ashlsi3_flags): Likewise.
-	(ssaddsi3, subsi3_flags, sbb_flags, xorsi3_flags): Likewise.
-
-	* config/visium/visium.c (single_set_and_flags): Fix where
-	we look for cc setter after the compare-elim changes.
-	* config/visium/visium.md (flags_subst_logic): Fix order of patterns
-	with the vector to match what compare-elim now expects.
-	(flags_subst_arith, add<mode>3_insn_set_carry): Likewise.
-	(add<mode>3_insn_set_overflow, addsi3_insn_set_carry): Likewise.
-	(addsi3_insn_set_overflow, sub<mode>3_insn_set_carry): Likewise.
-	(sub<mode>3_insn_set_overflow, subsi3_insn_set_carry): Likewise.
-	(subsi3_insn_set_overflow, negsi2_insn_set_carry): Likewise.
-	(neg<mode>2_insn_set_overflow): Likewise.
-
-2017-05-12  Jim Wilson  <jim.wilson@linaro.org>
-
-	PR middle-end/79794
-	* expmed.c (extract_bit_field_1): Add alt_rtl argument.  Before
-	maybe_expand_insn call, set ops[0].target.  If still set after call,
-	set alt_rtl.  Add extra arg to recursive calls.
-	(extract_bit_field): Add alt_rtl argument.  Pass to
-	extract_bit_field.
-	* expmed.h (extract_bit_field): Fix prototype.
-	* expr.c (emit_group_load_1, copy_blkmode_from_reg)
-	(copy_blkmode_to_reg, read_complex_part, store_field): Pass extra NULL
-	to extract_bit_field_calls.
-	(expand_expr_real_1): Pass alt_rtl to expand_expr_real instead of 0.
-	Pass alt_rtl to extract_bit_field calls.
-	* calls.c (store_unaligned_arguments_into_psuedos)
-	load_register_parameters): Pass extra NULL to extract_bit_field calls.
-	* optabs.c (maybe_legitimize_operand): Clear op->target when call
-	gen_reg_rtx.
-	* optabs.h (struct expand_operand): Add target bitfield.
-
-2017-05-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	* compare-elim.c (try_eliminate_compare): Canonicalize
-	operation with embedded compare to
-	[(set (reg:CCM) (compare:CCM (operation) (immediate)))
-	 (set (reg) (operation)].
-
-	* config/i386/i386.c (TARGET_FLAGS_REGNUM): New define.
-
-2017-05-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80723
-	* config/i386/i386.c (ix86_rtx_cost) [case PLUS]: Ignore the
-	cost of adding a carry flag for ADC instruction.
-	[case MINUS]: Ignore the cost of subtracting a carry flag
-	for SBB instruction.
-
-2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>
-
-	* config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h,
-	and x86intrin.h
-	* config/rs6000/bmiintrin.h: New file.
-	* config/rs6000/bmi2intrin.h: New file.
-	* config/rs6000/x86intrin.h: New file.
-
-2017-05-12  Jeff Law  <law@redhat.com>
-
-	* tree-vrp.c (vrp_dom_walker::before_dom_children): Push unwinding
-	markers.
-
-2017-05-12  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR middle-end/80707
-	* tree-cfg.c: Remove cfg edges of unreachable case statements.
-
-2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
-	early expansion of vector divide builtins.
-	(builtin_function_type): Add VSX_BUILTIN_UDIV_V2DI to the list of
-	builtins identified as having unsigned arguments.
-
-2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (gimple-fold.h): New #include.
-	(rs6000_gimple_fold_builtin): Add handling for early GIMPLE
-	expansion of vector logical operations (and, andc, or, xor,
-	nor, orc, nand).
-
-2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.
-	* gimple-fold.h (create_tmp_reg_or_ssa_name): New prototype.
-
-2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
-	early GIMPLE expansion of vector multiplies.
-
-2017-05-12  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
-
-	* config/arm/arm.md (movsi): Add TARGET_32BIT in addition to the
-	TARGET_HAVE_MOVT conditional.
-	(movt splitter): Likewise.
-
-2017-05-12  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-sccvn.h (has_VN_INFO): Declare.
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	Fold all stmts not inplace.
-
-2017-05-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80713
-	* tree-ssa-pre.c (remove_dead_inserted_code): Clear
-	inserted_exprs bit for not removed stmts.
-
-2017-05-12  Thomas Schwinge  <thomas@codesourcery.com>
-
-	PR middle-end/69921
-	* tree-parloops.c (create_parallel_loop): Set "oacc kernels
-	parallelized" attribute for parallelized OpenACC kernels.
-	* omp-offload.c (execute_oacc_device_lower): Use it.
-
-	* omp-expand.c (expand_omp_target) <GF_OMP_TARGET_KIND_OACC_KERNELS>:
-	Set "oacc kernels" attribute.
-	* omp-general.c (oacc_set_fn_attrib): Remove is_kernel formal
-	parameter.  Adjust all users.
-	(oacc_fn_attrib_kernels_p): Remove function.
-	* omp-offload.c (execute_oacc_device_lower): Look for "oacc
-	kernels" attribute instead of calling oacc_fn_attrib_kernels_p.
-	* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
-	* tree-parloops.c (create_parallel_loop): If oacc_kernels_p,
-	assert "oacc kernels" attribute is set.
-
-2017-05-11  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c: Add support for built-in functions
-	vector unsigned char vec_popcnt (vector signed char)
-	vector unsigned char vec_popcnt (vector unsigned char)
-	vector unsigned short vec_popcnt (vector signed short)
-	vector unsigned short vec_popcnt (vector unsigned short)
-	vector unsigned int vec_popcnt (vector signed int)
-	vector unsigned int vec_popcnt (vector unsigned int)
-	vector unsigned long long vec_popcnt (vector signed long long)
-	vector unsigned long long vec_popcnt (vector unsigned long long)
-	vector signed long long vec_slo (vector signed long long,
-					 vector signed char)
-	vector signed long long vec_slo (vector signed long long,
-					 vector unsigned char)
-	vector unsigned long long vec_slo (vector unsigned long long,
-					   vector signed char)
-	vector unsigned long long vec_slo (vector unsigned long long,
-					   vector unsigned char)
-	* config/rs6000/rs6000-builtin.def: Add definitions for VPOPCNTUB,
-	VPOPCNTUH, VPOPCNTUW, and VPOPCNTUD overloads.
-	* config/rs6000/altivec.h: Add define for vec_popcnt, vec_popcntb,
-	vec_popcnth, vec_popcntw and vec_popcntd built-in functions.
-	* doc/extend.texi: Update the built-in documentation file for the
-	new built-in functions.
-
-2017-05-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* attribs.h (sorted_attr_string): Move machine independent
-	functions for target clone support from the i386 port to common
-	code.  Rename ix86_function_versions to common_function_versions.
-	Rename make_name to make_unique_name.
-	(common_function_versions): Likewise.
-	(make_unique_name): Likewise.
-	(make_dispatcher_decl): Likewise.
-	(is_function_default_version): Likewise.
-	* attribs.c (attr_strcmp): Likewise.
-	(sorted_attr_string): Likewise.
-	(common_function_versions): Likewise.
-	(make_unique_name): Likewise.
-	(make_dispatcher_decl): Likewise.
-	(is_function_default_version): Likewise.
-	* config/i386/i386.c (attr_strcmp): Likewise.
-	(sorted_attr_string): Likewise.
-	(ix86_function_versions): Likewise.
-	(make_name): Likewise.
-	(make_dispatcher_decl): Likewise.
-	(is_function_default_version): Likewise.
-	(TARGET_OPTION_FUNCTION_VERSIONS): Update target function hook.
-
-2017-05-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/80695
-	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
-	Account for direct move costs for vec_construct of integer
-	vectors.
-
-2017-05-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80706
-	* config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec.
-	(UNSPEC_STX_ATOMIC): Ditto.
-	(loaddi_via_sse): New insn.
-	(storedi_via_sse): Ditto.
-	(atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse.
-	Update corresponding peephole2 patterns.
-	(atomic_storedi_fpu): Ditto.
-
-2017-05-11  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512fintrin.h (_mm_mask_rsqrt14_sd)
-	(_mm_maskz_rsqrt14_sd, _mm_mask_rsqrt14_ss, _mm_maskz_rsqrt14_ss):
-	New intrinsics.
-	* config/i386/i386-builtin.def (__builtin_ia32_rsqrt14sd_mask)
-	(__builtin_ia32_rsqrt14ss_mask): New builtins.
-	* config/i386/sse.md (rsqrt14_<mode>_mask): New pattern.
-
-2017-05-11  Nathan Sidwell  <nathan@acm.org>
-
-	* graphite-poly.c: Include dumpfile.h.
-
-	* dumpfle.h (dump_function): Declare here ...
-	* tree-dump.h (dump_function): ... not here.
-	* dumpfile.c: #include tree-cfg.h.
-	(dump_function): Move here from ...
-	* tree-dump.c (dump_function): ... here.
-	* gimplify.c: #include splay-tree.h, not tree-dump.h.
-	* graphite-poly.c: Don't include tree-dump.h.
-	* cgraphclones.c: Include dumpfile.h not tree-dump.h.
-	* print-tree.c: Likewise.
-	* stor-layout.c: Likewise.
-	* tree-nested.c: Likewise.
-
-	* dumpfile.c (dump_start): Use TDF_FLAGS.
-	(dump_enable_all): Fix TDF_KIND check thinko.
-
-2017-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	array entries to represent two legal parameterizations of the
-	overloaded __builtin_cmpb function, as represented by the
-	P6_OV_BUILTIN_CMPB constant.
-	(altivec_resolve_overloaded_builtin): Add special case handling
-	for the __builtin_cmpb function, as represented by the
-	P6_OV_BUILTIN_CMPB constant.
-	* config/rs6000/rs6000-builtin.def (BU_P6_2): New macro.
-	(BU_P6_64BIT_2): New macro.
-	(BU_P6_OVERLOAD_2): New macro
-	(CMPB_32): Add 32-bit compare-bytes support for 32-bit only targets.
-	(CMPB): Add 64-bit compare-bytes support for 32-bit and 64-bit targets.
-	(CMPB): Add overload support to represent both 32-bit and 64-bit
-	compare-bytes function.
-	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
-	support for TARGET_CMPB.
-	* config/rs6000/rs6000.h: Add support for RS6000_BTM_CMPB.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
-	documentation of the __builtin_cmpb overloaded built-in function.
-
-2017-05-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80705
-	* tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED
-	bases are not vectorizable.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (determine_set_costs): Skip non-interger
-	when counting register pressure.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (compare_cost_pair): New.
-	(iv_ca_more_deps): Renamed to ...
-	(iv_ca_compare_deps): ... this.
-	(iv_ca_extend): Extend iv_ca if NEW_CP is cheaper than OLD_CP.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (find_interesting_uses): Move inv vars dump
-	to ...
-	(determine_group_iv_costs): ... here.
-	(find_inv_vars_cb): Record inv var if it's not recorded before.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): Refine comments.
-	(get_shiftadd_cost): Ditto.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-address.c: Include header file.
-	(move_hint_to_base): Return TRUE if BASE_HINT is moved to memory
-	address.
-	(add_to_parts): Refactor.
-	(addr_to_parts): New parameter.  Update use of move_hint_to_base.
-	(create_mem_ref): Update use of addr_to_parts.  Re-associate addr
-	in new order.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/53090
-	* tree-ssa-loop-ivopts.c (enum comp_iv_rewrite): New enum value
-	COMP_IV_EXPR_2.
-	(extract_cond_operands): Detect condition with IV on both sides
-	and return COMP_IV_EXPR_2.
-	(find_interesting_uses_cond): Add iv_use for both IVs in condition.
-	(rewrite_use_compare): Simplify by removing call to function
-	extract_cond_operands.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (enum comp_iv_rewrite): New.
-	(extract_cond_operands): Detect condition comparing against non-
-	invariant bound and return appropriate enum value.
-	(find_interesting_uses_cond): Update use of extract_cond_operands.
-	Handle its return value accordingly.
-	(determine_group_iv_cost_cond, rewrite_use_compare): Ditto.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Re-associate
-	nonlinear iv_use computation in loop invariant sensitive way.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): New.
-	(find_iv_candidates): Call relate_compare_use_with_all_cands.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (struct iv_cand): New field inv_exprs.
-	(dump_cand): Support iv_cand.inv_exprs.
-	(add_candidate_1): Record invariant exprs in iv_cand.inv_exprs
-	for candidates.
-	(iv_ca_set_no_cp, iv_ca_set_cp, free_loop_data): Support
-	iv_cand.inv_exprs.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Move
-	from ...
-	* tree-ssa-address.c (multiplier_allowed_in_address_p): ... to here
-	as local function.  Include necessary header files.
-	* tree-ssa-loop-ivopts.h (multiplier_allowed_in_address_p): Delete.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (autoinc_possible_for_pair): Simplify.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Handle more
-	operators: TRUNC_DIV_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR, LSHIFT_EXPR,
-	RSHIFT_EXPR and BIT_NOT_EXPR.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_loop_invariant_expr): Simplify.
-	(adjust_setup_cost): New parameter supporting round up adjustment.
-	(struct address_cost_data): Delete.
-	(force_expr_to_var_cost): Don't bound cost with spill_cost.
-	(split_address_cost, ptr_difference_cost): Delete.
-	(difference_cost, compare_aff_trees, record_inv_expr): Delete.
-	(struct ainc_cost_data): New struct.
-	(get_address_cost_ainc): New function.
-	(get_address_cost, get_computation_cost): Reimplement.
-	(determine_group_iv_cost_address): Record inv_expr for all uses of
-	a group.
-	(determine_group_iv_cost_cond): Call get_loop_invariant_expr.
-	(iv_ca_has_deps): Reimplemented to ...
-	(iv_ca_more_deps): ... this.  Check if NEW_CP introduces more deps
-	than OLD_CP.
-	(iv_ca_extend): Call iv_ca_more_deps.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-address.c (struct mem_address): Move to header file.
-	(valid_mem_ref_p, move_fixed_address_to_symbol): Make it global.
-	* tree-ssa-address.h (struct mem_address): Move from C file.
-	(valid_mem_ref_p, move_fixed_address_to_symbol): Declare.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-affine.h (aff_combination_type): New interface.
-	(aff_combination_zero_p): Remove static.
-	(aff_combination_const_p): New interface.
-	(aff_combination_singleton_var_p): New interfaces.
-
-2017-05-11  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
-	Skip unreachable blocks and destinations.
-	(eliminate): Move stmt removal and fixup ...
-	(fini_eliminate): ... here.  Skip inserted exprs.
-	(pass_pre::execute): Move fini_pre after fini_eliminate.
-	* tree-ssa-tailmerge.c: Include tree-cfgcleanup.h.
-	(tail_merge_optimize): Run cleanup_tree_cfg if requested by
-	PRE to get rid of dead code that has invalid SSA form and
-	split critical edges again.
-
-2017-05-11  Bin Cheng  <bin.cheng@arm.com>
-
-	* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
-
-2017-05-11  Richard Biener  <rguenther@suse.de>
-
-	* passes.c (execute_function_todo): Verify loops if they are
-	said to be up-to-date.
-	* cfgexpand.c (pass_expand::execute): Discard loops for -dx.
-	* trans-mem.c (pass_tm_edges::execute): Mark loops for fixup.
-
-2017-05-10  John David Anglin  <danglin@gcc.gnu.org>
-
-	PR target/80090
-	* config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF,
-	handle calling assemble_external ourself.
-
-	PR target/79027
-	* config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from
-	modes with zero size.  Enhance comment.
-
-2017-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8
-	built-ins for vec_xl and vec_xst with short and char pointer
-	arguments.
-
-2017-05-10  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* config/i386/avx512fintrin.h (_mm_mask_max_round_sd)
-	(_mm_maskz_max_round_sd, _mm_mask_max_round_ss)
-	(_mm_maskz_max_round_ss, _mm_mask_min_round_sd)
-	(_mm_maskz_min_round_sd, _mm_mask_min_round_ss)
-	(_mm_maskz_min_round_ss): New intrinsics.
-	* config/i386/i386-builtin-types.def (V2DF, V2DF, V2DF, V2DF, UQI, INT)
-	(V4SF, V4SF, V4SF, V4SF, UQI, INT): New function type aliases.
-	* config/i386/i386-builtin.def (__builtin_ia32_maxsd_mask_round)
-	(__builtin_ia32_maxss_mask_round, __builtin_ia32_minsd_mask_round)
-	(__builtin_ia32_minss_mask_round): New builtins.
-	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
-	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types.
-	* config/i386/sse.md (<sse>_vm<code><mode>3<round_saeonly_name>):
-	Rename to ...
-	(<sse>_vm<code><mode>3<mask_name><round_saeonly_name>): ... this.
-	(v<maxmin_float><ssescalarmodesuffix>\t{<round_saeonly_op3>%2, %1, %0|%0, %1, %<iptr>2<round_saeonly_op3>}):
-	Change to ...
-	(v<maxmin_float><ssescalarmodesuffix>\t{<round_saeonly_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_saeonly_mask_op3>}):
-	... this.
-
-2017-05-10  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* config/i386/avx512fintrin.h (_mm_mask_mul_round_sd)
-	(_mm_maskz_mul_round_sd, _mm_mask_mul_round_ss)
-	(_mm_maskz_mul_round_ss, _mm_mask_div_round_sd)
-	(_mm_maskz_div_round_sd, _mm_mask_div_round_ss)
-	(_mm_maskz_div_round_ss, _mm_mask_mul_sd, _mm_maskz_mul_sd)
-	(_mm_mask_mul_ss, _mm_maskz_mul_ss, _mm_mask_div_sd)
-	(_mm_maskz_div_sd, _mm_mask_div_ss, _mm_maskz_div_ss): New intrinsics.
-	* config/i386/i386-builtin-types.def (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
-	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): New function type aliases.
-	* config/i386/i386-builtin.def (__builtin_ia32_divsd_mask_round)
-	(__builtin_ia32_divss_mask_round, __builtin_ia32_mulsd_mask_round)
-	(__builtin_ia32_mulss_mask_round): New builtins.
-	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
-	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types.
-	* config/i386/sse.md (<sse>_vm<multdiv_mnemonic><mode>3<round_name>):
-	Rename to ...
-	(<sse>_vm<multdiv_mnemonic><mode>3<mask_name><round_name>): ... this.
-	(v<multdiv_mnemonic><ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|%0, %1, %<iptr>2<round_op3>}):
-	Change to ...
-	(v<multdiv_mnemonic><ssescalarmodesuffix>\t{<round_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}):
-	... this.
-
-2017-05-10  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avxintrin.h (_mm256_set_m128, _mm256_set_m128d)
-	(_mm256_set_m128i, _mm256_setr_m128, _mm256_setr_m128d)
-	(_mm256_setr_m128i): New intrinsics.
-
-2017-05-10  Julia Koval  <julia.koval@intel.com>
-
-	* config/i386/avx512fintrin.h (_mm_mask_rcp14_sd)
-	(_mm_maskz_rcp14_sd, _mm_mask_rcp14_ss)
-	(_mm_maskz_rcp14_ss): New intrinsics.
-	* config/i386/i386-builtin.def (__builtin_ia32_rcp14sd_mask)
-	(__builtin_ia32_rcp14ss_mask): New builtins.
-	* config/i386/sse.md (srcp14<mode>_mask): New pattern.
-
-2017-05-10  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR tree-optimization/51513
-	* tree-cfg.c (gimple_seq_unreachable_p): New function.
-	(assert_unreachable_fallthru_edge_p): Use it.
-	(group_case_labels_stmt): Likewise.
-	* tree-cfg.h: Prototype it.
-	* stmt.c: Include cfghooks.h and tree-cfg.h.
-	(emit_case_dispatch_table) <gap_label>: New local variable.
-	Use it to fill dispatch table gaps.
-	Test for default_label before updating probabilities.
-	(expand_case) <default_label>: Remove unneeded initialization.
-	Test for unreachable default case statement and remove its edge.
-	Set default_label accordingly.
-	* tree-ssa-ccp.c (optimize_unreachable): Update comment.
-
-2017-05-10  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c: Add support for built-in functions
-	vector signed char	vec_neg (vector signed char)
-	vector signed short int	vec_neg (vector short int)
-	vector signed int	vec_neg (vector signed int)
-	vector signed long long	vec_neg (vector signed long long)
-	vector float		vec_neg (vector float)
-	vector double		vec_neg (vector double)
-	* config/rs6000/rs6000-builtin.def: Add definitions for NEG function
-	overload.
-	* config/rs6000/altivec.h: Add define for vec_neg
-	* doc/extend.texi: Update the built-in documentation for the
-	new built-in functions.
-
-2017-05-10  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/77644
-	* match.pd (sqrt(x) cmp sqrt(y) -> x cmp y): New pattern.
-
-2017-05-10  Nathan Sidwell  <nathan@acm.org>
-
-	* dumpfile.h (TDI_lang_all): New.
-	(TDF_KIND): New. Renumber others
-	(TDF_LANG, TDF_TREE, TDF_RTL, TDF_IPA): Enumerate value, rather
-	than bits.
-	* dumpfile.c (dump_files): Mark language dumps as TDF_LANG.  add
-	lang-all.
-	(get_dump_file_name): Adjust suffix generation.
-	(dump_enable_all): Use TDF_KIND.
-	* doc/invoke.texi (-fdump-lang-all): Document.
-
-	* dumpfile.h: Tabify.
-
-2017-05-10  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/80671
-	* config/aarch64/cortex-a57-fma-steering.c (merge_forest):
-	Move member access before delete.
-
-2017-05-10  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree-inline.c (expand_call_inline): Split block at stmt
-	before the call.
-
-2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/68163
-	* config/rs6000/rs6000.md (f32_lr): Delete mode attributes that
-	are now unused after splitting mov{sf,sd}_hardfloat.
-	(f32_lr2): Likewise.
-	(f32_lm): Likewise.
-	(f32_lm2): Likewise.
-	(f32_li): Likewise.
-	(f32_li2): Likewise.
-	(f32_lv): Likewise.
-	(f32_sr): Likewise.
-	(f32_sr2): Likewise.
-	(f32_sm): Likewise.
-	(f32_sm2): Likewise.
-	(f32_si): Likewise.
-	(f32_si2): Likewise.
-	(f32_sv): Likewise.
-	(f32_dm): Likewise.
-	(f32_vsx): Likewise.
-	(f32_av): Likewise.
-	(mov<mode>_hardfloat): Split into separate movsf and movsd pieces.
-	For movsf, order stores so the VSX stores occur before the GPR
-	store which encourages the register allocator to use a traditional
-	FPR instead of a GPR.  For movsd, order the stores so that the GPR
-	store comes before the VSX stores to allow the power6 to work.
-	This is due to the power6 not having a 32-bit integer store
-	instruction from a FPR.
-	(movsf_hardfloat): Likewise.
-	(movsd_hardfloat): Likewise.
-
-2017-05-09  Martin Sebor  <msebor@redhat.com>
-
-	PR translation/80280
-	* config/sol2-c.c (cmn_err_flag_specs): Initialize new data member
-	added in r247778.
-
-	PR translation/80280
-	* config/i386/msformat-c.c (ms_printf_flag_specs): Initialize new
-	data member added in r247778.
-	(ms_scanf_flag_specs, ms_strftime_flag_specs): Same.
-
-2017-05-09  Nathan Sidwell  <nathan@acm.org>
-
-	* tree.h (tree_fits_shwi_p, tree_fits_uhwi_p): Unconditionally pure.
-
-	* ipa-devirt.c (default_hash_traits<type_pair>): Skip struct-scope
-	typedefs.
-
-2017-05-09  Marek Polacek  <polacek@redhat.com>
-
-	* doc/invoke.texi: Fix typo.
-
-2017-05-09  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (vrp_val_is_max): Adjust comment.
-	(vrp_val_is_min): Likewise.
-	(set_value_range_to_value): Likewise.
-	(set_value_range_to_nonnegative): Likewise.
-	(gimple_assign_nonzero_p): Likewise.
-	(gimple_stmt_nonzero_p): Likewise.
-	(vrp_int_const_binop): Likewise.  Remove unreachable case.
-	(adjust_range_with_scev): Adjust comments.
-	(compare_range_with_value): Likewise.
-	(extract_range_from_phi_node): Likewise.
-	(test_for_singularity): Likewise.
-
-2017-05-09  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (get_single_symbol): Add assert that we don't
-	get overflowed constants as invariant part.
-	(compare_values_warnv): Add comment before the TREE_NO_WARNING
-	checks.  Use wi::cmp instead of recursing for integer constants.
-	(compare_values): Just ignore whether we assumed undefined
-	overflow instead of failing the compare.
-	(extract_range_for_var_from_comparison_expr): Add comment before the
-	TREE_NO_WARNING sets.
-	(test_for_singularity): Likewise.
-	(extract_range_from_comparison): Do not disable optimization
-	when we assumed undefined overflow.
-	(extract_range_basic): Remove init of unused var.
-
-2017-05-09  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (vrp_int_const_binop): Use wide-ints and simplify.
-	(extract_range_from_multiplicative_op_1): Adjust.
-	(extract_range_from_binary_expr_1): Use int_const_binop.
-
-2017-05-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR target/80101
-	* config/rs6000/power6.md: Replace store_data_bypass_p calls with
-	rs6000_store_data_bypass_p in seven define_bypass directives and
-	in several comments.
-	* config/rs6000/rs6000-protos.h: Add prototype for
-	rs6000_store_data_bypass_p function.
-	* config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New
-	function implements slightly different (rs6000-specific) semantics
-	than store_data_bypass_p, returning false rather than aborting
-	with assertion error when arguments do not satisfy the
-	requirements of store data bypass.
-	(rs6000_adjust_cost): Replace six calls of store_data_bypass_p with
-	rs6000_store_data_bypass_p.
-
-2017-05-08  Max Filippov  <jcmvbkbc@gmail.com>
-
-	* config/xtensa/xtensa-protos.h
-	(xtensa_initial_elimination_offset): New declaration.
-	* config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
-	New function. Move its body from the INITIAL_ELIMINATION_OFFSET
-	macro definition, add case for FRAME_POINTER_REGNUM when
-	FRAME_GROWS_DOWNWARD.
-	* config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): New macro definition.
-	(INITIAL_ELIMINATION_OFFSET): Replace body with call to
-	xtensa_initial_elimination_offset.
-
-2017-05-08  Nathan Sidwell  <nathan@acm.org>
-
-	* doc/invoke.texi: Alphabetize -fdump options.
-
-2017-05-08  Martin Sebor  <msebor@redhat.com>
-
-	PR translation/80280
-	* config/sol2-c.c (solaris_pragma_align): Correct quoting.
-
-2017-05-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* target.def (compute_frame_layout): New optional target hook.
-	* doc/tm.texi.in (TARGET_COMPUTE_FRAME_LAYOUT): Add hook.
-	* doc/tm.texi (TARGET_COMPUTE_FRAME_LAYOUT): Add documentation.
-	* lra-eliminations.c (update_reg_eliminate): Call compute_frame_layout
-	target hook.
-	* reload1.c (verify_initial_elim_offsets): Likewise.
-	* config/arm/arm.c (TARGET_COMPUTE_FRAME_LAYOUT): Define.
-	(use_simple_return_p): Call arm_compute_frame_layout if needed.
-	(arm_get_frame_offsets): Split up into this ...
-	(arm_compute_frame_layout): ... and this function.
-
-2017-05-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/constraints.md (Usa): New constraint.
-	* config/aarch64/aarch64.md (*movsi_aarch64, *movdi_aarch64): Use it.
-
-2017-05-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config.gcc (arm*-*-*): Set TM_MULTILIB_CONFIG from
-	with_multilib_list after it has been checked.
-
-2017-05-08  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (bitmap_set_and): Avoid bitmap copy.
-	(bitmap_set_subtract_values): Likewise.
-
-2017-05-08  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (gimple_assign_nonzero_warnv_p): Rename to ...
-	(gimple_assign_nonzero): ... this and remove strict_overflow_p
-	argument.
-	(gimple_stmt_nonzero_warnv_p): Rename to ...
-	(gimple_stmt_nonzero_p): ... this and remove strict_overflow_p
-	argument.
-	(vrp_stmt_computes_nonzero): Remove strict_overflow_p argument.
-	(extract_range_basic): Adjust, do not disable propagation on
-	strict overflow sensitive simplification.
-	(vrp_visit_cond_stmt): Likewise.
-
-2017-05-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (estimate_function_body_sizes): Recompute
-	body size unconditionally.
-
-2017-05-07  Jeff Law  <law@redhat.com>
-
-	Revert:
-	2017-05-06  Jeff Law  <law@redhat.com>
-	PR tree-optimization/78496
-	* tree-vrp.c (simplify_assert_expr_using_ranges): Remove debugging
-	code.
-
-	PR tree-optimization/78496
-	* tree-vrp.c (simplify_assert_expr_using_ranges): New function.
-	(simplify_stmt_using_ranges): Call it.
-	(vrp_dom_walker::before_dom_children): Extract equivalences
-	from an ASSERT_EXPR with an equality comparison against a
-	constant.
-
-2017-05-06  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/78496
-	* tree-vrp.c (simplify_assert_expr_using_ranges): Remove debugging
-	code.
-
-	PR tree-optimization/78496
-	* tree-vrp.c (simplify_assert_expr_using_ranges): New function.
-	(simplify_stmt_using_ranges): Call it.
-	(vrp_dom_walker::before_dom_children): Extract equivalences
-	from an ASSERT_EXPR with an equality comparison against a
-	constant.
-
-2017-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* lra-constraints.c (lra_copy_reg_equiv): New function.
-	(split_reg): Use it to copy equivalence information from the
-	original register to the spill register.
-
-2017-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	PR rtl-optimization/75964
-	* simplify-rtx.c (simplify_const_relational_operation): Remove
-	invalid handling of comparisons of integer ABS.
-
-2017-05-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ext_80387_constant_init): Do not explicitly
-	initialize to zero.
-	(init_regs): Remove declaration.
-	(function_arg_advance_32): Initialize error_p as boolean variable.
-
-2017-05-05  Nathan Sidwell  <nathan@acm.org>
-
-	* store-motion.c (remove_reachable_equiv_notes): Reformat long
-	lines.  Use for (;;).
-
-2017-05-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var.
-	(rs6000_init_cost): Initialize rs6000_vect_nonmem.
-	(rs6000_add_stmt_cost): Update rs6000_vect_nonmem.
-	(rs6000_finish_cost): Avoid vectorizing simple copy loops with
-	VF=2 that require versioning.
-
-2017-05-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic.h (CARET_LINE_MARGIN): Convert from macro to const
-	int.
-
-2017-05-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic.h (diagnostic_override_option_index): Convert from
-	macro to inline function.
-
-2017-05-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic.c (last_module_changed_p): New function.
-	(set_last_module): New function.
-	(diagnostic_report_current_module): Convert macro usage to
-	the above functions.
-	* diagnostic.h (diagnostic_context::last_module): Strengthen
-	from const line_map * to const line_map_ordinary *.
-	(diagnostic_last_module_changed): Delete macro.
-	(diagnostic_set_last_module): Delete macro.
-
-2017-05-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic.c (diagnostic_impl): Replace report_diagnostic
-	with diagnostic_report_diagnostic.
-	(diagnostic_n_impl_richloc): Likewise.
-	* diagnostic.h (report_diagnostic): Delete macro.
-	* rtl-error.c (diagnostic_for_asm): Replace report_diagnostic
-	with diagnostic_report_diagnostic.
-	* substring-locations.c (format_warning_va): Likewise.
-
-2017-05-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic.c (diagnostic_report_diagnostic): Eliminate
-	save/restor of format_spec.  Move option-printing code to...
-	(print_option_information): ...this new function, and
-	reimplement by simply printing to the pretty_printer,
-	rather than appending to the format string.
-
-2017-05-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic.c (diagnostic_report_diagnostic): Split out pragma
-	handling logic into...
-	(update_effective_level_from_pragmas): ...this new function.
-
-2017-05-04  Andrew Waterman  <andrew@sifive.com>
-
-	* config/riscv/riscv.opt (mstrict-align): New option.
-	* config/riscv/riscv.h (STRICT_ALIGNMENT): Use it.  Update comment.
-	(SLOW_UNALIGNED_ACCESS): Define.
-	(riscv_slow_unaligned_access): Declare.
-	* config/riscv/riscv.c (riscv_tune_info): Add slow_unaligned_access
-	field.
-	(riscv_slow_unaligned_access): New variable.
-	(rocket_tune_info): Set slow_unaligned_access to true.
-	(optimize_size_tune_info): Set slow_unaligned_access to false.
-	(riscv_cpu_info_table): Add entry for optimize_size_tune_info.
-	(riscv_valid_lo_sum_p): Use TARGET_STRICT_ALIGN.
-	(riscv_option_override): Set riscv_slow_unaligned_access.
-	* doc/invoke.texi: Add -mstrict-align to RISC-V.
-
-2017-05-04  Kito Cheng  <kito.cheng@gmail.com>
-
-	* config/riscv/riscv.md: Unify indentation.
-
-2017-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/79038
-	PR target/79202
-	PR target/79203
-	* config/rs6000/rs6000.md (u code attribute): Add FIX and
-	UNSIGNED_FIX.
-	(extendsi<mode>2): Add support for doing sign extension via
-	VUPKHSW and XXPERMDI if the value is in Altivec registers and we
-	don't have ISA 3.0 instructions.
-	(extendsi<mode>2 splitter): Likewise.
-	(fix_trunc<mode>si2): If we are at ISA 2.07 (VSX small integer),
-	generate the normal insns since SImode can now go in vector
-	registers.  Disallow the special UNSPECs needed for previous
-	machines to hide SImode being used.  Add new insns
-	fctiw{,w}_<mode>_smallint if SImode can go in vector registers.
-	(fix_trunc<mode>si2_stfiwx): Likewise.
-	(fix_trunc<mode>si2_internal): Likewise.
-	(fixuns_trunc<mode>si2): Likewise.
-	(fixuns_trunc<mode>si2_stfiwx): Likewise.
-	(fctiw<u>z_<mode>_smallint): Likewise.
-	(fctiw<u>z_<mode>_mem): New combiner pattern to prevent conversion
-	of floating point to 32-bit integer from doing a direct move to
-	the GPR registers to do a store.
-	(fctiwz_<mode>): Break long line.
-
-2017-05-05  Bin Cheng  <bin.cheng@arm.com>
-
-	* Makefile.in (GTFILES): Add tree-ssa-loop-ivopts.c.
-	* tree-ssa-loop-ivopts.c (compute_max_addr_offset): Delete.
-	(addr_list, addr_offset_valid_p): New.
-	(split_address_groups): Check offset validity with above function.
-	(gt-tree-ssa-loop-ivopts.h): Include header file.
-
-2017-05-05  Nathan Sidwell  <nathan@acm.org>
-
-	* config.gcc (arm*-*-*): Add missing 'fi'.
-
-2017-05-05  Steve Ellcey  <sellcey@cavium.com>
-
-	* doc/invoke.texi (-fopt-info): Explicitly say order of options
-	included in -fopt-info does not matter.
-	* doc/optinfo.texi (-fopt-info): Fix description of default
-	behavour. Explicitly say order of options included in -fopt-info
-	does not matter.
-
-2017-05-05  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config.gcc: Allow combinations of aprofile and rmprofile values for
-	--with-multilib-list.
-	* config/arm/t-multilib: New file.
-	* config/arm/t-aprofile: Remove initialization of MULTILIB_*
-	variables.  Remove setting of ISA and floating-point ABI in
-	MULTILIB_OPTIONS and MULTILIB_DIRNAMES.  Set architecture and FPU in
-	MULTI_ARCH_OPTS_A and MULTI_ARCH_DIRS_A rather than MULTILIB_OPTIONS
-	and MULTILIB_DIRNAMES respectively.  Add comment to introduce all
-	matches.  Add architecture matches for marvel-pj4 and generic-armv7-a
-	CPU options.
-	* config/arm/t-rmprofile: Likewise except for the matches changes.
-	* doc/install.texi (--with-multilib-list): Document the combination of
-	aprofile and rmprofile values and warn about pitfalls in doing that.
-
-2017-05-05  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (movsi_aarch64): Remove '*' from r=w.
-	(movdi_aarch64): Likewise.
-
-2017-05-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/80632
-	* tree-switch-conversion.c (struct switch_conv_info): Add target_vop
-	field.
-	(build_arrays): Initialize it for virtual phis.
-	(fix_phi_nodes): Use it for virtual phis.
-
-	PR tree-optimization/80558
-	* tree-vrp.c (extract_range_from_binary_expr_1): Optimize
-	[x, y] op z into [x op, y op z] for op & or | if conditions
-	are met.
-
-2017-05-05  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-	    Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
-
-	PR target/71607
-	* config/arm/arm.md (use_literal_pool): Remove.
-	(64-bit immediate split): No longer takes cost into consideration
-	if arm_disable_literal_pool is enabled.
-	* config/arm/arm.c (arm_tls_referenced_p): Add diagnostic if TLS is
-	used when arm_disable_literal_pool is enabled.
-	(arm_max_const_double_inline_cost): Remove use of
-	arm_disable_literal_pool.
-	(push_minipool_fix): Add assert.
-	(arm_reorg): Add return if arm_disable_literal_pool is enabled.
-	* config/arm/vfp.md (no_literal_pool_df_immediate): New.
-	(no_literal_pool_sf_immediate): New.
-
-2017-05-05  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/80613
-	* tree-ssa-dce.c (propagate_necessity): Remove cases for
-	BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
-
-2017-05-05  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (get_or_alloc_expr_for): Simplify.
-
-2017-05-05  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.md [flag_strict_overflow]: Remove any occurence
-	of this flag from insn conditions due to removal from r247495.
-
-2017-05-05  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/aarch-common.c (arm_early_load_addr_dep_ptr):
-	New function.
-	(arm_early_store_addr_dep_ptr): Likewise.
-	* config/arm/aarch-common-protos.h
-	(arm_early_load_addr_dep_ptr): Add prototype.
-	(arm_early_store_addr_dep_ptr): Likewise.
-	* config/arm/cortex-a53.md: Add new bypasses.
-
-2017-05-05  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree.c (next_type_uid): Change type to unsigned.
-	(type_hash_canon): Decrement back next_type_uid if
-	freeing a type node with the highest TYPE_UID.  For INTEGER_TYPEs
-	also ggc_free TYPE_MIN_VALUE, TYPE_MAX_VALUE and TYPE_CACHED_VALUES
-	if possible.
-
-2017-05-04  Martin Sebor  <msebor@redhat.com>
-
-	* builtins.c: Fix a trivial typo in a comment.
-
-	PR middle-end/79234
-	* builtins.c (check_sizes): Adjust to handle reading past the end.
-	Avoid printing excessive upper bound of ranges.  Use %E to print
-	tree nodes instead of converting them to %wu.
-	(expand_builtin_memchr): New function.
-	(compute_dest_size): Rename...
-	(compute_objsize): ...to this.
-	(expand_builtin_memcpy): Adjust.
-	(expand_builtin_mempcpy): Adjust.
-	(expand_builtin_strcat): Adjust.
-	(expand_builtin_strcpy): Adjust.
-	(check_strncat_sizes): Adjust.
-	(expand_builtin_strncat): Adjust.
-	(expand_builtin_strncpy): Adjust and simplify.
-	(expand_builtin_memset): Adjust.
-	(expand_builtin_bzero): Adjust.
-	(expand_builtin_memcmp): Adjust.
-	(expand_builtin): Handle memcmp.
-	(maybe_emit_chk_warning): Check strncat just once.
-
-2017-05-04  Martin Sebor  <msebor@redhat.com>
-
-	PR preprocessor/79214
-	PR middle-end/79222
-	PR middle-end/79223
-	* builtins.c (check_sizes): Add inlining context and issue
-	warnings even when -Wno-system-headers is set.
-	(check_strncat_sizes): Same.
-	(expand_builtin_strncat): Same.
-	(expand_builtin_memmove): New function.
-	(expand_builtin_stpncpy): Same.
-	(expand_builtin): Handle memmove and stpncpy.
-
-2017-05-04  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (struct cost_pair): Remove field inv_expr
-	which is not used any more.
-
-2017-05-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (generic_tunings): Update prefetch model.
-
-2017-05-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (cortexa35_tunings): Set jump alignment to 4.
-	(cortexa53_tunings): Likewise.
-	(cortexa57_tunings): Likewise.
-	(cortexa72_tunings): Likewise.
-	(cortexa73_tunings): Likewise.
-
-2017-05-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (generic_tunings): Set jump alignment to 4.
-	Set loop alignment to 8.
-
-2017-05-04  Martin Sebor  <msebor@redhat.com>
-
-	PR translation/80280
-	* builtins.c (expand_builtin_object_size): Add missing quoting to
-	%D and like directives.
-	* hsa-gen.c (hsa_type_for_scalar_tree_type): Same.
-	(hsa_type_for_tree_type): Same.
-	(verify_function_arguments): Same.
-	* symtab.c (symbol_table::change_decl_assembler_name): Same.
-	* varasm.c (get_section): Same.
-	(mark_weak): Same.
-
-2017-05-04  Martin Sebor  <msebor@redhat.com>
-
-	PR translation/80280
-	* config/i386/i386.c (ix86_function_versions): Quote a %D directive.
-
-2017-05-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (generic_addrcost_table):
-	Change HI/TI mode setting.
-
-2017-05-04  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/80622
-	* tree-sra.c (comes_initialized_p): New function.
-	(build_accesses_from_assign): Only set write lazily when
-	comes_initialized_p is false.
-	(analyze_access_subtree): Use comes_initialized_p.
-	(propagate_subaccesses_across_link): Assert !comes_initialized_p
-	instead of testing for PARM_DECL.
-
-2017-05-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.md (prefetch); Adjust predicate and
-	constraint on operand 0 to allow more general addressing modes.
-	Adjust output template.
-	* config/aarch64/aarch64.c (aarch64_address_valid_for_prefetch_p):
-	New function.
-	* config/aarch64/aarch64-protos.h
-	(aarch64_address_valid_for_prefetch_p): Declare prototype.
-	* config/aarch64/constraints.md (Dp): New address constraint.
-	* config/aarch64/predicates.md (aarch64_prefetch_operand): New
-	predicate.
-
-2017-05-04  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (perform_estimation_of_a_value): Drop base_time parameter;
-	update use of estimate_ipcp_clone_size_and_time.
-	(estimate_local_effects): Update use of
-	estimate_ipcp_clone_size_and_time and perform_estimation_of_a_value.
-	* ipa-inline.h (estimate_ipcp_clone_size_and_time): Update prototype.
-	* ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time):
-	Return nonspecialized time.
-
-2017-05-04  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-alias.c (get_continuation_for_phi): Improve looking
-	for the last VUSE which def dominates the PHI.  Directly call
-	maybe_skip_until.
-	(get_continuation_for_phi_1): Remove.
-
-2017-05-04  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): Add commentary
-	to explain the use of truncating division.  Cap the number of
-	iterations to the maximum given by nb_iterations_upper_bound,
-	if defined.
-
-2017-05-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* configure.ac (--enable-mingw-wildcard): Add new configurable feature.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-	* config/i386/driver-mingw32.c: new file.
-	* config/i386/x-mingw32: Add rule to build driver-mingw32.o.
-	* config.host: Link driver-mingw32.o on MinGW host.
-	* doc/install.texi: Document new --enable-mingw-wildcard configure
-	option.
-
-2017-05-04  Marek Polacek  <polacek@redhat.com>
-
-	PR tree-optimization/80612
-	* calls.c (get_size_range): Check for INTEGRAL_TYPE_P.
-
-2017-05-04  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
-	    Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm.md (movsi): Change TARGET_32BIT to TARGET_HAVE_MOVT.
-	(movt splitter): Likewise.
-	* config/arm/arm.c (arm_option_check_internal): Change arm_arch_thumb2
-	to TARGET_HAVE_MOVT, and merge with -mslow-flash-data check.
-	(const_ok_for_arm): Change else to else if (TARGET_THUMB2) and add else
-	block for Thumb-1 with MOVT.
-	(thumb2_legitimate_address_p): Move code block ...
-	(can_avoid_literal_pool_for_label_p): ... into this new function.
-	(thumb1_legitimate_address_p): Add check for TARGET_HAVE_MOVT and
-	literal pool.
-	(thumb_legitimate_constant_p): Add conditional on TARGET_HAVE_MOVT
-	* doc/invoke.texi (-mpure-code): Change "ARMv7-M targets" for
-	"M-profile targets with the MOVT instruction".
-
-2017-05-04  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
-
-	* config/arm/arm-builtins.c (arm_init_builtins): Rename
-	__builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
-	__builtin_arm_stfscr to __builtin_arm_set_fpscr.
-
-2017-05-04  Martin Liska  <mliska@suse.cz>
-
-	* tree-vrp.c (simplify_cond_using_ranges_2): Remove unused
-	variable cond_code.
-
-2017-05-04  Richard Biener  <rguenther@suse.de>
-
-	* tree.c (array_at_struct_end_p): Handle arrays at struct
-	end with flexarrays more conservatively.  Refactor and treat
-	arrays of arrays or aggregates more strict.  Fix
-	VIEW_CONVERT_EXPR handling.  Remove allow_compref argument.
-	* tree.c (array_at_struct_end_p): Adjust prototype.
-	* emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust.
-	* gimple-fold.c (get_range_strlen): Likewise.
-	* tree-chkp.c (chkp_may_narrow_to_field): Likewise.
-
-2017-05-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/31130
-	* tree-vrp.c (needs_overflow_infinity): Remove as always returning
-	false.
-	(supports_overflow_infinity): Likewise.
-	(is_negative_overflow_infinity): Likewise.
-	(is_positive_overflow_infinity): Likewise.
-	(is_overflow_infinity): Likewise.
-	(stmt_overflow_infinity): Likewise.
-	(overflow_infinity_range_p): Likewise.
-	(usable_range_p): Remove as always returning true.
-	(make_overflow_infinity): Remove.
-	(negative_overflow_infinity): Likewise.
-	(positive_overflow_infinity): Likewise.
-	(avoid_overflow_infinity): Likewise.
-	(set_value_range): Adjust accordingly.
-	(set_value_range_to_nonnegative): Likewise, remove now unused
-	overflow_infinity arg.
-	(vrp_operand_equal_p): Adjust.
-	(update_value_range): Likewise.
-	(range_int_cst_singleton_p): Likewise.
-	(operand_less_p): Likewise.
-	(compare_values_warnv): Likewise.
-	(extract_range_for_var_from_comparison_expr): Likewise.
-	(vrp_int_const_binop): Likewise.
-	(zero_nonzero_bits_from_vr): Likewise.
-	(extract_range_from_multiplicative_op_1): Likewise.
-	(extract_range_from_binary_expr_1): Likewise.
-	(extract_range_from_unary_expr): Likewise.
-	(extract_range_from_comparison): Likewise.
-	(extract_range_basic): Likewise.
-	(adjust_range_with_scev): Likewise.
-	(compare_ranges): Likewise.
-	(compare_range_with_value): Likewise.
-	(dump_value_range): Likewise.
-	(test_for_singularity): Likewise, remove strict_overflow_p parameter
-	never used.
-	(simplify_cond_using_ranges): Adjust.
-
-2017-05-04  Pekka Jääskeläinen  <pekka.jaaskelainen@parmance.com>
-
-	* brig-builtins.def: Added a builtin for class_f64.
-	* builtin-types.def: Added a builtin type needed by class_f64.
-
-2017-05-03  Jason Merrill  <jason@redhat.com>
-
-	* timevar.def: Add TV_CONSTEXPR.
-
-2017-05-03  David Malcolm  <dmalcolm@redhat.com>
-
-	* common.opt (fdiagnostics-parseable-fixits): Fix typo.
-
-2017-05-03  Martin Jambor  <mjambor@suse.cz>
-
-	* ipa-prop.c (ipa_update_after_lto_read): Removed.
-	* ipa-prop.h (ipa_update_after_lto_read): Remove declaration.
-	* ipa-cp.c (ipcp_propagate_stage): Do not call
-	ipa_update_after_lto_read.
-	* ipa-inline.c (ipa_inline): Likewise.
-
-2017-05-03  Martin Jambor  <mjambor@suse.cz>
-
-	* ipa-prop.h (ipa_edge_args): Make a class.  Mark with for_user GTY
-	tag.  Added a default constructor and a destructor.
-	(ipa_edge_args_sum_t): New class;
-	(ipa_edge_args_sum): Declare.
-	(ipa_edge_args_vector): Remove declaration.
-	(IPA_EDGE_REF): Use ipa_edge_args_sum.
-	(ipa_free_edge_args_substructures): Remove declaration.
-	(ipa_check_create_edge_args): Use ipa_edge_args_sum.
-	(ipa_edge_args_info_available_for_edge_p): Likewise.
-	* ipa-prop.c (ipa_edge_args_vector): Removed.
-	(edge_removal_hook_holder): Likewise.
-	(edge_duplication_hook_holder): Likewise.
-	(ipa_edge_args_sum): New variable.
-	(ipa_propagate_indirect_call_infos): Test ipa_edge_args_sum instead of
-	ipa_edge_args_vector.
-	(ipa_free_edge_args_substructures): Likewise.
-	(ipa_free_all_edge_args): Free ipa_edge_args_sum instead of
-	ipa_edge_args_vector.
-	(ipa_edge_removal_hook): Turned into method
-	ipa_edge_args_sum_t::remove.
-	(ipa_edge_duplication_hook): Turned into method
-	ipa_edge_args_sum_t::duplicate.
-	(ipa_register_cgraph_hooks): Create ipa_edge_args_sum instead of
-	registering edge hooks.
-	(ipa_unregister_cgraph_hooks): Do not unregister edge hooks.
-	* ipa-inline-analysis.c (estimate_function_body_sizes): Test
-	ipa_edge_args_sum instead of ipa_edge_args_vector.
-	* ipa-profile.c (ipa_profile): Likewise.
-
-2017-05-03  Martin Jambor  <mjambor@suse.cz>
-
-	* symbol-summary.h (function_summary): New method exists.
-	(function_summary::symtab_removal): Deallocate through release.
-	(call_summary): New class.
-	(gt_ggc_mx): New overload.
-	(gt_pch_nx): Likewise.
-	(gt_pch_nx): Likewise.
-
-2017-05-03  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/78496
-	* tree-vrp.c (simplify_cond_using_ranges_1): Renamed
-	from simplify_cond_using_ranges.  Split off code to walk
-	backwards through casts into ...
-	(simplify_cond_using_ranges_2): New function.
-	(simplify_stmt_using_ranges): Call simplify_cond_using_ranges_1.
-	(execute_vrp): After identifying jump threads, call
-	simplify_cond_using_ranges_2.
-
-2017-05-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR bootstrap/80609
-	* ipa-inline.h (inline_summary): Add ctor.
-	(create_ggc): Do not use ggc_cleared_alloc.
-
-2017-05-03  Jeff Downs  <heydowns@somuchpressure.net>
-	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* gcc.c (handle_braces): Support escaping in switch matching
-	text.
-	* doc/invoke.texi (Spec Files): Document it.
-	Remove superfluous @code markup in items.
-
-2017-05-03  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (struct column_range): New struct.
-	(get_affected_columns): New function.
-	(get_printed_columns): New function.
-	(struct correction): New struct.
-	(correction::ensure_capacity): New function.
-	(correction::ensure_terminated): New function.
-	(struct line_corrections): New struct.
-	(line_corrections::~line_corrections): New dtor.
-	(line_corrections::add_hint): New function.
-	(layout::print_trailing_fixits): Reimplement in terms of the new
-	classes.
-	(selftest::test_overlapped_fixit_printing): New function.
-	(selftest::diagnostic_show_locus_c_tests): Call it.
-
-2017-05-03  Nathan Sidwell  <nathan@acm.org>
-
-	Canonicalize canonical type hashing
-	* tree.h (type_hash_canon_hash): Declare.
-	* tree.c (type_hash_list, attribute_hash_list): Move into
-	type_hash_canon_hash.
-	(build_type_attribute_qual_variant): Break out hash code calc into
-	type_hash_canon_hash.
-	(type_hash_canon_hash): New.  Generic type hash computation.
-	(build_range_type_1, build_array_type_1, build_function_type,
-	build_method_type_directly, build_offset_type, build_complex_type,
-	make_vector_type): Call it.
-
-2017-05-03  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
-	When all DRs have unknown misaligned do not always peel
-	when there is a store but apply the same costing model as if
-	there were only loads.
-
-2017-05-03  Richard Biener  <rguenther@suse.de>
-
-	Revert
-	PR tree-optimization/80492
-	* tree-ssa-alias.c (decl_refs_may_alias_p): Handle
-	compare_base_decls returning dont-know properly.
-
-2017-05-03  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/iterators.md (CCSI): New mode iterator.
-	(arch): New mode attribute.
-	* config/arm/sync.md (atomic_compare_and_swap<mode>_1): Rename into ...
-	(atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1): This and ...
-	(atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1): This.  Use CCSI
-	code iterator for success result mode.
-	* config/arm/arm.c (arm_expand_compare_and_swap): Adapt code to use
-	the corresponding new insn generators.
-
-2017-05-03  Bin Cheng  <bin.cheng@arm.com>
-
-	Revert r247509
-	2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-	* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
-
-2017-05-03  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* tree-data-ref.h (SUB_CONFLICTS_IN_A): Wrap SUB argument in brackets.
-	(SUB_CONFLICTS_IN_B, SUB_LAST_CONFLICT, SUB_DISTANCE): Likewise.
-	(DDR_A): Wrap DDR argument in brackets.
-	(DDR_B, DDR_AFFINE_P, DDR_ARE_DEPENDENT, DDR_SUBSCRIPTS): Likewise.
-	(DDR_LOOP_NEST, DDR_INNER_LOOP, DDR_SELF_REFERENCE): Likewise.
-	(DDR_REVERSED_P): Likewise.
-
-2017-05-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79472
-	* tree-switch-conversion.c (struct switch_conv_info): Add
-	contiguous_range and default_case_nonstandard fields.
-	(collect_switch_conv_info): Compute contiguous_range and
-	default_case_nonstandard fields, don't clear final_bb if
-	contiguous_range and only the default case doesn't have the required
-	structure.
-	(check_all_empty_except_final): Set default_case_nonstandard instead
-	of failing if contiguous_range and the default case doesn't have empty
-	block.
-	(check_final_bb): Add SWTCH argument, don't fail if contiguous_range
-	and only the default case doesn't have the required constants.  Skip
-	virtual phis.
-	(gather_default_values): Skip virtual phis.  Allow non-NULL CASE_LOW
-	if default_case_nonstandard.
-	(build_constructors): Build constant 1 just once.  Assert that default
-	values aren't inserted in between cases if contiguous_range.  Skip
-	virtual phis.
-	(build_arrays): Skip virtual phis.
-	(prune_bbs): Add DEFAULT_BB argument, don't remove that bb.
-	(fix_phi_nodes): Don't add e2f phi arg if default_case_nonstandard.
-	Handle virtual phis.
-	(gen_inbound_check): Handle default_case_nonstandard case.
-	(process_switch): Adjust check_final_bb caller.  Call
-	gather_default_values with the first non-default case instead of
-	default case if default_case_nonstandard.
-
-2017-05-02  Nathan Sidwell  <nathan@acm.org>
-
-	* ggc-page.c (move_ptes_to_front): Replace unsigned >0 with i--
-	check.  Fix formatting.
-
-2017-05-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (estimate_node_size_and_time): Allow roundoff
-	errors when comparing specialized and unspecialized times.
-
-2017-05-02  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c
-	(layout::should_print_annotation_line_p): Make private.
-	(layout::print_annotation_line): Make private.
-	(layout::annotation_line_showed_range_p): Make private.
-	(layout::show_ruler): Make private.
-	(layout::print_source_line): Make private.  Pass in line and
-	line_width, rather than calling location_get_source_line.  Drop
-	returned value.
-	(layout::print_leading_fixits): New method.
-	(layout::print_any_fixits): Rename to...
-	(layout::print_trailing_fixits): ...this, and make private.
-	Don't print newline fixits.
-	(diagnostic_show_locus): Move logic for printing one row into...
-	(layout::print_line): ...this new function.  Move the
-	location_get_source_line call and error-handling from
-	print_source_line to here.  Call print_leading_fixits, and rename
-	print_any_fixits to print_trailing_fixits.
-	(selftest::test_fixit_insert_containing_newline): Update now that
-	newlines are partially supported.
-	(selftest::test_fixit_insert_containing_newline_2): New test.
-	(selftest::test_fixit_replace_containing_newline): Update comments.
-	(selftest::diagnostic_show_locus_c_tests): Call the new test.
-	* edit-context.c (class added_line): New class.
-	(class edited_line): Describe newline handling in comment.
-	(edited_line::actually_edited_p): New method.
-	(edited_line::print_content): Delete redundant decl.
-	(edited_line::m_predecessors): New field.
-	(edited_file::print_content): Call edited_line::print_content.
-	(edited_file::print_diff): Update to support newlines.
-	(edited_file::print_diff_hunk): Likewise.
-	(edited_file::print_run_of_changed_lines): New function.
-	(edited_file::print_diff_line): Convert to...
-	(print_diff_line): ...this.
-	(edited_file::get_effective_line_count): New function.
-	(edited_line::edited_line): Initialize new field m_predecessors.
-	(edited_line::~edited_line): Clean up m_predecessors.
-	(edited_line::apply_fixit): Handle newlines.
-	(edited_line::get_effective_line_count): New function.
-	(edited_line::print_content): New function.
-	(edited_line::print_diff_lines): New function.
-	(selftest::test_applying_fixits_insert_containing_newline): New
-	test.
-	(selftest::test_applying_fixits_replace_containing_newline): New
-	test.
-	(selftest::insert_line): New function.
-	(selftest::test_applying_fixits_multiple_lines): Add example of
-	inserting a line.
-	(selftest::edit_context_c_tests): Call the new tests.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at): Delete
-	parameter cand.  Update dump information.
-	(get_computation_cost): Update uses.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_computation_aff_1): New.
-	(get_computation_aff): Reorder parameters.  Use get_computation_aff_1.
-	(get_computation_at, rewrite_use_address): Update use of
-	get_computation_aff.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_computation_at): Reorder parameters.
-	(get_computation): Delete.
-	(get_computation_cost): Implement like get_computation_cost_at.
-	Use get_computation_at.
-	(get_computation_cost_at): Delete.
-	(rewrite_use_nonlinear_expr): Use get_computation_at.
-	(rewrite_use_compare, remove_unused_ivs): Ditto.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (rewrite_use_address): Simple refactor.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (struct iv_ca): Rename n_regs to n_invs.
-	(ivopts_global_cost_for_size): Rename parameter and update uses.
-	(iv_ca_recount_cost): Update uses.
-	(iv_ca_set_remove_invs, iv_ca_set_no_cp): Record invariants and
-	candidates seperately in n_invs and n_cands.
-	(iv_ca_set_add_invs, iv_ca_set_cp, iv_ca_new): Ditto.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (struct walk_tree_data): New.
-	(find_inv_vars_cb): New.
-	(find_depends): Renamed to ...
-	(find_inv_vars): ... this.
-	(add_candidate_1, force_var_cost): Call find_inv_vars.
-	(split_address_cost, determine_group_iv_cost_cond): Ditto.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (struct cost_pair): Rename depends_on to
-	inv_vars.  Add inv_exprs.
-	(struct iv_cand): Rename depends_on to inv_vars.
-	(struct ivopts_data): Rename max_inv_id/n_invariant_uses to
-	max_inv_var_id/n_inv_var_uses.  Move max_inv_expr_id around.
-	Refactor field used_inv_exprs from has_map to array n_inv_expr_uses.
-	(dump_cand): Dump inv_vars.
-	(tree_ssa_iv_optimize_init): Support inv_vars and inv_exprs.
-	(record_invariant, find_depends, add_candidate_1): Ditto.
-	(set_group_iv_cost, force_var_cost): Ditto.
-	(split_address_cost, ptr_difference_cost, difference_cost): Ditto.
-	(get_computation_cost_at, get_computation_cost): Ditto.
-	(determine_group_iv_cost_generic): Ditto.
-	(determine_group_iv_cost_address): Ditto.
-	(determine_group_iv_cost_cond, autoinc_possible_for_pair): Ditto.
-	(determine_group_iv_costs): Ditto.
-	(iv_ca_recount_cost): Update call to ivopts_global_cost_for_size.
-	(iv_ca_set_remove_invariants): Renamed to ...
-	(iv_ca_set_remove_invs): ... this.  Support inv_vars and inv_exprs.
-	(iv_ca_set_no_cp): Use iv_ca_set_remove_invs.
-	(iv_ca_set_add_invariants):  Renamed to ...
-	(iv_ca_set_add_invs): ... this.  Support inv_vars and inv_exprs.
-	(iv_ca_set_cp): Use iv_ca_set_add_invs.
-	(iv_ca_has_deps): Support inv_vars and inv_exprs.
-	(iv_ca_new, iv_ca_free, iv_ca_dump, free_loop_data): Ditto.
-	(create_new_ivs): Remove useless dump.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Remove pseudo
-	iv_cand code.
-	(determine_group_iv_cost_cond, determine_iv_cost): Ditto.
-	(iv_ca_set_no_cp, create_new_iv): Ditto.
-
-2017-05-02  Bin Cheng  <bin.cheng@arm.com>
-
-	* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
-
-2017-05-02  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
-
-	* tree.h (EXPR_CILK_SPAWN): Use macro TREE_CHECK2 instead of
-	function tree_check2.
-
-2017-05-02  Martin Liska  <mliska@suse.cz>
-
-	* doc/gcov.texi: Add missing preposition.
-	* gcov.c (function_info::function_info): Properly fill up
-	all member variables.
-
-2017-05-02  Tamar Christina  <tamar.christina@arm.com>
-
-	* expr.c (expand_expr_real_2): Re-cost if previous costs are the same.
-
-2017-05-02  Tamar Christina  <tamar.christina@arm.com>
-
-	* simplify-rtx.c (simplify_binary_operation_1): Add LSHIFTRT case.
-
-2017-05-02  Martin Liska  <mliska@suse.cz>
-
-	PR lto/77954.
-	* lto-streamer-in.c (lto_read_tree_1): Remove
-	LTO_STREAMER_DEBUG.
-	* lto-streamer.c (struct tree_hash_entry): Likewise.
-	(struct tree_entry_hasher): Likewise.
-	(tree_entry_hasher::hash): Likewise.
-	(tree_entry_hasher::equal): Likewise.
-	(lto_streamer_init): Likewise.
-	(lto_orig_address_map): Likewise.
-	(lto_orig_address_get): Likewise.
-	(lto_orig_address_remove): Likewise.
-	* lto-streamer.h: Likewise.
-	* tree-streamer-in.c (streamer_alloc_tree): Likewise.
-	* tree-streamer-out.c (streamer_write_tree_header): Likewise.
-
-2017-05-02  Sebastian Peryt  <sebastian.peryt@intel.com>
-
-	* config/i386/avx512fintrin.h (_mm_mask_add_round_sd)
-	(_mm_maskz_add_round_sd, _mm_mask_add_round_ss)
-	(mm_maskz_add_round_ss, _mm_mask_sub_round_sd)
-	(mm_maskz_sub_round_sd, _mm_mask_sub_round_ss)
-	(mm_maskz_sub_round_ss, _mm_mask_add_sd)
-	(mm_maskz_add_sd, _mm_mask_add_ss, _mm_maskz_add_ss)
-	(mm_mask_sub_sd, _mm_maskz_sub_sd, _mm_mask_sub_ss)
-	(mm_maskz_sub_ss): New intrinsics.
-	* config/i386/i386-builtin-types.def (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
-	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): New function type aliases.
-	* config/i386/i386-builtin.def (__builtin_ia32_addsd_mask_round)
-	(__builtin_ia32_addss_mask_round, __builtin_ia32_subsd_mask_round)
-	(__builtin_ia32_subss_mask_round): New builtins.
-	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
-	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types.
-	* config/i386/sse.md (<sse>_vm<plusminus_insn><mode>3<round_name>):
-	Renamed to ...
-	(<sse>_vm<plusminus_insn><mode>3<mask_name><round_name>): ... this.
-	(v<plusminus_mnemonic><ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|%0, %1, %<iptr>2<round_op3>}):
-	Changed to ...
-	(v<plusminus_mnemonic><ssescalarmodesuffix>\t{<round_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}):
-	... this.
-
-2017-05-02  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/78687
-	* tree-sra.c (access): New field parent.
-	(process_subtree_disqualification): New function.
-	(disqualify_candidate): Call it.
-	(build_accesses_from_assign): Reset write flag if creating an
-	assighnment link.
-	(build_access_subtree): Fill in parent field and also prpagate
-	down grp_write flag.
-	(create_artificial_child_access): New parameter set_grp_write, set
-	grp_write to its value.
-	(propagate_subaccesses_across_link): Also propagate grp_write flag
-	values.
-	(propagate_all_subaccesses): Push the closest parent back to work
-	queue if add_access_to_work_queue returned true.
-
-2017-05-02  Richard Biener  <rguenther@suse.de>
-
-	* common.opt (fstrict-overflow): Alias negative to fwrapv.
-	* doc/invoke.texi (fstrict-overflow): Remove all traces of
-	-fstrict-overflow documentation.
-	* tree.h (TYPE_OVERFLOW_UNDEFINED): Do not test flag_strict_overflow.
-	(POINTER_TYPE_OVERFLOW_UNDEFINED): Test !flag_wrapv instead of
-	flag_strict_overflow.
-	* ipa-inline.c (can_inline_edge_p): Do not test flag_strict_overflow.
-	* lto-opts.c (lto_write_options): Do not stream it.
-	* lto-wrapper.c (merge_and_complain): Do not handle it.
-	* opts.c (default_options_table): Do not set -fstrict-overflow.
-	(finish_options): Likewise do not clear it when sanitizing.
-	* simplify-rtx.c (simplify_const_relational_operation): Do not
-	test flag_strict_overflow.
-
-2017-05-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/alpha/alpha.md (*add<mode>3_ieee): Merge to add<mode>3
-	using enabled attribute.
-	(*sub<mode>3_ieee): Merge to sub<mode>3 using enabled attribute.
-	(*mul<mode>3_ieee): Merge to mul<mode>3 using enabled attribute.
-	(*div<mode>3_ieee): Merge to div<mode>3 using enabled attribute.
-	(*sqrt<mode>2_ieee): Merge to sqrt<mode>2 using enabled attribute.
-	(*fix_truncdfdi_ieee): Merge to *fix_truncdfdi2 using enabled attribute.
-	(*fix_truncsfdi_ieee): Merge to *fix_truncsfdi2 using enabled attribute.
-	(*floatdisf_ieee): Merge to floatdisf2 using enabled attribute.
-	(*floatdidf_ieee): Merge to floatdidf2 using enabled attribute.
-	(*truncdfsf2_ieee): Merge to truncdfsf2 using enabled attribute.
-	(*cmpdf_ieee): Merge to *cmpdf_internal using enabled attribute.
-
-2017-05-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_code_end): Use {FIRST,LAST}_INT_REG.
-
-2017-05-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80591
-	Revert
-	2017-04-10  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-structalias.c (find_func_aliases): Properly handle
-	asm inputs.
-
-2017-05-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80549
-	* tree-cfgcleanup.c (mfb_keep_latches): New helper.
-	(cleanup_tree_cfg_noloop): Create forwarders to known loop
-	headers if they do not have a preheader.
-
-2017-05-02  Martin Liska  <mliska@suse.cz>
-
-	PR other/80589
-	* common.opt: Fix typo.
-	* doc/invoke.texi: Likewise.
-
-2017-05-01  Jan Beulich  <jbeulich@suse.com>
-
-	* config/i386/sse.md (xop_vpermil2<mode>3): Do not allow operand
-	swapping, add (x,x,m,x,n) alternative.
-
-2017-05-01  Nathan Sidwell  <nathan@acm.org>
-
-	* calls.c (combine_pending_stack_adjustment_and_call): Remove
-	unnecessary unadjusted_alignment check.
-
-2017-05-01  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
-
-	PR c++/80038
-	* cilk_common.c (expand_builtin_cilk_detach): Move pedigree
-	operations here.
-	* gimplify.c (gimplify_cilk_detach): New function.
-	(gimplify_call_expr, gimplify_modify_expr): Call it as needed.
-	* tree-core.h: Document EXPR_CILK_SPAWN.
-	* tree.h (EXPR_CILK_SPAWN): Define.
-
-2017-05-01  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (layout::get_expanded_location): Rewrite
-	to use new fixit_hint representation, using the "replace" logic.
-	(get_line_span_for_fixit_hint): Likewise.
-	(layout::print_any_fixits): Likewise.
-	(selftest::test_one_liner_many_fixits): Rename to...
-	(selftest::test_one_liner_many_fixits_1): ...this, and update
-	comment and expected output to reflect that the multiple fix-it
-	hints are now consolidated into one insertion.
-	(selftest::test_one_liner_many_fixits_2): New test.
-	(selftest::test_diagnostic_show_locus_one_liner): Update for
-	above.
-	(selftest::test_fixit_consolidation): Update for fix-it API
-	change.
-	* diagnostic.c (print_parseable_fixits): Likewise.
-	* edit-context.c (edited_line::m_line_events): Convert from
-	auto_vec <line_event *> to auto_vec <line_event>.
-	(class line_event): Convert from abstract base class to a concrete
-	class, taking over the role of replace_event.
-	(class insert_event): Delete.
-	(class replace_event): Rename to class line_event.  Convert to
-	half-open range.
-	(edit_context::add_fixits): Reimplement.
-	(edit_context::apply_insert): Delete.
-	(edit_context::apply_replace): Rename to...
-	(edit_context::apply_fixit): ...this.  Convert to half-open range.
-	(edited_file::apply_insert): Delete.
-	(edited_file::apply_replace): Rename to...
-	(edited_file::apply_fixit): ...this.
-	(edited_line::~edited_line): Drop deletion of events.
-	(edited_line::apply_insert): Delete.
-	(edited_line::apply_replace): Rename to...
-	(edited_line::apply_fixit): ...this.  Convert to half-open range.
-	Update for change to type of m_line_events.
-	* edit-context.h (edit_context::apply_insert): Delete.
-	(edit_context::apply_replace): Rename to...
-	(edit_context::apply_fixit): ...this.
-
-2017-05-01  Martin Sebor  <msebor@redhat.com>
-
-	* gimple-ssa-sprintf.c (format_integer): Set knownrange when it's
-	known.
-
-2017-05-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/68491
-	* config/i386/cpuid.h (__get_cpuid): Always return 0 when
-	__get_cpuid_max returns 0.
-	(__get_cpuid_count): Ditto.
-
-2017-05-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree.c (substitute_in_expr) <tcc_vl_exp>: Also inline a call if the
-	replacement expression is another instance of one of its arguments.
-
-2017-05-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79430
-	* rtlanal.c (reg_set_p): If reg is a stack_pointer_rtx, also
-	check for stack push/pop autoinc.
-	* config/i386/i386.c (ix86_agi_dependent): Return false
-	if the only reason why modified_in_p returned true is that
-	addr is SP based and set_insn is a push or pop.
-
-2017-04-29  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (compute_inlined_call_time): Remove now unnecesary
-	overflow check.
-
-2017-04-29  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/79224
-	* ipa-inline-analysis.c (dump_predicate): Add optional parameter NL.
-	(account_size_time): Use two predicates - exec_pred and
-	nonconst_pred_ptr.
-	(evaluate_conditions_for_known_args): Compute both clause and
-	nonspec_clause.
-	(evaluate_properties_for_edge): Evaulate both clause and nonspec_clause.
-	(inline_summary_t::duplicate): Update.
-	(estimate_function_body_sizes): Caluculate exec and nonconst predicates
-	separately.
-	(compute_inline_parameters): Likewise.
-	(estimate_edge_size_and_time): Update caluclation of time.
-	(estimate_node_size_and_time): Compute both time and nonspecialized
-	time.
-	(estimate_ipcp_clone_size_and_time): Update.
-	(inline_merge_summary): Update.
-	(do_estimate_edge_time): Update.
-	(do_estimate_edge_size): Update.
-	(do_estimate_edge_hints): Update.
-	(inline_read_section, inline_write_summary): Stream both new predicates.
-	* ipa-inline.c (compute_uninlined_call_time): Take uninlined_call_time
-	as argument.
-	(compute_inlined_call_time): Cleanup.
-	(big_speedup_p): Update.
-	(edge_badness): Update.
-	* ipa-inline.h (INLINE_TIME_SCALE): Remove.
-	(size_time_entry): Replace predicate by exec_predicate and
-	nonconst_predicate.
-	(edge_growth_cache_entry): Cache both time nad nonspecialized time.
-	(estimate_edge_time): Return also nonspec_time.
-	(reset_edge_growth_cache): Update.
-
-2017-04-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/80491
-	* ifcvt.c (noce_process_if_block): When looking for x setter
-	with missing else_bb, don't check only the insn right before
-	cond_earliest, but look for the last insn that x is modified in
-	within the same bb.
-
-	PR rtl-optimization/80491
-	* alias.c (memory_modified_in_insn_p): Return true for CALL_INSNs.
-
-2017-04-29  Marc Glisse  <marc.glisse@inria.fr>
-
-	PR tree-optimization/80487
-	* tree-ssa-alias.c (stmt_kills_ref_p): Handle stpncpy and strncpy.
-
-2017-04-29  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/79697
-	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Check if callee
-	is BUILT_IN_STRDUP, BUILT_IN_STRNDUP, BUILT_IN_REALLOC.
-	(propagate_necessity): Check if def_callee is BUILT_IN_STRDUP or
-	BUILT_IN_STRNDUP.
-	* gimple-fold.c (gimple_fold_builtin_realloc): New function.
-	(gimple_fold_builtin): Call gimple_fold_builtin_realloc.
-
-2017-04-28  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/80523
-	* gimple-ssa-sprintf.c (target_to_host_charmap): New global variable.
-	(init_target_to_host_charmap, target_to_host, target_strtol10): New
-	functions.
-	(maybe_warn, format_directive, parse_directive): Use new functions.
-	(pass_sprintf_length::execute): Call init_target_to_host_charmap.
-
-2017-04-28  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (X+Z OP Y+Z, X-Z OP Y-Z, Z-X OP Z-Y): New transformations.
-
-2017-04-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* configure.ac (SYSTEM_HEADER_DIR, BUILD_SYSTEM_HEADER_DIR,
-	target_header_dir): Set correctly.
-	* configure: Regenerated.
-	* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
-	(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
-	instead of SYSTEM_HEADER_DIR.
-
-2017-04-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (perform_estimation_of_a_value): Turn time to sreal.
-	(estimate_local_effects): Likewise.
-	* ipa-inline.c (compute_inlined_call_time, want_inline_small_function_p,
-	edge_badness, inline_small_functions, dump_overall_stats): LIkewise.
-	* ipa-inline.h (edge_growth_cache_entry, estimate_time_after_inlining,
-	estimate_ipcp_clone_size_and_time, do_estimate_edge_time,
-	do_estimate_edge_time, estimate_edge_time): Likewise.
-	* ipa-inline-analysis.c (estimate_node_size_and_time,
-	estimate_ipcp_clone_size_and_time, do_estimate_edge_time): Likewise.
-	(estimate_time_after_inlining): Remove.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	* doc/gcov.texi: Enhance documentation of gcov.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	* doc/gcov.texi: Sort options in alphabetic order.
-	* doc/gcov-dump.texi: Likewise.
-	* doc/gcov-tool.texi: Likewise.
-	* gcov.c (print_usage): Likewise.
-	* gcov-dump.c (print_usage): Likewise.
-	* gcov-tool.c (print_merge_usage_message): Likewise.
-	(print_rewrite_usage_message): Likewise.
-	(print_overlap_usage_message): Likewise.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/53915
-	* gcov.c (format_gcov): Print 'NAN %' when top > bottom.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/79891
-	* gcov.c (add_line_counts): Assign BBs to lines just if the BB
-	is marked by compiler as living on a line.
-	(get_cycles_count): Remove usage of the union.
-	(output_intermediate_file): Likewise.
-	(find_source): Fix GNU coding style.
-	(accumulate_line_counts): Remove old non-all block mode.
-	(output_lines): Remove usage of the union.
-	* profile.c (output_location): Include all BBs, even if
-	belonging to a same line (and file) as a previous BB.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (process_args): Handle new argument 'w'.
-	(read_graph_file): Assign ID to BBs.
-	(output_branch_count): Display BB # if verbose flag is set.
-	(output_lines): Likewise for arcs.
-	(print_usage): Add '--verbose' option help.
-	* doc/gcov.texi: Document --verbose (-w) option.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (struct block_location_info): New struct.
-	(process_file): Fill up the new structure.
-	(read_graph_file): Replace usage of encoding by the newly added
-	struct.
-	(add_line_counts): Likewise.
-	(accumulate_line_counts): Remove usage of the union.
-	(function_info::function_info): New function.
-	(function_info::~function_info): Likewise.
-	(process_file): Call delete instead of release_function.
-	(release_function): Release the function.
-	(release_structures): Call delete instead of release_function.
-	(solve_flow_graph): Replace usage of num_blocks.
-	(find_exception_blocks): Likewise.
-	(output_lines): Fix GNU coding style.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	PR driver/56469
-	* coverage.c (coverage_remove_note_file): New function.
-	* coverage.h: Declare the function.
-	* toplev.c (finalize): Clean if an error has been seen.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/80031
-	* gcov-dump.c (tag_blocks): Just print number of basic blocks.
-	* gcov-io.h (GCOV_TAG_BLOCKS_NUM): Remove unused macro.
-	* gcov.c (read_graph_file): Read just number of blocks.
-	* profile.c (branch_prob): Do not stream 0 flags per a basic
-	block.
-
-2017-04-28  Martin Liska  <mliska@suse.cz>
-
-	* gcov-dump.c (tag_*): Add new argument to declarations.
-	(dump_gcov_file): Likewise.
-	(tag_blocks): Add and use new argument depth.
-	(tag_arcs): Likewise.
-	(tag_lines): Likewise.
-	(tag_counters): Likewise.
-	(tag_summary): Likewise.
-	(dump_working_sets): Use depth to do a proper indentation.
-
-2017-04-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/80531
-	* cgraph.h (symtab_node::debug_symtab): No longer inline.
-	* symtab.c (symtab_node::debug_symtab): Move definition here.
-
-2017-04-28  Richard Biener  <rguenther@suse.de>
-
-	* lto-streamer.h (LTO_major_version): Bump to 7.
-
-2017-04-28  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (assert_info): New struct.
-	(add_assert_info): New helper.
-	(register_edge_assert_for_2): Refactor to add asserts to a vector
-	of assert_info.
-	(register_edge_assert_for_1): Likewise.
-	(register_edge_assert_for): Likewise.
-	(finish_register_edge_assert_for): New helper actually registering
-	asserts where live on edge.
-	(find_conditional_asserts): Adjust.
-	(find_switch_asserts): Likewise.
-	(evrp_dom_walker::try_find_new_range): Generalize.
-	(evrp_dom_walker::before_dom_children): Use register_edge_assert_for.
-
-2017-04-27  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80349
-	* fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Convert
-	arg10 and arg11 to itype.
-
-2017-04-27  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/extend.texi (Object Size Checking): Improve grammar.
-
-2017-04-27  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/80530
-	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure
-	that the logic for permitting reciprocal estimates matches that
-	in use_rsqrt_p.
-
-2017-04-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/80534
-	* tree.c (type_cache_hasher::equal): Only compare
-	TYPE_TYPELESS_STORAGE flag on non-aggregate element types.
-	(build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on
-	non-aggregate element types.
-	* tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details
-	about the flag on ARRAY_TYPEs in the comment, formatting fix.
-
-2017-04-27  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80533
-	* emit-rtl.c (set_mem_attributes_minus_bitpos): When
-	stripping ARRAY_REFs from MEM_EXPR make sure we're not
-	keeping a reference to a trailing array.
-
-2017-04-27  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80539
-	* tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
-	being in loop-closed SSA form conservatively.
-	(chrec_fold_multiply_poly_poly): Likewise.
-
-2017-04-27  Tamar Christina  <tamar.christina@arm.com>
-
-	PR middle-end/79665
-	* expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR,
-	CEIL_MOD_EXPR, ROUND_MOD_EXPR cases.
-
-2017-04-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77728
-	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove.
-	(aarch64_function_arg_alignment): Return unsigned int again, but still
-	ignore TYPE_FIELDS chain decls other than FIELD_DECLs.
-	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
-	Don't emit -Wpsabi note.
-	(aarch64_function_arg_boundary): Likewise.
-	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
-	caller.
-
-2017-04-26  Nathan Sidwell  <nathan@acm.org>
-
-	* tree.h (crc32_unsigned_n): Declare.
-	(crc32_unsigned, crc32_unsigned): Make inline.
-	* tree.c (crc32_unsigned_bits): Replace with ...
-	(crc32_unsigned_n): ... this.
-	(crc32_unsigned, crc32_byte): Remove.
-	(crc32_string): Remove unnecessary braces.
-
-2017-04-25  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (estimate_local_effects): Convert sreal to int.
-	* ipa-inline-analysis.c (MAX_TIME): Remove.
-	(account_size_time): Use sreal for time.
-	(dump_inline_summary): Update.
-	(estimate_function_body_sizes): Update.
-	(estimate_edge_size_and_time): Update.
-	(estimate_calls_size_and_time): Update.
-	(estimate_node_size_and_time): Update.
-	(inline_merge_summary): Update.
-	(inline_update_overall_summary): Update.
-	(estimate_time_after_inlining): Update.
-	(inline_read_section): Update.
-	(inline_write_summary): Update.
-	* ipa-inline.c (compute_uninlined_call_time): Update.
-	(compute_inlined_call_time): Update.
-	(recursive_inlining): Update.
-	(inline_small_functions): Update.
-	(dump_overall_stats): Update.
-	* ipa-inline.h: Include sreal.h.
-	(size_time_entry): Turn time to sreal.
-	(inline_summary): Turn self_time nad time to sreal.
-
-2017-04-25  Jan Hubicka  <hubicka@ucw.cz>
-
-	* sreal.c: Include backend.h, tree.h, gimple.h, cgraph.h and
-	data-streamer.h
-	(sreal::stream_out, sreal::stream_in): New.
-	* sreal.h (sreal::stream_out, sreal::stream_in): Declare.
-
-2017-04-25  Jakub Jelinek  <jakub@redhat.com>
-
-	* Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
-	environment.
-
-2017-04-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70799
-	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
-	Handle ASHIFTRT.
-	(dimode_scalar_chain::compute_convert_gain): Ditto.
-	(dimode_scalar_chain::make_vector_copies): Ditto.
-	(dimode_scalar_chain::convert_reg): Ditto.
-	(dimode_scalar_chain::convert_insn): Ditto.
-	* config/i386/sse.md (VI24_AVX512BW_1): Remove mode iterator.
-	(VI248_AVX512BW_1): New mode iterator.
-	(<mask_codefor>ashr<mode>3<mask_name>): Merge insn pattern with
-	<mask_codefor>ashrv2di3<mask_name> insn using VI248_AVX512BW_1
-	mode iterator.
-
-2017-04-25  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/80497
-	* gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer
-	constants are representable in HOST_WIDE_INT.
-	(parse_directive): Ditto.
-
-2017-04-25  Martin Sebor  <msebor@redhat.com>
-
-	PR bootstrap/80486
-	* dominance.c (dom_info::m_n_basic_blocks): Change type to unsigned.
-	(new_zero_array): Adjust signature.
-	(dom_info::dom_init): Used unsigned rather that size_t.
-	(dom_info::dom_info): Same.
-
-2017-04-25  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77728
-	* config/arm/arm.c: Include gimple.h.
-	(aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
-	returns negative, increment ncrn only if it returned positive.
-	(arm_needs_doubleword_align): Return int instead of bool,
-	ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
-	members, but if there is any such non-FIELD_DECL
-	> PARM_BOUNDARY aligned decl, return -1 instead of false.
-	(arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
-	returns negative, increment nregs only if it returned positive.
-	(arm_setup_incoming_varargs): Likewise.
-	(arm_function_arg_boundary): Emit -Wpsabi note if
-	arm_needs_doubleword_align returns negative, return
-	DOUBLEWORD_ALIGNMENT only if it returned positive.
-
-2017-04-25  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80349
-	* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
-	first argument to type.
-
-2017-04-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
-
-	PR target/80482
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change
-	type checks to test for compatibility instead of equality.
-
-2017-04-25  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/77728
-	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New
-	type.
-	(aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment
-	struct.  Ignore DECL_ALIGN of decls other than FIELD_DECL for
-	the alignment computation, but return their maximum in warn_alignment.
-	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
-	Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment
-	is smaller.
-	(aarch64_function_arg_boundary): Likewise.  Simplify using MIN/MAX.
-	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
-	caller.
-
-2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/simdext.md (dmpyh): Fix typo.
-
-2017-04-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80492
-	* alias.c (compare_base_decls): Handle registers with asm
-	specification conservatively.
-	* tree-ssa-alias.c (decl_refs_may_alias_p): Handle
-	compare_base_decls returning dont-know properly.
-
-2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (LEGITIMATE_OFFSET_ADDRESS_P): Delete macro.
-	(legitimate_offset_address_p): New function.
-	(arc_legitimate_address_p): Use above function.
-
-2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_output_mi_thunk): Emit PIC calls.
-
-2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_conditional_register_usage): Use ACCL,
-	ACCH registers whenever they are available.
-
-2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_conditional_register_usage): Make D0, D1
-	double regs fix when not used.
-
-2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.h (REGNO_OK_FOR_BASE_P): Consider also extension
-	core registers.
-	(REG_OK_FOR_INDEX_P_NONSTRICT): Likewise.
-	(REG_OK_FOR_BASE_P_NONSTRICT): Likewise.
-
-2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_output_addsi): Check for h-register class
-	when emitting short ADD instructions.
-
-2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (cmpsi_cc_insn_mixed): Use 'h' register
-	constraint.
-	(cmpsi_cc_c_insn): Likewise.
-	(cbranchsi4_scratch): Compute proper instruction length using
-	compact_hreg_operand.
-	* config/arc/predicates.md (compact_hreg_operand): New predicate.
-
-2017-04-25  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80509
-	* passes.c (pass_manager::pass_manager): Initialize
-	m_name_to_pass_map.
-
-2017-04-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79201
-	* tree-ssa-sink.c (statement_sink_location): Handle calls.
-
-2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/80464
-	* config/s390/vector.md: Split MEM->GPR vector moves for
-	non-s_operand addresses.
-
-2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/79895
-	* config/s390/predicates.md (reload_const_wide_int_operand): New
-	predicate.
-	* config/s390/s390.md ("movti"): Remove d/P alternative.
-	("movti_bigconst"): New pattern definition.
-
-2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR target/80080
-	* s390-protos.h (s390_expand_cs_hqi): Removed.
-	(s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes.
-	* config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer
-	modes as well as CCZ1mode and CCZmode.
-	(s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new
-	signature of s390_emit_compare_and_swap.
-	(s390_expand_cs_hqi): Likewise, make static.
-	(s390_expand_cs_tdsi): Generate an explicit compare before trying
-	compare-and-swap, in some cases.
-	(s390_expand_cs): Wrapper function.
-	(s390_expand_atomic_exchange_tdsi): New backend specific expander for
-	atomic_exchange.
-	(s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode.
-	* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Merge the
-	patterns for small and large integers.  Forbid symref memory operands.
-	Move expander to s390.c.  Require cc register.
-	("atomic_compare_and_swap<DGPR:mode><CCZZ1:mode>_internal")
-	("*atomic_compare_and_swap<TDI:mode><CCZZ1:mode>_1")
-	("*atomic_compare_and_swapdi<CCZZ1:mode>_2")
-	("*atomic_compare_and_swapsi<CCZZ1:mode>_3"): Use s_operand to forbid
-	symref memory operands.  Remove CC mode and call s390_match_ccmode
-	instead.
-	("atomic_exchange<mode>"): Allow and implement all integer modes.
-
-2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.md (define_peephole2): New peephole to help
-	combining the load-and-test pattern with volatile memory.
-
-2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal
-	with CCZmode for TARGET_Z196.
-
-2017-04-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/80501
-	* combine.c (make_compound_operation_int): Set subreg_code to SET
-	even for AND with mask of the sign bit of mode.
-
-	PR rtl-optimization/80500
-	* loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on
-	sum's initial value.
-
-2017-04-25  Julian Brown  <julian@codesourcery.com>
-	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/thunderx2t99.md (thunderx2t99_crc): New Reservation.
-
-2017-04-25  Marc Glisse  <marc.glisse@inria.fr>
-
-	* fold-const.c (tree_single_nonzero_warnv_p): Handle SSA_NAME.
-
-2017-04-25  Julian Brown  <julian@codesourcery.com>
-	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/thunderx2t99.md (thunderx2t99_aes): New Reservation.
-	(thunderx2t99_sha): New Reservation.
-
-2017-04-25  Julian Brown  <julian@codesourcery.com>
-	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Fix
-	type for 1-element load.
-
-2017-04-24  Marc Glisse  <marc.glisse@inria.fr>
-
-	* match.pd (X/[ex]C CMP Y/[ex]C): New transformation.
-
-2017-04-24  Martin Jambor  <mjambor@suse.cz>
-
-	PR tree-optimization/80293
-	* tree-sra.c (scalarizable_type_p): New parameter const_decl, make
-	char arrays not totally scalarizable if it is false.
-	(analyze_all_variable_accesses): Pass correct value in the new
-	parameter.  Add a statistics counter.
-
-2017-04-24  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/79931
-	* ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
-
-2017-04-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80494
-	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Bail
-	out for complex types.
-
-2017-04-24  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-sccvn.h (run_scc_vn): Adjust prototype.
-	* tree-ssa-sccvn.c (print_scc): Print SCC size.
-	(extract_and_process_scc_for_name): Never fail but drop SCC to varying.
-	(DFS): Adjust and never fail.
-	(sccvn_dom_walker::fail): Remove.
-	(sccvn_dom_walker::before_dom_children): Adjust.
-	(run_scc_vn): Likewise and never fail.
-	* tree-ssa-pre.c (pass_pre::execute): Adjust.
-	(pass_fre::execute): Likewise.
-
-2017-04-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79725
-	* tree-ssa-sink.c (statement_sink_location): Return whether
-	failure reason was zero uses.  Move that check later.
-	(sink_code_in_bb): Deal with zero uses by removing the stmt
-	if possible.
-
-2017-04-24  Richard Biener  <rguenther@suse.de>
-
-	PR c++/2972
-	* tree-ssa-uninit.c (warn_uninitialized_vars): Handle some
-	pointer-based references.
-
-2017-04-24  Richard Biener  <rguenther@suse.de>
-
-	PR bootstrap/79814
-	* pass_manager.h (pass_manager::operator new): Remove.
-	(pass_manager::operator delete): Likewise.
-	* passes.c (pass_manager::operator new): Remove.
-	(pass_manager::operator delete): Likewise.
-	(pass_manager::pass_manager): Zero individual pass members.
-
-2017-04-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/70799
-	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p)
-	<case ASHIFT, case LSHIFTRT>: Also consider variable shifts.
-	Check "XEXP (src, 1)" operand here.
-	<case PLUS, case MINUS, case IOR, case XOR, case AND>:
-	Check "XEXP (src, 1)" operand here.
-	(dimode_scalar_chain::make_vector_copies): Detect count register
-	of a shift instruction.  Zero extend count register from QImode
-	to DImode to satisfy vector shift pattern count operand predicate.
-	Substitute vector shift count operand with a DImode copy.
-	(dimode_scalar_chain::convert_reg): Ditto, zero-extend from
-	vector register.
-
-2017-04-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*extzvqi_mem_rex64): Move above *extzv<mode>.
-	Remove UNSPEC_NOREX_MEM tag.  Update corresponding peephole2 pattern.
-	(*insvqi_1_mem_rex64): Move above insv<mode>_1.  Remove
-	UNSPEC_NOREX_MEM tag.  Update corresponding peephole2 pattern.
-	(UNSPEC_NOREX_MEM): Remove definition.
-
-2017-04-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79547
-	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
-	Handle strlen, strcmp, strncmp, strcasecmp, strncasecmp, memcmp,
-	bcmp, strspn, strcspn, __builtin_object_size and __builtin_constant_p
-	without any constraints.
-
-2017-04-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78847
-	* fold-const.c (split_tree): Handle POINTER_PLUS_EXPR.
-
-2017-04-21  Richard Biener  <rguenther@suse.de>
-
-	* tree.h (build_qualified_type): Annotate with CXX_MEM_STAT_INFO.
-	(build_distinct_type_copy): Likewise.
-	(build_variant_type_copy): Likewise.
-	* tree.c (build_qualified_type): Pass down mem-stat info.
-	(build_distinct_type_copy): Likewise.
-	(build_variant_type_copy): Likewise.
-
-2017-04-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80237
-	* tree-ssa-pre.c (find_leader_in_sets): Add third set argument,
-	defaulted to NULL.
-	(phi_translate_1): Also allow a leader in AVAIL_OUT of pred
-	for a simplified result.
-
-2016-04-21  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-loop-ivcanon.c (constant_after_peeling): Do not require
-	sth as strict as a simple_iv but a chrec without symbols and an
-	operand defined in the loop we are peeling (and not some subloop).
-	(propagate_constants_for_unrolling): Propagate all constants.
-
-2017-04-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/79804
-	* config/i386/i386.c (print_reg): Remove assert for disalowed
-	regno values, call output_operand_lossage instead.
-
-2017-04-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78090
-	* config/i386/constraints.md (Yc): New register constraint.
-	* config/i386/i386.md (*float<SWI48:mode><MODEF:mode>2_mixed):
-	Use Yc constraint for alternative 2 of operand 0.  Remove
-	preferred_for_speed attribute.
-
-2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
-
-	* omp-low.c (lower_lastprivate_clauses): Correct handling of linear and
-	lastprivate clauses in SIMT case.
-
-2017-04-20  Volker Reichelt  <v.reichelt@netcologne.de>
-
-	* doc/invoke.texi (-Wextra-semi): Document new warning option.
-
-2017-04-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/57796
-	* tree-vect-stmts.c (vect_model_store_cost): Cost scatters
-	as N scalar stores.
-	(vect_model_load_cost): Cost gathers as N scalar loads.
-
-2017-04-20  Richard Biener  <rguenther@suse.de>
-
-	* ggc-page.c (ggc_allocated_p): Rename to ...
-	(safe_lookup_page_table_entry): ... this and return the lookup
-	result.
-	(gt_ggc_m_S): Use safe_lookup_page_table_entry.
-
-2017-04-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80453
-	* tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
-	* tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
-	from the conditions.
-	(vn_phi_eq): Pass them down.
-	(vn_phi_lookup): Record them.
-	(vn_phi_insert): Likewise.
-
-2017-04-20  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* config/mips/mips.c (mips_expand_vec_perm_const): Re-fix
-	uninitialized variable warning to avoid buffer overrun.
-
-2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR other/71250
-	* doc/invoke.texi (-Wmissing-field-initializers): Mention that warning
-	is suppressed for '{ 0 }' in C.
-
-2017-04-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* BASE-VER: Set to 8.0.0.
-
-2017-04-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	* config/arm/arm.c (arm_elf_asm_cdtor): Create non-default
-	priority .init_array and .fini_array section with SECTION_NOTYPE
-	flag.
-
-2017-04-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/80423
-	* tree.h (build_array_type): Add typeless_storage default argument.
-	* tree.c (type_cache_hasher::equal): Also compare
-	TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
-	(build_array_type): Add typeless_storage argument, set
-	TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
-	recursive call.
-	(build_nonshared_array_type): Adjust build_array_type_1 caller.
-	(build_array_type): Likewise.  Add typeless_storage argument.
-
-2017-04-19  Eric Botcazou  <ebotcazou@adacore.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/80426
-	* tree-vrp.c (extract_range_from_binary_expr_1): For an additive
-	operation on symbolic operands, also compute the overflow for the
-	invariant part when the operation degenerates into a negation.
-
-2017-04-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/80461
-	* dwarf2out.c (modified_type_die, gen_type_die_with_usage):
-	Check for t with zero TYPE_QUALS_NO_ADDR_SPACE.
-
-	PR debug/80436
-	* tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses.
-
-2017-04-19  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/80462
-	* config/avr/avr.c (tree.h): Include it.
-	(cgraph.h): Include it.
-	(avr_encode_section_info): Don't warn for uninitialized progmem
-	variable if it's just an alias.
-
-2017-04-19  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/65972
-	* auto-profile.c (afdo_vpt_for_early_inline): Update SSA
-	when needed by AutoPGO.
-
-2017-04-19  Paulo J. Matos  <paulo@matos-sorge.com>
-
-	PR lto/50345
-	* doc/lto.texi: Remove an extra 'that'.
-
-2017-04-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/80429
-	* ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that
-	are only used in debug insns.
-
-2017-04-19  Eric Botcazou  <ebotcazou@adacore.com>
-	    Vladimir Makarov  <vmakarov@redhat.com>
-
-	* config/sparc/predicates.md (input_operand): Add comment.  Return
-	true for any memory operand when LRA is in progress.
-	* config/sparc/sparc.c (sparc_expand_move): Minor formatting fix.
-
-2017-04-18  Jeff Law  <law@redhat.com>
-
-	PR target/74563
-	* mips.md ({return,simple_return}_internal): Do not overwrite
-	operands[0].
-
-2017-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/80443
-	* tree-vrp.c (intersect_ranges): For signed 1-bit precision type,
-	instead of adding 1, subtract -1 and similarly instead of subtracting
-	1 add -1.
-
-2017-04-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR rtl-optimization/80357
-	* haifa-sched.c (tmp_bitmap): New variable.
-	(model_recompute): Handle duplicate use records.
-	(alloc_global_sched_pressure_data): Initialize tmp_bitmap.
-	(free_global_sched_pressure_data): Free it.
-
-2017-04-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	Revert:
-	2017-02-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-	* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
-	(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
-	instead of SYSTEM_HEADER_DIR.
-
-2017-04-18  Jeff Law  <law@redhat.com>
-
-	PR middle-end/80422
-	* cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have
-	predecessors after walking up the insn chain.
-
-2017-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/80263
-	* dwarf2out.c (modified_type_die): Try harder not to emit internal
-	sizetype type into debug info.
-
-2017-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/80099
-	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate
-	unneeded test for TARGET_UPPER_REGS_SF.
-	* config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise.
-
-2017-04-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/80444
-	* sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb
-	instead of gsi_after_labels.
-
-2017-04-18  Jeff Law  <law@redhat.com>
-
-	* regcprop.c (maybe_mode_change): Avoid creating copies of the
-	stack pointer.
-
-	Revert:
-	2017-04-13  Jeff Law  <law@redhat.com>
-	* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
-	in operands[1] if it is a MEM and TARGET_MIPS16 is active.
-
-2017-04-18  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/79453
-	* config/avr/avr.c (intl.h): Include it.
-	(avr_pgm_check_var_decl) [reason]: Wrap	diagnostic snippets into _().
-
-2017-04-18  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/78783
-	* gcov-tool.c (gcov_output_files): Validate that destination
-	file is either removed by the tool or by a user.
-
-2017-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
-	    Guy Benyei  <guybe@mellanox.com>
-
-	* config/arc/arc.c (arc_reorg): Move loop_end_id into a more local
-	block, and do not negate it, the stored id is already negative.
-
-2017-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.
-
-2017-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/80098
-	* config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define
-	masks of options that should be turned off if the VSX vector
-	options are turned off.
-	(OTHER_P8_VECTOR_MASKS): Likewise.
-	(OTHER_VSX_VECTOR_MASKS): Likewise.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Call
-	rs6000_disable_incompatible_switches to validate no type switches
-	like -mvsx.
-	(rs6000_incompatible_switch): New function to disallow turning on
-	other vector options if -mno-vsx, -mno-power8-vector, or
-	-mno-power9-vector are specified.
-
-2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.
-
-2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
-	* config/arc/arc.c (arc_decl_pretend_args): Likewise.
-	* config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
-	(ARG_POINTER_CFA_OFFSET): Likewise.
-
-2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_mode_dependent_address_p): Relax
-	conditions to take advantage of various optimizations.
-
-2017-04-13  Jeff Law  <law@redhat.com>
-
-	* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
-	in operands[1] if it is a MEM and TARGET_MIPS16 is active.
-	(zero_extendsidi2_dext): Likewise.
-
-2017-04-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/80403
-	* fold-const.c (fold_ternary_loc): Revert
-	use op0 instead of fold_convert_loc (loc, type, arg0) part of
-	2017-04-12 change.
-
-2017-04-13  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/80343
-	* lra-remat.c (update_scratch_ops): Assign original hard reg to
-	new scratch pseudo.
-
-2017-04-13  Denis Khalikov <d.khalikov@partner.samsung.com>
-
-	PR sanitizer/80414
-	* ubsan.c (ubsan_expand_bounds_ifn): Pass original index
-	to ubsan_encode_value.
-
-2017-04-13  Jeff Law  <law@redhat.com>
-
-	* reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs
-	appearing in DEBUG_INSNs.
-
-2017-04-13  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/80413
-	* gcov-io.c (gcov_write_string): Copy to buffer just when
-	allocated size is greater than zero.
-
-2017-04-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/80321
-	* dwarf2out.c (decls_for_scope): Ignore declarations of
-	current_function_decl in BLOCK_NONLOCALIZED_VARS.
-
-2017-04-12  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/69953
-	* ipa-visibility.c (non_local_p): Fix typos.
-	(localize_node): When localizing symbol in same comdat group,
-	dissolve the group only when we know external symbols are going
-	to be privatized.
-	(function_and_variable_visibility): Do not localize DECL_EXTERNAL.
-
-2017-04-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79390
-	* optabs.c (emit_conditional_move): If the preferred op2/op3 operand
-	order does not result in usable sequence, retry with reversed operand
-	order.
-
-	PR sanitizer/80403
-	PR sanitizer/80404
-	PR sanitizer/80405
-	* fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument
-	to fold_build2_loc.  Convert TREE_OPERAND (tem, 0) to type.  Use
-	op0 instead of fold_convert_loc (loc, type, arg0).
-
-2017-04-12  Jeff Law  <law@redhat.com>
-
-	* genattrtab.c (write_eligible_delay): Verify DELAY_INSN still
-	has a delay slot in the generated code.
-
-	* config/cris/cris.md (cris_preferred_reload_class): Return
-	GENNONACR_REGS rather than GENERAL_REGS.
-
-2017-04-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/80163
-	* expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND
-	vs. ZERO_EXTEND based on signedness of treeop0's type rather than
-	signedness of the result type.
-
-2017-04-12  Richard Biener  <rguenther@suse.de>
-	    Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/80359
-	* tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not
-	trim stores to TARGET_MEM_REFs.
-
-2017-04-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79390
-	* gimple-ssa-split-paths.c (is_feasible_trace): Restrict
-	threading case even more.
-
-2017-04-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/80382
-	* config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
-	for quad_address_p for TImode, instead of just not indexed_address.
-
-2017-04-12  Richard Biener  <rguenther@suse.de>
-	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR middle-end/79671
-	* alias.c (component_uses_parent_alias_set_from): Handle
-	TYPE_TYPELESS_STORAGE.
-	(get_alias_set): Likewise.
-	* tree-core.h (tree_type_common): Add typeless_storage flag.
-	* tree.h (TYPE_TYPELESS_STORAGE): New macro.
-	* stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE
-	for types containing members with TYPE_TYPELESS_STORAGE.
-	(place_field): Likewise.
-	(layout_type): Likewise for ARRAY_TYPE.
-	* lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE.
-	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream
-	TYPE_TYPELESS_STORAGE.
-	* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
-
-2017-04-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/80349
-	* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
-	first argument to type.
-
-2017-04-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/80376
-	PR target/80315
-	* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
-	CONST0_RTX (mode) rather than const0_rtx where appropriate.
-	(rs6000_expand_binop_builtin): Likewise.
-	(rs6000_expand_ternop_builtin): Likewise; also add missing
-	vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
-	vshasigma built-ins.
-	* doc/extend.texi: Document that vec_xxpermdi's third argument
-	must be a constant.
-
-2017-04-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
-	Use shift_const cost parameter when calculating gain of STV shifts.
-
-2017-04-11  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70478
-	* lra-constraints.c (process_alt_operands): Check memory for
-	disfavoring memory insn operand.
-
-2017-04-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/80100
-	* simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform
-	left shift in unsigned HOST_WIDE_INT type.
-
-	PR rtl-optimization/80385
-	* simplify-rtx.c (simplify_unary_operation_1): Don't transform
-	(not (neg X)) into (plus X -1) for complex or non-integral modes.
-
-	PR libgomp/80394
-	* omp-low.c (scan_omp_task): Don't optimize away empty tasks
-	if they have any depend clauses.
-
-2017-04-11  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/80212
-	* cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
-	* ipa-split.c (split_function): Create a local comdat symbol
-	if caller is in a comdat group.
-
-2017-04-11  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/80212
-	* ipa-cp.c (determine_versionability): Handle calls_comdat_local
-	flags.
-
-2017-04-11  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/80364
-	* gimple-ssa-sprintf.c (get_int_range): Remove second argument and
-	always use the int type.  Use INTEGRAL_TYPE_P() rather than testing
-	for INTEGER_TYPE.
-	(directive::set_width, directive::set_precision, format_character):
-	Adjust.
-	(parse_directive): Use INTEGRAL_TYPE_P() rather than testing for
-	INTEGER_TYPE.
-
-2017-04-11  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/80389
-	* config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch
-	conflict, set target->arch_name instead of target->cpu_name.
-
-2017-04-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80374
-	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use
-	build_zero_cst, remove fold_convertible_p check again.
-
-2017-04-11  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/70878
-	* ubsan.c (instrument_object_size): Do not instrument register
-	variables.
-
-2017-04-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/80381
-	* config/i386/i386-builtin-types.def
-	(V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT,
-	V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT,
-	V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT,
-	V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT,
-	V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT,
-	V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT,
-	V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT,
-	V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT,
-	V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT,
-	V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT,
-	V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT,
-	V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT,
-	V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT,
-	V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT,
-	V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT,
-	V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT,
-	V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT,
-	V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases.
-	* config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask,
-	__builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
-	__builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask,
-	__builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
-	__builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask,
-	__builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
-	__builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask,
-	__builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask,
-	__builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask,
-	__builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask,
-	__builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask,
-	__builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask,
-	__builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask,
-	__builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask,
-	__builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask,
-	__builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask,
-	__builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask,
-	__builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask,
-	__builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask,
-	__builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask,
-	__builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask,
-	__builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask,
-	__builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask,
-	__builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask,
-	__builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask,
-	__builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask,
-	__builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
-	__builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type
-	aliases.
-	* config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count
-	flag to second_arg_count, handle 4 argument function type _COUNT
-	aliases, handle second_arg_count on second argument rather than last.
-
-2017-04-10  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/80374
-	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
-	record anything if we can not convert integer_zero_node to the
-	desired type.
-
-2017-04-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR target/80108
-	* config/rs6000/rs6000.c (rs6000_option_override_internal):
-	Enhance special handling given to the TARGET_P9_MINMAX option in
-	relation to certain other options.
-
-2017-04-10  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/80153
-	* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and
-	remove POINTER_PLUS_EXPR's base part directly, rather than through
-	aff_tree.
-
-2017-04-10  Richard Biener  <rguenther@suse.de>
-	    Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/80153
-	* tree-affine.c (aff_combination_to_tree): Get base pointer from
-	the first element of pointer type aff_tree.  Build result expr in
-	aff_tree's type.
-	(add_elt_to_tree): Convert to type unconditionally.  Remove other
-	fold_convert calls.
-	* tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types.
-	(rewrite_use_nonlinear_expr): Check invariant using iv information.
-
-2017-04-10  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-structalias.c (find_func_aliases): Properly handle
-	asm inputs.
-
-2017-04-10  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70478
-	* lra-constraints.c (curr_small_class_check): New.
-	(update_and_check_small_class_inputs): New.
-	(process_alt_operands): Update curr_small_class_check.  Disfavor
-	alternative insn memory operands.  Check available regs for small
-	class operands.
-
-2017-03-31  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	PR target/80057
-	* config/mips/mips.opt (-mvirt): Update description.
-	* doc/invoke.texi (-mvirt): Likewise.
-
-2017-04-10  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80362
-	* fold-const.c (fold_binary_loc): Look at unstripped ops when
-	looking for NEGATE_EXPR in -A / -B to A / B folding.
-
-2017-04-10  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/80224
-	* gcov.c (print_usage): Fix usage string.
-	(get_gcov_intermediate_filename): Remove.
-	(output_gcov_file): Use both for normal and intermediate format.
-	(generate_results): Do not initialize special file for
-	intermediate format.
-
-2017-04-10  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80304
-	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse
-	for safelen.
-
-2017-04-10  Nathan Sidwell  <nathan@acm.org>
-
-	PR target/79905
-	* config/rs6000/rs6000.c (rs6000_vector_type): New.
-	(rs6000_init_builtins): Use it.
-
-2016-04-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.md (<mrc>): Add mode to SET source.
-	(<mrrc>): Likewise.
-
-2017-04-10  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80344
-	* gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs.
-
-2017-04-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/80324
-	* config/i386/avx512fintrin.h (_mm512_reduce_add_epi32,
-	_mm512_reduce_mul_epi32, _mm512_reduce_and_epi32,
-	_mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32,
-	_mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32,
-	_mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32,
-	_mm512_reduce_max_epi32, _mm512_reduce_min_epu32,
-	_mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32,
-	_mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32,
-	_mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps,
-	_mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps,
-	_mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps,
-	_mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps,
-	_mm512_reduce_add_epi64, _mm512_reduce_mul_epi64,
-	_mm512_reduce_and_epi64, _mm512_reduce_or_epi64,
-	_mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64,
-	_mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64,
-	_mm512_reduce_min_epi64, _mm512_reduce_max_epi64,
-	_mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64,
-	_mm512_reduce_min_epu64, _mm512_reduce_max_epu64,
-	_mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64,
-	_mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd,
-	_mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd,
-	_mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics.
-
-2017-04-08  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70478
-	* lra-constraints.c: Reverse the last patch.
-
-2017-04-08  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
-	Add comment for WCHAR_T.
-
-2017-04-08  Martin Liska  <mliska@suse.cz>
-
-	Revert:
-	2017-04-07  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/80212
-	* ipa-split.c (split_function): Add function part to a same comdat
-	group.
-
-2017-04-08  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/80358
-	* config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.
-
-2017-04-07  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* rs6000/rs6000.c (vec_load_pendulum): Rename...
-	(vec_pairing): ...to this.
-	(power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
-	(rs6000_sched_init): Adjust for name change.
-	(struct rs6000_sched_context): Likewise.
-	(rs6000_init_sched_context): Likewise.
-	(rs6000_set_sched_context): Likewise.
-
-2017-04-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/80322
-	PR target/80323
-	PR target/80325
-	PR target/80326
-	* config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New
-	intrinsics.
-	* config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int,
-	_mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd,
-	_mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise.
-
-2017-04-07  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE.
-
-2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70703
-	* ira-color.c (update_conflict_hard_regno_costs): Use
-	int64_t instead of HOST_WIDE_INT.
-
-2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70478
-	* lra-constraints.c (process_alt_operands): Disfavor alternative
-	insn memory operands.
-
-2017-04-07  Jeff Law  <law@redhat.com>
-
-	* config/iq2000/iq2000.c (final_prescan_insn): Do not separate a
-	CALL and NOTE_INSN_CALL_ARG_LOCATION.
-
-2017-04-07  Martin Liska  <mliska@suse.cz>
-
-	PR target/79889
-	* config/aarch64/aarch64.c (aarch64_process_target_attr):
-	Show error message instead of an ICE.
-
-2017-04-07  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/80212
-	* ipa-split.c (split_function): Add function part to a same comdat
-	group.
-
-2017-04-07  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80341
-	* tree.c (get_unwidened): Also handle ! for_type case for
-	INTEGER_CSTs.
-	* convert.c (do_narrow): Split out from ...
-	(convert_to_integer_1): ... here.  Do not pass final truncation
-	type to get_unwidened for TRUNC_DIV_EXPR.
-
-2017-04-07  Richard Biener  <rguenther@suse.de>
-
-	* tree-affine.c (wide_int_ext_for_comb): Take type rather
-	than aff_tree.
-	(aff_combination_const): Adjust.
-	(aff_combination_scale): Likewise.
-	(aff_combination_add_elt): Likewise.
-	(aff_combination_add_cst): Likewise.
-	(aff_combination_convert): Likewise.
-	(add_elt_to_tree): Likewise.  Remove unused argument.
-	(aff_combination_to_tree): Adjust calls to add_elt_to_tree.
-
-2017-04-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
-	definition.
-	* config/arm/arm.c (arm_default_short_enums): Use
-	ARM_DEFAULT_SHORT_ENUMS.
-	* config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.
-
-2017-04-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/80234
-	* dwarf2out.c (gen_member_die): Handle C++17 inline static data
-	members with redundant out-of-class redeclaration.
-
-2017-04-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80286
-	* config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern.
-	* config/i386/i386.md (*zero_extendsidi2):
-	Add (?*x,*x) and (?*v,*v) alternatives.
-
-2017-04-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/79733
-	* config/i386/i386.c (ix86_expand_builtin)
-	<case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand
-	mode from insn data. Convert operands to insn operand mode.
-	Copy operands that don't satisfy insn predicate to a register.
-
-2017-04-06  Sam Thursfield  <sam.thursfield@codethink.co.uk>
-
-	* config/rs6000/x-aix: Increase memory limit for genautomata on AIX.
-	Update comments.
-
-2017-04-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80334
-	* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
-	preserve alignment of accesses.
-
-2017-04-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80262
-	* tree-sra.c (build_ref_for_offset): Preserve address-space
-	information.
-	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
-	Drop useless address-space information on MEM_REF offsets.
-
-2017-04-05  Andreas Schwab  <schwab@linux-m68k.org>
-
-	* builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type.
-
-2017-04-05  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70703
-	* ira-color.c (update_conflict_hard_regno_costs): Use
-	HOST_WIDE_INT instead of long.
-
-2017-04-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80298
-	* config/i386/mmintrin.h: Add -msse target option when __SSE__ is
-	not defined for x86_64 target.  Add -mmmx target option when __SSE2__
-	is not defined.
-	* config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined
-	for x86_64 target.  Handle -m3dnowa option.
-
-2017-04-05  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/70703
-	* ira-color.c (update_costs_from_allocno): Use the smallest mode.
-	(update_conflict_hard_regno_costs): Use long instead of unsigned
-	arithmetic for cost calculation.
-
-2017-04-05  Jakub Jelinek  <jakub@redhat.com>
-	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	PR sanitizer/80308
-	* asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value
-	for big endian.
-
-2017-04-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/78002
-	* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace
-	ptr_mode with Pmode throughout.
-	* config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename
-	into probe_stack_range and use DImode.
-
-2017-04-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR target/79890
-	* config/s390/s390.c (s390_register_info_gprtofpr): Return if
-	call_eh_return is true.
-
-2017-04-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-c.c (s390_resolve_overloaded_builtin):
-	Initialize last_match_fntype_index.
-
-2017-04-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/80310
-	* tree-nvr.c: Include internal-fn.h.
-	(pass_return_slot::execute): Ignore internal calls without
-	direct optab.
-
-2017-04-04  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR c++/80297
-	* genmatch.c (capture::gen_transform): For GENERIC unshare_expr
-	captures used multiple times, except for the last use.
-	* generic-match-head.c: Include gimplify.h.
-
-2017-04-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79390
-	* target.h (struct noce_if_info): Declare.
-	* targhooks.h (default_noce_conversion_profitable_p): Declare.
-	* target.def (noce_conversion_profitable_p): New target hook.
-	* ifcvt.h (struct noce_if_info): New type, moved from ...
-	* ifcvt.c (struct noce_if_info): ... here.
-	(noce_conversion_profitable_p): Renamed to ...
-	(default_noce_conversion_profitable_p): ... this.  No longer
-	static nor inline.
-	(noce_try_store_flag_constants, noce_try_addcc,
-	noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
-	noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p
-	instead of noce_conversion_profitable_p.
-	* config/i386/i386.c: Include ifcvt.h.
-	(ix86_option_override_internal): Don't override
-	PARAM_MAX_RTL_IF_CONVERSION_INSNS default.
-	(ix86_noce_conversion_profitable_p): New function.
-	(TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine.
-	* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment.
-	* doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add.
-	* doc/tm.texi: Regenerated.
-
-2017-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar
-	correction.
-
-2017-04-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	PR target/80307
-	* config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32
-	instructions for small multiply cores.
-
-2017-04-04  Jeff Law  <law@redhat.com>
-
-	* config/mips/mips.c (mips_multi_add): Zero initialize the newly
-	added member.
-	(mips_expand_vec_perm_const): Initialize elements in orig_perm
-	that are not set by the loop over the elements.
-
-2017-04-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/80286
-	* config/i386/i386.c (ix86_expand_args_builtin): If op has scalar
-	int mode, convert_modes it to mode as unsigned, otherwise use
-	lowpart_subreg to mode rather than SImode.
-	* config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>,
-	ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>):
-	Use DImode instead of SImode for the shift count operand.
-	* config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3):
-	Likewise.
-
-2017-04-04  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80281
-	* match.pd (A + (-B) -> A - B): Make sure to preserve unsigned
-	arithmetic done for the negate or the plus.  Simplify.
-	(A - (-B) -> A + B): Likewise.
-	* fold-const.c (split_tree): Make sure to not negate pointers.
-
-2017-04-04  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/60818
-	* simplify-rtx.c (simplify_binary_operation_1): Do not replace
-	a compare of comparisons with the thing compared if this results
-	in a different machine mode.
-
-2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
-
-	* alias.c (base_alias_check): Fix typo in comment.
-	* cgraph.h (class ipa_polymorphic_call_context): Likewise.
-	* cgraphunit.c (symbol_table::compile): Likewise.
-	* collect2.c (maybe_run_lto_and_relink): Likewise.
-	* config/arm/arm.c (arm_thumb1_mi_thunk): Likewise.
-	* config/avr/avr-arch.h (avr_arch_info_t): Likewise.
-	* config/avr/avr.c (avr_map_op_t): Likewise.
-	* config/cr16/cr16.h (DATA_ALIGNMENT): Likewise.
-	* config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise.
-	* config/epiphany/epiphany.md (movcc): Likewise.
-	* config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise.
-	* config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue):
-	Likewise.
-	* config/mips/mips.c (mips_save_restore_reg): Likewise.
-	* config/rx/rx.c (rx_is_restricted_memory_address): Likewise.
-	* config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise.
-	* config/sh/sh.c (sh_rtx_costs): Likewise.
-	* fold-const.c (fold_truth_andor): Likewise.
-	* genautomata.c (collapse_flag): Likewise.
-	* gengtype.h (struct type::u::s): Likewise.
-	* gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise.
-	* input.c (FORMAT_AMOUNT): Likewise.
-	* ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector)
-	(known_aggs_to_agg_replacement_list): Likewise.
-	* ipa-inline-analysis.c: Likewise.
-	* ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise.
-	* ipa-polymorphic-call.c
-	(ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
-	* loop-unroll.c (analyze_insn_to_expand_var): Likewise.
-	* lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos):
-	Likewise.
-	* modulo-sched.c (apply_reg_moves): Likewise.
-	* omp-expand.c (build_omp_regions_1): Likewise.
-	* trans-mem.c (struct tm_wrapper_hasher): Likewise.
-	* tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise.
-	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise.
-	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
-	* value-prof.c: Likewise.
-	* var-tracking.c (val_reset): Likewise.
-
-2017-04-03  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80275
-	* fold-const.c (split_address_to_core_and_offset): Handle
-	POINTER_PLUS_EXPR.
-
-2017-04-03  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-nested.c (get_descriptor_type): Make sure that the alignment of
-	descriptors is at least equal to that of functions.
-
-2017-04-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (movdi_to_sse): Add missing DONE.
-
-2017-04-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80250
-	* config/i386/sse.md (mov<IMOD4:mode>): Remove insn pattern.
-	(mov<IMOD4:mode>): New expander.
-	(*mov<IMOD4:mode>_internal): New insn and split pattern.
-
-2017-03-31  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/79405
-	* fwprop.c (propagations_left): New variable.
-	(forward_propagate_into): Decrement it.
-	(fwprop_init): Initialize it.
-	(fw_prop): If the variable has reached zero, stop propagating.
-	(fwprop_addr): Ditto.
-
-2017-03-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/79255
-	* dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is
-	a FUNCTION_DECL, pass it as decl instead of origin to
-	process_scope_var.
-
-2017-03-31  Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/nvptx/nvptx.c (nvptx_output_softstack_switch): Correct format
-	string.
-
-2017-03-31  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR target/80107
-	* config/rs6000/rs6000.md (extendhi<mode>2): Add test for
-	TARGET_VSX_SMALL_INTEGER.
-
-2017-03-31  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions):	Add
-	reference to the OpenPOWER 64-Bit ELF V2 ABI Specification.
-
-2017-03-31  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* config/mips/mips-msa.md (msa_vec_extract_<msafmt_f>): Update
-	extraction from odd-numbered MSA register.
-
-2017-03-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/80173
-	* expmed.c (store_bit_field_1): Don't attempt to create
-	a word subreg out of hard registers wider than word if they
-	have HARD_REGNO_NREGS of 1 for their mode.
-
-	PR middle-end/80163
-	* varasm.c (initializer_constant_valid_p_1): Disallow sign-extending
-	conversions to integer types wider than word and pointer.
-
-	PR debug/80025
-	* cselib.h (rtx_equal_for_cselib_1): Add depth argument.
-	(rtx_equal_for_cselib_p): Pass 0 to it.
-	* cselib.c (cselib_hasher::equal): Likewise.
-	(rtx_equal_for_cselib_1): Add depth argument.  If depth
-	is 128, don't look up VALUE locs and punt.  Increment
-	depth in recursive calls when walking VALUE locs.
-
-2017-03-31  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
-	(make_gcov_file_name): Use the canonical path name for generating
-	the MD5 value.
-	(read_line): Fix handling of files with ascii null bytes.
-
-2017-03-30  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* config/mips/mips.c (mips_expand_vector_init): Create a const_vector
-	to initialise a vector register instead
-	of using a const_int.
-
-2017-03-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR translation/80189
-	* gimplify.c (omp_default_clause): Use %qs instead of %s in
-	diagnostic messages.
-
-2017-03-30  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR target/80246
-	* config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0.
-	(dfp_diex_<mode>): Update mode of operand 1.
-	* doc/extend.texi (dxex, dxexq): Document change to return type.
-	(diex, diexq): Document change to argument type.
-
-2017-03-30  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/77333
-	* cgraph.h (cgraph_build_function_type_skip_args): Declare.
-	* cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
-	it reflects the signature changes performed at the callee side.
-	* cgraphclones.c (build_function_type_skip_args): Make public, renamed
-	to cgraph_build_function_type_skip_args.
-	(build_function_decl_skip_args): Adjust call to the above function.
-
-2017-03-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/80206
-	* config/i386/sse.md
-	(<extract_type>_vextract<shuffletype><extract_suf>_mask): Use
-	register as dest whenever it is a MEM not rtx_equal_p to the
-	corresponding dup operand, and when forcing into reg move the
-	reg into the memory afterwards.
-	(<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask):
-	Likewise.  Use <ssehalfvecmode> instead of <ssequartermode>
-	for the force_reg mode.
-	(avx512vl_vextractf128<mode>): Use register as dest either
-	always when a MEM, or when it is a MEM not rtx_equal_p to the
-	corresponding dup operand, or even not when it is a CONST_VECTOR
-	depending on the mode and lo vs. hi.
-	(avx512dq_vextract<shuffletype>64x2_1_maskm): Remove extraneous
-	parens.
-	(avx512f_vextract<shuffletype>32x4_1_maskm): Likewise.
-	(<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>):
-	Likewise.  Require that operands[2] is even.
-	(<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>):
-	Remove extraneous parens.  Require that operands[2] is a multiple
-	of 4.
-	(vec_extract_lo_<mode><mask_name>): Don't bother testing if
-	operands[0] is a MEM if <mask_applied>, the predicates/constraints
-	disallow memory then.
-
-2017-03-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77498
-	* tree-ssa-pre.c (phi_translate_1): Do not allow simplifications
-	to non-constants over backedges.
-
-2017-03-29  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/80233
-	* combine.c (combine_instructions): Only take NONDEBUG_INSN_P insns
-	as last_combined_insn.  Do not test for BARRIER_P separately.
-
-2017-03-29  Andreas Schwab  <schwab@suse.de>
-
-	PR ada/80146
-	* calls.c (prepare_call_address): Convert funexp to Pmode before
-	copying to temp reg.
-
-2017-03-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/80158
-	* gimple-ssa-strength-reduction.c (replace_mult_candidate):
-	Handle possible future case of more than one alternate
-	interpretation.
-	(replace_rhs_if_not_dup): Likewise.
-	(replace_one_candidate): Likewise.
-
-2017-03-28  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/80193
-	* ira.c (ira): Do not check allocation for LRA.
-
-2017-03-28  Alexander Monakov  <amonakov@ispras.ru>
-
-	* config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare.
-	(nvptx_output_simt_exit): Declare.
-	* config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use
-	cfun->machine->unisimt_location.  Handle NULL unisimt_predicate.
-	(init_softstack_frame): Move initialization of crtl->is_leaf to...
-	(nvptx_declare_function_name): ...here.  Emit declaration of local
-	memory space buffer for omp_simt_enter insn.
-	(nvptx_output_unisimt_switch): New.
-	(nvptx_output_softstack_switch): New.
-	(nvptx_output_simt_enter): New.
-	(nvptx_output_simt_exit): New.
-	* config/nvptx/nvptx.h (struct machine_function): New fields
-	has_simtreg, unisimt_location, simt_stack_size, simt_stack_align.
-	* config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec.
-	(UNSPECV_SIMT_EXIT): Ditto.
-	(omp_simt_enter_insn): New insn.
-	(omp_simt_enter): New expansion.
-	(omp_simt_exit): New insn.
-	* config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option.
-
-	* internal-fn.c (expand_GOMP_SIMT_ENTER): New.
-	(expand_GOMP_SIMT_ENTER_ALLOC): New.
-	(expand_GOMP_SIMT_EXIT): New.
-	* internal-fn.def (GOMP_SIMT_ENTER): New internal function.
-	(GOMP_SIMT_ENTER_ALLOC): Ditto.
-	(GOMP_SIMT_EXIT): Ditto.
-	* target-insns.def (omp_simt_enter): New insn.
-	(omp_simt_exit): Ditto.
-	* omp-low.c (struct omplow_simd_context): New fields simt_eargs,
-	simt_dlist.
-	(lower_rec_simd_input_clauses): Implement SIMT privatization.
-	(lower_rec_input_clauses): Likewise.
-	(lower_lastprivate_clauses): Handle SIMT privatization.
-
-	* omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h.
-	(ompdevlow_adjust_simt_enter): New.
-	(find_simtpriv_var_op): New.
-	(execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER,
-	IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT.
-
-	* tree-inline.h (struct copy_body_data): New field dst_simt_vars.
-	* tree-inline.c (expand_call_inline): Handle SIMT privatization.
-	(copy_decl_for_dup_finish): Ditto.
-
-	* tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER.
-
-2017-03-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/53383
-	* config/i386/i386.c (ix86_option_override_internal): Always
-	allow -mpreferred-stack-boundary=3 for 64-bit targets.
-
-2017-03-28  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop.
-
-2017-03-28  Bin Cheng  <bin.cheng@arm.com>
-
-	* tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
-	mark new edge's irreducible flag accordign to it.
-	(vect_do_peeling): Check loop preheader edge's irreducible flag
-	and pass it to function slpeel_add_loop_guard.
-
-2017-03-28  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/80218
-	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
-	Update block frequencies and counts.
-
-2017-03-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78644
-	* tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
-	of a simplification result we may not use it at all.
-
-2017-03-28  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/80205
-	* tree-inline.c (copy_phis_for_bb): Do not create PHI node
-	without arguments, generate default definition of a SSA name.
-
-2017-03-28  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80222
-	* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
-	TYPE_REF_CAN_ALIAS_ALL references.
-	* fold-const.c (fold_indirect_ref_1): Likewise.
-
-2017-03-28  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/80104
-	* cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
-	thunk call as DECL_GIMPLE_REG_P when vector or complex type.
-
-2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
-	    Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
-
-	* config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec.
-	(EXTRA_SPECS): Define.
-	(SUBTARGET_EXTRA_SPECS): Likewise.
-	(SUBTARGET_CPP_SPEC): Likewise.
-	* config/arc/elf.h (EXTRA_SPECS): Renamed to
-	SUBTARGET_EXTRA_SPECS.
-	* config/arc/linux.h (SUBTARGET_CPP_SPEC): Define.
-
-2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/simdext.md (vst64_insn): Update pattern.
-	(vld32wh_insn): Likewise.
-	(vld32wl_insn): Likewise.
-	(vld64_insn): Likewise.
-	(vld32_insn): Likewise.
-
-2017-03-28  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80067
-	* fold-const.c (fold_comparison): Use protected_set_expr_location
-	instead of SET_EXPR_LOCATION.
-
-2017-03-28  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* tree.c (add_expr): Avoid name lookup warning.
-
-2017-03-27  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/80216
-	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in
-	function name.  Limit recursion depth.
-	(record_temporary_equivalences): Corresponding changes.
-
-2017-03-27  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
-	covered first.
-
-2017-03-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/80102
-	* reg-notes.def (REG_CFA_NOTE): Define.  Use it for CFA related
-	notes.
-	* cfgcleanup.c (reg_note_cfa_p): New array.
-	(insns_have_identical_cfa_notes): New function.
-	(old_insns_match_p): Don't cross-jump in between /f
-	and non-/f instructions.  If both i1 and i2 are frame related,
-	verify all CFA notes, their order and content.
-
-2017-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78543
-	* config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap
-	HImode and SImode with zero extend to DImode to one insn.
-	(bswap<mode>2_extenddi): Likewise.
-	(bswapsi2_extenddi): Likewise.
-	(bswaphi2_extendsi): Likewise.
-	(bswaphi2): Combine bswap HImode and SImode into one insn.
-	Separate memory insns from swapping register.
-	(bswapsi2): Likewise.
-	(bswap<mode>2): Likewise.
-	(bswaphi2_internal): Delete, no longer used.
-	(bswapsi2_internal): Likewise.
-	(bswap<mode>2_load): Split bswap HImode/SImode into separate load,
-	store, and gpr<-gpr swap insns.
-	(bswap<mode>2_store): Likewise.
-	(bswaphi2_reg): Register only splitter, combine with the splitter.
-	(bswaphi2 splitter): Likewise.
-	(bswapsi2_reg): Likewise.
-	(bswapsi2 splitter): Likewise.
-	(bswapdi2): If we have the LDBRX and STDBRX instructions, split
-	the insns into load, store, and register/register insns.
-	(bswapdi2_ldbrx): Likewise.
-	(bswapdi2_load): Likewise.
-	(bswapdi2_store): Likewise.
-	(bswapdi2_reg): Likewise.
-
-2017-03-27  Gunther Nikl  <gnikl@users.sourceforge.net>
-
-	* system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case.
-	(HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise.
-
-2017-03-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR target/80103
-	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and
-	add comments.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
-	special handling for target option conflicts between dform
-	options (-mpower9-dform, -mpower9-dform-vector,
-	-mpower9-dform-scalar) and -mno-direct-move.
-
-2017-03-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80181
-	* tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
-
-2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/predicates.md (move_double_src_operand): Replace the
-	call to move_double_src_operand with a call to address_operand.
-
-2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define.
-	* config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise.
-	* config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT.
-
-2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/predicates.md (long_immediate_loadstore_operand):
-	Consider scaled addresses cases.
-
-2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_epilogue_uses): BLINK should be also
-	restored when in interrupt.
-	* config/arc/arc.md (simple_return): ARCv2 rtie instruction
-	doesn't have delay slot.
-
-2017-03-27  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/79776
-	* tree-ssa-structalias.c (associate_varinfo_to_alias): Skip
-	inlined thunk clones.
-
-2017-03-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/80168
-	* asan.c (instrument_derefs): Copy over last operand from
-	original COMPONENT_REF to the new COMPONENT_REF with
-	DECL_BIT_FIELD_REPRESENTATIVE.
-	* ubsan.c (instrument_object_size): Likewise.
-
-2017-03-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80170
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make
-	sure DR/SCEV didnt fold in constants we do not see when looking
-	at the reference base alignment.
-
-2017-03-27  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80171
-	* gimple-fold.c (fold_ctor_reference): Properly guard against
-	NULL return value from canonicalize_constructor_val.
-
-2017-03-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80180
-	* config/i386/i386.c (ix86_expand_builtin)
-	<IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
-	flags reg setting and flags reg using instructions.
-	<IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto.  Use non-flags reg
-	clobbering instructions to zero extend op2.
-
-2017-03-25  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Configuration) <--with-aix-soname>:
-	Update link to AIX ld.
-
-2017-03-25  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/80160
-	PR rtl-optimization/80159
-	* lra-assigns.c (must_not_spill_p): Tighten new test to also take
-	reg_alternate_class into account.
-
-2017-03-24  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/80148
-	* lra-assigns.c (assign_by_spills): Add spilled non-reload pseudos
-	to consider in curr_insn_transform.
-
-2017-03-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* genrecog.c (validate_pattern): Add VEC_SELECT validation.
-	* genmodes.c (emit_min_insn_modes_c): Call emit_mode_nunits
-	and emit_mode_inner.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-builtins.def: Add VXE builtins.  Add a flags
-	argument to the overloaded builtin variants.  Use the new flag to
-	deprecate certain builtin variants.
-	* config/s390/s390-builtin-types.def: Add new builtin types.
-	* config/s390/s390-builtins.h: Support new flags field for
-	overloaded builtins.
-	* config/s390/s390-c.c (OB_DEF_VAR): New flags field.
-	(s390_macro_to_expand): Enable vector float data type.
-	(s390_cpu_cpp_builtins_internal): Indicate support of the new
-	builtins by incrementing the __VEC__ version number.
-	(s390_expand_overloaded_builtin): Support expansion of vec_xl and
-	vec_xst.
-	(s390_resolve_overloaded_builtin): Emit error messages depending
-	on the builtin flags.
-	* config/s390/s390.c (s390_expand_builtin): Support additional
-	flags argument.  Change error message to match the messages
-	emitted in s390-c.c.
-	* config/s390/s390.md: New UNSPEC_* constants.
-	(op_type): Add new instruction types.
-	* config/s390/vecintrin.h: Add new builtins and test data class
-	constants.
-	* config/s390/vx-builtins.md (V_HW_32_64): Add V4SF.
-	(V_HW_4, VEC_HW, VECF_HW): New mode iterators.
-	(VEC_INEXACT, VEC_NOINEXACT): New constants.
-	("vec_splats<mode>", "vec_insert<mode>", "vec_promote<mode>")
-	("vec_insert_and_zero<mode>", "vec_mergeh<mode>")
-	("vec_mergel<mode>"): V_HW -> VEC_HW.
-
-	("vlrlrv16qi", "vstrlrv16qi", "vbpermv16qi", "vec_msumv2di")
-	("vmslg", "*vftci<mode>_cconly", "vftci<mode>_intcconly")
-	("*vftci<mode>", "vftci<mode>_intcc", "vec_double_s64")
-	("vec_double_u64", "vfmin<mode>", "vfmax<mode>"): New definition.
-
-	("and_av2df3", "and_cv2df3", "vec_andc_av2df3")
-	("vec_andc_cv2df3", "xor_av2df3", "xor_cv2df3", "vec_nor_av2df3")
-	("vec_nor_cv2df3", "ior_av2df3", "ior_cv2df3", "vec_nabs")
-	("*vftcidb", "*vftcidb_cconly", "vftcidb"): Remove definition.
-
-	("vec_all_<fpcmpcc:code>v2df", "vec_any_<fpcmpcc:code>v2df")
-	("vec_scatter_elementv4si_DI", "vec_cmp<fpcmp:code>v2df")
-	("vec_di_to_df_s64", "vec_di_to_df_u64", "vec_df_to_di_u64")
-	("vfidb", "*vldeb", "*vledb", "*vec_cmp<insn_cmp>v2df_cconly")
-	("vec_cmpeqv2df_cc", "vec_cmpeqv2df_cc", "vec_cmphv2df_cc")
-	("vec_cmphev2df_cc", "*vec_cmpeqv2df_cc")
-	("*vec_cmphv2df_cc", "*vec_cmphev2df_cc"): Enable new modes as ...
-
-	("vec_all_<fpcmpcc:code><mode>", "vec_any_<fpcmpcc:code><mode>")
-	("vec_scatter_element<V_HW_4:mode>_DI")
-	("vec_cmp<fpcmp:code><mode>", "vcdgb", "vcdlgb", "vclgdb")
-	("vec_fpint<mode>", "vflls")
-	("vflrd", "*vec_cmp<insn_cmp><mode>_cconly", "vec_cmpeq<mode>_cc")
-	("vec_cmpeq<mode>_cc", "vec_cmph<mode>_cc", "vec_cmphe<mode>_cc")
-	("*vec_cmpeq<mode>_cc", "*vec_cmph<mode>_cc")
-	("*vec_cmphe<mode>_cc"): ... these.
-
-	("vec_ctd_s64", "vec_ctsl", "vec_ctul", "vec_st2f"): Use rounding
-	mode constant instead of magic value.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_vec_compare): Support other
-	vector floating point modes than just V2DF.
-	(s390_expand_vcond): Likewise.
-	(s390_hard_regno_mode_ok): Allow SFmode values in VRs.
-	(s390_cannot_change_mode_class): Prevent mode changes between TF
-	and V1TF in vector registers.
-	* config/s390/s390.md (DF, SF): New mode attributes.
-	("*cmp<mode>_ccs", "add<mode>3", "sub<mode>3", "mul<mode>3")
-	("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2"): Add
-	SFmode support for VRs.
-	* config/s390/vector.md (V_HW, V_HW2, VT_HW, ti*, nonvec): Add new
-	vector fp modes.
-	(VFT, VF_HW): New mode iterators.
-	(vw, sdx): New mode attributes.
-	("addv2df3", "subv2df3", "mulv2df3", "divv2df3", "sqrtv2df2")
-	("fmav2df4","fmsv2df4", "negv2df2", "absv2df2", "*negabsv2df2")
-	("smaxv2df3", "sminv2df3", "*vec_cmp<VFCMP_HW_OP:code>v2df_nocc")
-	("vec_cmpuneqv2df", "vec_cmpltgtv2df", "vec_orderedv2df")
-	("vec_unorderedv2df"): Adjust the v2df only patterns to support
-	also the new vector floating point modes.  Renaming to ...
-
-	("add<mode>3", "sub<mode>3", "mul<mode>3", "div<mode>3")
-	("sqrt<mode>2", "fma<mode>4", "fms<mode>4", "neg<mode>2")
-	("abs<mode>2", "negabs<mode>2", "smax<mode>3")
-	("smin<mode>3", "*vec_cmp<VFCMP_HW_OP:code><mode>_nocc")
-	("vec_cmpuneq<mode>", "vec_cmpltgt<mode>", "vec_ordered<mode>")
-	("vec_unordered<mode>"): ... these.
-
-	("neg_fma<mode>4", "neg_fms<mode>4", "*smax<mode>3_vxe")
-	("*smin<mode>3_vxe", "*sminv2df3_vx", "*vec_extendv4sf")
-	("*vec_extendv2df"): New insn definitions.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("*adddi3_sign", "*subdi3_sign", "mulditi3")
-	("mulditi3_2", "*muldi3_sign"): New patterns.
-	("muldi3", "*muldi3", "mulsi3", "*mulsi3"): Add an expander and
-	rename the pattern definition.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("indirect_jump"): Turn insn definition into
-	expander.
-	("*indirect_jump", "*indirect2_jump"): New pattern definitions.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_vec_init): Use vllezl
-	instruction if possible.
-	* config/s390/vector.md (vec_halfnumelts): New mode
-	attribute.
-	("*vec_vllezlf<mode>"): New pattern.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vector.md ("popcountv16qi2", "popcountv8hi2")
-	("popcountv4si2", "popcountv2di2"): Rename to ...
-	("popcount<mode>2", "popcountv8hi2_vx", "popcountv4si2_vx")
-	("popcountv2di2_vx"): ... these and add !TARGET_VXE to the
-	condition.
-	("popcount<mode>2_vxe"): New pattern.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* common/config/s390/s390-common.c (processor_flags_table): Add
-	arch12.
-	* config.gcc: Add arch12.
-	* config/s390/driver-native.c (s390_host_detect_local_cpu):
-	Default to arch12 for unknown CPU model numbers.
-	* config/s390/s390-builtins.def: Add B_VXE builtin flag.
-	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Adjust
-	PROCESSOR_max sanity check.
-	* config/s390/s390-opts.h (enum processor_type): Add
-	PROCESSOR_ARCH12.
-	* config/s390/s390.c (processor_table): Add arch12.
-	(s390_expand_builtin): Add check for B_VXE flag.
-	(s390_issue_rate): Add PROCESSOR_ARCH12.
-	(s390_get_sched_attrmask): Likewise.
-	(s390_get_unit_mask): Likewise.
-	(s390_sched_score): Enable z13 scheduling for arch12.
-	(s390_sched_reorder): Likewise.
-	(s390_sched_variable_issue): Likewise.
-	* config/s390/s390.h (enum processor_flags): Add PF_ARCH12 and
-	PF_VXE.
-	(s390_tune_attr): Use z13 scheduling also for arch12.
-	(TARGET_CPU_ARCH12, TARGET_CPU_ARCH12_P, TARGET_CPU_VXE)
-	(TARGET_CPU_VXE_P, TARGET_ARCH12, TARGET_ARCH12_P, TARGET_VXE)
-	(TARGET_VXE_P): New macros.
-	* config/s390/s390.md: Add arch12 to cpu attribute.  Add arch12
-	and vxe to cpu_facility.  Add arch12 and vxe to enabled attribute.
-	* config/s390/s390.opt: Add arch12 as processor_type.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md
-	("fixuns_truncdddi2", "fixuns_trunctddi2")
-	("fixuns_trunc<BFP:mode><GPR:mode>2"): Merge into ...
-	("fixuns_trunc<FP:mode><GPR:mode>2"): New expander.
-
-	("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2"):
-	Rename expanders to ...
-
-	("fixuns_trunc<BFP:mode><GPR:mode>2_emu")
-	("fixuns_truncdddi2_emu"): ... these.
-
-	("fixuns_trunc<mode>si2_emu"): New expander.
-
-	("*fixuns_truncdfdi2_z13"): Rename to ...
-	("*fixuns_truncdfdi2_vx"): ... this.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/2964.md: Remove the single element vector compare
-	instructions which are no longer used.
-	* config/s390/s390.c (s390_select_ccmode): Remove handling of
-	vector CCmodes.
-	(s390_canonicalize_comparison): Remove handling of DFmode
-	compares.
-	(s390_expand_vec_compare_scalar): Remove function.
-	(s390_emit_compare): Don't call s390_expand_vec_compare_scalar.
-	* config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly"): Remove
-	pattern.
-	("*cmp<mode>_ccs"): Add wfcdb instruction.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("mov<mode>_64dfp" DD_DF): Use vleig for loading a
-	FP zero.
-	("*mov<mode>_64" DD_DF): Remove the vector instructions. These
-	will anyway by matched by mov<mode>_64dfp.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("mov<mode>" SD_SF): Change vleg/vsteg to
-	vlef/vstef.  Add missing operand to vleif.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_vec_init): Enable vector load
-	pair for all vector types with 64 bit elements.
-	* config/s390/vx-builtins.md (V_HW_64): Move mode iterator to ...
-	* config/s390/vector.md (V_HW_64): ... here.
-	(V_128_NOSINGLE): New mode iterator.
-	("vec_init<V_HW:mode>"): Use V_128 as mode iterator.
-	("*vec_splat<mode>"): Use V_128_NOSINGLE mode iterator.
-	("*vec_tf_to_v1tf", "*vec_ti_to_v1ti"): New pattern definitions.
-	("*vec_load_pairv2di"): Change to ...
-	("*vec_load_pair<mode>"): ... this one.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/constraints.md: Add comments.
-	(jKK): Reject element sizes > 8 bytes.
-	* config/s390/s390.c (s390_split_ok_p): Enable splitting also for
-	s_operands.
-	* config/s390/s390.md: Add the s_operand checks formerly in
-	s390_split_ok_p to various splitters where they are still
-	required.
-	* config/s390/vector.md ("mov<mode>" V_128): Add GPR alternatives
-	for 128 bit vectors.  Plus two splitters.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md: Rename the cpu facilty vec to vx throughout
-	the file.
-
-2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/79893
-	* config/s390/s390-c.c (s390_adjust_builtin_arglist): Issue an
-	error if the boundary argument is not constant.
-
-2017-03-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/80112
-	* loop-doloop.c (doloop_condition_get): Don't check condition
-	if cmp isn't SET with IF_THEN_ELSE src.
-
-2017-03-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/80158
-	* gimple-ssa-strength-reduction.c (replace_mult_candidate): When
-	replacing a candidate statement, also replace it for the
-	candidate's alternate interpretation.
-	(replace_rhs_if_not_dup): Likewise.
-	(replace_one_candidate): Likewise.
-
-2017-03-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80167
-	* graphite-isl-ast-to-gimple.c
-	(translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs
-	properly.
-	(translate_isl_ast_to_gimple::get_rename): Likewise.
-
-2017-03-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Change
-	handling of certain combinations of target options, including the
-	combinations -mpower8-vector vs. -mno-vsx, -mpower9-vector vs.
-	-mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector.
-
-2017-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/71436
-	* config/arm/arm.md (*load_multiple): Add reload_completed to
-	matching condition.
-
-2017-03-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-	    Richard Biener  <rguenth@suse.de>
-
-	PR tree-optimization/79908
-	PR tree-optimization/80136
-	* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
-	been cast away, gimplify_and_add suffices.
-
-2017-03-23  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* tree-vrp.c (identify_jump_threads): Delete avail_exprs.
-
-2017-03-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80032
-	* gimplify.c (gimple_push_cleanup): Forced unconditional
-	cleanups still have to go to the conditional_cleanups
-	sequence.
-
-2017-03-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/80072
-	* tree-ssa-reassoc.c (struct operand_entry): Change id field type
-	to unsigned int.
-	(next_operand_entry_id): Change type to unsigned int.
-	(sort_by_operand_rank): Make sure to return the right return value
-	even if unsigned fields are bigger than INT_MAX.
-	(struct oecount): Change cnt and id type to unsigned int.
-	(oecount_hasher::equal): Formatting fix.
-	(oecount_cmp): Make sure to return the right return value
-	even if unsigned fields are bigger than INT_MAX.
-	(undistribute_ops_list): Change next_oecount_id type to unsigned int.
-
-	PR c++/80129
-	* gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
-	TREE_READONLY on result if writing it more than once.
-
-	PR sanitizer/80110
-	* doc/invoke.texi (-fsanitize=thread): Document that with
-	-fnon-call-exceptions atomics are not able to throw
-	exceptions.
-
-	PR sanitizer/80110
-	* tsan.c: Include tree-eh.h.
-	(instrument_builtin_call): Call maybe_clean_eh_stmt or
-	maybe_clean_or_replace_eh_stmt where needed.
-	(instrument_memory_accesses): Add cfg_changed argument.
-	Call gimple_purge_dead_eh_edges on each block and set *cfg_changed
-	if it returned true.
-	(tsan_pass): Adjust caller.  Return TODO_cleanup_cfg if cfg_changed.
-
-	PR rtl-optimization/63191
-	* config/i386/i386.c (ix86_delegitimize_address): Turn into small
-	wrapper function, moved the whole old content into ...
-	(ix86_delegitimize_address_1): ... this.  New inline function.
-	(ix86_find_base_term): Use ix86_delegitimize_address_1 with
-	true as last argument instead of ix86_delegitimize_address.
-
-2017-03-22  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (generic_branch_cost): Copy
-	cortexa57_branch_cost.
-
-2017-03-22  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (generic_tunings): Add AES fusion.
-
-2017-03-21  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/80123
-	* doc/md.texi (Constraints): Document wA constraint.
-	* config/rs6000/constraints.md (wA): New.
-	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
-	(rs6000_init_hard_regno_mode_ok): Init wA constraint.
-	* config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
-	* config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.
-
-2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
-
-	PR c++/80029
-	* gimplify.c (is_oacc_declared): New function.
-	(oacc_default_clause): Use it to set default flags for acc declared
-	variables inside parallel regions.
-	(gimplify_scan_omp_clauses): Strip firstprivate pointers for acc
-	declared variables.
-	(gimplify_oacc_declare): Gimplify the declare clauses.  Add the
-	declare attribute to any decl as necessary.
-
-2017-03-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
-
-	PR target/80082
-	* config/arm/arm-isa.h (isa_bit_lpae): New feature bit.
-	(ISA_ARMv7ve): Add isa_bit_lpae to the definition.
-	* config/arm/arm-protos.h (arm_arch7ve): Rename into ...
-	(arm_arch_lpae): This.
-	* config/arm/arm.c (arm_arch7ve): Rename into ...
-	(arm_arch_lpae): This.  Define it in term of isa_bit_lpae.
-	* config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
-	arm_arch_lpae.
-
-2017-03-22  Martin Liska  <mliska@suse.cz>
-
-	PR target/79906
-	* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
-	error message instead of an ICE.
-
-2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* doc/extend.texi (6.11 Additional Floating Types): Revise.
-
-2017-03-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
-	comments.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
-	comments.
-
-2017-03-21  Martin Sebor  <msebor@redhat.com>
-
-	* doc/extend.texi: Use "cannot" instead of "can't."
-	* doc/hostconfig.texi: Same.
-	* doc/install.texi: Same.
-	* doc/invoke.texi: Same.
-	* doc/loop.texi: Same.
-	* doc/md.texi: Same.
-	* doc/objc.texi: Same.
-	* doc/rtl.texi: Same.
-	* doc/tm.texi: Same.
-	* doc/tm.texi.in: Same.
-	* doc/trouble.texi: Same.
-
-2017-03-21  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR debug/63238
-	* dwarf2out.c (struct checksum_attributes): Add at_alignment.
-	(collect_checksum_attributes): Set it.
-	(die_checksum_ordered): Use it.
-
-2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/79908
-	* tree-stdarg.c (expand_ifn_va_arg_1): Revert the following
-	change: For a VA_ARG whose LHS has been cast away, use
-	force_gimple_operand to construct the side effects.
-
-2017-03-21  David Malcolm  <dmalcolm@redhat.com>
-
-	PR translation/80001
-	* omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics
-	more amenable to translation.
-	(oacc_loop_auto_partitions): Likewise.
-
-2017-03-21  Marek Polacek  <polacek@redhat.com>
-	    Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/80109
-	* gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info
-	on INTEGRAL_TYPE_P.
-
-2017-03-21  Jakub Jelinek  <jakub@redhat.com>
-	    Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/80125
-	* combine.c (can_combine_p): Revert the 2017-03-20 change, only
-	check reg_used_between_p between insn and one of succ or succ2
-	depending on if succ is artificial insn not inserted into insn
-	stream.
-
-2017-03-21  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/80081
-	* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
-	* doc/gcc.texi: Include gcov-dump stuff.
-	* doc/gcov-dump.texi: New file.
-
-2017-03-21  Toma Tabacu  <toma.tabacu@imgtec.com>
-
-	PR rtl-optimization/79150
-	* config/mips/mips.c (mips_block_move_loop): Emit a NOP after the
-	conditional jump, if the jump is the last insn of the loop.
-
-2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-	    Richard Biener  <rguenth@suse.de>
-
-	PR tree-optimization/79908
-	* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
-	been cast away, use force_gimple_operand to construct the side
-	effects.
-
-2017-03-21  Martin Liska  <mliska@suse.cz>
-
-	PR libfortran/79956
-	* simplify-rtx.c (simplify_immed_subreg): Initialize a variable
-	to NULL.
-
-2017-03-21  Brad Spengler <spender@grsecurity.net>
-
-	PR plugins/80094
-	* plugin.c (htab_hash_plugin): New function.
-	(add_new_plugin): Use it and adjust.
-	(parse_plugin_arg_opt): Adjust.
-	(init_one_plugin): Likewise.
-
-2017-03-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80032
-	* gimplify.c (gimple_push_cleanup): Add force_uncond parameter,
-	if set force the cleanup to happen unconditionally.
-	(gimplify_target_expr): Push inserted clobbers with force_uncond
-	to avoid them being removed by control-dependent DCE.
-
-2017-03-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80122
-	* tree-inline.c (copy_bb): Do not expans va-arg packs or
-	va_arg_pack_len when the inlined call stmt requires pack
-	expansion itself.
-	* tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
-
-2017-03-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/78158
-	* tsan.c (instrument_builtin_call): If the memory model argument
-	is not a constant, assume it is valid.
-
-	PR c/67338
-	* fold-const.c (round_up_loc): Negate divisor in unsigned type to
-	avoid UB.
-
-2017-03-20  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/79910
-	* combine.c (can_combine_p): Do not allow combining an I0 or I1
-	if its dest is used by an insn before I2 (other than the combined
-	insns themselves, which are properly handled already).
-
-2017-03-20  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	Revert:
-	2017-03-17  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* combine.c (record_used_regs): New static function.
-	(try_combine): Handle situations where there is an additional
-	instruction between I2 and I3 which needs to have a LOG_LINK
-	updated.
-
-	Revert:
-	2017-03-17  Jim Wilson  <jim.wilson@linaro.org>
-
-	* combine.c (try_combine): Delete redundant i1 test.  Call
-	prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
-
-2017-03-20  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/80083
-	* config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for
-	alternatives 13/14.
-
-2017-03-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR tree-optimization/80054
-	* gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail
-	the optimization if a PHI or any of its arguments is not dominated
-	by the candidate's basis.  Use gphi* rather than gimple* as
-	appropriate.
-	(replace_profitable_candidates): Clean up a gimple* variable that
-	should be a gphi* variable.
-
-2017-03-20  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/52477
-	* doc/extend.texi (attribute constructor): Document present limitation.
-
-2017-03-20  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR target/79963
-	* config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and
-	__POWER9_VECTOR__ #ifdef control, change template definition to
-	use Power9-specific built-in function.
-	(vec_any_eq): Likewise.
-	* config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used
-	to control outcomes from this test.
-	(vector_ae_<mode>p): For VEC_F modes, likewise.
-
-2017-03-20  Ian Lance Taylor  <iant@google.com>
-
-	* config/i386/i386.c (ix86_function_regparm): Save an extra
-	register for -fsplit-stack with DECL_STATIC_CHAIN.
-
-2017-03-17  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	PR target/79912
-	* config/riscv/riscv.c (riscv_preferred_reload_class): Remove.
-	(TARGET_PREFERRED_RELOAD_CLASS): Likewise.
-
-2017-03-17  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	* config/riscv/riscv.c (riscv_print_operand): Use "fence
-	iorw,ow".
-	* config/riscv/sync.mc (mem_thread_fence_1): Use "fence
-	iorw,iorw".
-
-2017-03-20  Marek Polacek  <polacek@redhat.com>
-
-	PR sanitizer/80063
-	* asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0).
-
-2017-03-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80113
-	* graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
-	allocate extra SSA name for PHI def.
-	(add_close_phis_to_outer_loops): Likewise.
-	(add_close_phis_to_merge_points): Likewise.
-	(copy_loop_close_phi_args): Likewise.
-	(copy_cond_phi_nodes): Likewise.
-
-2017-03-20  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/79753
-	* tree-chkp.c (chkp_build_returned_bound): Do not build
-	returned bounds for a LHS that's not a BOUNDED_P type.
-
-2017-03-20  Martin Liska  <mliska@suse.cz>
-
-	PR target/79769
-	PR target/79770
-	* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
-	COMPLEX_CST and VECTOR_CST.
-
-2017-03-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	PR target/78857
-	* config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the
-	target operand.  A new splitter adds the clobber statement in case
-	the target operand is dead anyway.
-
-2017-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific) <sparc-*-linux*>: No longer refer
-	to age-old versions of binutils and glibc.
-
-2017-03-18  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* doc/contrib.texi (Contributors): Remove duplicate entry for myself.
-
-2017-03-18  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/contrib.texi (Contributors): Add Segher Boessenkool.
-
-2017-03-18  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific) <arm-*-eabi>: Remove old
-	requirement for binutils 2.13.
-
-2017-03-17  Jim Wilson  <jim.wilson@linaro.org>
-
-	* combine.c (try_combine): Delete redundant i1 test.  Call
-	prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
-
-2017-03-17  Palmer Dabbelt  <palmer@dabbelt.com
-
-	* doc/install.texi (Specific) <riscv32-*-elf>: Add riscv32-*-elf,
-	riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of
-	contents.
-	<riscv64-*-elf>: Re-arrange section
-	<riscv32-*-elf>: Add a note about requiring binutils 2.28.
-	<riscv32-*-linux>: Likewise.
-	<riscv64-*-elf>: Likewise
-	<riscv64-*-linux>: Likewise.
-
-2017-03-17  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/80052
-	* aarch64.opt(verbose-cost-dump): Fix typo.
-
-2017-03-17  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR target/79951
-	* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
-	for VECTOR_UNIT_VSX_P (<MODE>mode) too.
-
-2017-03-17  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* reload.c (find_reloads): When reloading a nonoffsettable address,
-	use RELOAD_OTHER for it and its address reloads.
-
-	PR rtl-optimization/79910
-	* combine.c (record_used_regs): New static function.
-	(try_combine): Handle situations where there is an additional
-	instruction between I2 and I3 which needs to have a LOG_LINK
-	updated.
-
-2017-03-17  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71437
-	* tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the
-	conditional in the hash table first.
-	(vrp_dom_walker::before_dom_children): Extract condition from
-	ASSERT_EXPR.  Record condition, its inverion and any implied
-	conditions as well.
-
-2017-03-17  Marek Polacek  <polacek@redhat.com>
-	    Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR tree-optimization/80079
-	* gimple-ssa-store-merging.c (class pass_store_merging): Initialize
-	m_stores_head.
-
-2017-03-17  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80075
-	* tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns.
-	Properly verify the LHS before the RHS possibly claims to be
-	handled.
-	(stmt_could_throw_p): Hande gimple conds fully here.  Clobbers
-	do not throw.
-
-2017-03-17  Martin Jambor  <mjambor@suse.cz>
-
-	* doc/invoke.texi (Option Options): Include -fipa-vrp in the list.
-	(List of -O2 options): Likewise.
-	(-fipa-bit-cp): Replace "ipa" with "interprocedural."
-	(-fipa-vrp) New.
-
-2017-03-17  Tom de Vries  <tom@codesourcery.com>
-
-	* gcov-dump.c (print_usage): Print bug_report_url.
-
-2017-03-17  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/80050
-	* genmatch.c (parser::next): Remove pointless check for CPP_EOF.
-	(parser::peek): Likewise.
-
-2017-03-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80048
-	* sese.c (free_sese_info): Properly release rename_map and
-	copied_bb_map elements.
-
-2017-03-16  Alexandre Oliva  <aoliva@redhat.com>
-
-	* gimple-ssa-store-merging.c (struct imm_store_chain_info):
-	Add linked-list forward and backlinks.  Insert on
-	construction, remove on destruction.
-	(class pass_store_merging): Add m_stores_head field.
-	(pass_store_merging::terminate_and_process_all_chains):
-	Iterate over m_stores_head list.
-	(pass_store_merging::terminate_all_aliasing_chains):
-	Likewise.
-	(pass_store_merging::execute): Check for debug stmts first.
-	Push new chains onto the m_stores_head stack.
-
-2017-03-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71294
-	* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
-	SPLAT operation on ISA 2.07 64-bit systems that have direct move,
-	but no MTVSRDD support, by doing MTVSRD and XXPERMDI.
-
-2017-03-16  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71437
-	* tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
-	member function.  Implementation moved into after_dom_children
-	member function and into the threader's thread_outgoing_edges
-	function.
-	(dom_opt_dom_walker::after_dom_children): Simplify by moving
-	some code into new thread_outgoing_edges.
-	* tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
-	definition.  Simplify marker handling (do it here).   Assume we always
-	have the available expression and the const/copies tables.
-	(thread_outgoing_edges): New function extracted from tree-ssa-dom.c
-	and tree-vrp.c
-	* tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
-	* tree-vrp.c (equiv_stack): No longer file scoped.
-	(vrp_dom_walker): New class.
-	(vrp_dom_walker::before_dom_children): New member function.
-	(vrp_dom_walker::after_dom_children): Likewise.
-	(identify_jump_threads):  Setup domwalker.  Use it rather than
-	walking edges in a random order by hand.  Simplify setup/finalization.
-	(finalize_jump_threads): Remove.
-	(vrp_finalize): Do not call identify_jump_threads here.
-	(execute_vrp): Do it here instead and call thread_through_all_blocks
-	here too.
-
-	PR tree-optimization/71437
-	* tree-ssa-dom.c (pfn_simplify): Add basic_block argument.  All
-	callers changed.
-	(simplify_stmt_for_jump_threading): Add basic_block argument.  All
-	callers changed.
-	(lhs_of_dominating_assert): Moved from here into tree-vrp.c.
-	(dom_opt_dom_walker::thread_across_edge): Remove
-	handle_dominating_asserts argument.  All callers changed.
-	(record_temporary_equivalences_from_stmts_at_dest): Corresponding
-	changes.  Remove calls to lhs_of_dominating_assert.  Other
-	uses of handle_dominating_asserts turn into unconditional code
-	(simplify_control_stmt_condition_1): Likewise.
-	(simplify_control_stmt_condition): Likewise.
-	(thread_through_normal_block, thread_across_edge): Likewise.
-	* tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
-	* tree-vrp.c (lhs_of_dominating_assert): Move here.  Return original
-	object if it is not an SSA_NAME.
-	(simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
-	before calling into the VRP specific simplifiers.
-	(identify_jump_threads): Remove handle_dominating_asserts
-	argument.
-
-2017-03-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/79886
-	* tree-diagnostic.c (default_tree_printer): No longer static.
-	* tree-diagnostic.h (default_tree_printer): New prototype.
-
-2017-03-16  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
-	Change ins into fmov.
-
-2017-03-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
-	* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
-	Use h_con constraint for operand 1.
-	(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
-	(*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.
-
-2017-03-15  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/71437
-	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
-	(record_temporary_equivalences): Use it.
-
-	PR tree-optimization/71437
-	* tree-ssa-dom.c (struct cond_equivalence): Moved from here into
-	tree-ssa-scopedtables.
-	(lookup_avail_expr, build_and_record_new_cond): Likewise.
-	(record_conditions, record_cond, vuse_eq): Likewise.
-	(record_edge_info): Adjust to API tweak of record_conditions.
-	(simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
-	(record_temporary_equivalences, optimize_stmt): Likewise.
-	(eliminate_redundant_computations): Likewise.
-	(record_equivalences_from_stmt): Likewise.
-	* tree-ssa-scopedtables.c: Include options.h and params.h.
-	(vuse_eq): New function, moved from tree-ssa-dom.c
-	(build_and_record_new_cond): Likewise.
-	(record_conditions): Likewise.  Accept vector of conditions rather
-	than edge_equivalence structure for first argument.
-	for the first argument.
-	(avail_exprs_stack::lookup_avail_expr): New member function, moved
-	from tree-ssa-dom.c.
-	(avail_exprs_stack::record_cond): Likewise.
-	* tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
-	from tree-ssa-dom.c.
-	(avail_exprs_stack): Add new member functions lookup_avail_expr
-	and record_cond.
-	(record_conditions): Declare.
-
-2017-03-15  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/80017
-	* lra-constraints.c (process_alt_operands): Increase reject for
-	reloading an input/output operand.
-
-2017-03-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/79038
-	* config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
-	insns to convert from signed/unsigned char/short to IEEE 128-bit
-	floating point.
-	(floatuns<QHI:mode><IEEE128:mode>2): Likewise.
-
-2017-03-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/80019
-	* config/i386/i386.c (ix86_vector_duplicate_value): Create
-	subreg of inner mode for values already in registers.
-
-2017-03-15  Bernd Schmidt  <bschmidt@redhat.com>
-
-	* config/c6x/c6x.c (hwloop_optimize): Handle case where the old
-	iteration reg is used after the loop.
-
-2017-03-14  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/79800
-	* gimple-ssa-sprintf.c (format_floating: Add argument.  Handle
-	precision in negative-positive range.
-	(format_floating): Call non-const overload with adjusted precision.
-
-2017-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/79947
-	* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
-	-mpowerpc-gfxopt.
-
-2017-03-14  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/80020
-	* builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
-	* builtins.def (aligned_alloc): Use it.
-
-	PR c/79936
-	* Makefile.in (GTFILES): Add calls.c.
-	* calls.c: Include "gt-calls.h".
-
-2017-03-14  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/79728
-	* regs.h (struct target_regs): New field
-	x_contains_allocatable_regs_of_mode.
-	(contains_allocatable_regs_of_mode): New macro.
-	* reginfo.c (init_reg_sets_1): Initialize it, and change
-	contains_reg_of_mode so it includes global regs as well.
-	* reload.c (push_reload): Use contains_allocatable_regs_of_mode
-	rather than contains_regs_of_mode.
-
-2017-03-14  Martin Liska  <mliska@suse.cz>
-
-	* doc/invoke.texi: Document options that can't be combined with
-	-fcheck-pointer-bounds.
-
-2017-03-14  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/79831
-	* doc/invoke.texi (-Wchkp): Document the option.
-
-2017-03-14  Martin Liska  <mliska@suse.cz>
-
-	* Makefile.in: Install gcov-dump.
-
-2017-03-14  Martin Liska  <mliska@suse.cz>
-
-	* multiple_target.c (expand_target_clones): Bail out for
-	an invalid attribute.
-
-2017-03-14  Richard Biener  <rguenther@suse.de>
-
-	* alias.c (struct alias_set_entry): Pack properly.
-	* cfgloop.h (struct loop): Likewise.
-	* cse.c (struct set): Likewise.
-	* ipa-utils.c (struct searchc_env): Likewise.
-	* loop-invariant.c (struct invariant): Likewise.
-	* lra-remat.c (struct cand): Likewise.
-	* recog.c (struct change_t): Likewise.
-	* rtl.h (struct address_info): Likewise.
-	* symbol-summary.h (function_summary): Likewise.
-	* tree-loop-distribution.c (struct partition): Likewise.
-	* tree-object-size.c (struct object_size_info): Likewise.
-	* tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
-	* tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
-	* tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
-	* tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
-	* tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
-	* tree-vectorizer.h (struct _loop_vec_info): Likewise.
-	(struct _stmt_vec_info): Likewise.
-
-2017-03-14  Martin Liska  <mliska@suse.cz>
-
-	PR target/79892
-	* multiple_target.c (create_dispatcher_calls): Check that
-	a target can create a function dispatcher.
-
-2017-03-14  Martin Liska  <mliska@suse.cz>
-
-	PR lto/66295
-	* multiple_target.c (expand_target_clones): Drop local.local
-	flag for default implementation.
-
-2017-03-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/80030
-	* tree-vect-stmts.c (vectorizable_store): Plug memleak.
-
-2017-03-13  Kito Cheng  <kito.cheng@gmail.com>
-
-	* config/riscv/riscv.c (riscv_emit_float_compare>: Use
-	gcc_fallthrough() instead of __attribute__((fallthrough));
-
-2017-03-13  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/gcc.texi: Remove "up" link to (DIR).
-	* doc/gccint.texi: Ditto.
-
-2017-03-13  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific) <avr>: Remove reference to
-	binutils 2.13.
-
-2017-03-13  Jeff Law  <law@redhat.com>
-
-	* config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
-	attribute rather than comments.
-
-	* config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to
-	match_scratch operand is highest.
-
-2017-03-13  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/78339
-	* ipa-pure-const.c (warn_function_noreturn): If the declarations
-	is a CHKP clone, use original declaration.
-
-2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_init): Use multiplier whenever we have it.
-	(arc_conditional_register_usage): Use a different allocation order
-	when optimizing for size.
-	* common/config/arc/arc-common.c (arc_option_optimization_table):
-	Section anchors default on when optimizing for size.
-
-2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (*tst_bitfield_tst): Fix pattern.
-
-2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_output_addsi): Emit code density adds.
-	* config/arc/arc.md (cpu_facility): Add cd variant.
-	(*movqi_insn): Add code density variant.
-	(*movhi_insn): Likewise.
-	(*movqi_insn): Likewise.
-	(*addsi3_mixed): Likewise.
-	(subsi3_insn): Likewise.
-
-2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (movsi_cond_exec): Update constraint.
-
-2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
-	expressions with MINUS and UNARY ops.
-
-2017-03-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/79911
-	* config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3):
-	Rename to...
-	(vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch
-	between vec_select and vector argument.
-	(vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to...
-	(vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise.
-	(vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to...
-	(vec_sel_widen_usum_lo<mode><V_half>3): ... This.
-	(vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to...
-	(vec_sel_widen_usum_hi<mode><V_half>3): ... This.
-
-2017-03-13  Richard Biener  <rguenther@suse.de>
-
-	PR other/79991
-	* params.def (vect-max-peeling-for-alignment): Fix typo.
-
-2017-03-12  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific) <mips-*-*>: Remove description of
-	issue that only occurred with binutils below 2.18.
-
-2017-03-12  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific) <cris-axis-elf>: No longer
-	refer to binutils 2.11/2.12 minimum.
-
-2017-03-12  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific) <powerpc-*-*>: Remove link to
-	ftp.kernel.org and simplify binutils requirement.
-
-2017-03-11  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/invoke.texi (Warning Options): Fix spelling of link-time
-	optimization.
-	(Optimize Options): Ditto.  Also remove redundancy.
-
-2017-03-10  David Malcolm  <dmalcolm@redhat.com>
-
-	PR translation/79848
-	* ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to
-	"%qs".
-	* ipa-pure-const.c (suggest_attribute): Likewise.  Convert _
-	to G_ to avoid double translation.
-
-2017-03-10  David Malcolm  <dmalcolm@redhat.com>
-
-	PR translation/79923
-	* auto-profile.c (get_combined_location): Convert leading
-	character of diagnostics to lower case and remove trailing period.
-	(read_profile): Likewise for various diagnostics.
-	* config/arm/arm.c (arm_option_override): Remove trailing period
-	from various diagnostics.
-	* config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise.
-	(msp430_expand_delay_cycles): Likewise.
-
-2017-03-10  David Malcolm  <dmalcolm@redhat.com>
-
-	PR target/79925
-	* config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the
-	full command-line argument, rather than just "str".
-	(aarch64_validate_march): Likewise.
-	(aarch64_validate_mtune): Likewise.
-
-2017-03-10  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/78911
-	* lra-assigns.c (must_not_spill_p): New function.
-	(spill_for): Use it.
-
-2017-03-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79981
-	* tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of
-	ATOMIC_COMPARE_EXCHANGE ifn result.
-	(stmt_interesting_for_vrp, vrp_visit_stmt): Handle
-	IFN_ATOMIC_COMPARE_EXCHANGE.
-
-2017-03-10  David Malcolm  <dmalcolm@redhat.com>
-
-	PR driver/79875
-	* opts.c (parse_sanitizer_options): Add missing question mark to
-	"did you mean" message.
-
-2017-03-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned
-	built-in.
-	(VMULEUH_UNS): Likewise.
-	(VMULOUB_UNS): Likewise.
-	(VMULOUH_UNS): Likewise.
-	* config/rs6000/rs6000.c (builtin_function_type): Remove
-	references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS.
-
-2017-03-10  David Malcolm  <dmalcolm@redhat.com>
-
-	PR bootstrap/79952
-	* read-rtl-function.c (function_reader::read_rtx_operand): Update
-	x with result of extra_parsing_for_operand_code_0.
-	(function_reader::extra_parsing_for_operand_code_0): Convert
-	return type from void to rtx, returning x.  When reading
-	SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the
-	larger size containing struct block_symbol.
-
-2017-03-10  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
-	-mfloat128-hardware without -m64.
-
-2017-03-10  Will Schmidt <will_schmidt@vnet.ibm.com>
-
-	PR target/79941
-	* config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB]
-	entries to the case statement that marks unsigned arguments to
-	overloaded functions.
-
-2017-03-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
-	two typographic errors in the handling of TARGET_UPPER_REGS_DI.
-
-2017-03-10  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR target/79907
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
-	TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
-
-2017-03-10  Martin Liska  <mliska@suse.cz>
-
-	PR target/65705
-	PR target/69804
-	* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
-	* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
-	FIELD != NULL.
-
-2017-03-10  Olivier Hainque  <hainque@adacore.com>
-
-	* tree-switch-conversion (array_value_type): Start by resetting
-	candidate type to it's main variant.
-
-2017-03-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/79909
-	* combine.c (try_combine): Use simplify_replace_rtx on individual
-	CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
-	of the whole CALL_INSN_FUNCTION_USAGE.
-
-	PR tree-optimization/79972
-	* gimple-ssa-warn-alloca.c (alloca_call_type): Only call
-	get_range_info on SSA_NAMEs.  Formatting fixes.
-
-2017-03-10  Richard Biener  <rguenther@suse.de>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/77975
-	* tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
-	edge to be constant.
-	(get_val_for): For constant x return it.  Formatting fix.
-	(loop_niter_by_eval): Avoid pointless looping if the next iteration
-	would use the same bases as the current one.
-
-2017-03-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
-	instead of vec_select for V1TImode.
-	* conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
-	longer needed.
-	(VSX_LE_128): Add V1TI to this mode iterator.
-	(*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
-	(*vsx_le_perm_store_<mode>): Likewise.
-	(pre-reload splitter for VSX stores): Likewise.
-	(post-reload splitter for VSX stores): Likewise.
-	(*vsx_xxpermdi2_le_<mode>): Likewise.
-	(*vsx_lxvd2x2_le_<mode>): Likewise.
-	(*vsx_stxvd2x2_le_<mode>): Likewise.
-
-2017-03-09  Michael Eager  <eager@eagercon.com>
-
-	Correct failures with --enable-checking=yes,rtl.
-
-	* config/microblaze/microblaze.c (microblaze_expand_shift):
-	Replace GET_CODE test with CONST_INT_P and INTVAL test with
-	test for const0_rtx.
-	* config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone,
-	lshrsi3_byone): Replace INTVAL with test for const1_rtx.
-
-2017-03-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79977
-	* graphite-scop-detection.c (scop_detection::merge_sese):
-	Handle the case of extra exits to blocks dominating the entry.
-
-2017-03-09  Toma Tabacu  <toma.tabacu@imgtec.com>
-
-	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
-	Document rdynamic.
-
-2017-03-09  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/79949
-	* lra-constraints.c (process_alt_operands): Check memory when
-	trying to predict a cycle.  Print about the overall increase.
-
-2017-03-09  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/79971
-	* gimple-expr.c (useless_type_conversion_p): Preserve
-	TYPE_SATURATING for fixed-point types.
-
-2017-03-09  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/79970
-	* ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
-	alignment of BLKmode params.
-
-2017-03-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/79913
-	* config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator.
-	(VALL_NO_V2Q): Likewise.
-	(VDQF_DF): Delete.
-	* config/aarch64/aarch64-simd.md
-	(aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q
-	iterator.
-	(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use
-	VALL_NO_V2Q mode iterator.
-	(*aarch64_vgetfmulx<mode>): Use VDQF iterator.
-
-2017-03-09  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/79631
-	* tree-chkp-opt.c (chkp_is_constant_addr): Call
-	tree_int_cst_sign_bit just for INTEGER constants.
-
-2017-03-09  Martin Liska  <mliska@suse.cz>
-
-	PR target/65705
-	PR target/69804
-	* toplev.c (process_options): Disable -fcheck-pointer-bounds with
-	sanitizers.
-
-2017-03-09  Marek Polacek  <polacek@redhat.com>
-
-	PR c++/79672
-	* tree.c (inchash::add_expr): Handle TREE_VEC.
-
-2017-03-09  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/79764
-	(chkp_narrow_size_and_offset): New function.
-	(chkp_parse_array_and_component_ref): Support BIT_FIELD_REF.
-	(void chkp_parse_bit_field_ref): New function.
-	(chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF.
-	(chkp_process_stmt): Use chkp_parse_bit_field_ref.
-
-2017-03-09  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/79761
-	* tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
-	(chkp_find_bounds_1): Remove gcc_unreachable.
-
-2017-03-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/79944
-	* asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
-	BUILT_IN_SYNC*, determine the access type from the size suffix and
-	always build a MEM_REF with that type.  Handle forgotten
-	BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.
-
-	PR target/79932
-	* config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
-	_mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
-	_mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
-	_mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
-	_mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
-	_mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
-	_mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
-	_mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
-	_mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
-	_mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
-	_mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
-	_mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
-	_mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
-	_mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
-	_mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
-	_mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
-	_mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
-	_mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
-	_mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
-	_mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
-	_mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
-	_mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
-	_mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
-	_mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
-	_mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
-	_mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
-	_mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
-	_mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
-	_mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
-	_mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
-	definitions outside of __OPTIMIZE__ guarded section.
-
-	PR target/79932
-	* config/i386/avx512bwintrin.h (_mm512_packs_epi32,
-	_mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
-	_mm512_packus_epi32, _mm512_maskz_packus_epi32,
-	_mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
-	guarded section.
-
-2017-03-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vx-builtins.md ("vfee<mode>", "vfeez<mode>")
-	("vfenez<mode>"): Add missing constraints.
-
-2017-03-08  Martin Sebor  <msebor@redhat.com>
-
-	PR target/79928
-	* config/nds32/nds32.c (nds32_option_override):
-	Fix misspelled diagnostic.
-
-2017-03-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/79940
-	* gimplify.c (gimplify_omp_for): Replace index var in outer
-	taskloop statement with an artificial variable and add
-	OMP_CLAUSE_PRIVATE clause for it.
-
-2017-03-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79955
-	* tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
-	for accesses that are completely outside of the variable.
-
-2017-03-08  Andrew Haley  <aph@redhat.com>
-
-	PR tree-optimization/79943
-	* tree-ssa-loop-split.c (compute_new_first_bound): When
-	calculating the new upper bound, (END-BEG) should be added, not
-	subtracted.
-
-2017-03-08  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/avr/avr.md (setmemhi): Make sure match_dup
-	operand number comes before match_scratch.
-
-2017-03-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79920
-	* tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline
-	with ncopies == 1 to ...
-	(vect_transform_slp_perm_load): ... here.  Properly compute
-	all element loads by iterating VF times over the group.  Do
-	not handle ncopies (computed in a broken way) in
-	vect_create_mask_and_perm.
-
-2017-03-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR sanitizer/79904
-	* internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1
-	is a uniform vector, use uniform_vector_p return value instead of
-	building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type.
-
-2017-03-07  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/79809
-	* gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT.
-	(alloca_call_type): Likewise.
-
-2017-03-07  Martin Liska  <mliska@suse.cz>
-
-	* gcov.c (process_args): Put comment to correct location.
-
-2017-03-07  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/68270
-	* tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref.
-	Use array_at_struct_end_p instead of DECL_CHAIN (field).
-	(chkp_narrow_bounds_for_field): Likewise.
-	(chkp_parse_array_and_component_ref): Pass one more argument to
-	call.
-
-2017-03-07  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
-	preheaders.
-
-2017-03-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/i386/i386.c (ix86_local_alignment): Align most aggregates
-	of 16 bytes and more to 16 bytes, not those of 16 bits and more.
-
-2017-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR c/79855
-	* params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop
-	to end of description.
-	(PARAM_MAX_STORES_TO_MERGE): Likewise.
-
-2017-03-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/79901
-	* config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
-	...
-	(*avx512f_<code><mode>3<mask_name>): ... this.
-	(<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
-	iterator instead of VI8_AVX2_AVX512BW.
-
-	PR rtl-optimization/79901
-	* expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
-	min/max expander, expand it using expand_vec_cond_expr.
-
-	PR sanitizer/79897
-	* ubsan.c (ubsan_encode_value): Call mark_addressable on the
-	temporary.
-
-2017-03-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/79821
-	* dwarf2out.h (dw_vec_const): Change array type from unsigned char *
-	to void * for PCH reasons.
-	* dwarf2out.c (output_loc_operands, output_die): Cast
-	v.val_vec.array to unsigned char *.
-
-2017-03-06  John David Anglin  <danglin@gcc.gnu.org>
-
-	PR target/77850
-	* config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
-	vector types.
-
-2017-03-06  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/79571
-	* lra-constraints.c (process_alt_operands): Calculate static
-	reject and subtract it from overall when only addresses will be
-	reloaded.
-
-2017-03-06  Julia Koval  <julia.koval@intel.com>
-
-	PR target/79793
-	* config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set
-	incoming stack boundary to 128 for 64-bit targets.
-
-2017-03-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79894
-	* tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
-	to NULL after folding it.
-
-2017-03-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79824
-	* tree-vect-stmts.c (get_group_load_store_type): Fix alignment
-	check disabling peeling for gaps.
-
-2017-03-06  Toma Tabacu  <toma.tabacu@imgtec.com>
-
-	* doc/sourcebuild.texi (Effective-Target Keywords, Environment
-	attributes): Document gettimeofday.
-
-2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_option_override_internal): Set
-	PARAM_MIN_VECT_LOOP_BOUND
-
-2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
-	* config/s390/s390.md: Likewise.
-
-2017-03-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79812
-	* config/i386/sse.md (VI8F_256_512): Remove mode iterator.
-	(<avx2_avx512>_perm<mode>): Rename to ...
-	(avx2_perm<mode>): ... this.  Use VI8F_256 iterator instead
-	of VI8F_256_512.
-	(<avx512>_perm<mode>_mask): Rename to ...
-	(avx512vl_perm<mode>_mask): ... this.  Use VI8F_256 iterator instead
-	of VI8F_256_512.
-	(<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
-	(avx2_perm<mode>_1<mask_name): ... this.  Use VI8F_256 iterator
-	instead of VI8F_256_512.
-	(avx512f_perm<mode>): New define_expand.
-	(avx512f_perm<mode>_mask): Likewise.
-	(avx512f_perm<mode>_1<mask_name>): New define_insn.
-	(<avx512>_vec_dup<mode>_1): Fix up vec_select mode.
-
-2017-03-06  Prachi Godbole  <prachi.godbole@imgtec.com>
-
-	* config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
-	msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
-	if_then_else.
-	(smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.
-
-2017-03-06  Martin Liska  <mliska@suse.cz>
-
-	PR sanitize/79783
-	* asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
-	when having a SSA NAME w/o VAR_DECL assigned to it.
-
-2017-03-06  Prachi Godbole  <prachi.godbole@imgtec.com>
-
-	* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
-	msa_dpsub_<su>_d): Fix MODE for vec_select.
-
-2017-03-06  Prachi Godbole  <prachi.godbole@imgtec.com>
-
-	* config/mips/mips.c (mips_gen_const_int_vector): Change type of last
-	argument.
-	* config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
-
-2017-03-06  Richard Biener  <rguenther@suse.de>
-
-	* lto-streamer.c (lto_check_version): Use %qs in diagnostics.
-	* plugin.c (register_plugin_info): Likewise.
-	* tree-chkp.c (chkp_make_static_const_bounds): Likewise.
-
-2017-03-05  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/sse.md (sse_storehps, sse_storelps,
-	avx_<castmode><avxsizesuffix>_<castmode>,
-	avx512f_<castmode><avxsizesuffix>_<castmode>,
-	avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
-	in condition that at least one operand is not a MEM.
-
-2017-03-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/79805
-	* internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET,
-	ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove
-	ECF_NOTHROW.
-	* gimple-fold.c (fold_builtin_atomic_compare_exchange): Set
-	gimple_call_nothrow_p flag based on whether original builtin can throw.
-	If it can, emit following stmts on the fallthrough edge.
-	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except
-	don't create new bb if inserting just debug stmts on the edge, try to
-	insert them on the fallthru bb or just reset debug stmts.
-
-2017-03-03  Segher Boesssenkool  <segher@kernel.crashing.org>
-
-	PR target/43763
-	* config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and
-	restore recog_data (including the operand rtxes inside it) around
-	the call to get_insn_template.
-
-2017-03-03  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/79699
-	* context.c (context::~context): Free MPFR caches to avoid
-	a memory leak on program exit.
-
-2017-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_float_const_representable_p):
-	Use wide_int::ulow () instead of .elt (0).
-
-2017-03-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*pushtf): Change *roF constraint to *roC.
-	(*pushxf): Limit oF constraint to 32bit targets and add oC
-	constraint for 64bit targets.
-	(pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment.
-	(*pushdf): Change rmF constraint to rmC.
-
-2017-03-03  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute):
-	Remove unused variable.
-
-2017-03-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79807
-	* config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
-	is a memory operand, increase num_memory.
-	(ix86_expand_args_builtin): Likewise.
-
-2017-03-03  Jan Hubicka  <jh@suse.cz>
-
-	PR lto/79760
-	* ipa-devirt.c (maybe_record_node): Properly handle
-	__cxa_pure_virtual visibility.
-
-2017-03-03  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/79803
-	* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
-	assert.
-	(pass_loop_prefetch::execute): Disabled optimization if an
-	assumption about L1 cache size is not met.
-
-2017-03-03  Martin Liska  <mliska@suse.cz>
-
-	PR rtl-optimization/79574
-	* gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
-	(hash_scan_set): Likewise.
-	(dump_hash_table): Likewise.
-	(hoist_code): Likewise.
-
-2017-03-03  Richard Biener  <rguenther@suse.de>
-
-	* fixed-value.c (fixed_from_string): Restore use of elt (1)
-	in place of uhigh ().
-	(fixed_convert_from_real): Likewise.
-
-2017-03-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/79514
-	* config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.
-
-2017-03-03  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/79818
-	* match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing
-	TYPE_OVERFLOW_UNDEFINED check.
-
-2017-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
-	numbers.
-	(vector_ae_<mode>_p): Likewise.
-	(vector_nez_<mode>_p): Likewise.
-	(vector_ne_v2di_p): Likewise.
-	(vector_ae_v2di_p): Likewise.
-	(vector_ne_<mode>_p): Likewise.
-	* config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
-	numbers.
-	(vsx_tsqrt<mode>2_fe): Likewise.
-
-2017-03-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/79514
-	* config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
-
-2017-03-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/79780
-	* cprop.c (one_cprop_pass): When second and further conditional trap
-	in a single basic block is turned into an unconditional trap, turn it
-	into a deleted note to avoid RTL verification failures.
-
-2017-03-02  Richard Biener  <rguenther@suse.de>
-
-	* fold-const.c (const_binop): Use ulow () instead of elt (0).
-
-2017-03-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79345
-	PR c++/42000
-	* tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
-	param and abort the walk, returning -1 if it is hit.
-	(walk_aliased_vdefs): Take a limit param and pass it on.
-	* tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
-	defaulting to 0 and return a signed int.
-	* tree-ssa-uninit.c (struct check_defs_data): New struct.
-	(check_defs): New helper.
-	(warn_uninitialized_vars): Use walk_aliased_vdefs to warn
-	about uninitialized memory.
-	* fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
-	bogus uninitialized warning.
-	(fixed_convert_from_real): Likewise.
-
-2017-03-02  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/66768
-	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
-	iv_use if base object can't be determined.
-
-2017-03-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79345
-	* gensupport.h (struct pattern_stats): Add min_scratch_opno field.
-	* gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it.
-	(get_pattern_stats): Initialize it.
-	* genemit.c (gen_expand): Verify match_scratch numbers come after
-	match_operand/match_dup numbers.
-	* config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and
-	match_scratch numbers.
-	* config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>):
-	Likewise.
-	* config/s390/s390.md (trunctdsd2): Likewise.
-
-2017-03-02  Richard Biener  <rguenther@suse.de>
-
-	* wide-int.h (wide_int_storage::operator=): Implement in terms
-	of wi::copy.
-
-2017-03-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79777
-	* tree-ssa-pre.c (eliminate_insert): Give up if we simplify
-	the to insert expression to sth existing.
-
-2017-03-01  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/79692
-	* gimple-ssa-sprintf.c
-	(directive::known_width_and_precision): New function.
-	(format_integer): Use it.
-	(get_mpfr_format_length): Consider the full range of precision
-	when computing %g output with the # flag.  Set the likely byte
-	count to 3 rather than 1 when precision is indeterminate.
-	(format_floating): Correct the lower bound of precision.
-
-2017-03-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* doc/invoke.texi: Document default code model for 64-bit Linux.
-
-2017-03-01  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/79752
-	* config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
-	udiv rather than div since input pattern is unsigned.
-
-2017-03-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (print_reg): Warn for values of
-	unsupported size in integer register.
-
-2017-03-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/79439
-	* config/rs6000/predicates.md (current_file_function_operand): Do
-	not allow self calls to be local if the function is replaceable.
-
-2017-03-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR target/79395
-	* config/rs6000/altivec.h (vec_ctz and others): Change the
-	preprocessor macro that controls conditional compilation from
-	_ARCH_PWR9 to __POWER9_VECTOR__.
-	(vec_all_ne): Change parameterization of __altivec_scalar_pred
-	macro expansion under preprocessor #ifdef __POWER9_VECTOR__
-	control (instead of _ARCH_PWR9 control) so that template
-	definition uses power9-specific function.
-	(vec_any_eq): Likewise.
-	(vec_all_ne): Change macro definition to use a power9-specific
-	expansion under #ifdef __POWER9_VECTOR__ control (instead of
-	_ARCH_PWR9 control).
-	(vec_any_eq) Likewise.
-	* config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2
-	expansion for CMPNEF to remove support for xvcmpnesp instruction.
-	(CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove
-	support for xvcmpnedp instruction.
-	(VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2
-	macro expansion so that Power9 implementation of vec_all_ne does
-	not use the AltiVec predicate framework.
-	(VCMPNEH_P): Likewise.
-	(VCMPNEW_P): Likewise.
-	(VCMPNED_P): Likewise.
-	(VCMPNEFP_P): Likewise.
-	(VCMPNEDP_P): Likewise.
-	(VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change
-	implementation of vec_any_eq to not use AltiVec predicate
-	framework.
-	(VCMPAEH_P): Likewise.
-	(VCMPAEW_P): Likewise.
-	(VCMPAED_P): Likewise.
-	(VCMPAEFP_P): Likewise.
-	(VCMPAEDP_P): Likewise.
-	(VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with
-	BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does
-	not use the AltiVec predicate framework.
-	(VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation
-	of vec_any_eq to not use AltiVec predicate framework.
-	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
-	support for predefined __POWER9_VECTOR__ macro to indicate that
-	Power9 instruction selection is enabled.
-	(altivec_overloaded_builtins): Remove extraneous
-	ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded
-	function argument types RS6000_BTI_bool_V16QI and
-	RS6000_BTI_bool_V16QI.  Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE
-	entry for overloaded function argument types RS6000_BTI_bool_V4SI
-	andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB.  Remove
-	two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to
-	P9V_BUILTIN_CMPNEF to force use of instructions not specific to
-	Power9 for implementations of vec_cmpne.  Change the signature for
-	all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function
-	(representing vec_all_ne) to remove the previously described first
-	argument of type RS6000_BTI_INTSI, as this was an artifact of
-	reliance on the AltiVec predicate framework, which is no longer
-	used in the implementation of these functions.  Add
-	P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq
-	function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries
-	since, unlike the AltiVec predicate framework implementation, we
-	do not share function descriptors between vec_alle and vec_anyeq.
-	(altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the
-	set of modes that receive special treatment even when
-	TARGET_P9_VECTOR is true.  The special treatment emits code that
-	does not depend on Power9 instructions.
-	* config/rs6000/vector.md (vector_ne_<mode>_p): Change this
-	define_expand to not rely on AltiVec predicate framework.
-	(vector_ae_<mode>p): New define_expand to represent vec_any_eq
-	function.
-	(vector_ne_v2di_p): Change this define_expand to not rely on
-	AltiVec predicate framework.
-	(vector_ae_v2di_p): New define_expand to represent vec_any_eq
-	function.
-	(vector_ne_<mode>_p): Change this define_expand to not rely on
-	AltiVec predicate framework.
-	(vector_ae_<mode>p): New define_expand to represent vec_any_eq
-	function.
-	* config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I
-	(V16QI, V8HI, V4SI), correct a typo in the code emitted for this
-	define_insn pattern.
-	(*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this
-	define_insn pattern because the xvcmpne<VSs>. instruction is not
-	supported.
-	(vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs>
-	instruction is not supported.
-
-2017-03-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/nvptx/nvptx.c: Include intl.h.
-
-2017-03-01  Martin Jambor  <mjambor@suse.cz>
-
-	PR lto/78140
-	* ipa-prop.h (ipa_bits): Removed field known.
-	(ipa_jump_func): Removed field vr_known.  Changed fields bits and m_vr
-	to pointers.  Adjusted their comments to warn about their sharing.
-	(ipcp_transformation_summary): Change bits to a vector of pointers.
-	(ipa_check_create_edge_args): Moved to ipa-prop.c, declare.
-	(ipa_get_ipa_bits_for_value): Declare.
-	* tree-vrp.h (value_range): Mark as GTY((for_user)).
-	* ipa-prop.c (ipa_bit_ggc_hash_traits): New.
-	(ipa_bits_hash_table): Likewise.
-	(ipa_vr_ggc_hash_traits): Likewise.
-	(ipa_vr_hash_table): Likewise.
-	(ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr
-	being pointers and vr_known being removed.
-	(ipa_set_jf_unknown): Likewise.
-	(ipa_get_ipa_bits_for_value): New function.
-	(ipa_set_jfunc_bits): Likewise.
-	(ipa_get_value_range): New overloaded functions.
-	(ipa_set_jfunc_vr): Likewise.
-	(ipa_compute_jump_functions_for_edge): Use the above functions to
-	construct bits and vr parts of jump functions.
-	(ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate
-	ipa_bits_hash_table and ipa_vr_hash_table if they do not already
-	exist.
-	(ipcp_grow_transformations_if_necessary): Also allocate
-	ipa_bits_hash_table and ipa_vr_hash_table if they do not already
-	exist.
-	(ipa_node_params_t::duplicate): Do not copy bits, just pointers to
-	them.  Fix too long lines.
-	(ipa_write_jump_function): Adjust for bits and m_vr being pointers and
-	vr_known being removed.
-	(ipa_read_jump_function): Use new setter functions to construct bits
-	and vr parts of jump functions or set them to NULL.
-	(write_ipcp_transformation_info): Adjust for bits being pointers.
-	(read_ipcp_transformation_info): Likewise.
-	(ipcp_update_bits): Likewise.  Fix excessively long lines a trailing
-	space.
-	Include gt-ipa-prop.h.
-	* ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits
-	being pointers.
-	(ipcp_store_bits_results): Likewise.
-	(propagate_vr_across_jump_function): Adjust for m_vr being a pointer.
-	Do not write to existing jump functions but use a temporary instead.
-
-2017-03-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/79681
-	* fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
-	attempt to use its first operand as BIT_FIELD_REF base.
-
-2017-03-01  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/79721
-	* tree-chrec.c (chrec_evaluate): Perform computation of Newtons
-	interpolating formula in wrapping arithmetic.
-	(chrec_apply): Convert chrec_evaluate return value to wanted type.
-
-2017-03-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79734
-	* tree-vect-generic.c (expand_vector_condition): Optimize
-	AVX512 vector boolean VEC_COND_EXPRs into bitwise operations.
-	Handle VEC_COND_EXPR where comparison has different inner width from
-	type's inner width.
-
-2017-02-28  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (ARC Options): Copy-edit to fix punctuation,
-	markup, and similar issues.  Remove @opindex entries for things
-	that aren't options.  Add missing -mmpy-option entries.
-
-2017-02-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79737
-	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is
-	a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear
-	tmpbuf[byte_size - 1].  Call natice_encode_expr with byte_size - 1
-	instead of byte_size.  Formatting fix.
-	(shift_bytes_in_array_right): Formatting fix.
-
-2017-02-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/79749
-	* config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
-	condition on optimize for the leaf function test.
-
-2017-02-28  Martin Liska  <mliska@suse.cz>
-
-	PR lto/79625
-	* read-rtl-function.c (function_reader::handle_unknown_directive):
-	Bail out when one uses -flto.
-
-2017-02-28  Martin Liska  <mliska@suse.cz>
-
-	* common.opt: Replace space with tabular for options of <number>
-	type.
-	* config/i386/i386.opt: Show <number> value for
-	-mlarge-data-threshold.
-	* opts.c (print_filtered_help): Do not display number in hexadecimal
-	format.
-
-2017-02-28  Martin Liska  <mliska@suse.cz>
-
-	* common.opt: Fix --help=option -Q for options which are of
-	an enum type.
-
-2017-02-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (print_reg): Error out for values
-	of 8-bit size in invalid integer register.
-
-2017-02-28  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/79691
-	* passes.def (pass_all_optimizations_g): Enable pass_sprintf_length.
-
-2017-02-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79729
-	* config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
-	gcc_unreachable with output_operand_lossage.
-
-2017-02-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79740
-	* tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant
-	inserts.
-	(visit_nary_op): Insert the nary into the hashtable if we
-	pattern-matched sth.
-	* tree-ssa-pre.c (eliminate_insert): Robustify.
-
-2017-02-28  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/79731
-	* fold-const.c (decode_field_reference): Reject out-of-bound
-	accesses.
-
-2017-02-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c: Include intl.h.
-	(ix86_option_override_internal): Use cond ? G_("...") : G_("...")
-	instead of just cond ? "..." : "...".
-	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise.
-	* coverage.c (read_counts_file): Likewise.
-	* omp-offload.c: Include intl.h.
-	(oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead
-	of just cond ? "..." : "...".
-	* gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead
-	of just cond ? "..." : "...".
-
-2017-02-28  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/79742
-	* config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for'
-	entry, if present.
-	* config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct
-	'tune for' CPU name.
-	* config/arm/arm-cpu-data.h: Regenerated.
-
-2017-02-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79732
-	* tree-inline.c (expand_call_inline): Do not shadow var.
-
-2017-02-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79723
-	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve
-	address-space properly.
-
-2017-02-28  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* doc/optinfo.texi (Optimization groups): Fix option used for
-	OPTGROUP_ALL.
-	* doc/invoke.texi (-fopt-info): Document "omp".
-	* dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
-	(OPTGROUP_ALL): Add OPTGROUP_OMP.
-	* hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
-	* ipa-hsa.c (pass_data_ipa_hsa): Likewise.
-	* omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.
-
-	* dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP.  Adjust
-	all users.
-	* dumpfile.c (optgroup_options): Instead of "openmp", associate
-	OPTGROUP_OMP with "omp".
-
-2017-02-27  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR target/79544
-	* config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD
-	for arithmetic shift of unsigned V2DI.
-
-2017-02-27  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and
-	arc/linux.h headers.
-	* config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove.
-	(LINK_SPEC): Likewise.
-	(ARC_TLS_EXTRA_START_SPEC): Likewise.
-	(EXTRA_SPECS): Likewise.
-	(STARTFILE_SPEC): Likewise.
-	(ENDFILE_SPEC): Likewise.
-	(LIB_SPEC): Likewise.
-	(TARGET_SDATA_DEFAULT): Likewise.
-	(TARGET_MMEDIUM_CALLS_DEFAULT): Likewise.
-	(MULTILIB_DEFAULTS): Likewise.
-	(DWARF2_UNWIND_INFO): Likewise.
-	* config/arc/big.h: New file.
-	* config/arc/elf.h: Likewise.
-	* config/arc/linux.h: Likewise.
-	* config/arc/t-uClibc: Remove.
-
-2017-02-27  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/77536
-	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function.
-	(tree_transform_and_unroll_loop): Use above function to compute the
-	estimated niter of unrolled loop and use it when scaling profile.
-	Also use count info rather than frequency if it's non-zero.
-	* tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration.
-	* tree-vect-loop.c (scale_profile_for_vect_loop): New function.
-	(vect_transform_loop): Call above function.
-
-2017-02-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/45397
-	* tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR.
-	* tree-ssa-sccvn.c (valueized_wider_op): New helper.
-	(visit_nary_op): Add pattern matching for CSEing sign-changed
-	or truncated operations with wider ones.
-
-2017-02-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79690
-	* tree-vect-stmts.c (vectorizable_store): Use vector type
-	built from the DR with address-space.
-
-2017-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/invoke.texi (Optimize Options): Refine the description
-	of asan-use-after-return.
-
-2017-02-25  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/79584
-	* lra-constraints.c (base_to_reg): Reload ad->base, the entire
-	base, not ad->base_term, the reg within base.  Remove assertion
-	that ad->base == ad->base_term.  Replace gen_int_mode using
-	bogus mode with const0_rtx.
-
-2017-02-25  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/79396
-	* tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
-	FMA_EXPR like tcc_binary or tcc_unary.
-
-	* tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
-
-	PR debug/77589
-	* dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value
-	bitfield.
-	(size_of_loc_descr): Handle DW_OP_GNU_variable_value.
-	(output_loc_operands): Handle DW_OP_call_ref and
-	DW_OP_GNU_variable_value.
-	(struct variable_value_struct): New type.
-	(struct variable_value_hasher): Likewise.
-	(variable_value_hash): New variable.
-	(string_types): Remove.
-	(copy_loc_descr): New function.
-	(add_loc_descr_to_each): Clarify comment.  Use copy_loc_descr.
-	(prepend_loc_descr_to_each): New function.
-	(add_loc_list): Fix comment typo.  Use prepend_loc_descr_to_each
-	instead of add_loc_descr_to_each if the first argument is single
-	location list and the second has multiple.
-	(resolve_args_picking_1): Handle DW_OP_GNU_variable_value.
-	(loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value
-	when looking for variable value which doesn't have other location info.
-	(loc_list_from_tree): Formatting fix.
-	(gen_array_type_die): Simplify DW_AT_string_length handling.
-	(adjust_string_types): Remove.
-	(gen_subprogram_die): Don't call adjust_string_types nor test/set
-	string_types.  Call resolve_variable_values.
-	(prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value.
-	(resolve_addr_in_expr): Likewise.  Add A argument.
-	(copy_deref_exprloc): Remove deref argument.  Adjust for the
-	original expression being DW_OP_GNU_variable_value with optionally
-	DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref
-	optionally after it.
-	(optimize_string_length): Rework for DW_OP_GNU_variable_value.
-	(resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr
-	callers.  Set remove_AT_byte_size if removing DW_AT_string_length.
-	(variable_value_hasher::hash, variable_value_hasher::equal): New
-	methods.
-	(resolve_variable_value_in_expr, resolve_variable_value,
-	resolve_variable_values, note_variable_value_in_expr,
-	note_variable_value): New functions.
-	(dwarf2out_early_finish): Call note_variable_value on all toplevel
-	DIEs.
-
-2017-02-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/79677
-	* opts.h (handle_generated_option): Add GENERATED_P argument.
-	* opts-common.c (handle_option): Adjust function comment.
-	(handle_generated_option): Add GENERATED_P argument, pass it to
-	handle_option.
-	(control_warning_option): Pass false to handle_generated_option
-	GENERATED_P.
-	* opts.c (maybe_default_option): Pass true to handle_generated_option
-	GENERATED_P.
-	* optc-gen.awk: Likewise.
-
-2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of
-	a REG, look at the REG it is a SUBREG of.
-	(splitter for cmpeqsi_t): Ditto.
-
-2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/pa/pa.c (pa_combine_instructions): Do not share RTL.  Make
-	the special USEs with the pattern of the insn, not the insn itself.
-
-2017-02-24  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	PR target/79473
-	* doc/invoke.texi: Document -mload-store-pairs.
-
-2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
-	    Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/nios2.c (nios2_simple_const_p): Returns false if the
-	argument isn't a CONST_INT.
-	(nios2_alternate_compare_const): Assert op is a CONST_INT.
-	(nios2_valid_compare_const_p): Assert op is a CONST_INT.
-	(nios2_validate_compare): Bypass alternate compare logic if *op2
-	is not a CONST_INT.
-	(ldstwm_operation_p): Return false if first_base is not a REG or
-	if first_offset is not a CONST_INT.
-
-2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/cris/cris.md: Use correct operand in a define_peephole2.
-
-2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.
-
-2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of
-	this_insn if it is an INSN or JUMP_INSN.
-	(force_offsettable): Look at base, not at addr.
-	* config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL
-	on things that aren't necessarily CONST_INTs.
-
-2017-02-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	* doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
-	-mfpmath=sse is the default also for x86-32 targets with SSE2
-	instruction set when @option{-ffast-math} is enabled
-
-2017-02-24  Jeff Law  <law@redhat.com>
-
-	PR rtl-optimizatoin/79286
-	* ira.c (update_equiv_regs): Drop may_trap_p exception to
-	dominance test.
-
-2017-02-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79389
-	* gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
-	debug insns.
-
-2017-02-24  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
-	function comment to reflect reality.
-	(loop_exits_before_overflow): Fix typo in function description.
-
-2017-02-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79389
-	* gimple-ssa-split-paths.c (is_feasible_trace): Verify more
-	properly that a threading opportunity exists.  Detect conditional
-	copy/constant propagation opportunities.
-
-2017-02-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/visium/visium.md (type): Add trap.
-	(b): New mode attribute.
-	(*btst): Rename into...
-	(*btst<mode>): ...this and adjust.
-	(*cbranchsi4_btst_insn): Rename into...
-	(*cbranch<mode>4_btst_insn): ...this and adjust.
-	(trap): New define_insn.
-
-2017-02-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79389
-	* ifcvt.c (struct noce_if_info): Add rev_cond field.
-	(noce_reversed_cond_code): New function.
-	(noce_emit_store_flag): Use rev_cond if non-NULL instead of
-	reversed_comparison_code.  Formatting fix.
-	(noce_try_store_flag): Test rev_cond != NULL in addition to
-	reversed_comparison_code.
-	(noce_try_store_flag_constants): Likewise.
-	(noce_try_store_flag_mask): Likewise.
-	(noce_try_addcc): Use rev_cond if non-NULL instead of
-	reversed_comparison_code.
-	(noce_try_cmove_arith): Likewise.  Formatting fixes.
-	(noce_try_minmax, noce_try_abs): Clear rev_cond.
-	(noce_find_if_block): Initialize rev_cond.
-	(find_cond_trap): Call noce_get_condition with then_bb == trap_bb
-	instead of false as last argument never attempt to reverse it
-	afterwards.
-
-2017-02-23  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/79663
-	* tree-predcom.c (combine_chains): Process refs in reverse order
-	only for ZERO length chains, and add explaining comment.
-
-2017-02-23  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/79578
-	* tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF
-	in call to operand_equal_p.
-
-2017-01-23  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR target/71017
-	* config/i386/cpuid.h: Fix another undefined behavior.
-
-2017-02-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79683
-	* tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite
-	vector types for data-refs.
-
-2017-02-23  Martin Liska  <mliska@suse.cz>
-
-	* params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0.
-
-2017-02-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/79665
-	* internal-fn.c (get_range_pos_neg): Moved to ...
-	* tree.c (get_range_pos_neg): ... here.  No longer static.
-	* tree.h (get_range_pos_neg): New prototype.
-	* expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments
-	are known to be in between 0 and signed maximum inclusive, try to
-	expand both unsigned and signed divmod and use the cheaper one from
-	those.
-
-2017-02-22  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/79578
-	* tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p
-	to compare base operands.
-
-2017-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/79211
-	* config/rs6000/rs6000.md (*fsel<SFDF:mode><SFDF2:mode>4): Use
-	gpc_reg_operand instead of fpr_reg_operand.
-
-2017-02-22  Sameera Deshpande  <sameera.deshpande@imgtec.com>
-
-	* config/mips/mips.c (mips_return_in_memory): Force FP
-	vector types to be returned in memory for o32 ABI.
-
-2017-02-22  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable
-	instead of DW_TAG_member for static data member declarations and don't
-	set no_linkage_name for static inline data members.
-	(gen_member_die): For -gdwarf-5 don't change DW_TAG_variable
-	to DW_TAG_member.
-
-2017-02-22  Martin Liska  <mliska@suse.cz>
-
-	* doc/invoke.texi: Replace inequality signs with square brackets
-	for -Wnormalized.
-
-2017-02-22  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	PR target/78660
-	* lra-constraints.c (simplify_operand_subreg): Handle
-	WORD_REGISTER_OPERATIONS targets.
-
-2017-02-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70465
-	* reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F))
-	and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1)
-	elimination by swapping fld*.
-
-2017-02-22  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79673
-	* tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to
-	convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off
-	irrelevant address-space qualifiers and avoiding a
-	ADDR_SPACE_CONVERT_EXPR from fold_convert.
-
-2017-02-22  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79666
-	* tree-vrp.c (extract_range_from_binary_expr_1): Make sure
-	to not symbolically negate if that may introduce undefined
-	overflow.
-
-2017-02-22  Martin Liska  <mliska@suse.cz>
-
-	PR lto/79587
-	* data-streamer-in.c (streamer_read_gcov_count): Remove assert.
-	* data-streamer-out.c (streamer_write_gcov_count_stream):
-	Likewise.
-	* value-prof.c (stream_out_histogram_value): Make assert more
-	precise based on type of counter.
-
-2017-02-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/79593
-	* config/i386/i386.md (standard_x87sse_constant_load splitter):
-	Use nonimmediate_operand instead of memory_operand for operand 1.
-	(float-extend standard_x87sse_constant_load splitter): Ditto.
-
-2017-02-21  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/79621
-	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore
-	blocks with edges to themselves.
-
-2017-02-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79633
-	* tree-chkp-opt.c (chkp_optimize_string_function_calls): Use
-	is_gimple_call instead of comparing gimple_code with GIMPLE_CALL.
-	Use gimple_call_builtin_p.
-
-	PR target/79570
-	* sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
-	on temporarily removed DEBUG_INSNs.
-
-	PR tree-optimization/79649
-	* tree-loop-distribution.c (classify_partition): Give up on
-	non-generic address space loads/stores.
-
-2017-02-21  Aldy Hernandez  <aldyh@redhat.com>
-
-	* doc/loop.texi (Loop manipulation): Remove nonexistent
-	tree_ssa_loop_version from the documentation.
-	* cfgloopmanip.c (loop_version): Document CONDITION_BB argument.
-
-2017-02-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79494
-	* config/i386/i386.c (ix86_expand_split_stack_prologue): Call
-	make_reg_eh_region_note_nothrow_nononlocal on call_insn.
-	* config/rs6000/rs6000.c: Include except.h.
-	(rs6000_expand_split_stack_prologue): Call
-	make_reg_eh_region_note_nothrow_nononlocal on the call insn.
-
-2017-02-21  Martin Jambor  <mjambor@suse.cz>
-
-	PR lto/79579
-	* ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
-	have been analyzed.
-
-2017-02-21  Martin Jambor  <mjambor@suse.cz>
-
-	* common.opt (-fipa-cp-alignment): Mark as ignored and preserved
-	for backward compatibility only.
-	* doc/invoke.texi (Option Summary): Remove all references to
-	-fipa-cp-alignment.
-
-2017-02-21  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	PR target/78660
-	Revert:
-	2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* lra-constraints.c (curr_insn_transform): Handle
-	WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
-
-2017-02-21  Martin Liska  <mliska@suse.cz>
-
-	* config/i386/i386.opt: Replace -masm-dialect with -masm.
-
-2017-02-21  Thomas Schwinge  <thomas@codesourcery.com>
-
-	PR translation/79638
-	* config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".
-
-2017-02-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/67205
-	* config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
-	(arm_function_ok_for_sibcall): Return false for an indirect call by
-	descriptor if all the argument registers are used.
-	(arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the
-	alignment of the function.
-
-2017-02-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/61441
-	* simplify-rtx.c (simplify_const_unary_operation): For
-	-fsignaling-nans and sNaN operand, return NULL_RTX rather than
-	the sNaN unmodified.
-
-2017-02-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
-	(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
-	instead of SYSTEM_HEADER_DIR.
-
-2017-02-20  Gerald Pfeifer  <gerald@pfeifer.com>
-	    Martin Liška  <mliska@suse.cz>
-
-	* doc/invoke.texi (use-after-scope-direct-emission-threshold):
-	Fix typos and grammar, use active voice, and clarify.
-
-2017-02-20  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/79537
-	* gimplify.c (gimplify_expr): Handle unused *&&L;.
-
-	PR sanitizer/79558
-	* ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
-
-2017-02-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79568
-	* config/i386/i386.c (ix86_expand_builtin): Handle
-	OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
-	ix86_builtins_isa[fcode].isa as a requirement of those
-	flags and any other flag in the bitmask.
-	(ix86_init_mmx_sse_builtins): Use 0 instead of
-	~OPTION_MASK_ISA_64BIT as mask.
-	* config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
-	__builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
-	__builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
-	__builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.
-
-2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	PR target/78012
-	* lra-constraints.c (split_reg): Check requested split mode
-	is supported by the register.
-
-2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* lra-constraints.c (simplify_operand_subreg): Remove early
-	return false.
-
-2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	PR target/78660
-	* lra-constraints.c (curr_insn_transform): Tighten condition
-	for converting SUBREG reloads from OP_OUT to OP_INOUT.
-
-2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	PR target/78660
-	* lra-constraints.c (curr_insn_transform): Handle
-	WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
-
-2017-02-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	Revert:
-	2016-05-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
-
-2017-02-19  Jonathan Wakely  <jwakely@redhat.com>
-
-	PR c++/69523
-	* doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
-	description.
-
-2017-02-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
-	for FMA_EXPR.
-
-2017-02-18  Jakub Jelinek  <jakub@redhat.com>
-
-	* final.c (last_columnnum, override_columnnum): New variables.
-	(final_start_function): Set last_columnnum, pass it to begin_prologue
-	hook and pass 0 to dwarf2out_begin_prologue.
-	(final_scan_insn): Update override_columnnum.  Pass last_columnnum
-	to source_line debug hook.
-	(notice_source_line): Compute last_columnnum and for debug_column_info
-	return true on column changes.
-	* debug.h (struct gcc_debug_hooks): Add column argument to
-	source_line and begin_prologue hooks.
-	(debug_nothing_int_charstar_int_bool): Remove prototype.
-	(debug_nothing_int_int_charstar,
-	debug_nothing_int_int_charstar_int_bool): New prototypes.
-	(dwarf2out_begin_prologue): Add column argument.
-	* debug.c (do_nothing_debug_hooks): Adjust source_line and
-	begin_prologue hooks.
-	(debug_nothing_int_charstar_int_bool): Remove.
-	(debug_nothing_int_int_charstar,
-	debug_nothing_int_int_charstar_int_bool): New functions.
-	* dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
-	through to dwarf2out_source_line.
-	(dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
-	(dwarf2out_source_line): Add column argument, emit it if requested.
-	* sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
-	arguments.
-	* xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
-	* xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
-	* vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
-	through to dwarf2out_begin_prologue.
-	(vmsdbgout_source_line): Add column argument, pass it through to
-	dwarf2out_source_line.
-	* dbxout.c (dbxout_begin_prologue): Add column argument, adjust
-	dbxout_source_line caller.
-	(dbxout_source_line): Add column argument.
-
-	* common.opt (gno-column-info, gcolumn-info): New options.
-	* dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
-	(check_die): Also test for multiple DW_AT_decl_column attributes.
-	(add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
-	DW_AT_decl_column if requested.
-	(gen_subprogram_die): Compare and/or add also DW_AT_decl_column
-	if requested.
-	(gen_variable_die): Likewise.
-	(add_call_src_coords_attributes): Add DW_AT_call_column if requested.
-	* doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.
-
-	PR target/79569
-	* config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
-	(ix86_handle_option): Handle OPT_m3dnowa.
-	* doc/invoke.texi (-m3dnowa): Document.
-	* doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
-	-m3dnowa instead of -m3dnow -march=athlon.
-
-	PR target/79559
-	* config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
-	instead of gcc_assert for K, r and R code checks.  Formatting fixes.
-
-2017-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/79261
-	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
-	support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
-	* config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
-	generator for vsx_xxpermdi_<mode>_be.
-	* config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
-	force big-endian semantics.
-	(vsx_xxpermdi_<mode>_be): New define_expand with same
-	implementation as previous version of vsx_xxpermdi_<mode>.
-
-2017-02-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79327
-	* gimple-ssa-sprintf.c (format_integer): Remove likely_adjust
-	variable, its initialization and use.
-
-2017-02-17  Julia Koval  <julia.koval@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
-	(OPTION_MASK_ISA_PKU_UNSET): New.
-	(ix86_handle_option): Handle -mrdpid.
-	* config/i386/cpuid.h (bit_RDPID): New.
-	* config/i386/driver-i386.c (host_detect_local_cpu):
-	Detect RDPID feature.
-	* config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
-	* config/i386/i386-c.c (ix86_target_macros_internal):
-	Handle RDPID flag.
-	* config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
-	(ix86_valid_target_attribute_inner_p): Add "rdpid".
-	(ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
-	* config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
-	* config/i386/i386.md (define_insn "rdpid"): New.
-	* config/i386/i386.opt Add -mrdpid.
-	* config/i386/immintrin.h (_rdpid_u32): New.
-
-2017-02-17  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/79541
-	* lra-constraints.c (curr_insn_transform): Remove wrong asm insn
-	instead of transforming it into USE.
-
-2017-02-17  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
-	If HONOR_SNANS (SFmode) force the input to a register.
-	(*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition.
-	(*extendsfdf2_snan): New pattern, used when using SNaNs; it generates
-	an frsp or similar insn.
-
-2017-02-17  Martin Liska  <mliska@suse.cz>
-
-	PR rtl-optimization/79577
-	* params.def (selsched-max-sched-times): Increase minimum to 1.
-
-2017-02-17  Martin Liska  <mliska@suse.cz>
-
-	PR rtl-optimization/79574
-	* gcse.c (want_to_gcse_p): Prevent integer overflow.
-
-2017-02-17  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/79529
-	* tree-ssa-loop-unswitch.c (is_maybe_undefined): Use
-	ssa_defined_default_def_p to handle cases which are implicitly
-	defined.
-	* tree-ssa.c (ssa_defined_default_def_p): New function.
-	(ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases
-	which are implicitly defined.
-	* tree-ssa.h (ssa_defined_default_def_p): Declare.
-
-2017-02-17  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/79576
-	* params.def (max-ssa-name-query-depth): Limit to 10.
-
-2017-02-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79552
-	* tree-ssa-structalias.c (visit_loadstore): Properly verify
-	default defs.
-
-2017-02-17  Richard Biener  <rguenther@suse.de>
-
-	PR bootstrap/79567
-	* genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2.
-
-2017-02-17  Marek Polacek  <polacek@redhat.com>
-
-	PR middle-end/79536
-	* fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
-	(fold_negate_expr): New wrapper.
-
-2017-02-16  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]: 
-	Correct terminology and de-emphasize pre-standard behavior.
-
-2017-02-16  Alan Modra  <amodra@gmail.com>
-
-	PR rtl-optimization/79286
-	* ira.c (def_dominates_uses): New function.
-	(update_equiv_regs): Don't create an equivalence for insns that
-	may trap where the register def does not dominate the use.
-
-2017-02-16  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/78127
-	* lra.c (lra): Call lra_eliminate before finish the loop after
-	lra_constraint.
-
-2017-02-16  Richard Biener  <rguenther@suse.de>
-
-	* graphite.h: Do not include isl/isl_val_gmp.h, instead include
-	isl/isl_val.h.
-	* graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
-	(gcc_expression_from_isl_expr_int): Use generic isl_val interface.
-	* graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
-	(isl_val_int_from_wi): New function.
-	(extract_affine_gmp): Rename to ...
-	(extract_affine_wi): ... this, take a widest_int.
-	(extract_affine_int): Just wrap extract_affine_wi.
-	(add_param_constraints): Use isl_val_int_from_wi.
-	(add_loop_constraints): Likewise, and extract_affine_wi.
-
-2017-02-15  Jeff Law  <law@redhat.com>
-
-	PR middle-end/79521
-	* ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling
-	ira_init_register_move_cost_if_necessary.
-
-2017-02-15  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/32003
-	* doc/invoke.texi (-fdump-final-insns): Replace option accidentally
-	removed in a prior commit.
-
-2017-02-15  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/79347
-	* tree-vect-loop-manip.c (vect_do_peeling): Maintain profile
-	counters during peeling.
-
-2017-02-15  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* Makefile.in (site.exp): Remove "set ISLVER".
-
-2017-02-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79487
-	* real.c (real_from_integer): Call real_convert even for decimal.
-
-2017-02-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR target/79421
-	* config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
-
-2017-02-14  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C"
-	cores and change the partno/implementer to be correct.
-	(thunderx2t99p1): New core which replaces thunderx2t99 and still has
-	the 'B" as the implementer.
-	* config/aarch64/aarch64-tune.md: Regenerate.
-
-2017-02-14  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000.c: Add case statement entry to make the
-	xvcvuxdsp built-in argument unsigned.
-	* config/rs6000/vsx.md: Fix the source and return operand types so they
-	match the instruction definitions from the ISA document.  Fix typo
-	in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
-	statement.
-
-2017-02-14  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/79282
-	* lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
-	member early_clobber_alts.
-	* lra-lives.c (reg_early_clobber_p): New.
-	(process_bb_lives): Use it.
-	* lra.c (new_insn_reg): New arg early_clobber_alts.  Use it.
-	(debug_operand_data): Initialize early_clobber_alts.
-	(setup_operand_alternative): Set up early_clobber_alts.
-	(collect_non_operand_hard_regs): Ditto.  Pass early clobber
-	alternatives to new_insn_reg.
-	(add_regs_to_insn_regno_info): Add arg early_clobber_alts.  Use
-	it.
-	(lra_update_insn_regno_info): Pass the new arg.
-
-2017-02-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/79505
-	* omp-offload.c (free_oacc_loop): Release loop->ifns vector.
-	(new_oacc_loop_raw): Don't clear already cleared fields.
-
-	PR target/79481
-	* config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
-	_mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
-	_mm512_prefetch_i64gather_ps): New inline functions and macros.
-
-2017-02-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/79495
-	* config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.
-
-2017-02-14  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/79498
-	* config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
-	the extra instruction to the right place to store 128-bit constant
-	when needed.
-
-2017-02-14  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/79448
-	* gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX
-	  warning for strings of unknown length.
-
-2017-02-13  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config.gcc (supported_defaults) [powerpc*-*-*]: Update.
-
-2017-02-14  Jeff Law  <law@redhat.com>
-
-	PR target/79404
-	* ira-costs.c (scan_one_insn): Initialize register move costs
-	for pseudos seen in USE/CLOBBER insns.
-
-	PR tree-optimization/79095
-	* tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
-	if the numerator has the range ~[0,0] make the resultant range ~[0,0].
-	(extract_range_from_binary_expr): For MINUS_EXPR with no derived range,
-	if the operands are known to be not equal, then the resulting range
-	is ~[0,0].
-	(intersect_ranges): If the new range is ~[0,0] and the old range is
-	wide, then prefer ~[0,0].
-	* tree-vrp.c (overflow_comparison_p_1): New function.
-	(overflow_comparison_p): New function.
-	* tree-vrp.c (register_edge_assert_for_2): Register additional asserts
-	if NAME is used in an overflow test.
-	(vrp_evaluate_conditional_warnv_with_ops): If the ops represent an
-	overflow check that can be expressed as an equality test, then adjust
-	ops to be that equality test.
-
-2017-02-14  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-builtin-types.def: Remove flags argument.
-	* config/s390/s390.c (s390_init_builtins): Likewise.
-
-2017-02-14  Martin Liska  <mliska@suse.cz>
-
-	* tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
-	vector.  Fix trailing white spaces.
-
-2017-02-14  James Greenhalgh  <james.greenhalgh@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
-	HFmode.
-
-2017-02-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/68664
-	* config/arm/arm.c (arm_sched_can_speculate_insn):
-	New function.  Declare prototype.
-	(TARGET_SCHED_CAN_SPECULATE_INSN): Define.
-
-2017-02-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR rtl-optimization/68664
-	* config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn):
-	New function.
-	(TARGET_SCHED_CAN_SPECULATE_INSN): Define.
-
-2017-02-14  Amit Pawar  <amit.pawar@amd.com>
-
-	* config/i386/i386.c (znver1_cost): Fix the alignment for function and
-	max skip bytes for function, loop and jump.
-
-2017-02-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* gimple-pretty-print.c (dump_unary_rhs): Adjust dump format for
-	ABS_EXPR for gimple dump.
-
-2017-02-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79462
-	* config/sh/sh.c (expand_cbranchdi4): Don't clear operands[4].
-
-	PR tree-optimization/79408
-	* tree-vrp.c (simplify_div_or_mod_using_ranges): Handle also the
-	case when on TRUNC_MOD_EXPR op0 is INTEGER_CST.
-	(simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
-	also if rhs1 is INTEGER_CST.
-
-2017-02-14  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/79432
-	* tree-into-ssa.c (insert_phi_nodes): When the function can
-	have abnormal edges rewrite SSA names with broken use-def
-	dominance out of SSA and register them for PHI insertion.
-
-2017-02-13  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/79496
-	* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid
-	clearing info.nowrite flag when snprintf size argument is a range.
-
-2017-02-13  Jakub Jelinek  <jakub@redhat.com>
-
-	* cprop.c (cprop_jump): Add missing space in string literal.
-	* tree-ssa-structalias.c (rewrite_constraints): Likewise.
-	(get_constraint_for_component_ref): Likewise.
-	* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
-	* tree-outof-ssa.c (insert_partition_copy_on_edge): Likewise.
-	* lra-constraints.c (process_alt_operands): Likewise.
-	* ipa-inline.c (inline_small_functions): Likewise.
-	* tree-ssa-sccvn.c (visit_reference_op_store): Likewise.
-	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
-	* trans-mem.c (diagnose_tm_1_op): Likewise.
-	* omp-grid.c (grid_find_single_omp_among_assignments): Likewise.
-	(grid_parallel_clauses_gridifiable): Likewise.
-
-	* config/nvptx/mkoffload.c (process): Add space in between
-	, and %d.
-
-	* config/i386/i386.h (REG_CLASS_NAMES): Add , in between
-	"MOD4_SSE_REGS" and "ALL_REGS".
-
-	* spellcheck.c (test_data): Add , in between "foo" and "food".
-
-2017-02-13  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/79449
-	* config/rs6000/rs6000.c (expand_block_compare): Make sure runtime
-	boundary crossing check and subsequent code generation agree.
-
-2017-02-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.c (has_memory_op): Delete.
-	(aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of
-	has_memory_op.
-
-2017-02-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/79388
-	PR rtl-optimization/79450
-	* combine.c (distribute_notes): When removing TEM_INSN for which
-	corresponding dest has last value recorded, invalidate that last
-	value.
-
-2017-02-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead
-	of explicit '@'.  Add missing assembly comment marker on branch costs
-	printout.
-
-2017-02-13  Nathan Sidwell  <nathan@acm.org>
-
-	* gengtype-lex.l (<in_struct>): Add '/'.
-
-2017-02-13  Martin Liska  <mliska@suse.cz>
-
-	PR c/79471
-	* calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC.
-
-2017-02-13  Richard Biener  <rguenther@suse.de>
-
-	* configure.ac (HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS):
-	Remove.
-	* configure: Re-generate.
-	* config.in: Likewise.
-	* graphite-dependences.c: Simplify as if
-	HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS was defined.
-	* graphite-isl-ast-to-gimple.c: Likewise.
-	* graphite-optimize-isl.c: Likewise.
-	* graphite-poly.c: Likewise.
-	* graphite-sese-to-poly.c: Likewise.
-	* graphite.h: Likewise.
-	* toplev.c: Include isl/version.h and use isl_version () for
-	printing the ISL version.
-	* doc/install.texi: Update ISL requirement.
-
-2017-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/standards.texi (Standards): Update reference to
-	Objective-C 2.0.
-
-2017-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/extend.texi (Named Address Spaces): sourceware.org now
-	defaults to https.
-	* doc/install.texi (Binaries): Ditto.
-	(Specific): Ditto.
-
-2017-02-11  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/cpp.texi: Replace "stringify"/"stringification" with C
-	standard terminology "stringize"/"stringizing" throughout.
-	* doc/cppinternals.texi: Likewise.
-
-2017-02-11  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/extend.texi: Fix some spelling mistakes and typos.
-	* doc/invoke.texi: Likewise.
-
-2017-02-11  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/79224
-	* params.def (inline-min-speedup) Change from 10 to 8.
-
-2017-02-11  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to
-	4.5.
-
-2017-02-11  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/79224
-	* ipa-inline-analysis.c (get_minimal_bb): New function.
-	(record_modified): Use it.
-	(remap_edge_change_prob): Handle also ancestor functions.
-
-2017-02-11  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/contrib.texi (Contributors): Remove broken link into
-	the Mauve CVS repository.
-
-2017-02-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/79454
-	* internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise
-	result computation whenever lhs doesn't have vector mode, not
-	just when it has BLKmode.
-
-2017-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/makefile.texi (profiledbootstrap): Refer to the
-	installation instructions only in textual form.
-
-2017-02-10  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/79295
-	* config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints.
-
-2017-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific): Use https for blackfin.uclinux.org.
-	(Specific): Update mingw-w64 reference.
-	(Binaries): Ditto.
-	(Specific): Remove broken link to Renesas RX processor.
-
-2017-02-10  Richard Biener  <rguenther@suse.de>
-
-	* toplev.c (process_options): Do not mention obsolete graphite
-	options when printing sorry message about missing graphite support.
-	Mention -floop-nest-optimize.
-
-2017-02-10  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm.
-	(vtst_p16): Likewise.
-	(vtstq_p8): Likewise.
-	(vtstq_p16): Likewise.
-	(vtst_p64): New.
-	(vtstq_p64): Likewise.
-	* config/arm/arm_neon.h (vgetq_lane_p64): New.
-	(vset_lane_p64): New.
-	(vsetq_lane_p64): New.
-
-2017-02-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79411
-	* tree-ssa-reassoc.c (is_reassociable_op): Return false if
-	stmt operands are SSA_NAMEs used in abnormal phis.
-	(can_reassociate_p): Return false if op is SSA_NAME used in abnormal
-	phis.
-
-2017-02-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/70795
-	* cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
-	flag if needed.
-
-2017-02-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-loop-unswitch.c (hoist_guard): Update profile.
-
-2017-02-09  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
-	to avoid warning.
-
-	PR c/79413
-	* gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants,
-	not arbitrary TREE_CONSTANT.
-
-	PR c/79431
-	* gimplify.c (gimplify_adjust_omp_clauses): Ignore
-	"omp declare target link" attribute unless is_global_var.
-	* omp-offload.c (find_link_var_op): Likewise.
-
-2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
-	    Chung-Lin Tang  <cltang@codesourcery.com>
-
-	* gimplify.c (gimplify_scan_omp_clauses): No special handling for
-	OMP_CLAUSE_TILE.
-	(gimplify_adjust_omp_clauses): Don't delete TILE.
-	(gimplify_omp_for): Deal with TILE.
-	* internal-fn.c (expand_GOACC_TILE): New function.
-	* internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
-	(GOACC_TILE): New.
-	* omp-expand.c (struct oacc_collapse): Add tile and outer fields.
-	(expand_oacc_collapse_init): Add LOC paramter.  Initialize tile
-	element fields.
-	(expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
-	avoid DIV for outermost collapse var.
-	(expand_oacc_for): Insert tile element loop as needed.  Adjust.
-	Remove out of date comments, fix whitespace.
-	* omp-general.c (omp_extract_for_data): Deal with tiling.
-	* omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
-	adjust OLF_DIM_BASE value.
-	(struct omp_for_data): Add tiling field.
-	* omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
-	(lower_oacc_head_mark): Add OLF_TILE as appropriate.  Ensure 2 levels
-	for auto loops.  Remove default auto determining, moved to
-	oacc_loop_fixed_partitions.
-	* omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
-	stmts, add e_mask field.
-	(oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
-	(oacc_thread_numbers): Use oacc_dim_call.
-	(oacc_xform_tile): New.
-	(new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
-	(finish_oacc_loop): Adjust for ifns vector.
-	(oacc_loop_discover_walk): Append loop abstraction sites to list,
-	add case for GOACC_TILE fns.
-	(oacc_loop_xform_loop): Delete.
-	(oacc_loop_process): Iterate over call list directly, and add
-	handling for GOACC_TILE fns.
-	(oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
-	dump partitioning.
-	(oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
-	vector partitioning to outer loops.  Assign 2 partitions to loops
-	when available. Add TILE handling.
-	(oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
-	(execite_oacc_device_lower): Process GOACC_TILE fns,
-	ignore unknown specs.
-	* tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
-	* tree.c (omp_clause_num_ops): Adjust TILE ops.
-	* tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.
-
-2017-02-09  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* configure.ac (ACX_BUGURL): Update.
-	* configure: Regenerate.
-
-2017-02-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69823
-	* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
-	Properly enumerate all BBs in the region.  Use auto_vec/auto_bitmap.
-
-2017-02-09  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc-c.def: Add __NPS400__ definition.
-	* config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here.
-	(TARGET_NPS400): Define.
-
-2017-02-09  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in
-	file.
-	(arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t
-	pointer, arch_info.
-	(arc_cpu_types): Fill the arch_info field with a pointer into the
-	arc_arch_types table.
-	(arc_selected_cpu): Declare.
-	* config/arc/arc.c (arc_selected_cpu): Make global.
-	(arc_selected_arch): Delete.
-	(arc_base_cpu): Delete.
-	(arc_override_options): Remove references to deleted variables,
-	update access to arch information.
-	(ARC_OPT): Update access to arch information.
-	(ARC_OPTX): Likewise.
-	* config/arc/arc.h (arc_base_cpu): Remove declaration.
-	(TARGET_ARC600): Update access to arch information.
-	(TARGET_ARC601): Likewise.
-	(TARGET_ARC700): Likewise.
-	(TARGET_EM): Likewise.
-	(TARGET_HS): Likewise.
-	* config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch
-	information.
-
-2017-02-08  Pat Haugen  <pthaugen@us.ibm.com>
-
-	PR target/78604
-	* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert
-	condition/operands for integer GE/LE/GEU/LEU operations.
-
-2017-02-08  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR translation/79397
-	* config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
-	of AltiVec.
-
-2017-02-08  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/79375
-	* ipa-prop.c (ipa_alloc_node_params): Make static, return bool
-	whether allocation happened.
-	(ipa_initialize_node_params): Do not call ipa_alloc_node_params if
-	nothing was allocated.
-
-2017-02-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79408
-	* tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not
-	constant, but SSA_NAME with a known integer range, use the minimum
-	of that range instead of op1 to determine if modulo can be replaced
-	with its first operand.
-
-2016-02-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX.
-
-2017-02-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71824
-	* graphite-scop-detection.c (scop_detection::build_scop_breadth):
-	Check all loops contained in the merged region.
-
-2017-02-07  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64.md (popcount<mode>2): New pattern.
-
-2017-02-07  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-cores.def (thunderx): Disable LSE.
-	(thunderxt88): Likewise.
-	(thunderxt81): Disable LSE and change v8.1 to v8.
-	(thunderxt83): Likewise.
-
-2017-02-07  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/79399
-	* ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
-	type from int to size_t.
-	* ira-costs.c (struct_costs_size): Change type from int to size_t.
-
-2017-02-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/79386
-	* cprop.c (bypass_conditional_jumps): Initialize
-	bypass_last_basic_block already before splitting bbs after
-	unconditional traps...
-	(bypass_conditional_jumps): ... rather than here.
-
-	PR target/79299
-	* config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs.
-	(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2,
-	*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them,
-	fix -masm=intel patterns.
-
-2017-02-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79256
-	PR middle-end/79278
-	* builtins.c (get_object_alignment_2): Use min_align_of_type
-	to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT
-	and ADJUST_FIELD_ALIGN.
-
-	* doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional
-	type parameter.
-	* doc/tm.texi: Regenerate.
-	* stor-layout.c (layout_decl): Adjust.
-	(update_alignment_for_field): Likewise.
-	(place_field): Likewise.
-	(min_align_of_type): Likewise.
-	* config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust.
-	* config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise.
-	* config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise.
-	* config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise.
-	* config/frv/frv.c (frv_adjust_field_align): Likewise.
-	* config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise.
-	* config/i386/i386.c (x86_field_alignment): Likewise.
-	* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
-	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
-	* config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
-	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
-	* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise.
-	* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
-	 Likewise.
-
-	Revert
-	2017-01-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79256
-	* targhooks.c (default_builtin_vector_alignment_reachable): Honor
-	BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
-	alignment on TYPE.
-
-2017-02-07  Toma Tabacu  <toma.tabacu@imgtec.com>
-
-	* config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode
-	argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw
-	builtins to SImode and emit a zero-extend, if necessary.
-
-2017-02-06  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	* docs/invoke.texi (RISC-V Options): Alphabetize.
-
-2017-02-06  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	* doc/invoke.texi (RISC-V Options): Use two spaces to separate
-	options.
-
-2017-02-06  Palmer Dabbelt  <palmer@dabbelt.com>
-
-	* config/riscv/riscv.c: New file.
-	* common/config/riscv/riscv-common.c: Likewise.
-	* config.gcc: Likewise.
-	* config/riscv/constraints.md: Likewise.
-	* config/riscv/elf.h: Likewise.
-	* config/riscv/generic.md: Likewise.
-	* config/riscv/linux.h: Likewise.
-	* config/riscv/multilib-generator: Likewise.
-	* config/riscv/peephole.md: Likewise.
-	* config/riscv/pic.md: Likewise.
-	* config/riscv/predicates.md: Likewise.
-	* config/riscv/riscv-builtins.c: Likewise.
-	* config/riscv/riscv-c.c: Likewise.
-	* config/riscv/riscv-ftypes.def: Likewise.
-	* config/riscv/riscv-modes.def: Likewise.
-	* config/riscv/riscv-opts.h: Likewise.
-	* config/riscv/riscv-protos.h: Likewise.
-	* config/riscv/riscv.h: Likewise.
-	* config/riscv/riscv.md: Likewise.
-	* config/riscv/riscv.opt: Likewise.
-	* config/riscv/sync.md: Likewise.
-	* config/riscv/t-elf-multilib: Likewise.
-	* config/riscv/t-linux: Likewise.
-	* config/riscv/t-linux-multilib: Likewise.
-	* config/riscv/t-riscv: Likewise.
-	* configure.ac: Likewise.
-	* doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
-	Waterman as RISC-V maintainers.
-	* doc/install.texi: Add RISC-V entries.
-	* doc/invoke.texi: Add RISC-V options section.
-	* doc/md.texi: Add RISC-V constraints section.
-	* configure: Regenerated.
-
-2017-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/66144
-	* config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
-	false values to be constant vectors with all 0 or all 1 bits set.
-	(vcondu<mode><mode>): Likewise.
-	* config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
-	predicate.
-	(fpmask_comparison_operator): Update comment.
-	(vecint_comparison_operator): New predicate.
-	* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
-	vector conditionals when the true and false values are constant
-	vectors with all 0 bits or all 1 bits set.
-
-2017-02-06  Martin Sebor  <msebor@redhat.com>
-
-	PR  tree-optimization/79376
-	* gimple-fold.c (get_range_strlen): Set the minimum length to zero.
-
-2017-02-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (vector modes -> vec_extract* splitter): Use
-	explicit subreg RTX with operand 1.  Use VECTOR_MODE_P predicate
-	to simplify split condition.
-
-2017-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp-expand.c (oxpand_omp_atomic_fetch_op,
-	expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
-	false.
-
-2017-02-06  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/68664
-	* target.def (can_speculate_insn): New hook.
-	* doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
-	* doc/tm.texi: Regenerate.
-	* sched-rgn.c (can_schedule_ready_p): Use the new hook.
-	* config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
-	(rs6000_sched_can_speculate_insn): New function.
-
-2017-02-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79284
-	* tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
-	* tree-vect-stmts.c (vect_get_vec_def_for_operand,
-	vectorizable_mask_load_store, vectorizable_operation,
-	vect_is_simple_cond, get_same_sized_vectype): Use it instead
-	of comparing TREE_CODE of a type against BOOLEAN_TYPE.
-	* tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
-	vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
-	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
-	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
-	Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
-	is_gimple_assign (stmt).  Replace another such test with
-	is_gimple_assign (stmt).
-
-2017-02-06  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/78883
-	* config/avr/avr.c (rtl-iter.h): Include it.
-	(TARGET_LEGITIMATE_COMBINED_INSN): New hook define...
-	(avr_legitimate_combined_insn): ...and implementation.
-
-2017-02-06  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/predicates.md ("larl_operand"): Use macros from hwint.h.
-	* config/s390/s390.c (s390_const_operand_ok)
-	(s390_canonicalize_comparison, s390_extract_part)
-	(s390_single_part, s390_contiguous_bitmask_nowrap_p)
-	(s390_contiguous_bitmask_p, s390_rtx_costs)
-	(legitimize_pic_address): Likewise.
-	* config/s390/s390.md ("clzdi2", "clztidi2"): Likewise.
-	* config/s390/vx-builtins.md ("vec_genbytemaskv16qi")
-	("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>")
-	("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT.
-	* config/s390/vector.md ("vec_vfenes<mode>"): Likewise.
-
-2017-02-06  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.md (*addhi3_zero_extend): Add alternative where
-	REGNO($0) == REGNO($1).
-
-2017-02-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/linux.h(SIZE_TYPE): Add comment.
-
-2017-02-06  Julian Brown  <julian@codesourcery.com>
-	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-	    Virendra Pathak  <virendra.pathak@broadcom.com>
-
-	* config/aarch64/aarch64-cores.def: Change the scheduler
-	to Thunderx2t99.
-	* config/aarch64/aarch64.md: Include thunderx2t99.md.
-	* config/aarch64/thunderx2t99.md: New file.
-
-2017-02-05  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/standards.texi (Go Language): Update link to language
-	standard.
-
-2017-02-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-eh.c (lower_resx): Sanitize profile.
-	(cleanup_empty_eh_move_lp): Likewise.
-
-2017-02-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR tree-ssa/79347
-	* cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add
-	ELSE_PROB.
-	* cfgloopmanip.h (loop_version): Update prototype.
-	* modulo-sched.c (sms_schedule): Update call of loop_version.
-	* tree-if-conv.c(version_loop_for_if_conversion): Likewise.
-	* tree-parloops.c (gen_parallel_loop): Likewise.
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
-	* tree-ssa-loop-split.c (split_loop): Likewise.
-	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise.
-	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
-
-2017-02-05  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/78985
-	* config/s390/s390.c (s390_gimplify_va_arg): Initialize local
-	variable to NULL.
-	(print_operand_address): Initialize a struct to zero.
-
-2017-02-05  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/contrib.texi (Contributors): Refer to Hans Boehm's
-	garbage collector only in textual form.
-
-2017-02-05  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/extend.texi (x86 specific memory model extensions for
-	transactional memory): Simplify a phrase.
-
-2017-02-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/79353
-	* config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with
-	'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32.
-	(atomic_storedi_1): Likewise.
-
-2017-02-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79338
-	* tree-parloops.c (gather_scalar_reductions): Don't call
-	vect_analyze_loop_form for loop->inner before destroying loop's
-	loop_vinfo.
-
-2017-02-03  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/79327
-	* gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix
-	when precision has resulted in leading zeros.
-	(format_integer): Adjust the likely counter to assume an unknown
-	argument that may be zero is non-zero.
-
-2017-02-03  Jason Merrill  <jason@redhat.com>
-
-	PR c++/78689
-	* tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to
-	avoid copying non-taken branch.
-
-2017-02-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79340
-	* tree-vect-loop.c (vectorizable_reduction): Release
-	vec_defs elements after safe_splicing them into other vectors.
-	Formatting fixes.
-
-	PR tree-optimization/79327
-	* gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning
-	true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of
-	dirtype.
-	(format_integer): Use wide_int_to_tree instead of build_int_cst
-	+ to_?hwi.  If argmin is NULL, just set argmin and argmax to
-	TYPE_{MIN,MAX}_VALUE of argtype.  Simplify and fix computation
-	of shortest and longest sequence.
-
-2017-02-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (dimode_scalar_chain::convert_reg):
-	Use pextrd for TARGET_SSE4_1 when creating scalar copy.
-
-2017-02-03  Walter Lee  <walt@tilera.com>
-
-	PR target/78862
-	* config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
-	after initial stackframe link reg save.
-	* config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
-
-2017-02-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79354
-	* config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of
-	wu for stxssp alternative.
-
-2017-02-03  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/79352
-	* gimple-fold.c (get_range_strlen): Add argument.
-	(get_range_strlen): Change return type to bool.
-	(get_maxval_strlen): Pass in a dummy argument.
-	* gimple-fold.h (get_range_strlen): Change return type to bool.
-	* gimple-ssa-sprintf.c (get_string_length): Set unlikely counter.
-	* tree.h (array_at_struct_end_p): Add argument.
-	* tree.c (array_at_struct_end_p): Handle it.
-
-2017-02-03  Martin Liska  <mliska@suse.cz>
-
-	PR lto/66295
-	* multiple_target.c (create_dispatcher_calls): Redirect edge
-	from a caller of a dispatcher.
-	(expand_target_clones): Make the clones local.
-	(ipa_target_clone): Do both target clones and resolvers.
-	(ipa_dispatcher_calls): Remove the pass.
-	(pass_dispatcher_calls::gate): Likewise.
-	(make_pass_dispatcher_calls): Likewise.
-	* passes.def (pass_target_clone): Put as very first IPA early
-	pass.
-
-2017-02-03  Martin Liska  <mliska@suse.cz>
-
-	* symtab.c (symtab_node::binds_to_current_def_p): Bail out
-	in case of a function with ifunc attribute.
-
-2017-02-03  Martin Liska  <mliska@suse.cz>
-
-	* cgraph.c (cgraph_node::dump): Dump function version info.
-	* symtab.c (symtab_node::dump_base): Add missing new line.
-
-2017-02-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function.
-	(ifcombine_ifandif): Use it.
-
-2017-02-03  Martin Liska  <mliska@suse.cz>
-
-	* doc/invoke.texi: Document default value for
-	use-after-scope-direct-emission-threshold.
-
-2017-02-03  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/79339
-	* gimple-ssa-sprintf.c (format_floating_max): Call mpfr_clear.
-	(format_floating): Likewise.
-
-2017-02-03  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/79337
-	* ipa-prop.c (ipa_node_params_t::insert): Remove current
-	implementation.
-	(ipa_node_params_t::remove): Likewise.
-	* ipa-prop.h (ipa_node_params::ipa_node_params): Make default
-	initialization from removed ipa_node_params_t::insert.
-	(ipa_node_params::~ipa_node_params): Move from removed
-	ipa_node_params_t::release.
-	* symbol-summary.h (symbol_summary::m_released): New member.
-	Do not release a summary twice.  Do not allow to call finalizer
-	for types of a summary that live in GGC memory.
-
-2017-02-02  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
-
-	* config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and
-	cmp_branch fusion.
-
-2017-02-02  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/79275
-	* gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero.
-	(format_string): Tighten up the range of output for non-constant
-	strings and correct the expected range for wide non-constant strings.
-
-2017-02-02  Martin Sebor  <msebor@redhat.com>
-
-	* doc/invoke.texi (-maccumulate-args): Fix bad grammar.
-
-	PR middle-end/32003
-	* doc/invoke.texi (-fdump-tree-): Remove pass-specific options from
-	index.
-	(-fdump-tree-@var): Add to index and document how to come up
-	with pass-specific option and dump file names.
-	(-fdump-passes): Clarify where to look for output.
-
-2017-02-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/77445
-	* tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump
-	statistics of the analyzed path; allow threading for speed when
-	any of BBs along the path are optimized for speed.
-
-2017-02-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR middle-end/78468
-	* emit-rtl.c (init_emit): Add ??? comment for problematic alignment
-	settings of the virtual registers.
-
-	Revert again
-	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.
-
-2017-02-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/vx-builtins.md ("vec_ceil", "vec_floor")
-	("vec_trunc", "vec_roundc", "vec_round"): Remove expanders.
-
-2017-02-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.md: Add missing comments with the expanded
-	mnemonics.
-	* config/s390/vector.md: Likewise.
-	* config/s390/vx-builtins.md: Likewise.
-
-2017-02-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/79197
-	* config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
-	(fixuns_trunc<mode>di2): ... this, remove previous expander.  Put all
-	conditions on a single line.
-
-2017-02-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
-	__S390_VX__ to __VX__.
-
-2017-02-01  Andrew Pinski  <apinski@cavium.com>
-
-	* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass
-	stmt_info to record_stmt_cost.
-	(vect_get_known_peeling_cost): Pass stmt_info if known to
-	record_stmt_cost.
-	* config/aarch64/aarch64-protos.h (cpu_vector_cost): Split
-	cpu_vector_cost field into
-	scalar_int_stmt_cost and scalar_fp_stmt_cost.  Split vec_stmt_cost
-	field into vec_int_stmt_cost and vec_fp_stmt_cost.
-	* config/aarch64/aarch64.c (generic_vector_cost): Update for the
-	splitting of scalar_stmt_cost and vec_stmt_cost.
-	(thunderx_vector_cost): Likewise.
-	(cortexa57_vector_cost): LIkewise.
-	(exynosm1_vector_cost): Likewise.
-	(xgene1_vector_cost): Likewise.
-	(thunderx2t99_vector_cost): Improve after the splitting of the two
-	fields.
-	(aarch64_builtin_vectorization_cost): Update for the splitting of
-	scalar_stmt_cost and vec_stmt_cost.
-
-2017-02-01  Torvald Riegel  <triegel@redhat.com>
-	    Richard Henderson  <rth@redhat.com>
-
-	* builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free"
-	conditional on existance of a fast atomic load.
-	* optabs-query.c (can_atomic_load_p): New function.
-	* optabs-query.h (can_atomic_load_p): Declare it.
-	* optabs.c (expand_atomic_exchange): Always delegate to libatomic if
-	no fast atomic load is available for the particular size of access.
-	(expand_atomic_compare_and_swap): Likewise.
-	(expand_atomic_load): Likewise.
-	(expand_atomic_store): Likewise.
-	(expand_atomic_fetch_op): Likewise.
-	* testsuite/lib/target-supports.exp
-	(check_effective_target_sync_int_128): Remove x86 because it provides
-	no fast atomic load.
-	(check_effective_target_sync_int_128_runtime): Likewise.
-
-2017-02-01  Richard Biener  <rguenther@suse.de>
-
-	* graphite.c: Include tree-vectorizer.h for find_loop_location.
-	(graphite_transform_loops): Provide opt-info for optimized nests.
-	* tree-parloop.c (parallelize_loops): Provide opt-info for
-	parallelized loops.
-
-2017-02-01  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/79315
-	* tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it
-	was not set before.
-
-2017-02-01  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71824
-	* graphite-scop-detection.c (scop_detection::build_scop_breadth):
-	Verify the loops are valid in the merged SESE region.
-	(scop_detection::can_represent_loop_1): Check analyzing the
-	evolution of the number of iterations in the region succeeds.
-
-2017-01-31  Ian Lance Taylor  <iant@golang.org>
-
-	* config/i386/i386.c (ix86_expand_split_stack_prologue): Add
-	REG_ARGS_SIZE note to 32-bit push insns and call insn.
-
-2017-01-31  David Malcolm  <dmalcolm@redhat.com>
-
-	PR preprocessor/79210
-	* input.c (get_substring_ranges_for_loc): Replace line_width
-	assertion with error-handling.
-
-2017-01-31  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77318
-	* graphite-sese-to-poly.c (extract_affine): Fix assert.
-	(create_pw_aff_from_tree): Take loop parameter.
-	(add_condition_to_pbb): Pass loop of the condition to
-	create_pw_aff_from_tree.
-
-2017-01-31  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/s390/s390.c (s390_asan_shadow_offset): New function.
-	(TARGET_ASAN_SHADOW_OFFSET): Redefine.
-
-2017-01-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78597
-	PR target/79038
-	* config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete,
-	no longer used.
-	(convert_int_to_float128): Likewise.
-	* config/rs6000/rs6000.c (convert_float128_to_int): Likewise.
-	(convert_int_to_float128): Likewise.
-	* config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise.
-	(UNSPEC_IEEE128_CONVERT): Likewise.
-	(floatsi<mode>2, FLOAT128 iterator): Bypass calling
-	rs6000_expand_float128_convert if we have IEEE 128-bit hardware.
-	Use local variables for IBM extended format.
-	(fix_trunc<mode>si2, FLOAT128 iterator): Likewise.
-	(fix_trunc<mode>si2_fprs): Likewise.
-	(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
-	(floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise.
-	(fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support
-	to know that we can now have integers of all sizes in vector
-	registers.
-	(fix<uns>_<mode>di2_hw): Likewise.
-	(float<uns>_<mode>si2_hw): Likewise.
-	(fix_<mode>si2_hw): Likewise.
-	(fixuns_<mode>si2_hw): Likewise.
-	(float<uns>_<mode>di2_hw): Likewise.
-	(float_<mode>di2_hw): Likewise.
-	(float_<mode>si2_hw): Likewise.
-	(floatuns_<mode>di2_hw): Likewise.
-	(floatuns_<mode>si2_hw): Likewise.
-	(xscvqp<su>wz_<mode>): Delete, no longer used.
-	(xscvqp<su>dz_<mode>): Likewise.
-	(xscv<su>dqp_<mode>): Likewise.
-	(ieee128_mfvsrd_64bit): Likewise.
-	(ieee128_mfvsrd_32bit): Likewise.
-	(ieee128_mfvsrwz): Likewise.
-	(ieee128_mtvsrw): Likewise.
-	(ieee128_mtvsrd_64bit): Likewise.
-	(ieee128_mtvsrd_32bit): Likewise.
-
-2017-01-31  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/79285
-	* ipa-prop.c (ipa_free_all_node_params): Call release method
-	instead of ~sumbol_summary to not to trigger double times
-	dtor of hash_map.
-
-2017-01-31  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR tree-optimization/71691
-	* bitmap.h (class auto_bitmap): New.
-	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call
-	is_maybe_undefined instead of ssa_undefined_value_p.
-
-2017-01-31  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
-	__S390_ARCH_LEVEL__ to __ARCH__.
-
-2017-01-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/79267
-	* value-prof.c (gimple_ic): Only drop lhs for noreturn calls
-	if should_remove_lhs_p is true.
-
-2017-01-30  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR debug/63238
-	* dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment.
-	(add_alignment_attribute): New.
-	(base_type_die): Add alignment attribute.
-	(subrange_type_die): Likewise.
-	(modified_type_die): Likewise.
-	(gen_array_type_die): Likewise.
-	(gen_descr_array_type_die: Likewise.
-	(gen_enumeration_type_die): Likewise.
-	(gen_subprogram_die): Likewise.
-	(gen_variable_die): Likewise.
-	(gen_field_die): Likewise.
-	(gen_ptr_to_mbr_type_die): Likewise.
-	(gen_struct_or_union_type_die): Likewise.
-	(gen_subroutine_type_die): Likewise.
-	(gen_typedef_die): Likewise.
-	(base_type_cmp): Compare alignment attribute.
-
-2017-01-30  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-
-	PR target/79170
-	* config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
-	(setb_unsigned) New pattern for setb with CCUNS.
-	* config/rs6000/rs6000.c (expand_block_compare): Use a different
-	subfc./subfe sequence to avoid overflow problems.  Generate a
-	shorter sequence with cmpld/setb for power9.
-	* config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
-	for generating subfc. instruction.
-	(cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
-	now uses this instruction.
-
-2017-01-30  Ian Lance Taylor  <iant@google.com>
-
-	PR debug/79289
-	* dwarf2out.c (gen_type_die_with_usage): When picking a variant
-	for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.
-
-2017-01-30  Martin Sebor  <msebor@redhat.com>
-
-	* gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision):
-	Move constant to the right of a relational operator.
-	(get_mpfr_format_length, format_character, format_string): Ditto.
-	(should_warn_p, maybe_warn): Same.
-
-	* doc/invoke.texi (-Wformat-truncation=1): Fix typo.
-
-2017-01-30  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR lto/79061
-	* asan.c (get_translation_unit_decl): Remove function.
-	(asan_add_global): Force has_dynamic_init to zero in LTO mode.
-
-2017-01-30  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/79259
-	* opts.c (common_handle_option): Enable flag_ipa_bit_cp w/
-	-fprofile-generate.
-
-2017-01-30  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/78985
-	* config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze):
-	Initialize variables with NULL value.
-
-2017-01-30  Richard Earnshaw  <rearnsh@arm.com>
-
-	PR target/79260
-	* config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to
-	tm_p_file.
-	* arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h.
-
-2017-01-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79276
-	* tree-vrp.c (process_assert_insertions): Properly adjust common
-	when removing a duplicate.
-
-2017-01-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79256
-	* targhooks.c (default_builtin_vector_alignment_reachable): Honor
-	BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
-	alignment on TYPE.
-	* tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
-
-2017-01-30  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	PR target/79240
-	* config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask")
-	("*r<noxa>sbg_<mode>_sll_bitmask")
-	("*extzv_<mode>_srl<clobbercc_or_nocc>")
-	("*extzv_<mode>_sll<clobbercc_or_nocc>"):
-	Use contiguous_bitmask_nowrap_operand.
-
-2017-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/79268
-	* config/rs6000/altivec.h (vec_xl): Revise #define.
-	(vec_xst): Likewise.
-
-2017-01-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
-
-2017-01-27  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/79194
-	* cprop.c (one_cprop_pass): Move deletion of code after unconditional
-	traps before call to bypass_conditional_jumps.
-
-2017-01-27  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR tree-optimization/71374
-	* lra-constraints.c (check_conflict_input_operands): New.
-	(match_reload): Use it.
-
-2017-01-27  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/79131
-	* lra-assigns.c (find_hard_regno_for_1): Take endianess for into
-	account to calculate conflict_set.
-
-2017-01-27  Bin Cheng  <bin.cheng@arm.com>
-
-	PR rtl-optimization/78559
-	* combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for
-	other_insn in combine.
-
-2017-01-27  Pekka Jääskeläinen  <pekka.jaaskelainen@parmance.com>
-
-	* builtin-types.def: Use unsigned_char_type_node for BT_UINT8.  Use
-	uint16_type_node for BT_UINT16.
-
-2017-01-27  David Malcolm  <dmalcolm@redhat.com>
-
-	* doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
-	"RTL Tests" to menu.
-	(GIMPLE Tests): New node.
-	(RTL Tests): New node.
-
-2017-01-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79245
-	* tree-loop-distribution.c (distribute_loop): Apply cost
-	modeling also to detected patterns.
-
-2017-01-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71433
-	* tree-vrp.c (register_new_assert_for): Revert earlier changes.
-	(compare_assert_loc): New function.
-	(process_assert_insertions): Sort and optimize assert locations
-	to remove duplicates and push down identical assertions on
-	edges to their destination block.
-
-2017-01-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79244
-	* tree-vrp.c (remove_range_assertions): Forcefully propagate
-	out SSA names even if abnormal.
-
-2017-01-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
-	* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
-	instead of MPFR_RNDN.
-
-2017-01-27  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/79239
-	* arm.c (arm_option_override): Don't call build_target_option_node
-	until after doing all option overrides.
-	(arm_valid_target_attribute_tree): Likewise.
-
-2017-01-27  Martin Liska  <mliska@suse.cz>
-
-	* doc/invoke.texi (-fprofile-arcs): Document profiling support
-	for {cd}tors and C++ {cd}tors.
-
-2017-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>
-
-	* config/s390/s390.md ("*setmem_long_and")
-	("*setmem_long_and_31z"): Use zero_extend instead of and.
-
-2017-01-26  Martin Sebor  <msebor@redhat.com>
-
-	* gimple-ssa-sprintf.c (format_floating): Simplify the computation
-	of precision.
-
-2017-01-26  Martin Sebor  <msebor@redhat.com>
-
-	* gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
-	HAVE_DFmode before using XFmode or DFmode.
-	(parse_directive): Avoid using the z length modifier to avoid
-	the ISO C++98 does not support the ‘z’ gnu_printf length modifier.
-
-	PR middle-end/78703
-	* gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
-	to accept adjustment as an array.
-	(get_int_range): New function.
-	(struct directive): Make width and prec arrays.
-	(directive::set_width, directive::set_precision): Call get_int_range.
-	(format_integer, format_floating): Handle width and precision ranges.
-	(format_string, parse_directive): Same.
-
-2017-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/79129
-	* dwarf2out.c (generate_skeleton_bottom_up): For children with
-	comdat_type_p set, just clone them, but keep the children in the
-	original DIE.
-
-	PR debug/78835
-	* dwarf2out.c (prune_unused_types): Mark all functions with DIEs
-	which have direct callers with -fvar-tracking-assignments enabled
-	in the current TU.
-	(resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
-	inside of type units.
-
-2017-01-26  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/78703
-	* gimple-ssa-sprintf.c (struct result_range): Add likely and
-	unlikely counters.
-	(struct format_result): Replace number_chars, number_chars_min,
-	and number_chars_max with a single member of struct result_range.
-	Remove bounded.
-	(format_result::operator+=): Adjust.
-	(struct fmtresult): Remove bounded.  Handle likely and unlikely
-	counters.
-	(fmtresult::adjust_for_width_or_precision): New function.
-	(fmtresult:type_max_digits): New function.
-	(bytes_remaining): Handle likely and unlikely counters.
-	(min_bytes_remaining): Remove.
-	(format_percent): Simplify.
-	(format_integer, format_floating): Set likely and unlikely counters.
-	(get_string_length, format_character, format_string): Same.
-	(format_plain, should_warn_p): New function.
-	(maybe_warn): Call should_warn_p.  Update diagnostic messages
-	and handle those for all directives, including plain strings.
-	(format_directive): Handle likely and unlikely counters.
-	Remove unnecessary quoting from diagnostics.  Add an informational
-	note.
-	(add_bytes): Remove.
-	(pass_sprintf_length::compute_format_length): Simplify.
-	(try_substitute_return_value): Handle likely and unlikely counters.
-
-2017-01-26  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove
-	bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins
-
-2017-01-26  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/79131
-	* lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take
-	endianess for subregs into account.
-	* lra-constraints.c (lra_constraints): Do risky transformations
-	always on the first iteration.
-	* lra-lives.c (check_pseudos_live_through_calls): Add arg
-	last_call_used_reg_set.
-	(process_bb_lives): Define and use last_call_used_reg_set.
-	* lra.c (lra): Always continue after lra_constraints on the first
-	iteration.
-
-2017-01-26  Kirill Yukhin  <kirill.yukhin@gmail.com>
-
-	* gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long
-	constant.
-	* gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
-
-2017-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/avx512fintrin.h (_ktest_mask16_u8,
-	_ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ...
-	* config/i386/avx512dqintrin.h (_ktest_mask16_u8,
-	_ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here.
-	* config/i386/i386-builtin.def (__builtin_ia32_ktestchi,
-	__builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use
-	OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F.
-	* config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator.
-	(kadd<mode>, ktest<mode>): Use it instead of SWI1248_AVX512BWDQ.
-
-2017-01-26  Marek Polacek  <polacek@redhat.com>
-
-	PR c/79199
-	* fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL
-	for the third operand.
-
-2017-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/79236
-	* omp-low.c (struct omp_context): Add simt_stmt field.
-	(scan_omp_for): Return omp_context *.
-	(scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD
-	context to the _simt_ SIMD stmt.
-	(lower_omp_for): For combined SIMD with sibling _simt_
-	SIMD, make sure to use the same decls in _looptemp_
-	clauses as in the sibling.
-
-2017-01-26  David Sherwood  <david.sherwood@arm.com>
-
-	PR middle-end/79212
-	* gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in
-	all contexts.
-
-2017-01-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/70465
-	* reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1);
-	emit fld b; fld a; if possible.
-
-	* brig-builtins.def: Update copyright years.
-	* config/arm/arm_acle_builtins.def: Update copyright years.
-
-2017-01-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/79179
-	* config/rs6000/vsx.md (vsx_extract_<mode>_store): Use wY
-	constraint instead of o for the stxsd instruction.
-
-2017-01-25  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
-	of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD.
-
-2017-01-25  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/invoke.texi (C++ Dialect Options): Fix typo.
-
-2017-01-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/69264
-	* target.def (vector_alignment_reachable): Improve documentation.
-	* doc/tm.texi: Regenerate.
-	* targhooks.c (default_builtin_vector_alignment_reachable): Simplify
-	and add a comment.
-	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert
-	earlier changes with respect to TYPE_USER_ALIGN.
-	(vector_alignment_reachable_p): Likewise.  Improve dumping.
-
-2016-01-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/79145
-	* config/arm/arm.md (xordi3): Force constant operand into a register
-	for TARGET_IWMMXT.
-
-2016-01-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* doc/invoke.texi (-fstore-merging): Correct default optimization
-	levels at which it is enabled.
-	(-O): Move -fstore-merging from list to...
-	(-O2): ... Here.
-
-2017-01-25  Richard Biener  <rguenther@suse.de>
-
-	PR debug/78363
-	* omp-expand.c: Include debug.h.
-	(expand_omp_taskreg): Make sure to generate early debug before
-	outlining anything from a function.
-	(expand_omp_target): Likewise.
-	(grid_expand_target_grid_body): Likewise.
-
-2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR lto/79061
-	* asan.c (get_translation_unit_decl): New function.
-	(asan_add_global): Extract modules file name from globals
-	TRANSLATION_UNIT_DECL name.
-
-2017-01-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/77439
-	* config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
-	for long calls with APCS frame and VFP.
-
-2017-01-24  David Malcolm  <dmalcolm@redhat.com>
-
-	* cfg.c (original_copy_tables_initialized_p): New function.
-	* cfg.h (original_copy_tables_initialized_p): New decl.
-	* cfgrtl.c (relink_block_chain): Guard the call to
-	free_original_copy_tables with a call to
-	original_copy_tables_initialized_p.
-	* cgraph.h (symtab_node::native_rtl_p): New decl.
-	* cgraphunit.c (symtab_node::native_rtl_p): New function.
-	(symtab_node::needed_p): Don't assert for early assembly output
-	for __RTL functions.
-	(cgraph_node::finalize_function): Set "force_output" for __RTL
-	functions.
-	(cgraph_node::analyze): Bail out early for __RTL functions.
-	(analyze_functions): Update assertion to support __RTL functions.
-	(cgraph_node::expand): Bail out early for __RTL functions.
-	* final.c (rest_of_clean_state): Don't call delete_tree_ssa for
-	__RTL functions.
-	* function.h (struct function): Update comment for field
-	"pass_startwith".
-	* gimple-expr.c: Include "tree-pass.h".
-	(gimple_has_body_p): Return false for __RTL functions.
-	* Makefile.in (OBJS): Add run-rtl-passes.o.
-	* pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New
-	accessor.
-	(gcc::pass_manager::get_clean_slate): New accessor.
-	* passes.c: Include "insn-addr.h".
-	(should_skip_pass_p): Add logging.  Update logic for running
-	"expand" to be compatible with both __GIMPLE and __RTL.  Guard
-	property-provider override so it is only done for gimple passes.
-	Don't skip dfinit.
-	(skip_pass): New function.
-	(execute_one_pass): Call skip_pass when skipping passes.
-	* read-md.c (md_reader::read_char): Support filtering
-	the input to a subset of line numbers.
-	(md_reader::md_reader): Initialize fields
-	m_first_line and m_last_line.
-	(md_reader::read_file_fragment): New function.
-	* read-md.h (md_reader::read_file_fragment): New decl.
-	(md_reader::m_first_line): New field.
-	(md_reader::m_last_line): New field.
-	* read-rtl-function.c (function_reader::create_function): Only
-	create cfun if it doesn't already exist.  Set PROP_rtl on cfun's
-	curr_properties.  Set DECL_INITIAL to a dummy block.
-	(read_rtl_function_body_from_file_range): New function.
-	* read-rtl-function.h (read_rtl_function_body_from_file_range):
-	New decl.
-	* run-rtl-passes.c: New file.
-	* run-rtl-passes.h: New file.
-
-2017-01-24  Jeff Law  <law@redhat.com>
-
-	* config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase
-	buffer size.
-
-2017-01-24  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/79159
-	* tree-ssa-loop-niter.c (get_cst_init_from_scev): New function.
-	(record_nonwrapping_iv): Improve boundary using above function if no
-	value range information.
-
-2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
-	    Martin Jambor  <mjambor@suse.cz>
-
-	* brig-builtins.def: New file.
-	* builtins.def (DEF_HSAIL_BUILTIN): New macro.
-	(DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
-	(DEF_HSAIL_SAT_BUILTIN): Likewise.
-	(DEF_HSAIL_INTR_BUILTIN): Likewise.
-	(DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
-	* builtin-types.def (BT_INT8): New.
-	(BT_INT16): Likewise.
-	(BT_UINT8): Likewise.
-	(BT_UINT16): Likewise.
-	(BT_FN_ULONG): Likewise.
-	(BT_FN_UINT_INT): Likewise.
-	(BT_FN_UINT_ULONG): Likewise.
-	(BT_FN_UINT_LONG): Likewise.
-	(BT_FN_UINT_PTR): Likewise.
-	(BT_FN_ULONG_PTR): Likewise.
-	(BT_FN_INT8_FLOAT): Likewise.
-	(BT_FN_INT16_FLOAT): Likewise.
-	(BT_FN_UINT32_FLOAT): Likewise.
-	(BT_FN_UINT16_FLOAT): Likewise.
-	(BT_FN_UINT8_FLOAT): Likewise.
-	(BT_FN_UINT64_FLOAT): Likewise.
-	(BT_FN_UINT16_UINT32): Likewise.
-	(BT_FN_UINT32_UINT16): Likewise.
-	(BT_FN_UINT16_UINT16_UINT16): Likewise.
-	(BT_FN_INT_PTR_INT): Likewise.
-	(BT_FN_UINT_PTR_UINT): Likewise.
-	(BT_FN_LONG_PTR_LONG): Likewise.
-	(BT_FN_ULONG_PTR_ULONG): Likewise.
-	(BT_FN_VOID_UINT64_UINT64): Likewise.
-	(BT_FN_UINT8_UINT8_UINT8): Likewise.
-	(BT_FN_INT8_INT8_INT8): Likewise.
-	(BT_FN_INT16_INT16_INT16): Likewise.
-	(BT_FN_INT_INT_INT): Likewise.
-	(BT_FN_UINT_FLOAT_UINT): Likewise.
-	(BT_FN_FLOAT_UINT_UINT): Likewise.
-	(BT_FN_ULONG_UINT_UINT): Likewise.
-	(BT_FN_ULONG_UINT_PTR): Likewise.
-	(BT_FN_ULONG_ULONG_ULONG): Likewise.
-	(BT_FN_UINT_UINT_UINT): Likewise.
-	(BT_FN_VOID_UINT_PTR): Likewise.
-	(BT_FN_UINT_UINT_PTR: Likewise.
-	(BT_FN_UINT32_UINT64_PTR): Likewise.
-	(BT_FN_INT_INT_UINT_UINT): Likewise.
-	(BT_FN_UINT_UINT_UINT_UINT): Likewise.
-	(BT_FN_UINT_UINT_UINT_PTR): Likewise.
-	(BT_FN_UINT_ULONG_ULONG_UINT): Likewise.
-	(BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise.
-	(BT_FN_LONG_LONG_UINT_UINT): Likewise.
-	(BT_FN_ULONG_ULONG_UINT_UINT): Likewise.
-	(BT_FN_VOID_UINT32_UINT64_PTR): Likewise.
-	(BT_FN_VOID_UINT32_UINT32_PTR): Likewise.
-	(BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise.
-	(BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise.
-	(BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise.
-	* doc/frontends.texi: List BRIG FE.
-	* doc/install.texi (Testing): Add BRIG tesring requirements.
-	* doc/invoke.texi (Overall Options): Mention BRIG.
-	* doc/standards.texi (Standards): Doucment BRIG HSA version.
-
-2017-01-24  Richard Biener  <rguenther@suse.de>
-
-	PR translation/79208
-	* ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic.
-
-2017-01-24  Martin Jambor  <mjambor@suse.cz>
-
-	PR bootstrap/79198
-	* ipa-prop.c (ipa_free_all_node_params): Call summary destructor.
-	* ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts
-	and known_contexts.
-
-2017-01-24  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR middle-end/79123
-	* gimple-ssa-warn-alloca.c (alloca_call_type): Make sure
-	casts from signed to unsigned really don't have a range.
-
-2017-01-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
-	GMP_RNDx for compatiblity.
-
-2017-01-24  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/79132
-	* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert
-	that would prevent us to call alloca with -1 as argument.
-
-2017-01-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (output_compilation_unit_header, output_file_names):
-	Avoid -Wformat-security warning.
-
-2017-01-23  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve
-	cost table.
-
-2017-01-23  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/78703
-	* gimple-ssa-sprintf.c (warn_level): New global.
-	(format_integer): Use it here and throughout the rest of the file.
-	Use the same switch to compute sign as base.
-	(maybe_warn): New function.
-	(format_directive): Factor out warnings into maybe_warn.
-	Add debugging output.  Use warn_level.
-	(add_bytes): Use warn_level.
-	(pass_sprintf_length::compute_format_length): Add debugging output.
-	(try_substitute_return_value): Same.
-	(pass_sprintf_length::handle_gimple_call): Set and use warn_level.
-
-	PR middle-end/78703
-	* gimple-ssa-sprintf.c (struct format_result): Remove constant member.
-	(struct fmtresult, format_integer, format_floating): Adjust.
-	(fmtresult::fmtresult): Set max correctly in two argument ctor.
-	(get_string_length, format_string,format_directive): Same.
-	(pass_sprintf_length::compute_format_length): Same.
-	(try_substitute_return_value): Simplify slightly.
-
-	PR middle-end/78703
-	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
-	(fmtresult::operator+=): Outlined.
-	(struct fmtresult): Add ctors.
-	(struct conversion_spec): Rename...
-	(struct directive): ...to this.  Add and remove data members.
-	(directive::set_width, directive::set_precision): New functions.
-	(format_percent): Use fmtresult ctor.
-	(get_width_and_precision): Remove.
-	(format_integer): Make naming changes.  Avoid computing width and
-	precision.
-	(format_floating): Same.  Adjust indentation.
-	(format_character, format_none): New functions.
-	(format_string): Moved character handling to format_character.
-	(format_directive): Remove arguments, change return type.
-	(parse_directive): New function.
-	(pass_sprintf_length::compute_format_length): Move directive
-	parsing to parse_directive.
-
-2017-01-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree.h (assign_assembler_name_if_neeeded): Rename to ...
-	(assign_assembler_name_if_needed): ... this.
-	* tree.c (assign_assembler_name_if_neeeded): Rename to ...
-	(assign_assembler_name_if_needed): ... this.
-	(free_lang_data_in_cgraph): Adjust callers.
-	* cgraphunit.c (cgraph_node::analyze): Likewise.
-	* omp-expand.c (expand_omp_taskreg, expand_omp_target):
-	Likewise.
-
-2017-01-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79088
-	PR tree-optimization/79188
-	* tree-ssa-threadupdate.c (mark_threaded_blocks): Move code
-	resetting loop bounds after last path deletion.  Reset loop
-	bounds of the target loop, make code match the comments.
-	* tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute):
-	Make sure loops need no fixups.
-
-2017-01-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert
-	exponent support with double type for first argument.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed
-	type returned by __builtin_vec_extract_sig,
-	__builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp
-	functions from "vector int" to "vector unsigned int" or from
-	"vector long long int" to "vector unsigned long long int".
-	Changed type returned by __builtin_vec_extract_exp,
-	__builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp
-	functions from "vector int" to "vector unsigned int" or from
-	"vector long long int" to "vector unsigned long long int".
-	Changed return type of __builtin_vec_test_data_class,
-	__builtin_vec_test_data_class_sp, and
-	__builtin_vec_test_data_class_dp from "vector int" to
-	"vector bool int" or from "vector long long int" to "vector bool
-	long long int" and changed second argument type from "unsigned
-	int" to "int".  Added new overloaded function forms "vector float
-	__builtin_vec_insert_exp (vector float, vector unsigned int)" and
-	"vector float __builtin_vec_insert_exp_sp (vector float, vector
-	unsigned int)" and "vector double __builtin_vec_insert_exp (vector
-	double, vector unsigned long long int)" and "vector double
-	__builtin_vec_insert_exp_dp (vector double, vector unsigned long
-	long int)".  Changed return type of
-	__builtin_scalar_test_data_class and
-	__builtin_scalar_test_data_class_sp and
-	__builtin_scalar_test_data_class_dp from "unsigned int" to "bool
-	int" and changed second argument from "unsigned int" to "int".
-	Changed type returned by __builtin_scalar_test_neg,
-	__builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp
-	from "int" to "bool int".  Added new overloaded function form
-	"double __builtin_scalar_insert_exp (double, unsigned long long int)".
-	* config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert
-	exponent double-precision with floating point first argument.
-	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
-	documentation of scalar_test_data_class, scalar_test_neg,
-	scalar_extract_sig, scalar_extract_exp, scalar_insert_exp,
-	vector_extract_exp, vec_extract_sig, vec_insert_exp, and
-	vec_test_data_class built-in functions to reflect refinements in
-	their type signatures.
-
-2017-01-23  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase
-	size of buf.
-	(aarch64_elf_asm_destructor): Likewise.
-
-2017-01-23  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/78634
-	* config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function.
-	(TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define.
-	* ifcvt.c (noce_try_cmove): Add missing cost check.
-
-	PR rtl-optimization/71724
-	* combine.c (if_then_else_cond): Look for situations where it is
-	beneficial to undo the work of one of the recursive calls.
-
-2017-01-23  Bin Cheng  <bin.cheng@arm.com>
-
-	PR tree-optimization/70754
-	* tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
-	(reassociate_to_the_same_stmt): New parameter INSERT_BEFORE.  Insert
-	combined stmt before it if not NULL.
-	(combine_chains): Process refs reversely and compute dominance point
-	for root ref.
-
-2017-01-23  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/79196
-	* tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ...
-	(fold_strstr_to_strncmp): ... this.  Fold the pattern to strncmp
-	instead of memcmp.
-	(strlen_optimize_stmt): Call the renamed function.
-
-2017-01-23  Michael Matz  <matz@suse.de>
-
-	PR tree-optimization/78384
-	* tree-ssa-loop-split.c (patch_loop_exit): Use correct edge.
-
-2017-01-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79186
-	* tree-vrp.c (register_new_assert_for): Make sure we've seen
-	both incoming edges before moving an assert.
-
-2017-01-23  Martin Jambor  <mjambor@suse.cz>
-
-	* ipa-prop.c (load_from_param_1): Removed.
-	(load_from_unmodified_param): Bits from load_from_param_1 put back
-	here.
-	(load_from_param): Removed.
-	(compute_complex_assign_jump_func): Removed stmt2 and just replaced it
-	with stmt.  Reverted back to use of load_from_unmodified_param.
-
-2017-01-23  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/79108
-	* ipa-prop.h (ipa_param_descriptor): Anotate with with GTY(()).
-	(ipa_node_params): Annotate with GTY((for_user)).  Make descriptors
-	field a pointer to garbage collected vector, mark lattices and
-	ipcp_orig_node with GTY((skip)).
-	(ipa_get_param_count): Adjust to descriptors being a pointer.
-	(ipa_get_param): Likewise.
-	(ipa_get_type): Likewise.
-	(ipa_get_param_move_cost): Likewise.
-	(ipa_set_param_used): Likewise.
-	(ipa_get_controlled_uses): Likewise.
-	(ipa_set_controlled_uses): Likewise.
-	(ipa_is_param_used): Likewise.
-	(ipa_node_params_t): Move into garbage collector.  New methods insert
-	and remove.
-	(ipa_node_params_sum): Annotate wth GTY(()).
-	(ipa_check_create_node_params): Adjust to ipa_node_params_sum being
-	garbage collected.
-	(ipa_load_from_parm_agg): Adjust declaration.
-	* ipa-icf.c (param_used_p): Adjust to descriptors being a pointer.
-	* ipa-profile.c (ipa_profile): Likewise.
-	* ipa-prop.c (ipa_get_param_decl_index_1): Likewise.
-	(ipa_populate_param_decls): Make descriptors parameter garbage
-	collected.
-	(ipa_dump_param): Adjust to descriptors being a pointer.
-	(ipa_alloc_node_params): Likewise.
-	(ipa_initialize_node_params): Likewise.
-	(load_from_param_1): Make descriptors parameter garbage collected.
-	(load_from_unmodified_param): Likewise.
-	(load_from_param): Likewise.
-	(ipa_load_from_parm_agg): Likewise.
-	(ipa_node_params::~ipa_node_params): Removed.
-	(ipa_free_all_node_params): Remove call to delete operator.
-	(ipa_node_params_t::insert): New.
-	(ipa_node_params_t::remove): Likewise.
-	(ipa_node_params_t::duplicate): Adjust to descriptors being a pointer,
-	copy known_csts and known_contexts vectors.
-	(ipa_read_node_info): Adjust to descriptors being a pointer.
-	(ipcp_modif_dom_walker): Make m_descriptors field garbage
-	collected.
-	(ipcp_transform_function): Make descriptors variable garbage
-	collected.
-
-2017-01-23  Andrew Senkevich  <andrew.senkevich@intel.com>
-
-	* config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.
-	* config/i386/avx512dqintrin.h: Ditto.
-	* config/i386/avx512fintrin.h: Ditto.
-	* config/i386/i386.c: Handle new builtins.
-	* config/i386/i386-builtin.def: Add new builtins.
-	* config/i386/sse.md (ktest<mode>, kortest<mode>): New.
-	(UNSPEC_KORTEST, UNSPEC_KTEST): New.
-
-2017-01-23  Jakub Jelinek  <jakub@redhat.com>
-	    Martin Liska  <mliska@suse.cz>
-
-	* asan.h: Define ASAN_USE_AFTER_SCOPE_ATTRIBUTE.
-	* asan.c (asan_expand_poison_ifn): Support stores and use
-	appropriate ASAN report function.
-	* internal-fn.c (expand_ASAN_POISON_USE): New function.
-	* internal-fn.def (ASAN_POISON_USE): Declare.
-	* tree-into-ssa.c (maybe_add_asan_poison_write): New function.
-	(maybe_register_def): Create ASAN_POISON_USE when sanitizing.
-	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove
-	ASAN_POISON calls w/o LHS.
-	* tree-ssa.c (execute_update_addresses_taken): Create clobber
-	for ASAN_MARK (UNPOISON, &x, ...) in order to prevent usage of a LHS
-	from ASAN_MARK (POISON, &x, ...) coming to a PHI node.
-	* gimplify.c (asan_poison_variables): Add attribute
-	use_after_scope_memory to variables that really needs to live
-	in memory.
-	* tree-ssa.c (is_asan_mark_p): Do not rewrite into SSA when
-	having the attribute.
-
-2017-01-23  Martin Liska  <mliska@suse.cz>
-
-	* asan.c (create_asan_shadow_var): New function.
-	(asan_expand_poison_ifn): Likewise.
-	* asan.h (asan_expand_poison_ifn): New declaration.
-	* internal-fn.c (expand_ASAN_POISON): Likewise.
-	* internal-fn.def (ASAN_POISON): New builtin.
-	* sanopt.c (pass_sanopt::execute): Expand
-	asan_expand_poison_ifn.
-	* tree-inline.c (copy_decl_for_dup_finish): Make function
-	external.
-	* tree-inline.h (copy_decl_for_dup_finish): Likewise.
-	* tree-ssa.c (is_asan_mark_p): New function.
-	(execute_update_addresses_taken): Rewrite local variables
-	(identified just by use-after-scope as addressable) into SSA.
-
-2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Specific): opensource.apple.com uses https
-	now. Remove trailing slash.
-
-2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* README.Portability: Remove note on an Irix compatibility issue.
-
-2017-01-22  Dimitry Andric <dim@FreeBSD.org>
-
-	* gcov.c (INCLUDE_ALGORITHM): Define.
-	(INCLUDE_VECTOR): Define.
-	No longer include <vector> and <algorithm> directly.
-
-2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/extend.texi (Thread-Local): Change www.akkadia.org reference
-	to https.
-	* doc/invoke.texi (Code Gen Options): Ditto.
-
-2017-01-21  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/78407
-	* cfg.c (update_bb_profile_for_threading): Fix updating of probablity.
-
-2017-01-21  Bernd Schmidt  <bschmidt@redhat.com>
-
-	rtl-optimization/79125
-	* cprop.c (local_cprop_pass): Handle cases where we make an
-	unconditional trap.
-
-2017-01-20  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/61729
-	PR target/77850
-	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
-	read from, for big endian.
-
-2017-01-20  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
-	register pauth builtins for LP64 only.
-
-2017-01-20  Marek Polacek  <polacek@redhat.com>
-
-	PR c/79152
-	* gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive
-	non-case labels.
-
-2017-01-20  Alexander Monakov  <amonakov@ispras.ru>
-
-	* omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless
-	of safelen status.
-	* omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev.
-	* passes.c (dump_properties): Handle PROP_gimple_lomp_dev.
-	* tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev.
-
-2017-01-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	PR target/71270
-	* config/arm/arm.c (neon_valid_immediate): Reject vector constants
-	in big-endian mode when they are not a single duplicated value.
-
-2017-01-20  Richard Biener  <rguenther@suse.de>
-
-	* BASE-VER: Bump to 7.0.1.
-
-2017-01-20  Alexander Monakov  <amonakov@ispras.ru>
-
-	* omp-low.c (omplow_simd_context): New struct.  Use it...
-	(lower_rec_simd_input_clauses): ...here and...
-	(lower_rec_input_clauses): ...here to hold common data.  Adjust all
-	references to idx, lane, max_vf, is_simt.
-
-2017-01-20  Graham Markall  <graham.markall@embecosm.com>
-
-	* config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when
-	mcpu=nps400.
-
-2017-01-20  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa.h: Renaed to hsa-common.h.  Adjusted a comment.
-	* hsa.c: Renaed to hsa-common.c.  Change include of gt-hsa.h to
-	gt-hsa-common.h.
-	* Makefile.in (OBJS): Rename hsa.o to hsa-common.o.
-	(GTFILES): Rename hsa.c to hsa-common.c.
-	* hsa-brig.c: Change include of hsa.h to hsa-common.h.
-	* hsa-dump.c: Likewise.
-	* hsa-gen.c: Likewise.
-	* hsa-regalloc.c: Likewise.
-	* ipa-hsa.c: Likewise.
-	* omp-expand.c: Likewise.
-	* omp-low.c: Likewise.
-	* toplev.c: Likewise.
-
-2017-01-20  Marek Polacek  <polacek@redhat.com>
-
-	PR c/64279
-	* doc/invoke.texi: Document -Wduplicated-branches.
-	* fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR,
-	COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR,
-	POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT,
-	STATEMENT_LIST, and RETURN_EXPR.  For non-pure non-const functions
-	return 0 only when not OEP_LEXICOGRAPHIC.
-	(fold_build_cleanup_point_expr): Use the expression
-	location when building CLEANUP_POINT_EXPR.
-	* tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC.
-	* tree.c (add_expr): Handle error_mark_node.
-
-2017-01-20  Martin Liska  <mliska@suse.cz>
-
-	PR lto/69188
-	* tree-profile.c (init_ic_make_global_vars): Do not call
-	finalize_decl.
-	(gimple_init_gcov_profiler): Likewise.
-
-2017-01-20  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/71190
-	* cgraph.h (maybe_create_reference): Remove argument and
-	update comment.
-	* cgraphclones.c (cgraph_node::create_virtual_clone): Remove one
-	argument.
-	* ipa-cp.c (create_specialized_node): Likewise.
-	* symtab.c (symtab_node::maybe_create_reference): Handle
-	VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type.
-
-2017-01-20  Martin Liska  <mliska@suse.cz>
-
-	* read-rtl-function.c (function_reader::create_function): Use
-	build_decl instread of build_decl_stat.
-
-2017-01-20  Andrew Senkevich  <andrew.senkevich@intel.com>
-
-	* config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics.
-	* config/i386/avx512dqintrin.h: Ditto.
-	* config/i386/avx512fintrin.h: Ditto.
-	* config/i386/i386-builtin-types.def: Add new types.
-	* config/i386/i386.c: Handle new types.
-	* config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi)
-	(__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi)
-	(__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi)
-	(__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi)
-	(__builtin_ia32_kshiftridi): New.
-	* config/i386/sse.md (k<code><mode>): Rename *k<code><mode>.
-
-2017-01-19  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/78875
-	PR target/79140
-	* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally
-	define to rs6000_init_stack_protect_guard.
-	(rs6000_init_stack_protect_guard): New function.
-
-2017-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
-	    Yunqiang Su  <yunqiang.su@imgtec.com>
-
-	* config.gcc (supported_defaults): Add madd4.
-	(with_madd4): Add validation.
-	(all_defaults): Add madd4.
-	* config/mips/mips.opt (mmadd4): New option.
-	* config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
-	mmadd4.
-	(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
-	__mips_no_madd4.
-	(ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
-	(ISA_HAS_FUSED_MADD4): Likewise.
-	* doc/invoke.texi (-mmadd4): Document the new option.
-	* doc/install.texi (--with-madd4): Document the new option.
-
-2017-01-19  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New
-	entries for AARCH64_PAUTH_BUILTIN_XPACLRI,
-	AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716.
-	(aarch64_init_pauth_hint_builtins): New.
-	(aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins.
-	(aarch64_expand_builtin): Expand new builtins.
-
-2017-01-19  Jiong Wang  <jiong.wang@arm.com>
-
-	* reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note.
-	* combine-stack-adj.c (no_unhandled_cfa): Handle
-	REG_CFA_TOGGLE_RA_MANGLE.
-	* dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE.
-	* config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF
-	info for return address signing.
-	(aarch64_expand_epilogue): Likewise.
-
-2017-01-19  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-opts.h (aarch64_function_type): New enum.
-	* config/aarch64/aarch64-protos.h
-	(aarch64_return_address_signing_enabled): New declaration.
-	* config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
-	New function.
-	(aarch64_expand_prologue): Sign return address before it's pushed onto
-	stack.
-	(aarch64_expand_epilogue): Authenticate return address fetched from
-	stack.
-	(aarch64_override_options): Sanity check for ILP32 and ISA level.
-	(aarch64_attributes): New function attributes for "sign-return-address".
-	* config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP,
-	UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs.
-	("*do_return"): Generate combined instructions according to key index.
-	("<pauth_mnem_prefix>sp", "<pauth_mnem_prefix1716", "xpaclri"): New.
-	* config/aarch64/iterators.md (PAUTH_LR_SP, PAUTH_17_16): New integer
-	iterators.
-	(pauth_mnem_prefix, pauth_hint_num_a): New integer attributes.
-	* config/aarch64/aarch64.opt (msign-return-address=): New.
-	* doc/extend.texi (AArch64 Function Attributes): Documents
-	"sign-return-address=".
-	* doc/invoke.texi (AArch64 Options): Documents "-msign-return-address=".
-
-2017-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
-
-	* doc/invoke.texi: Add missing -mlxc1-sxc1 options to
-	overall option summary.
-
-2017-01-19  Jiong Wang  <jiong.wang@arm.com>
-
-	* config/aarch64/aarch64-arches.def: New entry for "armv8.3-a".
-	* config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3,
-	AARCH64_ISA_V8_3, TARGET_ARMV8_3): New.
-	* doc/invoke.texi (AArch64 Options): Document "armv8.3-a".
-
-2017-01-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable
-	-mpower9-minmax by default for -mcpu=power9.
-	(ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE
-	128-bit floating point.
-
-2017-01-20  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if
-	optimizing for size.
-
-2017-01-20  Alan Modra  <amodra@gmail.com>
-
-	PR target/79144
-	* config/rs6000/rs6000.c (expand_strn_compare): Get the asm name
-	for strcmp and strncmp from corresponding builtin decl.
-
-2017-01-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config.gcc (x86_64-*-rtems*): Use i386/rtemself.h
-	instead of i386/rtems-64.h.
-	* config/i386/rtems-64.h: Remove.
-
-2017-01-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78478
-	Revert:
-	2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.
-
-2017-01-19  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
-	Change int to HOST_WIDE_INT.
-	* config/aarch64/aarch64-protos.h
-	(aarch64_simd_gen_const_vector_dup): Likewise.
-	* config/aarch64/aarch64-simd.md: Add copysign<mode>3.
-
-2017-01-19  David Malcolm  <dmalcolm@redhat.com>
-
-	* langhooks-def.h (lhd_type_for_size): New decl.
-	(LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size.
-	* langhooks.c (lhd_type_for_size): New function, taken from
-	lto_type_for_size.
-
-2017-01-19  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add
-	define_bypass for CR latency.
-	(power9-cracked-alu): Update bypass latency and remove power9-branch.
-	(power9-alu2): Add define_bypass for CR latency.
-	(power9-cmp): New.
-	(power9-mul): Update insn latency.
-	(power9-mul-compare): Update insn latency, bypass latency and remove
-	power9-branch.
-
-2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
-	Delete.
-	* config/aarch64/aarch64.md
-	(aarch64_reload_movcp<GPF_TF:mode><P:mode>): Delete reference to
-	aarch64_nopcrelative_literal_loads.
-	(aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
-
-2017-01-19  Chenghua Xu  <paul.hua.gm@gmail.com>
-
-	* config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
-	TARGET_LOONGSON_3A.
-	(ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.
-
-2017-01-19  Doug Gilmore  <doug.gilmore@imgtec.com>
-
-	PR target/78176
-	* config.gcc (supported_defaults): Add lxc1-sxc1.
-	(with_lxc1_sxc1): Add validation.
-	(all_defaults): Add lxc1-sxc1.
-	* config/mips/mips.opt (mlxc1-sxc1): New option.
-	* config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
-	mlxc1-sxc1.
-	(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
-	__mips_no_lxc1_sxc1.
-	(ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1.
-	* doc/invoke.texi (-mlxc1-sxc1): Document the new option.
-	* doc/install.texi (--with-lxc1-sxc1): Document the new option.
-
-2017-01-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/72488
-	* tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
-	sure to restore SSA info.
-	* tree-ssa.c (verify_ssa): Verify SSA info is not shared.
-
-2017-01-19  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR rtl-optimization/79121
-	* expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
-	of the inner type when shifting an extended value.
-
-2017-01-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/78407
-	* symtab.c (symtab_node::equal_address_to): Fix comparing of
-	interposable aliases.
-
-2017-01-18  Peter Bergner  <bergner@vnet.ibm.com>
-
-	PR target/78516
-	* config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints.
-	Use the evmergelohi instruction.
-	(mov_si<mode>_e500_subreg4_2_le): Likewise.
-	(mov_sitf_e500_subreg8_2_be): Likewise.
-	(mov_sitf_e500_subreg12_2_le): Likewise.
-	(mov_si<mode>_e500_subreg0_2_le): Fix constraints.
-	(mov_si<mode>_e500_subreg4_2_be): Likewise.
-	(mov_sitf_e500_subreg8_2_le): Likewise.
-	(mov_sitf_e500_subreg12_2_be): Likewise.
-
-2017-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.md (altivec_vbpermq): Change "type"
-	attribute from vecsimple to vecperm.
-	(altivec_vbpermq2): Likewise.
-
-2017-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/79040
-	* config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz.
-
-2017-01-18  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
-	* config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg.
-	* config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand
-	strcmp. Fix bug where comparison didn't stop with zero byte. Fix
-	case where N arg is SIZE_MAX.
-	* config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare.
-	(cmpstrsi): Add pattern.
-
-2017-01-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
-	__builtin_vec_revb builtins.
-	* config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
-	built-in functions to support generation of the ISA 3.0 XXBR<x>
-	vector byte reverse instructions.
-	(P9V_BUILTIN_XXBRQ_V1TI): Likewise.
-	(P9V_BUILTIN_XXBRD_V2DI): Likewise.
-	(P9V_BUILTIN_XXBRD_V2DF): Likewise.
-	(P9V_BUILTIN_XXBGW_V4SI): Likewise.
-	(P9V_BUILTIN_XXBGW_V4SF): Likewise.
-	(P9V_BUILTIN_XXBGH_V8HI): Likewise.
-	(P9V_BUILTIN_VEC_REVB): Likewise.
-	* config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
-	generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
-	(p9_xxbrq_v16qi): Likewise.
-	(p9_xxbrd_<mode>, VSX_D iterator): Likewise.
-	(p9_xxbrw_<mode>, VSX_W iterator): Likewise.
-	(p9_xxbrh_v8hi): Likewise.
-	* config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
-	* doc/extend.texi (RS/6000 Altivec Built-ins): Document the
-	vec_revb built-in functions.
-
-2017-01-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/78952
-	* config/i386/i386.md (any_extract): New code iterator.
-	(*insvqi_2): Use any_extract for source operand.
-	(*insvqi_3): Use any_shiftrt for source operand.
-
-2017-01-18  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
-	New function.
-	(TARGET_SCHED_ADJUST_PRIORITY): Define target hook.
-
-2017-01-18  Matthias Klose  <doko@ubuntu.com>
-
-	* doc/install.texi: Allow default for --with-target-bdw-gc-include.
-
-2016-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.h (vec_bperm): Change #define.
-	* config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
-	(altivec_vbpermq2): New define_insn.
-	(altivec_vbpermd): Likewise.
-	* config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
-	function interface.
-	(VBPERMD): Likewise.
-	(VBPERM): New polymorphic function interface.
-	* config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
-	Add entries for P9V_BUILTIN_VEC_VBPERM.
-	* doc/extend.texi: Add interfaces for vec_bperm.
-
-2017-01-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
-	first letter of error messages.
-	(s390_resolve_overloaded_builtin): Likewise.
-	* config/s390/s390.c (s390_expand_builtin): Likewise.
-	(s390_invalid_arg_for_unprototyped_fn): Likewise.
-	(s390_valid_target_attribute_inner_p): Likewise.
-	* config/s390/s390.md ("tabort"): Likewise.
-
-2017-01-18  Toma Tabacu  <toma.tabacu@imgtec.com>
-
-	* config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
-	(ISA_AVOID_DIV_HILO): New macro.
-	(ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
-	(ISA_HAS_DDIV): Likewise.
-
-2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* doc/invoke.texi (fabi-version): Correct number of occurrences.
-
-2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	* doc/invoke.texi (fabi-version): Spelling fix.
-
-2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR c++/70182
-	* doc/invoke.texi (fabi-version): Mention mangling fix for
-	operator names.
-
-2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
-
-	PR c++/77489
-	* doc/invoke.texi (fabi-version): Document discriminator mangling.
-
-2017-01-17  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/78875
-	* config/rs6000/rs6000-opts.h (stack_protector_guard): New enum.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Handle
-	the new options.
-	* config/rs6000/rs6000.md (stack_protect_set): Handle the new more
-	flexible settings.
-	(stack_protect_test): Ditto.
-	* config/rs6000/rs6000.opt (mstack-protector-guard=,
-	mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
-	options.
-	* doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]:
-	Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
-	-mstack-protector-guard-offset=.
-	(RS/6000 and PowerPC Options): Ditto.
-
-2017-01-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (MASK_CLASS_P): New define.
-	* config/i386/i386.c (inline_secondary_memory_needed): Ensure that
-	there are no registers from different register sets also when
-	mask registers are used.  Update function comment.
-	* config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative
-	to (*k/*r) and (*k/*km) alternatives.
-
-2017-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
-	* config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
-	(EH_RETURN_HANDLER_RTX): New define.
-	* config/aarch64/aarch64.c (aarch64_frame_pointer_required):
-	Force frame pointer in EH return functions.
-	(aarch64_expand_epilogue): Add barrier for eh_return.
-	(aarch64_final_eh_return_addr): Remove.
-	(aarch64_eh_return_handler_rtx): New function.
-	* config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
-	Remove.
-	(aarch64_eh_return_handler_rtx): New prototype.
-
-2017-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/altivec.h (vec_rlmi): New #define.
-	(vec_vrlnm): Likewise.
-	(vec_rlnm): Likewise.
-	* config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value.
-	(UNSPEC_VRLNM): Likewise.
-	(VIlong): New mode iterator.
-	(altivec_vrl<VI_char>mi): New define_insn.
-	(altivec_vrl<VI_char>nm): Likewise.
-	* config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic
-	function entry.
-	(VRLDNM): Likewise.
-	(RLNM): New polymorphic function entry.
-	(VRLWMI): New monomorphic function entry.
-	(VRLDMI): Likewise.
-	(RLMI): New polymorphic function entry.
-	* config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add
-	new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM.
-	* doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and
-	vec_vrlnm.
-
-2017-01-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/78839
-	* dwarf2out.c (field_byte_offset): Restore the
-	PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
-	and DECL_FIELD_BIT_OFFSET.  Use fold_build2 instead of build2 + fold.
-	(analyze_variants_discr, gen_variant_part): Use fold_build2 instead
-	of build2 + fold.
-
-2017-01-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/67205
-	* config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define
-
-2017-01-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/71669
-	* dwarf2out.c (add_data_member_location_attribute): For constant
-	offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute
-	instead of DW_AT_data_member_location, DW_AT_bit_offset and
-	DW_AT_byte_size attributes.
-
-2017-01-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference
-	after forcing to constant memory when the code model is medium.
-
-2017-01-17  Julia Koval  <julia.koval@intel.com>
-
-	PR target/76731
-	* config/i386/avx512fintrin.h
-	(_mm512_i32gather_ps): Change __addr type to void const*.
-	(_mm512_mask_i32gather_ps): Ditto.
-	(_mm512_i32gather_pd): Ditto.
-	(_mm512_mask_i32gather_pd): Ditto.
-	(_mm512_i64gather_ps): Ditto.
-	(_mm512_mask_i64gather_ps): Ditto.
-	(_mm512_i64gather_pd): Ditto.
-	(_mm512_mask_i64gather_pd): Ditto.
-	(_mm512_i32gather_epi32): Ditto.
-	(_mm512_mask_i32gather_epi32): Ditto.
-	(_mm512_i32gather_epi64): Ditto.
-	(_mm512_mask_i32gather_epi64): Ditto.
-	(_mm512_i64gather_epi32): Ditto.
-	(_mm512_mask_i64gather_epi32): Ditto.
-	(_mm512_i64gather_epi64): Ditto.
-	(_mm512_mask_i64gather_epi64): Ditto.
-	(_mm512_i32scatter_ps): Change __addr type to void*.
-	(_mm512_mask_i32scatter_ps): Ditto.
-	(_mm512_i32scatter_pd): Ditto.
-	(_mm512_mask_i32scatter_pd): Ditto.
-	(_mm512_i64scatter_ps): Ditto.
-	(_mm512_mask_i64scatter_ps): Ditto.
-	(_mm512_i64scatter_pd): Ditto.
-	(_mm512_mask_i64scatter_pd): Ditto.
-	(_mm512_i32scatter_epi32): Ditto.
-	(_mm512_mask_i32scatter_epi32): Ditto.
-	(_mm512_i32scatter_epi64): Ditto.
-	(_mm512_mask_i32scatter_epi64): Ditto.
-	(_mm512_i64scatter_epi32): Ditto.
-	(_mm512_mask_i64scatter_epi32): Ditto.
-	(_mm512_i64scatter_epi64): Ditto.
-	(_mm512_mask_i64scatter_epi64): Ditto.
-	* config/i386/avx512pfintrin.h
-	(_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*.
-	(_mm512_mask_prefetch_i32gather_ps): Ditto.
-	(_mm512_mask_prefetch_i64gather_pd): Ditto.
-	(_mm512_mask_prefetch_i64gather_ps): Ditto.
-	(_mm512_prefetch_i32scatter_pd): Change __addr type to void*.
-	(_mm512_prefetch_i32scatter_ps): Ditto.
-	(_mm512_mask_prefetch_i32scatter_pd): Ditto.
-	(_mm512_mask_prefetch_i32scatter_ps): Ditto.
-	(_mm512_prefetch_i64scatter_pd): Ditto.
-	(_mm512_prefetch_i64scatter_ps): Ditto.
-	(_mm512_mask_prefetch_i64scatter_pd): Ditto.
-	(_mm512_mask_prefetch_i64scatter_ps): Ditto.
-	* config/i386/avx512vlintrin.h
-	(_mm256_mmask_i32gather_ps): Change __addr type to void const*.
-	(_mm_mmask_i32gather_ps): Ditto.
-	(_mm256_mmask_i32gather_pd): Ditto.
-	(_mm_mmask_i32gather_pd): Ditto.
-	(_mm256_mmask_i64gather_ps): Ditto.
-	(_mm_mmask_i64gather_ps): Ditto.
-	(_mm256_mmask_i64gather_pd): Ditto.
-	(_mm_mmask_i64gather_pd): Ditto.
-	(_mm256_mmask_i32gather_epi32): Ditto.
-	(_mm_mmask_i32gather_epi32): Ditto.
-	(_mm256_mmask_i32gather_epi64): Ditto.
-	(_mm_mmask_i32gather_epi64): Ditto.
-	(_mm256_mmask_i64gather_epi32): Ditto.
-	(_mm_mmask_i64gather_epi32): Ditto.
-	(_mm256_mmask_i64gather_epi64): Ditto.
-	(_mm_mmask_i64gather_epi64): Ditto.
-	(_mm256_i32scatter_ps): Change __addr type to void*.
-	(_mm256_mask_i32scatter_ps): Ditto.
-	(_mm_i32scatter_ps): Ditto.
-	(_mm_mask_i32scatter_ps): Ditto.
-	(_mm256_i32scatter_pd): Ditto.
-	(_mm256_mask_i32scatter_pd): Ditto.
-	(_mm_i32scatter_pd): Ditto.
-	(_mm_mask_i32scatter_pd): Ditto.
-	(_mm256_i64scatter_ps): Ditto.
-	(_mm256_mask_i64scatter_ps): Ditto.
-	(_mm_i64scatter_ps): Ditto.
-	(_mm_mask_i64scatter_ps): Ditto.
-	(_mm256_i64scatter_pd): Ditto.
-	(_mm256_mask_i64scatter_pd): Ditto.
-	(_mm_i64scatter_pd): Ditto.
-	(_mm_mask_i64scatter_pd): Ditto.
-	(_mm256_i32scatter_epi32): Ditto.
-	(_mm256_mask_i32scatter_epi32): Ditto.
-	(_mm_i32scatter_epi32): Ditto.
-	(_mm_mask_i32scatter_epi32): Ditto.
-	(_mm256_i32scatter_epi64): Ditto.
-	(_mm256_mask_i32scatter_epi64): Ditto.
-	(_mm_i32scatter_epi64): Ditto.
-	(_mm_mask_i32scatter_epi64): Ditto.
-	(_mm256_i64scatter_epi32): Ditto.
-	(_mm256_mask_i64scatter_epi32): Ditto.
-	(_mm_i64scatter_epi32): Ditto.
-	(_mm_mask_i64scatter_epi32): Ditto.
-	(_mm256_i64scatter_epi64): Ditto.
-	(_mm256_mask_i64scatter_epi64): Ditto.
-	(_mm_i64scatter_epi64): Ditto.
-	(_mm_mask_i64scatter_epi64): Ditto.
-	* config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
-	(V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
-	(V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
-	(V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
-	(V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
-	(V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
-	(V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
-	(V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
-	(V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
-	(V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
-	(V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
-	(V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
-	(V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
-	(VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
-	(VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
-	(VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
-	(VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
-	(VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
-	(VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
-	(VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
-	(VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
-	(VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
-	(VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
-	(VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
-	(VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
-	(VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
-	(VOID_QI_V8DI_PCINT_INT_INT): Remove.
-	(V16SF_V16SF_PCVOID_V16SI_HI_INT,  V8DF_V8DF_PCVOID_V8SI_QI_INT)
-	(V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
-	(V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
-	(V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
-	(VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
-	(VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
-	(VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
-	(VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
-	(V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
-	(V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
-	(V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
-	(V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
-	(V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
-	(V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
-	(V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
-	(V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
-	(VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
-	(VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
-	(VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
-	(VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
-	(VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
-	(VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
-	(VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
-	(VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
-	(VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
-	(VOID_QI_V8DI_PCVOID_INT_INT): Add.
-	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
-	definitions accordingly.
-
-2017-01-17  Kito Cheng  <kito.cheng@gmail.com>
-	    Kuan-Lin Chen  <kuanlinchentw@gmail.com>
-
-	PR target/79079
-	* internal-fn.c (expand_mul_overflow): Use convert_modes instead of
-	gen_lowpart.
-
-2017-01-17  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/79058
-	* ira-conflicts.c (ira_build_conflicts): Update total conflict
-	hard regs for inner regno.
-
-2017-01-17  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/71207
-	* ipa-polymorphic-call.c (contains_type_p): Fix wrong
-	assumption and add comment.
-
-2017-01-17  Nathan Sidwell  <nathan@acm.org>
-
-	* ipa-visibility.c (localize_node): New function, broken out of ...
-	(function_and_variable_visibility): ... here. Call it.
-
-2017-01-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/77445
-	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
-	correctly set frequency of oudgoing edge.
-	(duplicate_thread_path): Fix profile updating.
-
-2017-01-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR other/79046
-	* configure.ac: Add GCC_BASE_VER.
-	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
-	version from BASE-VER file.
-	(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
-	(gcc.o): Depend on $(BASEVER).
-	* common.opt (dumpfullversion): New option.
-	* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
-	* doc/invoke.texi: Document -dumpfullversion.
-	* doc/install.texi: Document --with-gcc-major-version-only.
-	* configure: Regenerated.
-
-2017-01-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/71433
-	* tree-vrp.c (register_new_assert_for): Merge same asserts
-	on all incoming edges.
-	(process_assert_insertions_for): Handle insertions at the
-	beginning of BBs.
-
-2017-01-17  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* config/i386/cygwin.h (LIBGCJ_SONAME): Remove.
-	* config/i386/mingw32.h (LIBGCJ_SONAME): Remove.
-
-2017-01-17  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/78633
-	* config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid
-	RTL sharing.
-
-2017-01-17  Alan Modra  <amodra@gmail.com>
-
-	PR target/79066
-	* config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic.
-	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow
-	symbolic stack limit when pic.
-
-2017-01-16  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/78608
-	* gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN.
-
-2017-01-16  Jeff Law  <law@redhat.com>
-
-	Revert:
-	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.
-
-	PR tree-optimization/79090
-	PR tree-optimization/33562
-	PR tree-optimization/61912
-	PR tree-optimization/77485
-	* tree-ssa-dse.c (compute_trims): Accept STMT argument.  Dump STMT
-	and computed trims into the dump file.
-
-2017-01-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove.
-
-2017-01-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/79089
-	* gimplify.c (gimplify_init_constructor): If want_value and
-	object == lhs, unshare lhs to avoid invalid tree sharing.  Formatting
-	fix.
-
-	PR target/79080
-	* loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on
-	sequence.  Formatting fixes.
-	(doloop_optimize): Formatting fixes.
-
-	PR driver/49726
-	* gcc.c (debug_level_greater_than_spec_func): New function.
-	(static_spec_functions): Add debug-level-gt spec function.
-	(ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of
-	!g0.
-	* config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
-	* config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
-	* common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames,
-	gpubnames, ggnu-pubnames, gno-record-gcc-switches,
-	grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs,
-	gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag.
-
-2017-01-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and
-	QImode fixups to general and mask registers only.
-
-2017-01-16  Carl Love  <cel@us.ibm.com>
-
-	* config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support
-	for built-in functions
-	vector signed char vec_nabs (vector signed char)
-	vector signed short vec_nabs (vector signed short)
-	vector signed int vec_nabs (vector signed int)
-	vector signed long long vec_nabs (vector signed long long)
-	vector float vec_nabs (vector float)
-	vector double vec_nabs (vector double)
-	* config/rs6000/rs6000-builtin.def: Add definitions for NABS functions
-	and NABS overload.
-	* config/rs6000/altivec.md: New define_expand nabs<mode>2 types
-	* config/rs6000/altivec.h: New define for vec_nabs built-in function.
-	* doc/extend.texi: Update the documentation file for the new built-in
-	functions.
-
-2017-01-16  Martin Sebor  <msebor@redhat.com>
-
-	* gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning
-	message.
-
-2017-01-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rtx_is_swappable_p): Change
-	UNSPEC_VSX__XXSPLTD to require special splat handling.
-
-2017-01-16  David Malcolm  <dmalcolm@redhat.com>
-
-	PR bootstrap/78616
-	* system.h: Poison strndup.
-
-2017-01-16  Alan Modra  <amodra@gmail.com>
-
-	PR target/79098
-	* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't
-	use a switch.
-
-2017-01-16  Georg-Johann Lay  <avr@gjlay.de>
-
-	* config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4.
-
-2017-01-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_legitimate_combined_insn): Do not
-	call recog here.  Assert that INSN_CODE (insn) is non-negative.
-
-2017-01-15  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/72749
-	* cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the
-	fallthrough.
-	* haifa-sched.c (dump_insn_stream): Don't crash if there is a label
-	in the currently scheduled RTL fragment.
-
-2017-01-15  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/78751
-	* ifcvt.c (find_cond_trap): If we generated a non-existing insn,
-	give up.
-
-2017-01-14  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/79090
-	* tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and
-	variable length stores.
-	(compute_trims): Delete dead assignment to *trim_tail.
-	(dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with
-	zero length.
-
-2017-01-14  Bernd Schmidt  <bschmidt@redhat.com>
-
-	PR rtl-optimization/78626
-	PR rtl-optimization/78727
-	* cprop.c (one_cprop_pass): Collect unconditional traps in the middle
-	of a block, and split such blocks after everything else is finished.
-
-2017-01-14  Alan Modra  <amodra@gmail.com>
-
-	PR target/72749
-	* combine.c (recog_for_combine_1): Set INSN_CODE before calling
-	target legitimate_combined_insn.
-	* config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define.
-	(rs6000_legitimate_combined_insn): New function.
-	* config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove
-	all uses.
-	(ctr<mode>_internal3): Rename from *ctr<mode>_internal5.
-	(ctr<mode>_internal4): Rename from *ctr<mode>_internal6.
-	(ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name.
-
-2017-01-14  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/frontends.texi (G++ and GCC): Remove references to Java.
-
-2017-01-13  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/33562
-	PR tree-optimization/61912
-	PR tree-optimization/77485
-	* tree-ssa-dse.c (delete_dead_call): Accept gsi rather than
-	a statement.
-	(delete_dead_assignment): Likewise.
-	(dse_dom_walker::dse_optimize_stmt): Pass in the gsi rather than
-	statement to delete_dead_call and delete_dead_assignment.
-
-2017-01-13  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c/78304
-	* substring-locations.c (format_warning_va): Strengthen case 1 so
-	that both endpoints of the substring must be within the format
-	range for just the substring to be printed.
-
-2017-01-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.opt (msgx): Use ix86_isa_flags2 variable.
-	* config/i386/i386.c (ix86_target_string): Add missing options
-	to isa_opts and reorder options by implied ISAs.  Rename isa_opts2 to
-	isa2_opts, ix86_flag_opts to flag2_opts, ix86_target_other to
-	flags_other and ix86_target_other to flags2_other.  Display unknown
-	isa2 options.
-	(ix86_valid_target_attribute_inner_p): Add missing options and
-	reorder options by implied ISAs, as in ix86_target_string.
-
-2017-01-13  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* hash-table.h (hash_table::too_empty_p): New function.
-	(hash_table::expand): Use it.
-	(hash_table::traverse): Likewise.
-	(hash_table::empty_slot): Use sizeof (value_type) instead of
-	sizeof (PTR) to convert bytes to elements.  Shrink the table
-	if the current size is excessive for the current number of
-	elements.
-
-2017-01-13  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* ira-costs.c (record_reg_classes): Break from the inner loop
-	early once alt_fail is known to be true.  Update outer loop
-	handling accordingly.
-
-2017-01-13  Jeff Law  <law@redhat.com>
-
-	* tree-ssa-dse.c (decrement_count): New function.
-	(increment_start_addr, maybe_trim_memstar_call): Likewise.
-	(dse_dom_walker::optimize_stmt): Call maybe_trim_memstar_call directly
-	when we know the partially dead statement is a mem* function.
-
-	PR tree-optimization/61912
-	PR tree-optimization/77485
-	* tree-ssa-dse.c: Include expr.h.
-	(maybe_trim_constructor_store): New function.
-	(maybe_trim_partially_dead_store): Call maybe_trim_constructor_store.
-
-	PR tree-optimization/33562
-	PR tree-optimization/61912
-	PR tree-optimization/77485
-	* doc/invoke.texi: Document new dse-max-object-size param.
-	* params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM.
-	* tree-ssa-dse.c: Include params.h.
-	(dse_store_status): New enum.
-	(initialize_ao_ref_for_dse): New, partially extracted from
-	dse_optimize_stmt.
-	(valid_ao_ref_for_dse, normalize_ref): New.
-	(setup_live_bytes_from_ref, compute_trims): Likewise.
-	(clear_bytes_written_by, maybe_trim_complex_store): Likewise.
-	(maybe_trim_partially_dead_store): Likewise.
-	(maybe_trim_complex_store): Likewise.
-	(dse_classify_store): Renamed from dse_possibly_dead_store_p.
-	Track what bytes live from the original store.  Return tri-state
-	for dead, partially dead or live.
-	(dse_dom_walker): Add constructor, destructor and new private members.
-	(delete_dead_call, delete_dead_assignment): New extracted from
-	dse_optimize_stmt.
-	(dse_optimize_stmt): Make a member of dse_dom_walker.
-	Use initialize_ao_ref_for_dse.
-
-	PR tree-optimization/33562
-	PR tree-optimization/61912
-	PR tree-optimization/77485
-	* sbitmap.h (bitmap_count_bits): Prototype.
-	(bitmap_clear_range, bitmap_set_range): Likewise.
-	* sbitmap.c (bitmap_clear_range): New function.
-	(bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise.
-
-2017-01-13  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/79043
-	* function.c (set_cfun): Add new argument force.
-	* function.h (set_cfun): Likewise.
-	* ipa-inline-transform.c (inline_call): Use the function when
-	strict alising from is dropped for function we inline to.
-
-2017-01-13  Richard Biener  <rguenther@suse.de>
-
-	* tree-pretty-print.c (dump_generic_node): Fix inverted condition
-	for dumping GIMPLE INTEGER_CSTs.
-
-2017-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__
-	to 201112L since C++17.
-
-2017-01-13  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR sanitizer/78887
-	* asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators
-	if -fsanitize=kernel-address is present.
-
-2017-01-13  Richard Biener  <rguenther@suse.de>
-
-	* tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs
-	as _Literal ( type ) number in case usual suffixes do not
-	preserve all information.
-
-2017-01-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/77283
-	* gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h
-	and ssa-iterators.h.
-	(is_feasible_trace): Implement a cost model based on joiner
-	PHI node uses.
-
-2017-01-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/79004
-	* config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting
-	char or short to __float128/_Float128 directly.
-
-2017-01-12  Martin Sebor  <msebor@redhat.com>
-
-	to -Wformat-overflow.
-	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
-	(min_bytes_remaining): Same.
-	(get_string_length): Same.
-	(format_string): Same.
-	(format_directive): Same.
-	(add_bytes): Same.
-	(pass_sprintf_length::handle_gimple_call): Same.
-
-2017-01-12  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimple-ssa-sprintf.c (try_substitute_return_value): Remove
-	info.nowrite calls with no lhs that can't throw.  Return bool
-	whether gsi_remove has been called or not.
-	(pass_sprintf_length::handle_gimple_call): Return bool whether
-	try_substitute_return_value called gsi_remove.  Formatting fix.
-	(pass_sprintf_length::execute): Don't use gsi_remove if
-	handle_gimple_call returned true.
-
-	PR bootstrap/79069
-	* cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't
-	be removed due to side-effects, don't remove following barrier nor
-	turn the successor edge into fallthru edge.
-
-2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-
-	PR target/79044
-	* config/rs6000/rs6000.c (insn_is_swappable_p): Mark
-	element-reversing loads and stores as not swappable.
-
-2017-01-12  Nathan Sidwell  <nathan@acm.org>
-	    Nicolai Stange  <nicstange@gmail.com>
-
-	* combine.c (try_combine): Don't ignore result of overlap checking
-	loop.  Combine overlap & asm check into single loop.
-
-2017-01-12  Richard Biener  <rguenther@suse.de>
-
-	* tree-pretty-print.c (dump_generic_node): Provide -gimple
-	variant for MEM_REF.  Sanitize INTEGER_CST for -gimple.
-
-2017-01-12  Richard Biener  <rguenther@suse.de>
-
-	* tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION
-	and TS_TARGET_OPTION directly derive from TS_BASE.
-	* tree-core.h (tree_optimization_option): Derive from tree_base.
-	(tree_target_option): Likewise.
-
-2017-01-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (memory_address_length): Increase len
-	only when rip_relative_addr_p returns false.
-
-2017-01-11  Julia Koval  <julia.koval@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New.
-	(OPTION_MASK_ISA_SGX_SET): New.
-	(ix86_handle_option): Handle OPT_msgx.
-	* config.gcc: Added sgxintrin.h.
-	* config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__.
-	* config/i386/i386.c (ix86_target_string): Add -msgx.
-	(PTA_SGX): New.
-	(ix86_option_override_internal): Handle new options.
-	(ix86_valid_target_attribute_inner_p): Add sgx.
-	* config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New.
-	* config/i386/i386.opt: Add msgx.
-	* config/i386/sgxintrin.h: New file.
-	* config/i386/x86intrin.h: Add sgxintrin.h.
-
-2017-01-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/71537
-	* fold-const.c (maybe_nonzero_address): Return 1 for function
-	local objects.
-	(tree_single_nonzero_warnv_p): Don't handle function local objects
-	here.
-
-	PR c++/72813
-	* gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps
-	of c-header.
-
-2017-01-11  David Malcolm  <dmalcolm@redhat.com>
-
-	PR driver/78877
-	* opts.c: Include "spellcheck.h"
-	(struct string_fragment): New struct.
-	(struct edit_distance_traits<const string_fragment &>): New
-	struct.
-	(get_closest_sanitizer_option): New function.
-	(parse_sanitizer_options): Offer suggestions for unrecognized arguments.
-
-2017-01-11  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease
-	by 12.
-	(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always
-	DWARF_COMPILE_UNIT_HEADER_SIZE plus 12.
-	(DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define.
-	(calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE
-	for initial die_offset if dwarf_split_debug_info.
-	(output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for
-	initial next_die_offset if dwo_id is non-NULL.  Don't emit padding
-	fields.
-	(output_skeleton_debug_sections): Formatting fix.  Use
-	DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of
-	DWARF_COMPILE_UNIT_HEADER_SIZE.  Don't emit padding.
-
-2017-01-11  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/cortex-a53.md: Add bypasses for
-	cortex_a53_r2f_cvt.
-	(cortex_a53_r2f): Only use for transfers.
-	(cortex_a53_f2r): Likewise.
-	(cortex_a53_r2f_cvt): Add reservation for conversions.
-	(cortex_a53_f2r_cvt): Likewise.
-
-2017-01-11  Tamar Christina  <tamar.christina@arm.com>
-
-	* config/arm/arm_neon.h: Add __artificial__ and gnu_inline
-	to all inlined functions, change static to extern.
-
-2017-01-11  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	PR target/78253
-	* config/arm/arm.c (legitimize_pic_address): Handle reference to
-	weak symbol.
-	(arm_assemble_integer): Likewise.
-
-2017-01-11  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config.gcc: Use new awk script to check CPU, FPU and architecture
-	parameters for --with-... options.
-	* config/arm/parsecpu.awk: New file
-	* config/arm/arm-cpus.in: New file.
-	* config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def
-	files.
-	* config/arm/arm.c: Include arm-cpu-data.h instead of processing .def
-	files.
-	* config/arm/t-arm: Update dependency rules.
-	* common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead
-	of processing .def files.
-	* config/arm/genopt.sh: Deleted.
-	* config/arm/gentune.sh: Deleted.
-	* config/arm/arm-cores.def: Deleted.
-	* config/arm/arm-arches.def: Deleted.
-	* config/arm/arm-fpus.def: Deleted.
-	* config/arm/arm-tune.md: Regenerated.
-	* config/arm/arm-tables.opt: Regenerated.
-	* config/arm/arm-cpu.h: New generated file.
-	* config/arm/arm-cpu-data.h: New generated file.
-	* config/arm/arm-cpu-cdata.h: New generated file.
-
-2017-01-11  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR lto/79042
-	* lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
-	bit.
-	(input_varpool_node): Unpack dynamically_initialized bit.
-
-2017-01-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR rtl-optimization/79032
-	* lra-constraints.c (simplify_operand_subreg): In the MEM case, test
-	the alignment of the adjusted memory reference against that of MODE,
-	instead of the alignment of the original memory reference.
-
-2017-01-11  Martin Jambor  <mjambor@suse.cz>
-
-	* hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
-	test.
-	* ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
-	decorated functions.
-
-2017-01-11  Richard Biener  <rguenther@suse.de>
-
-	* tree-vrp.c (evrp_dom_walker::before_dom_children): Also
-	set range/nonnull info for PHI results.  Do not set it on
-	stmts marked for removal.
-
-2017-01-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* expr.c (store_field): In the bitfield case, fetch the return value
-	from the registers before applying a single big-endian adjustment.
-	Always do a final load for a BLKmode value not larger than a word.
-
-2017-01-10  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c++/77949
-	* input.c (selftest::test_accessing_ordinary_linemaps): Verify
-	that we correctly handle column numbers greater than
-	LINE_MAP_MAX_COLUMN_NUMBER.
-
-2017-01-10  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/78245
-	* gimple-ssa-sprintf.c (get_destination_size): Call
-	{init,fini}object_sizes.
-	* tree-object-size.c (addr_object_size): Adjust.
-	(pass_through_call): Adjust.
-	(pass_object_sizes::execute): Adjust.
-	* tree-object-size.h (fini_object_sizes): Declare.
-
-2017-01-10  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/78775
-	* builtins.c (get_size_range): Move...
-	* calls.c: ...to here.
-	(alloc_max_size): Accept zero argument.
-	(operand_signed_p): Remove.
-	(maybe_warn_alloc_args_overflow): Call get_size_range.
-	* calls.h (get_size_range): Declare.
-
-2017-01-10  Joe Seymour  <joe.s@somniumtech.com>
-
-	* config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data
-	from TI's devices.csv file as of September 2016.
-	* config/msp430/msp430.c (msp430_mcu_data): Likewise.
-
-2017-01-10  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/extend.texi: Tweak formatting to fix overfull hbox warnings.
-	* doc/invoke.texi: Likewise.
-	* doc/md.texi: Likewise.
-	* doc/objc.texi: Likewise.
-
-2017-01-10  Joshua Conner  <joshconner@google.com>
-
-	* config/arm/fuchsia-elf.h: New file.
-	* config/fuchsia.h: New file.
-	* config.gcc (*-*-fuchsia*): Set native_system_header_dir.
-	(aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to
-	targets.
-	* config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts.
-
-2016-01-10  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/79034
-	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
-	Propagate out degenerate PHIs in the joiner.
-
-2017-01-10  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf.c (sort_sem_items_by_decl_uid): New function.
-	(sort_congruence_classes_by_decl_uid): Likewise.
-	(sort_congruence_class_groups_by_decl_uid): Likewise.
-	(sem_item_optimizer::merge_classes): Sort class, groups in these
-	classes and members in the groups by DECL_UID of declarations.
-	This would make merge operations stable.
-
-2017-01-10  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove
-	usage of m_classes_vec.
-	(sem_item_optimizer::~sem_item_optimizer):  Likewise.
-	(sem_item_optimizer::get_group_by_hash): Likewise.
-	(sem_item_optimizer::subdivide_classes_by_equality): Likewise.
-	(sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise.
-	(sem_item_optimizer::verify_classes): Likewise.
-	(sem_item_optimizer::process_cong_reduction): Likewise.
-	(sem_item_optimizer::dump_cong_classes): Likewise.
-	(sem_item_optimizer::merge_classes): Likewise.
-	* ipa-icf.h (congruence_class_hash): Rename from
-	congruence_class_group_hash.  Remove declaration of m_classes_vec.
-
-2017-01-10  Andrew Senkevich  <andrew.senkevich@intel.com>
-
-	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
-	OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
-	* config.gcc: Add avx512vpopcntdqintrin.h.
-	* config/i386/avx512vpopcntdqintrin.h: New.
-	* config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
-	* config/i386/i386-builtin-types.def: Add new types.
-	* config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
-	__builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
-	__builtin_ia32_vpopcountq_v8di_mask): New.
-	* config/i386/i386-c.c (ix86_target_macros_internal): Define
-	__AVX512VPOPCNTDQ__.
-	* config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
-	(PTA_AVX512VPOPCNTDQ): Define.
-	* config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
-	TARGET_AVX512VPOPCNTDQ_P): Define.
-	* config/i386/i386.opt: Add mavx512vpopcntdq.
-	* config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
-	* config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.
-
-2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/77484
-	* predict.def (PRED_CALL): Set to 67.
-
-2017-01-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* expr.c (store_field): In the bitfield case, if the value comes from
-	a function call and is of an aggregate type returned in registers, do
-	not modify the field mode; extract the value in all cases if the mode
-	is BLKmode and the size is not larger than a word.
-
-2017-01-09  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR target/71017
-	* config/i386/cpuid.h: Fix undefined behavior.
-
-2017-01-04  Jeff Law  <law@redhat.com>
-
-	PR tree-optimization/79007
-	PR tree-optimization/67955
-	* tree-ssa-alias.c (same_addr_size_stores_p): Only need to be
-	conservative for pt.null when flag_non_call_exceptions is on.
-
-2017-01-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR translation/79019
-	PR translation/79020
-	* params.def (PARAM_INLINE_MIN_SPEEDUP,
-	PARAM_IPA_CP_SINGLE_CALL_PENALTY,
-	PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos
-	in descriptions.
-	* config/avr/avr.opt (maccumulate-args): Likewise.
-	* config/msp430/msp430.opt (mwarn-mcu): Likewise.
-	* common.opt (freport-bug): Likewise.
-	* cif-code.def (CIF_FINAL_ERROR): Likewise.
-	* doc/invoke.texi (ipa-cp-single-call-penalty): Likewise.
-	* config/s390/s390.c (s390_invalid_binary_op): Fix spelling in
-	translatable string.
-	* config/i386/i386.c (function_value_32): Likewise.
-	* config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise.
-	* config/msp430/msp430.c (msp430_option_override, msp430_attr):
-	Likewise.
-	* config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise.
-	* common/config/msp430/msp430-common.c (msp430_handle_option):
-	Likewise.
-	* symtab.c (symtab_node::verify_base): Likewise.
-	* opts.c (set_debug_level): Likewise.
-	* tree.c (verify_type_variant): Likewise.  Fix typo in comment.
-	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
-	missing whitespace to translatable strings.
-	* config/avr/avr.md (bswapsi2): Fix typo in comment.
-	* config/sh/superh.h: Likewise.
-	* config/i386/xopintrin.h: Likewise.
-	* config/i386/znver1.md: Likewise.
-	* config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise.
-	* ipa-inline-analysis.c (compute_inline_parameters): Likewise.
-	* double-int.h (struct double_int): Likewise.
-	* double-int.c (div_and_round_double): Likewise.
-	* wide-int.cc: Likewise.
-	* tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
-	* cfgcleanup.c (crossjumps_occured): Renamed to ...
-	(crossjumps_occurred): ... this.
-	(try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg):
-	Adjust all uses.
-
-	PR tree-optimization/78899
-	* tree-if-conv.c (version_loop_for_if_conversion): Instead of
-	returning bool return struct loop *, NULL for failure and the new
-	loop on success.
-	(versionable_outer_loop_p): Don't version outer loop if it has
-	dont_vectorized bit set.
-	(tree_if_conversion): When versioning outer loop, ensure
-	tree_if_conversion is performed also on the inner loop of the
-	non-vectorizable outer loop copy.
-	* tree-vectorizer.c (set_uid_loop_bbs): Formatting fix.  Fold
-	LOOP_VECTORIZED in inner loop of the scalar outer loop and
-	prevent vectorization of it.
-	(vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure
-	the outer loop vectorization of the non-scalar version is attempted
-	before vectorization of the inner loop in scalar version.  If
-	outer LOOP_VECTORIZED guarded loop is not vectorized, prevent
-	vectorization of its inner loop.
-	* tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop
-	has 2 inner loops, rename also on edges from bb whose single pred
-	is outer_loop->header.  Fix typo in function comment.
-
-2017-01-09  Martin Sebor  <msebor@redhat.com>
-
-	PR bootstrap/79033
-	* asan.c (asan_emit_stack_protection): Increase local buffer size
-	to avoid snprintf truncation warning.
-
-2017-01-09  Andrew Pinski  <apinski@cavium.com>
-
-	* config/aarch64/aarch64-cores.def: Add thunderx2t99.  Change vulcan
-	to reference thunderx2t99 for the tuning structure
-	* config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs):
-	Rename to ...
-	(thunderx2t99_extra_costs): This.
-	* config/aarch64/aarch64-tune.md: Regenerate.
-	* config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ...
-	(vulcan_addrcost_table): This.
-	(vulcan_regmove_cost): Rename to ...
-	(thunderx2t99_regmove_cost): This.
-	(vulcan_vector_cost): Rename to ...
-	(thunderx2t99_vector_cost): this.
-	(vulcan_branch_cost): Rename to ...
-	(thunderx2t99_branch_cost): This.
-	(vulcan_tunings): Rename to ...
-	(thunderx2t99_tunings): This and s/vulcan/thunderx2t99 .
-	* doc/invoke.texi (AARCH64/mtune): Add thunderx2t99.
-
-2017-01-09  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/78365
-	PR ipa/78599
-	* ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr.
-	* ipa-cp.c (ipa_vr_operation_and_type_effects): New function.
-	(propagate_vr_accross_jump_function): Use the above function for all
-	value range computations for pass-through jump functions and type
-	converasion from explicit value range values.
-	(ipcp_propagate_stage): Do not attempt to deduce types of formal
-	parameters from TYPE_ARG_TYPES.
-	* ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace.
-	(ipa_write_node_info): Stream type of the actual argument.
-	(ipa_read_node_info): Likewise. Also remove trailing whitespace.
-
-2017-01-09  Martin Liska  <mliska@suse.cz>
-
-	PR pch/78970
-	* gcc.c (driver_handle_option): Handle OPT_E and set have_E.
-	(lookup_compiler): Do not show error message with have_E.
-
-2017-01-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78938
-	* tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR
-	where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use
-	BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of
-	{EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR.  Formatting
-	fixes.
-
-2017-01-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* tree-ssa-address.c (gen_addr_rtx): Don't handle index if it
-	is const0_rtx.
-
-2017-01-09  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/78997
-	* tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA
-	name condition properly.
-
-2017-01-09  Richard Biener  <rguenther@suse.de>
-
-	PR debug/79000
-	* dwarf2out.c (is_cxx): New overload with context.
-	(is_naming_typedef_decl): Use it.
-
-2017-01-08  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* invoke.texi (Option Summary): Correct spacing in option lists
-	and add line breaks to fix over-long lines.
-
-2017-01-08  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR middle-end/17660
-
-	* extend.texi (Common Variable Attributes): Add xref to GCC
-	Internals manual to explain mode attribute keywords.
-
-2017-01-08  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR other/16519
-	* doc/invoke.texi (Option Summary): Move -pthread to Linker Options
-	and Preprocessor Options.
-	(Options for Linking): Document -pthread here....
-	(RS/6000 and PowerPC Options): ...not here.
-	(Solaris 2 Options): ...or here.
-	* doc/cppopts.texi: Document -pthread.
-
-2017-01-08  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/77708
-	* doc/invoke.texi (Warning Options): Document -Wformat-truncation.
-	* gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt):
-	New member functions.
-	(format_directive): Used them.
-	(add_bytes): Same.
-	(pass_sprintf_length::handle_gimple_call): Same.
-	* graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size
-	to avoid truncation for any argument.
-	(extract_affine_mul): Same.
-	* tree.c (get_file_function_name): Same.
-
-2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/77484
-	* predict.def (PRED_INDIR_CALL): Set to 86.
-
-2017-01-07  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR preprocessor/54124
-	* doc/cppopts.texi: Reformat -d subtable to list the full name
-	of the options.  Add cross-reference to the docs for the general
-	compiler -d options.
-	* doc/invoke.texi (Developer Options): Add cross-reference to the
-	preprocessor-specific -d option documentation.
-
-2017-01-07  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR preprocessor/13498
-	* doc/cpp.texi (Search Path): Rewrite to remove obsolete and
-	redudant material, and reflect new command-line options.
-	(System Headers): Likewise.
-
-2017-01-07  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* doc/cppdiropts.texi: Merge documentation of -I, -iquote,
-	-isystem, and -idirafter.  Copy-edit.
-	* doc/cppopts.texi: Copy-edit.  Remove contradiction about
-	default for -ftrack-macro-expansion.  Delete obsolete and
-	badly-formatted implementation details about -fdebug-cpp output.
-	* doc/cppwarnopts.texi: Copy-edit.
-
-2017-01-07  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c++/72803
-	* input.c (selftest::test_accessing_ordinary_linemaps): Verify
-	that the transition from a max line width >= 1<<10 to narrower
-	lines works correctly.
-
-2017-01-07  Alexandre Oliva  <aoliva@redhat.com>
-
-	* doc/options.texi (PerFunction): New.
-	* opt-functions.awk (switch_flags): Map both Optimization and
-	PerFunction to CL_OPTIMIZATION.
-	* opth-gen.awk: Test for PerFunction flag along with
-	Optimization.
-	* optc-save-gen.awk: Likewise.  Introduce var_opt_hash and set
-	it only when the latter is present.  Skip those that don't in
-	the hash function generator.
-	* common.opt (fvar-tracking): Mark as PerFunction instead of
-	Optimization.
-	(fvar-tracking-assignments): Likewise.
-	(fvar-tracking-assignments-toggle): Likewise.
-	(fvar-tracking-uninit): Likewise.
-
-2017-01-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR translation/79018
-	* params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between
-	the and store.
-
-2017-01-06  Mikael Pettersson  <mikpelinux@gmail.com>
-
-	PR target/57583
-	* config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option.
-	* config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle
-	TARGET_LONG_JUMP_TABLE_OFFSETS.
-	* config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
-	* config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
-	* config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise.
-	(ASM_OUTPUT_ADDR_DIFF_ELF): Likewise.
-	* config/m68k/m68k.md (tablejump expander): Likewise.
-	(*tablejump_pcrel_hi): Renamed from unnamed insn, reject
-	TARGET_LONG_JUMP_TABLE_OFFSETS.
-	(*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS.
-	* doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets.
-
-2017-01-06  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
-	    David Holsgrove <david.holsgrove@xilinx.com>
-
-	* common/config/microblaze/microblaze-common.c
-	(TARGET_EXCEPT_UNWIND_INFO): Remove.
-	* config/microblaze/microblaze-protos.h (microblaze_eh_return):
-	New prototype.
-	* config/microblaze/microblaze.c (microblaze_must_save_register)
-	(microblaze_expand_epilogue, microblaze_return_addr): Handle
-	calls_eh_return.
-	(microblaze_eh_return): New function.
-	* config/microblaze/microblaze.h (RETURN_ADDR_OFFSET)
-	(EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM)
-	(EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros.
-	* config/microblaze/microblaze.md (eh_return): New pattern.
-
-2017-01-06  Jakub Jelinek  <jakub@redhat.com>
-
-	* system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP,
-	GCC_DIAGNOSTIC_STRINGIFY): Define.
-
-	* read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare warning.
-
-2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm.md (<mcrr>): New.
-	(<mrrc>): New.
-	* config/arm/arm.c (arm_arch5te): New.
-	(arm_option_override): Set arm_arch5te.
-	(arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc
-	and mrrc2.
-	* config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to...
-	(arm_mcrr_qualifiers): ... this. New.
-	(MRRC_QUALIFIERS): Define to...
-	(arm_mrrc_qualifiers): ... this. New.
-	* config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc,
-	__arm_mrrc2): New.
-	* config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New.
-	* config/arm/iterators.md (MCRRI, mcrr, MCRR): New.
-	(MRRCI, mrrc, MRRC): New.
-	* config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC,
-	VUNSPEC_MRRC2): New.
-
-2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm.md (<mcr>): New.
-	(<mrc>): New.
-	* config/arm/arm.c (arm_coproc_builtin_available): Add
-	support for mcr, mrc, mcr2 and mrc2.
-	* config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to...
-	(arm_mcr_qualifiers): ... this. New.
-	(MRC_QUALIFIERS): Define to ...
-	(arm_mrc_qualifiers): ... this. New.
-	(MCR_QUALIFIERS): Define to ...
-	(arm_mcr_qualifiers): ... this. New.
-	* config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2,
-	__arm_mrc2): New.
-	* config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New.
-	* config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New.
-	* config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC,
-	VUNSPEC_MRC2): New.
-
-2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm.md (*ldc): New.
-	(*stc): New.
-	(<ldc>): New.
-	(<stc>): New.
-	* config/arm/arm.c (arm_coproc_builtin_available): Add
-	support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l.
-	(arm_coproc_ldc_stc_legitimate_address): New.
-	* config/arm/arm-builtins.c (arm_type_qualifiers): Add
-	'qualifier_const_pointer'.
-	(LDC_QUALIFIERS): Define to...
-	(arm_ldc_qualifiers): ... this. New.
-	(STC_QUALIFIERS): Define to...
-	(arm_stc_qualifiers): ... this. New.
-	* config/arm/arm-protos.h
-	(arm_coproc_ldc_stc_legitimate_address): New.
-	* config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc,
-	__arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New.
-	* config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc,
-	stc2, stcl, stc2l): New.
-	* config/arm/constraints.md (Uz): New.
-	* config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New.
-	* config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL,
-	VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL,
-	VUNSPEC_STC2L): New.
-
-2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm.md (<cdp>): New.
-	* config/arm/arm.c (neon_const_bounds): Rename this ...
-	(arm_const_bounds): ... this.
-	(arm_coproc_builtin_available): New.
-	* config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase.
-	(arm_type_qualifiers): Add 'qualifier_unsigned_immediate'.
-	(CDP_QUALIFIERS): Define to...
-	(arm_cdp_qualifiers): ... this. New.
-	(void_UP): Define.
-	(arm_expand_builtin_args): Add case for 6 arguments.
-	* config/arm/arm-protos.h (neon_const_bounds): Rename this ...
-	(arm_const_bounds): ... this.
-	(arm_coproc_builtin_available): New.
-	* config/arm/arm_acle.h (__arm_cdp): New.
-	(__arm_cdp2): New.
-	* config/arm/arm_acle_builtins.def (cdp): New.
-	(cdp2): New.
-	* config/arm/iterators.md (CDPI,CDP,cdp): New.
-	* config/arm/neon.md: Rename all 'neon_const_bounds' to
-	'arm_const_bounds'.
-	* config/arm/types.md (coproc): New.
-	* config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New.
-	* doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics.
-	* doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok,
-	arm_coproc3_ok, arm_coproc4_ok): Document new effective targets.
-
-2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New.
-	(UBINOP_QUALIFIERS): New.
-	(si_UP): Define.
-	(acle_builtin_data): New. Change comment.
-	(arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H,
-	ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH,
-	ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include
-	arm_acle_builtins.def.
-	(ARM_BUILTIN_ACLE_PATTERN_START): Define.
-	(arm_init_acle_builtins): New.
-	(CRC32_BUILTIN): Remove.
-	(bdesc_2arg): Remove entries for crc32b, crc32h, crc32w,
-	crc32cb, crc32ch and crc32cw.
-	(arm_init_crc32_builtins): Remove.
-	(arm_init_builtins): Use arm_init_acle_builtins rather
-	than arm_init_crc32_builtins.
-	(arm_expand_acle_builtin): New.
-	(arm_expand_builtin): Use 'arm_expand_acle_builtin'.
-	* config/arm/arm_acle_builtins.def: New.
-
-2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/arm-builtins.c (neon_builtin_datum): Rename to ..
-	(arm_builtin_datum): ... this.
-	(arm_init_neon_builtin): Rename to ...
-	(arm_init_builtin): ... this. Add a new parameters PREFIX
-	and USE_SIG_IN_NAME.
-	(arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with
-	'arm_init_builtin'. Replace type 'neon_builtin_datum' with
-	'arm_builtin_datum'.
-	(arm_init_vfp_builtins): Likewise.
-	(builtin_arg): Rename enum's replacing 'NEON_ARG' with
-	'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY.
-	(arm_expand_neon_args): Rename to ...
-	(arm_expand_builtin_args): ... this. Rename builtin_arg
-	enum values and differentiate between ARG_BUILTIN_MEMORY
-	and ARG_BUILTIN_NEON_MEMORY.
-	(arm_expand_neon_builtin_1): Rename to ...
-	(arm_expand_builtin_1): ... this. Rename builtin_arg enum
-	values, arm_expand_builtin_args and add bool parameter NEON.
-	(arm_expand_neon_builtin): Use arm_expand_builtin_1.
-	(arm_expand_vfp_builtin): Likewise.
-	(NEON_MAX_BUILTIN_ARGS): Remove, it was unused.
-
-2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/77484
-	* predict.def (PRED_POLYMORPHIC_CALL): Set to 59.
-	* predict.c (tree_estimate_probability_bb): Reverse direction of
-	polymorphic call predictor.
-
-2017-01-06  David Malcolm  <dmalcolm@redhat.com>
-
-	* passes.c (execute_one_pass): Split out pass-skipping logic into...
-	(determine_pass_name_match): ...this new function and...
-	(should_skip_pass_p): ...this new function.
-
-2017-01-06  Nathan Sidwell  <nathan@acm.org>
-
-	* ipa-visibility.c (function_and_variable_visibility): Reformat
-	comments and long lines.  Remove extrneous if.
-	* symtab.c (symtab_node::make_decl_local): Fix code format.
-	(symtab_node::set_section_for_node): Fix comment typo.
-
-2017-01-06  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/79003
-	* lra-constraints.c: Rename invariant to lra_invariant.
-	* predict.c (set_even_probabilities): Initialize e to NULL.
-
-2017-01-05  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/78910
-	* gimple-ssa-sprintf.c (tree_digits): Add an argument.
-	(format_integer): Correct off-by-one error in the handling
-	of precision with negative numbers in signed conversions..
-
-2017-01-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry.
-
-2017-01-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71016
-	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to
-	factor_out_conditional_conversion.  Formatting fix.
-	(factor_out_conditional_conversion): Add cond_stmt argument.
-	If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of
-	cond_stmt and if arg0_def_stmt is not the only stmt in its bb.
-	Formatting fix.
-
-2017-01-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* Makefile.in (OBJS): Add read-md.o, read-rtl.o,
-	read-rtl-function.o, and selftest-rtl.o.
-	* config/aarch64/aarch64.c: Include selftest.h and selftest-rtl.h.
-	(selftest::aarch64_test_loading_full_dump): New function.
-	(selftest::aarch64_run_selftests): New function.
-	(TARGET_RUN_TARGET_SELFTESTS): Wire it up to
-	selftest::aarch64_run_selftests.
-	* config/i386/i386.c
-	(selftest::ix86_test_loading_dump_fragment_1): New function.
-	(selftest::ix86_test_loading_call_insn): New function.
-	(selftest::ix86_test_loading_full_dump): New function.
-	(selftest::ix86_test_loading_unspec): New function.
-	(selftest::ix86_run_selftests): Call the new functions.
-	* emit-rtl.c (maybe_set_max_label_num): New function.
-	* emit-rtl.h (maybe_set_max_label_num): New decl.
-	* function.c (instantiate_decls): Guard call to
-	instantiate_decls_1 with if (DECL_INITIAL (fndecl)).
-	* function-tests.c (selftest::verify_three_block_rtl_cfg): Remove
-	"static".
-	* gensupport.c (gen_reader::gen_reader): Pass "false"
-	for new "compact" param of rtx_reader.
-	* print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)"
-	rather than an empty string for NULL strings.
-	* read-md.c: Potentially include config.h rather than bconfig.h.
-	Wrap include of errors.h with #ifdef GENERATOR_FILE.
-	(have_error): New global, copied from errors.c.
-	(md_reader::read_name): Rename to...
-	(md_reader::read_name_1): ...this, adding "out_loc" param,
-	and converting "missing name or number" to returning false, rather
-	than failing.
-	(md_reader::read_name): Reimplement in terms of read_name_1.
-	(md_reader::read_name_or_nil): New function.
-	(md_reader::read_string): Handle "(nil)" by returning NULL.
-	(md_reader::md_reader): Add new param "compact".
-	(md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE.
-	(md_reader::read_file): New method.
-	* read-md.h (md_reader::md_reader): Add new param "compact".
-	(md_reader::read_file): New method.
-	(md_reader::is_compact): New accessor.
-	(md_reader::read_name): Convert return type from void to file_location.
-	(md_reader::read_name_or_nil): New decl.
-	(md_reader::read_name_1): New decl.
-	(md_reader::m_compact): New field.
-	(noop_reader::noop_reader): Pass "false" for new "compact" param
-	of rtx_reader.
-	(rtx_reader::rtx_reader): Add new "compact" param.
-	(rtx_reader::read_rtx_operand): Make virtual and convert return
-	type from void to rtx.
-	(rtx_reader::read_until): New decl.
-	(rtx_reader::handle_any_trailing_information): New virtual function.
-	(rtx_reader::postprocess): New virtual function.
-	(rtx_reader::finalize_string): New virtual function.
-	(rtx_reader::m_in_call_function_usage): New field.
-	(rtx_reader::m_reuse_rtx_by_id): New field.
-	* read-rtl-function.c: New file.
-	* selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function.
-	* selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro.
-	(selftest::verify_three_block_rtl_cfg): New decl.
-	* read-rtl-function.h: New file.
-	* read-rtl.c: Potentially include config.h rather than bconfig.h.
-	For host, include function.h, memmodel.h, and emit-rtl.h.
-	(one_time_initialization): New function.
-	(struct compact_insn_name): New struct.
-	(compact_insn_names): New array.
-	(find_code): Handle insn codes in compact dumps.
-	(apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE.
-	(bind_subst_iter_and_attr): Likewise.
-	(add_condition_to_string): Likewise.
-	(add_condition_to_rtx): Likewise.
-	(apply_attribute_uses): Likewise.
-	(add_current_iterators): Likewise.
-	(apply_iterators): Likewise.
-	(initialize_iterators): Guard usage of apply_subst_iterator with
-	#ifdef GENERATOR_FILE.
-	(read_conditions): Wrap with #ifdef GENERATOR_FILE.
-	(md_reader::read_mapping): Likewise.
-	(add_define_attr_for_define_subst): Likewise.
-	(add_define_subst_attr): Likewise.
-	(read_subst_mapping): Likewise.
-	(check_code_iterator): Likewise.
-	(rtx_reader::read_rtx): Likewise.  Move one-time initialization
-	logic to...
-	(one_time_initialization): New function.
-	(rtx_reader::read_until): New method.
-	(read_flags): New function.
-	(parse_reg_note_name): New function.
-	(rtx_reader::read_rtx_code): Initialize "iterator" to NULL.
-	Handle reuse_rtx ids.
-	Wrap iterator lookup within #ifdef GENERATOR_FILE.
-	Add parsing support for RTL dumps, mirroring the special-cases in
-	print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID
-	values, and calling handle_any_trailing_information.
-	(rtx_reader::read_rtx_operand): Convert return type from void
-	to rtx, returning return_rtx.  Handle case 'e'.  Call
-	finalize_string on XSTR and XTMPL fields.
-	(rtx_reader::read_nested_rtx):  Handle dumps in which trailing
-	 "(nil)" values were omitted.  Call the postprocess vfunc on the
-	return_rtx.
-	(rtx_reader::rtx_reader): Add new "compact" param and pass to base
-	class ctor.  Initialize m_in_call_function_usage.  Call
-	one_time_initialization.
-	* rtl-tests.c (selftest::test_uncond_jump): Call
-	set_new_first_and_last_insn.
-	* rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE.
-	* selftest-rtl.c: New file.
-	* selftest-rtl.h (class selftest::rtl_dump_test): New class.
-	(selftest::get_insn_by_uid): New decl.
-	* selftest-run-tests.c (selftest::run_tests): Call
-	read_rtl_function_c_tests.
-	* selftest.h  (selftest::read_rtl_function_c_tests): New decl.
-	* tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function
-	dumps.
-
-2017-01-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*testqi_ext_3): No need to handle memory
-	operands in a special way.  Assert that pos+len <= mode precision.
-
-2017-01-05  Jakub Jelinek  <jakub@redhat.com>
-
-	* common.opt (fvect-cost-model): Remove RejectNegative flag, use
-	3 argument Alias with unlimited for the negative form.
-	(fno-vect-cost-model): Removed.
-
-2017-01-05  Martin Liska  <mliska@suse.cz>
-
-	* hsa-gen.c (gen_hsa_divmod): New function.
-	(gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD.
-
-2017-01-05  Martin Liska  <mliska@suse.cz>
-
-	PR pch/78970
-	* gcc.c (lookup_compiler): Reject '-' filename for a precompiled
-	header.
-
-2017-01-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_setmem): Unroll the loop for
-	small constant length operands.
-
-2017-01-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes
-	between loop iterations.
-
-2017-01-05  Martin Liska  <mliska@suse.cz>
-
-	PR sanitizer/78815
-	* gimplify.c (gimplify_decl_expr): Compare to
-	asan_poisoned_variables instread of checking flags.
-	(gimplify_target_expr): Likewise.
-	(gimplify_expr): Likewise.
-	(gimplify_function_tree): Conditionally initialize
-	asan_poisoned_variables.
-
-2017-01-04  Jeff Law  <law@redhat.com>
-
-	PR tree-optimizatin/78812
-	* rtl.h (contains_mem_rtx_p): Prototype.
-	* ifcvt.c (containts_mem_rtx_p): Move from here to...
-	* rtlanal.c (contains_mem_rtx_p): Here and remove static linkage.
-	* gcse.c (prune_expressions): Use contains_mem_rtx_p to discover
-	and prune MEMs that are not at the toplevel of a SET_SRC rtx.  Look
-	through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs.
-
-2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
-
-	* input.c (assert_char_at_range): Default-initialize actual_range.
-
-2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
-
-	* df-scan.c (df_ref_create_structure): Make regno unsigned,
-	to match the caller.
-
-2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
-
-	* cfgexpand.c (expand_gimple_basic_block): Disregard debug
-	insns after final jump in test to emit dummy move.
-
-2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
-
-	* gimple-iterator.h (gsi_one_nondebug_before_end_p): New.
-	* tree-eh.c (cleanup_empty_eh): Skip more debug stmts.
-
-2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
-
-	* multiple_target.c (create_dispatcher_calls): Init e_next.
-	* tree-ssa-loop-split.c (split_loop): Init border.
-	* tree-vect-loop.c (vect_determine_vectorization_factor): Init
-	scalar_type.
-
-2017-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/71977
-	PR target/70568
-	PR target/78823
-	* config/rs6000/predicates.md (sf_subreg_operand): New predicate.
-	(altivec_register_operand): Do not return true if the operand
-	contains a SUBREG mixing SImode and SFmode.
-	(vsx_register_operand): Likewise.
-	(vsx_reg_sfsubreg_ok): New predicate.
-	(vfloat_operand): Do not return true if the operand contains a
-	SUBREG mixing SImode and SFmode.
-	(vint_operand): Likewise.
-	(vlogical_operand): Likewise.
-	(gpc_reg_operand): Likewise.
-	(int_reg_operand): Likewise.
-	* config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration.
-	* config/rs6000/rs6000.c (valid_sf_si_move): New function to
-	determine if a MOVSI or MOVSF operation contains SUBREGs that mix
-	SImode and SFmode.
-	(rs6000_emit_move_si_sf_subreg): New helper function.
-	(rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily
-	fixup SUBREGs involving SImode and SFmode.
-	* config/rs6000/vsx.md (SFBOOL_*): New constants that are operand
-	numbers for the new peephole2 optimization.
-	(peephole2 for SFmode unions): New peephole2 to optimize cases in
-	the GLIBC math library that do AND/IOR/XOR operations on single
-	precision floating point.
-	* config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal
-	target macros to say whether we need to avoid SUBREGs mixing
-	SImode and SFmode.
-	(TARGET_ALLOW_SF_SUBREG): Likewise.
-	* config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs.
-	(UNSPEC_SI_FROM_SF): Likewise.
-	(iorxor): Change spacing.
-	(and_ior_xor): New iterator for AND, IOR, and XOR.
-	(movsi_from_sf): New insns for SImode/SFmode SUBREG support.
-	(movdi_from_sf_zero_ext): Likewise.
-	(mov<mode>_hardfloat, FMOVE32 iterator): Use register_operand
-	instead of gpc_reg_operand.  Add SImode/SFmode SUBREG support.
-	(movsf_from_si): New insn for SImode/SFmode SUBREG support.
-	(fma<mode>4): Use gpc_reg_operand instead of register_operand.
-	(fms<mode>4): Likewise.
-	(fnma<mode>4): Likewise.
-	(fnms<mode>4): Likewise.
-	(nfma<mode>4): Likewise.
-	(nfms<mode>4): Likewise.
-
-2017-01-04  Marek Polacek  <polacek@redhat.com>
-
-	PR c++/64767
-	* doc/invoke.texi: Document -Wpointer-compare.
-
-2017-01-04  Jakub Jelinek  <jakub@redhat.com>
-
-	* optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without
-	RejectNegative.
-
-	* dwarf2out.c (output_loc_list): Don't throw away 64K+ location
-	descriptions for -gdwarf-5 and emit them as uleb128 instead of
-	2-byte data.
-
-2017-01-04  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	PR target/78056
-	* doc/sourcebuild.texi (PowerPC-specific attributes): Add
-	documentation of the powerpc_popcntb_ok attribute.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
-	code to issue warning messages if a requested CPU configuration is
-	not supported by the binary (assembler and loader) toolchain.
-	(spe_init_builtins): Add two assertions to prevent ICE if attempt is
-	made to define a built-in function that has been disabled.
-	(paired_init_builtins): Add assertion to prevent ICE if attempt is
-	made to define a built-in function that has been disabled.
-	(altivec_init_builtins): Add comment explaining why definition
-	of the DST built-in functions is not preceded by an assertion
-	check.  Add assertions to prevent ICE if attempts are made to
-	define an altivec predicate or an abs* built-in function that has
-	been disabled.
-	(htm_init_builtins): Add comment explaining why definition of the
-	htm built-in functions is not preceded by an assertion check.
-
-2017-01-04  Jeff Law  <law@redhat.com>
-
-	PR tree-optimizatin/67955
-	* tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first.
-	Allow any SSA_VAR_P as the base objects.  Use integer_zerop.  Verify
-	the points-to solution does not include pt_null.  Use DECL_PT_UID
-	unconditionally.
-
-2017-01-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (HI/SImode test with imm to QImode splitters):
-	Use gen_int_mode instead of gen_lopwart for const_int operands.
-
-2017-01-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/71563
-	* match.pd: Simplify X << Y into X if Y is known to be 0 or
-	out of range value - has low bits known to be zero.
-
-2017-01-04  Alan Modra  <amodra@gmail.com>
-
-	* Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-
-2017-01-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/77569
-	* input.c (ebcdic_execution_charset::on_error): Don't use strstr for
-	a substring of the message, but strcmp with the whole message.  Ifdef
-	ENABLE_NLS, translate the message first using dgettext.
-
-2017-01-03  Jeff Law  <law@redhat.com>
-
-	PR tree-optimizatin/78856
-	* tree-ssa-threadupdate.c: Include tree-vectorizer.h.
-	(mark_threaded_blocks): Remove code to truncate thread paths that
-	cross multiple loop headers.  Instead invalidate the cached loop
-	iteration information and handle case of a thread path walking
-	into an irreducible region.
-
-2017-01-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
-
-	PR target/78900
-	* config/rs6000/rs6000.c (rs6000_split_signbit): Change some
-	assertions.  Add support for doing the signbit if the IEEE 128-bit
-	floating point value is in a GPR.
-	* config/rs6000/rs6000.md (Fsignbit): Delete.
-	(signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
-	Update the length attribute if the value is in a GPR.
-	(signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
-	the sign or zero extension instruction, since the value is always 0/1.
-	(signbit<mode>2_dm2): Delete using <Fsignbit>.
-
-	PR target/78953
-	* config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
-	extracting SImode to a GPR register so that we can generate a
-	store, limit the vector to be in a traditional Altivec register
-	for the vextuwrx instruction.
-
-2017-01-03  Ian Lance Taylor  <iant@google.com>
-
-	* godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE.
-
-2017-01-03  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/78696
-	* gimple-ssa-sprintf.c (format_floating): Correct handling of
-	precision.  Use MPFR for %f for greater fidelity.  Correct handling
-	of %g.
-	(pass_sprintf_length::compute_format_length): Set width and precision
-	specified by asrerisk to void_node for vararg functions.
-	(try_substitute_return_value): Adjust dump output.
-
-2017-01-03  David Edelsohn  <dje.gcc@gmail.com>
-
-	* doc/invoke.texi (RS6000 options): LRA is enabled by default.
-
-2017-01-03  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/invoke.texi (SPARC options): Document -mlra as the default.
-	* config/sparc/sparc.c (sparc_option_override): Force LRA unless
-	-mlra/-mno-lra was passed to the compiler.
-
-2017-01-03  James Cowgill  <James.Cowgill@imgtec.com>
-
-	PR rtl-optimization/65618
-	* emit-rtl.c (try_split): Move initialization of "before" and
-	"after" to just before the call to emit_insn_after_setloc.
-
-2017-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/md.texi (Standard Names): Remove reference to Java frontend.
-
-2017-01-03  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* dwarf2out.c (gen_enumeration_type_die): When
-	-gno-strict-dwarf, add a DW_AT_encoding attribute.
-
-2017-01-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/78965
-	* gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
-	Change first argument from const call_info & to call_info &.  For %n
-	set info.nowrite to false.
-
-	PR middle-end/78901
-	* gimple-ssa-sprintf.c (try_substitute_return_value): Don't change
-	possibly throwing calls.
-
-	* genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME
-	and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs
-	and fns handling, rather than in a separate case SSA_NAME.
-
-2017-01-02  Jeff Law  <law@redhat.com>
-
-	* config/darwin-driver.c (darwin_driver_init): Const-correctness
-	fixes for first_period and second_period variables.
-
-2017-01-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/78967
-	* config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
-	(*insvqi_1): New insn pattern.
-	(*insvqi_1_mem_rex64): Ditto.
-	(*insvqi_2): Ditto.
-	(*insvqi_3): Rename from *insvqi.
-
-	(*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.
-
-2017-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/cfg.texi (Edges): Remove reference to Java.
-	(Maintaining the CFG): Ditto.
-
-2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/77674
-	* symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
-	transparent aliases.
-
-2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/77484
-	* predict.def (PRED_CALL): Update hitrate.
-	(PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
-	* predict.c (tree_estimate_probability_bb): Split CALL predictor
-	into direct/indirect/polymorphic variants.
-
-2017-01-01  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.
 
-Copyright (C) 2017 Free Software Foundation, Inc.
+Copyright (C) 2018 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-2017 b/gcc/ChangeLog-2017
new file mode 100644
index 000000000000..122911df1805
--- /dev/null
+++ b/gcc/ChangeLog-2017
@@ -0,0 +1,41783 @@
+2017-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/83536
+	* config/i386/i386.c (ix86_attribute_table): Remove excess
+	initializer for "shared" attribute.
+
+2017-12-30  Tom de Vries  <tom@codesourcery.com>
+
+	PR libgomp/83046
+	* omp-expand.c (expand_omp_target): If in_lto_p, mark offload_funcs with
+	DECL_PRESERVE_P.
+	* lto-streamer-out.c (prune_offload_funcs): New function.  Remove
+	offload_funcs entries that no longer have a corresponding cgraph_node.
+	Mark the remaining ones as DECL_PRESERVE_P.
+	(output_lto): Call prune_offload_funcs.
+
+2017-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (vgf2p8affineinvqb_<mode><mask_name>,
+	vgf2p8affineqb_<mode><mask_name>, vgf2p8mulb_<mode><mask_name>,
+	vpshrd_<mode><mask_name>, vpshld_<mode><mask_name>,
+	vpshrdv_<mode>, vpshrdv_<mode>_mask, vpshrdv_<mode>_maskz,
+	vpshrdv_<mode>_maskz_1, vpshldv_<mode>, vpshldv_<mode>_mask,
+	vpshldv_<mode>_maskz, vpshldv_<mode>_maskz_1, vpdpbusd_<mode>,
+	vpdpbusd_<mode>_mask, vpdpbusd_<mode>_maskz, vpdpbusd_<mode>_maskz_1,
+	vpdpbusds_<mode>, vpdpbusds_<mode>_mask, vpdpbusds_<mode>_maskz,
+	vpdpbusds_<mode>_maskz_1, vpdpwssd_<mode>, vpdpwssd_<mode>_mask,
+	vpdpwssd_<mode>_maskz, vpdpwssd_<mode>_maskz_1, vpdpwssds_<mode>,
+	vpdpwssds_<mode>_mask, vpdpwssds_<mode>_maskz,
+	vpdpwssds_<mode>_maskz_1, vaesdec_<mode>, vaesdeclast_<mode>,
+	vaesenc_<mode>, vpclmulqdq_<mode>,
+	avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Formatting fixes.
+
+2017-12-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* builtins.def: (_Float<N> and _Float<N>X BUILT_IN_CEIL): Add
+	_Float<N> and _Float<N>X variants for rounding built-in
+	functions.
+	(_Float<N> and _Float<N>X BUILT_IN_FLOOR): Likewise.
+	(_Float<N> and _Float<N>X BUILT_IN_NEARBYINT): Likewise.
+	(_Float<N> and _Float<N>X BUILT_IN_RINT): Likewise.
+	(_Float<N> and _Float<N>X BUILT_IN_ROUND): Likewise.
+	(_Float<N> and _Float<N>X BUILT_IN_TRUNC): Likewise.
+	* builtins.c (mathfn_built_in_2): Likewise.
+	* internal-fn.def (CEIL): Likewise.
+	(FLOOR): Likewise.
+	(NEARBYINT): Likewise.
+	(RINT): Likewise.
+	(ROUND): Likewise.
+	(TRUNC): Likewise.
+	* convert.c (convert_to_integer_1): Likewise.
+	* fold-const.c (tree_call_nonnegative_warnv_p): Likewise.
+	(integer_valued_real_call_p): Likewise.
+	* fold-const-call.c (fold_const_call_ss): Likewise.
+	* gencfn-macros.c (print_case_cfn): Change CFN and operator
+	printers to take a const char * suffix instead of a bool.
+	(print_define_operator_list): Likewise.
+	(fltall_suffixes): New list of suffixes, that include the
+	traditional suffixes as well as all of the _Float<N> and
+	_Float<N>X suffixes.
+	(main): For _Float<N> and _Float<N>X functions, emit both
+	<name>_FN and <name>_ALL variants.  The <macro>_FN variant only
+	has the _Float<N> and _Float<N>X case names or operators.  The
+	<name>_ALL variant has both the traditional and the
+	_Float<N>/_Float<N>X case names or operators.
+	* match.pd (COPYSIGN optimizations): Provide optimizations for
+	_Float<N> and _Float<N>X types where possible.
+	(MIN/MAX optimizations): Likewise.
+	(sqrt optimizations): Likewise.
+	(rounding optimizations): Likewise.
+
+2017-12-28  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/powerpcspe/powerpcspe.md (ieee_128bit_negative_zero): Use
+	gen_int_mode rather than GEN_INT.
+	* config/rs6000/rs6000.md (ieee_128bit_negative_zero): Likewise.
+
+2017-12-28  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* emit-rtl.c (gen_const_vec_series): Use valid_for_const_vector_p
+	instead of CONSTANT_P.
+	(gen_vec_series): Likewise.
+	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
+
+2017-12-28  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* config/m68k/m68k.md (ashrdi3_const1, lshrdi3_const1): Add
+	CC_STATUS_INIT.
+
+2017-12-27  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* config/aarch64/aarch64-simd.md (aarch64_ld1x2<VQ:mode>): New.
+	(aarch64_ld1x2<VDC:mode>): Likewise.
+	(aarch64_simd_ld1<mode>_x2): Likewise.
+	(aarch64_simd_ld1<mode>_x2): Likewise.
+	* config/aarch64/arm_neon.h (vld1_u8_x2): New.
+	(vld1_s8_x2): Likewise.
+	(vld1_u16_x2): Likewise.
+	(vld1_s16_x2): Likewise.
+	(vld1_u32_x2): Likewise.
+	(vld1_s32_x2): Likewise.
+	(vld1_u64_x2): Likewise.
+	(vld1_s64_x2): Likewise.
+	(vld1_f16_x2): Likewise.
+	(vld1_f32_x2): Likewise.
+	(vld1_f64_x2): Likewise.
+	(vld1_p8_x2): Likewise.
+	(vld1_p16_x2): Likewise.
+	(vld1_p64_x2): Likewise.
+	(vld1q_u8_x2): Likewise.
+	(vld1q_s8_x2): Likewise.
+	(vld1q_u16_x2): Likewise.
+	(vld1q_s16_x2): Likewise.
+	(vld1q_u32_x2): Likewise.
+	(vld1q_s32_x2): Likewise.
+	(vld1q_u64_x2): Likewise.
+	(vld1q_s64_x2): Likewise.
+	(vld1q_f16_x2): Likewise.
+	(vld1q_f32_x2): Likewise.
+	(vld1q_f64_x2): Likewise.
+	(vld1q_p8_x2): Likewise.
+	(vld1q_p16_x2): Likewise.
+	(vld1q_p64_x2): Likewise.
+
+2017-12-27  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/83552
+	* tree-ssa-strlen.c (fold_strstr_to_strncmp): Assign result
+	of get_string_lenth to a SSA_NAME if not a GIMPLE value.
+
+2017-12-27  Tom de Vries  <tom@codesourcery.com>
+
+	* config/nvptx/nvptx.c (nvptx_option_override): Disable
+	-gstatement-frontiers.
+
+2017-12-26  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR rtl-optimization/83513
+	* sel-sched.c (sel_rank_for_schedule): Order by non-zero usefulness
+	before priority comparison.
+
+2017-12-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/83488
+	* config/i386/i386.opt (-mavx512vpopcntdq, -mmavx512bitalg): Move from
+	ix86_isa_flags2 to ix86_isa_flags.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Test
+	OPTION_MASK_ISA_AVX512BITALG and OPTION_MASK_ISA_AVX512VPOPCNTDQ in
+	isa_flags rather than isa_flags2.
+	* config/i386/i386.c (ix86_target_string): Move -mavx512vpopcntdq
+	and -mavx512bitalg from isa2_opts to isa_opts.
+	(ix86_option_override_internal): Test OPTION_MASK_ISA_AVX512VPOPCNTDQ
+	in x_ix86_isa_flags_explicit rather than x_ix86_isa_flags2_explicit
+	and set it in x_ix86_isa_flags rather than x_ix86_isa_flags2.
+	Formatting fixes.
+	(def_builtin): Treat OPTION_MASK_ISA_AVX512BW or
+	OPTION_MASK_ISA_AVX512F ored with another option similarly to
+	OPTION_MASK_ISA_AVX512VL.  Even for OPTION_MASK_ISA_AVX512VL don't
+	clear it if mask is just OPTION_MASK_ISA_AVX512VL itself.
+	(ix86_expand_builtin): Don't handle OPTION_MASK_ISA_GFNI and
+	OPTION_MASK_ISA_VPCLMULQDQ specially, instead handle
+	OPTION_MASK_ISA_AVX512BW and OPTION_MASK_ISA_AVX512F that way.
+	* config/i386/i386-builtin.def: Move AVX512VPOPCNTDQ and AVX512BITALG
+	builtins from bdesc_args2 to bdesc_args section.
+	(__builtin_ia32_compressstoreuqi512_mask,
+	__builtin_ia32_compressstoreuhi512_mask,
+	__builtin_ia32_compressstoreuqi256_mask,
+	__builtin_ia32_expandloadqi512_mask,
+	__builtin_ia32_expandloadqi512_maskz,
+	__builtin_ia32_expandloadhi512_mask,
+	__builtin_ia32_expandloadhi512_maskz,
+	__builtin_ia32_compressqi512_mask, __builtin_ia32_compresshi512_mask,
+	__builtin_ia32_compressqi256_mask, __builtin_ia32_expandqi512_mask,
+	__builtin_ia32_expandqi512_maskz, __builtin_ia32_expandhi512_mask,
+	__builtin_ia32_expandhi512_maskz, __builtin_ia32_expandqi256_mask,
+	__builtin_ia32_expandqi256_maskz, __builtin_ia32_vpshrd_v32hi_mask,
+	__builtin_ia32_vpshld_v32hi_mask, __builtin_ia32_vpshrdv_v32hi_mask,
+	__builtin_ia32_vpshrdv_v32hi_maskz, __builtin_ia32_vpshldv_v32hi_mask,
+	__builtin_ia32_vpshldv_v32hi_maskz,
+	__builtin_ia32_vpopcountb_v64qi_mask,
+	__builtin_ia32_vpopcountw_v32hi_mask,
+	__builtin_ia32_vpshufbitqmb512_mask,
+	__builtin_ia32_vpshufbitqmb256_mask): Add
+	" | OPTION_MASK_ISA_AVX512BW".
+	(__builtin_ia32_expandloadqi256_mask,
+	__builtin_ia32_expandloadqi256_maskz,
+	__builtin_ia32_vpopcountb_v32qi_mask): Add
+	" | OPTION_MASK_ISA_AVX512VL | OPTION_MASK_ISA_AVX512BW".
+	(__builtin_ia32_expandloadhi256_mask,
+	__builtin_ia32_expandloadhi256_maskz,
+	__builtin_ia32_expandloadqi128_mask,
+	__builtin_ia32_expandloadqi128_maskz,
+	__builtin_ia32_expandloadhi128_mask,
+	__builtin_ia32_expandloadhi128_maskz,
+	__builtin_ia32_vpshrd_v16hi, __builtin_ia32_vpshrd_v16hi_mask,
+	__builtin_ia32_vpshrd_v8hi, __builtin_ia32_vpshrd_v8hi_mask,
+	__builtin_ia32_vpshrd_v8si, __builtin_ia32_vpshrd_v8si_mask,
+	__builtin_ia32_vpshrd_v4si, __builtin_ia32_vpshrd_v4si_mask,
+	__builtin_ia32_vpshrd_v4di, __builtin_ia32_vpshrd_v4di_mask,
+	__builtin_ia32_vpshrd_v2di, __builtin_ia32_vpshrd_v2di_mask,
+	__builtin_ia32_vpshld_v16hi, __builtin_ia32_vpshld_v16hi_mask,
+	__builtin_ia32_vpshld_v8hi, __builtin_ia32_vpshld_v8hi_mask,
+	__builtin_ia32_vpshld_v8si, __builtin_ia32_vpshld_v8si_mask,
+	__builtin_ia32_vpshld_v4si, __builtin_ia32_vpshld_v4si_mask,
+	__builtin_ia32_vpshld_v4di, __builtin_ia32_vpshld_v4di_mask,
+	__builtin_ia32_vpshld_v2di, __builtin_ia32_vpshld_v2di_mask,
+	__builtin_ia32_vpshrdv_v16hi, __builtin_ia32_vpshrdv_v16hi_mask,
+	__builtin_ia32_vpshrdv_v16hi_maskz, __builtin_ia32_vpshrdv_v8hi,
+	__builtin_ia32_vpshrdv_v8hi_mask, __builtin_ia32_vpshrdv_v8hi_maskz,
+	__builtin_ia32_vpshrdv_v8si, __builtin_ia32_vpshrdv_v8si_mask,
+	__builtin_ia32_vpshrdv_v8si_maskz, __builtin_ia32_vpshrdv_v4si,
+	__builtin_ia32_vpshrdv_v4si_mask, __builtin_ia32_vpshrdv_v4si_maskz,
+	__builtin_ia32_vpshrdv_v4di, __builtin_ia32_vpshrdv_v4di_mask,
+	__builtin_ia32_vpshrdv_v4di_maskz, __builtin_ia32_vpshrdv_v2di,
+	__builtin_ia32_vpshrdv_v2di_mask, __builtin_ia32_vpshrdv_v2di_maskz,
+	__builtin_ia32_vpshldv_v16hi, __builtin_ia32_vpshldv_v16hi_mask,
+	__builtin_ia32_vpshldv_v16hi_maskz, __builtin_ia32_vpshldv_v8hi,
+	__builtin_ia32_vpshldv_v8hi_mask, __builtin_ia32_vpshldv_v8hi_maskz,
+	__builtin_ia32_vpshldv_v8si, __builtin_ia32_vpshldv_v8si_mask,
+	__builtin_ia32_vpshldv_v8si_maskz, __builtin_ia32_vpshldv_v4si,
+	__builtin_ia32_vpshldv_v4si_mask, __builtin_ia32_vpshldv_v4si_maskz,
+	__builtin_ia32_vpshldv_v4di, __builtin_ia32_vpshldv_v4di_mask,
+	__builtin_ia32_vpshldv_v4di_maskz, __builtin_ia32_vpshldv_v2di,
+	__builtin_ia32_vpshldv_v2di_mask, __builtin_ia32_vpshldv_v2di_maskz,
+	__builtin_ia32_vpopcountb_v32qi, __builtin_ia32_vpopcountb_v16qi,
+	__builtin_ia32_vpopcountb_v16qi_mask, __builtin_ia32_vpopcountw_v16hi,
+	__builtin_ia32_vpopcountw_v16hi_mask, __builtin_ia32_vpopcountw_v8hi,
+	__builtin_ia32_vpopcountw_v8hi_mask): Add
+	" | OPTION_MASK_ISA_AVX512VL".
+	* config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16,
+	_mm512_shrdi_epi32, _mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32,
+	_mm512_shrdi_epi64, _mm512_mask_shrdi_epi64, _mm512_maskz_shrdi_epi64,
+	_mm512_shldi_epi16, _mm512_shldi_epi32, _mm512_mask_shldi_epi32,
+	_mm512_maskz_shldi_epi32, _mm512_shldi_epi64, _mm512_mask_shldi_epi64,
+	_mm512_maskz_shldi_epi64, _mm512_shrdv_epi16, _mm512_shrdv_epi32,
+	_mm512_mask_shrdv_epi32, _mm512_maskz_shrdv_epi32, _mm512_shrdv_epi64,
+	_mm512_mask_shrdv_epi64, _mm512_maskz_shrdv_epi64, _mm512_shldv_epi16,
+	_mm512_shldv_epi32, _mm512_mask_shldv_epi32, _mm512_maskz_shldv_epi32,
+	_mm512_shldv_epi64, _mm512_mask_shldv_epi64,
+	_mm512_maskz_shldv_epi64): Don't require avx512bw for these intrinsics.
+	* config/i386/avx512bitalgintrin.h (_mm_bitshuffle_epi64_mask,
+	_mm_mask_bitshuffle_epi64_mask): Likewise.
+	* common/config/i386/i386-common.c
+	(OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
+	OPTION_MASK_ISA_AVX512BITALG_SET): Or in OPTION_MASK_ISA_AVX512F_SET.
+	(OPTION_MASK_ISA_AVX512F_UNSET): Or in
+	OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET and
+	OPTION_MASK_ISA_AVX512BITALG_UNSET.
+	(OPTION_MASK_ISA2_AVX512F_UNSET,
+	OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Define.
+	(ix86_handle_option): For -mno-general-regs-only, clear from
+	ix86_isa_flags2 OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET rather than
+	just OPTION_MASK_ISA_MPX.  For -mno-sse{,2,3,4,4.1,4.2,avx,avx2} and
+	-mno-ssse3 clear OPTION_MASK_ISA2_AVX512F_UNSET bits from
+	ix86_isa_flags2.  For -mno-avx512f likewise, instead of masking
+	individually listed ISAs.  For -m{,no-}avx512{vpopcntdq,bitalg} adjust
+	for moving from ix86_isa_flags2 to ix86_isa_flags.
+
+2017-12-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/83553
+	* fold-const.c (struct contains_label_data): New type.
+	(contains_label_1): Return non-NULL even for CASE_LABEL_EXPR, unless
+	inside of a SWITCH_BODY seen during the walk.
+	(contains_label_p): Use walk_tree instead of
+	walk_tree_without_duplicates, prepare data for contains_label_1 and
+	provide own pset.
+
+2017-12-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/83547
+	* tree-iterator.c (alloc_stmt_list): Start with cleared
+	TREE_SIDE_EFFECTS regardless whether a new STATEMENT_LIST is allocated
+	or old one reused.
+
+	PR target/83488
+	* config/i386/avx512vnniintrin.h: Don't check for __AVX512F__ nor
+	enable avx512f explicitly in #pragma GCC target.
+	* config/i386/i386-builtin.def (__builtin_ia32_vpdpbusd_v8si,
+	__builtin_ia32_vpdpbusd_v8si_mask, __builtin_ia32_vpdpbusd_v8si_maskz,
+	__builtin_ia32_vpdpbusd_v4si, __builtin_ia32_vpdpbusd_v4si_mask,
+	__builtin_ia32_vpdpbusd_v4si_maskz, __builtin_ia32_vpdpbusds_v8si,
+	__builtin_ia32_vpdpbusds_v8si_mask,
+	__builtin_ia32_vpdpbusds_v8si_maskz, __builtin_ia32_vpdpbusds_v4si,
+	__builtin_ia32_vpdpbusds_v4si_mask,
+	__builtin_ia32_vpdpbusds_v4si_maskz, __builtin_ia32_vpdpwssd_v8si,
+	__builtin_ia32_vpdpwssd_v8si_mask, __builtin_ia32_vpdpwssd_v8si_maskz,
+	__builtin_ia32_vpdpwssd_v4si, __builtin_ia32_vpdpwssd_v4si_mask,
+	__builtin_ia32_vpdpwssd_v4si_maskz, __builtin_ia32_vpdpwssds_v8si,
+	__builtin_ia32_vpdpwssds_v8si_mask,
+	__builtin_ia32_vpdpwssds_v8si_maskz, __builtin_ia32_vpdpwssds_v4si,
+	__builtin_ia32_vpdpwssds_v4si_mask,
+	__builtin_ia32_vpdpwssds_v4si_maskz): Use
+	OPTION_MASK_ISA_AVX512VNNI | OPTION_MASK_ISA_AVX512VL instead of
+	just OPTION_MASK_ISA_AVX512VNNI.
+
+2017-12-22  Martin Jambor  <mjambor@suse.cz>
+
+	PR lto/82027
+	* lto-cgraph.c (output_cgraph_opt_summary_p): Also check former
+	clones.
+
+2017-12-22  Julia Koval  <julia.koval@intel.com>
+	    Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512BITALG_SET,
+	OPTION_MASK_ISA_AVX512BITALG_UNSET): New.
+	(ix86_handle_option): Handle -mavx512bitalg, fix 4VNNIW formatting.
+	* config.gcc: Add avx512vpopcntdqvlintrin.h and avx512bitalgintrin.h.
+	* config/i386/avx512bitalgintrin.h (_mm512_popcnt_epi8, _mm512_popcnt_epi16,
+	_mm512_mask_popcnt_epi8, _mm512_maskz_popcnt_epi8, _mm512_mask_popcnt_epi16,
+	_mm512_maskz_popcnt_epi16, _mm512_bitshuffle_epi64_mask, _mm256_popcnt_epi8,
+	_mm512_mask_bitshuffle_epi64_mask, _mm256_mask_popcnt_epi8, _mm_popcnt_epi8,
+	_mm256_maskz_popcnt_epi8, _mm_bitshuffle_epi64_mask, _mm256_popcnt_epi16,
+	_mm_mask_bitshuffle_epi64_mask, _mm256_bitshuffle_epi64_mask,
+	_mm256_mask_bitshuffle_epi64_mask, _mm_popcnt_epi16, _mm_maskz_popcnt_epi8,
+	_mm256_mask_popcnt_epi16, _mm256_maskz_popcnt_epi16, _mm_mask_popcnt_epi8,
+	_mm_mask_popcnt_epi16, _mm_maskz_popcnt_epi16): New intrinsics.
+	* config/i386/avx512vpopcntdqvlintrin.h (_mm_popcnt_epi32, _mm_popcnt_epi64,
+	_mm_mask_popcnt_epi32, _mm_maskz_popcnt_epi32, _mm256_popcnt_epi32,
+	_mm256_mask_popcnt_epi32, _mm256_maskz_popcnt_epi32, _mm_mask_popcnt_epi64,
+	_mm_maskz_popcnt_epi64, _mm256_popcnt_epi64, _mm256_mask_popcnt_epi64,
+	_mm256_maskz_popcnt_epi64): New intrinsics.
+	* config/i386/cpuid.h (bit_AVX512BITALG): New bit.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Detect -mavx512bitalg.
+	* config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI, V64QI_FTYPE_V64QI,
+	V4DI_FTYPE_V4DI, UHI_FTYPE_V2DI_V2DI_UHI, USI_FTYPE_V4DI_V4DI_USI,
+	V4SI_FTYPE_V4SI_V4SI_UHI, V8SI_FTYPE_V8SI_V8SI_UHI): New types.
+	* config/i386/i386-builtin.def (__builtin_ia32_vpopcountq_v4di,
+	__builtin_ia32_vpopcountq_v4di_mask, __builtin_ia32_vpopcountq_v2di,
+	__builtin_ia32_vpopcountq_v2di_mask, __builtin_ia32_vpopcountd_v4si,
+	__builtin_ia32_vpopcountd_v4si_mask, __builtin_ia32_vpopcountd_v8si,
+	__builtin_ia32_vpopcountd_v8si_mask, __builtin_ia32_vpopcountb_v64qi,
+	__builtin_ia32_vpopcountb_v64qi_mask, __builtin_ia32_vpopcountb_v32qi,
+	__builtin_ia32_vpopcountb_v32qi_mask, __builtin_ia32_vpopcountb_v16qi,
+	__builtin_ia32_vpopcountb_v16qi_mask, __builtin_ia32_vpopcountw_v32hi,
+	__builtin_ia32_vpopcountw_v32hi_mask, __builtin_ia32_vpopcountw_v16hi,
+	__builtin_ia32_vpopcountw_v16hi_mask, __builtin_ia32_vpopcountw_v8hi,
+	__builtin_ia32_vpopcountw_v8hi_mask, __builtin_ia32_vpshufbitqmb128_mask,
+	__builtin_ia32_vpshufbitqmb256_mask,
+	__builtin_ia32_vpshufbitqmb512_mask): New builtins.
+	* config/i386/i386-c.c (__AVX512BITALG__): New.
+	* config/i386/i386.c (isa2_opts): Add -mavx512bitalg.
+	(ix86_valid_target_attribute_inner_p): Ditto.
+	(ix86_expand_args_builtin): Handle new types.
+	* config/i386/i386.h (TARGET_AVX512BITALG, TARGET_AVX512BITALG_P): New.
+	* config/i386/i386.opt: Add -mavx512bitalg.
+	* config/i386/immintrin.h: Add avx512vpopcntdqvlintrin.h and
+	avx512bitalgintrin.h.
+	* config/i386/sse.md (VI48_AVX512VLBW): New iterator.
+	(vpopcount<mode><mask_name>): Add more types.
+	(avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): New.
+	* doc/invoke.texi: Add -mavx512bitalg and -mavx512vpopcntdq.
+
+2017-12-22  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VNNI_SET):
+	Or in OPTION_MASK_ISA_AVX512F_SET.
+	(OPTION_MASK_ISA_AVX512F_UNSET): Or in
+	OPTION_MASK_ISA_AVX512VNNI_UNSET.
+	(ix86_handle_option): Adjust for
+	OPTION_MASK_ISA_AVX512VNNI_*SET being in ix86_isa_flags.
+	* config/i386/i386-builtin.def: Move VNNI builtins from ARGS2
+	section to ARGS.
+	* config/i386/i386-c.c: Check for OPTION_MASK_ISA_AVX512VNNI in
+	isa_flag instead of isa_flag2.
+	* config/i386/i386.c (ix86_target_string): Move -mavx512vnni from
+	isa_opts2 to isa_opts.
+	* config/i386/i386.opt (mavx512vnni): Move from ix86_isa_flags2
+	to ix86_isa_flags.
+
+2017-12-22  Mike Stump  <mikestump@comcast.net>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/extend.texi (Loop-Specific Pragmas): Document pragma GCC unroll.
+
+2017-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/83487
+	* config/i386/i386.c (ix86_function_arg_boundary): Return
+	PARM_BOUNDARY for TYPE_EMPTY_P types.
+
+	PR c/83448
+	* gimple-ssa-sprintf.c (maybe_warn): Don't call set_caret_index
+	if navail is >= dir.len.
+
+2017-12-21  Steve Ellcey  <sellcey@cavium.com>
+
+	* config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES): Fix
+	triplet for ilp32.
+
+2017-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/80747
+	PR rtl-optimization/83512
+	* cfgrtl.c (force_nonfallthru_and_redirect): When splitting
+	succ edge from ENTRY, copy partition from e->dest to the newly
+	created bb.
+	* bb-reorder.c (reorder_basic_blocks_simple): If last_tail is
+	ENTRY, use BB_PARTITION of its successor block as current_partition.
+	Don't copy partition when splitting succ edge from ENTRY.
+
+	PR tree-optimization/83523
+	* tree-ssa-math-opts.c (is_widening_mult_p): Return false if
+	for INTEGER_TYPE TYPE_OVERFLOW_TRAPS.
+	(convert_mult_to_fma): Likewise.
+
+	PR tree-optimization/83521
+	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Use
+	gimple_build_assign without code on result of
+	fold_build1 (VIEW_CONVERT_EXPR, ...), as it might not create
+	a VIEW_CONVERT_EXPR.
+
+2017-12-21  Andrew Pinski  <apinski@cavium.com>
+	    Steve Ellcey  <sellcey@cavium.com>
+
+	* config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES): Handle
+	multi-arch for ilp32.
+
+2017-12-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/83467
+	* config/i386/i386.md (*ashl<mode>3_mask): Add operand
+	constraints to operand 2.
+	(*ashl<mode>3_mask_1): Ditto.
+	(*<shift_insn><mode>3_mask): Ditto.
+	(*<shift_insn><mode>3_mask_1): Ditto.
+	(*<rotate_insn><mode>3_mask): Ditto.
+	(*<rotate_insn><mode>3_mask_1): Ditto.
+
+2017-12-21  Alexandre Oliva  <aoliva@redhat.com>
+
+	* reorg.c (make_return_insns): Reemit each insn with its own location.
+
+2017-12-21  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_expand_vector_init): Modify code
+	generation for cases where splatting a value is not useful.
+	* simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge
+	across a vec_duplicate and a paradoxical subreg forming a vector
+	mode to a vec_concat.
+
+2017-12-21  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* combine.c (simplify_set): Do not transform subregs to zero_extends
+	if the destination is not a scalar int mode.
+
+2017-12-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR c++/82872
+	* convert.c (convert_to_integer_1) <POINTER_TYPE>: Do not return the
+	shared zero if the input has overflowed.
+
+2017-12-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/driver-arm.c (arm_cpu_table): Specify dotprod
+	support for Cortex-A55 and Cortex-A75.
+
+2017-12-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* common/config/arm/arm-common.c (compare_opt_names): Add function
+	comment.  Use strcmp instead of manual loop.
+
+2017-12-21  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/83509
+	* gcov-dump.c (dump_gcov_file): Do not read info about
+	support_unexecuted_blocks for gcda files.
+
+2017-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/82973
+	* emit-rtl.h (valid_for_const_vec_duplicate_p): Rename to ...
+	(valid_for_const_vector_p): ... this.
+	* emit-rtl.c (valid_for_const_vec_duplicate_p): Rename to ...
+	(valid_for_const_vector_p): ... this.  Adjust function comment.
+	(gen_vec_duplicate): Adjust caller.
+	* optabs.c (expand_vector_broadcast): Likewise.
+	* simplify-rtx.c (simplify_const_unary_operation): Don't optimize into
+	CONST_VECTOR if some element isn't simplified valid_for_const_vector_p
+	constant.
+	(simplify_const_binary_operation): Likewise.  Use CONST_FIXED_P macro
+	instead of GET_CODE == CONST_FIXED.
+	(simplify_subreg): Use CONST_FIXED_P macro instead of
+	GET_CODE == CONST_FIXED.
+
+	PR target/83488
+	* config/i386/i386.c (ix86_target_string): Move -mavx512vbmi2 and
+	-mshstk entries from isa_opts2 to isa_opts and -mhle, -mmovbe,
+	-mclzero and -mmwaitx entries from isa_opts to isa_opts2.
+	(ix86_option_override_internal): Adjust for
+	OPTION_MASK_ISA_{HLE,MOVBE,CLZERO,MWAITX} moving to ix86_isa_flags2
+	and OPTION_MASK_ISA_SHSTK moving to ix86_isa_flags.
+	(BDESC_VERIFYS): Remove SPECIAL_ARGS2 related checks.
+	(ix86_init_mmx_sse_builtins): Remove bdesc_special_args2 handling.
+	Use def_builtin2 instead of def_builtin for OPTION_MASK_ISA_MWAITX
+	and OPTION_MASK_ISA_CLZERO builtins.  Use def_builtin instead of
+	def_builtin2 for CET builtins.
+	(ix86_expand_builtin): Remove bdesc_special_args2 handling.  Fix
+	up formatting in IX86_BUILTIN_RDPID code.
+	* config/i386/i386-builtin.def: Move VBMI2 builtins from SPECIAL_ARGS2
+	section to SPECIAL_ARGS and from ARGS2 section to ARGS.
+	* config/i386/i386.opt (mavx512vbmi2, mshstk): Move from
+	ix86_isa_flags2 to ix86_isa_flags.
+	(mhle, mmovbe, mclzero, mmwaitx): Move from ix86_isa_flags to
+	ix86_isa_flags2.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Check for
+	OPTION_MASK_ISA_{CLZERO,MWAITX} in isa_flag2 instead of isa_flag.
+	Check for OPTION_MASK_ISA_{SHSTK,AVX512VBMI2} in isa_flag instead
+	of isa_flag2.
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI2_SET):
+	Or in OPTION_MASK_ISA_AVX512F_SET.
+	(OPTION_MASK_ISA_AVX512F_UNSET): Or in
+	OPTION_MASK_ISA_AVX512VBMI2_UNSET.
+	(ix86_handle_option): Adjust for
+	OPTION_MASK_ISA_{SHSTK,AVX512VBMI2}_*SET being in ix86_isa_flags
+	and OPTION_MASK_ISA_{MOVBE,MWAITX,CLZERO}_*SET in ix86_isa_flags2.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-data-ref.h (prune_runtime_alias_test_list): Take the
+	factor as a poly_uint64 rather than an unsigned HOST_WIDE_INT.
+	* tree-data-ref.c (prune_runtime_alias_test_list): Likewise.
+	Track polynomial offsets.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
+	Treat drb->init as a poly_int.  Fail if its misalignment wrt
+	vector_alignment isn't known.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vectorizer.h (_loop_vec_info): Add a versioning_threshold
+	field.
+	(LOOP_VINFO_VERSIONING_THRESHOLD): New macro
+	(vect_loop_versioning): Take the loop versioning threshold as a
+	separate parameter.
+	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
+	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
+	versioning_threshold.
+	(vect_analyze_loop_2): Compute the loop versioning threshold
+	whenever loop versioning is needed, and store it in the new
+	field rather than combining it with the cost model threshold.
+	(vect_transform_loop): Update call to vect_loop_versioning.
+	Try to combine the loop versioning and cost thresholds here.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-ssa-loop-ivopts.h (strip_offset): Return the offset as
+	poly_uint64_pod rather than an unsigned HOST_WIDE_INT.
+	* tree-loop-distribution.c (classify_builtin_st): Update accordingly.
+	* tree-ssa-loop-ivopts.c (iv_use::addr_offset): Change from
+	an unsigned HOST_WIDE_INT to a poly_uint64_pod.
+	(group_compare_offset): Update accordingly.
+	(split_small_address_groups_p): Likewise.
+	(record_use): Take addr_offset as a poly_uint64 rather than
+	an unsigned HOST_WIDE_INT.
+	(strip_offset): Return the offset as a poly_uint64 rather than
+	an unsigned HOST_WIDE_INT.
+	(record_group_use, split_address_groups): Track polynomial offsets.
+	(add_iv_candidate_for_use): Likewise.
+	(addr_offset_valid_p): Take the offset as a poly_int64 rather
+	than a HOST_WIDE_INT.
+	(strip_offset_1): Return the offset as a poly_int64 rather than
+	a HOST_WIDE_INT.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (get_binfo_at_offset): Take the offset as a poly_int64
+	rather than a HOST_WIDE_INT.
+	* tree.c (get_binfo_at_offset): Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* ipa-prop.h (build_ref_for_offset): Take the offset as a poly_int64
+	rather than a HOST_WIDE_INT.
+	* tree-sra.c (build_ref_for_offset): Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* fold-const.h (mem_ref_offset): Return a poly_offset_int rather
+	than an offset_int.
+	* tree.c (mem_ref_offset): Likewise.
+	(build_simple_mem_ref_loc): Treat MEM_REF offsets as poly_ints.
+	* builtins.c (get_object_alignment_2): Likewise.
+	* expr.c (get_inner_reference, expand_expr_real_1): Likewise.
+	* gimple-fold.c (get_base_constructor): Likewise.
+	* gimple-ssa-strength-reduction.c (restructure_reference): Likewise.
+	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref):
+	Likewise.
+	* ipa-polymorphic-call.c
+	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Likewise.
+	* ipa-prop.c (compute_complex_assign_jump_func): Likewise.
+	(get_ancestor_addr_info): Likewise.
+	* ipa-param-manipulation.c (ipa_get_adjustment_candidate): Likewise.
+	* match.pd: Likewise.
+	* tree-data-ref.c (dr_analyze_innermost): Likewise.
+	* tree-dfa.c (get_addr_base_and_unit_offset_1): Likewise.
+	* tree-eh.c (tree_could_trap_p): Likewise.
+	* tree-object-size.c (addr_object_size): Likewise.
+	* tree-ssa-address.c (copy_ref_info): Likewise.
+	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
+	(indirect_refs_may_alias_p): Likewise.
+	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
+	* tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
+	(non_rewritable_mem_ref_base): Likewise.
+	* tree-vect-data-refs.c (vect_check_gather_scatter): Likewise.
+	* tree-vrp.c (vrp_prop::check_array_ref): Likewise.
+	* varasm.c (decode_addr_const): Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gimple-ssa-stor-merging.c (find_bswap_or_nop_load): Track polynomial
+	offsets for MEM_REFs.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-ssanames.h (adjust_ptr_info_misalignment): Take the increment
+	as a poly_uint64 rather than an unsigned int.
+	* tree-ssanames.c (adjust_ptr_info_misalignment): Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* varasm.c (addr_const::offset): Change from HOST_WIDE_INT
+	to poly_int64.
+	(decode_addr_const): Update accordingly.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (bit_field_size, bit_field_offset): New functions.
+	* hsa-gen.c (gen_hsa_addr): Use them.
+	* tree-ssa-forwprop.c (simplify_bitfield_ref): Likewise.
+	(simplify_vector_constructor): Likewise.
+	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
+	* tree-cfg.c (verify_expr): Require the sizes and offsets of a
+	BIT_FIELD_REF to be poly_uint64s rather than uhwis.
+	* fold-const.c (fold_ternary_loc): Protect tree_to_uhwi with
+	tree_fits_uhwi_p.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.h (emit_group_load, emit_group_load_into_temps)
+	(emit_group_store): Take the size as a poly_int64 rather than an int.
+	* expr.c (emit_group_load_1, emit_group_load): Likewise.
+	(emit_group_load_into_temp, emit_group_store): Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* ira-int.h (ira_spilled_reg_stack_slot::width): Change from
+	an unsigned int to a poly_uint64.
+	* ira.h (ira_reuse_stack_slot, ira_mark_new_stack_slot): Take the
+	sizes as poly_uint64s rather than unsigned ints.
+	* ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot):
+	Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* lra-constraints.c (emit_inc): Change inc_amount from an int
+	to a poly_int64.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cfgexpand.c (stack_var::size): Change from a HOST_WIDE_INT
+	to a poly_uint64.
+	(add_stack_var, stack_var_cmp, partition_stack_vars)
+	(dump_stack_var_partition): Update accordingly.
+	(alloc_stack_frame_space): Take the size as a poly_int64 rather
+	than a HOST_WIDE_INT.
+	(expand_stack_vars, expand_one_stack_var_1): Handle polynomial sizes.
+	(defer_stack_allocation, estimated_stack_frame_size): Likewise.
+	(account_stack_vars, expand_one_var): Likewise.  Return a poly_uint64
+	rather than a HOST_WIDE_INT.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (return_pops_args): Treat both the input and output
+	sizes as poly_int64s rather than HOST_WIDE_INTS.
+	* targhooks.h (default_return_pops_args): Update accordingly.
+	* targhooks.c (default_return_pops_args): Likewise.
+	* doc/tm.texi: Regenerate.
+	* emit-rtl.h (incoming_args): Change pops_args, size and
+	outgoing_args_size from int to poly_int64_pod.
+	* function.h (expr_status): Change x_pending_stack_adjust and
+	x_stack_pointer_delta from int to poly_int64.
+	(args_size::constant): Change from HOST_WIDE_INT to poly_int64.
+	(ARGS_SIZE_RTX): Update accordingly.
+	* calls.c (highest_outgoing_arg_in_use): Change from int to
+	unsigned int.
+	(stack_usage_watermark, stored_args_watermark): New variables.
+	(stack_region_maybe_used_p, mark_stack_region_used): New functions.
+	(emit_call_1): Change the stack_size and rounded_stack_size
+	parameters from HOST_WIDE_INT to poly_int64.  Track n_popped
+	as a poly_int64.
+	(save_fixed_argument_area): Check stack_usage_watermark.
+	(initialize_argument_information): Change old_pending_adj from
+	a HOST_WIDE_INT * to a poly_int64_pod *.
+	(compute_argument_block_size): Return the size as a poly_int64
+	rather than an int.
+	(finalize_must_preallocate): Track polynomial argument sizes.
+	(compute_argument_addresses): Likewise.
+	(internal_arg_pointer_based_exp): Track polynomial offsets.
+	(mem_overlaps_already_clobbered_arg_p): Rename to...
+	(mem_might_overlap_already_clobbered_arg_p): ...this and take the
+	size as a poly_uint64 rather than an unsigned HOST_WIDE_INT.
+	Check stored_args_used_watermark.
+	(load_register_parameters): Update accordingly.
+	(check_sibcall_argument_overlap_1): Likewise.
+	(combine_pending_stack_adjustment_and_call): Take the unadjusted
+	args size as a poly_int64 rather than an int.  Return a bool
+	indicating whether the optimization was possible and return
+	the new adjustment by reference.
+	(check_sibcall_argument_overlap): Track polynomail argument sizes.
+	Update stored_args_watermark.
+	(can_implement_as_sibling_call_p): Handle polynomial argument sizes.
+	(expand_call): Likewise.  Maintain stack_usage_watermark and
+	stored_args_watermark.  Update calls to
+	combine_pending_stack_adjustment_and_call.
+	(emit_library_call_value_1): Handle polynomial argument sizes.
+	Call stack_region_maybe_used_p and mark_stack_region_used.
+	Maintain stack_usage_watermark.
+	(store_one_arg): Likewise.  Update call to
+	mem_overlaps_already_clobbered_arg_p.
+	* config/arm/arm.c (arm_output_function_prologue): Add a cast to
+	HOST_WIDE_INT.
+	* config/avr/avr.c (avr_outgoing_args_size): Likewise.
+	* config/microblaze/microblaze.c (microblaze_function_prologue):
+	Likewise.
+	* config/cr16/cr16.c (cr16_return_pops_args): Update for new
+	TARGET_RETURN_POPS_ARGS interface.
+	(cr16_compute_frame, cr16_initial_elimination_offset): Add casts
+	to HOST_WIDE_INT.
+	* config/ft32/ft32.c (ft32_compute_frame): Likewise.
+	* config/i386/i386.c (ix86_return_pops_args): Update for new
+	TARGET_RETURN_POPS_ARGS interface.
+	(ix86_expand_split_stack_prologue): Add a cast to HOST_WIDE_INT.
+	* config/moxie/moxie.c (moxie_compute_frame): Likewise.
+	* config/m68k/m68k.c (m68k_return_pops_args): Update for new
+	TARGET_RETURN_POPS_ARGS interface.
+	* config/vax/vax.c (vax_return_pops_args): Likewise.
+	* config/pa/pa.h (STACK_POINTER_OFFSET): Add a cast to poly_int64.
+	(EXIT_IGNORE_STACK): Update reference to crtl->outgoing_args_size.
+	* config/arm/arm.h (CALLER_INTERWORKING_SLOT_SIZE): Likewise.
+	* config/powerpcspe/aix.h (STACK_DYNAMIC_OFFSET): Likewise.
+	* config/powerpcspe/darwin.h (STACK_DYNAMIC_OFFSET): Likewise.
+	* config/powerpcspe/powerpcspe.h (STACK_DYNAMIC_OFFSET): Likewise.
+	* config/rs6000/aix.h (STACK_DYNAMIC_OFFSET): Likewise.
+	* config/rs6000/darwin.h (STACK_DYNAMIC_OFFSET): Likewise.
+	* config/rs6000/rs6000.h (STACK_DYNAMIC_OFFSET): Likewise.
+	* dojump.h (saved_pending_stack_adjust): Change x_pending_stack_adjust
+	and x_stack_pointer_delta from int to poly_int64.
+	* dojump.c (do_pending_stack_adjust): Update accordingly.
+	* explow.c (allocate_dynamic_stack_space): Handle polynomial
+	stack_pointer_deltas.
+	* function.c (STACK_DYNAMIC_OFFSET): Add a cast to poly_int64.
+	(pad_to_arg_alignment): Track polynomial offsets.
+	(assign_parm_find_stack_rtl): Likewise.
+	(assign_parms, locate_and_pad_parm): Handle polynomial argument sizes.
+	* toplev.c (output_stack_usage): Update reference to
+	current_function_pushed_stack_size.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* function.c (in_arg_offset, var_offset, dynamic_offset)
+	(out_arg_offset, cfa_offset): Change from int to poly_int64.
+	(instantiate_new_reg): Return the new offset as a poly_int64_pod
+	rather than a HOST_WIDE_INT.
+	(instantiate_virtual_regs_in_rtx): Track polynomial offsets.
+	(instantiate_virtual_regs_in_insn): Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (get_args_size, add_args_size_note): New functions.
+	(find_args_size_adjust): Return a poly_int64 rather than a
+	HOST_WIDE_INT.
+	(fixup_args_size_notes): Likewise.  Make the same change to the
+	end_args_size parameter.
+	* rtlanal.c (get_args_size, add_args_size_note): New functions.
+	* builtins.c (expand_builtin_trap): Use add_args_size_note.
+	* calls.c (emit_call_1): Likewise.
+	* explow.c (adjust_stack_1): Likewise.
+	* cfgcleanup.c (old_insns_match_p): Update use of
+	find_args_size_adjust.
+	* combine.c (distribute_notes): Track polynomial arg sizes.
+	* dwarf2cfi.c (dw_trace_info): Change beg_true_args_size,
+	end_true_args_size, beg_delay_args_size and end_delay_args_size
+	from HOST_WIDE_INT to poly_int64.
+	(add_cfi_args_size): Take the args_size as a poly_int64 rather
+	than a HOST_WIDE_INT.
+	(notice_args_size, notice_eh_throw, maybe_record_trace_start)
+	(maybe_record_trace_start_abnormal, scan_trace, connect_traces): Track
+	polynomial arg sizes.
+	* emit-rtl.c (try_split): Use get_args_size.
+	* recog.c (peep2_attempt): Likewise.
+	* reload1.c (reload_as_needed): Likewise.
+	* expr.c (find_args_size_adjust): Return the adjustment as a
+	poly_int64 rather than a HOST_WIDE_INT.
+	(fixup_args_size_notes): Change end_args_size from a HOST_WIDE_INT
+	to a poly_int64 and change the return type in the same way.
+	(emit_single_push_insn): Track polynomial arg sizes.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.h (push_block, emit_push_insn): Change the "extra" parameter
+	from HOST_WIDE_INT to poly_int64.
+	* expr.c (push_block, emit_push_insn): Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* function.h (frame_space): Change start and length from HOST_WIDE_INT
+	to poly_int64.
+	(get_frame_size): Return the size as a poly_int64 rather than a
+	HOST_WIDE_INT.
+	(frame_offset_overflow): Take the offset as a poly_int64 rather
+	than a HOST_WIDE_INT.
+	(assign_stack_local_1, assign_stack_local, assign_stack_temp_for_type)
+	(assign_stack_temp): Likewise for the size.
+	* function.c (get_frame_size): Return a poly_int64 rather than
+	a HOST_WIDE_INT.
+	(frame_offset_overflow): Take the offset as a poly_int64 rather
+	than a HOST_WIDE_INT.
+	(try_fit_stack_local): Take the start, length and size as poly_int64s
+	rather than HOST_WIDE_INTs.  Return the offset as a poly_int64_pod
+	rather than a HOST_WIDE_INT.
+	(add_frame_space): Take the start and end as poly_int64s rather than
+	HOST_WIDE_INTs.
+	(assign_stack_local_1, assign_stack_local, assign_stack_temp_for_type)
+	(assign_stack_temp): Likewise for the size.
+	(temp_slot): Change size, base_offset and full_size from HOST_WIDE_INT
+	to poly_int64.
+	(find_temp_slot_from_address): Handle polynomial offsets.
+	(combine_temp_slots): Likewise.
+	* emit-rtl.h (rtl_data::x_frame_offset): Change from HOST_WIDE_INT
+	to poly_int64.
+	* cfgexpand.c (alloc_stack_frame_space): Return the offset as a
+	poly_int64 rather than a HOST_WIDE_INT.
+	(expand_one_stack_var_at): Take the offset as a poly_int64 rather
+	than a HOST_WIDE_INT.
+	(expand_stack_vars, expand_one_stack_var_1, expand_used_vars): Handle
+	polynomial frame offsets.
+	* config/m32r/m32r-protos.h (m32r_compute_frame_size): Take the size
+	as a poly_int64 rather than an int.
+	* config/m32r/m32r.c (m32r_compute_frame_size): Likewise.
+	* config/v850/v850-protos.h (compute_frame_size): Likewise.
+	* config/v850/v850.c (compute_frame_size): Likewise.
+	* config/xtensa/xtensa-protos.h (compute_frame_size): Likewise.
+	* config/xtensa/xtensa.c (compute_frame_size): Likewise.
+	* config/pa/pa-protos.h (pa_compute_frame_size): Likewise.
+	* config/pa/pa.c (pa_compute_frame_size): Likewise.
+	* explow.h (get_dynamic_stack_base): Take the offset as a poly_int64
+	rather than a HOST_WIDE_INT.
+	* explow.c (get_dynamic_stack_base): Likewise.
+	* final.c (final_start_function): Use the constant lower bound
+	of the frame size for -Wframe-larger-than.
+	* ira.c (do_reload): Adjust for new get_frame_size return type.
+	* lra.c (lra): Likewise.
+	* reload1.c (reload): Likewise.
+	* config/avr/avr.c (avr_asm_function_end_prologue): Likewise.
+	* config/pa/pa.h (EXIT_IGNORE_STACK): Likewise.
+	* rtlanal.c (get_initial_register_offset): Return the offset as
+	a poly_int64 rather than a HOST_WIDE_INT.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* reload1.c (elim_table): Change initial_offset, offset and
+	previous_offset from HOST_WIDE_INT to poly_int64_pod.
+	(offsets_at): Change the target array's element type from
+	HOST_WIDE_INT to poly_int64_pod.
+	(set_label_offsets, eliminate_regs_1, eliminate_regs_in_insn)
+	(elimination_costs_in_insn, update_eliminable_offsets)
+	(verify_initial_elim_offsets, set_offsets_for_label)
+	(init_eliminable_invariants): Update after above changes.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* reload.h (reload::inc): Change from an int to a poly_int64_pod.
+	* reload.c (combine_reloads, debug_reload_to_stream): Likewise.
+	(decomposition): Change start and end from HOST_WIDE_INT
+	to poly_int64_pod.
+	(decompose, immune_p): Update accordingly.
+	(find_inc_amount): Return a poly_int64 rather than an int.
+	* reload1.c (inc_for_reload): Take the inc_amount as a poly_int64
+	rather than an int.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (get_inner_reference): Return the bitsize and bitpos
+	as poly_int64_pods rather than HOST_WIDE_INT.
+	* fold-const.h (ptr_difference_const): Return the pointer difference
+	as a poly_int64_pod rather than a HOST_WIDE_INT.
+	* expr.c (get_inner_reference): Return the bitsize and bitpos
+	as poly_int64_pods rather than HOST_WIDE_INT.
+	(expand_expr_addr_expr_1, expand_expr_real_1): Track polynomial
+	offsets and sizes.
+	* fold-const.c (make_bit_field_ref): Take the bitpos as a poly_int64
+	rather than a HOST_WIDE_INT.  Update call to get_inner_reference.
+	(optimize_bit_field_compare): Update call to get_inner_reference.
+	(decode_field_reference): Likewise.
+	(fold_unary_loc): Track polynomial offsets and sizes.
+	(split_address_to_core_and_offset): Return the bitpos as a
+	poly_int64_pod rather than a HOST_WIDE_INT.
+	(ptr_difference_const): Likewise for the pointer difference.
+	* asan.c (instrument_derefs): Track polynomial offsets and sizes.
+	* config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
+	* dbxout.c (dbxout_expand_expr): Likewise.
+	* dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref)
+	(loc_list_from_tree_1, fortran_common): Likewise.
+	* gimple-laddress.c (pass_laddress::execute): Likewise.
+	* gimple-ssa-store-merging.c (find_bswap_or_nop_load): Likewise.
+	* gimplify.c (gimplify_scan_omp_clauses): Likewise.
+	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
+	* tree-affine.c (tree_to_aff_combination): Likewise.
+	(get_inner_reference_aff): Likewise.
+	* tree-data-ref.c (split_constant_offset_1): Likewise.
+	(dr_analyze_innermost): Likewise.
+	* tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
+	* tree-sra.c (ipa_sra_check_caller): Likewise.
+	* tree-vect-data-refs.c (vect_check_gather_scatter): Likewise.
+	* ubsan.c (maybe_instrument_pointer_overflow): Likewise.
+	(instrument_bool_enum_load, instrument_object_size): Likewise.
+	* gimple-ssa-strength-reduction.c (slsr_process_ref): Update call
+	to get_inner_reference.
+	* hsa-gen.c (gen_hsa_addr): Likewise.
+	* sanopt.c (maybe_optimize_ubsan_ptr_ifn): Likewise.
+	* tsan.c (instrument_expr): Likewise.
+	* match.pd: Update call to ptr_difference_const.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* fold-const.c (fold_comparison): Track sizes and offsets as
+	poly_int64s rather than HOST_WIDE_INTs when folding address
+	comparisons.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.h (get_bit_range): Return the bitstart and bitend as
+	poly_uint64s rather than unsigned HOST_WIDE_INTs.  Return the bitpos
+	as a poly_int64 rather than a HOST_WIDE_INT.
+	* expr.c (get_bit_range): Likewise.
+	(expand_assignment): Update call accordingly.
+	* fold-const.c (optimize_bit_field_compare): Likewise.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_addr_query_type): New enum.
+	(aarch64_legitimate_address_p): Use it instead of an rtx code,
+	as an optional final parameter.
+	* config/aarch64/aarch64.c (aarch64_classify_address): Likewise.
+	(aarch64_legitimate_address_p): Likewise.
+	(aarch64_print_address_internal): Take an aarch64_addr_query_type
+	instead of an rtx code.
+	(aarch64_address_valid_for_prefetch_p): Update calls accordingly.
+	(aarch64_legitimate_address_hook_p): Likewise.
+	(aarch64_print_ldpstp_address): Likewise.
+	(aarch64_print_operand_address): Likewise.
+	(aarch64_address_cost): Likewise.
+	* config/aarch64/constraints.md (Uml, Umq, Ump, Utq): Likewise.
+	* config/aarch64/predicates.md (aarch64_mem_pair_operand): Likewise.
+	(aarch64_mem_pair_lanes_operand): Likewise.
+
+2017-12-20  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Call
+	update_stmt_if_modified.
+
+2017-12-20  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR tree-optimization/83491
+	* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Check for SSA_NAME
+	before walking uses.  Improve coding style and comments.
+
+2017-12-20  Tom de Vries  <tom@codesourcery.com>
+
+	* gimple-fold.c (fold_internal_goacc_dim): Simplify.
+
+2017-12-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR ipa/83506
+	* ipa-fnsummary.c (pass_data_ipa_free_fn_summary): Use 0 for
+	todo_flags_finish.
+	(pass_ipa_free_fn_summary): Add small_p private data member,
+	initialize to false in the ctor.
+	(pass_ipa_free_fn_summary::clone,
+	pass_ipa_free_fn_summary::set_pass_param,
+	pass_ipa_free_fn_summary::gate): New methods.
+	(pass_ipa_free_fn_summary::execute): Return TODO_remove_functions
+	| TODO_dump_symtab if small_p.
+	* passes.def: Add true parm for the existing pass_ipa_free_fn_summary
+	entry and add another instance of the pass with false parm after
+	ipa-pure-const.
+	* ipa-pure-const.c (pass_ipa_pure_const): Don't call
+	ipa_free_fn_summary here.
+
+2017-12-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	* gimplify.c (gimplify_return_expr): Remove dead error_mark_node check.
+
+2017-12-20  Martin Sebor  <msebor@redhat.com>
+
+	PR testsuite/83131
+	* builtins.c (expand_builtin_strlen): Use get_callee_fndecl.
+	(expand_builtin_strcmp): Call maybe_warn_nonstring_arg.
+	(expand_builtin_strncmp): Same.
+
+2017-12-20  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR bootstrap/83396
+	* cfgexpand.c (label_rtx_for_bb): Revert SFN changes that
+	allowed debug stmts before labels.
+	(expand_gimple_basic_block): Likewise.
+	* gimple-iterator.c (gimple_find_edge_insert_loc): Likewise.
+	* gimple-iterator.h (gsi_after_labels): Likewise.
+	* tree-cfgcleanup (remove_forwarder_block): Likewise, but
+	rename reused variable, and simplify using gsi_move_before.
+	* tree-ssa-tail-merge.c (find_duplicate): Likewise.
+	* tree-cfg.c (make_edges, cleanup_dead_labels): Likewise.
+	(gimple_can_merge_blocks_p, verify_gimple_in_cfg): Likewise.
+	(gimple_verify_flow_info, gimple_block_label): Likewise.
+	(make_blocks): Move debug markers after adjacent labels.
+	* cfgrtl.c (skip_insns_after_block): Revert SFN changes that
+	allowed debug insns outside blocks.
+	* df-scan.c (df_insn_delete): Likewise.
+	* lra-constraints.c (update_ebb_live_info): Likewise.
+	* var-tracking.c (get_first_insn, vt_emit_notes): Likewise.
+	(vt_initialize, delete_vta_debug_insns): Likewise.
+	(reemit_marker_as_note): Drop BB parm.  Adjust callers.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* poly-int-types.h (round_down_to_byte_boundary): New macro.
+	(round_up_to_byte_boundary): Likewise.
+	* expr.h (get_bit_range): Add temporary shim.
+	* gimple-ssa-store-merging.c (store_operand_info): Change the
+	bitsize, bitpos, bitregion_start and bitregion_end fields from
+	unsigned HOST_WIDE_INT to poly_uint64.
+	(merged_store_group): Likewise load_align_base.
+	(compatible_load_p, compatible_load_p): Update accordingly.
+	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
+	(split_group, imm_store_chain_info::output_merged_store): Likewise.
+	(mem_valid_for_store_merging): Return the bitsize, bitpos,
+	bitregion_start and bitregion_end as poly_uint64s rather than
+	unsigned HOST_WIDE_INTs.  Track polynomial offsets internally.
+	(handled_load): Take the bitsize, bitpos,
+	bitregion_start and bitregion_end as poly_uint64s rather than
+	unsigned HOST_WIDE_INTs.
+	(pass_store_merging::process_store): Update call to
+	mem_valid_for_store_merging.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* builtins.c (get_object_alignment_2): Track polynomial offsets
+	and sizes.  Update the alignment handling.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (get_inner_reference): Add a version that returns the
+	offset and size as poly_int64_pods rather than HOST_WIDE_INTs.
+	* cfgexpand.c (expand_debug_expr): Track polynomial offsets.  Simply
+	the case in which bitpos is not associated with the first byte.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-affine.h (get_inner_reference_aff): Return the size as a
+	poly_widest_int.
+	* tree-affine.c (get_inner_reference_aff): Likewise.
+	* tree-data-ref.c (dr_may_alias_p): Update accordingly.
+	* tree-ssa-loop-im.c (mem_refs_may_alias_p): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* fold-const.c (pointer_may_wrap_p): Take the offset as a
+	HOST_WIDE_INT rather than a poly_int64.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gimple-ssa-store-merging.c (symbolic_number::bytepos): Change from
+	HOST_WIDE_INT to poly_int64_pod.
+	(perform_symbolic_merge): Update accordingly.
+	(bswap_replace): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-affine.h (aff_tree::offset): Change from widest_int
+	to poly_widest_int.
+	(wide_int_ext_for_comb): Delete.
+	(aff_combination_const, aff_comb_cannot_overlap_p): Take the
+	constants as poly_widest_int rather than widest_int.
+	(aff_combination_constant_multiple_p): Return the multiplier
+	as a poly_widest_int.
+	(aff_combination_zero_p, aff_combination_singleton_var_p): Handle
+	polynomial offsets.
+	* tree-affine.c (wide_int_ext_for_comb): Make original widest_int
+	version static and add an overload for poly_widest_int.
+	(aff_combination_const, aff_combination_add_cst)
+	(wide_int_constant_multiple_p, aff_comb_cannot_overlap_p): Take
+	the constants as poly_widest_int rather than widest_int.
+	(tree_to_aff_combination): Generalize INTEGER_CST case to
+	poly_int_tree_p.
+	(aff_combination_to_tree): Track offsets as poly_widest_ints.
+	(aff_combination_add_product, aff_combination_mult): Handle
+	polynomial offsets.
+	(aff_combination_constant_multiple_p): Return the multiplier
+	as a poly_widest_int.
+	* tree-predcom.c (determine_offset): Return the offset as a
+	poly_widest_int.
+	(split_data_refs_to_components, suitable_component_p): Update
+	accordingly.
+	(valid_initializer_p): Update call to
+	aff_combination_constant_multiple_p.
+	* tree-ssa-address.c (addr_to_parts): Handle polynomial offsets.
+	* tree-ssa-loop-ivopts.c (get_address_cost_ainc): Take the step
+	as a poly_int64 rather than a HOST_WIDE_INT.
+	(get_address_cost): Handle polynomial offsets.
+	(iv_elimination_compare_lt): Likewise.
+	(rewrite_use_nonlinear_expr): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-dfa.h (get_addr_base_and_unit_offset_1): Return the offset
+	as a poly_int64_pod rather than a HOST_WIDE_INT.
+	(get_addr_base_and_unit_offset): Likewise.
+	* tree-dfa.c (get_addr_base_and_unit_offset_1): Likewise.
+	(get_addr_base_and_unit_offset): Likewise.
+	* doc/match-and-simplify.texi: Change off from HOST_WIDE_INT
+	to poly_int64 in example.
+	* fold-const.c (fold_binary_loc): Update call to
+	get_addr_base_and_unit_offset.
+	* gimple-fold.c (gimple_fold_builtin_memory_op): Likewise.
+	(maybe_canonicalize_mem_ref_addr): Likewise.
+	(gimple_fold_stmt_to_constant_1): Likewise.
+	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref):
+	Likewise.
+	* ipa-param-manipulation.c (ipa_modify_call_arguments): Likewise.
+	* match.pd: Likewise.
+	* omp-low.c (lower_omp_target): Likewise.
+	* tree-sra.c (build_ref_for_offset): Likewise.
+	(build_debug_ref_for_model): Likewise.
+	* tree-ssa-address.c (maybe_fold_tmr): Likewise.
+	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Likewise.
+	* tree-ssa-ccp.c (optimize_memcpy): Likewise.
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
+	(constant_pointer_difference): Likewise.
+	* tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
+	* tree-ssa-phiopt.c (jump_function_from_stmt): Likewise.
+	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
+	* tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise.
+	(vn_reference_maybe_forwprop_address, vn_reference_lookup_3): Likewise.
+	(set_ssa_val_to): Likewise.
+	* tree-ssa-strlen.c (get_addr_stridx, addr_stridxptr)
+	(maybe_diag_stxncpy_trunc): Likewise.
+	* tree-vrp.c (vrp_prop::check_array_ref): Likewise.
+	* tree.c (build_simple_mem_ref_loc): Likewise.
+	(array_at_struct_end_p): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-dfa.h (get_ref_base_and_extent): Return the base, size and
+	max_size as poly_int64_pods rather than HOST_WIDE_INTs.
+	(get_ref_base_and_extent_hwi): Declare.
+	* tree-dfa.c (get_ref_base_and_extent): Return the base, size and
+	max_size as poly_int64_pods rather than HOST_WIDE_INTs.
+	(get_ref_base_and_extent_hwi): New function.
+	* cfgexpand.c (expand_debug_expr): Update call to
+	get_ref_base_and_extent.
+	* dwarf2out.c (add_var_loc_to_decl): Likewise.
+	* gimple-fold.c (get_base_constructor): Return the offset as a
+	poly_int64_pod rather than a HOST_WIDE_INT.
+	(fold_const_aggregate_ref_1): Track polynomial sizes and offsets.
+	* ipa-polymorphic-call.c
+	(ipa_polymorphic_call_context::set_by_invariant)
+	(extr_type_from_vtbl_ptr_store): Track polynomial offsets.
+	(ipa_polymorphic_call_context::ipa_polymorphic_call_context)
+	(check_stmt_for_type_change): Use get_ref_base_and_extent_hwi
+	rather than get_ref_base_and_extent.
+	(ipa_polymorphic_call_context::get_dynamic_type): Likewise.
+	* ipa-prop.c (ipa_load_from_parm_agg, compute_complex_assign_jump_func)
+	(get_ancestor_addr_info, determine_locally_known_aggregate_parts):
+	Likewise.
+	* ipa-param-manipulation.c (ipa_get_adjustment_candidate): Update
+	call to get_ref_base_and_extent.
+	* tree-sra.c (create_access, get_access_for_expr): Likewise.
+	* tree-ssa-alias.c (ao_ref_base, aliasing_component_refs_p)
+	(stmt_kills_ref_p): Likewise.
+	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
+	* tree-ssa-scopedtables.c (avail_expr_hash, equal_mem_array_ref_p):
+	Likewise.
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
+	Use get_ref_base_and_extent_hwi rather than get_ref_base_and_extent
+	when calling native_encode_expr.
+	* tree-ssa-structalias.c (get_constraint_for_component_ref): Update
+	call to get_ref_base_and_extent.
+	(do_structure_copy): Use get_ref_base_and_extent_hwi rather than
+	get_ref_base_and_extent.
+	* var-tracking.c (track_expr_p): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* ipa-param-manipulation.h (ipa_parm_adjustment::offset): Change from
+	HOST_WIDE_INT to poly_int64_pod.
+	* ipa-param-manipulation.c (ipa_modify_call_arguments): Track
+	polynomail parameter offsets.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gengtype.c (main): Handle poly_int64_pod.
+	* dwarf2out.h (dw_cfi_oprnd_cfa_loc): New dw_cfi_oprnd_type.
+	(dw_cfi_oprnd::dw_cfi_cfa_loc): New field.
+	(dw_cfa_location::offset, dw_cfa_location::base_offset): Change
+	from HOST_WIDE_INT to poly_int64_pod.
+	* dwarf2cfi.c (queued_reg_save::cfa_offset): Likewise.
+	(copy_cfa): New function.
+	(lookup_cfa_1): Use the cached dw_cfi_cfa_loc, if it exists.
+	(cfi_oprnd_equal_p): Handle dw_cfi_oprnd_cfa_loc.
+	(cfa_equal_p, dwarf2out_frame_debug_adjust_cfa)
+	(dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_expr)
+	(initial_return_save): Treat offsets as poly_ints.
+	(def_cfa_0): Likewise.  Cache the CFA in dw_cfi_cfa_loc if either
+	offset is nonconstant.
+	(reg_save): Take the offset as a poly_int64.  Fall back to
+	DW_CFA_expression for nonconstant offsets.
+	(queue_reg_save): Take the offset as a poly_int64.
+	* dwarf2out.c (dw_cfi_oprnd2_desc): Handle DW_CFA_def_cfa_expression.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (operand_subword, operand_subword_force): Take the offset
+	as a poly_uint64 an unsigned int.
+	* emit-rtl.c (operand_subword, operand_subword_force): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/rtl.texi: Update documentation of SUBREG_BYTE.  Document the
+	'p' format code.  Use INT_LIST rather than SUBREG as the example of
+	a code with an XINT and an XEXP.  Remove the implication that
+	accessing an rtx field using XINT is expected to work.
+	* rtl.def (SUBREG): Change format from "ei" to "ep".
+	* rtl.h (rtunion::rt_subreg): New field.
+	(XCSUBREG): New macro.
+	(SUBREG_BYTE): Use it.
+	(subreg_shape): Change offset from an unsigned int to a poly_uint16.
+	Update constructor accordingly.
+	(subreg_shape::operator ==): Update accordingly.
+	(subreg_shape::unique_id): Return an unsigned HOST_WIDE_INT rather
+	than an unsigned int.
+	(subreg_lsb, subreg_lowpart_offset, subreg_highpart_offset): Return
+	a poly_uint64 rather than an unsigned int.
+	(subreg_lsb_1): Likewise.  Take the offset as a poly_uint64 rather
+	than an unsigned int.
+	(subreg_size_offset_from_lsb, subreg_size_lowpart_offset)
+	(subreg_size_highpart_offset): Return a poly_uint64 rather than
+	an unsigned int.  Take the sizes as poly_uint64s.
+	(subreg_offset_from_lsb): Return a poly_uint64 rather than
+	an unsigned int.  Take the shift as a poly_uint64 rather than
+	an unsigned int.
+	(subreg_regno_offset, subreg_offset_representable_p): Take the offset
+	as a poly_uint64 rather than an unsigned int.
+	(simplify_subreg_regno): Likewise.
+	(byte_lowpart_offset): Return the memory offset as a poly_int64
+	rather than an int.
+	(subreg_memory_offset): Likewise.  Take the subreg offset as a
+	poly_uint64 rather than an unsigned int.
+	(simplify_subreg, simplify_gen_subreg, subreg_get_info)
+	(gen_rtx_SUBREG, validate_subreg): Take the subreg offset as a
+	poly_uint64 rather than an unsigned int.
+	* rtl.c (rtx_format): Describe 'p' in comment.
+	(copy_rtx, rtx_equal_p_cb, rtx_equal_p): Handle 'p'.
+	* emit-rtl.c (validate_subreg, gen_rtx_SUBREG): Take the subreg
+	offset as a poly_uint64 rather than an unsigned int.
+	(byte_lowpart_offset): Return the memory offset as a poly_int64
+	rather than an int.
+	(subreg_memory_offset): Likewise.  Take the subreg offset as a
+	poly_uint64 rather than an unsigned int.
+	(subreg_size_lowpart_offset, subreg_size_highpart_offset): Take the
+	mode sizes as poly_uint64s rather than unsigned ints.  Return a
+	poly_uint64 rather than an unsigned int.
+	(subreg_lowpart_p): Treat subreg offsets as poly_ints.
+	(copy_insn_1): Handle 'p'.
+	* rtlanal.c (set_noop_p): Treat subregs offsets as poly_uint64s.
+	(subreg_lsb_1): Take the subreg offset as a poly_uint64 rather than
+	an unsigned int.  Return the shift in the same way.
+	(subreg_lsb): Return the shift as a poly_uint64 rather than an
+	unsigned int.
+	(subreg_size_offset_from_lsb): Take the sizes and shift as
+	poly_uint64s rather than unsigned ints.  Return the offset as
+	a poly_uint64.
+	(subreg_get_info, subreg_regno_offset, subreg_offset_representable_p)
+	(simplify_subreg_regno): Take the offset as a poly_uint64 rather than
+	an unsigned int.
+	* rtlhash.c (add_rtx): Handle 'p'.
+	* genemit.c (gen_exp): Likewise.
+	* gengenrtl.c (type_from_format, gendef): Likewise.
+	* gensupport.c (subst_pattern_match, get_alternatives_number)
+	(collect_insn_data, alter_predicate_for_insn, alter_constraints)
+	(subst_dup): Likewise.
+	* gengtype.c (adjust_field_rtx_def): Likewise.
+	* genrecog.c (find_operand, find_matching_operand, validate_pattern)
+	(match_pattern_2): Likewise.
+	(rtx_test::SUBREG_FIELD): New rtx_test::kind_enum.
+	(rtx_test::subreg_field): New function.
+	(operator ==, safe_to_hoist_p, transition_parameter_type)
+	(print_nonbool_test, print_test): Handle SUBREG_FIELD.
+	* genattrtab.c (attr_rtx_1): Say that 'p' is deliberately not handled.
+	* genpeep.c (match_rtx): Likewise.
+	* print-rtl.c (print_poly_int): Include if GENERATOR_FILE too.
+	(rtx_writer::print_rtx_operand): Handle 'p'.
+	(print_value): Handle SUBREG.
+	* read-rtl.c (apply_int_iterator): Likewise.
+	(rtx_reader::read_rtx_operand): Handle 'p'.
+	* alias.c (rtx_equal_for_memref_p): Likewise.
+	* cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Likewise.
+	* caller-save.c (replace_reg_with_saved_mem): Treat subreg offsets
+	as poly_ints.
+	* calls.c (expand_call): Likewise.
+	* combine.c (combine_simplify_rtx, expand_field_assignment): Likewise.
+	(make_extraction, gen_lowpart_for_combine): Likewise.
+	* loop-invariant.c (hash_invariant_expr_1, invariant_expr_equal_p):
+	Likewise.
+	* cse.c (remove_invalid_subreg_refs): Take the offset as a poly_uint64
+	rather than an unsigned int.  Treat subreg offsets as poly_ints.
+	(exp_equiv_p): Handle 'p'.
+	(hash_rtx_cb): Likewise.  Treat subreg offsets as poly_ints.
+	(equiv_constant, cse_insn): Treat subreg offsets as poly_ints.
+	* dse.c (find_shift_sequence): Likewise.
+	* dwarf2out.c (rtl_for_decl_location): Likewise.
+	* expmed.c (extract_low_bits): Likewise.
+	* expr.c (emit_group_store, undefined_operand_subword_p): Likewise.
+	(expand_expr_real_2): Likewise.
+	* final.c (alter_subreg): Likewise.
+	(leaf_renumber_regs_insn): Handle 'p'.
+	* function.c (assign_parm_find_stack_rtl, assign_parm_setup_stack):
+	Treat subreg offsets as poly_ints.
+	* fwprop.c (forward_propagate_and_simplify): Likewise.
+	* ifcvt.c (noce_emit_move_insn, noce_emit_cmove): Likewise.
+	* ira.c (get_subreg_tracking_sizes): Likewise.
+	* ira-conflicts.c (go_through_subreg): Likewise.
+	* ira-lives.c (process_single_reg_class_operands): Likewise.
+	* jump.c (rtx_renumbered_equal_p): Likewise.  Handle 'p'.
+	* lower-subreg.c (simplify_subreg_concatn): Take the subreg offset
+	as a poly_uint64 rather than an unsigned int.
+	(simplify_gen_subreg_concatn, resolve_simple_move): Treat
+	subreg offsets as poly_ints.
+	* lra-constraints.c (operands_match_p): Handle 'p'.
+	(match_reload, curr_insn_transform): Treat subreg offsets as poly_ints.
+	* lra-spills.c (assign_mem_slot): Likewise.
+	* postreload.c (move2add_valid_value_p): Likewise.
+	* recog.c (general_operand, indirect_operand): Likewise.
+	* regcprop.c (copy_value, maybe_mode_change): Likewise.
+	(copyprop_hardreg_forward_1): Likewise.
+	* reginfo.c (simplifiable_subregs_hasher::hash, simplifiable_subregs)
+	(record_subregs_of_mode): Likewise.
+	* rtlhooks.c (gen_lowpart_general, gen_lowpart_if_possible): Likewise.
+	* reload.c (operands_match_p): Handle 'p'.
+	(find_reloads_subreg_address): Treat subreg offsets as poly_ints.
+	* reload1.c (alter_reg, choose_reload_regs): Likewise.
+	(compute_reload_subreg_offset): Likewise, and return an poly_int64.
+	* simplify-rtx.c (simplify_truncation, simplify_binary_operation_1):
+	(test_vector_ops_duplicate): Treat subreg offsets as poly_ints.
+	(simplify_const_poly_int_tests<N>::run): Likewise.
+	(simplify_subreg, simplify_gen_subreg): Take the subreg offset as
+	a poly_uint64 rather than an unsigned int.
+	* valtrack.c (debug_lowpart_subreg): Likewise.
+	* var-tracking.c (var_lowpart): Likewise.
+	(loc_cmp): Handle 'p'.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* ira.c (get_subreg_tracking_sizes): New function.
+	(init_live_subregs): Take an integer size rather than a register.
+	(build_insn_chain): Use get_subreg_tracking_sizes.  Update calls
+	to init_live_subregs.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.c (store_constructor_field): Change bitsize from a
+	unsigned HOST_WIDE_INT to a poly_uint64 and bitpos from a
+	HOST_WIDE_INT to a poly_int64.
+	(store_constructor): Change size from a HOST_WIDE_INT to
+	a poly_int64.
+	(store_field): Likewise bitsize and bitpos.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expmed.h (store_bit_field): Change bitregion_start and
+	bitregion_end from unsigned HOST_WIDE_INT to poly_uint64.
+	* expmed.c (adjust_bit_field_mem_for_reg, strict_volatile_bitfield_p)
+	(store_bit_field_1, store_integral_bit_field, store_bit_field)
+	(store_fixed_bit_field, store_split_bit_field): Likewise.
+	* expr.c (store_constructor_field, store_field): Likewise.
+	(optimize_bitfield_assignment_op): Likewise.  Make the same change
+	to bitsize and bitpos.
+	* machmode.h (bit_field_mode_iterator): Change m_bitregion_start
+	and m_bitregion_end from HOST_WIDE_INT to poly_int64.  Make the
+	same change in the constructor arguments.
+	(get_best_mode): Change bitregion_start and bitregion_end from
+	unsigned HOST_WIDE_INT to poly_uint64.
+	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
+	Change bitregion_start and bitregion_end from HOST_WIDE_INT to
+	poly_int64.
+	(bit_field_mode_iterator::next_mode): Update for new types
+	of m_bitregion_start and m_bitregion_end.
+	(get_best_mode): Change bitregion_start and bitregion_end from
+	unsigned HOST_WIDE_INT to poly_uint64.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (simplify_gen_subreg): Add a temporary overload that
+	accepts poly_uint64 offsets.
+	* expmed.h (extract_bit_field): Take bitsize and bitnum as
+	poly_uint64s rather than unsigned HOST_WIDE_INTs.
+	* expmed.c (lowpart_bit_field_p): Likewise.
+	(extract_bit_field_as_subreg): New function, split out from...
+	(extract_bit_field_1): ...here.  Take bitsize and bitnum as
+	poly_uint64s rather than unsigned HOST_WIDE_INTs.  For vector
+	extractions, check that BITSIZE matches the size of the extracted
+	value and that BITNUM is an exact multiple of that size.
+	If all else fails, try forcing the value into memory if
+	BITNUM is variable, and adjusting the address so that the
+	offset is constant.  Split the part that can only handle constant
+	bitsize and bitnum out into...
+	(extract_integral_bit_field): ...this new function.
+	(extract_bit_field): Take bitsize and bitnum as poly_uint64s
+	rather than unsigned HOST_WIDE_INTs.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expmed.h (store_bit_field): Take bitsize and bitnum as
+	poly_uint64s rather than unsigned HOST_WIDE_INTs.
+	* expmed.c (simple_mem_bitfield_p): Likewise.  Add a parameter
+	that returns the byte size.
+	(store_bit_field_1): Take bitsize and bitnum as
+	poly_uint64s rather than unsigned HOST_WIDE_INTs.  Update call
+	to simple_mem_bitfield_p.  Split the part that can only handle
+	constant bitsize and bitnum out into...
+	(store_integral_bit_field): ...this new function.
+	(store_bit_field): Take bitsize and bitnum as poly_uint64s rather
+	than unsigned HOST_WIDE_INTs.
+	(extract_bit_field_1): Update call to simple_mem_bitfield_p.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* lra-int.h (lra_reg): Change offset from int to poly_int64.
+	(lra_insn_recog_data): Change sp_offset from HOST_WIDE_INT
+	to poly_int64.
+	(lra_eliminate_regs_1, eliminate_regs_in_insn): Change
+	update_sp_offset from a HOST_WIDE_INT to a poly_int64.
+	(lra_update_reg_val_offset, lra_reg_val_equal_p): Take the
+	offset as a poly_int64 rather than an int.
+	* lra-assigns.c (find_hard_regno_for_1): Handle poly_int64 offsets.
+	(setup_live_pseudos_and_spill_after_risky_transforms): Likewise.
+	* lra-constraints.c (equiv_address_substitution): Track offsets
+	as poly_int64s.
+	(emit_inc): Check poly_int_rtx_p instead of CONST_INT_P.
+	(curr_insn_transform): Handle the new form of sp_offset.
+	* lra-eliminations.c (lra_elim_table): Change previous_offset
+	and offset from HOST_WIDE_INT to poly_int64.
+	(print_elim_table, update_reg_eliminate): Update accordingly.
+	(self_elim_offsets): Change from HOST_WIDE_INT to poly_int64_pod.
+	(get_elimination): Update accordingly.
+	(form_sum): Check poly_int_rtx_p instead of CONST_INT_P.
+	(lra_eliminate_regs_1, eliminate_regs_in_insn): Change
+	update_sp_offset from a HOST_WIDE_INT to a poly_int64.  Handle
+	poly_int64 offsets generally.
+	(curr_sp_change): Change from HOST_WIDE_INT to poly_int64.
+	(mark_not_eliminable, init_elimination): Update accordingly.
+	(remove_reg_equal_offset_note): Return a bool and pass the new
+	offset back by pointer as a poly_int64.
+	* lra-remat.c (change_sp_offset): Take sp_offset as a poly_int64
+	rather than a HOST_WIDE_INT.
+	(do_remat): Track offsets poly_int64s.
+	* lra.c (lra_update_insn_recog_data, setup_sp_offset): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (mem_attrs): Add a default constructor.  Change size and
+	offset from HOST_WIDE_INT to poly_int64.
+	* emit-rtl.h (set_mem_offset, set_mem_size, adjust_address_1)
+	(adjust_automodify_address_1, set_mem_attributes_minus_bitpos)
+	(widen_memory_access): Take the sizes and offsets as poly_int64s
+	rather than HOST_WIDE_INTs.
+	* alias.c (ao_ref_from_mem): Handle the new form of MEM_OFFSET.
+	(offset_overlap_p): Take poly_int64s rather than HOST_WIDE_INTs
+	and ints.
+	(adjust_offset_for_component_ref): Change the offset from a
+	HOST_WIDE_INT to a poly_int64.
+	(nonoverlapping_memrefs_p): Track polynomial offsets and sizes.
+	* cfgcleanup.c (merge_memattrs): Update after mem_attrs changes.
+	* dce.c (find_call_stack_args): Likewise.
+	* dse.c (record_store): Likewise.
+	* dwarf2out.c (tls_mem_loc_descriptor, dw_sra_loc_expr): Likewise.
+	* print-rtl.c (rtx_writer::print_rtx): Likewise.
+	* read-rtl-function.c (test_loading_mem): Likewise.
+	* rtlanal.c (may_trap_p_1): Likewise.
+	* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
+	* var-tracking.c (int_mem_offset, track_expr_p): Likewise.
+	* emit-rtl.c (mem_attrs_eq_p, get_mem_align_offset): Likewise.
+	(mem_attrs::mem_attrs): New function.
+	(set_mem_attributes_minus_bitpos): Change bitpos from a
+	HOST_WIDE_INT to poly_int64.
+	(set_mem_alias_set, set_mem_addr_space, set_mem_align, set_mem_expr)
+	(clear_mem_offset, clear_mem_size, change_address)
+	(get_spill_slot_decl, set_mem_attrs_for_spill): Directly
+	initialize mem_attrs.
+	(set_mem_offset, set_mem_size, adjust_address_1)
+	(adjust_automodify_address_1, offset_address, widen_memory_access):
+	Likewise.  Take poly_int64s rather than HOST_WIDE_INT.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtlanal.c (rtx_addr_can_trap_p_1): Take the offset and size
+	as poly_int64s rather than HOST_WIDE_INTs.  Use a size of -1
+	rather than 0 to represent an unknown size.  Assert that the size
+	is known when the mode isn't BLKmode.
+	(may_trap_p_1): Use -1 for unknown sizes.
+	(rtx_addr_can_trap_p): Likewise.  Pass BLKmode rather than VOIDmode.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* dse.c (store_info): Change offset and width from HOST_WIDE_INT
+	to poly_int64.  Update commentary for positions_needed.large.
+	(read_info_type): Change offset and width from HOST_WIDE_INT
+	to poly_int64.
+	(set_usage_bits): Likewise.
+	(canon_address): Return the offset as a poly_int64 rather than
+	a HOST_WIDE_INT.  Use strip_offset_and_add.
+	(set_all_positions_unneeded, any_positions_needed_p): Use
+	positions_needed.large to track stores with non-constant widths.
+	(all_positions_needed_p): Likewise.  Take the offset and width
+	as poly_int64s rather than ints.  Assert that rhs is nonnull.
+	(record_store): Cope with non-constant offsets and widths.
+	Nullify the rhs of an earlier store if we can't tell which bytes
+	of it are needed.
+	(find_shift_sequence): Take the access_size and shift as poly_int64s
+	rather than ints.
+	(get_stored_val): Take the read_offset and read_width as poly_int64s
+	rather than HOST_WIDE_INTs.
+	(check_mem_read_rtx, scan_stores, scan_reads, dse_step5): Handle
+	non-constant offsets and widths.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* inchash.h (inchash::hash::add_poly_int): New function.
+	* tree-ssa-alias.h (ao_ref::offset, ao_ref::size, ao_ref::max_size):
+	Use poly_int64 rather than HOST_WIDE_INT.
+	(ao_ref::max_size_known_p): New function.
+	* tree-ssa-sccvn.h (vn_reference_op_struct::off): Use poly_int64_pod
+	rather than HOST_WIDE_INT.
+	* tree-ssa-alias.c (ao_ref_base): Apply get_ref_base_and_extent
+	to temporaries until its interface is adjusted to match.
+	(ao_ref_init_from_ptr_and_size): Handle polynomial offsets and sizes.
+	(aliasing_component_refs_p, decl_refs_may_alias_p)
+	(indirect_ref_may_alias_decl_p, indirect_refs_may_alias_p): Take
+	the offsets and max_sizes as poly_int64s instead of HOST_WIDE_INTs.
+	(refs_may_alias_p_1, stmt_kills_ref_p): Adjust for changes to
+	ao_ref fields.
+	* alias.c (ao_ref_from_mem): Likewise.
+	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
+	* tree-ssa-dse.c (valid_ao_ref_for_dse, normalize_ref)
+	(clear_bytes_written_by, setup_live_bytes_from_ref, compute_trims)
+	(maybe_trim_complex_store, maybe_trim_constructor_store)
+	(live_bytes_read, dse_classify_store): Likewise.
+	* tree-ssa-sccvn.c (vn_reference_compute_hash, vn_reference_eq):
+	(copy_reference_ops_from_ref, ao_ref_init_from_vn_reference)
+	(fully_constant_vn_reference_p, valueize_refs_1): Likewise.
+	(vn_reference_lookup_3): Likewise.
+	* tree-ssa-uninit.c (warn_uninitialized_vars): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p)
+	(indirect_refs_may_alias_p): Use ranges_may_overlap_p
+	instead of ranges_overlap_p.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-ssa-alias.c (same_addr_size_stores_p): Take the offsets and
+	sizes as poly_int64s rather than HOST_WIDE_INTs.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gimple-fold.h (fold_ctor_reference): Take the offset and size
+	as poly_uint64 rather than unsigned HOST_WIDE_INT.
+	* gimple-fold.c (fold_ctor_reference): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (dwarf_poly_indeterminate_value): New hook.
+	* targhooks.h (default_dwarf_poly_indeterminate_value): Declare.
+	* targhooks.c (default_dwarf_poly_indeterminate_value): New function.
+	* doc/tm.texi.in (TARGET_DWARF_POLY_INDETERMINATE_VALUE): Document.
+	* doc/tm.texi: Regenerate.
+	* dwarf2out.h (build_cfa_loc, build_cfa_aligned_loc): Take the
+	offset as a poly_int64.
+	* dwarf2out.c (new_reg_loc_descr): Move later in file.  Take the
+	offset as a poly_int64.
+	(loc_descr_plus_const, loc_list_plus_const, build_cfa_aligned_loc):
+	Take the offset as a poly_int64.
+	(build_cfa_loc): Likewise.  Use loc_descr_plus_const.
+	(frame_pointer_fb_offset): Change to a poly_int64.
+	(int_loc_descriptor): Take the offset as a poly_int64.  Use
+	targetm.dwarf_poly_indeterminate_value for polynomial offsets.
+	(based_loc_descr): Take the offset as a poly_int64.
+	Use strip_offset_and_add to handle (plus X (const)).
+	Use new_reg_loc_descr instead of an open-coded version of the
+	previous implementation.
+	(mem_loc_descriptor): Handle CONST_POLY_INT.
+	(compute_frame_pointer_to_fb_displacement): Take the offset as a
+	poly_int64.  Use strip_offset_and_add to handle (plus X (const)).
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (reg_attrs::offset): Change from HOST_WIDE_INT to poly_int64.
+	(gen_rtx_REG_offset): Take the offset as a poly_int64.
+	* inchash.h (inchash::hash::add_poly_hwi): New function.
+	* gengtype.c (main): Register poly_int64.
+	* emit-rtl.c (reg_attr_hasher::hash): Use inchash.  Treat the
+	offset as a poly_int.
+	(reg_attr_hasher::equal): Use must_eq to compare offsets.
+	(get_reg_attrs, update_reg_offset, gen_rtx_REG_offset): Take the
+	offset as a poly_int64.
+	(set_reg_attrs_from_value): Treat the offset as a poly_int64.
+	* print-rtl.c (print_poly_int): New function.
+	(rtx_writer::print_rtx_operand_code_r): Treat REG_OFFSET as
+	a poly_int.
+	* var-tracking.c (track_offset_p, get_tracked_reg_offset): New
+	functions.
+	(var_reg_set, var_reg_delete_and_set, var_reg_delete): Use them.
+	(same_variable_part_p, track_loc_p): Take the offset as a poly_int64.
+	(vt_get_decl_and_offset): Return the offset as a poly_int64.
+	Enforce track_offset_p for parts of a PARALLEL.
+	(vt_add_function_parameter): Use const_offset for the final
+	offset to track.  Use get_tracked_reg_offset for the parts
+	of a PARALLEL.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (truly_noop_truncation): Take poly_uint64s instead of
+	unsigned ints.  Change default to hook_bool_puint64_puint64_true.
+	* doc/tm.texi: Regenerate.
+	* hooks.h (hook_bool_uint_uint_true): Delete.
+	(hook_bool_puint64_puint64_true): Declare.
+	* hooks.c (hook_bool_uint_uint_true): Delete.
+	(hook_bool_puint64_puint64_true): New function.
+	* config/mips/mips.c (mips_truly_noop_truncation): Take poly_uint64s
+	instead of unsigned ints.
+	* config/spu/spu.c (spu_truly_noop_truncation): Likewise.
+	* config/tilegx/tilegx.c (tilegx_truly_noop_truncation): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* optabs.h (expand_operand): Add an int_value field.
+	(create_expand_operand): Add an int_value parameter and use it
+	to initialize the new expand_operand field.
+	(create_integer_operand): Replace with a declaration of a function
+	that accepts poly_int64s.  Move the implementation to...
+	* optabs.c (create_integer_operand): ...here.
+	(maybe_legitimize_operand): For EXPAND_INTEGER, check whether
+	the mode preserves the value of int_value, instead of calling
+	const_int_operand on the rtx.  Use gen_int_mode to generate
+	the new rtx.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* dumpfile.h (dump_dec): Declare.
+	* dumpfile.c (dump_dec): New function.
+	* pretty-print.h (pp_wide_integer): Turn into a function and
+	declare a poly_int version.
+	* pretty-print.c (pp_wide_integer): New function for poly_ints.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/generic.texi (POLY_INT_CST): Document.
+	* tree.def (POLY_INT_CST): New tree code.
+	* treestruct.def (TS_POLY_INT_CST): New tree layout.
+	* tree-core.h (tree_poly_int_cst): New struct.
+	(tree_node): Add a poly_int_cst field.
+	* tree.h (POLY_INT_CST_P, POLY_INT_CST_COEFF): New macros.
+	(wide_int_to_tree, force_fit_type): Take a poly_wide_int_ref
+	instead of a wide_int_ref.
+	(build_int_cst, build_int_cst_type): Take a poly_int64 instead
+	of a HOST_WIDE_INT.
+	(build_int_cstu, build_array_type_nelts): Take a poly_uint64
+	instead of an unsigned HOST_WIDE_INT.
+	(build_poly_int_cst, tree_fits_poly_int64_p, tree_fits_poly_uint64_p)
+	(ptrdiff_tree_p): Declare.
+	(tree_to_poly_int64, tree_to_poly_uint64): Likewise.  Provide
+	extern inline implementations if the target doesn't use POLY_INT_CST.
+	(poly_int_tree_p): New function.
+	(wi::unextended_tree): New class.
+	(wi::int_traits <unextended_tree>): New override.
+	(wi::extended_tree): Add a default constructor.
+	(wi::extended_tree::get_tree): New function.
+	(wi::widest_extended_tree, wi::offset_extended_tree): New typedefs.
+	(wi::tree_to_widest_ref, wi::tree_to_offset_ref): Use them.
+	(wi::tree_to_poly_widest_ref, wi::tree_to_poly_offset_ref)
+	(wi::tree_to_poly_wide_ref): New typedefs.
+	(wi::ints_for): Provide overloads for extended_tree and
+	unextended_tree.
+	(poly_int_cst_value, wi::to_poly_widest, wi::to_poly_offset)
+	(wi::to_wide): New functions.
+	(wi::fits_to_boolean_p, wi::fits_to_tree_p): Handle poly_ints.
+	* tree.c (poly_int_cst_hasher): New struct.
+	(poly_int_cst_hash_table): New variable.
+	(tree_node_structure_for_code, tree_code_size, simple_cst_equal)
+	(valid_constant_size_p, add_expr, drop_tree_overflow): Handle
+	POLY_INT_CST.
+	(initialize_tree_contains_struct): Handle TS_POLY_INT_CST.
+	(init_ttree): Initialize poly_int_cst_hash_table.
+	(build_int_cst, build_int_cst_type, build_invariant_address): Take
+	a poly_int64 instead of a HOST_WIDE_INT.
+	(build_int_cstu, build_array_type_nelts): Take a poly_uint64
+	instead of an unsigned HOST_WIDE_INT.
+	(wide_int_to_tree): Rename to...
+	(wide_int_to_tree_1): ...this.
+	(build_new_poly_int_cst, build_poly_int_cst): New functions.
+	(force_fit_type): Take a poly_wide_int_ref instead of a wide_int_ref.
+	(wide_int_to_tree): New function that takes a poly_wide_int_ref.
+	(ptrdiff_tree_p, tree_to_poly_int64, tree_to_poly_uint64)
+	(tree_fits_poly_int64_p, tree_fits_poly_uint64_p): New functions.
+	* lto-streamer-out.c (DFS::DFS_write_tree_body, hash_tree): Handle
+	TS_POLY_INT_CST.
+	* tree-streamer-in.c (lto_input_ts_poly_tree_pointers): Likewise.
+	(streamer_read_tree_body): Likewise.
+	* tree-streamer-out.c (write_ts_poly_tree_pointers): Likewise.
+	(streamer_write_tree_body): Likewise.
+	* tree-streamer.c (streamer_check_handled_ts_structures): Likewise.
+	* asan.c (asan_protect_global): Require the size to be an INTEGER_CST.
+	* cfgexpand.c (expand_debug_expr): Handle POLY_INT_CST.
+	* expr.c (expand_expr_real_1, const_vector_from_tree): Likewise.
+	* gimple-expr.h (is_gimple_constant): Likewise.
+	* gimplify.c (maybe_with_size_expr): Likewise.
+	* print-tree.c (print_node): Likewise.
+	* tree-data-ref.c (data_ref_compare_tree): Likewise.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+	* tree-ssa-address.c (addr_for_mem_ref): Likewise.
+	* tree-vect-data-refs.c (dr_group_sort_cmp): Likewise.
+	* tree-vrp.c (compare_values_warnv): Likewise.
+	* tree-ssa-loop-ivopts.c (determine_base_object, constant_multiple_of)
+	(get_loop_invariant_expr, add_candidate_1, get_computation_aff_1)
+	(force_expr_to_var_cost): Likewise.
+	* tree-ssa-loop.c (for_each_index): Likewise.
+	* fold-const.h (build_invariant_address, size_int_kind): Take a
+	poly_int64 instead of a HOST_WIDE_INT.
+	* fold-const.c (fold_negate_expr_1, const_binop, const_unop)
+	(fold_convert_const, multiple_of_p, fold_negate_const): Handle
+	POLY_INT_CST.
+	(size_binop_loc): Likewise.  Allow int_const_binop_1 to fail.
+	(int_const_binop_2): New function, split out from...
+	(int_const_binop_1): ...here.  Handle POLY_INT_CST.
+	(size_int_kind): Take a poly_int64 instead of a HOST_WIDE_INT.
+	* expmed.c (make_tree): Handle CONST_POLY_INT_P.
+	* gimple-ssa-strength-reduction.c (slsr_process_add)
+	(slsr_process_mul): Check for INTEGER_CSTs before using them
+	as candidates.
+	* stor-layout.c (bits_from_bytes): New function.
+	(bit_from_pos): Use it.
+	(layout_type): Likewise.  For vectors, multiply the TYPE_SIZE_UNIT
+	by BITS_PER_UNIT to get the TYPE_SIZE.
+	* tree-cfg.c (verify_expr, verify_types_in_gimple_reference): Allow
+	MEM_REF and TARGET_MEM_REF offsets to be a POLY_INT_CST.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/rtl.texi (const_poly_int): Document.  Also document the
+	rtl sharing behavior.
+	* gengenrtl.c (excluded_rtx): Return true for CONST_POLY_INT.
+	* rtl.h (const_poly_int_def): New struct.
+	(rtx_def::u): Add a cpi field.
+	(CASE_CONST_UNIQUE, CASE_CONST_ANY): Add CONST_POLY_INT.
+	(CONST_POLY_INT_P, CONST_POLY_INT_COEFFS): New macros.
+	(wi::rtx_to_poly_wide_ref): New typedef
+	(const_poly_int_value, wi::to_poly_wide, rtx_to_poly_int64)
+	(poly_int_rtx_p): New functions.
+	(trunc_int_for_mode): Declare a poly_int64 version.
+	(plus_constant): Take a poly_int64 instead of a HOST_WIDE_INT.
+	(immed_wide_int_const): Take a poly_wide_int_ref rather than
+	a wide_int_ref.
+	(strip_offset): Declare.
+	(strip_offset_and_add): New function.
+	* rtl.def (CONST_POLY_INT): New rtx code.
+	* rtl.c (rtx_size): Handle CONST_POLY_INT.
+	(shared_const_p): Use poly_int_rtx_p.
+	* emit-rtl.h (gen_int_mode): Take a poly_int64 instead of a
+	HOST_WIDE_INT.
+	(gen_int_shift_amount): Likewise.
+	* emit-rtl.c (const_poly_int_hasher): New class.
+	(const_poly_int_htab): New variable.
+	(init_emit_once): Initialize it when NUM_POLY_INT_COEFFS > 1.
+	(const_poly_int_hasher::hash): New function.
+	(const_poly_int_hasher::equal): Likewise.
+	(gen_int_mode): Take a poly_int64 instead of a HOST_WIDE_INT.
+	(immed_wide_int_const): Rename to...
+	(immed_wide_int_const_1): ...this and make static.
+	(immed_wide_int_const): New function, taking a poly_wide_int_ref
+	instead of a wide_int_ref.
+	(gen_int_shift_amount): Take a poly_int64 instead of a HOST_WIDE_INT.
+	(gen_lowpart_common): Handle CONST_POLY_INT.
+	* cse.c (hash_rtx_cb, equiv_constant): Likewise.
+	* cselib.c (cselib_hash_rtx): Likewise.
+	* dwarf2out.c (const_ok_for_output_1): Likewise.
+	* expr.c (convert_modes): Likewise.
+	* print-rtl.c (rtx_writer::print_rtx, print_value): Likewise.
+	* rtlhash.c (add_rtx): Likewise.
+	* explow.c (trunc_int_for_mode): Add a poly_int64 version.
+	(plus_constant): Take a poly_int64 instead of a HOST_WIDE_INT.
+	Handle existing CONST_POLY_INT rtxes.
+	* expmed.h (expand_shift): Take a poly_int64 instead of a
+	HOST_WIDE_INT.
+	* expmed.c (expand_shift): Likewise.
+	* rtlanal.c (strip_offset): New function.
+	(commutative_operand_precedence): Give CONST_POLY_INT the same
+	precedence as CONST_DOUBLE and put CONST_WIDE_INT between that
+	and CONST_INT.
+	* rtl-tests.c (const_poly_int_tests): New struct.
+	(rtl_tests_c_tests): Use it.
+	* simplify-rtx.c (simplify_const_unary_operation): Handle
+	CONST_POLY_INT.
+	(simplify_const_binary_operation): Likewise.
+	(simplify_binary_operation_1): Fold additions of symbolic constants
+	and CONST_POLY_INTs.
+	(simplify_subreg): Handle extensions and truncations of
+	CONST_POLY_INTs.
+	(simplify_const_poly_int_tests): New struct.
+	(simplify_rtx_c_tests): Use it.
+	* wide-int.h (storage_ref): Add default constructor.
+	(wide_int_ref_storage): Likewise.
+	(trailing_wide_ints): Use GTY((user)).
+	(trailing_wide_ints::operator[]): Add a const version.
+	(trailing_wide_ints::get_precision): New function.
+	(trailing_wide_ints::extra_size): Likewise.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* emit-rtl.h (gen_int_shift_amount): Declare.
+	* emit-rtl.c (gen_int_shift_amount): New function.
+	* asan.c (asan_emit_stack_protection): Use gen_int_shift_amount
+	instead of GEN_INT.
+	* calls.c (shift_return_value): Likewise.
+	* cse.c (fold_rtx): Likewise.
+	* dse.c (find_shift_sequence): Likewise.
+	* expmed.c (init_expmed_one_mode, store_bit_field_1, expand_shift_1)
+	(expand_shift, expand_smod_pow2): Likewise.
+	* lower-subreg.c (shift_cost): Likewise.
+	* optabs.c (expand_superword_shift, expand_doubleword_mult)
+	(expand_unop, expand_binop, shift_amt_for_vec_perm_mask)
+	(expand_vec_perm_var): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+	(simplify_binary_operation_1): Likewise.
+	* combine.c (try_combine, find_split_point, force_int_to_mode)
+	(simplify_shift_const_1, simplify_shift_const): Likewise.
+	(change_zero_ext): Likewise.  Use simplify_gen_binary.
+
+2017-12-20  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* poly-int.h (multiple_p): Fix handling of two non-poly_ints.
+
+2017-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* doc/invoke.texi (ARM Options): Document accepted extension options
+	for -march=armv8.3-a.
+
+2017-12-20  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/83105
+	* config.gcc (arm*-*-linux*): When configured with --with-float=hard
+	or --with-float=softfp, set the default CPU to arm10e.
+
+2017-12-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/visium/constraints.md (J, K, L): Use IN_RANGE macro.
+	* config/visium/predicates.md (const_shift_operand): Likewise.
+	* config/visium/visium.c (visium_legitimize_address): Fix oversight.
+	(visium_legitimize_reload_address): Likewise.
+
+2017-12-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/82975
+	* config/arm/arm.h (TEST_REGNO): Adjust comment as expected in r255830.
+
+2017-12-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/83490
+	* calls.c (compute_argument_addresses): Ignore TYPE_EMPTY_P arguments.
+
+2017-12-20  Julia Koval  <julia.koval@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_VPCLMULQDQ_SET,
+	OPTION_MASK_ISA_VPCLMULQDQ_UNSET): New.
+	(ix86_handle_option): Handle -mvpclmulqdq, move cx6 to flags2.
+	* config.gcc: Include vpclmulqdqintrin.h.
+	* config/i386/cpuid.h: Handle bit_VPCLMULQDQ.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Handle
+	-mvpclmulqdq.
+	* config/i386/i386-builtin.def (__builtin_ia32_vpclmulqdq_v2di,
+	__builtin_ia32_vpclmulqdq_v4di, __builtin_ia32_vpclmulqdq_v8di): New.
+	* config/i386/i386-c.c (__VPCLMULQDQ__): New.
+	* config/i386/i386.c (isa2_opts): Add -mcx16.
+	(isa_opts): Add -mpclmulqdq, remove -mcx16.
+	(ix86_option_override_internal): Move mcx16 to flags2.
+	(ix86_valid_target_attribute_inner_p): Add vpclmulqdq.
+	(ix86_expand_builtin): Handle OPTION_MASK_ISA_VPCLMULQDQ.
+	* config/i386/i386.h (TARGET_VPCLMULQDQ, TARGET_VPCLMULQDQ_P): New.
+	* config/i386/i386.opt: Add mvpclmulqdq, move mcx16 to flags2.
+	* config/i386/immintrin.h: Include vpclmulqdqintrin.h.
+	* config/i386/sse.md (vpclmulqdq_<mode>): New pattern.
+	* config/i386/vpclmulqdqintrin.h (_mm512_clmulepi64_epi128,
+	_mm_clmulepi64_epi128, _mm256_clmulepi64_epi128): New intrinsics.
+	* doc/invoke.texi: Add -mvpclmulqdq.
+
+2017-12-20  Tom de Vries  <tom@codesourcery.com>
+
+	PR middle-end/83423
+	* config/i386/i386.c (ix86_static_chain): Move
+	DECL_STATIC_CHAIN test ...
+	* calls.c (rtx_for_static_chain): ... here.  New function.
+	* calls.h (rtx_for_static_chain): Declare.
+	* builtins.c (expand_builtin_setjmp_receiver): Use rtx_for_static_chain
+	instead of targetm.calls.static_chain.
+	* df-scan.c (df_get_entry_block_def_set): Same.
+
+2017-12-19  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/83493
+	* graphite-isl-ast-to-gimple.c (translate_isl_ast_node_for): Unshare ub
+	and lb.
+
+2017-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimple-ssa-sprintf.c (format_directive): Use inform_n instead of
+	inform with hardcoded english plural handling.
+
+2017-12-18  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/83477
+	* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis): For
+	a non-virtual PHI, always push a new range.
+
+2017-12-19  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/77608
+	* builtins.c (compute_objsize): Handle non-constant offsets.
+
+2017-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83444
+	* tree-ssa-strlen.c (strlen_check_and_optimize_stmt): For the
+	character load case, if get_stridx on MEM_REF's operand doesn't
+	look usable, retry with get_addr_stridx.
+
+2017-12-19  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR debug/83422
+	* var-tracking.c (vt_debug_insns_local): Do not drop markers.
+	(variable_tracking_main_1): Keep markers even when VTA fails.
+
+	PR bootstrap/83396
+	* cfgexpand.c (expand_gimple_basic_block): Expand label first,
+	even if there are markers before it.
+	* cfgrtl.c (rtl_verify_bb_layout): Reject DEBUG_INSNs outside BBs.
+
+2017-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* read-rtl.c (parse_reg_note_name): Replace Yoda conditions with
+	typical order conditions.
+	* sel-sched.c (extract_new_fences_from): Likewise.
+	* config/visium/constraints.md (J, K, L): Likewise.
+	* config/visium/predicates.md (const_shift_operand): Likewise.
+	* config/visium/visium.c (visium_legitimize_address,
+	visium_legitimize_reload_address): Likewise.
+	* config/m68k/m68k.c (output_reg_adjust, emit_reg_adjust): Likewise.
+	* config/arm/arm.c (arm_block_move_unaligned_straight): Likewise.
+	* config/avr/constraints.md (Y01, Ym1, Y02, Ym2): Likewise.
+	* config/avr/avr-log.c (avr_vdump, avr_log_set_avr_log,
+	SET_DUMP_DETAIL): Likewise.
+	* config/avr/predicates.md (const_8_16_24_operand): Likewise.
+	* config/avr/avr.c (STR_PREFIX_P, avr_popcount_each_byte,
+	avr_is_casesi_sequence, avr_casei_sequence_check_operands,
+	avr_set_core_architecture, avr_set_current_function,
+	avr_legitimize_reload_address, avr_asm_len, avr_print_operand,
+	output_movqi, output_movsisf, avr_out_plus, avr_out_bitop,
+	avr_out_fract, avr_adjust_insn_length, avr_encode_section_info,
+	avr_2word_insn_p, output_reload_in_const, avr_has_nibble_0xf,
+	avr_map_decompose, avr_fold_builtin): Likewise.
+	* config/avr/driver-avr.c (avr_devicespecs_file): Likewise.
+	* config/avr/gen-avr-mmcu-specs.c (str_prefix_p, print_mcu): Likewise.
+	* config/i386/i386.c (ix86_parse_stringop_strategy_string): Likewise.
+	* config/m32c/m32c-pragma.c (m32c_pragma_memregs): Likewise.
+	* config/m32c/m32c.c (m32c_conditional_register_usage,
+	m32c_address_cost): Likewise.
+	* config/m32c/predicates.md (shiftcount_operand,
+	longshiftcount_operand): Likewise.
+	* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
+	* config/nios2/nios2.c (nios2_handle_custom_fpu_insn_option,
+	can_use_cdx_ldstw): Likewise.
+	* config/nios2/nios2.h (CDX_REG_P): Likewise.
+	* config/cr16/cr16.h (RETURN_ADDR_RTX, REGNO_MODE_OK_FOR_BASE_P):
+	Likewise.
+	* config/cr16/cr16.md (*mov<mode>_double): Likewise.
+	* config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.
+	* config/h8300/h8300.c (h8300_rtx_costs, get_shift_alg): Likewise.
+	* config/vax/constraints.md (U06, U08, U16, CN6, S08, S16): Likewise.
+	* config/vax/vax.c (adjacent_operands_p): Likewise.
+	* config/ft32/constraints.md (L, b, KA): Likewise.
+	* config/ft32/ft32.c (ft32_load_immediate, ft32_expand_prologue):
+	Likewise.
+	* cfgexpand.c (expand_stack_alignment): Likewise.
+	* gcse.c (insert_expr_in_table): Likewise.
+	* print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Likewise.
+	* cgraphunit.c (cgraph_node::expand): Likewise.
+	* ira-build.c (setup_min_max_allocno_live_range_point): Likewise.
+	* emit-rtl.c (add_insn): Likewise.
+	* input.c (dump_location_info): Likewise.
+	* passes.c (NEXT_PASS): Likewise.
+	* read-rtl-function.c (parse_note_insn_name,
+	function_reader::read_rtx_operand_r, function_reader::parse_mem_expr):
+	Likewise.
+	* sched-rgn.c (sched_rgn_init): Likewise.
+	* diagnostic-show-locus.c (layout::show_ruler): Likewise.
+	* combine.c (find_split_point, simplify_if_then_else, force_to_mode,
+	if_then_else_cond, simplify_shift_const_1, simplify_comparison):
+	Likewise.
+	* explow.c (eliminate_constant_term): Likewise.
+	* final.c (leaf_renumber_regs_insn): Likewise.
+	* cfgrtl.c (print_rtl_with_bb): Likewise.
+	* genhooks.c (emit_init_macros): Likewise.
+	* poly-int.h (maybe_ne, maybe_le, maybe_lt): Likewise.
+	* tree-data-ref.c (conflict_fn): Likewise.
+	* selftest.c (assert_streq): Likewise.
+	* expr.c (store_constructor_field, expand_expr_real_1): Likewise.
+	* fold-const.c (fold_range_test, extract_muldiv_1, fold_truth_andor,
+	fold_binary_loc, multiple_of_p): Likewise.
+	* reload.c (push_reload, find_equiv_reg): Likewise.
+	* et-forest.c (et_nca, et_below): Likewise.
+	* dbxout.c (dbxout_symbol_location): Likewise.
+	* reorg.c (relax_delay_slots): Likewise.
+	* dojump.c (do_compare_rtx_and_jump): Likewise.
+	* gengtype-parse.c (type): Likewise.
+	* simplify-rtx.c (simplify_gen_ternary, simplify_gen_relational,
+	simplify_const_relational_operation): Likewise.
+	* reload1.c (do_output_reload): Likewise.
+	* dumpfile.c (get_dump_file_info_by_switch): Likewise.
+	* gengtype.c (type_for_name): Likewise.
+	* gimple-ssa-sprintf.c (format_directive): Likewise.
+
+2017-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/82975
+	* config/arm/arm.h (TEST_REGNO): Check reg_renumber is set before
+	accessing it.  Adjust comment.
+
+2017-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/81914
+	* predict.c (zero_one_minusone): New function.
+	(apply_return_prediction): Avoid return prediction for functions
+	returning only -1, 0 and 1 values, unless they only return -1 and 0
+	or 0 and 1.
+
+2017-12-19  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (legitimate_scaled_address_p): Clean
+	fall-through warning.
+	(arc_compute_frame_size): Remove unused variables.
+	(arc_print_operand): Fix fprintif format.
+	(arc_can_follow_jump): Clean fall-through warning.
+
+2017-12-19  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/83489
+	* config/i386/i386.c (init_cumulative_args): Don't check TYPE_EMPTY_P
+	on an error node.
+
+2017-12-19  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (overriderregs): New variable.
+	(arc_override_options): Track fixed/call saved/call options.
+	(arc_conditional_register_usage): Check against overrideregs
+	variable whenever we change register properties.
+
+2017-12-19  Nathan Sidwell  <nathan@acm.org>
+
+	* opts.c (finish_options): Don't prefix dump_base_name if it
+	already contains directories.
+
+2017-12-19  Martin Liska  <mliska@suse.cz>
+
+	PR rtl-optimization/82675
+	* loop-unroll.c (unroll_loop_constant_iterations): Allocate one
+	more element in sbitmap.
+
+2017-12-19  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	* gimplify.c (gimplify_expr): Use error_operand_p.
+
+2017-12-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	PR target/83387
+	* config/rs6000/t-rtems (MULTILIB_REQUIRED): Remove 64-bit soft-float
+	multilib.
+
+2017-12-19  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/sparc.c (sparc_do_work_around_errata): Make sure
+	the jump is to a label.
+
+2017-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83444
+	* tree-ssa-strlen.c (strlen_check_and_optimize_stmt): Optimize
+	character loads.
+
+	PR ipa/82801
+	PR ipa/83346
+	* ipa-inline.c (flatten_remove_node_hook): New function.
+	(ipa_inline): Keep only nodes with flatten attribute at the end of
+	the array in the order from ipa_reverse_postorder, only walk that
+	portion of array for flattening, if there is more than one such
+	node, temporarily register a removal hook and ignore removed nodes.
+
+	PR tree-optimization/80631
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Compare
+	induc_code against MAX_EXPR or MIN_EXPR instead of reduc_fn against
+	IFN_REDUC_MAX or IFN_REDUC_MIN.
+
+2017-12-18  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dom.c (record_equivalences_from_phis): Do not
+	record symbolic equivalences from backedges in the CFG.
+
+	Revert
+	2017-11-19  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dom.c (record_equivalences_from_phis): Fix handling
+	of degenerates resulting from ignoring an edge.
+
+2017-12-18  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/83373
+	PR tree-optimization/78450
+	* tree-ssa-strlen.c (maybe_set_strlen_range): New function.
+	(handle_builtin_strlen): Call it.
+
+2017-12-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/83424
+	* rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET.
+
+2017-12-18  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/83463
+	* gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref):
+	Check if TYPE is INTEGRAL_TYPE_P before accessing its min/max
+	values.
+
+2017-12-18  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (maddsidi4, maddsidi4_split): Update pattern.
+	(umaddsidi4, umaddsidi_split): Likewise.
+
+2017-12-18  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_legitimate_constant_p): Always check all
+	constants.
+
+2017-12-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/83420
+	* config/s390/s390.c (s390_option_override): Avoid strncpy.
+
+2017-12-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81877
+	* tree-ssa-loop-im.c (ref_indep_loop_p): Remove safelen parameters.
+	(outermost_indep_loop): Adjust.
+	(ref_indep_loop_p_1): Likewise.  Remove safelen handling again.
+	(can_sm_ref_p): Adjust.
+
+2017-12-18  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/77291
+	* tree.c (array_at_struct_end_p): Return true if the underlying
+	object has space for at least one element in excess of what
+	the array domain specifies.
+
+2017-12-17  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/extend.texi (x86 Function Attributes): Reformat nocf_check
+	example	to avoid overfull hbox.
+	* doc/invoke.texi (Option Summary): Add missing @gol.
+	(C++ Dialect Options): Reformat -Wnoexcept-type example to avoid
+	overfull hbox.
+
+2017-12-17  Sandra Loosemore  <sandra@codesourcery.com>
+	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* doc/invoke.texi (Option Summary): Add -mverbose-cost-dump
+	to AArch64 and ARM lists, plus missing -mflip-thumb for ARM.
+	(AArch64 Options): Document -mverbose-cost-dump.
+	(ARM Options): Likewise, plus -mflip-thumb.
+
+2017-12-17  Martin Sebor  <msebor@redhat.com>
+
+	PR bootstrap/83446
+	* gimple-ssa-warn-restrict.c
+	(builtin_memref::offset_out_of_bounds): Correct the handling of
+	anti-ranges.
+
+2017-12-17  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (ARC Options): Add missing -mlra entry.
+
+2017-12-17  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.c (pa_som_asm_init_sections): Fix comment.
+
+2017-12-17  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* x86-tune-costs.h (skylake_cost, core_cost): Decrease r64 multiply
+	latencies.
+
+2017-12-16  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi: Fix some typos.
+
+2017-12-16  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/78918
+	* Makefile.in (OBJS): Add gimple-ssa-warn-restrict.o.
+	* builtins.c (check_sizes): Rename...
+	(check_access): ...to this.  Rename function arguments for clarity.
+	(check_memop_sizes): Adjust names.
+	(expand_builtin_memchr, expand_builtin_memcpy): Same.
+	(expand_builtin_memmove, expand_builtin_mempcpy): Same.
+	(expand_builtin_strcat, expand_builtin_stpncpy): Same.
+	(check_strncat_sizes, expand_builtin_strncat): Same.
+	(expand_builtin_strncpy, expand_builtin_memset): Same.
+	(expand_builtin_bzero, expand_builtin_memcmp): Same.
+	(expand_builtin_memory_chk, maybe_emit_chk_warning): Same.
+	(maybe_emit_sprintf_chk_warning): Same.
+	(expand_builtin_strcpy): Adjust.
+	(expand_builtin_stpcpy): Same.
+	(expand_builtin_with_bounds): Detect out-of-bounds accesses
+	in pointer-checking forms of memcpy, memmove, and mempcpy.
+	(gcall_to_tree_minimal, max_object_size): Define new functions.
+	* builtins.h (max_object_size): Declare.
+	* calls.c (alloc_max_size): Call max_object_size instead of
+	hardcoding ssizetype limit.
+	(get_size_range): Handle new argument.
+	* calls.h (get_size_range): Add a new argument.
+	* cfgexpand.c (expand_call_stmt): Propagate no-warning bit.
+	* doc/invoke.texi (-Wrestrict): Adjust, add example.
+	* gimple-fold.c (gimple_fold_builtin_memory_op): Detect overlapping
+	operations.
+	(gimple_fold_builtin_memory_chk): Same.
+	(gimple_fold_builtin_stxcpy_chk): New function.
+	* gimple-ssa-warn-restrict.c: New source.
+	* gimple-ssa-warn-restrict.h: New header.
+	* gimple.c (gimple_build_call_from_tree): Propagate location.
+	* passes.def (pass_warn_restrict): Add new pass.
+	* tree-pass.h (make_pass_warn_restrict): Declare.
+	* tree-ssa-strlen.c (handle_builtin_strcpy): Detect overlapping
+	operations.
+	(handle_builtin_strcat): Same.
+	(strlen_optimize_stmt): Rename...
+	(strlen_check_and_optimize_stmt): ...to this.  Handle strncat,
+	stpncpy, strncpy, and their checking forms.
+
+2017-12-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR rtl-optimization/82849
+	* modulo-sched.c (sms_schedule): Use get_estimated_loop_iterations_int
+	and get_max_loop_iterations_int.
+
+2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (mode_for_size, int_mode_for_size, float_mode_for_size)
+	(smallest_mode_for_size, smallest_int_mode_for_size): Take the mode
+	size as a poly_uint64.
+	(mode_for_vector, mode_for_int_vector): Take the number of vector
+	elements as a poly_uint64.
+	* stor-layout.c (mode_for_size, smallest_mode_for_size): Take the mode
+	size as a poly_uint64.
+	(mode_for_vector, mode_for_int_vector): Take the number of vector
+	elements as a poly_uint64.
+
+2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (MACRO_MODE): New macro.
+	* addresses.h (base_reg_class, ok_for_base_p_1): Use it.
+	* targhooks.c (default_libcall_value, default_secondary_reload)
+	(default_memory_move_cost, default_register_move_cost)
+	(default_class_max_nregs): Likewise.
+
+2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/sourcebuild.texi: Document IN_TARGET_CODE.
+	* genattrtab.c (write_header): Define IN_TARGET_CODE to 1 in the
+	target C file.
+	* genautomata.c (main): Likewise.
+	* genconditions.c (write_header): Likewise.
+	* genemit.c (main): Likewise.
+	* genextract.c (print_header): Likewise.
+	* genopinit.c (main): Likewise.
+	* genoutput.c (output_prologue): Likewise.
+	* genpeep.c (main): Likewise.
+	* genpreds.c (write_insn_preds_c): Likewise.
+	* genrecog.c (writer_header): Likewise.
+	* config/aarch64/aarch64-builtins.c (IN_TARGET_CODE): Define.
+	* config/aarch64/aarch64-c.c (IN_TARGET_CODE): Likewise.
+	* config/aarch64/aarch64.c (IN_TARGET_CODE): Likewise.
+	* config/aarch64/cortex-a57-fma-steering.c (IN_TARGET_CODE): Likewise.
+	* config/aarch64/driver-aarch64.c (IN_TARGET_CODE): Likewise.
+	* config/alpha/alpha.c (IN_TARGET_CODE): Likewise.
+	* config/alpha/driver-alpha.c (IN_TARGET_CODE): Likewise.
+	* config/arc/arc-c.c (IN_TARGET_CODE): Likewise.
+	* config/arc/arc.c (IN_TARGET_CODE): Likewise.
+	* config/arc/driver-arc.c (IN_TARGET_CODE): Likewise.
+	* config/arm/aarch-common.c (IN_TARGET_CODE): Likewise.
+	* config/arm/arm-builtins.c (IN_TARGET_CODE): Likewise.
+	* config/arm/arm-c.c (IN_TARGET_CODE): Likewise.
+	* config/arm/arm.c (IN_TARGET_CODE): Likewise.
+	* config/arm/driver-arm.c (IN_TARGET_CODE): Likewise.
+	* config/avr/avr-c.c (IN_TARGET_CODE): Likewise.
+	* config/avr/avr-devices.c (IN_TARGET_CODE): Likewise.
+	* config/avr/avr-log.c (IN_TARGET_CODE): Likewise.
+	* config/avr/avr.c (IN_TARGET_CODE): Likewise.
+	* config/avr/driver-avr.c (IN_TARGET_CODE): Likewise.
+	* config/avr/gen-avr-mmcu-specs.c (IN_TARGET_CODE): Likewise.
+	* config/bfin/bfin.c (IN_TARGET_CODE): Likewise.
+	* config/c6x/c6x.c (IN_TARGET_CODE): Likewise.
+	* config/cr16/cr16.c (IN_TARGET_CODE): Likewise.
+	* config/cris/cris.c (IN_TARGET_CODE): Likewise.
+	* config/darwin.c (IN_TARGET_CODE): Likewise.
+	* config/epiphany/epiphany.c (IN_TARGET_CODE): Likewise.
+	* config/epiphany/mode-switch-use.c (IN_TARGET_CODE): Likewise.
+	* config/epiphany/resolve-sw-modes.c (IN_TARGET_CODE): Likewise.
+	* config/fr30/fr30.c (IN_TARGET_CODE): Likewise.
+	* config/frv/frv.c (IN_TARGET_CODE): Likewise.
+	* config/ft32/ft32.c (IN_TARGET_CODE): Likewise.
+	* config/h8300/h8300.c (IN_TARGET_CODE): Likewise.
+	* config/i386/djgpp.c (IN_TARGET_CODE): Likewise.
+	* config/i386/driver-i386.c (IN_TARGET_CODE): Likewise.
+	* config/i386/driver-mingw32.c (IN_TARGET_CODE): Likewise.
+	* config/i386/host-cygwin.c (IN_TARGET_CODE): Likewise.
+	* config/i386/host-i386-darwin.c (IN_TARGET_CODE): Likewise.
+	* config/i386/host-mingw32.c (IN_TARGET_CODE): Likewise.
+	* config/i386/i386-c.c (IN_TARGET_CODE): Likewise.
+	* config/i386/i386.c (IN_TARGET_CODE): Likewise.
+	* config/i386/intelmic-mkoffload.c (IN_TARGET_CODE): Likewise.
+	* config/i386/msformat-c.c (IN_TARGET_CODE): Likewise.
+	* config/i386/winnt-cxx.c (IN_TARGET_CODE): Likewise.
+	* config/i386/winnt-stubs.c (IN_TARGET_CODE): Likewise.
+	* config/i386/winnt.c (IN_TARGET_CODE): Likewise.
+	* config/i386/x86-tune-sched-atom.c (IN_TARGET_CODE): Likewise.
+	* config/i386/x86-tune-sched-bd.c (IN_TARGET_CODE): Likewise.
+	* config/i386/x86-tune-sched-core.c (IN_TARGET_CODE): Likewise.
+	* config/i386/x86-tune-sched.c (IN_TARGET_CODE): Likewise.
+	* config/ia64/ia64-c.c (IN_TARGET_CODE): Likewise.
+	* config/ia64/ia64.c (IN_TARGET_CODE): Likewise.
+	* config/iq2000/iq2000.c (IN_TARGET_CODE): Likewise.
+	* config/lm32/lm32.c (IN_TARGET_CODE): Likewise.
+	* config/m32c/m32c-pragma.c (IN_TARGET_CODE): Likewise.
+	* config/m32c/m32c.c (IN_TARGET_CODE): Likewise.
+	* config/m32r/m32r.c (IN_TARGET_CODE): Likewise.
+	* config/m68k/m68k.c (IN_TARGET_CODE): Likewise.
+	* config/mcore/mcore.c (IN_TARGET_CODE): Likewise.
+	* config/microblaze/microblaze-c.c (IN_TARGET_CODE): Likewise.
+	* config/microblaze/microblaze.c (IN_TARGET_CODE): Likewise.
+	* config/mips/driver-native.c (IN_TARGET_CODE): Likewise.
+	* config/mips/frame-header-opt.c (IN_TARGET_CODE): Likewise.
+	* config/mips/mips.c (IN_TARGET_CODE): Likewise.
+	* config/mmix/mmix.c (IN_TARGET_CODE): Likewise.
+	* config/mn10300/mn10300.c (IN_TARGET_CODE): Likewise.
+	* config/moxie/moxie.c (IN_TARGET_CODE): Likewise.
+	* config/msp430/driver-msp430.c (IN_TARGET_CODE): Likewise.
+	* config/msp430/msp430-c.c (IN_TARGET_CODE): Likewise.
+	* config/msp430/msp430.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32-cost.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32-fp-as-gp.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32-intrinsic.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32-isr.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32-md-auxiliary.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32-memory-manipulation.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32-pipelines-auxiliary.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32-predicates.c (IN_TARGET_CODE): Likewise.
+	* config/nds32/nds32.c (IN_TARGET_CODE): Likewise.
+	* config/nios2/nios2.c (IN_TARGET_CODE): Likewise.
+	* config/nvptx/mkoffload.c (IN_TARGET_CODE): Likewise.
+	* config/nvptx/nvptx.c (IN_TARGET_CODE): Likewise.
+	* config/pa/pa.c (IN_TARGET_CODE): Likewise.
+	* config/pdp11/pdp11.c (IN_TARGET_CODE): Likewise.
+	* config/powerpcspe/driver-powerpcspe.c (IN_TARGET_CODE): Likewise.
+	* config/powerpcspe/host-darwin.c (IN_TARGET_CODE): Likewise.
+	* config/powerpcspe/host-ppc64-darwin.c (IN_TARGET_CODE): Likewise.
+	* config/powerpcspe/powerpcspe-c.c (IN_TARGET_CODE): Likewise.
+	* config/powerpcspe/powerpcspe-linux.c (IN_TARGET_CODE): Likewise.
+	* config/powerpcspe/powerpcspe.c (IN_TARGET_CODE): Likewise.
+	* config/riscv/riscv-builtins.c (IN_TARGET_CODE): Likewise.
+	* config/riscv/riscv-c.c (IN_TARGET_CODE): Likewise.
+	* config/riscv/riscv.c (IN_TARGET_CODE): Likewise.
+	* config/rl78/rl78-c.c (IN_TARGET_CODE): Likewise.
+	* config/rl78/rl78.c (IN_TARGET_CODE): Likewise.
+	* config/rs6000/driver-rs6000.c (IN_TARGET_CODE): Likewise.
+	* config/rs6000/host-darwin.c (IN_TARGET_CODE): Likewise.
+	* config/rs6000/host-ppc64-darwin.c (IN_TARGET_CODE): Likewise.
+	* config/rs6000/rs6000-c.c (IN_TARGET_CODE): Likewise.
+	* config/rs6000/rs6000-linux.c (IN_TARGET_CODE): Likewise.
+	* config/rs6000/rs6000-p8swap.c (IN_TARGET_CODE): Likewise.
+	* config/rs6000/rs6000-string.c (IN_TARGET_CODE): Likewise.
+	* config/rs6000/rs6000.c (IN_TARGET_CODE): Likewise.
+	* config/rx/rx.c (IN_TARGET_CODE): Likewise.
+	* config/s390/driver-native.c (IN_TARGET_CODE): Likewise.
+	* config/s390/s390-c.c (IN_TARGET_CODE): Likewise.
+	* config/s390/s390.c (IN_TARGET_CODE): Likewise.
+	* config/sh/sh-c.c (IN_TARGET_CODE): Likewise.
+	* config/sh/sh-mem.cc (IN_TARGET_CODE): Likewise.
+	* config/sh/sh.c (IN_TARGET_CODE): Likewise.
+	* config/sh/sh_optimize_sett_clrt.cc (IN_TARGET_CODE): Likewise.
+	* config/sh/sh_treg_combine.cc (IN_TARGET_CODE): Likewise.
+	* config/sparc/driver-sparc.c (IN_TARGET_CODE): Likewise.
+	* config/sparc/sparc-c.c (IN_TARGET_CODE): Likewise.
+	* config/sparc/sparc.c (IN_TARGET_CODE): Likewise.
+	* config/spu/spu-c.c (IN_TARGET_CODE): Likewise.
+	* config/spu/spu.c (IN_TARGET_CODE): Likewise.
+	* config/stormy16/stormy16.c (IN_TARGET_CODE): Likewise.
+	* config/tilegx/mul-tables.c (IN_TARGET_CODE): Likewise.
+	* config/tilegx/tilegx-c.c (IN_TARGET_CODE): Likewise.
+	* config/tilegx/tilegx.c (IN_TARGET_CODE): Likewise.
+	* config/tilepro/mul-tables.c (IN_TARGET_CODE): Likewise.
+	* config/tilepro/tilepro-c.c (IN_TARGET_CODE): Likewise.
+	* config/tilepro/tilepro.c (IN_TARGET_CODE): Likewise.
+	* config/v850/v850-c.c (IN_TARGET_CODE): Likewise.
+	* config/v850/v850.c (IN_TARGET_CODE): Likewise.
+	* config/vax/vax.c (IN_TARGET_CODE): Likewise.
+	* config/visium/visium.c (IN_TARGET_CODE): Likewise.
+	* config/vms/vms-c.c (IN_TARGET_CODE): Likewise.
+	* config/vms/vms-f.c (IN_TARGET_CODE): Likewise.
+	* config/vms/vms.c (IN_TARGET_CODE): Likewise.
+	* config/xtensa/xtensa.c (IN_TARGET_CODE): Likewise.
+
+2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid repeated
+	checks for MEM_REF.
+
+2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/generic.texi (VEC_SERIES_EXPR): Document.
+	* doc/md.texi (vec_series@var{m}): Document.
+	* tree.def (VEC_SERIES_EXPR): New tree code.
+	* tree.h (build_vec_series): Declare.
+	* tree.c (build_vec_series): New function.
+	* cfgexpand.c (expand_debug_expr): Handle VEC_SERIES_EXPR.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
+	* tree-inline.c (estimate_operator_cost): Likewise.
+	* expr.c (expand_expr_real_2): Likewise.
+	* optabs-tree.c (optab_for_tree_code): Likewise.
+	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
+	* fold-const.c (const_binop): Fold VEC_SERIES_EXPRs of constants.
+	* expmed.c (make_tree): Handle VEC_SERIES.
+	* optabs.def (vec_series_optab): New optab.
+	* optabs.h (expand_vec_series_expr): Declare.
+	* optabs.c (expand_vec_series_expr): New function.
+	* tree-vect-generic.c (expand_vector_operations_1): Check that
+	the operands also have vector type.
+
+2017-12-16  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hawyard@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/generic.texi (VEC_DUPLICATE_EXPR): Document.
+	(VEC_COND_EXPR): Add missing @tindex.
+	* doc/md.texi (vec_duplicate@var{m}): Document.
+	* tree.def (VEC_DUPLICATE_EXPR): New tree codes.
+	* tree.c (build_vector_from_val): Add stubbed-out handling of
+	variable-length vectors, using VEC_DUPLICATE_EXPR.
+	(uniform_vector_p): Handle VEC_DUPLICATE_EXPR.
+	* cfgexpand.c (expand_debug_expr): Likewise.
+	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
+	* tree-inline.c (estimate_operator_cost): Likewise.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+	* tree-vect-generic.c (ssa_uniform_vector_p): Likewise.
+	* fold-const.c (const_unop): Fold VEC_DUPLICATE_EXPRs of a constant.
+	(test_vec_duplicate_folding): New function.
+	(fold_const_c_tests): Call it.
+	* optabs.def (vec_duplicate_optab): New optab.
+	* optabs-tree.c (optab_for_tree_code): Handle VEC_DUPLICATE_EXPR.
+	* optabs.h (expand_vector_broadcast): Declare.
+	* optabs.c (expand_vector_broadcast): Make non-static.  Try using
+	vec_duplicate_optab.
+	* expr.c (store_constructor): Try using vec_duplicate_optab for
+	uniform vectors.
+	(expand_expr_real_2): Handle VEC_DUPLICATE_EXPR.
+
+2017-12-15  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR target/83358
+	* config/i386/x86-tune-costs.h (skylake_cost, core_cost): Increase
+	div/mod latencies a bit.
+
+2017-12-15  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/36550
+	* tree-ssa-threadupdate.c (count_stmts_and_phis_in_block): New.
+	(mark_threaded_blocks): Rewrite code to avoid block copying when
+	optimizing for size.  Don't pessimize blocks which will be
+	copied, but all the statements will be dead.
+
+2017-12-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR tree-optimization/81165
+	* tree-ssa-threadupdate.c (uses_in_bb): New.
+	(estimate_threading_killed_stmts): New.
+	* tree-ssa-threadupdate.h (estimate_threading_killed_stmts): Prototype.
+	* tree-ssa-threadedge.c
+	(record_temporary_equivalences_from_stmts_at_dest): Expand limit
+	when its hit.
+
+2017-12-15  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/83410
+	* tree-ssa-threadupdate.c (thread_block_1): Avoid certain jump
+	threads when parallelizing loops.
+
+2017-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-core.h (struct attribute_spec): Swap affects_type_identity and
+	handler fields.
+	* config/alpha/alpha.c (vms_attribute_table): Swap
+	affects_type_identity and handler fields, adjust comments.
+	* config/mips/mips.c (mips_attribute_table): Likewise.
+	* config/visium/visium.c (visium_attribute_table): Likewise.
+	* config/epiphany/epiphany.c (epiphany_attribute_table): Likewise.
+	* config/microblaze/microblaze.c (microblaze_attribute_table):
+	Likewise.
+	* config/spu/spu.c (spu_attribute_table): Likewise.
+	* config/mcore/mcore.c (mcore_attribute_table): Likewise.
+	* config/arc/arc.c (arc_attribute_table): Likewise.
+	* config/m68k/m68k.c (m68k_attribute_table): Likewise.
+	* config/v850/v850.c (v850_handle_interrupt_attribute,
+	v850_handle_data_area_attribute): Formatting fixes.
+	(v850_attribute_table): Swap affects_type_identity and handler
+	fields, adjust comments.
+	* config/m32r/m32r.c (m32r_attribute_table): Likewise.
+	* config/arm/arm.c (arm_attribute_table): Likewise.
+	* config/avr/avr.c (avr_attribute_table): Likewise.
+	* config/s390/s390.c (s390_attribute_table): Likewise.
+	* config/sh/sh.c (sh_attribute_table): Likewise.
+	* config/i386/i386.c (ix86_handle_cconv_attribute,
+	ix86_handle_callee_pop_aggregate_return): Formatting fixes.
+	(ix86_attribute_table): Swap affects_type_identity and handler
+	fields, adjust comments.
+	* config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
+	* config/sparc/sparc.c (sparc_attribute_table): Likewise.
+	* config/m32c/m32c.c (m32c_attribute_table): Likewise.
+	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE): Likewise.
+	* config/ia64/ia64.c (ia64_attribute_table): Likewise.
+	* config/msp430/msp430.c (msp430_attribute_table): Likewise.
+	* config/rx/rx.c (rx_attribute_table): Likewise.
+	* config/cr16/cr16.c (cr16_attribute_table): Likewise.
+	* config/h8300/h8300.c (h8300_attribute_table): Likewise.
+	* config/nvptx/nvptx.c (nvptx_attribute_table): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_attribute_table): Likewise.
+	* config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
+	* config/stormy16/stormy16.c (xstormy16_attribute_table): Likewise.
+	* config/bfin/bfin.c (bfin_attribute_table): Likewise.
+	* config/rs6000/rs6000.c (rs6000_attribute_table): Likewise.
+	* config/rl78/rl78.c (rl78_attribute_table): Likewise.
+	* config/nds32/nds32.c (nds32_attribute_table): Likewise.
+	* doc/plugins.texi (user_attr): Likewise.  Add NULL for
+	exclude.
+	* attribs.c (empty_attribute_table): Swap affects_type_identity and
+	handler fields.
+	(register_scoped_attributes, decl_attributes): Formatting fixes.
+
+	PR tree-optimization/83269
+	* fold-const.c (fold_binary_loc): Perform (-A) - B -> (-B) - A
+	subtraction in arg0's type if type is signed and arg0 is unsigned.
+	Formatting fix.
+
+	PR sanitizer/81281
+	* match.pd ((T)(P + A) - (T)P -> (T) A): Use @@0 instead of @0 and
+	convert? on @0 instead of convert.  Check type of @1, not @0.
+	((T)P - (T)(P + A) -> -(T) A): Use @@0 instead of @0 and
+	convert? on @0 instead of convert.  Check type of @1, not @0.
+	((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Use @@0 instead of @0,
+	only optimize if either both @1 and @2 types are narrower
+	precision, or both are wider or equal precision, and in the former
+	case only if both have undefined overflow.
+
+2017-12-15  Richard Biener  <rguenther@suse.de>
+
+	PR lto/83388
+	* internal-fn.def (IFN_NOP): Add.
+	* internal-fn.c (expand_NOP): Do nothing.
+	* lto-streamer-in.c (input_function): Instead of removing
+	sanitizer calls replace them with IFN_NOP calls.
+
+2017-12-15  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* dse.c (store_info, read_info_type): Replace begin and end with
+	offset and width.
+	(print_range): New function.
+	(set_all_positions_unneeded, any_positions_needed_p)
+	(check_mem_read_rtx, scan_stores, scan_reads, dse_step5): Update
+	accordingly.
+	(record_store): Likewise.  Optimize the case in which all positions
+	are unneeded.
+	(get_stored_val): Replace read_begin and read_end with read_offset
+	and read_width.
+	(replace_read): Update call accordingly.
+
+2017-12-15  Bin Cheng  <bin.cheng@arm.com>
+
+	* gimple-loop-interchange.cc (STMT_COST_RATIO): New macro.
+	(loop_cand::m_num_stmts, loop_cand::m_const_init_reduc): New members.
+	(loop_cand::loop_cand): Initialize above members.
+	(loop_cand::supported_operations): Delete.
+	(loop_cand::can_interchange_p): Inline above function.
+	(loop_cand::classify_simple_reduction): Record number of constant
+	initialized simple reductions.
+	(should_interchange_loops): New parameters.  Check stmt cost of loops
+	to be interchange.
+	(tree_loop_interchange::interchange): Prepare stmt cost of outer loop.
+	Update call to should_interchange_loops.
+	(should_interchange_loop_nest): Update call to
+	should_interchange_loops.
+
+2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/66488
+	* ggc-page.c (HOST_BITS_PER_PTR): Do not define here...
+	* hwint.h (HOST_BITS_PER_PTR): ...but here instead.
+	* config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete.
+
+2017-12-15  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/i386-builtin.def (__builtin_ia32_vaesenclast_v16qi,
+	__builtin_ia32_vaesenclast_v32qi, __builtin_ia32_vaesenclast_v64qi):
+	New.
+	* config/i386/sse.md (vaesenclast_<mode>): New pattern.
+	* config/i386/vaesintrin.h (_mm256_aesenclast_epi128,
+	_mm512_aesenclast_epi128, _mm_aesenclast_epi128): New intrinsics.
+
+2017-12-15  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/i386-builtin.def (__builtin_ia32_vaesenc_v16qi,
+	__builtin_ia32_vaesenc_v32qi, __builtin_ia32_vaesenc_v64qi): New.
+	* config/i386/sse.md (vaesenc_<mode>): New pattern.
+	* config/i386/vaesintrin.h (_mm256_aesenc_epi128, _mm512_aesenc_epi128,
+	_mm_aesenc_epi128): New intrinsics.
+
+2017-12-15  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/i386-builtin.def (__builtin_ia32_vaesdeclast_v16qi,
+	__builtin_ia32_vaesdeclast_v32qi, __builtin_ia32_vaesdeclast_v64qi):
+	New.
+	* config/i386/sse.md (vaesdeclast_<mode>): New pattern.
+	* config/i386/vaesintrin.h (_mm256_aesdeclast_epi128,
+	_mm512_aesdeclast_epi128, _mm_aesdeclast_epi128): New intrinsics.
+
+2017-12-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* gimple-ssa-strength-reduction.c (analyze_increments):
+	Distinguish replacement costs for constant strides from those for
+	unknown strides.
+
+2017-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+	* var-tracking.c (variable_tracking_main_1): Formatting fix.
+
+2017-12-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* doc/invoke.texi: Document -Wcast-function-type.
+	* recog.h (stored_funcptr): Change signature.
+	* tree-dump.c (dump_node): Avoid warning.
+	* typed-splay-tree.h (typed_splay_tree): Avoid warning.
+
+2017-12-14  Qing Zhao  <qing.zhao@oracle.com>
+
+	PR middle_end/79538
+	* gimple-fold.c (get_range_strlen): Add the handling of non-member 
+	array.
+
+2017-12-14  David Malcolm  <dmalcolm@redhat.com>
+
+	PR tree-optimization/83312
+	* domwalk.h (dom_walker::dom_walker): Fix typo in comment.
+	* tree-cfg.c (find_taken_edge): Update to handle NULL_TREE for
+	"val" param, and to cope with arbitrary basic blocks.
+	(find_taken_edge_cond_expr): Add "cond_stmt" param and use it to
+	handle NULL_TREE for "val", dropping "bb" param.
+	(find_taken_edge_switch_expr): Make "switch_stmt" param const and
+	drop "bb" param.  Handle NULL_TREE for "val".
+	(find_case_label_for_value): Make "switch_stmt" param const.
+	* tree-vrp.c (class check_array_bounds_dom_walker): New subclass
+	of dom_walker.
+	(vrp_prop::check_all_array_refs): Reimplement as...
+	(check_array_bounds_dom_walker::before_dom_children): ...this new
+	vfunc.  Replace linear search through BB block list, excluding
+	those with non-executable in-edges via dominator walk.
+
+2017-12-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.opt (mverbose-cost-dump): New option.
+	* config/arm/arm.c (arm_rtx_costs): Use it.
+
+2017-12-14  Andreas Schwab  <schwab@linux-m68k.org>
+
+	PR bootstrap/83396
+	* reload1.c (emit_input_reload_insns): Skip debug markers.
+
+2017-12-14  Alexandre Oliva  <aoliva@redhat.com>
+
+	* config/i386/i386.c (rest_of_insert_endbranch): Use call loc
+	for its nop_endbr.
+
+	PR bootstrap/83396
+	* config/arc/arc.c (hwloop_optimize): Skip debug insns.
+	* config/sh/sh-protos.h (sh_find_set_of_reg): Adjust.
+	* config/sh/sh.c: Skip debug insns besides notes.
+	* config/sh/sh.md: Likewise.
+	* config/sh/sh_treg_combine.cc: Likewise.
+	* config/sh/sync.md: Likewise.
+
+2017-12-14  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
+	Add item for weak_undefined.
+
+2017-12-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/67842
+	* sese.h (bb_in_region): Remove #if 0'ed code.
+
+2017-12-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83326
+	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add
+	may_be_zero parameter and handle it by not marking the first
+	peeled copy as not exiting the loop.
+	(try_peel_loop): Likewise.
+	(canonicalize_loop_induction_variables): Use number_of_iterations_exit
+	to handle the case of constant or zero iterations and perform
+	loop header copying on-the-fly.
+
+2017-12-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83418
+	* vr-values.c (vr_values::extract_range_for_var_from_comparison_expr):
+	Instead of asserting we don't get unfolded comparisons deal with them.
+
+2017-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/83396
+	* var-tracking.c (vt_initialize): Ignore non-DEBUG_INSNs outside of
+	basic blocks.  Assert debug bind insns don't appear outside of bbs,
+	don't reset them.  Assert insns without BLOCK_FOR_INSN are outside of
+	bb.  Simplify.
+
+	PR tree-optimization/83198
+	* gimple-ssa-sprintf.c (format_floating): Set type solely based on
+	dir.modifier, regardless of TREE_TYPE (arg).  Assume non-REAL_CST
+	value if arg is a REAL_CST with incompatible type.
+
+2017-12-14  Sudakshina Das  <sudi.das@arm.com>
+	    Bin Cheng  <bin.cheng@arm.com>
+
+	PR target/81228
+	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Move LTGT
+	to CCFPEmode.
+	* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_int_equiv>): Add
+	LTGT.
+
+2017-12-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64-cores.def (cortex-a55, cortex-a75,
+	cortex-a75.cortex-a55): Specify AARCH64_FL_F16 in the arch features.
+
+2017-12-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* poly-int.h: New file.
+	* poly-int-types.h: Likewise.
+	* coretypes.h: Include them.
+	(POLY_INT_CONVERSION): Define.
+	* target.def (estimated_poly_value): New hook.
+	* doc/tm.texi.in (TARGET_ESTIMATED_POLY_VALUE): New hook.
+	* doc/tm.texi: Regenerate.
+	* doc/poly-int.texi: New file.
+	* doc/gccint.texi: Include it.
+	* doc/rtl.texi: Describe restrictions on subreg modes.
+	* Makefile.in (TEXI_GCCINT_FILES): Add poly-int.texi.
+	* genmodes.c (NUM_POLY_INT_COEFFS): Provide a default definition.
+	(emit_insn_modes_h): Emit a definition of NUM_POLY_INT_COEFFS.
+	* targhooks.h (default_estimated_poly_value): Declare.
+	* targhooks.c (default_estimated_poly_value): New function.
+	* target.h (estimated_poly_value): Likewise.
+	* wide-int.h (WI_UNARY_RESULT): Use wi::binary_traits.
+	(wi::unary_traits): Delete.
+	(wi::binary_traits::signed_shift_result_type): Define for
+	offset_int << HOST_WIDE_INT, etc.
+	(generic_wide_int::operator <<=): Define for all types and use
+	wi::lshift instead of <<.
+	(wi::hwi_with_prec): Add a default constructor.
+	(wi::ints_for): New class.
+	(operator <<): Define for all wide-int types.
+	(operator /): New function.
+	(operator %): Likewise.
+	* selftest.h (ASSERT_KNOWN_EQ, ASSERT_KNOWN_EQ_AT, ASSERT_MAYBE_NE)
+	(ASSERT_MAYBE_NE_AT): New macros.
+
+2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+	    Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR middle-end/78468
+	* emit-rtl.c (init_emit): Remove ??? comment.
+	* explow.c (get_dynamic_stack_size): Take known alignment of stack
+	pointer + STACK_DYNAMIC_OFFSET into account in lieu of STACK_BOUNDARY.
+	* config/sparc/sparc.h (INIT_EXPANDERS): In 32-bit mode, lower the
+	alignment of 3 virtual registers to BITS_PER_WORD.
+
+	* config/sparc/sparc.c (sparc_compute_frame_size): Simplify.
+
+2017-12-13  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define.
+	* config/rs6000/rs6000.c (cpu_supports_info): Use it.
+
+2017-12-13  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR bootstrap/83396
+	* reload1.c (eliminate_regs_in_insn): Skip debug markers.
+
+2017-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-cfg.c (verify_gimple_in_cfg): Verify no non-label stmts
+	with the exception of debug begin stmt markers appear before
+	labels.
+
+	PR bootstrap/83396
+	* final.c (rest_of_handle_final): Call variable_tracking_main only
+	if !flag_var_tracking.
+
+2017-12-13  Alexandre Oliva  <aoliva@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/83396
+	PR debug/83391
+	* tree-cfgcleanup.c (remove_forwarder_block): Keep after
+	labels debug stmts that can only appear after labels.
+
+2017-12-13  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR rtl-optimization/82398
+	* sel-sched.c (sel_rank_for_schedule): Fix check for zero
+	EXPR_USEFULNESS in priority comparison.
+
+2017-12-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/83393
+	* combine.c (move_deaths): If reg_stat points to a too new insn in
+	last_death, do not use it: find the proper insn instead.
+
+2017-12-12  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/82190
+	* config/rs6000/rs6000-string.c (expand_block_compare,
+	expand_strn_compare): Fix set_mem_size() calls.
+
+2017-12-12  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/83298
+	PR tree-optimization/83362
+	PR tree-optimization/83383
+	* gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Make
+	push_value_range a public interface.  Add new argument to
+	record_ranges_from_stmt.
+	* gimple-ssa-evrp-analyze.c
+	(evrp_range_analyzer::record_ranges_from_stmt): Add new argument.
+	Update comments.  Handle recording temporary equivalences.
+	* tree-ssa-dom.c (dom_opt_opt_walker::before_dom_children): Add
+	new argument to call to evrp_range_analyzer::record_ranges_from_stmt.
+	* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Likewise.
+	* tree-ssa-threadedge.c: Include alloc-pool.h, vr-values.h and
+	gimple-ssa-evrp-analyze.h.
+	(record_temporary_equivalences_from_phis): Add new argument.  When
+	the PHI arg is an SSA_NAME, set the result's range to the range
+	of the PHI arg.
+	(record_temporary_equivalences_from_stmts_at_dest): Record ranges
+	from statements too.
+	(thread_through_normal_block): Accept new argument, evrp_range_analyzer.
+	Pass it down to children as needed.
+	(thread_outgoing_edges): Likewise.
+	(thread_across_edge): Likewise.   Push/pop range state as needed.
+	* tree-ssa-threadedge.h (thread_outgoing_edges): Update prototype.
+
+2017-12-12  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/i386.c (PTA_SKYLAKE_AVX512): Add PTA_CLWB.
+	(PTA_CANNONLAKE): Remove PTA_CLWB.
+
+2017-12-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/83332
+	* config/rs6000/vector.md (vcondv2dfv2di): New define_expand.
+	(vcondv2div2df): Likewise.
+	(vconduv2dfv2di): Likewise.
+
+2017-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* builtins.def (BUILT_IN_NEXTAFTER, BUILT_IN_NEXTAFTERF,
+	BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD, BUILT_IN_NEXTTOWARDF,
+	BUILT_IN_NEXTTOWARDL): Use ATTR_MATHFN_ERRNO instead of
+	ATTR_MATHFN_FPROUNDING_ERRNO.
+
+2017-12-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83385
+	* graphite-scop-detection.c (get_order, order): Remove.
+	(bb_to_rpo): New global.
+	(cmp_pbbs): Adjust.
+	(build_scops): Sort pbbs in RPO order.
+
+2017-12-12  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* combine.c (simplify_set): Do not transform subregs to zero_extends
+	if the destination mode is a vector mode.
+
+2017-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83359
+	* tree-cfg.h (fold_loop_internal_call): Declare.
+	* tree-vectorizer.c (fold_loop_internal_call): Moved to ...
+	* tree-cfg.c (fold_loop_internal_call): ... here.  No longer static.
+	(find_loop_dist_alias): New function.
+	(move_sese_region_to_fn): If any dloop->orig_loop_num value is
+	updated, also adjust any corresponding LOOP_DIST_ALIAS internal
+	calls.
+
+	PR tree-optimization/80631
+	* tree-vect-loop.c (get_initial_def_for_reduction): Fix comment typo.
+	(vect_create_epilog_for_reduction): Add INDUC_VAL and INDUC_CODE
+	arguments, for INTEGER_INDUC_COND_REDUCTION use INDUC_VAL instead of
+	hardcoding zero as the value if COND_EXPR is never true.  For
+	INTEGER_INDUC_COND_REDUCTION don't emit the final COND_EXPR if
+	INDUC_VAL is equal to INITIAL_DEF, and use INDUC_CODE instead of
+	hardcoding MAX_EXPR as the reduction operation.
+	(is_nonwrapping_integer_induction): Allow negative step.
+	(vectorizable_reduction): Compute INDUC_VAL and INDUC_CODE for
+	vect_create_epilog_for_reduction, if no value is suitable, don't
+	use INTEGER_INDUC_COND_REDUCTION for now.  Formatting fixes.
+
+2017-12-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81889
+	* tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness): Use
+	range info from the non-wrapping IV instead of just the range
+	of the type.
+
+2017-12-12  Julia Koval  <julia.koval@intel.com>
+
+	* config.gcc: Add vaesintrin.h.
+	* config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI_V64QI):
+	New type.
+	* config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi,
+	__builtin_ia32_vaesdec_v32qi, __builtin_ia32_vaesdec_v64qi):
+	New builtins.
+	* config/i386/i386.c (ix86_expand_args_builtin): Handle new type.
+	* config/i386/immintrin.h: Include vaesintrin.h.
+	* config/i386/sse.md (vaesdec_<mode>): New pattern.
+	* config/i386/vaesintrin.h (_mm256_aesdec_epi128, _mm512_aesdec_epi128,
+	_mm_aesdec_epi128): New intrinsics.
+
+2017-12-12  Julia Koval  <julia.koval@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_VAES_SET,
+	OPTION_MASK_ISA_VAES_UNSET): New.
+	(ix86_handle_option): Handle -mvaes.
+	* config/i386/cpuid.h: Define bit_VAES.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Detect -mvaes.
+	* config/i386/i386-c.c (__VAES__): New.
+	* config/i386/i386.c (ix86_target_string): Add -mvaes.
+	(ix86_valid_target_attribute_inner_p): Ditto.
+	* config/i386/i386.h (TARGET_VAES, TARGET_VAES_P): New.
+	* config/i386/i386.opt: Add -mvaes.
+	* doc/invoke.texi: Ditto.
+
+2017-12-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	* debug.h (gcc_debug_hooks): Add inline_entry.
+	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
+	* debug.c (do_nothing_debug_hooks): Likewise.
+	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
+	(dwarf2_lineno_debug_hooks): Likewise.
+
+	* common.opt (gstatement-frontiers): New, setting
+	debug_nonbind_markers_p.
+	* rtl.h (MAY_HAVE_DEBUG_MARKER_INSNS): Activate.
+	* toplev.c (process_options): Autodetect value for debug statement
+	frontiers option.
+	* tree.h (MAY_HAVE_DEBUG_MARKER_STMTS): Activate.
+	* doc/invoke.texi (gstatement-frontiers, gno-statement-frontiers): New.
+
+	* cfgexpand.c (expand_gimple_basic_block): Handle begin stmt
+	markers.  Integrate source bind into debug stmt expand loop.
+	(pass_expand::execute): Check debug marker limit.  Avoid deep
+	TER and expand debug locations for debug bind insns only.
+	* cse.c (insn_live_p): Keep nonbind markers and debug bindings
+	followed by them.
+	* df-scan.c (df_insn_delete): Accept out-of-block debug insn.
+	* final.c (reemit_insn_block_notes): Take current block from
+	nonbind markers.  Declare note where it's first set.
+	(final_scan_insn): Handle begin stmt notes.  Emit is_stmt according to
+	begin stmt markers if enabled.
+	(notice_source_line): Handle nonbind markers.  Fail if their
+	location is unknown or that of builtins.
+	(rest_of_handle_final): Convert begin stmt markers to notes if
+	var-tracking didn't run.
+	(rest_of_clean_state): Skip begin stmt markers.
+	* gimple-pretty-print.c (dump_gimple_debug): Handle begin stmt
+	markers.
+	* function.c (allocate_struct_function): Set begin_stmt_markers.
+	* function.h (struct function): Add debug_marker_count counter
+	and debug_nonbind_markers flag.
+	* gimple-iterator.c (gsi_remove): Adjust debug_marker_count.
+	* gimple-low.c (lower_function_body): Adjust
+	debug_nonbind_markers.
+	(lower_stmt): Drop or skip gimple debug stmts.
+	(lower_try_catch): Skip debug stmts.
+	* gimple.c (gimple_build_debug_begin_stmt): New.
+	(gimple_copy): Increment debug_marker_count if copying one.
+	* gimple.h (gimple_build_debug_begin_stmt): Declare.
+	* gimplify.c (rexpr_location): New.
+	(rexpr_has_location): New.
+	(warn_switch_unreachable_r): Handle gimple debug stmts.
+	(shortcut_cond_r): Call expr_location.
+	(find_goto): New.
+	(find_goto_label): New.
+	(shortcut_cond_expr): Call expr_has_location, expr_location, and
+	find_goto_label.
+	(gimplify_cond_expr): Call find_goto_label, expr_has_location, and
+	expr_location.
+	(gimplify_expr): Handle begin stmt markers.  Reject debug expr decls.
+	* langhooks-def.h (LANG_HOOKS_EMITS_BEGIN_STMT): New.  Add to...
+	(LANG_HOOKS_INITIALIZER): ... this.
+	* langhooks.h (struct lang_hooks): Add emits_begin_stmt.
+	* lra-contraints.c (inherit_reload_reg): Tolerate between-blocks
+	debug insns.
+	(update_ebb_live_info): Skip debug insn markers.
+	* lra.c (debug_insn_static_data): Rename to...
+	(debug_bind_static_data): ... this.
+	(debug_marker_static_data): New.
+	(lra_set_insn_recog_data): Select one of the above depending
+	on debug insn kind.
+	(lra_update_isn_regno_info): Don't assume debug insns have
+	freqs.
+	(push_insns): Skip debug insns.
+	* lto-streamer-in.c (input_function): Drop debug stmts
+	depending on active options.  Adjust debug_nonbind_markers.
+	* params.def (PARAM_MAX_DEBUG_MARKER_COUNT): New.
+	* print-rtl.c (rtx_writer::print_rtx_operand_code_0): Handle
+	begin stmt marker notes.
+	(print_insn): Likewise.
+	* recog.c (extract_insn): Recognize rtl for debug markers.
+	* rtl.def (DEBUG_MARKER): New.
+	* tree-inline.c: Include params.h.
+	(remap_gimple_stmt): Handle nonbind markers.
+	(maybe_move_debug_stmts_to_successors): Likewise.
+	(copy_debug_stmt): Likewise.
+	* tree-iterator.c (append_to_statement_list_1): Append begin stmt
+	markers regardless of no side effects.
+	(tsi_link_before): Don't update container's side effects when adding
+	a begin stmt marker.
+	(tsi_link_after): Likewise.
+	(expr_first): Skip begin stmt markers.
+	(expr_last): Likewise.
+	* tree-pretty-print (dump_generic_node): Handle begin stmt markers.
+	* tree-ssa-threadedge.c (propagate_threaded_block_debug_info):
+	Disregard nonbind markers.
+	* tree.c (make_node_stat): Don't set side effects for begin stmt
+	markers.
+	(build1_stat): Likewise.
+	* tree.def (DEBUG_BEGIN_STMT): New.
+	* tree.h (GOTO_DESTINATION): Require a GOTO_EXPR.
+	* var-tracking.c (delete_debug_insns): Renamed to...
+	(delete_vta_debug_insns): ... this.
+	(reemit_marker_as_note): New.
+	(vt_initialize): Reemit markers.
+	(delete_vta_debug_insns): Likewise.
+	(vt_debug_insns_local): Reemit or delete markers.
+	(variable_tracking_main_1): Likewise.
+	* doc/generic.texi (DEBUG_BEGIN_STMT): Document.
+	* doc/gimple.texi (gimple_debug_begin_stmt_p): New.
+	(gimple_debug_nonbind_marker_p): New.
+	(gimple_build_debug_bind): Adjust.
+	(gimple_build_debug_begin_stmt): New.
+	* doc/invoke.texi (max-debug-marker-count): New param.
+	* doc/rtl.texi (debug_implicit_ptr, entry_value): New.
+	(debug_parameter_ref, debug_marker): New.
+	(NOTE_INSN_BEGIN_STMT): New.
+	(DEBUG_INSN): Describe begin stmt markers.
+
+	* cfgbuild.c (find_bb_boundaries): Don't purge dead edges if,
+	without debug insns, we wouldn't, but clean up debug insns
+	after a control flow insn nevertheless.
+
+	* cfgcleanup.c (delete_unreachable_blocks): Use alternate
+	block removal order if MAY_HAVE_DEBUG_BIND_INSNS.
+	* cfgexpand.c (label_rtx_for_bb): Skip debug insns.
+	* cfgrtl.c (try_redirect_by_replacing_jump): Skip debug insns.
+	(rtl_tidy_fallthru_edge): Likewise.
+	(rtl_verify_fallthru): Likewise.
+	(rtl_verify_bb_layout): Likewise.
+	(skip_insns_after_block): Likewise.
+	(duplicate_insn_chain): Use DEBUG_BIND_INSN_P.
+	* dwarf2out.c: Include print-rtl.h.
+	(dwarf2out_next_real_insn): New.
+	(dwarf2out_var_location): Call it.  Disregard begin stmt markers.
+	Dump debug binds in asm comments.
+	* gimple-iterator.c (gimple_find_edge_insert_loc): Skip debug stmts.
+	* gimple-iterator.h (gsi_start_bb_nondebug): Remove; adjust
+	callers to use gsi_start_nondebug_bb instead.
+	(gsi_after_labels): Skip gimple debug stmts.
+	(gsi_start_nondebug): New.
+	* gimple-loop-interchange.c (find_deps_in_bb_for_stmt): Adjust.
+	(proper_loop_form_for_interchange): Adjust.
+	* gimple-low.c (gimple_seq_may_fallthru): Take last nondebug stmt.
+	* gimple.h (gimple_seq_last_nondebug_stmt): New.
+	* gimplify.c (last_stmt_in_scope): Skip debug stmts.
+	(collect_fallthrough_labels): Likewise.
+	(should_warn_for_implicit_fallthrough): Likewise.
+	(warn_implicit_fallthrough_r): Likewise.
+	(expand_FALLTHROUGH_r): Likewise.
+	* graphite-isl-ast-to-gimple.c (gsi_insert_earliest): Adjust.
+	(graphite_copy_stmts_from_block): Skip nonbind markers.
+	* haifa-sched.c (sched_extend_bb): Skip debug insns.
+	* ipa-icf-gimple.c (func_checker::compare_bb): Adjust.
+	* jump.c (clean_barriers): Skip debug insns.
+	* omp-expand.c (expand_parallel_call): Skip debug insns.
+	(expand_task_call): Likewise.
+	(remove_exit_barrier): Likewise.
+	(expand_omp_taskreg): Likewise.
+	(expand_omp_for_init_counts): Likewise.
+	(expand_omp_for_generic): Likewise.
+	(expand_omp_for_static_nochunk): Likewise.
+	(expand_omp_for_static_chunk): Likewise.
+	(expand_omp_simd): Likewise.
+	(expand_omp_taskloop_for_outer): Likewise.
+	(expand_omp_taskloop_for_inner): Likewise.
+	(expand_oacc_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_target): Likewise.
+	(grid_expand_omp_for_loop): Likewise.
+	(grid_expand_target_grid_body): Likewise.
+	(build_omp_regions_1): Likewise.
+	* omp-low.c (check_combined_parallel): Skip debug stmts.
+	* postreload.c (fixup_debug_insns): Skip nonbind debug insns.
+	* regcprop.c (find_oldest_value_reg): Ensure REGNO is not a pseudo.
+	* sese.c (sese_trivially_empty_bb_p): Call is_gimple_debug in
+	test.
+	* tree-cfg.c (make_blobs_1): Skip debug stmts.
+	(make_edges): Likewise.
+	(cleanup_dead_labels): Likewise.
+	(gimple_can_merge_blocks_p): Likewise.
+	(stmt_starts_bb_p): Likewise.
+	(gimple_block_label): Likewise.
+	(gimple_redirect_edge_and_branch): Likewise.
+	* tree-cfgcleanup.c (remove_forwarder_block): Rearrange skipping
+	of debug stmts.
+	(execute_cleanup_cfg_post_optimizing): Dump enumerated decls with
+	TDF_SLIM.
+	* tree-pretty-print (print_declaration): Omit initializer in slim
+	dumps.
+	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark begin stmt
+	markers.
+	(eliminate_unnecessary_stmts): Stabilize block removal order.
+	* tree-ssa-tail-merge.c (find_duplicate): Skip debug stmts.
+	* var-tracking.c (get_first_insn): New.
+	(vt_emit_notes): Call it.
+	(vt_initialize): Walk any insns before the first BB.
+	(delete_debug_insns): Likewise.
+
+	* gimple.h (enum gimple_debug_subcode): Add
+	GIMPLE_DEBUG_BEGIN_STMT.
+	(gimple_debug_begin_stmt_p): New.
+	(gimple_debug_nonbind_marker_p): New.
+	* tree.h (MAY_HAVE_DEBUG_MARKER_STMTS): New.
+	(MAY_HAVE_DEBUG_BIND_STMTS): Renamed from....
+	(MAY_HAVE_DEBUG_STMTS): ... this.  Check both.
+	* insn-notes.def (BEGIN_STMT): New.
+	* rtl.h (MAY_HAVE_DEBUG_MARKER_INSNS): New.
+	(MAY_HAVE_DEBUG_BIND_INSNS): Renamed from....
+	(MAY_HAVE_DEBUG_INSNS): ... this.  Check both.
+	(NOTE_MARKER_LOCATION, NOTE_MARKER_P): New.
+	(DEBUG_BIND_INSN_P, DEBUG_MARKER_INSN_P): New.
+	(INSN_DEBUG_MARKER_KIND): New.
+	(GEN_RTX_DEBUG_MARKER_BEGIN_STMT_PAT): New.
+	(INSN_VAR_LOCATION): Check for VAR_LOCATION.
+	(INSN_VAR_LOCATION_PTR): New.
+	* cfgexpand.c (expand_debug_locations): Handle debug bind insns
+	only.
+	(expand_gimple_basic_block): Likewise.  Emit debug temps for TER
+	deps only if debug bind insns are enabled.
+	(pass_expand::execute): Avoid deep TER and expand
+	debug locations for debug bind insns only.
+	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Narrow
+	debug stmts special handling down to debug bind stmts.
+	* combine.c (try_combine): Narrow debug insns special handling
+	down to debug bind insns.
+	* cse.c (delete_trivially_dead_insns): Handle debug bindings.
+	Narrow debug insns preexisting special handling down to debug
+	bind insns.
+	* dce.c (rest_of_handle_ud_dce): Narrow debug insns special
+	handling down to debug bind insns.
+	* function.c (instantiate_virtual_regs): Skip debug markers,
+	adjust handling of debug binds.
+	* gimple-ssa-backprop.c (backprop::prepare_change): Try debug
+	temp insertion iff MAY_HAVE_DEBUG_BIND_STMTS.
+	* haifa-sched.c (schedule_insn): Narrow special handling of debug
+	insns to debug bind insns.
+	* ipa-param-manipulation.c (ipa_modify_call_arguments): Narrow
+	special handling of debug stmts to debug bind stmts.
+	* ipa-split.c (split_function): Likewise.
+	* ira.c (combine_and_move_insns): Adjust debug bind insns only.
+	* loop-unroll.c (apply_opt_in_copies): Adjust tests on bind
+	debug insns.
+	* reg-stack.c (convert_regs_1): Use DEBUG_BIND_INSN_P.
+	* regrename.c (build_def_use): Likewise.
+	* regcprop.c (copyprop_hardreg_forward_1): Likewise.
+	(pass_cprop_hardreg): Narrow special casing of debug insns to
+	debug bind insns.
+	* regstat.c (regstat_init_n_sets_and_refs): Likewise.
+	* reload1.c (reload): Likewise.
+	* sese.c (sese_insert_phis_for_liveouts): Narrow special
+	casing of debug stmts to debug bind stmts.
+	* shrink-wrap.c (move_insn_for_shrink_wrap): Likewise.
+	* ssa-iterators.h (num_imm_uses): Likewise.
+	* tree-cfg.c (gimple_merge_blocks): Narrow special casing of
+	debug stmts to debug bind stmts.
+	* tree-inline.c	(tree_function_versioning): Narrow special casing
+	of debug stmts to debug bind stmts.
+	* tree-loop-distribution.c (generate_loops_for_partition):
+	Narrow special casing of debug stmts to debug bind stmts.
+	* tree-sra.c (analyze_access_subtree): Narrow special casing
+	of debug stmts to debug bind stmts.
+	* tree-ssa-dce.c (remove_dead_stmt): Narrow special casing of debug
+	stmts to debug bind stmts.
+	* tree-ssa-loop-ivopt.c (remove_unused_ivs): Narrow special
+	casing of debug stmts to debug bind stmts.
+	* tree-ssa-reassoc.c (reassoc_remove_stmt): Likewise.
+	* tree-ssa-tail-merge.c (tail_merge_optimize): Narrow special
+	casing of debug stmts to debug bind stmts.
+	* tree-ssa-threadedge.c (propagate_threaded_block_debug_info):
+	Likewise.
+	* tree-ssa.c (flush_pending_stmts): Narrow special casing of
+	debug stmts to debug bind stmts.
+	(gimple_replace_ssa_lhs): Likewise.
+	(insert_debug_temp_for_var_def): Likewise.
+	(insert_debug_temps_for_defs): Likewise.
+	(reset_debug_uses): Likewise.
+	* tree-ssanames.c (release_ssa_name_fn): Likewise.
+	* tree-vect-loop-manip.c (adjust_debug_stmts_now): Likewise.
+	(adjust_debug_stmts): Likewise.
+	(adjust_phi_and_debug_stmts): Likewise.
+	(vect_do_peeling): Likewise.
+	* tree-vect-loop.c (vect_transform_loop): Likewise.
+	* valtrack.c (propagate_for_debug): Use BIND_DEBUG_INSN_P.
+	* var-tracking.c (adjust_mems): Narrow special casing of debug
+	insns to debug bind insns.
+	(dv_onepart_p, dataflow_set_clar_at_call, use_type): Likewise.
+	(compute_bb_dataflow, vt_find_locations): Likewise.
+	(vt_expand_loc, emit_notes_for_changes): Likewise.
+	(vt_init_cfa_base): Likewise.
+	(vt_emit_notes): Likewise.
+	(vt_initialize): Likewise.
+	(vt_finalize): Likewise.
+
+	* emit-rtl.c (next_nondebug_insn, prev_nondebug_insn): Reorder.
+	(next_nonnote_nondebug_insn, prev_nonnote_nondebug_insn): Reorder.
+	(next_nonnote_nondebug_insn_bb): New.
+	(prev_nonnote_nondebug_insn_bb): New.
+	(prev_nonnote_insn_bb, next_nonnote_insn_bb): Remove.
+	* rtl.h	(prev_nonnote_insn_bb, next_nonnote_insn_bb): Remove decls.
+	(prev_nonnote_nondebug_insn_bb): Declare.
+	(next_nonnote_nondebug_insn_bb): Declare.
+	* cfgbuild.c (find_bb_boundaries): Adjust to skip debug insns.
+	* cfgrtl.c (get_last_bb_insn): Likewise.
+	* lra.c (push_insns): Likewise.
+
+2017-12-11  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/82050
+	* selftest-run-tests.c (selftest::run_tests): Move start/finish code
+	to...
+	* selftest.c (selftest::test_runner::test_runner): New ctor.
+	(selftest::test_runner::~test_runner): New dtor.
+	* selftest.h (class selftest::test_runner): New class.
+
+2017-12-11  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.h (vec_extract_fp32_from_shorth,
+	vec_extract_fp32_from_shortl]): Add #defines.
+	* config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion.
+	* config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH,
+	ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND,
+	ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL,
+	ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD,
+	ALTIVEC_BUILTIN_VEC_SLL): Add expansions.
+	* doc/extend.texi: Add documentation for the added builtins.
+
+2017-12-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR rtl-optimization/80693
+	PR rtl-optimization/81019
+	PR rtl-optimization/81020
+	* combine.c (distribute_notes): Reset any REG_UNUSED REGs that
+	are not mentioned in i3.  Place the REG_UNUSED note on i2,
+	possibly modified to REG_DEAD, if it did not originate in i3.
+
+2017-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* recog.c (store_data_bypass_p_1): New function.
+	(store_data_bypass_p): Handle USE in a PARALLEL like CLOBBER.  Use
+	store_data_bypass_p_1 to avoid code duplication.  Formatting fixes.
+
+2017-12-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/83361
+	* ifcvt.c (if_convert): Call fixup_partitions.
+
+2017-12-11  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for
+	early folding of splat_u{8,16,32}.
+
+2017-12-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/aarch64/aarch64.c (aarch64_print_operand): Don't start
+	output_operand_lossage first argument with capital letter.
+	(aarch64_override_options): Don't start error and sorry first argument
+	with capital letter.
+
+2017-12-11  Andi Kleen  <ak@linux.intel.com>
+
+	PR gcov-profile/83355
+	* auto-profile.c (string_table::get_index_by_decl): Don't
+	recurse when abstract origin points to itself.
+
+2017-12-11  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/83320
+	* gimple-loop-interchange.cc (free_data_refs_with_aux): Use delete.
+	(prune_datarefs_not_in_loop): Ditto.
+
+2017-12-10  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific): Tweak link to mkssoftware.com.
+
+2017-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83337
+	* gimple-loop-interchange.cc (compute_access_stride): Handle
+	bitfield DRs properly.
+
+2017-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83338
+	* tree-vect-stmts.c (vectorizable_operation): Handle POINTER_DIFF_EXPR
+	vectorization as MINUS_EXPR with a subsequent VIEW_CONVERT_EXPR from
+	vector of unsigned integers to vector of signed integers.
+
+2017-12-08  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/83317
+	* lra-constraints.c (process_address_1): Add insn code check.
+
+2017-12-08  Michael Matz  <matz@suse.de>
+
+	Fix PR tree-optimization/83323
+	* gimple-loop-jam (unroll_jam_possible_p): Correct test for
+	head-controlled loops and loop BBs.
+	* common.opt (funroll-and-jam): Remove, instead ...
+	(floop-unroll-and-jam): ... reuse this option.
+	* opts.c (default_options_table): Use OPT_floop_unroll_and_jam.
+	* doc/invoke.texi (-funroll-and-jam): Move docu to ...
+	(-floop-unroll-and-jam): ... this option.
+
+2017-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* ipa-polymorphic-call.c (noncall_stmt_may_be_vtbl_ptr_store): Fix
+	a comment typo, get_base_ref_and_offset -> get_ref_base_and_extent.
+	* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Likewise.
+
+2017-12-08  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81782
+	* tree-ssa-uninit.c (warn_uninitialized_vars): Properly
+	handle accesses outside of zero-sized vars.
+
+2017-12-08  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/83141
+	* tree-sra.c (contains_vce_or_bfcref_p): Move up in the file, also
+	test for MEM_REFs implicitely changing types with padding.  Remove
+	inline keyword.
+	(build_accesses_from_assign): Added contains_vce_or_bfcref_p checks.
+
+2017-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/arc/arc.c (arc_attribute_table): Add exclusions to
+	the comment.
+	* config/avr/avr.c (avr_attribute_table): Likewise.
+	* config/msp430/msp430.c (msp430_attribute_table): Likewise.
+	* config/rl78/rl78.c (rl78_attribute_table): Likewise.
+	* config/nds32/nds32.c (nds32_attribute_table): Likewise.
+	* config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Initialize new member
+	of struct attribute_spec.
+	* config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
+
+2017-12-08  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	PR target/82960
+	* config/spu/spu.c (pad_bb): Only check INSN_CODE when INSN_P is true.
+
+2017-12-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/83609
+	* profile-count.c (profile_count::from_gcov_type): Move from
+	profile-count.h; handle overflow.
+	* profile-count.h (profile_count::from_gcov_type): Move offline.
+
+2017-12-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/83304
+	* combine.c (move_deaths): If we do not know where a register died,
+	search for it.
+
+2017-12-08  Richard Biener  <rguenther@suse.de>
+
+	* gimple-loop-interchange.cc (tree_loop_interchange::interchange):
+	Provide -fopt-info-loop feedback when we interchange in a nest.
+
+2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/driver-arm.c (arm_cpu_table): Use fp-capable product names
+	for armv6 ARM CPU IDs.
+
+2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
+
+	* common/config/arm/arm-common.c: Include <algorithm>.
+	(INCLUDE_VECTOR): Define.
+	(compare_opt_names): New function.
+	(arm_rewrite_selected_arch): Only strip out extensions that can be
+	expressed through -mfpu.  Sort the remaining extensions
+	alphabetically.
+
+2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.h (arm_asm_auto_mfpu): Declare.
+	(ASM_CPU_SPEC_FUNCTIONS): Add new rule asm_auto_mfpu.
+	(ASM_CPU_SPEC): Use it if -mfpu is set to auto.
+	* common/config/arm/arm-common.c (arm_asm_auto_mfpu): New function.
+
+2017-06-08  Tristan Gingold  <gindold@adacore.com>
+
+	PR ada/81470
+	* dwarf2out.c (dwarf2out_do_cfi_startproc): Only emit
+	.cfi_personality or .cfi_lsda if the eh data format is dwarf2.
+
+2017-12-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE): Initialize new member
+	of struct attribute_spec.
+
+2017-12-08  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512vnniintrin.h (_mm512_dpwssds_epi32,
+	_mm512_mask_dpwssds_epi32, _mm512_maskz_dpwssds_epi32): New intrinsics.
+	* config/i386/avx512vnnivlintrin.h (_mm256_dpwssds_epi32,
+	_mm256_mask_dpwssds_epi32, _mm256_maskz_dpwssds_epi32,
+	_mm_dpwssds_epi32, _mm_mask_dpwssds_epi32,
+	_mm_maskz_dpwssds_epi32): Ditto.
+
+2017-12-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81303
+	* tree-vect-stmts.c (vect_is_simple_cond): For invariant
+	conditions try to create a comparison vector type matching
+	the data vector type.
+	(vectorizable_condition): Adjust.
+	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern):
+	Leave invariant conditions alone in case we can vectorize those.
+
+2017-12-08  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512vnniintrin.h (_mm512_dpwssd_epi32,
+	_mm512_mask_dpwssd_epi32, _mm512_maskz_dpwssd_epi32): New intrinsics.
+	* config/i386/avx512vnnivlintrin.h (_mm256_dpwssd_epi32,
+	_mm256_mask_dpwssd_epi32, _mm256_maskz_dpwssd_epi32, _mm_dpwssd_epi32,
+	_mm_mask_dpwssd_epi32, _mm_maskz_dpwssd_epi32): Ditto.
+
+2017-12-08  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512vnniintrin.h (_mm512_dpbusds_epi32,
+	_mm512_mask_dpbusds_epi32, _mm512_maskz_dpbusds_epi32): New.
+	* config/i386/avx512vnnivlintrin.h (_mm256_dpbusds_epi32,
+	_mm256_mask_dpbusds_epi32, _mm256_maskz_dpbusds_epi32,
+	_mm_dpbusds_epi32, _mm_mask_dpbusds_epi32,
+	_mm_maskz_dpbusds_epi32): New intrinsics.
+
+2017-12-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2.md (ld<bhw_uns>io): Add splitter for memory
+	operand.
+	(ld<bh>io_signed): Likewise.
+	(st<bhw>io): Likewise.
+	* config/nios2/predicates.md (ldstio_memory_operand): Allow
+	SMALL_INT12 constant integer operand.
+
+2017-12-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2.c (nios2_symbolic_constant_allowed):
+	Rename to...
+	(nios2_large_constant_allowed): ...this.  Adjust uses.
+	(nios2_plus_symbolic_constant_p): Rename to...
+	(nios2_plus_large_constant_p): ...this.  Adjust uses.
+	(nios2_legitimate_address_p): Correct CONST_INT handling.
+	(nios2_symbolic_memory_operand_p): Rename to...
+	(nios2_large_constant_memory_operand_p): ...this.  Adjust uses.
+	(nios2_large_constant_p): Check for large constant integers too.
+	(nios2_split_large_constant): Handle constant integers.
+	(nios2_split_symbolic_memory_operand): Rename to...
+	(nios2_split_large_constant_memory_operand): ...this.  Adjust uses.
+	(nios2_legitimize_constant_address): Handle constant integers.
+	(r0rel_constant_p): Handle small constant integers.
+	(nios2_print_operand_address): Handle r0-relative integer addresses.
+	* config/nios2/nios2-protos.h: Adjust for renamed functions.
+	* config/nios2/nios2.md: Adjust for renamed functions.
+
+2017-12-07  Andrew Waterman  <andrew@sifive.com>
+
+	* config/riscv/riscv.c (TARGET_ASM_SELECT_SECTION): New define.
+	(TARGET_HAVE_SRODATA_SECTION): New define.
+	(riscv_select_section): New function.
+
+2017-12-08  Joseph Myers  <joseph@codesourcery.com>
+	    Alexander Monakov  <amonakov@ispras.ru>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81906
+	* config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/aarch64/aarch64.c (aarch64_print_address_internal): Return
+	a bool success value.  Don't call output_operand_lossage here.
+	(aarch64_print_ldpstp_address): Return a bool success value.
+	(aarch64_print_operand_address): Call output_addr_const if
+	aarch64_print_address_internal fails.
+	(aarch64_print_operand): Don't assert that the mode is 16 bytes for
+	'y'; call output_operand_lossage instead.  Call output_operand_lossage
+	if aarch64_print_ldpstp_address fails.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vector-builder.h
+	(tree_vector_builder::binary_encoded_nelts): Declare.
+	* tree-vector-builder.c
+	(tree_vector_builder::binary_encoded_nelts): New function.
+	* fold-const.c (negate_expr_p): Likewise.
+	(operand_equal_p, fold_checksum_tree): Likewise.
+	* tree-loop-distribution.c (const_with_all_bytes_same): Likewise.
+	* tree.c (integer_zerop, integer_onep, integer_all_onesp, real_zerop)
+	(real_onep, real_minus_onep, add_expr, initializer_zerop): Likewise.
+	(uniform_vector_p): Likewise.
+	* varasm.c (const_hash_1, compare_constant): Likewise.
+	* tree-ssa-ccp.c: Include tree-vector-builder.h.
+	(valid_lattice_transition): Operate directly on the VECTOR_CST
+	encoding.
+	* ipa-icf.c: Include tree-vector-builder.h.
+	(sem_variable::equals): Operate directly on the VECTOR_CST encoding.
+	* print-tree.c (print_node): Print encoding of VECTOR_CSTs.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree.c (build_vector): Delete.
+	* tree.h (build_vector): Make static and move into the self-testing
+	block.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* vector-builder.h (vector_builder::derived): New const overload.
+	(vector_builder::elt): New function.
+	* tree-vector-builder.h (tree_vector_builder::type): New function.
+	(tree_vector_builder::apply_step): Declare.
+	* tree-vector-builder.c (tree_vector_builder::apply_step): New
+	function.
+	* gimple-fold.h (tree_vector_builder): Declare.
+	(gimple_build_vector): Take a tree_vector_builder instead of a
+	type and vector of elements.
+	* gimple-fold.c (gimple_build_vector): Likewise.
+	* tree-vect-loop.c (get_initial_def_for_reduction): Update call
+	accordingly.
+	(get_initial_defs_for_reduction): Likewise.
+	(vectorizable_induction): Likewise.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vector-builder.h
+	(tree_vector_builder::new_binary_operation): Declare.
+	* tree-vector-builder.c
+	(tree_vector_builder::new_binary_operation): New function.
+	* fold-const.c (fold_relational_const): Use it.
+	(const_binop): Likewise.  Check that both input vectors have
+	the same number of elements, thus excluding things like WIDEN_SUM.
+	Check whether it is possible to operate directly on the encodings
+	of stepped inputs.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* fold-const.c (fold_negate_expr_1): Use tree_vector_builder and
+	new_unary_operation, operating only on the encoded elements.
+	(const_unop): Likewise.
+	(exact_inverse): Likewise.
+	(distributes_over_addition_p): New function.
+	(const_binop): Use tree_vector_builder and new_unary_operation
+	for combinations of VECTOR_CST and INTEGER_CST.  Operate only
+	on the encoded elements unless the encoding is strided and the
+	operation does not distribute over addition.
+	(fold_convert_const):  Use tree_vector_builder and
+	new_unary_operation.  Operate only on the encoded elements
+	for truncating integer conversions, or for non-stepped encodings.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/sparc/sparc.c: Include tree-vector-builder.h.
+	(sparc_fold_builtin): Use tree_vector_builder instead of build_vector.
+	* expmed.c: Include tree-vector-builder.h.
+	(make_tree): Use tree_vector_builder instead of build_vector.
+	* fold-const.c: Include tree-vector-builder.h.
+	(const_binop): Use tree_vector_builder instead of build_vector.
+	(const_unop): Likewise.
+	(native_interpret_vector): Likewise.
+	(fold_vec_perm): Likewise.
+	(fold_ternary_loc): Likewise.
+	* gimple-fold.c: Include tree-vector-builder.h.
+	(gimple_fold_stmt_to_constant_1): Use tree_vector_builder instead
+	of build_vector.
+	* tree-ssa-forwprop.c: Include tree-vector-builder.h.
+	(simplify_vector_constructor): Use tree_vector_builder instead
+	of build_vector.
+	* tree-vect-generic.c: Include tree-vector-builder.h.
+	(add_rshift): Use tree_vector_builder instead of build_vector.
+	(expand_vector_divmod): Likewise.
+	(optimize_vector_constructor): Likewise.
+	* tree-vect-loop.c: Include tree-vector-builder.h.
+	(vect_create_epilog_for_reduction): Use tree_vector_builder instead
+	of build_vector.  Explicitly use a stepped encoding for
+	{ 1, 2, 3, ... }.
+	* tree-vect-slp.c: Include tree-vector-builder.h.
+	(vect_get_constant_vectors): Use tree_vector_builder instead
+	of build_vector.
+	(vect_transform_slp_perm_load): Likewise.
+	(vect_schedule_slp_instance): Likewise.
+	* tree-vect-stmts.c: Include tree-vector-builder.h.
+	(vectorizable_bswap): Use tree_vector_builder instead of build_vector.
+	(vect_gen_perm_mask_any): Likewise.
+	(vectorizable_call): Likewise.  Explicitly use a stepped encoding.
+	* tree.c: (build_vector_from_ctor): Use tree_vector_builder instead
+	of build_vector.
+	(build_vector_from_val): Likewise.  Explicitly use a duplicate
+	encoding.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* doc/generic.texi (VECTOR_CST): Describe new representation of
+	vector constants.
+	* vector-builder.h: New file.
+	* tree-vector-builder.h: Likewise.
+	* tree-vector-builder.c: Likewise.
+	* Makefile.in (OBJS): Add tree-vector-builder.o.
+	* tree.def (VECTOR_CST): Update comment to refer to generic.texi.
+	* tree-core.h (tree_base): Add a vector_cst field to the u union.
+	(tree_vector): Change the number of elements to
+	vector_cst_encoded_nelts.
+	* tree.h (VECTOR_CST_NELTS): Redefine using TYPE_VECTOR_SUBPARTS.
+	(VECTOR_CST_ELTS): Delete.
+	(VECTOR_CST_ELT): Redefine using vector_cst_elt.
+	(VECTOR_CST_LOG2_NPATTERNS, VECTOR_CST_NPATTERNS): New macros.
+	(VECTOR_CST_NELTS_PER_PATTERN, VECTOR_CST_DUPLICATE_P): Likewise.
+	(VECTOR_CST_STEPPED_P, VECTOR_CST_ENCODED_ELTS): Likewise.
+	(VECTOR_CST_ENCODED_ELT): Likewise.
+	(vector_cst_encoded_nelts): New function.
+	(make_vector): Take the values of VECTOR_CST_LOG2_NPATTERNS and
+	VECTOR_CST_NELTS_PER_PATTERN as arguments.
+	(vector_cst_int_elt, vector_cst_elt): Declare.
+	* tree.c: Include tree-vector-builder.h.
+	(tree_code_size): Abort if passed VECTOR_CST.
+	(tree_size): Update for new VECTOR_CST layout.
+	(make_vector): Take the values of VECTOR_CST_LOG2_NPATTERNS and
+	VECTOR_CST_NELTS_PER_PATTERN as arguments.
+	(build_vector): Use tree_vector_builder.
+	(vector_cst_int_elt, vector_cst_elt): New functions.
+	(drop_tree_overflow): For VECTOR_CST, drop the TREE_OVERFLOW from the
+	encoded elements and then create the vector in the canonical form.
+	(check_vector_cst, check_vector_cst_duplicate, check_vector_cst_fill)
+	(check_vector_cst_stepped, test_vector_cst_patterns): New functions.
+	(tree_c_tests): Call test_vector_cst_patterns.
+	* lto-streamer-out.c (DFS::DFS_write_tree_body): Handle the new
+	VECTOR_CST fields.
+	(hash_tree): Likewise.
+	* tree-streamer-out.c (write_ts_vector_tree_pointers): Likewise.
+	(streamer_write_tree_header): Likewise.
+	* tree-streamer-in.c (lto_input_ts_vector_tree_pointers): Likewise.
+	(streamer_alloc_tree): Likewise.  Update call to make_vector.
+	* fold-const.c (fold_ternary_loc): Avoid using VECTOR_CST_ELTS.
+
+2017-12-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* selftest.h (ASSERT_TRUE_AT, ASSERT_FALSE_AT, ASSERT_EQ_AT)
+	(ASSERT_NE, ASSERT_PRED1): Add underscores to local variable names
+	* selftest-rtl.h (ASSERT_RTX_EQ, ASSERT_RTX_PTR_EQ): Likewise.
+
+2017-12-07  Bin Cheng  <bin.cheng@arm.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81303
+	* Makefile.in (gimple-loop-interchange.o): New object file.
+	* common.opt (floop-interchange): Reuse the option from graphite.
+	* doc/invoke.texi (-floop-interchange): Ditto.  New document for
+	-floop-interchange and mention it for -O3.
+	* opts.c (default_options_table): Enable -floop-interchange at -O3.
+	* gimple-loop-interchange.cc: New file.
+	* params.def (PARAM_LOOP_INTERCHANGE_MAX_NUM_STMTS): New parameter.
+	(PARAM_LOOP_INTERCHANGE_STRIDE_RATIO): New parameter.
+	* passes.def (pass_linterchange): New pass.
+	* timevar.def (TV_LINTERCHANGE): New time var.
+	* tree-pass.h (make_pass_linterchange): New declaration.
+	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Change to external
+	interchange.  Record IV before/after increment in new parameters.
+	* tree-ssa-loop-ivopts.h (create_canonical_iv): New declaration.
+	* tree-vect-loop.c (vect_is_simple_reduction): Factor out reduction
+	path check into...
+	(check_reduction_path): ...New function here.
+	* tree-vectorizer.h (check_reduction_path): New declaration.
+
+2017-12-07  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/83252
+	PR rtl-optimization/80818
+	* lra.c (add_regs_to_insn_regno_info): Make a hard reg in CLOBBER
+	always early clobbered.
+	* lra-lives.c (process_bb_lives): Check input hard regs for early
+	clobbered non-operand hard reg.
+
+2017-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/83164
+	* tree-cfg.c (verify_gimple_assign_binary): Don't require
+	types_compatible_p, just that TYPE_MODE is the same.
+
+2017-12-07  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81544
+	* attribs.c (empty_attribute_table): Initialize new member of
+	struct attribute_spec.
+	(decl_attributes): Add argument.  Handle mutually exclusive
+	combinations of attributes.
+	(selftests::test_attribute_exclusions): New function.
+	(selftests::attribute_c_tests): Ditto.
+	* attribs.h (decl_attributes): Add default argument.
+	* selftest.h (attribute_c_tests): Declare.
+	* selftest-run-tests.c (selftest::run_tests): Call attribute_c_tests.
+	* tree-core.h (attribute_spec::exclusions, exclude): New type and
+	member.
+	* doc/extend.texi (Common Function Attributes): Update const and pure.
+	* config/alpha/alpha.c (vms_attribute_table): Initialize new member
+	of struct attribute_spec.
+	* config/arc/arc.c (arc_attribute_table): Same.
+	* config/arm/arm.c (arm_attribute_table): Same.
+	* config/avr/avr.c ( avr_attribute_table): Same.
+	* config/bfin/bfin.c (bfin_attribute_table): Same.
+	* config/cr16/cr16.c (cr16_attribute_table): Same.
+	* config/epiphany/epiphany.c (epiphany_attribute_table): Same.
+	* config/h8300/h8300.c (h8300_attribute_table): Same.
+	* config/i386/i386.c (ix86_attribute_table): Same.
+	* config/ia64/ia64.c (ia64_attribute_table): Same.
+	* config/m32c/m32c.c (m32c_attribute_table): Same.
+	* config/m32r/m32r.c (m32r_attribute_table): Same.
+	* config/m68k/m68k.c (m68k_attribute_table): Same.
+	* config/mcore/mcore.c (mcore_attribute_table): Same.
+	* config/microblaze/microblaze.c (microblaze_attribute_table): Same.
+	* config/mips/mips.c (mips_attribute_table): Same.
+	* config/msp430/msp430.c (msp430_attribute_table): Same.
+	* config/nds32/nds32.c (nds32_attribute_table): Same.
+	* config/nvptx/nvptx.c (nvptx_attribute_table): Same.
+	* config/powerpcspe/powerpcspe.c (rs6000_attribute_table): Same.
+	* config/rl78/rl78.c (rl78__attribute_table): Same.
+	* config/rs6000/rs6000.c (rs6000_attribute_table): Same.
+	* onfig/rx/rx.c (rx_attribute_table): Same.
+	* config/s390/s390.c (s390_handle_vectorbool_attribute): Same.
+	* config/sh/sh.c (sh_attribute_table): Same.
+	* config/sparc/sparc.c (sparc_attribute_table): Same.
+	* config/spu/spu.c (spu_attribute_table): Same.
+	* config/stormy16/stormy16.c (xstormy16_attribute_table): Same.
+	* config/v850/v850.c (v850_attribute_table): Same.
+	* config/visium/visium.c (visium_attribute_table): Same.
+
+2017-12-07  Tamar Christina  <tamar.christina@arm.com>
+
+	PR target/82641
+	* config/arm/arm.c (INCLUDE_STRING): Define.
+	(arm_last_printed_arch_string, arm_last_printed_fpu_string): New.
+	(arm_declare_function_name): Conservatively emit .arch, .arch_extensions
+	and .fpu.
+
+2017-12-07  Michael Matz  <matz@suse.de>
+
+	Add unroll and jam pass
+
+	* gimple-loop-jam.c: New file.
+	* Makefile.in (OBJS): Add gimple-loop-jam.o.
+	* common.opt (funroll-and-jam): New option.
+	* opts.c (default_options_table): Add unroll-and-jam at -O3.
+	* params.def (PARAM_UNROLL_JAM_MIN_PERCENT): New param.
+	(PARAM_UNROLL_JAM_MAX_UNROLL): Ditto.
+	* passes.def: Add pass_loop_jam.
+	* timevar.def (TV_LOOP_JAM): Add.
+	* tree-pass.h (make_pass_loop_jam): Declare.
+	* cfgloop.c (flow_loop_tree_node_add): Add AT argument.
+	* cfgloop.h (flow_loop_tree_node_add): Adjust declaration.
+	* cfgloopmanip.c (duplicate_loop): Add AT argument, adjust call
+	to flow_loop_tree_node_add.
+	(duplicate_subloops, copy_loops_to): Append to sibling list.
+	* cfgloopmanip.h: (duplicate_loop): Adjust declaration.
+	* doc/invoke.texi (-funroll-and-jam): Document new option.
+	(unroll-jam-min-percent, unroll-jam-max-unroll): Document new params.
+
+2017-12-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83296
+	PR tree-optimization/67769
+	* tree-ssa-phiopt.c (conditional_replacement): Do not reset
+	flow sensitive info in an unrelated BB.
+	(value_replacement): Use reset_flow_sensitive_info.
+	(minmax_replacement): Reset flow sensitive info on the def
+	we move.  Do not reset flow sensitive info in the whole BB
+	we move the stmt to.
+	(abs_replacement): Likewise.
+
+2017-12-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/43871
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
+	rs6000_cpu to the given -mcpu=, or to the default processor.
+
+2017-12-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.h (rs6000_cpu_attr): Delete.
+	* config/rs6000/rs6000.c (rs6000_variable_issue_1): Use rs6000_tune
+	instead of rs6000_cpu_attr.
+	(rs6000_adjust_cost): Ditto.
+	(is_microcoded_insn): Ditto.
+	(rs6000_adjust_priority): Ditto.
+	(rs6000_issue_rate): Ditto.
+	(rs6000_use_sched_lookahead): Ditto.
+	(rs6000_use_sched_lookahead_guard): Ditto.
+	(rs6000_sched_reorder): Ditto.
+	(force_new_group): Ditto.
+	* config/rs6000/rs6000.md (cpu attribute): Ditto.
+	(group_ending_nop): Ditto.
+
+2017-12-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.opt (rs6000_tune): New variable.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Also set
+	rs6000_tune.  Use rs6000_tune instead of rs6000_cpu where appropriate.
+	(rs6000_loop_align): Use rs6000_tune instead of rs6000_cpu where
+	appropriate.
+	(rs6000_reassociation_width): Ditto.
+	(rs6000_emit_epilogue): Ditto.
+	(rs6000_adjust_cost): Ditto.
+	(is_microcoded_insn): Ditto.
+	(is_cracked_insn): Ditto.
+	(rs6000_adjust_priority): Ditto.
+	(rs6000_sched_reorder): Ditto.
+	(rs6000_sched_reorder2): Ditto.
+	(insn_must_be_first_in_group): Ditto.
+	(insn_must_be_last_in_group): Ditto.
+	(rs6000_register_move_cost): Ditto.
+	* config/rs6000/rs6000.h (rs6000_cpu_attr): Use rs6000_tune instead of
+	rs6000_cpu.
+
+2017-12-07  Julia Koval  <julia.koval@intel.com>
+
+	* config.gcc: Add vaesintrin.h.
+	* config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI_V64QI):
+	New type.
+	* config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi,
+	__builtin_ia32_vaesdec_v32qi, __builtin_ia32_vaesdec_v64qi):
+	New builtins.
+	* config/i386/i386.c (ix86_expand_args_builtin): Handle new type.
+	* config/i386/immintrin.h: Include vaesintrin.h.
+	* config/i386/sse.md (vaesdec_<mode>): New pattern.
+	* config/i386/vaesintrin.h (_mm256_aesdec_epi128, _mm512_aesdec_epi128,
+	_mm_aesdec_epi128): New intrinsics.
+
+2017-12-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (C_COMMON_OBJS): Add c-family/c-spellcheck.o.
+	* spellcheck-tree.c (find_closest_macro_cpp_cb): Move to
+	c-family/c-spellcheck.cc.
+	(best_macro_match::best_macro_match): Likewise.
+	* spellcheck-tree.h
+	(struct edit_distance_traits<cpp_hashnode *>): Move to
+	c-family/c-spellcheck.h.
+	(class best_macro_match): Likewise.
+
+2017-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83293
+	* gimple-ssa-strength-reduction.c (insert_initializers): Use
+	GSI_NEW_STMT instead of GSI_SAME_STMT in gsi_insert_after that
+	might insert into empty bb.
+
+	PR sanitizer/81281
+	* match.pd ((T)(P + A) - (T)P -> (T) A): Split into separate
+	simplify for plus with :c added, and pointer_plus without that.
+	((T)P - (T)(P + A) -> -(T) A): Likewise.  If type is integral
+	with undefined overflow and the conversion is not widening,
+	perform negation in utype and only convert to type afterwards.
+	((T)(P + A) - (T)(P + B) -> (T)A - (T)B): Split into separate
+	simplify for plus with :c added, and pointer_plus without that.
+	If type is integral with undefined overflow and the conversion is
+	not widening, perform minus in utype and only convert to type
+	afterwards.  Move the last pointer_diff_expr simplify into the
+	two outermost ifs.
+
+2017-12-06  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/82646
+	* builtins.c (maybe_emit_chk_warning): Use size as the bound for
+	strncpy, not maxlen.
+
+2017-12-06  Martin Sebor  <msebor@redhat.com>
+
+	* doc/invoke.texi (-Wstringop-truncation): Mention attribute
+	nonstring.
+
+	PR tree-optimization/83075
+	* tree-ssa-strlen.c (handle_builtin_stxncpy): Avoid assuming
+	strncat/strncpy don't change length of source string.
+
+2017-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	Revert
+	2017-11-29  Martin Aberg  <maberg@gaisler.com>
+
+	* config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
+	to prevent b2bst errata sequence.
+	(sqrtdf2_fix): Likewise.
+
+2017-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81945
+	* cfgloop.h (FOR_EACH_LOOP_FN): Use FN instead of hardcoding fn.
+	* tree-cfg.c (move_sese_region_to_fn): If any of the loops moved
+	to dest_cfun has orig_loop_num set, either remap it to the new
+	loop number if the loop got moved too, or clear it.
+
+2017-12-05  Steve Ellcey  <sellcey@cavium.com>
+
+	* config/aarch64/thunderx2-t99.md (thunderx2t99_branch): Add trap
+	to reservation.
+	(thunderx2t99_nothing): New insn reservation.
+	(thunderx2t99_mrs): New insn reservation.
+	(thunderx2t99_multiple): New insn reservation.
+	(thunderx2t99_alu_basi): Add bfx to reservation.
+	(thunderx2t99_fp_cmp): Add fccmps and fccmpd to reservation.
+
+2017-12-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	PR target/82248
+	* config/arm/arm.md (probe_stack) : Use the 'o' constraint.
+
+2017-12-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-dce.c (simple_dce_from_worklist): Move and rename from
+	tree-ssa-pre.c::remove_dead_inserted_code.
+	* tree-ssa-dce.h: New file.
+	* tree-ssa-pre.c (tree-ssa-dce.h): Include new header file.
+	(remove_dead_inserted_code): Move and rename to function
+	tree-ssa-dce.c::simple_dce_from_worklist.
+	(pass_pre::execute): Update use.
+
+2017-12-05  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83277
+	* graphite-isl-ast-to-gimple.c (should_copy_to_new_region): Make sure
+	to code-gen liveout vars.
+
+2017-12-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/aarch64/aarch64-simd.md (aarch64_simd_bsldi_internal)
+	(aarch64_simd_bsldi_alt): Check REG_P before GP_REGNUM_P.
+	(aarch64_cm<optab>di, aarch64_cmtstdi): Add leading "&&" to
+	split condition.
+
+2017-12-05  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New
+	function.
+	(TARGET_ASAN_SHADOW_OFFSET): New macro definition.
+	* config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): Set to 1 if
+	ASAN is enabled.
+
+2017-12-05  Richard Biener  <rguenther@suse.de>
+
+	* timevar.def (TV_TREE_RECIP, TV_TREE_SINCOS, TV_TREE_WIDEN_MUL): Add.
+	* tree-ssa-math-opts.c (pass_data_cse_reciprocal): Use TV_TREE_RECIP.
+	(pass_data_cse_sincos): Use TV_TREE_SINCOS.
+	(pass_data_optimize_widening_mul): Use TV_TREE_WIDEN_MUL.
+
+2017-12-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* dbxout.c (dbxout_block): Grow buf to 30 bytes.
+
+2017-12-05  Martin Liska  <mliska@suse.cz>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/invoke.texi: Document the options.
+	* flag-types.h (enum sanitize_code): Add
+	SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT.
+	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Add handling
+	of SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT.
+	* opts.c: Define new sanitizer options.
+	* sanitizer.def (BUILT_IN_ASAN_POINTER_COMPARE): Likewise.
+	(BUILT_IN_ASAN_POINTER_SUBTRACT): Likewise.
+
+2017-12-05  Julia Koval  <julia.koval@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VNNI_SET,
+	OPTION_MASK_ISA_AVX512VNNI_UNSET): New.
+	(ix86_handle_option): Handle -mavx512vnni.
+	* config/i386/cpuid.h (bit_AVX512VNNI): New bit.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Handle new bit.
+	* config/i386/i386-c (__AVX512VNNI__): New.
+	* config/i386/i386.c (ix86_target_string): Handle new option.
+	(ix86_valid_target_attribute_inner_p): Handle new option.
+	* config/i386/i386.h (TARGET_AVX512VNNI, TARGET_AVX512VNNI_P): New.
+	* config/i386/i386.opt (mavx512vnni): New option.
+
+2017-12-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR target/81616
+	* athlon.md: Disable for generic.
+	* haswell.md: Enable for generic.
+	* i386.c (ix86_sched_init_global): Add core hooks for generic.
+	* x86-tune-sched.c (ix86_issue_rate): Increase issue rate for generic
+	to 4.
+	(ix86_adjust_cost): Move generic to haswell path.
+
+2017-12-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.c (sparc_do_work_around_errata): Use mem_ref
+	instead of MEM_P in a couple more places.  Fix formatting issues.
+
+2017-12-04  Jim Wilson  <jimw@sifive.com>
+
+	* config/riscv/riscv.c (riscv_for_each_saved_reg): Use GP_REG_LAST
+	instead of GP_REG_LAST-1.
+	(riscv_adjust_libcall_cfi_prologue): Likewise.
+	(riscv_adjust_libcall_cri_epilogue): Likewise.
+	* config/riscv/riscv.h (CALL_USED_REGISTERS): Change a6 to t6 in
+	comment.
+
+2017-12-04  Luis Machado  <luis.machado@linaro.org>
+
+	* ipa-pure-const.c (check_decl): Add missing newline.
+	(state_from_flags): Likewise.
+
+2017-12-04  Jeff Law  <law@redhat.com>
+
+	PR tree-optimizatin/78496
+	* gimple-ssa-evrp-analyze.h
+	(evrp_range_analyzer::get_vr_values): Simplify.
+	* gimple-ssa-evrp-analyze.c: Corresponding changes.
+	* tree-ssa-dom.c: Include alloc-pool.h, tree-vrp.h, vr-values.h
+	and gimple-ssa-evrp-analyze.h.
+	(dom_opt_dom_walker class): Add evrp_range_analyzer member.
+	(simplify_stmt_for_jump_threading): Copy a blob of code from
+	tree-vrp.c to use ranges to simplify statements.
+	(dom_opt_dom_walker::before_dom_children): Call
+	evrp_range_analyzer::{enter,record_ranges_from_stmt} methods.
+	(dom_opt_dom_walker::after_dom_children): Similarly for
+	evrp_range_analyzer::leave.
+	(dom_opt_dom_walker::optimize_stmt): Use EVRP ranges to optimize
+	conditionals.
+
+	* gimple-ssa-evrp-analyze.c
+	(evrp_range_analyzer::extract_range_from_stmt):  Always use
+	vr_values::update_value_range so preexisting range info is
+	medged with new range info, even if the new range is VR_VARYING.
+
+2017-12-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine.c: Adjust comment.
+	(use_crosses_set_p): Delete.
+	(can_combine_p): Use modified_between_p instead of use_crosses_set_p.
+	(try_combine): Ditto.
+
+2017-12-04  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83255
+	* graphite-isl-ast-to-gimple.c (translate_isl_ast_node_for):
+	Re-add zero-iteration check.
+
+2017-12-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/83245
+	* lra.c (collect_non_operand_hard_regs): Treat clobbers of non-operand
+	hard registers as earlyclobber, also if not in an asm.
+
+2017-12-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR bootstrap/83265
+	Revert
+	2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/43871
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
+	rs6000_cpu based on cpu_index, not tune_index.
+
+2017-12-04  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83238
+	* graphite-scop-detection.c (scop_detection::merge_sese): Make
+	code match comment, rejecting invalid SESE regions.
+
+2017-12-03  John David Anglin  <danglin@gcc.gnu.org>
+
+	* config/pa/pa.c (pa_legitimate_address_p): For scaled indexing,
+	require base operand is a REG_POINTER prior to reload on targets
+	with non-equivalent space registers.
+
+2017-12-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-cp.c (ipcp_lattice<valtype>::print): Update dumping.
+	(update_specialized_profile): Fix updating of counts.
+	(perhaps_add_new_callers): Likewise.
+
+2017-12-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR target/81616
+	* x86-tune.def: Remove obsolette FIXMEs.
+	(X86_TUNE_PARTIAL_FLAG_REG_STALL): Disable for generic
+	(X86_TUNE_FUSE_CMP_AND_BRANCH_32, X86_TUNE_FUSE_CMP_AND_BRANCH_64,
+	X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS, X86_TUNE_FUSE_ALU_AND_BRANCH):
+	Enable for generic.
+	(X86_TUNE_PAD_RETURNS): Disable for generic.
+
+2017-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83170
+	PR tree-optimization/83241
+	* gimple-ssa-store-merging.c
+	(imm_store_chain_info::try_coalesce_bswap): Update vuse field from
+	gimple_vuse (ins_stmt) in case it has changed.
+	(imm_store_chain_info::output_merged_store): Likewise.
+
+	* tree-chkp.c (chkp_compute_bounds_for_assignment): Handle
+	POINTER_DIFF_EXPR.
+
+	PR c++/81212
+	* tree-cfg.c (pass_warn_function_return::execute): Handle
+	__builtin_ubsan_handle_missing_return like __builtin_unreachable
+	with BUILTINS_LOCATION.
+
+	PR target/78643
+	PR target/80583
+	* expr.c (get_inner_reference): If DECL_MODE of a non-bitfield
+	is BLKmode for vector field with vector raw mode, use TYPE_MODE
+	instead of DECL_MODE.
+
+	* config/i386/i386-protos.h (standard_sse_constant_opcode): Change
+	last argument to rtx pointer.
+	* config/i386/i386.c (standard_sse_constant_opcode): Replace X argument
+	with OPERANDS.  For AVX+ 128-bit VEX encoded instructions over 256-bit
+	or 512-bit.  If setting EXT_REX_SSE_REG_P, use EVEX encoded insn
+	depending on the chosen ISAs.
+	* config/i386/i386.md (*movxi_internal_avx512f, *movoi_internal_avx,
+	*movti_internal, *movdi_internal, *movsi_internal, *movtf_internal,
+	*movdf_internal, *movsf_internal): Adjust standard_sse_constant_opcode
+	callers.
+	* config/i386/sse.md (mov<mode>_internal): Likewise.
+	* config/i386/mmx.md (*mov<mode>_internal): Likewise.
+
+2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* doc/invoke.texi (-dp): Say that instruction cost is printed as well.
+
+2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000-protos.h (emit_fusion_addis): Remove last two
+	parameters from prototype.
+	* config/rs6000/rs6000.c (emit_fusion_addis): Remove last two
+	parameters.  Don't print a comment.
+	(emit_fusion_gpr_load): Adjust.
+	(emit_fusion_load_store): Adjust.
+	* config/rs6000/rs6000.md (*fusion_p9_<mode>_constant): Adjust.
+	* config/rs6000/vsx.md (two peepholes): Print the "vector load fusion"
+	comment on the second line.
+
+2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/43871
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
+	rs6000_cpu based on cpu_index, not tune_index.
+
+2017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* final.c (output_asm_name): Print insn_cost.  Shorten output.  Print
+	which_alternative instead of which_alternative + 1.
+	(output_asm_insn): Print an extra tab if the template is short.
+
+2017-12-01  Jim Wilson  <jimw@sifive.com>
+
+	* common.opt (use_gnu_debug_info_extensions): Delete DWARF_DEBUG from
+	comment.
+	* config/vx-common.h (DWARF_DEBUGGING_INFO): Delete undef.
+	* doc/tm.texi.in (PREFERRED_DEBUGGING_TYPE): Delete DWARF_DEBUG
+	reference.
+	* doc/tm.texi: Regenerate.
+
+2017-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/81959
+	* config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for
+	whether we can allocate pseudos before trying to fix an address.
+	* config/rs6000/rs6000.md (float_<mode>si2_hw): Make sure the
+	memory address is indexed or indirect.
+	(floatuns_<mode>si2_hw2): Likewise.
+
+2017-12-01  Jason Merrill  <jason@redhat.com>
+
+	* Makefile.in (TAGS): Add c-family/*.cc.
+
+2017-12-01  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (call_insn): Use %c rather than %a.
+	(call_value_insn): Likewise.
+	(sibcall_insn): Likewise.
+	(sibcall_value_insn): Likewise.
+	(movsi_aarch64): Likewise.
+	(movdi_aarch64): Likewise.
+	(add_losym_): Likewise.
+	(ldr_got_small_): Likewise.
+	(ldr_got_small_sidi): Likewise.
+	(ldr_got_small_28k_): Likewise.
+	(ldr_got_small_28k_sidi): Likewise.
+	* config/aarch64/aarch64.c (aarch64_print_address_internal):
+	Move output_addr_const to symbolic case. Add error check.
+
+2017-12-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/predicates.md (plus16_Q_operand): New predicate.
+	* config/s390/s390.md: Disable MVC merging peephole if it would
+	disable operand forwarding.
+	(new peephole2): Split MVCs if it would turn them into up to 2
+	forwardable MVCs.
+
+2017-12-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83232
+	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Fix
+	detection of same access. Instead of breaking the group here
+	do not consider the duplicate.  Add comment explaining real fix.
+
+2017-12-01  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/md.texi (Insn Splitting): Fix "central flowgraph" typo.
+
+2017-12-01  Sudakshina Das  <sudi.das@arm.com>
+
+	* config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute.
+
+2017-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* function.h (struct function): Remove cilk_frame_decl,
+	is_cilk_function and calls_cilk_spawn fields.
+	* tree-inline.h (struct copy_body_data): Remove remap_var_for_cilk
+	field.
+	* omp-simd-clone.c (simd_clone_clauses_extract): Don't clear
+	cilk_elemental field.
+	* cgraph.h (struct cgraph_simd_clone): Remove cilk_elemental field.
+	* target.def: Adjust comment.
+	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
+	Don't test cilk_elemental.
+
+	PR tree-optimization/83233
+	* gimple-ssa-store-merging.c (nop_stats, bswap_stats): Use
+	bswap_stat name for the struct.
+
+	PR c/79153
+	* tree.h (SWITCH_BREAK_LABEL_P): Define.
+	* gimplify.c (collect_fallthrough_labels): Handle GIMPLE_BIND
+	starting with a GIMPLE_SWITCH and ending with GIMPLE_LABEL with
+	SWITCH_BREAK_LABEL_P set on the label.
+	(gimplify_switch_expr): Set SWITCH_BREAK_LABEL_P on the label
+	added for default case if it was missing and not all cases covered.
+	Wrap GIMPLE_SWITCH and the switch_body_seq into a GIMPLE_BIND if
+	switch_body_seq ends with a GIMPLE_LABEL with SWITCH_BREAK_LABEL_P
+	set on the label.
+	* tree-chrec.c (evolution_function_is_univariate_p): Add return true;
+	to avoid -Wimplicit-fallthrough warning.
+	* config/i386/i386.c (ix86_expand_special_args_builtin): Add
+	FALLTHRU comment to avoid -Wimplicit-fallthrough warning.
+
+	PR tree-optimization/83221
+	* tree-ssa-reassoc.c (sort_by_operand_rank): Shift bb_rank
+	down by 16.
+	(init_reassoc): Formatting fix.
+
+	PR sanitizer/81275
+	* tree-cfg.c (group_case_labels_stmt): Don't optimize away
+	C++ FE implicitly added __builtin_unreachable () until -Wreturn-type
+	is diagnosed.
+
+	PR sanitizer/83219
+	* tree-cfg.c: Include asan.h.
+	(gimple_seq_unreachable_p): Return false for -fsanitize=unreachable.
+
+2017-12-01  Sergey Shalnov  <Sergey.Shalnov@intel.com>
+
+	* config/i386/i386.md: Fix AVX512 register width in AVX512 instruction.
+
+2017-12-01  Sergey Shalnov  <Sergey.Shalnov@intel.com>
+
+	* config/i386/i386.c (standard_sse_constant_opcode): Fix wrong form for
+	vpcmpeqd instruction.
+
+2017-12-01  Sergey Shalnov  <Sergey.Shalnov@intel.com>
+
+	* config/i386/i386.c (standard_sse_constant_opcode): Fix
+	registers type for 128bit mode.
+
+2017-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* spellcheck-tree.c (test_find_closest_identifier): Use ; instead
+	of ;;.
+	* gengtype-state.c (read_state_pair): Likewise.
+	* gimple-fold.c (gimple_fold_builtin_string_compare): Likewise.
+	* sel-sched-dump.c (dump_insn_rtx_1): Likewise.
+	* ipa-cp.c (intersect_aggregates_with_edge): Likewise.
+	* ifcvt.c (noce_try_store_flag_constants): Likewise.
+	* tree-ssa-ccp.c (ccp_finalize): Likewise.
+	* omp-grid.c (grid_process_kernel_body_copy): Likewise.
+	* builtins.c (fold_builtin_3): Likewise.
+	* graphite-scop-detection.c
+	(scop_detection::stmt_has_simple_data_refs_p): Likewise.
+	* hsa-gen.c (hsa_function_representation::hsa_function_representation):
+	Likewise.
+
+2017-12-01  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR sanitizer/81697
+	* asan.c (asan_protect_global): Add new ignore_decl_rtl_set_p
+	parameter. Return true if ignore_decl_rtl_set_p is true and other
+	conditions are satisfied.
+	* asan.h (asan_protect_global): Add new parameter.
+	* varasm.c (categorize_decl_for_section): Pass true as second parameter
+	to asan_protect_global calls.
+
+2017-11-30  Jim Wilson  <jimw@sifive.com>
+
+	* doc/invoke.texi (RISC-V Options): Delete nonexistent -mmemcpy and
+	-mno-memcpy options.  For -mplt, -mfdiv, -mdiv, -msave-restore, and
+	-mstrict-align, add info on default value.  Delete redundant lines for
+	-mabi.  Add missing -mexplicit-relocs docs.
+
+2017-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (trap): New pattern.
+
+2017-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (hwloop_optimize): Prevent the last ZOL
+	instruction to end into a delay slot.
+	* config/arc/arc.md (cond_delay_insn): Check if the instruction
+	can be placed into a delay slot against reg_note.
+
+2017-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (hwloop_optimize): Update hw-loop's end/start
+	labels number of usages.
+
+2017-11-30  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_cannot_substitue_mem_equiv_p): New
+	function.
+	(TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV_P): Define.
+
+2017-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/83210
+	* internal-fn.c (expand_mul_overflow): Optimize unsigned
+	multiplication by power of 2 constant into two shifts + comparison.
+
+2017-11-30  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR target/81616
+	* config/i386/x86-tune-costs.h (generic_cost): Revise for modern CPUs.
+
+2017-11-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83202
+	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add
+	allow_peel argument and guard peeling.
+	(canonicalize_loop_induction_variables): Likewise.
+	(canonicalize_induction_variables): Pass false.
+	(tree_unroll_loops_completely_1): Pass unroll_outer to disallow
+	peeling from cunrolli.
+
+2017-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine.c (try_combine): Print a message to dump file whenever
+	I0, I1, or I2 cannot be combined into I3.
+
+2017-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/83156
+	PR rtl-optimization/82621
+	* combine.c (try_combine): Don't split an I2 if one of the dests is
+	set again before I3.  Allow unused dests.
+
+2017-11-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (*add<mode>3_carry_in_internal2): New.
+
+2017-11-29  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/80818
+	* lra.c (collect_non_operand_hard_regs): New arg insn.  Pass it
+	recursively.  Use insn code for clobber.
+	(lra_set_insn_recog_data): Pass the new arg to
+	collect_non_operand_hard_regs.
+	(add_regs_to_insn_regno_info): Pass insn instead of uid.  Use insn
+	code for clobber.
+	(lra_update_insn_regno_info): Pass insn to
+	add_regs_to_insn_regno_info.
+
+2017-11-29  Jim Wilson  <jimw@sifive.com>
+	    Andrew Waterman  <andrew@sifive.com>
+
+	* config/riscv/riscv.c (SINGLE_SHIFT_COST): New.
+	(riscv_rtx_costs): Case ZERO_EXTRACT, match new pattern, and return
+	SINGLE_SHIFT_COST.  Case LT and ZERO_EXTEND, likewise.  Case ASHIFT,
+	use SINGLE_SHIFT_COST.
+	* config/riscv/riscv.md (lshrsi3_zero_extend_1): New.
+	(lshrsi3_zero_extend_2, lshrsi3_zero_extend_3): New.
+
+2017-11-29  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512vbmi2intrin.h (_mm512_shldv_epi16,
+	_mm512_mask_shldv_epi16, _mm512_maskz_shldv_epi16, _mm512_shldv_epi32,
+	_mm512_mask_shldv_epi32, _mm512_maskz_shldv_epi32, _mm512_shldv_epi64,
+	_mm512_mask_shldv_epi64, _mm512_maskz_shldv_epi64): New intrinsics.
+	* config/i386/avx512vbmi2vlintrin.h (_mm256_shldv_epi16,
+	_mm256_mask_shldv_epi16, _mm256_maskz_shldv_epi16, _mm256_shldv_epi32,
+	_mm256_mask_shldv_epi32, _mm256_maskz_shldv_epi32, _mm256_shldv_epi64,
+	_mm256_mask_shldv_epi64, _mm256_maskz_shldv_epi64, _mm_shldv_epi16,
+	_mm_mask_shldv_epi16, _mm_maskz_shldv_epi16, _mm_shldv_epi32,
+	_mm_mask_shldv_epi32, _mm_maskz_shldv_epi32, _mm_shldv_epi64,
+	_mm_mask_shldv_epi64, _mm_maskz_shldv_epi64): Ditto.
+	* config/i386/i386-builtin.def (__builtin_ia32_vpshldv_v32hi,
+	__builtin_ia32_vpshldv_v32hi_mask, __builtin_ia32_vpshldv_v32hi_maskz,
+	__builtin_ia32_vpshldv_v16hi, __builtin_ia32_vpshldv_v16hi_mask,
+	__builtin_ia32_vpshldv_v16hi_maskz, __builtin_ia32_vpshldv_v8hi,
+	__builtin_ia32_vpshldv_v8hi_mask, __builtin_ia32_vpshldv_v8hi_maskz,
+	__builtin_ia32_vpshldv_v16si, __builtin_ia32_vpshldv_v16si_mask,
+	__builtin_ia32_vpshldv_v16si_maskz, __builtin_ia32_vpshldv_v8si,
+	__builtin_ia32_vpshldv_v8si_mask, __builtin_ia32_vpshldv_v8si_maskz,
+	__builtin_ia32_vpshldv_v4si, __builtin_ia32_vpshldv_v4si_mask,
+	__builtin_ia32_vpshldv_v4si_maskz, __builtin_ia32_vpshldv_v8di,
+	__builtin_ia32_vpshldv_v8di_mask, __builtin_ia32_vpshldv_v8di_maskz,
+	__builtin_ia32_vpshldv_v4di, __builtin_ia32_vpshldv_v4di_mask,
+	__builtin_ia32_vpshldv_v4di_maskz, __builtin_ia32_vpshldv_v2di,
+	__builtin_ia32_vpshldv_v2di_mask,
+	__builtin_ia32_vpshldv_v2di_maskz): New builtins.
+	* config/i386/sse.md (vpshldv_<mode>, vpshldv_<mode>_mask,
+	vpshldv_<mode>_maskz, vpshldv_<mode>_maskz_1): New patterns.
+
+2017-11-29  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512vbmi2intrin.h (_mm512_shrdv_epi16,
+	_mm512_mask_shrdv_epi16, _mm512_maskz_shrdv_epi16, _mm512_shrdv_epi32,
+	_mm512_mask_shrdv_epi32, _mm512_maskz_shrdv_epi32, _mm512_shrdv_epi64,
+	_mm512_mask_shrdv_epi64, _mm512_maskz_shrdv_epi64): New intrinsics.
+	* config/i386/avx512vbmi2vlintrin.h (_mm256_shrdv_epi16,
+	_mm256_mask_shrdv_epi16, _mm256_maskz_shrdv_epi16, _mm256_shrdv_epi32,
+	_mm256_mask_shrdv_epi32, _mm256_maskz_shrdv_epi32, _mm256_shrdv_epi64,
+	_mm256_mask_shrdv_epi64, _mm256_maskz_shrdv_epi64, _mm_shrdv_epi16,
+	_mm_mask_shrdv_epi16, _mm_maskz_shrdv_epi16, _mm_shrdv_epi32,
+	_mm_mask_shrdv_epi32, _mm_maskz_shrdv_epi32, _mm_shrdv_epi64,
+	_mm_mask_shrdv_epi64, _mm_maskz_shrdv_epi64): Ditto.
+	* config/i386/i386-builtin-types.def (V32HI_FTYPE_V32HI_V32HI_V32HI,
+	V32HI_FTYPE_V32HI_V32HI_V32HI_INT, V16HI_FTYPE_V16HI_V16HI_V16HI_INT,
+	V8HI_FTYPE_V8HI_V8HI_V8HI_INT, V8SI_FTYPE_V8SI_V8SI_V8SI_INT,
+	V4SI_FTYPE_V4SI_V4SI_V4SI_INT, V8DI_FTYPE_V8DI_V8DI_V8DI,
+	V8DI_FTYPE_V8DI_V8DI_V8DI_INT, V4DI_FTYPE_V4DI_V4DI_V4DI_INT,
+	V16SI_FTYPE_V16SI_V16SI_V16SI, V16SI_FTYPE_V16SI_V16SI_V16SI_INT,
+	V2DI_FTYPE_V2DI_V2DI_V2DI_INT): New types.
+	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
+	* config/i386/sse.md (vpshrdv_<mode>, vpshrdv_<mode>_mask,
+	vpshrdv_<mode>_maskz, vpshrdv_<mode>_maskz_1): New pattern.
+
+2017-11-29  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/sparc.c (sparc_do_work_around_errata): Treat the
+	movsi_pic_gotdata_op instruction as a load for the UT699 errata
+	workaround.
+
+2017-11-29  Martin Aberg  <maberg@gaisler.com>
+
+	* config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
+	to prevent b2bst errata sequence.
+	(sqrtdf2_fix): Likewise.
+
+2017-11-29  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/sparc.c (fpop_reg_depend_p): New function.
+	(div_sqrt_insn_p): New function.
+	(sparc_do_work_around_errata): Insert NOP instructions to
+	prevent sequences that could trigger the TN-0013 errata for
+	certain LEON3 processors.
+	(pass_work_around_errata::gate): Also test sparc_fix_lost_divsqrt.
+	(sparc_option_override): Set sparc_fix_lost_divsqrt appropriately.
+	* config/sparc/sparc.md (fix_lost_divsqrt): New attribute.
+	(in_branch_delay): Prevent div and sqrt in delay slot if
+	fix_lost_divsqrt.
+	* config/sparc/sparc.opt (sparc_fix_lost_divsqrt): New variable.
+
+2017-11-29  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/sparc.c (atomic_insn_p): New function.
+	(sparc_do_work_around_errata): Insert NOP instructions to
+	prevent sequences that could trigger the TN-0010 errata for
+	UT700.
+	* config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make
+	instruction referable in atomic_insns_p.
+
+2017-11-29  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/sync.md (swapsi): 16-byte align if sparc_fix_gr712rc.
+	(atomic_compare_and_swap_leon3_1): Likewise.
+	(ldstub): Likewise.
+
+2017-11-29  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/sparc.c (fpop_insn_p): New function.
+	(sparc_do_work_around_errata): Insert NOP instructions to
+	prevent sequences that could trigger the TN-0012 errata for
+	GR712RC.
+	(pass_work_around_errata::gate): Also test sparc_fix_gr712rc.
+	* config/sparc/sparc.md (fix_gr712rc): New attribute.
+	(in_branch_annul_delay): Prevent floating-point instructions
+	in delay slot of annulled integer branch.
+
+2017-11-29  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83202
+	* tree-vect-slp.c (scalar_stmts_set_t): New typedef.
+	(bst_fail): Use it.
+	(vect_analyze_slp_cost_1): Add visited set, do not account SLP
+	nodes vectorized to the same stmts multiple times.
+	(vect_analyze_slp_cost): Allocate a visited set and pass it down.
+	(vect_analyze_slp_instance): Adjust.
+	(scalar_stmts_to_slp_tree_map_t): New typedef.
+	(vect_schedule_slp_instance): Add a map recording the SLP node
+	representing the vectorized stmts for a set of scalar stmts.
+	Avoid code-generating redundancies.
+	(vect_schedule_slp): Allocate map and pass it down.
+
+2017-11-29  Nathan Sidwell  <nathan@acm.org>
+
+	PR c++/83187
+	* tree.c (build_complex_type): Fix canonicalization.  Only fill in
+	type if it is new.
+
+2017-11-29  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_print_operand): Add new
+	cases for printing LDP/STP memory addresses.
+	(aarch64_print_address_internal): Renamed from
+	aarch64_print_operand_address, added parameter, add Pmode check.
+	(aarch64_print_ldpstp_address): New function for LDP/STP addresses.
+	(aarch64_print_operand_address): Indirect to
+	aarch64_print_address_internal.
+	* config/aarch64/aarch64-simd.md (store_pair_lanes): Use new
+	'y' operand output specifier.
+
+2017-11-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/83185
+	* tree.c (build_simple_mem_ref_loc): Handle
+	get_addr_base_and_unit_offset returning a MEM_REF.
+
+	PR middle-end/80929
+	* rtlanal.c (seq_cost): For non-single_set insns try to use insn_cost.
+
+	PR target/80819
+	* config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm)
+	alternative.
+
+2017-11-28  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (layout::print_trailing_fixits): Handle
+	m_x_offset.
+	(layout::move_to_column): Likewise.
+
+2017-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81275
+	* tree.c (block_may_fallthru): Return false if SWITCH_ALL_CASES_P
+	is set on SWITCH_EXPR and !block_may_fallthru (SWITCH_BODY ()).
+
+2017-11-28  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+	    Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/82808
+	* tree.h (expr_type_first_operand_type_p): Declare
+	* tree.c (expr_type_first_operand_type_p): New function.
+	* ipa-prop.h (ipa_get_type): Allow i to be out of bounds.
+	(ipa_value_from_jfunc): Adjust declaration.
+	* ipa-cp.c (ipa_get_jf_pass_through_result): New parameter RES_TYPE.
+	Use it as result type for arithmetics, unless it is NULL in which case
+	be more conservative.
+	(ipa_value_from_jfunc): New parameter PARM_TYPE, pass it to
+	ipa_get_jf_pass_through_result.
+	(propagate_vals_across_pass_through): Likewise.
+	(propagate_scalar_across_jump_function): New parameter PARM_TYPE, pass
+	is to propagate_vals_across_pass_through.
+	(propagate_constants_across_call): Pass PARM_TYPE to
+	propagate_scalar_across_jump_function.
+	(find_more_scalar_values_for_callers_subset): Pass parameter type to
+	ipa_value_from_jfunc.
+	(cgraph_edge_brings_all_scalars_for_node): Likewise.
+	* ipa-fnsummary.c (evaluate_properties_for_edge): Renamed parms_info
+	to caller_parms_info, pass parameter type to ipa_value_from_jfunc.
+	* ipa-prop.c (try_make_edge_direct_simple_call): New parameter
+	target_type, pass it to ipa_value_from_jfunc.
+	(update_indirect_edges_after_inlining): Pass parameter type to
+	try_make_edge_direct_simple_call.
+
+2017-11-28  Jeff Law  <law@redhat.com>
+
+	* gimple-ssa-evrp-analyze.c
+	(evrp_range_analyzer::record_ranges_from_phis): Only use SCEV to
+	refine ranges if scev_initialized_p returns true.
+	* vr-values.c (vr_values::extract_range_from_phi_node): Likewise.
+
+2017-11-28  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16,
+	_mm512_mask_shrdi_epi16, _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32,
+	_mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32, _mm512_shrdi_epi64,
+	_mm512_mask_shrdi_epi64, _mm512_maskz_shrdi_epi64): New intrinsics.
+	* config/i386/avx512vbmi2vlintrin.h (_mm256_shrdi_epi16,
+	_mm256_mask_shrdi_epi16, _mm256_maskz_shrdi_epi16,
+	_mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32, _mm256_shrdi_epi32,
+	_mm256_mask_shrdi_epi64, _mm256_maskz_shrdi_epi64, _mm256_shrdi_epi64,
+	_mm_mask_shrdi_epi16, _mm_maskz_shrdi_epi16, _mm_shrdi_epi16,
+	_mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32, _mm_shrdi_epi32,
+	_mm_mask_shrdi_epi64, _mm_maskz_shrdi_epi64, _mm_shrdi_epi64): Ditto.
+	* config/i386/i386-builtin.def (__builtin_ia32_vpshrd_v32hi,
+	__builtin_ia32_vpshrd_v32hi_mask, __builtin_ia32_vpshrd_v16hi,
+	__builtin_ia32_vpshrd_v16hi_mask, __builtin_ia32_vpshrd_v8hi,
+	__builtin_ia32_vpshrd_v8hi_mask, __builtin_ia32_vpshrd_v16si,
+	__builtin_ia32_vpshrd_v16si_mask, __builtin_ia32_vpshrd_v8si,
+	__builtin_ia32_vpshrd_v8si_mask, __builtin_ia32_vpshrd_v4si,
+	__builtin_ia32_vpshrd_v4si_mask, __builtin_ia32_vpshrd_v8di,
+	__builtin_ia32_vpshrd_v8di_mask, __builtin_ia32_vpshrd_v4di,
+	__builtin_ia32_vpshrd_v4di_mask, __builtin_ia32_vpshrd_v2di,
+	__builtin_ia32_vpshrd_v2di_mask): New builtins.
+	* config/i386/sse.md (vpshrd_<mode><mask_name>): New pattern.
+
+2017-11-28  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512vbmi2intrin.h (_mm512_shldi_epi16,
+	_mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16, _mm512_shldi_epi32,
+	_mm512_mask_shldi_epi32, _mm512_maskz_shldi_epi32, _mm512_shldi_epi64,
+	_mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): New intrinsics.
+	* config/i386/avx512vbmi2vlintrin.h (_mm256_shldi_epi16,
+	_mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16,
+	_mm256_mask_shldi_epi32, _mm256_maskz_shldi_epi32, _mm256_shldi_epi32,
+	_mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64, _mm256_shldi_epi64,
+	_mm_mask_shldi_epi16, _mm_maskz_shldi_epi16, _mm_shldi_epi16,
+	_mm_mask_shldi_epi32, _mm_maskz_shldi_epi32, _mm_shldi_epi32,
+	_mm_mask_shldi_epi64, _mm_maskz_shldi_epi64, _mm_shldi_epi64): Ditto.
+	* config/i386/i386-builtin-types.def (V32HI_FTYPE_V32HI_V32HI_INT,
+	V32HI_FTYPE_V32HI_V32HI_INT_V32HI_INT, V16SI_FTYPE_V16SI_V16SI_INT,
+	V16SI_FTYPE_V16SI_V16SI_INT_V16SI_INT,
+	V8DI_FTYPE_V8DI_V8DI_INT_V8DI_INT, V8SI_FTYPE_V8SI_V8SI_INT_V8SI_INT,
+	V16HI_FTYPE_V16HI_V16HI_INT_V16HI_INT,
+	V4DI_FTYPE_V4DI_V4DI_INT_V4DI_INT,
+	V8HI_FTYPE_V8HI_V8HI_INT_V8HI_INT,
+	V4SI_FTYPE_V4SI_V4SI_INT_V4SI_INT,
+	V2DI_FTYPE_V2DI_V2DI_INT_V2DI_INT): New types.
+	* config/i386/i386-builtin.def (__builtin_ia32_vpshld_v32hi,
+	__builtin_ia32_vpshld_v32hi_mask, __builtin_ia32_vpshld_v16hi,
+	__builtin_ia32_vpshld_v16hi_mask, __builtin_ia32_vpshld_v8hi,
+	__builtin_ia32_vpshld_v8hi_mask, __builtin_ia32_vpshld_v16si,
+	__builtin_ia32_vpshld_v16si_mask, __builtin_ia32_vpshld_v8si,
+	__builtin_ia32_vpshld_v8si_mask, __builtin_ia32_vpshld_v4si,
+	__builtin_ia32_vpshld_v4si_mask, __builtin_ia32_vpshld_v8di,
+	__builtin_ia32_vpshld_v8di_mask, __builtin_ia32_vpshld_v4di,
+	__builtin_ia32_vpshld_v4di_mask, __builtin_ia32_vpshld_v2di,
+	__builtin_ia32_vpshld_v2di_mask): New builtins.
+	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
+	* config/i386/sse.md (vpshld_<mode><mask_name>): New pattern.
+
+2017-11-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80776
+	* gimple-ssa-evrp-analyze.h (evrp_range_analyzer::set_ssa_range_info):
+	Declare.
+	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::set_ssa_range_info):
+	New function.
+	(evrp_range_analyzer::record_ranges_from_incoming_edges):
+	If the incoming edge is an effective fallthru because the other
+	edge only reaches a __builtin_unreachable () then record ranges
+	derived from the controlling condition in SSA info.
+	(evrp_range_analyzer::record_ranges_from_phis): Use set_ssa_range_info.
+	(evrp_range_analyzer::record_ranges_from_stmt): Likewise.
+
+2017-11-28  Olivier Hainque  <hainque@adacore.com>
+
+	* Makefile.in (SELFTEST_FLAGS): Use nul instead of /dev/null
+	on mingw build hosts.
+
+2017-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/81307
+	* dbxout.c (dbx_block_with_cold_children): Fix function comment.
+
+2017-11-28  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/83141
+	* gimple-fold.c (gimple_fold_builtin_memory_op): For aggregate
+	copies generated from memcpy use a character array as reference
+	type.
+
+2017-11-28  Julia Koval  <julia.koval@intel.com>
+	    Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* Makefile.in (cilkplus.def, cilk-builtins.def, c-family/cilk.o,
+	c-family/c-cilkplus.o, c-family/array-notation-common.o,
+	cilk-common.o, cilk.h, cilk-common.c): Remove.
+	* builtin-types.def
+	(BT_FN_INT_PTR_PTR_PTR_FTYPE_BT_INT_BT_PTR_BT_PTR_BT_PTR): Remove.
+	* builtins.c (is_builtin_name): Remove cilkplus condition.
+	(BUILT_IN_CILK_DETACH, BUILT_IN_CILK_POP_FRAME): Remove.
+	* builtins.def (DEF_CILK_BUILTIN_STUB, DEF_CILKPLUS_BUILTIN,
+	cilk-builtins.def, cilkplus.def): Remove.
+	* cif-code.def (CILK_SPAWN): Remove.
+	* cilk-builtins.def: Delete.
+	* cilk-common.c: Ditto.
+	* cilk.h: Ditto.
+	* cilkplus.def: Ditto.
+	* config/darwin.h (fcilkplus): Delete.
+	* cppbuiltin.c: Ditto.
+	* doc/extend.texi: Remove cilkplus doc.
+	* doc/generic.texi: Ditto.
+	* doc/invoke.texi: Ditto.
+	* doc/passes.texi: Ditto.
+	* gcc.c (fcilkplus): Remove.
+	* gengtype.c (cilk.h): Remove.
+	* gimple-pretty-print.c (dump_gimple_omp_for): Remove cilkplus
+	support.
+	* gimple.h (GF_OMP_FOR_KIND_CILKFOR, GF_OMP_FOR_KIND_CILKSIMD):
+	Remove.
+	* gimplify.c (gimplify_return_expr, maybe_fold_stmt,
+	gimplify_call_expr,
+	is_gimple_stmt, gimplify_modify_expr, gimplify_scan_omp_clauses,
+	gimplify_adjust_omp_clauses, gimplify_omp_for, gimplify_expr): Remove
+	cilkplus conditions.
+	* ipa-fnsummary.c (ipa_dump_fn_summary, compute_fn_summary,
+	inline_read_section): Ditto.
+	* ipa-inline-analysis.c (cilk.h): Remove.
+	* ira.c (ira_setup_eliminable_regset): Remove cilkplus support.
+	* lto-wrapper.c (merge_and_complain, append_compiler_options,
+	append_linker_options): Remove condition for fcilkplus.
+	* lto/lto-lang.c (cilk.h): Remove.
+	(lto_init): Remove condition for fcilkplus.
+	* omp-expand.c (expand_cilk_for_call): Delete.
+	(expand_omp_taskreg, expand_omp_for_static_chunk,
+	expand_omp_for): Remove cilkplus
+	conditions.
+	(expand_cilk_for): Delete.
+	* omp-general.c (omp_extract_for_data): Remove cilkplus support.
+	* omp-low.c (scan_sharing_clauses, create_omp_child_function,
+	execute_lower_omp, diagnose_sb_0): Ditto.
+	* omp-simd-clone.c (simd_clone_clauses_extract): Ditto.
+	* tree-core.h (OMP_CLAUSE__CILK_FOR_COUNT_): Delete.
+	* tree-nested.c: Ditto.
+	* tree-pretty-print.c (dump_omp_clause): Remove cilkplus support.
+	(dump_generic_node): Ditto.
+	* tree.c (OMP_CLAUSE__CILK_FOR_COUNT_): Delete.
+	* tree.def (cilk_simd, cilk_for, cilk_spawn_stmt, cilk_sync_stmt):
+	Delete.
+	* tree.h (CILK_SPAWN_FN, EXPR_CILK_SPAWN): Delete.
+
+2017-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* config/aarch64/aarch64.md (div<mode>3): Change check to TARGET_FLOAT.
+	* config/aarch64/aarch64.c (aarch64_emit_approx_div): Add early exit
+	for vector mode and !TARGET_SIMD.
+
+2017-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree.def (SWITCH_EXPR): Change from 3 operand to 2 operand tree.
+	Adjust comment.
+	* tree.h (SWITCH_LABELS): Remove.
+	* gimplify.c (gimplify_switch_expr): Don't test SWITCH_LABELS,
+	assert SWITCH_BODY is non-NULL.
+	* tree-pretty-print.c (dump_generic_node): Remove SWITCH_LABELS
+	handling.
+	* tree.c (block_may_fallthru): Always return true; for SWITCH_EXPR.
+
+	PR tree-optimization/80788
+	* match.pd (X +- C1 CMP C2 -> X CMP C2 -+ C1): If res
+	has TREE_OVERFLOW set, call drop_tree_overflow.
+
+2017-11-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83158
+	* tree-vrp.c (intersect_ranges): Prefer ~[0, 0] in a few more cases.
+
+2017-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR 81288/target
+	* config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle
+	TARGET_ISEL && !TARGET_MFCRF differently.  Simplify code.
+
+2017-11-27  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (<code><GPR:mode><GPR2:mode>2_isel): Change
+	LT/GT/LTU/GTU to LE/GE/LEU/GEU where possible.
+
+2017-11-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR middle_end/82333
+	* varasm.c (compare_constant): Take the mode of the constants into
+	account when comparing floating point constants.
+
+2017-11-27  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* hash-set.h (DEFINE_DEBUG_HASH_SET): Remove static qualifier
+	from explicit instantiation of debug_helper.
+	* vec.h (DEFINE_DEBUG_VEC): Ditto.
+
+2017-11-27  Richard Biener  <rguenther@suse.de>
+
+	* gimple-fold.c (gimple_fold_builtin_memory_op): Remove dead code,
+	refactor a bit.
+
+2017-11-27  Richard Biener  <rguenther@suse.de>
+
+	* tree.c (wide_int_to_tree): Free discarded INTEGER_CST.
+	(type_hash_canon): Also clear int_cst_hash_table entry for
+	TYPE_MIN/MAX_VALUE.
+	(build_nonstandard_integer_type): Hash all TYPE_MAX_VALUEs.
+
+2017-11-27  Tamar Christina  <tamar.christina@arm.com>
+
+	* doc/extend.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
+	* doc/invoke.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
+	* doc/sourcebuild.texi: Add -A suffix (ARMv8*-A, ARMv7-A).
+
+2017-11-27  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* hash-map.h (gt_cleare_cache): Avoid UB.
+
+2017-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* cfgloop.h (struct loop): Document usage of USHRT_MAX for unroll.
+	* loop-unroll.c (decide_unroll_constant_iterations): Implement it.
+	(decide_unroll_runtime_iterations): Likewise.
+	(decide_unroll_stupid): Likewise.
+
+2017-11-27  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	PR target/83109
+	* config/i386/i386.md: Add a loop with incssp.
+
+2017-11-27  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/81248
+	* tree-sra.c (splice_param_accesses): Remove size check.
+	(decide_one_param_reduction): Fix size check.
+	* gimple-pretty-print.c (dump_profile): Silence warning.
+	* params.def (PARAM_IPA_SRA_PTR_GROWTH_FACTOR): Adjust description.
+
+2017-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/81307
+	* dbxout.c (lastlineno): New variable.
+	(dbx_debug_hooks): Use dbxout_switch_text_section as
+	switch_text_section debug hook.
+	(dbxout_function_end): Switch to current_function_section
+	rather than function_section.  If crtl->has_bb_partition,
+	output just one N_FUN, depending on in_cold_section_p.
+	(dbxout_source_line): Remember last lineno in lastlineno.
+	(dbxout_switch_text_section): New function.
+	(dbxout_function_decl): Adjust dbxout_block caller.
+	(dbx_block_with_cold_children): New function.
+	(dbxout_block): Return true if any LBRAC/RBRAC have been
+	emitted.  Use dbx_block_with_cold_children at depth == 0
+	in second partition.  Add PARENT_BLOCKNUM argument, pass
+	it optionally adjusted to children.  Output LBRAC/RBRAC
+	around recursive call only if the block is in the current
+	partition, if not and anything was output, emit empty
+	range LBRAC/RBRAC.
+	* final.c (final_scan_insn): Compute cold_function_name
+	before calling switch_text_section debug hook.  Call
+	that hook even if dwarf2out_do_frame if not emitting
+	dwarf debug info.
+
+	PR target/83100
+	* varasm.c (bss_initializer_p): Return true for DECL_COMMON
+	TREE_READONLY decls.
+
+2017-11-27  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR rtl-optimization/82488
+	* expr.c (fixup_args_size_notes): Avoid signed integer overflow.
+
+2017-11-26  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/i386.c (processor_target_table): Add skylake_cost for
+	skylake-avx512.
+	* config/i386/x86-tune-costs.h (skylake_memcpy, skylake_memset,
+	skylake_cost): New.
+
+2017-11-26  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/driver-i386.c (host_detect_local_cpu):
+	Detect skylake-avx512.
+
+2017-11-26  Julia Koval  <julia.koval@intel.com>
+
+	* config.gcc: Add -march=cannonlake.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Detect cannonlake.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Handle cannonlake.
+	* config/i386/i386.c (processor_costs): Add m_CANNONLAKE.
+	(PTA_CANNONLAKE): New.
+	(processor_target_table): Add cannonlake.
+	(ix86_option_override_internal): Ditto.
+	(fold_builtin_cpu): Ditto.
+	(get_builtin_code_for_version): Handle cannonlake.
+	(M_INTEL_COREI7_CANNONLAKE): New.
+	* config/i386/i386.h (TARGET_CANNONLAKE, PROCESSOR_CANNONLAKE): New.
+	* doc/invoke.texi: Add -march=cannonlake.
+
+2017-11-14  Boris Kolpackov  <boris@codesynthesis.com>
+
+	* plugin.c (add_new_plugin): Use platform-specific library extensions.
+	(try_init_one_plugin): Alternative implementation for MinGW.
+	* Makefile.in (plugin_implib): New.
+	(gengtype-lex.c): Fix broken AIX workaround.
+	* configure: Regenerate.
+	* doc/plugins.texi: Document support for MinGW.
+
+2017-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/81553
+	* combine.c (simplify_if_then_else): In (if_then_else COND (OP Z C1) Z)
+	to (OP Z (mult COND (C1 * STORE_FLAG_VALUE))) optimization, if OP
+	is a shift where C1 has different mode than the whole shift, use C1's
+	mode for MULT rather than the shift's mode.
+
+	PR target/82848
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Don't fold
+	builtins not enabled in the currently selected ISA.
+
+2017-11-24  Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	PR tree-optimization/71026
+	* tree-ssa-math-opts (is_division_by_square, is_square_of): New.
+	(insert_reciprocals): Change to insert reciprocals before a division
+	by a square and to insert the square of a reciprocal.
+	(execute_cse_reciprocals_1): Change to consider division by a square.
+	(register_division_in): Add importance parameter.
+
+2017-11-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82402
+	* tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly
+	set SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+
+2017-11-24  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (0-ptr): New transformation.
+
+2017-11-24  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR bootstrap/83015
+	* ipa-inline.c (inline_small_functions): Set current badnes correctly
+	when skipping checking.
+
+2017-11-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83128
+	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle STRING_CSTs.
+	(vn_reference_lookup_3): Likewise.
+
+2017-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/83014
+	* ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer
+	instead of pp_printf with HOST_WIDE_INT_PRINT_DEC.  Avoid calling
+	tree_to_uhwi twice.
+
+	* tree-object-size.c (pass_through_call): Use gimple_call_return_flags
+	ERF_RETURN*ARG* for builtins other than BUILT_IN_ASSUME_ALIGNED,
+	check for the latter with gimple_call_builtin_p.  Do not handle
+	BUILT_IN_STPNCPY_CHK which is not a pass through call.
+
+2017-11-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* config/arm/arm_neon.h: Fix pragma GCC push_options before
+	vdot_u32.
+
+2017-11-23  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512vbmi2intrin.h (_mm512_mask_expand_epi8,
+	_mm512_maskz_expand_epi8, _mm512_mask_expandloadu_epi8,
+	_mm512_maskz_expandloadu_epi8, _mm512_mask_expand_epi16,
+	_mm512_maskz_expand_epi16, _mm512_mask_expandloadu_epi16,
+	_mm512_maskz_expandloadu_epi16): New intrinsics.
+	* config/i386/avx512vbmi2vlintrin.h (_mm_mask_expand_epi8,
+	_mm_maskz_expand_epi8, _mm_mask_expandloadu_epi8,
+	_mm_maskz_expandloadu_epi8, _mm_mask_expand_epi16,
+	_mm_maskz_expand_epi16, _mm_mask_expandloadu_epi16,
+	_mm_maskz_expandloadu_epi16, _mm256_mask_expand_epi16,
+	_mm256_maskz_expand_epi16, _mm256_mask_expandloadu_epi16,
+	_mm256_maskz_expandloadu_epi16, _mm256_mask_expand_epi8,
+	_mm256_maskz_expand_epi8, _mm256_mask_expandloadu_epi8,
+	_mm256_maskz_expandloadu_epi8): New intrinsics.
+	* config/i386/i386-builtin-types.def (V64QI_FTYPE_PCV64QI_V64QI_UDI,
+	V32HI_FTYPE_PCV32HI_V32HI_USI, V32QI_FTYPE_PCV32QI_V32QI_USI,
+	V16HI_FTYPE_PCV16HI_V16HI_UHI, V16QI_FTYPE_PCV16QI_V16QI_UHI,
+	V8HI_FTYPE_PCV8HI_V8HI_UQI): New types.
+	* config/i386/i386.c (ix86_expand_special_args_builtin): Use new types.
+	* config/i386/sse.md (VI248_VLBW): New iterator.
+	(expand<mode>_mask, expand<mode>_maskz): New patterns.
+
+2017-11-23  Julia Koval  <julia.koval@intel.com>
+
+	* config.gcc (avx512vbmi2intrin.h, avx512vbmi2vlintrin): New headers.
+	* config/i386/avx512vbmi2intrin.h (_mm512_mask_compress_epi8,
+	_mm512_maskz_compress_epi8, _mm512_mask_compressstoreu_epi8,
+	_mm512_mask_compress_epi16, _mm512_maskz_compress_epi16,
+	_mm512_mask_compressstoreu_epi16): New.
+	* config/i386/avx512vbmi2vlintrin.h (_mm_mask_compress_epi8,
+	_mm_maskz_compress_epi8, _mm256_mask_compressstoreu_epi16,
+	_mm_mask_compress_epi16, _mm_maskz_compress_epi16,
+	_mm256_mask_compress_epi16, _mm256_maskz_compress_epi16,
+	_mm_mask_compressstoreu_epi8, _mm_mask_compressstoreu_epi16,
+	_mm256_mask_compress_epi8, _mm256_maskz_compress_epi8,
+	_mm256_mask_compressstoreu_epi8): New.
+	* config/i386/i386-builtin-types.def (VOID_FTYPE_PV64QI_V64QI_UDI,
+	VOID_FTYPE_PV32HI_V32HI_USI, VOID_FTYPE_PV32QI_V32QI_USI,
+	VOID_FTYPE_PV16QI_V16QI_UHI, VOID_FTYPE_PV16HI_V16HI_UHI,
+	VOID_FTYPE_PV8HI_V8HI_UQI): New types.
+	* config/i386/i386-builtin.def (__builtin_ia32_compressqi512_mask,
+	__builtin_ia32_compresshi512_mask, __builtin_ia32_compressqi256_mask,
+	__builtin_ia32_compressqi128_mask, __builtin_ia32_compresshi256_mask,
+	__builtin_ia32_compresshi128_mask,
+	__builtin_ia32_compressstoreuqi512_mask,
+	__builtin_ia32_compressstoreuhi512_mask,
+	__builtin_ia32_compressstoreuqi256_mask,
+	__builtin_ia32_compressstoreuqi128_mask,
+	__builtin_ia32_compressstoreuhi256_mask,
+	__builtin_ia32_compressstoreuhi128_mask): New builtins.
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Create special args
+	array for flags2.
+	(ix86_expand_special_args_builtin): Handle new types.
+	(s4fma_expand): Handle new builtin array.
+	* config/i386/immintrin.h: Include new headers.
+	* config/i386/sse.md (VI12_AVX512VLBW): New iterator.
+	(compress<mode>_mask, compressstore<mode>_mask): New patterns.
+
+2017-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Formatting
+	fixes.  Declare temp and g variables at the top in order to avoid
+	{} in most of the cases.
+
+2017-11-23  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (ptr-0): New transformation.
+
+2017-11-23  Charles Baylis  <charles.baylis@linaro.org>
+
+	* config/arm/arm-protos.h (enum arm_addr_mode_op): New.
+	(struct addr_mode_cost_table): New.
+	(struct tune_params): Add field addr_mode_costs.
+	* config/arm/arm.c (generic_addr_mode_costs): New.
+	(arm_slowmul_tune): Initialise addr_mode_costs field.
+	(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_cortex_tune): Likewise.
+	(arm_cortex_a8_tune): Likewise.
+	(arm_cortex_a7_tune): Likewise.
+	(arm_cortex_a15_tune): Likewise.
+	(arm_cortex_a35_tune): Likewise.
+	(arm_cortex_a53_tune): Likewise.
+	(arm_cortex_a57_tune): Likewise.
+	(arm_exynosm1_tune): Likewise.
+	(arm_xgene1_tune): Likewise.
+	(arm_cortex_a5_tune): Likewise.
+	(arm_cortex_a9_tune): Likewise.
+	(arm_cortex_a12_tune): Likewise.
+	(arm_cortex_a73_tune): Likewise.
+	(arm_v7m_tune): Likewise.
+	(arm_cortex_m7_tune): Likewise.
+	(arm_v6m_tune): Likewise.
+	(arm_fa726te_tune): Likewise.
+	(arm_mem_costs): Use table lookup to calculate cost of addressing mode.
+
+2017-11-23  Charles Baylis  <charles.baylis@linaro.org>
+
+	* config/arm/arm.c (arm_mem_costs): New function.
+	(arm_rtx_costs_internal): Use arm_mem_costs.
+
+2017-11-23  Mark Wielaard  <mark@klomp.org>
+
+	* dwarf2out.c (init_sections_and_labels): Use generation to create
+	unique ranges_section_label and ranges_base_label. Return generation.
+	(output_rnglists): Add generation argument. Use generation to create
+	unique ranges labels.
+	(dwarf2out_finish): Get generation from init_sections_and_labels
+	and pass generation to output_rnglists.
+
+2017-11-23  Mike Stump  <mikestump@comcast.net>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/generic.texi (ANNOTATE_EXPR): Document 3rd operand.
+	* cfgloop.h (struct loop): Add unroll field.
+	* function.h (struct function): Add has_unroll bitfield.
+	* gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Deal with unroll kind.
+	(gimplify_expr) <ANNOTATE_EXPR>: Propagate 3rd operand.
+	* loop-init.c (pass_loop2::gate): Return true if cfun->has_unroll.
+	(pass_rtl_unroll_loops::gate): Likewise.
+	* loop-unroll.c (decide_unrolling): Tweak note message.  Skip loops
+	for which loop->unroll==1.
+	(decide_unroll_constant_iterations): Use note for consistency and
+	take loop->unroll into account.  Return early if loop->unroll is set.
+	Fix thinko in existing test.
+	(decide_unroll_runtime_iterations): Use note for consistency and
+	take loop->unroll into account.
+	(decide_unroll_stupid): Likewise.
+	* lto-streamer-in.c (input_cfg): Read loop->unroll.
+	* lto-streamer-out.c (output_cfg): Write loop->unroll.
+	* tree-cfg.c (replace_loop_annotate_in_block) <annot_expr_unroll_kind>:
+	New case.
+	(replace_loop_annotate) <annot_expr_unroll_kind>: Likewise.
+	(print_loop): Print loop->unroll if set.
+	* tree-core.h (enum annot_expr_kind): Add annot_expr_unroll_kind.
+	* tree-inline.c (copy_loops): Copy unroll and set cfun->has_unroll.
+	* tree-pretty-print.c (dump_generic_node) <annot_expr_unroll_kind>:
+	New case.
+	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Bail out if
+	loop->unroll is set and smaller than the trip count.  Otherwise bypass
+	entirely the heuristics if loop->unroll is set.  Remove dead note.
+	Fix off-by-one bug in other note.
+	(try_peel_loop): Bail out if loop->unroll is set.  Fix formatting.
+	(tree_unroll_loops_completely_1): Force unrolling if loop->unroll
+	is greater than 1.
+	(tree_unroll_loops_completely): Make static.
+	(pass_complete_unroll::execute): Use correct type for variable.
+	(pass_complete_unrolli::execute): Fix formatting.
+	* tree.def (ANNOTATE_EXPR): Add 3rd operand.
+
+2017-11-23  Sergey Shalnov  <Sergey.Shalnov@intel.com>
+
+	* config/i386/i386.h (TARGET_PREFER_AVX256): Also
+	enable when TARGET_PREFER_AVX128 is set.
+
+2017-11-23  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-profile.c (ipa_propagate_frequency_1): Use count instead of
+	frequency.
+	* cgraph.c (cgraph_edge::dump_edge_flags): Dump sreal frequencies.
+	(cgraph_edge::maybe_hot_p): Use sreal frequencies.
+
+2017-11-23  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-fnsummary.c (record_modified_bb_info): Use sreal
+	frequencies. Fix estimation of aggregate parameters.
+
+2017-11-23  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraphclones.c (cgraph_node::create_clone): Fix updating of profile
+	when inlining.
+
+2017-11-23  Tom de Vries  <tom@codesourcery.com>
+
+	* config/sh/sh.h (ASM_OUTPUT_ADDR_VEC_ELT): Wrap in "do {} while (0)".
+
+2017-11-23  Tom de Vries  <tom@codesourcery.com>
+
+	* config/ft32/ft32.h (ASM_OUTPUT_ADDR_VEC_ELT): Remove semicolon after
+	macro.
+
+2017-11-23  Oleg Endo  <olegendo@gcc.gnu.org>
+
+	PR target/83111
+	* config/sh/sh.md (udivsi3, divsi3, sibcall_value_pcrel,
+	sibcall_value_pcrel_fdpic): Use local variable instead of
+	operands[3].
+	(calli_tbr_rel): Add missing operand 2.
+	(call_valuei_tbr_rel): Add missing operand 3.
+
+2017-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/82253
+	* expr.c (expand_assignment): For CONCAT to_rtx, complex type from and
+	bitpos/bitsize covering the whole destination, use store_expr only if
+	the complex mode is the same.  Otherwise, use expand_normal and if
+	it returns CONCAT, subreg each part separately instead of trying to
+	subreg the whole result.
+
+2017-11-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/23094
+	* tree-ssa-sccvn.c (vuse_ssa_val): Handle VN_TOP when we
+	come here from walking over backedges in the first iteration.
+	(vn_reference_lookup_3): Skip clobbers that store the same value.
+
+2017-11-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81403
+	* tree-ssa-pre.c (get_representative_for): Add parameter specifying
+	a block we need a leader relative to.
+	(phi_translate_1): For nary processing require a leader from
+	get_representative_for given we run expression simplification
+	using match-and-simplify.  Remove previous fix.
+
+2017-11-22  Jeff Law  <law@redhat.com>
+
+	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::try_find_new_range):
+	Use new method allocate_value_range rather than accessing the
+	vrp_value_range_pool data member directly.
+	* tree-vrp.c (simplify_stmt_for_jump_threading): Tweak slightly
+	to use extract_range_from_stmt method to avoid need for
+	extract_range_from_assignment method.
+	(vrp_prop::vrp_finalize): Use set_lattice_propagation_complete
+	method rather than setting values_propgated data member directly.
+	* vr-values.h (class vr_values): Privatize vrp_value_range_pool,
+	and values propagated data members and extract_range_from_assignment
+	method.  Reorder private data members to conform to standards.
+	Add new methods set_lattice_propagation_complete and
+	allocate_value_range.
+
+2017-11-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/83030
+	* doc/rtl.texi (Flags in an RTL Expression): Alphabetize, add entry
+	for CROSSING_JUMP_P and mention usage of 'jump' for JUMP_INSNs.
+	(Insns): Delete entry for REG_CROSSING_JUMP in register notes.
+	* bb-reorder.c (update_crossing_jump_flags): Do not test whether the
+	CROSSING_JUMP_P flag is already set before setting it.
+	* cfgrtl.c (fixup_partition_crossing): Likewise.
+	* reorg.c (relax_delay_slots): Do not consider a CROSSING_JUMP_P
+	insn as useless.
+
+2017-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SERIES>:
+	Handle the case where both arguments are using gen_const_vec_series.
+
+2017-11-22  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c++/62170
+	* pretty-print.c (pp_format): Move quoting implementation to
+	pp_begin_quote and pp_end_quote.  Update pp_format_decoder call
+	to pass address of "quote" local.
+	(pp_begin_quote): New function.
+	(pp_end_quote): New function.
+	* pretty-print.h (printer_fn): Convert penultimate param from bool
+	to bool *.
+	(pp_begin_quote): New decl.
+	(pp_end_quote): New decl.
+	* tree-diagnostic.c (default_tree_printer): Convert penultimate
+	param from bool to bool *.
+	* tree-diagnostic.h (default_tree_printer): Likewise.
+
+2017-11-22  Jeff Law  <law@redhat.com>
+
+	* gimple-ssa-evrp-analyze.c (evrp_range_analyzer::evrp_range_analyzer)
+	Initialize vr_values.
+	(evrp_range_analyzer::try_find_new_range): Call methods attached to
+	vr_values via vr_values class instance rather than delegators.
+	(evrp_range_analyzer::record_ranges_from_phis): Likewise.
+	(evrp_range_analyzer::record_ranges_from_stmt): Likewise.
+	(evrp_range_analyzer::push_value_range): Likewise.
+	(evrp_range_analyzer::pop_value_range): Likewise.
+	* gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Remove
+	most delegators.  Those remaining are exposed as public interfaces.
+	Make vr_values a pointer and private.
+	(evrp_range_analyzer::~evrp_range_analyzer): Delete the attached
+	vr_values.
+	(evrp_range_analyzer::get_vr_value): New method.
+	* gimple-ssa-evrp.c (class evrp_folder): Use DISABLE_COPY_AND_ASSIGN.
+	(evrp_folder::evrp_folder): New ctor to initialize vr_values.
+	(class evrp_dom_walker): Attach evrp_folder class, initialize
+	it in the ctor.  Remove temporary delegators.
+	(evrp_dom_walker::before_dom_children): Call methods in attached
+	evrp_range_analyzer class via class instance pointer.  Use
+	free value_range_constant_singleton to remove need for
+	op_with_constant_singleton_value delegator method.  Do not
+	create a vrp_prop class instance for every call!  Narrow
+	scope of a couple variables.
+	(evrp_dom_walker::cleanup): Call methods in attached
+	evrp_range_analyzer class via class instance pointer.
+	* vr-values.h (class vr_values): Privatize many methods and
+	data members.
+
+2017-11-22  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): Delete.
+	* cfgexpand.c (expand_debug_expr): Remove handling for them.
+	* expr.c (expand_expr_real_2): Likewise.
+	* fold-const.c (const_unop): Likewise.
+	* optabs-tree.c (optab_for_tree_code): Likewise.
+	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
+	* tree-inline.c (estimate_operator_cost): Likewise.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+	(op_code_prio): Likewise.
+	(op_symbol_code): Likewise.
+	* internal-fn.def (DEF_INTERNAL_SIGNED_OPTAB_FN): Define.
+	(IFN_REDUC_PLUS, IFN_REDUC_MAX, IFN_REDUC_MIN): New internal functions.
+	* internal-fn.c (direct_internal_fn_optab): New function.
+	(direct_internal_fn_array, direct_internal_fn_supported_p
+	(internal_fn_expanders): Handle DEF_INTERNAL_SIGNED_OPTAB_FN.
+	* fold-const-call.c (fold_const_reduction): New function.
+	(fold_const_call): Handle CFN_REDUC_PLUS, CFN_REDUC_MAX and
+	CFN_REDUC_MIN.
+	* tree-vect-loop.c: Include internal-fn.h.
+	(reduction_code_for_scalar_code): Rename to...
+	(reduction_fn_for_scalar_code): ...this and return an internal
+	function.
+	(vect_model_reduction_cost): Take an internal_fn rather than
+	a tree_code.
+	(vect_create_epilog_for_reduction): Likewise.  Build calls rather
+	than assignments.
+	(vectorizable_reduction): Use internal functions rather than tree
+	codes for the reduction operation.  Update calls to the functions
+	above.
+	* config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin):
+	Use calls to internal functions rather than REDUC tree codes.
+	* config/aarch64/aarch64-simd.md: Update comment accordingly.
+
+2017-11-22  Olivier Hainque  <hainque@adacore.com>
+
+	* config/vxworks.c (vxworks_override_options): Pick default
+	dwarf version from macro value, VXWORKS_DWARF_VERSION_DEFAULT.
+	* config/vxworks.h: Define VXWORKS_DWARF_VERSION_DEFAULT and
+	DWARF_GNAT_ENCODINGS_DEFAULT.
+	* config/vxworksae.h: Likewise.
+
+2017-11-22  Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/83104
+	* vr-values.c (simplify_stmt_using_ranges): Check integral argument,
+	not result.
+
+2017-11-22  Marek Polacek  <polacek@redhat.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+	    Jason Merrill  <jason@redhat.com>
+
+	PR c++/60336
+	PR middle-end/67239
+	PR target/68355
+	* calls.c (initialize_argument_information): Call
+	warn_parameter_passing_abi target hook.
+	(store_one_arg): Use 0 for empty record size.  Don't push 0 size
+	argument onto stack.
+	(must_pass_in_stack_var_size_or_pad): Return false for empty types.
+	* common.opt: Update -fabi-version description.
+	* config/i386/i386.c (init_cumulative_args): Set cum->warn_empty.
+	(ix86_gimplify_va_arg): Call arg_int_size_in_bytes instead of
+	int_size_in_bytes.
+	(ix86_is_empty_record): New function.
+	(ix86_warn_parameter_passing_abi): New function.
+	(TARGET_EMPTY_RECORD_P): Redefine.
+	(TARGET_WARN_PARAMETER_PASSING_ABI): Redefine.
+	* config/i386/i386.h (CUMULATIVE_ARGS): Add warn_empty.
+	* doc/tm.texi: Regenerated.
+	* doc/tm.texi.in (TARGET_EMPTY_RECORD_P,
+	TARGET_WARN_PARAMETER_PASSING_ABI): Add.
+	* dwarf2out.c (get_ultimate_context): Move to tree.c.
+	* explow.c (hard_function_value): Call arg_int_size_in_bytes
+	instead of int_size_in_bytes.
+	* expr.c (copy_blkmode_to_reg): Likewise.
+	* function.c (aggregate_value_p): Return 0 for empty types.
+	(assign_parm_find_entry_rtl): Call warn_parameter_passing_abi
+	target hook.
+	(locate_and_pad_parm): Call arg size_in_bytes instead
+	size_in_bytes.
+	* lto-streamer-out.c (hash_tree): Hash TYPE_EMPTY_P and DECL_PADDING_P.
+	* stor-layout.c (finalize_type_size): Set TYPE_EMPTY_P.
+	* target.def (empty_record_p, warn_parameter_passing_abi): New target
+	hooks.
+	* targhooks.c (hook_void_CUMULATIVE_ARGS_tree): New hook.
+	(std_gimplify_va_arg_expr): Skip empty records.  Call
+	arg_size_in_bytes instead size_in_bytes.
+	* targhooks.h (hook_void_CUMULATIVE_ARGS_tree): Declare.
+	* tree-core.h (tree_type_common): Add empty_flag.
+	(tree_decl_common): Update comments.
+	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream
+	DECL_PADDING_P.
+	(unpack_ts_type_common_value_fields): Stream TYPE_EMPTY_P.
+	* tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream
+	DECL_PADDING_P.
+	(pack_ts_type_common_value_fields): Stream TYPE_EMPTY_P.
+	* tree.c (default_is_empty_type): New function.
+	(default_is_empty_record): New function.
+	(arg_int_size_in_bytes): New function.
+	(arg_size_in_bytes): New function.
+	(get_ultimate_context): New function.
+	* tree.h: Define TYPE_EMPTY_P, DECL_PADDING_P and
+	TRANSLATION_UNIT_WARN_EMPTY_P.
+	(default_is_empty_record, arg_int_size_in_bytes,
+	arg_size_in_bytes, get_ultimate_context): Declare.
+
+2017-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (cmse_clear_registers): New function.
+	(cmse_nonsecure_call_clear_caller_saved): Replace register clearing
+	code by call to cmse_clear_registers.
+	(cmse_nonsecure_entry_clear_before_return): Likewise.
+
+2017-11-22  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm_neon.h (vdot_u32, vdotq_u32)
+	(vdot_s32, vdotq_s32): New.
+	(vdot_lane_u32, vdotq_lane_u32): New.
+	(vdot_lane_s32, vdotq_lane_s32): New.
+
+
+2017-11-22  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR middle-end/82547
+	* wide-int.cc (wi::add_large, wi::sub_large): Fix overflow detection
+	for unsigned values with fewer HWIs than the precision.
+	(test_overflow): New function.
+	(wide_int_cc_tests): Call it.
+
+2017-11-22  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* emit-rtl.c (init_derived_machine_modes): Make sure ptr_mode
+	has the same mode class as Pmode.
+
+2017-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Get rid of
+	padding_bits_to_clear_ptr.
+	(cmse_nonsecure_entry_clear_before_return): Likewise.
+
+2017-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Use
+	auto_sbitap instead of integer bitfield to control register needing
+	clearing.
+
+2017-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83044
+	* tree-vrp.c (vrp_prop::check_array_ref): If eltsize is not
+	INTEGER_CST or is 0, clear up_bound{,_p1} and later ignore tests
+	that need the upper bound.  Subtract offset from
+	get_addr_base_and_unit_offset only if positive and subtract it
+	before division by eltsize rather than after it.
+
+	PR debug/83084
+	* valtrack.c (propagate_for_debug_subst, propagate_for_debug): Reset
+	debug insns if they would contain UNSPEC_VOLATILE or volatile asm.
+	(dead_debug_insert_temp): Likewise, but also ignore even non-volatile
+	asm.
+
+	PR middle-end/82875
+	* optabs.c (expand_doubleword_mult, expand_binop): Before calling
+	expand_binop with *mul_widen_optab, make sure at least one of the
+	operands doesn't have VOIDmode.
+
+	PR debug/83034
+	* dwarf2out.c (mem_loc_descriptor): Handle VEC_SERIES.
+
+	PR rtl-optimization/82044
+	PR tree-optimization/82042
+	* dse.c (record_store): Check for overflow.
+	(check_mem_read_rtx): Properly check for overflow if width == -1, call
+	add_wild_read instead of clear_rhs_from_active_local_stores on
+	overflow and log it into dump_file.
+
+2017-11-22  Richard Biener  <rguenther@suse.de>
+
+	* gimple-iterator.c (gimple_find_edge_insert_loc): Ignore
+	fake edges to exit when looking for a place to insert.
+	* tree-ssa-pre.c (clear_expression_ids): Inline into callers
+	and remove.
+	(insert_into_preds_of_block): Commit edge insertion immediately,
+	assert that doesn't require new BBs.
+	(fini_pre): Release expressions.
+	(pass_pre::execute): Shuffle things around a bit, if the fn
+	is too large do not compute AVAIL either as this is really the
+	quadratic bit.
+
+2017-11-22  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83089
+	* tree-if-conv.c (pass_if_conversion::execute): If anything
+	changed reset SCEV and free the number of iteration estimates.
+
+2017-11-21  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/82945
+	* calls.h (warn_nonstring_bound): Remove unused function.
+
+2017-11-21  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/82945
+	* builtins.c (expand_builtin_strlen): Call maybe_warn_nonstring_arg.
+	* calls.h (maybe_warn_nonstring_arg): Declare new function.
+	* calls.c (get_attr_nonstring_decl, maybe_warn_nonstring_arg): New
+	functions.
+	(initialize_argument_information): Call maybe_warn_nonstring_arg.
+	* calls.h (get_attr_nonstring_decl): Declare new function.
+	* doc/extend.texi (attribute nonstring): Update.
+	* gimple-fold.c (gimple_fold_builtin_strncpy): Call
+	get_attr_nonstring_decl and handle it.
+	* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Same.  Improve
+	detection of nul-termination.
+	(strlen_to_stridx): Change to a pointer.
+	(handle_builtin_strlen, handle_builtin_stxncpy): Adjust.
+	(pass_strlen::execute): Same.
+
+2017-11-21  Sergey Shalnov  <Sergey.Shalnov@intel.com>
+
+	* config/i386/i386-opts.h (enum prefer_vector_width): Added new enum
+	for the new option -mprefer-vector-width=[none|128|256|512].
+	* config/i386/i386.c (ix86_target_string): remove old style options
+	-mprefer-avx256 and make -mprefer-avx128 as alias.
+	(ix86_option_override_internal):  Apply defaults for the
+	-mprefer-vector-width=[128|256] option.
+	* config/i386/i386.h (TARGET_PREFER_AVX128, TARGET_PREFER_AVX256):
+	Implement macros to work with -mprefer-vector-width=.
+	* config/i386/i386.opt: Implemented option
+	-mprefer-vector-width=[none|128|256|512].
+	* doc/invoke.texi: Documentation for
+	-mprefer-vector-width=[none|128|256|512].
+
+2017-11-21  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/ppc-asm.h (f50, vs50): Fix values.
+
+2017-11-21  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/invoke.texi (-Wmaybe-uninitialized): Rephrase for clarity.
+
+2017-11-21  Marc Glisse  <marc.glisse@inria.fr>
+
+	* doc/generic.texi: Document POINTER_DIFF_EXPR, update
+	POINTER_PLUS_EXPR.
+	* cfgexpand.c (expand_debug_expr): Handle POINTER_DIFF_EXPR.
+	* expr.c (expand_expr_real_2): Likewise.
+	* fold-const.c (const_binop, fold_addr_of_array_ref_difference,
+	fold_binary_loc): Likewise.
+	* match.pd (X-X, P+(Q-P), &D-P, (P+N)-P, P-(P+N), (P+M)-(P+N),
+	P-Q==0, -(A-B), X-Z<Y-Z, (X-Z)-(Y-Z), Z-X<Z-Y, (Z-X)-(Z-Y),
+	(A-B)+(C-A)): New transformations for POINTER_DIFF_EXPR, based on
+	MINUS_EXPR transformations.
+	* optabs-tree.c (optab_for_tree_code): Handle POINTER_DIFF_EXPR.
+	* tree-cfg.c (verify_expr, verify_gimple_assign_binary): Likewise.
+	* tree-inline.c (estimate_operator_cost): Likewise.
+	* tree-pretty-print.c (dump_generic_node, op_code_prio,
+	op_symbol_code): Likewise.
+	* tree-vect-stmts.c (vectorizable_operation): Likewise.
+	* vr-values.c (extract_range_from_binary_expr): Likewise.
+	* varasm.c (initializer_constant_valid_p_1): Likewise.
+	* tree.def: New tree code POINTER_DIFF_EXPR.
+
+2017-11-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*bswap<mode>2_movbe): Add
+	integer suffix to movbe mnemonic.
+	(*bswaphi2_movbe): Ditto.
+	(bswaphi_lowpart): Merge with *bswaphi_lowpart_1.
+
+2017-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/83045
+	* tree-cfg.c (pass_warn_function_return::execute): Formatting fix.
+	Also warn if seen __builtin_unreachable () call with BUILTINS_LOCATION.
+	Use LOCATION_LOCUS when comparing against UNKNOWN_LOCATION.
+
+2017-11-21  Martin Liska  <mliska@suse.cz>
+
+	* tree-inline.c (expand_call_inline): Remove not needed
+	xstrdup_for_dump.
+
+2017-11-21  James Cowgill  <James.Cowgill@imgtec.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82880
+	* config/mips/frame-header-opt.c (mips_register_frame_header_opt):
+	Remove static keyword from f variable.
+
+2017-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83086
+	* gimple-ssa-store-merging.c
+	(imm_store_chain_info::try_coalesce_bswap): Test this_n.base_addr
+	rather than n.base_addr.
+
+2017-11-21  Martin Liska  <mliska@suse.cz>
+
+	PR rtl-optimization/82044
+	PR tree-optimization/82042
+	* dse.c (check_mem_read_rtx): Check for overflow.
+
+2017-11-21  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-ssa-threadbackward.c (find_jump_threads_backwards): Fix
+	typo in comment.
+
+2017-11-21  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* cfgrtl.c (force_nonfallthru_and_redirect): Don't split a call
+	and its corresponding call arg location note.
+
+2017-11-21  Claudiu Zissulescu  <claziss@synopsys.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc-protos.h (arc_compute_frame_size): Delete
+	declaration.
+	(arc_return_slot_offset): Likewise.
+	(arc_eh_return_address_location): New declaration.
+	* config/arc/arc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
+	(MUST_SAVE_REGISTER): Add exception handler case.
+	(MUST_SAVE_RETURN_ADDR): Likewise.
+	(arc_frame_pointer_required): Likewise.
+	(arc_frame_pointer_needed): New function.
+	(arc_compute_frame_size): Changed.
+	(arc_expand_prologue): Likewise.
+	(arc_expand_epilogue): Likewise.
+	(arc_initial_elimination_offset): Likewise.
+	(arc_return_slot_offset): Delete.
+	(arc_eh_return_address_location): New function.
+	(arc_builtin_setjmp_frame_value): Likewise.
+	* config/arc/arc.h (EH_RETURN_DATA_REGNO): Use 2 registers.
+	(EH_RETURN_STACKADJ_RTX): Define.
+	(EH_RETURN_HANDLER_RTX): Likewise.
+	* config/arc/arc.md (eh_return): Delete.
+
+2017-11-21  Aldy Hernandez  <aldyh@redhat.com>
+
+	* print-tree.h (debug_vec_tree): Remove prototype.
+	* gdbinit.in (pvt): Remove macro.
+
+2017-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/83047
+	* gimple-ssa-store-merging.c
+	(imm_store_chain_info::output_merged_store): If the loads with the
+	same vuse are in different basic blocks, for load_gsi pick a load
+	location that is dominated by the other loads.
+
+	PR c++/83059
+	* config/i386/i386.c (ix86_memmodel_check): Start
+	-Winvalid-memory-model diagnostics with lowercase letter.
+
+	PR debug/82718
+	* dwarf2out.c (dw_loc_list): If crtl->has_bb_partition, temporarily
+	set in_cold_section_p to the partition containing loc_list->first.
+	When seeing loc_list->last_before_switch node, update secname and
+	perform range_across_switch second partition handling only after that.
+
+	PR debug/82933
+	* run-rtl-passes.c: Include debug.h.
+	(run_rtl_passes): Call debug_hooks->assembly_start.
+	* dwarf2out.c (dwarf2out_assembly_start): Return early if invoked
+	multiple times.
+
+	PR target/82981
+	* internal-fn.c (expand_mul_overflow): Use OPTAB_WIDEN instead of
+	OPTAB_DIRECT in calls to expand_simple_binop.
+
+2017-11-20  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/81404
+	* Makefile.in (C_COMMON_OBJS): Add c-family/known-headers.o.
+
+2017-11-20  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c++/72786
+	* spellcheck.h (best_match::blithely_get_best_candidate): New
+	accessor.
+
+2017-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (parse_mtune_ctrl_str): Start diagnostics
+	with lower case letter.
+
+2017-11-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (bswaphi2): New expander.
+	(*bswaphi2_movbe): New insn pattern.
+	(bswaphi -> rorhi pepehole2): New peephole pattern.
+
+2017-11-20  Jeff Law  <law@redhat.com>
+
+	* Makefile.in (OBJS): Add gimple-ssa-evrp-analyze.o.
+	* gimple-ssa-evrp-analyze.c: New file pulled from gimple-ssa-evrp.c.
+	* gimple-ssa-evrp-analyze.h: New file pulled from gimple-ssa-evrp.c.
+	* gimple-ssa-evrp.c: Remove bits moved into new files.  Include
+	gimple-ssa-evrp-analyze.h.
+
+	* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Do not
+	set BB_VISITED here.
+	(evrp_range_analyzer::enter): Set BB_VISITED here instead.
+
+2017-11-20  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c: Add general comment on Store-Store chains.
+	(split_data_refs_to_components): Postpone clearing eliminate_store_p
+	flag in component.
+	(get_chain_last_ref_at): Rename into...
+	(get_chain_last_write_at): ...this.
+	(get_chain_last_write_before_load): New function.
+	(add_ref_to_chain): Promote type of chain from CT_STORE_LOAD to
+	CT_STORE_STORE when write reference is added.
+	(determine_roots_comp): Support load ref in CT_STORE_STORE chains.
+	(is_inv_store_elimination_chain): Update get_chain_last_write_at call.
+	(initialize_root_vars_store_elim_1): Ditto.
+	(initialize_root_vars_store_elim_2): Ditto.  Replace rhs once default
+	definition is created.
+	(execute_pred_commoning_chain): Support load ref in CT_STORE_STORE
+	chain by replacing it with dominant stored value.
+
+2017-11-20  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c (add_ref_to_chain): Remove check on distance.
+
+2017-11-20  Marc Glisse  <marc.glisse@inria.fr>
+
+	* vr-values.c (extract_range_from_binary_expr): Use a full range
+	for VR_VARYING.
+
+2017-11-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.md (R4_REGNUM): Define constant.
+	(nonsecure_call_internal): Remove r4 clobber.
+	(nonsecure_call_value_internal): Likewise.
+	* config/arm/thumb1.md (nonsecure_call_reg_thumb1_v5): Remove second
+	clobber and resequence match_operands.
+	(nonsecure_call_value_reg_thumb1_v5): Likewise.
+	* config/arm/thumb2.md (nonsecure_call_reg_thumb2): Likewise.
+	(nonsecure_call_value_reg_thumb2): Likewise.
+
+2017-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78821
+	* gimple-ssa-store-merging.c (find_bswap_or_nop_load): Give up
+	if base is TARGET_MEM_REF.  If base is not MEM_REF, set base_addr
+	to the address of the base rather than the base itself.
+	(find_bswap_or_nop_1): Just use pointer comparison for vuse check.
+	(find_bswap_or_nop_finalize): New function.
+	(find_bswap_or_nop): Use it.
+	(bswap_replace): Return a tree rather than bool, change first
+	argument from gimple * to gimple_stmt_iterator, allow inserting
+	into an empty sequence, allow ins_stmt to be NULL - then emit
+	all stmts into gsi.  Fix up MEM_REF address gimplification.
+	(pass_optimize_bswap::execute): Adjust bswap_replace caller.
+	(struct store_immediate_info): Add N and INS_STMT non-static
+	data members.
+	(store_immediate_info::store_immediate_info): Initialize them
+	from newly added ctor args.
+	(merged_store_group::apply_stores): Formatting fixes.  Sort by
+	bitpos at the end.
+	(stmts_may_clobber_ref_p): For stores call also
+	refs_anti_dependent_p.
+	(gather_bswap_load_refs): New function.
+	(imm_store_chain_info::try_coalesce_bswap): New method.
+	(imm_store_chain_info::coalesce_immediate_stores): Use it.
+	(split_group): Handle LROTATE_EXPR and NOP_EXPR rhs_code specially.
+	(imm_store_chain_info::output_merged_store): Fail if number of
+	new estimated stmts is bigger or equal than old.  Handle LROTATE_EXPR
+	and NOP_EXPR rhs_code.
+	(pass_store_merging::process_store): Compute n and ins_stmt, if
+	ins_stmt is non-NULL and the store rhs is otherwise invalid, use
+	LROTATE_EXPR rhs_code.  Pass n and ins_stmt to store_immediate_info
+	ctor.
+	(pass_store_merging::execute): Calculate dominators.
+
+	* tree-ssa-math-opts.c (nop_stats, bswap_stats, struct symbolic_number,
+	BITS_PER_MARKER, MARKER_MASK, MARKER_BYTE_UNKNOWN, HEAD_MARKER, CMPNOP,
+	CMPXCHG, do_shift_rotate, verify_symbolic_number_p,
+	init_symbolic_number, find_bswap_or_nop_load, perform_symbolic_merge,
+	find_bswap_or_nop_1, find_bswap_or_nop, pass_data_optimize_bswap,
+	class pass_optimize_bswap, bswap_replace,
+	pass_optimize_bswap::execute): Moved to ...
+	* gimple-ssa-store-merging.c: ... this file.
+	Include optabs-tree.h.
+	(nop_stats, bswap_stats, do_shift_rotate, verify_symbolic_number_p,
+	init_symbolic_number, find_bswap_or_nop_load, perform_symbolic_merge,
+	find_bswap_or_nop_1, find_bswap_or_nop, bswap_replace): Put into
+	anonymous namespace, remove static keywords.
+	(pass_optimize_bswap::gate): Test BITS_PER_UNIT == 8 here...
+	(pass_optimize_bswap::execute): ... rather than here.  Formatting fix.
+
+2017-11-20  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR bootstrap/83062
+	* ipa-inline.c (can_inline_edge_p): Fix typo in previous patch.
+
+2017-11-20  Aldy Hernandez  <aldyh@redhat.com>
+
+	* vec.h (debug_helper): New function.
+	(DEFINE_DEBUG_VEC): New macro.
+	* hash-set.h (debug_helper): New function.
+	(DEFINE_DEBUG_HASH_SET): New macro.
+	* cfg.c (debug_slim (edge)): New function.
+	Call DEFINE_DEBUG_VEC for edges.
+	Call DEFINE_DEBUG_HASH_SET for edges.
+	* cfghooks.c (debug_slim (basic_block)): New function.
+	Call DEFINE_DEBUG_VEC for basic blocks.
+	Call DEFINE_DEBUG_HASH_SET for basic blocks.
+	* print-tree.c (debug_slim): New function to handle trees.
+	Call DEFINE_DEBUG_VEC for trees.
+	Call DEFINE_DEBUG_HASH_SET for trees.
+	(debug (vec<tree, va_gc>) &): Remove.
+	(debug (<vec<tree, va_gc>) *): Remove.
+	* print-rtl.c (debug_slim): New function to handle const_rtx.
+	Call DEFINE_DEBUG_VEC for rtx_def.
+	Call DEFINE_DEBUG_VEC for rtx_insn.
+	Call DEFINE_DEBUG_HASH_SET for rtx_def.
+	Call DEFINE_DEBUG_HASH_SET for rtx_insn.
+	* sel-sched-dump.c (debug (vec<rtx_insn *> &): Remove.
+	(debug (vec<rtx_insn *> *ptr): Remove.
+	(debug_insn_vector): Remove.
+	* stor-layout.c (debug_rli): Call debug() instead of debug_vec_tree.
+
+2017-11-20  Tom de Vries  <tom@codesourcery.com>
+
+	PR rtl-optimization/82020
+	* simplify-rtx.c (simplify_ternary_operation): Fix comparison mode of
+	IF_THEN_ELSE condition.
+
+2017-11-19  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dom.c (record_equivalences_from_phis): Fix handling
+	of degenerates resulting from ignoring an edge.
+
+2017-11-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/81360
+	* ipa-inline.c (can_inline_edge_p): Also check that caller is optimized
+
+2017-11-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/83001
+	* profile-count.c (profile_count::to_sreal_scale): Fix return value
+	for uninitialied counts.
+
+2017-11-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/60243
+	* tree-inline.c (estimate_num_insns): Set to 1 at least.
+
+2017-11-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR target/82713
+	* i386.c (ix86_builtin_vectorization_cost): Be ready for insane types.
+
+2017-11-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/arc/arc.h (FUNCTION_PROFILER): Remove semicolon after
+	"do while (0)".
+
+2017-11-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/phoenix.h (TARGET_OS_CPP_BUILTINS): Remove semicolon after
+	"do {} while (0)".
+
+2017-11-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/visium/visium.h (ASM_OUTPUT_CASE_END): Remove semicolon after
+	macro body.
+
+2017-11-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/ft32/ft32.h (REGISTER_TARGET_PRAGMAS): Remove semicolon after
+	"do {} while (0)".
+	* config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Same.
+
+2017-11-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/mcore/mcore-elf.h (MCORE_EXPORT_NAME): Remove semicolon after
+	"do {} while (0)".
+	* config/mcore/mcore.h (ASM_OUTPUT_ALIGNED_COMMON): After missing
+	semicolon after MCORE_EXPORT_NAME call.
+
+2017-11-19  Tom de Vries  <tom@codesourcery.com>
+
+	PR target/82961
+	* vmsdbgout.c (vmsdbgout_early_finish): New function.
+	(vmsdbg_debug_hooks): Set early_finish field to vmsdbgout_early_finish.
+
+2017-11-18  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraphclones.c (cgraph_edge::clone): Rename gcov_count to prof_count.
+	(cgraph_edge::clone): Cleanup updating of profile.
+	* ipa-cp.c (update_profiling_info): Likewise.
+	* ipa-inline-transform.c (inline_transform): Likewise.
+	* ipa-inline.c (inline_small_functions): Add missing space to dump.
+	* ipa-split.c (execute_split_functions): Do not split when function
+	is cold.
+	* predict.c (estimate_bb_frequencies): Cleanup updating of profile.
+	* profile-count.c (profile_count::dump): Add global0.
+	(profile_count::to_cgraph_frequency): Do not ICE when entry is
+	undefined.
+	(profile_count::to_sreal_scale): Likewise.
+	(profile_count::adjust_for_ipa_scaling): Fix typo in comment.
+	(profile_count::combine_with_ipa_count): New function.
+	* profile-count.h (profile_guessed_global0adjusted): New.
+	(profile_count::adjusted_zero): New.
+	(profile_count::global0adjusted): New.
+	(profile_count::combine_with_ipa_count): New.
+	* tree-inline.c (copy_edges_for_bb): Add NUM/DEN arugment;
+	correct profile of return block of split functions.
+	(copy_cfg_body): Remove unused profile_count.
+	(copy_body): Likewise.
+	(expand_call_inline): Update.
+	(tree_function_versioning): Update.
+
+2017-11-18  Aldy Hernandez  <aldyh@redhat.com>
+
+	* hash-set.h (hash_set::empty): New.
+	* tree-ssa-threadbackward.h: Delete.
+	* tree-ssa-threadbackward.c (class thread_jumps): New.
+	Move max_threaded_paths into class.
+	(fsm_find_thread_path): Remove arguments that are now in class.
+	(profitable_jump_thread_path): Rename to...
+	(thread_jumps::profitable_jump_thread_path): ...this.
+	(convert_and_register_jump_thread_path): Rename to...
+	(thread_jumps::convert_and_register_current_path): ...this.
+	(check_subpath_and_update_thread_path): Rename to...
+	(thread_jumps::check_subpath_and_update_thread_path): ...this.
+	(register_jump_thread_path_if_profitable): Rename to...
+	(thread_jumps::register_jump_thread_path_if_profitable): ...this.
+	(handle_phi): Rename to...
+	(thread_jumps::handle_phi): ...this.
+	(handle_assignment): Rename to...
+	(thread_jumps::handle_assignment): ...this.
+	(fsm_find_control_statement_thread_paths): Rename to...
+	(thread_jumps::fsm_find_control_statement_thread_paths): ...this.
+	(find_jump_threads_backwards): Rename to...
+	(thread_jumps::find_jump_threads_backwards): ...this.
+	Initialize path local data.
+	(pass_thread_jumps::execute): Call find_jump_threads_backwards
+	from within thread_jumps class.
+	(pass_early_thread_jumps::execute): Same.
+
+2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.c (cgraph_node::dump): Do IPA sanity checking on IPA counts.
+
+2017-11-17  Steve Ellcey  <sellcey@cavium.com>
+
+	* config/aarch64/aarch64-simd.md (fnma<mode>4): Move neg operator
+	to canonical location.
+
+2017-11-17  Steve Ellcey  <sellcey@cavium.com>
+
+	PR target/81356
+	* config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructure_p):
+	Remove.
+	(TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Remove define.
+
+2017-11-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
+	rcrt1.o%s/grcrt1.o%s for -static-pie.
+
+2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* i386.c (ix86_multiplication_cost, ix86_division_cost,
+	ix86_shift_rotate_cost): Break out from ...
+	(ix86_rtx_costs): ... here.
+	(ix86_add_stmt_cost): Use rtx cost machinery to compute cost of
+	vector operations.
+
+2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (determine_unlikely_bbs): Set cgraph node count to 0
+	when entry block was promoted unlikely.
+	(estimate_bb_frequencies): Increase frequency scale.
+	* profile-count.h (profile_count): Export precision info.
+
+2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-tailcall.c (eliminate_tail_call): Be more careful about not
+	disturbin profile of entry block.
+
+2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-fnsummary.c (estimate_node_size_and_time): Be more tolerant for
+	roundoff errors.
+
+2017-11-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-cp.c (update_profiling_info): Handle conversion to local profile.
+	* tree-cfg.c (execute_fixup_cfg): Do fixup same way as inliner does.
+
+2017-11-17  Jeff Law  <law@redhat.com>
+
+	* gimple-ssa-evrp.c (class evrp_range_analyzer): New class extracted
+	from evrp_dom_walker class.  Various methods moved into new class.
+	(evrp_range_analyzer::evrp_range_analyzer): Constructor for new class.
+	(evrp_range_analyzer::enter): New method.
+	(evrp_range_analyzer::leave): New method.
+	(evrp_dom_walker): Remove delegators no longer needed by this class.
+	Replace vr_values data member with evrp_range_analyzer
+
+	* gimple-ssa-evrp.c (evrp_dom_walker::record_ranges_from_phis): New
+	method extracted from evrp_dom_walker::before_dom_children.
+	(evrp_dom_walker::record_ranges_from_stmt): Likewise.
+	(evrp_dom_walker::record_ranges_from_incoming_edge): Likewise.
+
+	* gimple-ssa-evrp.c (evrp_dom_walker): Add cleanup method.
+	Add private copy constructor and move assignment operators.
+	Privatize methods and class data where trivially possible.
+	(evrp_dom_walker::cleanup): New function, extracted from
+	execute_early_vrp.  Simplify access to class data.
+
+	* vr-values.h (get_output_for_vrp): Prototype.
+	* vr-values.c (get_output_for_vrp): New function extracted from
+	vrp_visit_assignment_or_call and extract_range_from_stmt.
+	(vrp_visit_assignment_or_call): Use get_output_for_vrp.  Simplify.
+
+2017-11-17  Luis Machado  <luis.machado@linaro.org>
+
+	* config/aarch64/aarch64.c
+	(qdf24xx_prefetch_tune) <default_opt_level>: Set to -1.
+	(qdf24xx_tunings) <autoprefetcher_model>: Set to
+	tune_params::AUTOPREFETCHER_WEAK.
+
+2017-11-17  Tamar Christina  <tamar.christina@arm.com>
+
+	PR target/82641
+	* config/arm/arm.c (arm_valid_target_attribute_rec):
+	Parse "arch=" and "+<ext>".
+	(arm_valid_target_attribute_tree): Re-init global options.
+	(arm_option_override): Make non-static.
+	(arm_options_perform_arch_sanity_checks): Make errors fatal.
+	* gcc/config/arm/arm-c.c (__ARM_FEATURE_CMSE): Support undef.
+	(__ARM_FEATURE_CRC32): Support undef.
+	* config/arm/arm_acle.h (__ARM_FEATURE_CRC32): Replace with pragma.
+	* doc/extend.texi (ARM Function Attributes): Add pragma and target.
+
+2017-11-17  David Malcolm  <dmalcolm@redhat.com>
+
+	* gdbinit.in (break-on-diagnostic): New command.
+
+2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* config/i386/i386.c (ix86_expand_epilogue): Change simple
+	return to indirect jump for EH return if control-flow
+	protection is enabled. Change explicit 'false' argument in
+	pro_epilogue_adjust_stack with a value of
+	flag_cf_protection.
+	* config/i386/i386.md (simple_return_indirect_internal):
+	Remove SImode restriction to support 64-bit.
+
+2017-11-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine.c (added_notes_insn): New.
+	(try_combine): Handle added_notes_insn like added_links_insn.
+	Rewrite return value code.
+	(distribute_notes): Set added_notes_insn to the earliest insn we added
+	a note to.
+
+2017-11-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/82621
+	* combine.c (try_combine): Do not split PARALLELs of two SETs if the
+	dest of one of those SETs is unused.
+
+2017-11-17  Richard Biener  <rguenther@suse.de>
+
+	PR fortran/83017
+	* tree-core.h (enum annot_expr_kind): Add annot_expr_parallel_kind.
+	* tree-pretty-print.c (dump_generic_node): Handle
+	annot_expr_parallel_kind.
+	* tree-cfg.c (replace_loop_annotate_in_block): Likewise.
+	* gimplify.c (gimple_boolify): Likewise.
+
+2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* config.gcc (extra_headers): Add cet.h for x86 targets.
+	* config/i386/cet.h: New file.
+	* doc/install.texi: Add --enable-cet/--disable-cet.
+
+2017-11-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/83017
+	* tree-parloops.c (MIN_PER_THREAD): Use --param parloops-min-per-thread.
+	(gen_parallel_loop): Properly count iterations.
+	(parallelize_loops): Handle loop->can_be_parallel independent
+	of flag_loop_parallelize_all.  Make static profitability test match
+	the runtime one.
+	* params.def (PARAM_PARLOOPS_MIN_PER_THREAD): New.
+	* invoke.texi (parloops-min-per-thread): Document.
+
+2017-11-17  Vineet Gupta  <vgupta@synopsys.com>
+
+	* config/arc/linux.h: GLIBC_DYNAMIC_LINKER update per glibc
+	upstreaming review comments.
+
+2017-11-17  Tamar Christina  <tamar.christina@arm.com>
+
+	* expr.c (copy_blkmode_to_reg): Fix bitsize for targets
+	with fast unaligned access.
+	* doc/sourcebuild.texi (word_mode_no_slow_unalign): New.
+
+2017-11-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (cmse_nonsecure_entry_clear_before_return): Allocate
+	to_clear_arg_regs_bitmap to the same size as to_clear_bitmap.
+
+2017-11-17  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (phi_translate_1): Remove redundant constant
+	folding of references.
+
+2017-11-17  Qing Zhao  <qing.zhao@oracle.com>
+
+	PR middle-end/78809
+	* gimple-fold.c (gimple_fold_builtin_string_compare): Add handling
+	of replacing call to strncmp with corresponding call to strcmp when
+	meeting conditions.
+
+2017-11-17  Sergey Shalnov  <Sergey.Shalnov@intel.com>
+
+	* config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Add tuning
+	option prefer-avx256 for skylake-avx512 configuration.
+	* config/i386/i386.c (ix86_option_override_internal): Ditto.
+	(get_builtin_code_for_version): Ditto.
+
+2017-11-17  Chung-Ju Wu  <jasonwucj@gmail.com>
+	    Monk Chiang  <sh.chiang04@gmail.com>
+
+	* config/nds32/nds32.h (FIRST_PSEUDO_REGISTER): Modify.
+	(FIXED_REGISTERS): Reserve more register numbers.
+	(CALL_USED_REGISTERS): Likewise.
+	(REG_ALLOC_ORDER): Likewise.
+	(REG_CLASS_CONTENTS): Likewise.
+	(REGISTER_NAMES): Likewise.
+
+2017-11-17  Chung-Ju Wu  <jasonwucj@gmail.com>
+	    Kito Cheng  <kito.cheng@gmail.com>
+
+	* config/nds32/nds32-modes.def: Add vector mode V4QI V2HI V8QI V4HI
+	V2SI.
+	* config/nds32/iterators.md: Add vector mode iterators and attributes.
+
+2017-11-16  Steven Munroe  <munroesj@gcc.gnu.org>
+
+	* config/rs6000/mmintrin.h (_mm_add_pi32[_ARCH_PWR]): Correct
+	parameter list for vec_splats.
+
+2017-11-16  Joseph Myers  <joseph@codesourcery.com>
+
+	* doc/invoke.texi (-std=c17): Refer to 2018 expected publication
+	date of C17.
+	(-std=c18, -std=iso9899:2018, -std=gnu18): Document option aliases.
+
+2017-11-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR bootstrap/82856
+	* doc/install.texi: Document incompatibility of Perl >=5.6.26
+	with the required version of automake 1.11.6.
+
+2017-11-16  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* rs6000/power9.md (power9fpdiv): New automaton and cpu_unit defined
+	for it.
+	(DU_C2_3_power9): Correct reservation combinations.
+	(FP_DIV_power9, VEC_DIV_power9): New.
+	(power9-alu): Split out rotate/shift...
+	(power9-rot): ...to here, correct dispatch resource.
+	(power9-cracked-alu, power9-mul, power9-mul-compare): Correct dispatch
+	resource.
+	(power9-fp): Correct latency.
+	(power9-sdiv): Add div/sqrt resource.
+	(power9-ddiv): Correct latency, add div/sqrt resource.
+	(power9-sqrt, power9-dsqrt): Add div/sqrt resource.
+	(power9-vecfdiv, power9-vecdiv): Correct latency, add div/sqrt
+	resource.
+	(power9-qpdiv, power9-qpmul): Adjust resource usage.
+
+2017-11-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_expand_builtin): Do not do the
+	switch statement mapping KF built-ins to TF built-ins if we don't
+	have the proper ISA 3.0 assembler support.
+
+2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-emutls.c (lower_emutls_data): Remove unused bb_freq.
+	(lower_emutls_function_body): Do not compute it.
+
+2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-split.c (split_bb_info): Turn time to sreal.
+	(split_point): Likewise.
+	(dump_split_point): Likewise.
+	(fine_split_points): Likewise.
+	(execute_split_functions): Only zero split_bbs; turn time to sreals.
+
+2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-fnsummary.c (analyze_function_body): Accumulate time consistently
+	in sreal.
+
+2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (combine_predictions_for_bb): Preserve zero predicted
+	edges.
+	(expensive_function_p): Remove useless assert.
+	(determine_unlikely_bbs): Propagate also forward; determine cold blocks
+
+2017-11-16  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/82588
+	PR tree-optimization/82583
+	* tree-vrp.c (check_array_ref): Handle flexible array members,
+	string literals, and inner indices.
+	(search_for_addr_array): Add detail to diagnostics.
+
+2017-11-16  Nathan Sidwell  <nathan@acm.org>
+
+	PR c++/82836
+	PR c++/82737
+	* tree.h (COPY_DECL_RTL): Rename parms for clarity.
+	(SET_DECL_ASSEMBLER_NAME): Forward to
+	overwrite_decl_assembler_name.
+	(COPY_DECL_ASSEMBLER_NAME): Rename parms for clarity.
+	(overwrite_decl_assembler_name): Declare.
+	* tree.c (overwrite_decl_assembler_name): New.
+	* langhooks-def.h (lhd_overwrite_decl_assembler_name): Declare.
+	(LANG_HOOKS_OVERWRITE_DECL_ASSEMBLER_NAME): Provide default.
+	(LANG_HOOKS_INITIALIZER): Add it.
+	* langhooks.h (struct lang_hooks): Add overwrite_decl_assembler_name.
+	* langhooks.c (lhd_set_decl_assembler_name): Use
+	SET_DECL_ASSEMBLER_NAME.
+	(lhd_overwrite_decl_assembler_name): Default implementation.
+
+2017-11-16  Wilco Dijkstra  <wdijkstr@arm.com>
+	    Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	PR tree-optimization/71026
+	* match.pd: Canonicalize constant multiplies in division.
+
+2017-11-16  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* opts.c (default_options_table): Add OPT_fomit_frame_pointer entry.
+	* common/config/alpha/alpha-common.c (TARGET_OPTION_OPTIMIZATION_TABLE):
+	Remove OPT_fomit_frame_pointer entry.
+	* common/config/arc/arc-common.c: Likewise.
+	* common/config/arm/arm-common.c: Likewise.
+	* common/config/avr/avr-common.c: Likewise.
+	* common/config/c6x/c6x-common.c: Likewise.
+	* common/config/cr16/cr16-common.c: Likewise.
+	* common/config/cris/cris-common.c: Likewise.
+	* common/config/epiphany/epiphany-common.c: Likewise.
+	* common/config/fr30/fr30-common.c: Likewise.
+	* common/config/frv/frv-common.c: Likewise.
+	* common/config/ia64/ia64-common.c: Likewise.
+	* common/config/iq2000/iq2000-common.c: Likewise.
+	* common/config/lm32/lm32-common.c: Likewise.
+	* common/config/m32r/m32r-common.c: Likewise.
+	* common/config/mcore/mcore-common.c: Likewise.
+	* common/config/microblaze/microblaze-common.c: Likewise.
+	* common/config/mips/mips-common.c: Likewise.
+	* common/config/mmix/mmix-common.c: Likewise.
+	* common/config/mn10300/mn10300-common.c: Likewise.
+	* common/config/nios2/nios2-common.c: Likewise.
+	* common/config/pa/pa-common.c: Likewise.
+	* common/config/pdp11/pdp11-common.c: Likewise.
+	* common/config/powerpcspe/powerpcspe-common.c: Likewise.
+	* common/config/riscv/riscv-common.c: Likewise.
+	* common/config/rs6000/rs6000-common.c: Likewise.
+	* common/config/rx/rx-common.c: Likewise.
+	* common/config/s390/s390-common.c: Likewise.
+	* common/config/sh/sh-common.c: Likewise.
+	* common/config/sparc/sparc-common.c: Likewise.
+	* common/config/tilegx/tilegx-common.c: Likewise.
+	* common/config/tilepro/tilepro-common.c: Likewise.
+	* common/config/v850/v850-common.c: Likewise.
+	* common/config/visium/visium-common.c: Likewise.
+	* common/config/xstormy16/xstormy16-common.c: Likewise.
+	* common/config/xtensa/xtensa-common.c: Likewise.
+	* invoke.texi (-fomit-frame-pointer): Update documentation.
+
+2017-11-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-cfg.c (gimple_find_sub_bbs): Do not compute freq.
+
+2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfg.c (scale_bbs_frequencies_int,
+	cale_bbs_frequencies_gcov_type): Remove.
+	* cfg.h (scale_bbs_frequencies_int,
+	cale_bbs_frequencies_gcov_type): Remove.
+
+2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-manip.c
+	(scale_dominated_blocks_in_loop): Update to profile counts.
+	(tree_transform_and_unroll_loop): Likewise.
+
+2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-vect-loop-manip.c (vect_do_peeling): Do not use
+	scale_bbs_frequencies_int.
+
+2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* final.c (compute_alignments): Use counts rather than frequencies.
+
+2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgloopanal.c: Include sreal.h
+	(average_num_loop_insns): Use counts and sreal for accounting.
+
+2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgloopmanip.c (duplicate_loop_to_header_edge): Cleanup profile
+	manipulation.
+
+2017-11-16  Chung-Ju Wu  <jasonwucj@gmail.com>
+	    Kito Cheng  <kito.cheng@gmail.com>
+
+	* config/nds32/constraints.md: Provide more constraints.
+	* config/nds32/nds32.h (enum reg_class, REG_CLASS_NAMES,
+	REG_CLASS_CONTENTS): Define R5_REG, R8_REG, and FRAME_POINTER_REG to
+	support constraints usage.
+
+2017-11-16  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+	* config/nds32/constants.md (UNSPEC_VOLATILE_FUNC_RETURN): Remove.
+
+2017-11-16  Chung-Ju Wu  <jasonwucj@gmail.com>
+	    Kito Cheng  <kito.cheng@gmail.com>
+
+	* config/nds32/nds32.opt: Add mext-perf, mext-perf2, mext-string.
+	* config/nds32/nds32.opt: Refine the layout.
+	* config/nds32/nds32.c (TARGET_EXT_PERF, TARGET_EXT_PERF2,
+	TARGET_EXT_STRING): Support new options.
+	* config/nds32/nds32.h: Likewise.
+	* config/nds32/nds32.md: Likewise.
+	* config/nds32/nds32-predicates.c: Likewise.
+	* config/nds32/constraints.md: Likewise.
+	* common/config/nds32/nds32-common.c: Likewise.
+
+2017-11-16  Julia Koval  <julia.koval@intel.com>
+
+	PR target/82983
+	* config/i386/gfniintrin.h: Add sse check.
+	* config/i386/i386.c (ix86_expand_builtin): Fix gfni check.
+
+2017-11-16  Julia Koval  <julia.koval@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI2_SET,
+	OPTION_MASK_ISA_AVX512VBMI2_UNSET): New.
+	(ix86_handle_option): Handle -mavx512vbmi2.
+	* config/i386/cpuid.h: Add bit_AVX512VBMI2.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Handle new bit.
+	* config/i386/i386-c.c (__AVX512VBMI2__): New.
+	* config/i386/i386.c (ix86_target_string): Handle -mavx512vbmi2.
+	(ix86_valid_target_attribute_inner_p): Ditto.
+	* config/i386/i386.h (TARGET_AVX512VBMI2, TARGET_AVX512VBMI2_P): New.
+	* config/i386/i386.opt (mavx512vbmi2): New option.
+	* doc/invoke.texi: Add new option.
+
+2017-11-16  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/gfniintrin.h (_mm_gf2p8mul_epi8, _mm256_gf2p8mul_epi8,
+	_mm_mask_gf2p8mul_epi8, _mm_maskz_gf2p8mul_epi8,
+	_mm256_mask_gf2p8mul_epi8, _mm256_maskz_gf2p8mul_epi8,
+	_mm512_mask_gf2p8mul_epi8, _mm512_maskz_gf2p8mul_epi8,
+	_mm512_gf2p8mul_epi8): New intrinsics.
+	* config/i386/i386-builtin-types.def
+	(V64QI_FTYPE_V64QI_V64QI): New type.
+	* config/i386/i386-builtin.def (__builtin_ia32_vgf2p8mulb_v64qi,
+	__builtin_ia32_vgf2p8mulb_v64qi_mask, __builtin_ia32_vgf2p8mulb_v32qi,
+	__builtin_ia32_vgf2p8mulb_v32qi_mask, __builtin_ia32_vgf2p8mulb_v16qi,
+	__builtin_ia32_vgf2p8mulb_v16qi_mask): New builtins.
+	* config/i386/sse.md (vgf2p8mulb_*): New pattern.
+	* config/i386/i386.c (ix86_expand_args_builtin): Handle new type.
+
+2017-11-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop
+	explicitly as a stream of bytes.
+
+2017-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.h (vec_xst_be): New #define.
+	* config/rs6000/altivec.md (altivec_vperm_<mode>_direct): Rename
+	and externalize from *altivec_vperm_<mode>_internal.
+	* config/rs6000/rs6000-builtin.def (XL_BE_V16QI): Remove macro
+	instantiation.
+	(XL_BE_V8HI): Likewise.
+	(XL_BE_V4SI): Likewise.
+	(XL_BE_V4SI): Likewise.
+	(XL_BE_V2DI): Likewise.
+	(XL_BE_V4SF): Likewise.
+	(XL_BE_V2DF): Likewise.
+	(XST_BE): Add BU_VSX_OVERLOAD_X macro instantiation.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Correct
+	all array entries with these keys: VSX_BUILTIN_VEC_XL,
+	VSX_BUILTIN_VEC_XL_BE, VSX_BUILTIN_VEC_XST.  Add entries for key
+	VSX_BUILTIN_VEC_XST_BE.
+	* config/rs6000/rs6000.c (altivec_expand_xl_be_builtin): Remove.
+	(altivec_expand_builtin): Remove handling for VSX_BUILTIN_XL_BE_*
+	built-ins.
+	(altivec_init_builtins): Replace conditional calls to def_builtin
+	for __builtin_vsx_ld_elemrev_{v8hi,v16qi} and
+	__builtin_vsx_st_elemrev_{v8hi,v16qi} based on TARGET_P9_VECTOR
+	with unconditional calls.  Remove calls to def_builtin for
+	__builtin_vsx_le_be_<mode>.  Add a call to def_builtin for
+	__builtin_vec_xst_be.
+	* config/rs6000/vsx.md (vsx_ld_elemrev_v8hi): Convert define_insn
+	to define_expand, and add alternate RTL generation for P8.
+	(*vsx_ld_elemrev_v8hi_internal): New define_insn based on
+	vsx_ld_elemrev_v8hi.
+	(vsx_ld_elemrev_v16qi): Convert define_insn to define_expand, and
+	add alternate RTL generation for P8.
+	(*vsx_ld_elemrev_v16qi_internal): New define_insn based on
+	vsx_ld_elemrev_v16qi.
+	(vsx_st_elemrev_v8hi): Convert define_insn
+	to define_expand, and add alternate RTL generation for P8.
+	(*vsx_st_elemrev_v8hi_internal): New define_insn based on
+	vsx_st_elemrev_v8hi.
+	(vsx_st_elemrev_v16qi): Convert define_insn to define_expand, and
+	add alternate RTL generation for P8.
+	(*vsx_st_elemrev_v16qi_internal): New define_insn based on
+	vsx_st_elemrev_v16qi.
+
+2017-11-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/82990
+	* config/i386/i386.c (pass_insert_vzeroupper::gate): Remove
+	TARGET_AVX512ER check.
+	(ix86_option_override_internal): Set MASK_VZEROUPPER if
+	neither -mzeroupper nor -mno-zeroupper is used and
+	TARGET_EMIT_VZEROUPPER is set.
+	* config/i386/i386.h (TARGET_EMIT_VZEROUPPER): New.
+	* config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER.
+
+2017-11-15  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for
+	folding of vector compares.
+	(fold_build_vec_cmp): New helper function.
+	(fold_compare_helper): New helper function.
+	(builtin_function_type): Add compare builtins to the list of functions
+	having unsigned arguments.  Cosmetic updates to comment indentation.
+	* config/rs6000/vsx.md (vcmpneb, vcmpneh, vcmpnew): Update to specify
+	the not+eq combination.
+
+2017-11-15  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/82726
+	PR tree-optimization/70754
+	* tree-predcom.c (order_drefs_by_pos): New function.
+	(combine_chains): Move code setting has_max_use_after to...
+	(try_combine_chains): ...here.  New parameter.  Sort combined chains
+	according to position information.
+	(tree_predictive_commoning_loop): Update call to above function.
+	(update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New.
+
+2017-11-15  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/82726
+	Revert
+	2017-01-23  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/70754
+	* tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
+	(reassociate_to_the_same_stmt): New parameter INSERT_BEFORE.  Insert
+	combined stmt before it if not NULL.
+	(combine_chains): Process refs reversely and compute dominance point
+	for root ref.
+
+	Revert
+	2017-02-23  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/79663
+	* tree-predcom.c (combine_chains): Process refs in reverse order
+	only for ZERO length chains, and add explaining comment.
+
+2017-11-15  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm-cpus.in (armv8_3, ARMv8_3a, armv8.3-a): New
+	* config/arm/arm-tables.opt (armv8.3-a): Regenerated.
+	* doc/invoke.texi (ARM Options): Add armv8.3-a.
+
+2017-11-15  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm.h (TARGET_DOTPROD): Add arm_arch8_2.
+
+2017-11-15  Martin Liska  <mliska@suse.cz>
+
+	* tree-cfg.c (pass_warn_function_return::execute):
+	Compare warn_return_type for greater than zero.
+
+2017-11-15  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	PR target/82941
+	PR target/82942
+	* config/i386/i386.c (pass_insert_vzeroupper): Modify gate condition
+	to return true on Xeon and not on Xeon Phi.
+	(ix86_check_avx256_register): Changed to ...
+	(ix86_check_avx_upper_register): ... this. Add extra check for
+	VALID_AVX512F_REG_OR_XI_MODE.
+	(ix86_avx_u128_mode_needed): Changed
+	ix86_check_avx256_register to ix86_check_avx_upper_register.
+	(ix86_check_avx256_stores): Changed to ...
+	(ix86_check_avx_upper_stores): ... this. Changed
+	ix86_check_avx256_register to ix86_check_avx_upper_register.
+	(ix86_avx_u128_mode_after): Changed
+	avx_reg256_found to avx_upper_reg_found. Changed
+	ix86_check_avx256_stores to ix86_check_avx_upper_stores.
+	(ix86_avx_u128_mode_entry): Changed
+	ix86_check_avx256_register to ix86_check_avx_upper_register.
+	(ix86_avx_u128_mode_exit): Ditto.
+	* config/i386/i386.h: (host_detect_local_cpu): New define.
+
+2017-11-15  Dominik Infuehr  <dominik.infuehr@theobroma-systems.com>
+
+	* config/arm/xgene1.md (xgene1): Split into automatons
+	xgene1_main, xgene1_decoder, xgene1_div, xgene1_simd.
+	(xgene1_f_load): Adjust reservations and/or types.
+	(xgene1_f_store): Likewise.
+	(xgene1_load_pair): Likewise.
+	(xgene1_store_pair): Likewise.
+	(xgene1_fp_load1): Likewise.
+	(xgene1_load1): Likewise.
+	(xgene1_store1): Likewise.
+	(xgene1_move): Likewise.
+	(xgene1_alu): Likewise.
+	(xgene1_simd): Likewise.
+	(xgene1_bfm): Likewise.
+	(xgene1_neon_load1): Likewise.
+	(xgene1_neon_store1): Likewise.
+	(xgene1_neon_logic): Likewise.
+	(xgene1_neon_st1): Likewise.
+	(xgene1_neon_ld1r): Likewise.
+	(xgene1_alu_cond): Added.
+	(xgene1_shift_reg): Likwise.
+	(xgene1_bfx): Likewise.
+	(xgene1_mul): Split into xgene1_mul32, xgene1_mul64.
+
+2017-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82981
+	* internal-fn.c: Include gimple-ssa.h, tree-phinodes.h and
+	ssa-iterators.h.
+	(can_widen_mult_without_libcall): New function.
+	(expand_mul_overflow): If only checking unsigned mul overflow,
+	not result, and can do efficiently MULT_HIGHPART_EXPR, emit that.
+	Don't use WIDEN_MULT_EXPR if it would involve a libcall, unless
+	no other way works.  Add MULT_HIGHPART_EXPR + MULT_EXPR support.
+	(expand_DIVMOD): Formatting fix.
+	* expmed.h (expand_mult): Add NO_LIBCALL argument.
+	* expmed.c (expand_mult): Likewise.  Use OPTAB_WIDEN rather
+	than OPTAB_LIB_WIDEN if NO_LIBCALL is true, and allow it to fail.
+
+	PR tree-optimization/82977
+	* tree-ssa-strlen.c (strlen_optimize_stmt): Pass a reference to a copy
+	constructed temporary to strlen_to_stridx.put.
+
+2017-11-15  Martin Liska  <mliska@suse.cz>
+
+	* configure.ac: Remove -fkeep-inline-functions from coverage_flags.
+	* configure: Regenerate.
+
+2017-11-15  Martin Liska  <mliska@suse.cz>
+
+	PR target/82927
+	* config/sh/sh-mem.cc: Use proper probability for
+	REG_BR_PROB_NOTE.
+
+2017-11-14  Jeff Law  <law@redhat.com>
+
+	* explow.c (anti_adjust_stack_and_probe_stack_clash): Avoid probing
+	the red zone for stack_clash_protection_final_dynamic_probe targets
+	when the total dynamic stack size is zero bytes.
+
+	* tree-ssa-threadupdate.c (thread_through_all_blocks): Thread
+	blocks is post order.
+
+2017-11-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* dumpfile.h (TDF_COMPARE_DEBUG): New.
+	* final.c (rest_of_clean_state): Set it for the
+	-fcompare-debug dump.
+	* tree-pretty-print.c (dump_generic_node): Omit OBJ_TYPE_REF
+	class when TDF_COMPARE_DEBUG is set.
+
+	* dwarf2out.c (gen_producer_string): Discard
+	OPT_fcompare_debug.
+
+2017-11-15  Joseph Myers  <joseph@codesourcery.com>
+
+	PR c/81156
+	* doc/extend.texi (Other Builtins): Document __builtin_tgmath.
+	* ginclude/tgmath.h (__tg_cplx, __tg_ldbl, __tg_dbl, __tg_choose)
+	(__tg_choose_2, __tg_choose_3, __TGMATH_REAL_1_2)
+	(__TGMATH_REAL_2_3): Remove macros.
+	(__TGMATH_CPLX, __TGMATH_CPLX_2, __TGMATH_REAL, __TGMATH_REAL_2)
+	(__TGMATH_REAL_3, __TGMATH_CPLX_ONLY): Define using
+	__builtin_tgmath.
+	(frexp, ldexp, nexttoward, scalbn, scalbln): Define using
+	__TGMATH_REAL_2.
+	(remquo): Define using __TGMATH_REAL_3.
+
+2017-11-14  Jeff Law  <law@redhat.com>
+
+	* vr-values.c: New file with contents extracted from tree-vrp.c.
+	* Makefile.in (OBJS): Add vr-values.o
+	* tree-vrp.h (set_value_range_to_nonnull): Prototype.
+	(set_value_range, set_and_canonicalize_value_range): Likewise.
+	(vrp_bitmap_equal_p, range_is_nonnull): Likewise.
+	(value_range_constant_singleton, symbolic_range_p): Likewise.
+	(compare_values, compare_values_warnv, vrp_val_is_min): Likewise.
+	(vrp_val_is_max, copy_value_range, set_value_range_to_value): Likewise.
+	(extract_range_from_binary_expr_1, vrp_val_min, vrp_val_max): Likewise.
+	(set_value_range_to_null, range_int_cst_p, opreand_less_p): Likewise.
+	(find_case_label_range, find_case_label_index): Likewise.
+	(zero_nonzero_bits_from_vr, overflow_comparison_p): Likewise.
+	(range_int_cst_singleton_p, value_inside_range): Likewise.
+	(get_single_symbol): Likewise.
+	(switch_update): Move structure definition here.
+	(to_remove_edges, to_update_switch_stmts): Provide externs.
+	* tree-vrp.c: Move all methods for vr-values class to vr-values.c
+	(vrp_val_max, vrp_val_min, vrp_val_is_max): Make externally visible.
+	(vrp_val_is_min, set_value_range): Likewise.
+	(set_and_canonicalize_value_range, copy_value_range): Likewise.
+	(set_value_range_to_value, set_value_range_to_nonnull): Likewise.
+	(set_value_range_to_null, vrp_bitmap_equal_p): Likewise.
+	(range_is_nonnull, range_int_cst_p): Likewwise.
+	(range_int_cst_singleton_p, symbolic_range_p): Likewise.
+	(get_single_symbol, operand_less_p): Likewise
+	(compare_values_warnv, compare_values): Likewise.
+	(value_inside_range, value_range_constant_singleton): Likewise.
+	(zero_nonzero_bitgs_from_vr): Likewise.
+	(extract_range_from_binary_expr_1): Likewise.
+	(overflow_comparison_p): Likewise.
+	(to_remove_edges, to_update_switch_stmts): Likewise.
+	(find_case_label-index, find_case_label_range): Likewise.
+	(switch_update, set_value_range_to_nonnegative): Remove.
+	(set_value_range_to_truthvalue): Likewise.
+	(symbolic_range_based_on_p, gimple_assign_nonzero_p): Likewise.
+	(gimple_stmt_nonzero_p, compare_ranges): Likewise.
+	(compare_range_with_value, vrp_valueize, vrp_valueize_1): Likewise.
+	(find_case_label_ranges, test_for_singularity): Likewise.
+	(range_fits_type_p, simplify_conversion_using_ranges): LIkewise.
+	(x_vr_values): Move to its remaining use site.
+
+2017-11-10  Jeff Law  <law@redhat.com>
+
+	* vr-values.h (VR_INITIALIZER): Move #define here.
+	* gimple-ssa-evrp.c: New file with contents extracted from tree-vrp.c
+	* Makefile.in (OBJS): Add tree-evrp.o
+	* tree-vrp.h (assert_info): Move structure definition here.
+	(set_value_range_to_varying): Prototype.
+	(vrp_operand_equal_p, range_includes_zero_p): Likewise.
+	(infer_value_range, register_edge_assert_for): Likewise.
+	(stmt_interesting_for_vrp): Likewise.
+	* tree-vrp.c: Move all methods for evrp class into gimple-ssa-evrp.c.
+	(set_value_range_to_varying): No longer static.
+	(vrp_operand_equal_p, range_includes_zero_p): Likewise.
+	(infer_value_range, register_edge_assert_for): Likewise.
+
+2017-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.md (bswapdi2): On 32-bit ISA 3.0, don't
+	generate the XXBRD instruction.
+
+	* config/rs6000/rs6000-c.c (is_float128_p): New helper function.
+	(rs6000_builtin_type_compatible): Treat _Float128 and long double
+	as being compatible if -mabi=ieeelongdouble.
+	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_HW_1): New macros
+	to setup float128 built-ins with hardware support.
+	(BU_FLOAT128_HW_2): Likewise.
+	(BU_FLOAT128_HW_3): Likewise.
+	(BU_FLOAT128_HW_VSX_1): Likewise.
+	(BU_FLOAT128_HW_VSX_2): Likewise.
+	(scalar_extract_expq): Change float128 built-in functions to
+	accommodate having both KFmode and TFmode functions.  Use the
+	KFmode variant as the default.
+	(scalar_extract_sigq): Likewise.
+	(scalar_test_neg_qp): Likewise.
+	(scalar_insert_exp_q): Likewise.
+	(scalar_insert_exp_qp): Likewise.
+	(scalar_test_data_class_qp): Likewise.
+	(sqrtf128_round_to_odd): Delete processing the round to odd
+	built-in functions as special built-in functions, and define them
+	as float128 built-ins.  Use the KFmode variant as the default.
+	(truncf128_round_to_odd): Likewise.
+	(addf128_round_to_odd): Likewise.
+	(subf128_round_to_odd): Likewise.
+	(mulf128_round_to_odd): Likewise.
+	(divf128_round_to_odd): Likewise.
+	(fmaf128_round_to_odd): Likewise.
+	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
+	support for KFmode and TFmode xststdcqp calls.
+	(rs6000_expand_builtin): If long double is IEEE 128-bit floating
+	point, switch the built-in handlers for the get/set float128
+	exponent, get float128 mantissa, float128 test built-ins, and the
+	float128 round to odd built-in functions.  Eliminate creating the
+	float128 round to odd built-in functions as special built-ins.
+	(rs6000_init_builtins): Eliminate special creation of the float128
+	round to odd built-in functions.
+	* config/rs6000/vsx.md (xsxexpqp_<mode>): Change float128 built-in
+	function insns to support both TFmode and KFmode variants.
+	(xsxsigqp_<mode>): Likewise.
+	(xsiexpqpf_<mode>): Likewise.
+	(xsiexpqp_<mode>): Likewise.
+	(xststdcqp_<mode>): Likewise.
+	(xststdcnegqp_<mode>): Likewise.
+	(xststdcqp_<mode>): Likewise.
+
+2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-threadupdate.c (compute_path_counts): Remove
+	unused path_in_freq_ptr parameter.
+	(ssa_fix_duplicate_block_edges): Do not pass around path_in_freq
+
+2017-11-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline.c (edge_badness): Dump sreal frequency.
+	(compute_inlined_call_time): Match natural implementaiton ...
+	* ipa-fnsummary.c (estimate_edge_size_and_time): ... here; remove
+	forgotten division by CGRAPH_FREQ_BASE.
+
+2017-11-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since
+	Solaris 11.  Update comment.
+	* configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12
+	renaming.
+	* config/sol2.h (STARTFILE_SPEC): Likewise.
+	* configure: Regenerate.
+
+2017-11-14  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000.c (swap_endian_selector_for_mode): Remove
+	le_ and be_ prefixes to swap* variables.  Remove
+	if (VECTOR_ELT_ORDER_BIG) statement. Remove E_V16QImode case
+	statements.
+
+2017-11-14  Jason Merrill  <jason@redhat.com>
+
+	Support GTY((cache)) on hash_map.
+	* hash-traits.h (ggc_remove): Add ggc_maybe_mx member function.
+	(ggc_cache_remove): Override it instead of ggc_mx.
+	* hash-table.h (gt_ggc_mx): Call it instead of ggc_mx.
+	(gt_cleare_cache): Call ggc_mx instead of gt_ggc_mx.
+	* hash-map-traits.h (simple_hashmap_traits): Add maybe_mx member.
+	(simple_cache_map_traits): Override maybe_mx.
+	* hash-map.h (hash_entry): Add ggc_maybe_mx and keep_cache_entry.
+	(hash_map): Friend gt_cleare_cache.
+	(gt_cleare_cache): New.
+	* tree.h (tree_cache_traits): New hash_map traits class.
+	(tree_cache_map): New typedef.
+
+2017-11-14  Richard Biener  <rguenther@suse.de>
+
+	* tree-cfgcleanup.c (cleanup_control_expr_graph): Remove first_p
+	paramter and handling.
+	(cleanup_control_flow_bb): Likewise.
+	(cleanup_control_flow_pre): New helper performing a DFS walk
+	to call cleanup_control_flow_bb in PRE order.
+	(cleanup_tree_cfg_1): Do the first phase of cleanup_control_flow_bb
+	via cleanup_control_flow_pre.
+
+2017-11-14  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-simd.md
+	(aarch64_simd_bsl<mode>_internal): Remove DImode.
+	(*aarch64_simd_bsl<mode>_alt): Likewise.
+	(aarch64_simd_bsldi_internal): New.
+	(aarch64_simd_bsldi_alt): Likewise.
+
+2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tracer.c (better_p): Do not compare frequencies.
+	* reg-stack.c (better_edge): Likewise.
+	* shrink-wrap.c (try_shrink_wrapping): Do not convert to gcov counts
+	and back.
+
+2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* auto-profile.c (afdo_annotate_cfg): Use update_max_bb_count.
+	* cgraphunit.c (cgraph_node::expand_thunk): Use update_max_bb_count.
+	* ipa-utils.c (ipa_merge_profiles): Use update_max_bb_count.
+	* lto-streamer-in.c (input_function): Use update_max_bb_count.
+	* omp-expand.c (expand_omp_taskreg): Use update_max_bb_count.
+	* predict.c (maybe_hot_frequency_p): Inline to ...
+	(maybe_hot_count_p): ... here; rewrite to counts.
+	(counts_to_freqs): Rename to ...
+	(update_max_bb_count): ... this one.
+	(expensive_function_p): Use counts.
+	(estimate_bb_frequencies): Update.
+	(rebuild_frequencies): Update.
+	* predict.h (counts_to_freqs): Rename to ...
+	(update_max_bb_count): ... this one.
+	* profile.c (compute_branch_probabilities): Add debug info
+	* tree-inline.c (expand_call_inline): Update debug info.
+	(optimize_inline_calls): Use update_max_bb_count..
+	(tree_function_versioning): Use update_max_bb_count..
+	* value-prof.c (gimple_value_profile_transformations):
+	Do not use update_max_bb_count.
+
+2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline.c (compute_uninlined_call_time, compute_inlined_call_time):
+	always use frequencies.
+
+2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* bb-reorder.c: Remove frequencies from comments.
+	(better_edge_p): Use profile counts.
+	(find_traces): Dump profile counts.
+	(rotate_loop): Use profile counts.
+	(find_traces_1_round): Likewise.
+	(connect_better_edge_p): Use counts instead of probabilities for
+	reverse walk.
+	(copy_bb_p): Drop early check for non-0 frequency.
+	(sanitize_hot_paths): Update comments.
+
+2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-split.c (struct split_point): Add count.
+	(consider_split): Do not compute incoming frequency; compute incoming
+	count and store it to split_point.
+	(split_function): Set count of the call to split part correctly.
+
+2017-11-13  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.md (altivec_vsumsws_be): Add define_expand.
+
+2017-11-13  Tom Tromey  <tom@tromey.com>
+
+	* doc/cpp.texi (Variadic Macros): Document __VA_OPT__.
+
+2017-11-13  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
+	Add support for builtins:
+	unsigned int vec_first_{,miss}_match_{,or_eos}index,
+	vector {un,}signed {char,int,short},
+	vector {un,}signed {char,int,short}) arguments.
+	* config/rs6000/rs6000-builtin.def (VFIRSTMATCHINDEX,
+	VFIRSTMATCHOREOSINDEX, VFIRSTMISMATCHINDEX, VFIRSTMISMATCHOREOSINDEX):
+	Add BU_P9V_AV_2 expansions for the builtins.
+	* config/rs6000/altivec.h (vec_first_match_index,
+	vec_first_mismatch_index, vec_first_match_or_eos_index,
+	vec_first_mismatch_or_eos_index): Add #defines for the builtins.
+	* config/rs6000/rs6000-protos.h (bytes_in_mode): Add
+	new extern declaration.
+	* config/rs6000/rs6000.c (bytes_in_mode): Add new function.
+	* config/rs6000/vsx.md (first_match_index_<mode>,
+	first_match_or_eos_index_<mode>, first_mismatch_index_<mode>,
+	first_mismatch_or_eos_index_<mode>): Add define expand.
+	(vctzlsbb_<mode>): Add mode field to define_insn for vctzlsbb.
+	* doc/extend.texi: Update the built-in documenation file for the new
+	built-in functions.
+
+2017-11-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* match.pd: Convert fminf<N>, fminf<N>x, fmax<N>, and fmax<N>x
+	into the min/max operations for _Float<N> and _Float<N>X types.
+
+2017-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR lto/81351
+	* dwarf2out.c (do_eh_frame): New static variable.
+	(dwarf2out_begin_prologue): Set it.
+	(dwarf2out_frame_finish): Test it instead of dwarf2out_do_eh_frame.
+
+2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-coalesce.c (coalesce_cost): Fix formating.
+
+	* tree-ssa-sink.c (select_best_block): Do not use frequencies.
+
+2017-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR lto/81351
+	* debug.h (dwarf2out_do_eh_frame): Declare.
+	* dwarf2cfi.c (dwarf2out_do_eh_frame): New predicate.
+	(dwarf2out_do_frame): Use it.
+	(dwarf2out_do_cfi_asm): Likewise.
+	* dwarf2out.c (dwarf2out_frame_finish): Likewise.
+	(dwarf2out_assembly_start): Likewise.
+	(dwarf2out_begin_prologue): Fix comment.
+	* toplev.c (compile_file): Always call dwarf2out_frame_finish
+	if the target needs either debug or unwind DWARF2 info.
+	* lto-opts.c (lto_write_options): Do not save -fexceptions,
+	-fnon-call-exceptions, -ffp-contract, -fmath-errno, -fsigned-zeros,
+	-ftrapping-math, -ftrapv and -fwrapv.
+
+2017-11-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.c (cgraph_edge::sreal_frequency): New function.
+	* cgraph.h (cgraph_edge::sreal_frequency): Declare.
+	* ipa-fnsummary.c (dump_ipa_call_summary): Use sreal_frequency.
+	(estimate_edge_size_and_time): Likewise.
+	(ipa_merge_fn_summary_after_inlining): Likewise.
+	* ipa-inline.c (cgraph_freq_base_rec): Remove.
+	(compute_uninlined_call_time): Use sreal_frequency.
+	(compute_inlined_call_time): Likewise.
+	(ipa_inline): Do not initialize cgraph_freq_base_rec.
+	* profile-count.c: Include sreal.h.
+	(profile_count::to_sreal_scale): New.
+	* profile-count.h: Forward declare sreal.
+	(profile_count::to_sreal_scale): Declare.
+
+2017-11-13  Nathan Sidwell  <nathan@acm.org>
+
+	* diagnostic.c (maybe_line_and_column): New.
+	(diagnostic_get_location_text): Use it.
+	(diagnostic_report_current_module): Likewise.
+	(test_diagnostic_get_location_text): Add tests.
+
+2017-11-13  Luis Machado  <luis.machado@linaro.org>
+
+	* doc/md.texi (Specifying processor pipeline description): Fix
+	incorrect latency for the div instruction example.
+
+2017-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78821
+	* gimple-ssa-store-merging.c (compatible_load_p): Don't require
+	that bit_not_p is the same.
+	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
+	(split_group): Count precisely bit_not_p bits in each statement.
+	(invert_op): New function.
+	(imm_store_chain_info::output_merged_store): Use invert_op to
+	emit BIT_XOR_EXPR with a xor_mask instead of BIT_NOT_EXPR if some
+	but not all orig_stores have BIT_NOT_EXPR in the corresponding spots.
+
+2017-11-13  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (struct coverage_info): Remove typedef of coverage_t.
+	(struct source_info): Likewise.
+	(add_branch_counts): Likewise.
+	(add_line_counts): Likewise.
+	(function_summary): Likewise.
+	(output_intermediate_line): Likewise.
+	(generate_results): Likewise.
+
+2017-11-13  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (struct block_info): Remove typedef for block_t.
+	(struct line_info): Likewise.
+	(line_info::has_block): Likewise.
+	(EXIT_BLOCK): Likewise.
+	(unblock): Likewise.
+	(circuit): Likewise.
+	(get_cycles_count): Likewise.
+	(process_file): Likewise.
+	(read_graph_file): Likewise.
+	(solve_flow_graph): Likewise.
+	(find_exception_blocks): Likewise.
+	(add_line_counts): Likewise.
+	(accumulate_line_info): Likewise.
+	(output_line_details): Likewise.
+
+2017-11-13  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (struct arc_info): Remove typedef for arc_t.
+	(struct line_info): Likewise.
+	(add_branch_counts): Likewise.
+	(output_branch_count): Likewise.
+	(function_info::~function_info): Likewise.
+	(circuit): Likewise.
+	(output_intermediate_line): Likewise.
+	(read_graph_file): Likewise.
+	(solve_flow_graph): Likewise.
+	(find_exception_blocks): Likewise.
+	(add_line_counts): Likewise.
+	(accumulate_line_info): Likewise.
+	(output_line_details): Likewise.
+	(output_function_details): Likewise.
+
+2017-11-13  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (struct function_info): Remove typedef for function_t.
+	(struct source_info): Likewise.
+	(source_info::get_functions_at_location): Likewise.
+	(solve_flow_graph): Likewise.
+	(find_exception_blocks): Likewise.
+	(add_line_counts): Likewise.
+	(output_intermediate_file): Likewise.
+	(process_file): Likewise.
+	(generate_results): Likewise.
+	(release_structures): Likewise.
+	(read_graph_file): Likewise.
+	(read_count_file): Likewise.
+	(accumulate_line_counts): Likewise.
+	(output_lines): Likewise.
+
+2017-11-13  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (function_info::function_info): Remove num_counts
+	and add vector<gcov_type>.
+	(function_info::~function_info): Use the vector.
+	(process_file): Likewise.
+	(read_graph_file): Likewise.
+	(read_count_file): Likewise.
+	(solve_flow_graph): Likewise.
+
+2017-11-13  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (function_info::is_artificial): New function.
+	(process_file): Erase all artificial early.
+	(generate_results): Skip as all artificial are already
+	removed.
+
+2017-11-13  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (read_graph_file): Store to global vector of functions.
+	(read_count_file): Iterate the vector.
+	(process_file): Likewise.
+	(generate_results): Likewise.
+	(release_structures): Likewise.
+
+2017-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/82954
+	* gimple-ssa-store-merging.c
+	(imm_store_chain_info::coalesce_immediate_stores): If
+	!infof->ops[N].base_addr, split group if info->ops[N].base_addr.
+
+2017-11-13  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/aarch64/aarch64-simd.md (aarch64_store_lane0<mode>):
+	Upddate call to ENDIAN_LANE_N.
+	(aarch64_<sur>dot_lane<vsi2qi>): Use aarch64_endian_lane_rtx.
+	(aarch64_<sur>dot_laneq<vsi2qi>): Likewise.
+	(*aarch64_simd_vec_copy_lane<mode>): Update calls to ENDIAN_LANE_N
+	and use aarch64_endian_lane_rtx.
+	(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
+
+2017-11-12  Tom de Vries  <tom@codesourcery.com>
+
+	* config/riscv/riscv.h (ASM_OUTPUT_LABELREF): Wrap in do {} while (0).
+
+2017-11-12  Tom de Vries  <tom@codesourcery.com>
+
+	* config/elfos.h (ASM_OUTPUT_ASCII): Remove semicolon after macro body.
+
+2017-11-12  Tom de Vries  <tom@codesourcery.com>
+
+	* config/cr16/cr16.h (ASM_OUTPUT_LABELREF): Remove semicolon after macro
+	body.
+	* config/powerpcspe/xcoff.h (ASM_OUTPUT_LABELREF): Same.
+	* config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Same.
+	* defaults.h (ASM_OUTPUT_LABELREF): Same.
+
+2017-11-11  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81117
+	* doc/extend.texi (attribute nonstring): Remove spurious argument.
+
+	PR bootstrap/82948
+	* prefic.c (translate_name): Replace strncpy with memcpy to
+	avoid -Wstringop-truncation.
+
+2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-im.c (execute_sm_if_changed): Do not compute freq_sum.
+
+2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (maybe_hot_frequency_p): Do not use cfun.
+
+2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-tail-merge.c (replace_block_by): Fix and re-enable profile
+	merging.
+
+2017-11-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.md (bswaphi2_reg): On ISA 3.0 systems,
+	enable generating XXBRH if the value is in a vector register.
+	(bswapsi2_reg): On ISA 3.0 systems, enable generating XXBRW if the
+	value is in a vector register.
+	(bswapdi2_reg): On ISA 3.0 systems, always use XXBRD to do
+	register to register bswap64's instead of doing the GPR sequence
+	used on previous machines.
+	(bswapdi2_xxbrd): New insn.
+	(bswapdi2_reg): Disallow on ISA 3.0.
+	(register to register bswap64 splitter): Do not split the insn on
+	ISA 3.0 systems that use XXBRD.
+
+2017-11-10  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81117
+	* config/darwin-c.c (framework_construct_pathname): Replace strncpy
+	with memcpy.
+	(find_subframework_file): Same.
+
+2017-11-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* auto-profile.c (afdo_indirect_call): Drop frequency.
+	* cgraph.c (symbol_table::create_edge): Drop frequency argument.
+	(cgraph_node::create_edge): Drop frequency argument.
+	(cgraph_node::create_indirect_edge): Drop frequency argument.
+	(cgraph_edge::make_speculative): Drop frequency arguments.
+	(cgraph_edge::resolve_speculation): Do not update frequencies
+	(cgraph_edge::dump_edge_flags): Do not dump frequency.
+	(cgraph_node::dump): Check consistency in IPA mode.
+	(cgraph_edge::maybe_hot_p): Use IPA counter.
+	(cgraph_edge::verify_count_and_frequency): Rename to ...
+	(cgraph_edge::verify_count): ... this one; drop frequency checking.
+	(cgraph_node::verify_node): Update.
+	* cgraph.h (struct cgraph_edge): Drop frequency.
+	(cgraph_edge::frequency): New function.
+	* cgraphbuild.c (pass_build_cgraph_edges::execute): Donot pass
+	frequencies.
+	(cgraph_edge::rebuild_edges): Likewise.
+	* cgraphclones.c (cgraph_edge::clone): Scale only counts.
+	(duplicate_thunk_for_node): Do not pass frequency.
+	(cgraph_node::create_clone): Scale only counts.
+	(cgraph_node::create_virtual_clone): Do not pass frequency.
+	(cgraph_node::create_edge_including_clones): Do not pass frequency.
+	(cgraph_node::create_version_clone): Do not pass frequency.
+	* cgraphunit.c (cgraph_node::analyze): Do not pass frequency.
+	(cgraph_node::expand_thunk): Do not pass frequency.
+	(cgraph_node::create_wrapper): Do not pass frequency.
+	* gimple-iterator.c (update_call_edge_frequencies): Do not pass
+	frequency.
+	* gimple-streamer-in.c (input_bb): Scale only IPA counts.
+	* ipa-chkp.c (chkp_produce_thunks): Do not pass frequency.
+	* ipa-cp.c (ipcp_lattice::print): Use frequency function.
+	(gather_caller_stats): Use frequency function.
+	(ipcp_cloning_candidate_p): Use frequency function.
+	(ipcp_propagate_stage): Use frequency function.
+	(get_info_about_necessary_edges): Use frequency function.
+	(update_profiling_info): Update only IPA profile.
+	(update_specialized_profile): Use frequency functoin.
+	(perhaps_add_new_callers): Update only IPA profile.
+	* ipa-devirt.c (ipa_devirt): Use IPA profile.
+	* ipa-fnsummary.c (redirect_to_unreachable): Do not set frequrency.
+	(dump_ipa_call_summary): Use frequency function.
+	(estimate_edge_size_and_time): Use frequency function.
+	(ipa_merge_fn_summary_after_inlining): Use frequency function.
+	* ipa-inline-analysis.c (do_estimate_edge_time): Use IPA profile.
+	* ipa-inline-transform.c (update_noncloned_frequencies): Rename to ..
+	(update_noncloned_counts): ... ths one; scale counts only.
+	(clone_inlined_nodes): Do not scale frequency.
+	(inline_call): Do not pass frequency.
+	* ipa-inline.c (compute_uninlined_call_time): Use IPA profile.
+	(compute_inlined_call_time): Use IPA profile.
+	(want_inline_small_function_p): Use IPA profile.
+	(want_inline_self_recursive_call_p): Use IPA profile.
+	(edge_badness): Use IPA profile.
+	(lookup_recursive_calls): Use IPA profile.
+	(recursive_inlining): Do not pass frequency.
+	(resolve_noninline_speculation): Do not update frequency.
+	(inline_small_functions): Collect max of IPA profile.
+	(dump_overall_stats): Dump IPA porfile.
+	(dump_inline_stats): Dump IPA porfile.
+	(ipa_inline): Collect IPA stats.
+	* ipa-inline.h (clone_inlined_nodes): Update prototype.
+	* ipa-profile.c (ipa_propagate_frequency_1): Use frequency function.
+	(ipa_propagate_frequency): Use frequency function.
+	(ipa_profile): Cleanup.
+	* ipa-prop.c (ipa_make_edge_direct_to_target): Do not pass frequency
+	* ipa-utils.c (ipa_merge_profiles): Merge all profiles.
+	* lto-cgraph.c (lto_output_edge): Do not stream frequency.
+	(input_node): Do not stream frequency.
+	(input_edge): Do not stream frequency.
+	(merge_profile_summaries): Scale only IPA profiles.
+	* omp-simd-clone.c (simd_clone_adjust): Do not pass frequency.
+	* predict.c (drop_profile): Do not recompute frequency.
+	* trans-mem.c (ipa_tm_insert_irr_call): Do not pass frequency.
+	(ipa_tm_insert_gettmclone_call): Do not pass frequency.
+	* tree-cfg.c (execute_fixup_cfg): Drop profile to global0 if needed.
+	* tree-chkp.c (chkp_copy_bounds_for_assign): Do not pass frequency.
+	* tree-emutls.c (gen_emutls_addr): Do not pass frequency.
+	* tree-inline.c (copy_bb): Do not scale frequency.
+	(expand_call_inline): Do not scale frequency.
+	(tree_function_versioning): Do not scale frequency.
+	* ubsan.c (ubsan_create_edge): Do not pass frequency.
+
+2017-11-10  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/gfniintrin.h (_mm_gf2p8affine_epi64_epi8)
+	(_mm256_gf2p8affine_epi64_epi8, _mm_mask_gf2p8affine_epi64_epi8)
+	(_mm_maskz_gf2p8affine_epi64_epi8, _mm256_mask_gf2p8affine_epi64_epi8)
+	(_mm256_maskz_gf2p8affine_epi64_epi8)
+	(_mm512_mask_gf2p8affine_epi64_epi8, _mm512_gf2p8affine_epi64_epi8)
+	(_mm512_maskz_gf2p8affine_epi64_epi8): New intrinsics.
+	* config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineqb_v64qi)
+	(__builtin_ia32_vgf2p8affineqb_v32qi)
+	(__builtin_ia32_vgf2p8affineqb_v16qi): New builtins.
+	* config/i386/sse.md (vgf2p8affineqb_<mode><mask_name>): New pattern.
+
+2017-11-10  Tamar Christina  <tamar.christina@arm.com>
+
+	PR target/82641
+	* config/arm/arm.c
+	(arm_option_override): Refactor.
+	(arm_option_reconfigure_globals): New.
+	(arm_options_perform_arch_sanity_checks): New.
+	* config/arm/arm-protos.h (arm_option_reconfigure_globals):
+	New prototype.
+	(arm_options_perform_arch_sanity_checks): Likewise
+
+2017-11-10  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* rs6000/power9.md (power9-qpdiv): Correct DFU pipe usage.
+	(power9-qpmul): New.
+	* rs6000/rs6000.md ("type" attr): Add qmul.
+	(mul<mode>3, fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw,
+	*nfms<mode>4_hw, mul<mode>3_odd, fma<mode>4_odd, *fms<mode>4_odd,
+	*nfma<mode>4_odd, *nfms<mode>4_odd): Change type to qmul.
+
+2017-11-10  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81117
+	* builtins.c (compute_objsize): Handle arrays that
+	compute_builtin_object_size likes to fail for.  Make extern.
+	* builtins.h (compute_objsize): Declare.
+	(check_strncpy_sizes): New function.
+	(expand_builtin_strncpy): Call check_strncpy_sizes.
+	* gimple-fold.c (gimple_fold_builtin_strncpy): Implement
+	-Wstringop-truncation.
+	(gimple_fold_builtin_strncat): Same.
+	* gimple.c (gimple_build_call_from_tree): Set call location.
+	* tree-ssa-strlen.c (strlen_to_stridx): New global variable.
+	(maybe_diag_bound_equal_length, is_strlen_related_p): New functions.
+	(handle_builtin_stxncpy, handle_builtin_strncat): Same.
+	(handle_builtin_strlen): Use strlen_to_stridx.
+	(strlen_optimize_stmt): Handle flavors of strncat, strncpy, and
+	stpncpy.
+	Use strlen_to_stridx.
+	(pass_strlen::execute): Release strlen_to_stridx.
+	* doc/invoke.texi (-Wsizeof-pointer-memaccess): Document enhancement.
+	(-Wstringop-truncation): Document new option.
+
+2017-11-10  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/82702
+	* gcov.c (main): Handle intermediate files in a different
+	way.
+	(get_gcov_intermediate_filename): New function.
+	(output_gcov_file): Remove support of intermediate files.
+	(generate_results): Allocate intermediate file.
+	(release_structures): Clean-up properly fn_end.
+	(output_intermediate_file): Start iterating with line 1.
+
+2017-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/82929
+	* gimple-ssa-store-merging.c (struct store_immediate_info): Add
+	ops_swapped_p non-static data member.
+	(store_immediate_info::store_immediate_info): Clear it.
+	(imm_store_chain_info::coalesce_immediate_stores): If swapping
+	ops set ops_swapped_p.
+	(count_multiple_uses): Handle ops_swapped_p.
+
+2017-11-10  Martin Liska  <mliska@suse.cz>
+
+	* coverage.c (coverage_init): Stream information about
+	support of has_unexecuted_blocks.
+	* doc/gcov.texi: Document that.
+	* gcov-dump.c (dump_gcov_file): Support it in gcov_dump tool.
+	* gcov.c (read_graph_file): Likewise.
+	(output_line_beginning): Fix a small issue with
+	color output.
+
+2017-11-10  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c (determine_roots_comp): Avoid memory leak by freeing
+	reference of trivial component.
+
+2017-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/82916
+	* gimple-ssa-store-merging.c
+	(pass_store_merging::terminate_all_aliasing_chains): For
+	gimple_store_p stmts also call refs_output_dependent_p.
+
+	PR rtl-optimization/82913
+	* compare-elim.c (try_merge_compare): Punt if def_insn is not
+	single set.
+
+2017-11-09  Jeff Law  <law@redhat.com>
+
+	* vr-values.h: New file with vr_values class.
+	* tree-vrp.c: Include vr-values.h
+	(vrp_value_range_pool, vrp_equiv_obstack, num_vr_values): Move static
+	data objects into the vr_values class.
+	(vr_value, values_propagated, vr_phi_edge_counts): Likewise.
+	(get_value_range): Make it a member function within vr_values class.
+	(set_defs_to_varying, update_value_range, add_equivalence): Likewise.
+	(vrp_stmt_computes_nonzero_p, op_with_boolean_value_range_p): Likewise.
+	(op_with_constant_singleton_value_range): Likewise.
+	(extract_range_for_var_from_comparison_expr): Likewise.
+	(extract_range_from_assert, extract_range_from_ssa_name): Likewise.
+	(extract_range_from_binary_expr): Likewise.
+	(extract_range_from_unary_expr): Likewise.
+	(extract_range_from_cond_expr, extrat_range_from_comparison): Likewise.
+	(check_for_binary_op_overflow, extract_range_basic): Likewise.
+	(extract_range_from_assignment, adjust_range_with_scev): Likewise.
+	(dump_all_value_ranges, get_vr_for_comparison): Likewise.
+	(compare_name_with_value, compare_names): Likewise.
+	(vrp_evaluate_conditional_warnv_with_ops_using_ranges): Likewise.
+	(vrp_evaluate_conditional_warnv_with_ops): Likewise.  Remove prototype.
+	(vrp_evaluate_conditional, vrp_visit_cond_stmt): Likewise.
+	(vrp_visit_switch_stmt, extract_range_from_stmt): Likewise.
+	(extract_range_from_phi_node): Likewise.
+	(simplify_truth_ops_using_ranges): Likewise.
+	(simplify_div_or_mod_using_ranges): Likewise.
+	(simplify_min_or_max_using_ranges, simplify_abs_using_ranges): Likewise.
+	(simplify_bit_ops_using_ranges, simplify_cond_using_ranges_1): Likewise.
+	(simplify_cond_using_ranges_2, simplify_switch_using_ranges): Likewise.
+	(simplify_float_conversion_using_ranges): Likewise.
+	(simplify_internal_call_using_ranges): Likewise.
+	(two_valued_val_range_p, simplify_stmt_using_ranges): Likewise.
+	(vrp_visit_assignment_or_call): Likewise.  Smuggle class instance
+	poitner via x_vr_values for calls into gimple folder.
+	(vrp_initialize_lattice): Make this the vr_values ctor.
+	(vrp_free_lattice): Make this the vr_values dtor.
+	(set_vr_value): New function.
+	(class vrp_prop): Add vr_values data member.  Add various member
+	functions as well as member functions that delegate to vr_values.
+	(check_array_ref): Make a member function within vrp_prop class.
+	(search_for_addr_array, vrp_initialize): Likewise.
+	(vrp_finalize): Likewise.  Revamp to avoid direct access to
+	vr_value, values_propagated, etc.
+	(check_array_bounds): Extract vrp_prop class instance pointer from
+	walk info structure.  Use it to call member functions.
+	(check_all_array_refs): Make a member function within vrp_prop class.
+	Smuggle class instance pointer via walk info structure.
+	(x_vr_values): New local static.
+	(vrp_valueize): Use x_vr_values to get class instance.
+	(vr_valueize_1): Likewise.
+	(class vrp_folder): Add vr_values data member.  Add various member
+	functions as well as member functions that delegate to vr_values.
+	(fold_predicate_in): Make a mber fucntion within vrp_folder class.
+	(simplify_stmt_for_jump_threading): Extract smuggled vr_values
+	class instance from vr_values.  Use it to call member functions.
+	(vrp_dom_walker): Add vr_values data member.
+	(vrp_dom_walker::after_dom_children): Smuggle vr_values class
+	instance via x_vr_values.
+	(identify_jump_threads): Accept vr_values as argument.  Store
+	it into the walker structure.
+	(evrp_dom_walker): Add vr_values class data member.  Add various
+	delegators.
+	(evrp_dom_walker::try_find_new_range): Use vr_values data
+	member to access the memory allocator.
+	(evrp_dom_walker::before_dom_children): Store vr_values class
+	instance into the vrp_folder class.
+	(evrp_dom_walker::push_value_range): Rework to avoid direct
+	access to num_vr_values and vr_value.
+	(evrp_dom_walker::pop_value_range): Likewise.
+	(execute_early_vrp): Remove call to vrp_initialize_lattice.
+	Use vr_values to get to dump_all_value_ranges member function.
+	Remove call to vrp_free_lattice.  Call vrp_initialize, vrp_finalize,
+	and simplify_cond_using_ranges_2 via vrp_prop class instance.
+	Pass vr_values class instance down to identify_jump_threads.
+	Remove call to vrp_free_lattice.
+	(debug_all_value_ranges): Remove.
+
+	* tree-vrp.c (vrp_prop): Move class to earlier point in the file.
+	(vrp_folder): Likewise.
+
+	* tree-vrp.c (set_value_range): Do not reference vrp_equiv_obstack.
+	Get it from the existing bitmap instead.
+	(vrp_intersect_ranges_1): Likewise.
+
+2017-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimple-ssa-store-merging.c (struct store_immediate_info): Add
+	bit_not_p field.
+	(store_immediate_info::store_immediate_info): Add bitnotp argument,
+	set bit_not_p to it.
+	(imm_store_chain_info::coalesce_immediate_stores): Break group
+	if bit_not_p is different.
+	(count_multiple_uses, split_group,
+	imm_store_chain_info::output_merged_store): Handle info->bit_not_p.
+	(handled_load): Avoid multiple chained BIT_NOT_EXPRs.
+	(pass_store_merging::process_store): Handle BIT_{AND,IOR,XOR}_EXPR
+	result inverted using BIT_NOT_EXPR, compute bit_not_p, pass it
+	to store_immediate_info ctor.
+
+2017-11-09  Jim Wilson  <jimw@sifive.com>
+
+	* collect2.c (OBJECT_FORMAT_COFF): Remove EXTENDED_COFF support.
+	(scan_prog_file): Likewise.
+
+2017-11-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	* bb-reorder.c (max_entry_frequency): Remove.
+	(find_traces, rotate_loop, mark_bb_visited, connect_better_edge_p,
+	connect_traces, push_to_next_round_p): Remove prototypes.
+	(find_traces_1_round): Use counts only.
+	(push_to_next_round_p): Likewise.
+	(find_traces): Likewise.
+	(rotate_loop): Likewise.
+	(find_traces_1_round): Likewise.
+	(connect_traces): Likewise.
+	(edge_order): Likewise.
+
+2017-11-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (output_return_instruction): Add comments to
+	indicate requirement for cmse_nonsecure_entry return to account
+	for the size of clearing instruction output here.
+	(thumb_exit): Likewise.
+	* config/arm/thumb2.md (thumb2_cmse_entry_return): Fix length for
+	return in hardfloat mode.
+
+2017-11-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (machine_function): Add a bool,
+	"toc_is_wrapped_separately".
+	(rs6000_option_override_internal): Enable OPTION_MASK_SAVE_TOC_INDIRECT
+	if it wasn't explicitly set or unset, we are optimizing for speed, and
+	doing separate shrink-wrapping.
+	(rs6000_get_separate_components): Enable the TOC component if
+	saving the TOC register in the prologue.
+	(rs6000_components_for_bb): Handle the TOC component.
+	(rs6000_emit_prologue_components): Store the TOC register where needed.
+	(rs6000_set_handled_components): Mark TOC as handled, if handled.
+	(rs6000_emit_prologue): Don't save the TOC if that is already done.
+
+2017-11-09  Martin Jambor  <mjambor@suse.cz>
+
+	* ipa-param-manipulation.c: New file.
+	* ipa-param-manipulation.h: Likewise.
+	* Makefile.in (OBJS): Add ipa-param-manipulation.o.
+	(PLUGIN_HEADERS): Addded ipa-param-manipulation.h
+	* ipa-param.h (ipa_parm_op): Moved to ipa-param-manipulation.h.
+	(ipa_parm_adjustment): Likewise.
+	(ipa_parm_adjustment_vec): Likewise.
+	(ipa_get_vector_of_formal_parms): Moved declaration to
+	ipa-param-manipulation.h.
+	(ipa_get_vector_of_formal_parm_types): Likewise.
+	(ipa_modify_formal_parameters): Likewise.
+	(ipa_modify_call_arguments): Likewise.
+	(ipa_combine_adjustments): Likewise.
+	(ipa_dump_param_adjustments): Likewise.
+	(ipa_modify_expr): Likewise.
+	(ipa_get_adjustment_candidate): Likewise.
+	* ipa-prop.c (ipa_get_vector_of_formal_parms): Moved to
+	ipa-param-manipulation.c.
+	(ipa_get_vector_of_formal_parm_types): Likewise.
+	(ipa_modify_formal_parameters): Likewise.
+	(ipa_modify_call_arguments): Likewise.
+	(ipa_modify_expr): Likewise.
+	(get_ssa_base_param): Likewise.
+	(ipa_get_adjustment_candidate): Likewise.
+	(index_in_adjustments_multiple_times_p): Likewise.
+	(ipa_combine_adjustments): Likewise.
+	(ipa_dump_param_adjustments): Likewise.
+	* tree-sra.c: Also include ipa-param-manipulation.h
+	* omp-simd-clone.c: Include ipa-param-manipulation.h instead of
+	ipa-param.h.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/sourcebuild.texi (vect_masked_store): Document.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/sourcebuild.texi (vect_align_stack_vars): Document.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/sourcebuild.texi (vect_variable_length): Document.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/sourcebuild.texi (vect_unaligned_possible): Document.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/sourcebuild.texi (vect_element_align_preferred): Document.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/sourcebuild.texi (vect_perm_short, vect_perm_byte): Document
+	previously undocumented selectors.
+	(vect_perm3_byte, vect_perm3_short, vect_perm3_int): Document.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* doc/rtl.texi (const_vector): Say that elements can be
+	const_wide_ints too.
+	* emit-rtl.h (valid_for_const_vec_duplicate_p): Declare.
+	* emit-rtl.c (valid_for_const_vec_duplicate_p): New function.
+	(gen_vec_duplicate): Use it instead of CONSTANT_P.
+	* optabs.c (expand_vector_broadcast): Likewise.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_address_cost): Try using a
+	scaled index even if the unscaled address was invalid.
+	Don't increase the complexity of using a scale in that case.
+
+2017-11-09  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/rtl.texi: Rewrite the subreg rules so that they partition
+	the inner register into REGMODE_NATURAL_SIZE bytes rather than
+	UNITS_PER_WORD bytes.
+	* emit-rtl.c (validate_subreg): Divide subregs into blocks
+	based on REGMODE_NATURAL_SIZE of the inner mode.
+	(gen_lowpart_common): Split the SCALAR_FLOAT_MODE_P and
+	!SCALAR_FLOAT_MODE_P cases.  Use REGMODE_NATURAL_SIZE for the latter.
+	* expmed.c (lowpart_bit_field_p): Divide the value up into
+	chunks of REGMODE_NATURAL_SIZE rather than UNITS_PER_WORD.
+	* expr.c (store_constructor): Use REGMODE_NATURAL_SIZE to test
+	whether something is likely to occupy more than one register.
+
+2017-11-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/82879
+	* ipa-inline-transform.c (update_noncloned_frequencies): Use
+	profile_count::adjust_for_ipa_scaling.
+	* tree-inline.c (copy_bb, copy_cfg_body): Likewise.
+	* profile-count.c (profile_count::adjust_for_ipa_scaling): New member
+	function.
+	* profile-count.h (profile_count::adjust_for_ipa_scaling): Declare.
+
+2017-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimple-ssa-store-merging.c (count_multiple_uses): New function.
+	(split_group): Add total_orig and total_new arguments, estimate the
+	number of statements related to the store group without store merging
+	and with store merging.
+	(imm_store_chain_info::output_merged_store): Adjust split_group
+	callers, punt if estimated number of statements with store merging
+	is not smaller than estimated number of statements without it.
+	Formatting fix.
+	(handled_load): Remove has_single_use checks.
+	(pass_store_merging::process_store): Likewise.
+
+2017-11-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82902
+	* tree-ssa-phiprop.c (propagate_with_phi): Test proper type.
+
+2017-11-09  Martin Liska  <mliska@suse.cz>
+
+	PR target/82863
+	* emit-rtl.c (init_emit_regs): Initialize split_branch_probability to
+	uninitialized.
+
+2017-11-09  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/82669
+	* sbitmap.h (bmp_iter_set_init): Remove non needed check.
+
+2017-11-09  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/48463
+	* coverage.c (coverage_begin_function): Output also end locus
+	of a function and information whether the function is
+	artificial.
+	* gcov-dump.c (tag_function): Parse and print the information.
+	* gcov.c (INCLUDE_MAP): Add include.
+	(INCLUDE_SET): Likewise.
+	(struct line_info): Move earlier in the source file because
+	of vector<line_info> in function_info structure.
+	(line_info::line_info): Likewise.
+	(line_info::has_block): Likewise.
+	(struct source_info): Add new member index.
+	(source_info::get_functions_at_location): New function.
+	(function_info::group_line_p): New function.
+	(output_intermediate_line): New function.
+	(output_intermediate_file): Use the mentioned function.
+	(struct function_start): New.
+	(struct function_start_pair_hash): Likewise.
+	(process_file): Add code that identifies group functions.
+	Assign lines either to global or function scope.
+	(generate_results): Skip artificial functions.
+	(find_source): Assign index for each source file.
+	(read_graph_file): Read new flag artificial and end_line.
+	(add_line_counts): Assign it either to global of function scope.
+	(accumulate_line_counts): Isolate core of the function to
+	accumulate_line_info and call it for both function and global
+	scope lines.
+	(accumulate_line_info): New function.
+	(output_line_beginning): Fix GNU coding style.
+	(print_source_line): New function.
+	(output_line_details): Likewise.
+	(output_function_details): Likewise.
+	(output_lines): Iterate both source (global) scope and function
+	scope.
+	(struct function_line_start_cmp): New class.
+	* doc/gcov.texi: Reflect changes in documentation.
+
+2017-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/82837
+	* dwarf2out.c (const_ok_for_output_1): Reject NEG in addition to NOT.
+	(mem_loc_descriptor): Handle (const (neg (...))) as (neg (const (...)))
+	and similarly for not instead of neg.
+
+2017-11-08  Andi Kleen  <ak@linux.intel.com>
+
+	* config/i386/i386.opt: Add -mforce-indirect-call.
+	* config/i386/predicates.md: Check for flag_force_indirect_call.
+	* doc/invoke.texi: Document -mforce-indirect-call
+
+2017-11-08  Kito Cheng  <kito.cheng@gmail.com>
+
+	* config/riscv/riscv-protos.h (riscv_slow_unaligned_access_p):
+	New extern.
+	(MOVE_RATIO): Use riscv_slow_unaligned_access_p.
+	config/riscv/riscv.c (predict.h): New include.
+	(riscv_slow_unaligned_access_p): No longer static.
+	(riscv_block_move_straight): Add require.
+	* config/riscv/riscv-protos.h (riscv_hard_regno_nregs): Delete.
+
+2017-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82855
+	* config/i386/sse.md (<avx512>_eq<mode>3<mask_scalar_merge_name>,
+	<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Use
+	nonimmediate_operand predicate for operand 1 instead of
+	register_operand.
+
+2017-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64-simd.md (store_pair_lanes<mode>):
+	New pattern.
+	* config/aarch64/constraints.md (Uml): New constraint.
+	* config/aarch64/predicates.md (aarch64_mem_pair_lanes_operand): New
+	predicate.
+
+2017-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge
+	of two vec_duplicates into a vec_concat.
+
+2017-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* simplify-rtx.c (simplify_ternary_operation, VEC_MERGE):
+	Simplify vec_merge of vec_duplicate and vec_concat.
+	* config/aarch64/constraints.md (Utq): New constraint.
+	* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): New
+	define_insn.
+
+2017-11-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* simplify-rtx.c (simplify_ternary_operation, VEC_MERGE):
+	Simplify vec_merge of vec_duplicate and const_vector.
+	* config/aarch64/predicates.md (aarch64_simd_or_scalar_imm_zero):
+	New predicate.
+	* config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Use VDC
+	mode iterator.  Update predicate on operand 1 to
+	handle non-const_vec constants.  Delete constraints.
+	(*aarch64_combinez_be<mode>): Likewise for operand 2.
+
+2017-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78821
+	* gimple-ssa-store-merging.c (struct store_operand_info): Add bit_not_p
+	data member.
+	(store_operand_info::store_operand_info): Initialize it to false.
+	(pass_store_merging::terminate_all_aliasing_chains): Rewritten to use
+	ref_maybe_used_by_stmt_p and stmt_may_clobber_ref_p on lhs of each
+	store in the group, and if chain_info is non-NULL, to ignore altogether
+	that chain.
+	(compatible_load_p): Fail if bit_not_p does not match.
+	(imm_store_chain_info::output_merged_store): Handle bit_not_p loads.
+	(handled_load): Fill in bit_not_p.  Handle BIT_NOT_EXPR.
+	(pass_store_merging::process_store): Adjust
+	terminate_all_aliasing_chains calls to pass NULL in all current spots,
+	call terminate_all_aliasing_chains newly when adding a store into
+	a chain with non-NULL chain_info.
+
+2017-11-08  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_can_eliminate): Simplify logic.
+
+2017-11-08  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
+	Remove.
+	(aarch64_layout_frame): Initialise emit_frame_chain.
+	(aarch64_can_eliminate): Remove omit leaf frame pointer code.
+	(TARGET_FRAME_POINTER_REQUIRED): Remove define.
+
+2017-11-08  Martin Liska  <mliska@suse.cz>
+
+	* gimplify.c (expand_FALLTHROUGH_r): Simplify usage
+	of gimple_call_internal_p.
+
+2017-11-07  Tom de Vries  <tom@codesourcery.com>
+
+	* config/mips/mips.h (ASM_OUTPUT_LABELREF): Wrap in "do {} while (0)".
+
+2017-11-07  Tom de Vries  <tom@codesourcery.com>
+
+	* config/mips/mips.h (ASM_OUTPUT_CASE_END): Remove semicolon after
+	"do {} while (0)".
+
+2017-11-08  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/82792
+	* gimplify.c (expand_FALLTHROUGH_r): Skip IFN_ASAN_MARK.
+
+2017-11-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gimple-pretty-print.c (dump_profile): Return "" instead of NULL.
+
+2017-11-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82855
+	* config/i386/i386.md (SWI1248_AVX512BWDQ2_64): New mode iterator.
+	(*cmp<mode>_ccz_1): New insn with $k alternative.
+
+	PR target/82855
+	* config/i386/i386.c (ix86_swap_binary_operands_p): Treat
+	RTX_COMM_COMPARE as commutative as well.
+	(ix86_binary_operator_ok): Formatting fix.
+	* config/i386/sse.md (*mul<mode>3<mask_name><round_name>,
+	*<code><mode>3<mask_name><round_saeonly_name>,
+	*<code><mode>3<mask_name>, *<code>tf3, *mul<mode>3<mask_name>,
+	*<s>mul<mode>3_highpart<mask_name>,
+	*vec_widen_umult_even_v16si<mask_name>,
+	*vec_widen_umult_even_v8si<mask_name>,
+	*vec_widen_umult_even_v4si<mask_name>,
+	*vec_widen_smult_even_v16si<mask_name>,
+	*vec_widen_smult_even_v8si<mask_name>, *sse4_1_mulv2siv2di3<mask_name>,
+	*avx2_pmaddwd, *sse2_pmaddwd, *<sse4_1_avx2>_mul<mode>3<mask_name>,
+	*avx2_<code><mode>3, *avx512f_<code><mode>3<mask_name>,
+	*sse4_1_<code><mode>3<mask_name>, *<code>v8hi3,
+	*sse4_1_<code><mode>3<mask_name>, *<code>v16qi3, *avx2_eq<mode>3,
+	<avx512>_eq<mode>3<mask_scalar_merge_name>_1, *sse4_1_eqv2di3,
+	*sse2_eq<mode>3, <mask_codefor><code><mode>3<mask_name>,
+	*<code><mode>3, *<sse2_avx2>_uavg<mode>3<mask_name>,
+	*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>, *ssse3_pmulhrswv4hi3): Use
+	!(MEM_P (operands[1]) && MEM_P (operands[2])) condition instead of
+	ix86_binary_operator_ok.  Formatting fixes.
+	(*<plusminus_insn><mode>3<mask_name><round_name>,
+	*<plusminus_insn><mode>3, *<plusminus_insn><mode>3_m): Formatting
+	fixes.
+
+2017-11-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (GPR2): New mode_iterator.
+	("cstore<mode>4"): Don't always expand with rs6000_emit_int_cmove for
+	eq and ne if TARGET_ISEL.
+	(cmp): New code_iterator.
+	(UNS, UNSU_, UNSIK): New code_attrs.
+	(<code><GPR:mode><GPR2:mode>2_isel): New define_insn_and_split.
+	("eq<mode>3"): New define_expand, rename the define_insn_and_split
+	to...
+	("eq<mode>3"): ... this.
+	("ne<mode>3"): New define_expand, rename the define_insn_and_split
+	to...
+	("ne<mode>3"): ... this.
+
+2017-11-07  Julia Koval  <julia.koval@intel.com>
+
+	PR target/82812
+	* common/config/i386/i386-common.c
+	(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): Remove MPX from flag.
+	(ix86_handle_option): Move MPX to isa_flags2 and GFNI to isa_flags.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Ditto.
+	* config/i386/i386.opt: Ditto.
+	* config/i386/i386.c (ix86_target_string): Ditto.
+	(ix86_option_override_internal): Ditto.
+	(ix86_init_mpx_builtins): Move MPX to args2.
+	(ix86_expand_builtin): Special handling for OPTION_MASK_ISA_GFNI.
+	* config/i386/i386-builtin.def (__builtin_ia32_vgf2p8affineinvqb_v64qi,
+	__builtin_ia32_vgf2p8affineinvqb_v64qi_mask,
+	__builtin_ia32_vgf2p8affineinvqb_v32qi,
+	__builtin_ia32_vgf2p8affineinvqb_v32qi_mask,
+	__builtin_ia32_vgf2p8affineinvqb_v16qi,
+	__builtin_ia32_vgf2p8affineinvqb_v16qi_mask): Move to ARGS array.
+
+2017-11-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80425
+	* config/i386.i386.md (*zero_extendsidi2): Change (?r,*Yj), (?*Yi,r)
+	and (*x,m) to ($r,Yj), ($Yi,r) and ($x,m).
+	(zero-extendsidi peephole2): Remove peephole.
+
+2017-11-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR c/53037
+	* stor-layout.c: Include attribs.h.
+	(handle_warn_if_not_align): Replace test on TYPE_USER_ALIGN with
+	explicit lookup of "aligned" attribute.
+
+2017-11-07  Andrew Waterman  <andrew@sifive.com>
+
+	* config/riscv/riscv-protos.h (riscv_hard_regno_nregs): New prototype.
+	(riscv_expand_block_move): Likewise.
+	* config/riscv/riscv.h (MOVE_RATIO): Tune cost to movmemsi
+	implementation.
+	(RISCV_MAX_MOVE_BYTES_PER_LOOP_ITER): New define.
+	(RISCV_MAX_MOVE_BYTES_STRAIGHT): New define.
+	* config/riscv/riscv.c (riscv_block_move_straight): New function.
+	(riscv_adjust_block_mem): Likewise.
+	(riscv_block_move_loop): Likewise.
+	(riscv_expand_block_move): Likewise.
+	* config/riscv/riscv.md (movmemsi): New pattern.
+
+2017-11-07  Michael Clark  <michaeljclark@mac.com>
+
+	* config/riscv/linux.h (MUSL_ABI_SUFFIX): New define.
+	(MUSL_DYNAMIC_LINKER): Likewise.
+
+2017-11-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/aarch64/aarch64.md (ashl<mode>3, ashr<mode>3, lshr<mode>3)
+	(rotr<mode>3, rotl<mode>3): Use aarch64_reg_or_imm instead of
+	nonmmory_operand.
+
+2017-11-07  Richard Biener  <rguenther@suse.de>
+
+	* match.pd: Fix build.
+
+2017-11-07  Wilco Dijkstra  <wdijkstr@arm.com>
+	    Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	PR tree-optimization/71026
+	* match.pd: Canonicalize negate in division.
+
+2017-11-07  Sudakshina Das  <sudi.das@arm.com>
+
+	PR middle-end/80131
+	* match.pd: Simplify 1 << (C - x) where C = precision (x) - 1.
+
+2017-11-07  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd ((a&~b)|(a^b),(a&~b)^~a,(a|b)&~(a^b),a|~(a^b),
+	(a|b)|(a&^b),(a&b)|~(a^b),~(~a&b),~X^Y): New transformations.
+
+2017-11-07  Marc Glisse  <marc.glisse@inria.fr>
+
+	* fold-const.c (negate_expr_p) [PLUS_EXPR, MINUS_EXPR]: Handle
+	non-scalar integral types.
+	* match.pd (negate_expr_p): Handle MINUS_EXPR.
+	(-(A-B), -(~A)): New transformations.
+
+2017-11-07  Tom de Vries  <tom@codesourcery.com>
+
+	* config/powerpcspe/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
+	semicolon after "do {} while (0)".
+	* config/powerpcspe/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+	* config/powerpcspe/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+	* config/powerpcspe/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+	* config/powerpcspe/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+	* config/powerpcspe/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+
+2017-11-07  Tom de Vries  <tom@codesourcery.com>
+
+	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Remove semicolon
+	after "do {} while (0)".
+	* config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+	* config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+	* config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+	* config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+
+2017-11-07  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/82784
+	* config/arm/arm.c (HANDLE_NARROW_SHIFT_ARITH): Remove semicolon after
+	"while {} do (0)".
+	(arm_rtx_costs_internal): Add missing semicolon after
+	HANDLE_NARROW_SHIFT_ARITH call.
+
+2017-11-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
+	disable isel if it was not set explicitly.
+
+2017-11-06  James Bowman  <james.bowman@ftdichip.com>
+
+	* gcc/dwarf2out.c (modified_type_die): Retain ADDR_SPACE qualifiers.
+	(add_type_attribute) likewise.
+
+2017-11-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (ix86_can_use_return_insn_p): Use reference
+	of struct ix86_frame.
+	(ix86_initial_elimination_offset): Likewise.
+	(ix86_expand_split_stack_prologue): Likewise.
+
+2017-11-06  Marc Glisse  <marc.glisse@inria.fr>
+
+	* tree-vrp.h (enum value_range_type): Update stale comment.
+
+2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_expand_vec_perm)
+	(aarch64_expand_vec_perm_const): Take the number of units too.
+	* config/aarch64/aarch64.c (aarch64_expand_vec_perm)
+	(aarch64_expand_vec_perm_const): Likewise.
+	* config/aarch64/aarch64-simd.md (vec_perm_const<mode>)
+	(vec_perm<mode>): Update accordingly.
+
+2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_simd_vect_par_cnst_half):
+	Take the number of units too.
+	* config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Likewise.
+	(aarch64_simd_check_vect_par_cnst_half): Update call accordingly,
+	but check for a vector mode before rather than after the call.
+	* config/aarch64/aarch64-simd.md (aarch64_split_simd_mov<mode>)
+	(move_hi_quad_<mode>, vec_unpack<su>_hi_<mode>)
+	(vec_unpack<su>_lo_<mode, vec_widen_<su>mult_lo_<mode>)
+	(vec_widen_<su>mult_hi_<mode>, vec_unpacks_lo_<mode>)
+	(vec_unpacks_hi_<mode>, aarch64_saddl2<mode>, aarch64_uaddl2<mode>)
+	(aarch64_ssubl2<mode>, aarch64_usubl2<mode>, widen_ssum<mode>3)
+	(widen_usum<mode>3, aarch64_saddw2<mode>, aarch64_uaddw2<mode>)
+	(aarch64_ssubw2<mode>, aarch64_usubw2<mode>, aarch64_sqdmlal2<mode>)
+	(aarch64_sqdmlsl2<mode>, aarch64_sqdmlal2_lane<mode>)
+	(aarch64_sqdmlal2_laneq<mode>, aarch64_sqdmlsl2_lane<mode>)
+	(aarch64_sqdmlsl2_laneq<mode>, aarch64_sqdmlal2_n<mode>)
+	(aarch64_sqdmlsl2_n<mode>, aarch64_sqdmull2<mode>)
+	(aarch64_sqdmull2_lane<mode>, aarch64_sqdmull2_laneq<mode>)
+	(aarch64_sqdmull2_n<mode>): Update accordingly.
+
+2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_reverse_mask): Take
+	the number of units too.
+	* config/aarch64/aarch64.c (aarch64_reverse_mask): Likewise.
+	* config/aarch64/aarch64-simd.md (vec_load_lanesoi<mode>)
+	(vec_store_lanesoi<mode>, vec_load_lanesci<mode>)
+	(vec_store_lanesci<mode>, vec_load_lanesxi<mode>)
+	(vec_store_lanesxi<mode>): Update accordingly.
+
+2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_endian_lane_rtx): Declare.
+	* config/aarch64/aarch64.c (aarch64_endian_lane_rtx): New function.
+	* config/aarch64/aarch64.h (ENDIAN_LANE_N): Take the number
+	of units rather than the mode.
+	* config/aarch64/iterators.md (nunits): New mode attribute.
+	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args):
+	Use aarch64_endian_lane_rtx instead of GEN_INT (ENDIAN_LANE_N ...).
+	* config/aarch64/aarch64-simd.md (aarch64_dup_lane<mode>)
+	(aarch64_dup_lane_<vswap_width_name><mode>, *aarch64_mul3_elt<mode>)
+	(*aarch64_mul3_elt_<vswap_width_name><mode>): Likewise.
+	(*aarch64_mul3_elt_to_64v2df, *aarch64_mla_elt<mode>): Likewise.
+	(*aarch64_mla_elt_<vswap_width_name><mode>, *aarch64_mls_elt<mode>)
+	(*aarch64_mls_elt_<vswap_width_name><mode>, *aarch64_fma4_elt<mode>)
+	(*aarch64_fma4_elt_<vswap_width_name><mode>):: Likewise.
+	(*aarch64_fma4_elt_to_64v2df, *aarch64_fnma4_elt<mode>): Likewise.
+	(*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
+	(*aarch64_fnma4_elt_to_64v2df, reduc_plus_scal_<mode>): Likewise.
+	(reduc_plus_scal_v4sf, reduc_<maxmin_uns>_scal_<mode>): Likewise.
+	(reduc_<maxmin_uns>_scal_<mode>): Likewise.
+	(*aarch64_get_lane_extend<GPI:mode><VDQQH:mode>): Likewise.
+	(*aarch64_get_lane_zero_extendsi<mode>): Likewise.
+	(aarch64_get_lane<mode>, *aarch64_mulx_elt_<vswap_width_name><mode>)
+	(*aarch64_mulx_elt<mode>, *aarch64_vgetfmulx<mode>): Likewise.
+	(aarch64_sq<r>dmulh_lane<mode>, aarch64_sq<r>dmulh_laneq<mode>)
+	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Likewise.
+	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
+	(aarch64_sqdml<SBINQOPS:as>l_lane<mode>): Likewise.
+	(aarch64_sqdml<SBINQOPS:as>l_laneq<mode>): Likewise.
+	(aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
+	(aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
+	(aarch64_sqdmull_lane<mode>, aarch64_sqdmull_laneq<mode>): Likewise.
+	(aarch64_sqdmull2_lane<mode>_internal): Likewise.
+	(aarch64_sqdmull2_laneq<mode>_internal): Likewise.
+	(aarch64_vec_load_lanesoi_lane<mode>): Likewise.
+	(aarch64_vec_store_lanesoi_lane<mode>): Likewise.
+	(aarch64_vec_load_lanesci_lane<mode>): Likewise.
+	(aarch64_vec_store_lanesci_lane<mode>): Likewise.
+	(aarch64_vec_load_lanesxi_lane<mode>): Likewise.
+	(aarch64_vec_store_lanesxi_lane<mode>): Likewise.
+	(aarch64_simd_vec_set<mode>): Update use of ENDIAN_LANE_N.
+	(aarch64_simd_vec_setv2di): Likewise.
+
+2017-11-06  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c (P8V_BUILTIN_VEC_REVB): Add power 8
+	definitions.
+	(P9V_BUILTIN_VEC_REVB): Remove the power 9 instance definitions.
+	* config/rs6000/altivec.h (vec_revb): Change the #define from power 9
+	to power 8.
+	* config/rs6000/r6000-protos.h (swap_endian_selector_for_mode): Add new
+	extern declaration.
+	* config/rs6000/rs6000.c (swap_endian_selector_for_mode): Add function.
+	* config/rs6000/rs6000-builtin.def (BU_P8V_VSX_1, BU_P8V_OVERLOAD_1):
+	Add power 8 macro expansions.
+	(BU_P9V_OVERLOAD_1): Remove power 9 overload expansion.
+	* config/rs6000/vsx.md (revb_<mode>): Add define_expand to generate
+	power 8 instructions.  (VSX_XXBR): Add iterator.
+
+2017-11-06  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm.md (predicable_short_it): Change default to "no",
+	improve documentation, remove uses that are identical to the default.
+	(enabled_for_depr_it): Rename to enabled_for_short_it.
+	* gcc/config/arm/arm-fixed.md (predicable_short_it):
+	Remove default uses.
+	* gcc/config/arm/ldmstm.md (predicable_short_it): Likewise.
+	* gcc/config/arm/sync.md (predicable_short_it): Likewise.
+	* gcc/config/arm/thumb2.md (predicable_short_it): Likewise.
+	* gcc/config/arm/vfp.md (predicable_short_it): Likewise.
+
+2017-11-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/82748
+	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_1): Delete
+	float128 helper macros, which are no longer used after deleting
+	the old 'q' built-in functions, and moving the round to odd
+	built-in functions to being special built-in functions.
+	(BU_FLOAT128_2): Likewise.
+	(BU_FLOAT128_1_HW): Likewise.
+	(BU_FLOAT128_2_HW): Likewise.
+	(BU_FLOAT128_3_HW): Likewise.
+	(FABSQ): Delete old 'q' built-in functions.
+	(COPYSIGNQ): Likewise.
+	(SQRTF128_ODD): Move round to odd built-in functions to be
+	special built-in functions, so that we can handle
+	-mabi=ieeelongdouble.
+	(TRUNCF128_ODD): Likewise.
+	(ADDF128_ODD): Likewise.
+	(SUBF128_ODD): Likewise.
+	(MULF128_ODD): Likewise.
+	(DIVF128_ODD): Likewise.
+	(FMAF128_ODD): Likewise.
+	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Map old 'q'
+	built-in names to 'f128'.
+	* config/rs6000/rs6000.c (rs6000_fold_builtin): Remove folding the
+	old 'q' built-in functions, as the machine independent code for
+	'f128' built-in functions handles this.
+	(rs6000_expand_builtin): Add expansion for float128 round to odd
+	functions, keying off on -mabi=ieeelongdouble of whether to use
+	the KFmode or TFmode variant.
+	(rs6000_init_builtins): Initialize the _Float128 round to odd
+	built-in functions.
+	* doc/extend.texi (PowerPC Built-in Functions): Document the old
+	_Float128 'q' built-in functions are now mapped into the new
+	'f128' built-in functions.
+
+2017-11-06  David Edelsohn  <dje.gcc@gmail.com>
+
+	* collect2.c (add_lto_object): Compile for OBJECT_COFF.
+	(scan_prog_file): Don't skip PASS_LTOINFO. Scan for LTO objects.
+
+2017-11-06  David Malcolm  <dmalcolm@redhat.com>
+
+	PR jit/82826
+	* ipa-fnsummary.c (ipa_fnsummary_c_finalize): New function.
+	* ipa-fnsummary.h (ipa_fnsummary_c_finalize): New decl.
+	* toplev.c: Include "ipa-fnsummary.h".
+	(toplev::finalize): Call ipa_fnsummary_c_finalize.
+
+2017-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/82838
+	* gimple-ssa-store-merging.c
+	(imm_store_chain_info::output_merged_store): Call force_gimple_operand_1
+	on a separate gimple_seq which is then appended to seq.
+
+2017-11-06  Jeff Law  <law@redhat.com>
+
+	PR target/82788
+	* config/i386/i386.c (PROBE_INTERVAL): Remove.
+	(get_probe_interval): New functions.
+	(ix86_adjust_stack_and_probe_stack_clash): Use get_probe_interval.
+	(ix86_adjust_stack_and_probe): Likewise.
+	(output_adjust_stack_and_probe): Likewise.
+	(ix86_emit_probe_stack_range): Likewise.
+	(ix86_expand_prologue): Likewise.
+
+2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/82816
+	* tree-ssa-math-opts.c (convert_mult_to_widen): Return false
+	if the modes of the two types are the same.
+	(convert_plusminus_to_widen): Likewise.
+
+2017-11-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.md (*p9_vadu<mode>3) Rename to
+	p9_vadu<mode>3.
+	(usadv16qi): New define_expand.
+	(usadv8hi): New define_expand.
+
+2017-11-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR bootstrap/82832
+	* ipa-inline-transform.c (update_noncloned_frequencies): Always
+	scale.
+	(inline_transform): Likewise.
+	* predict.c (counts_to_freqs): Remove useless conditional.
+	* profile-count.h (profile_count::apply_scale): Move sanity check.
+	* tree-inline.c (copy_bb): Always scale.
+	(copy_cfg_body): Likewise.
+
+2017-11-06  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	PR target/67591
+	* config/arm/arm.md (*sub_shiftsi): Add predicable_short_it
+	attribute.
+	(*cmp_ite0): Add enabled_for_depr_it attribute.
+	(*cmp_ite1): Likewise.
+
+2017-11-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_insn_cost): Handle TYPE_MFCR and
+	TYPE_MFCRF.
+
+2017-11-06  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vrp.c (vrp_int_const_binop): Return true on success and
+	return the value by pointer.
+	(extract_range_from_multiplicative_op_1): Update accordingly.
+	Return as soon as an operation fails.
+
+2017-11-05  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/82784
+	* asan.c (DEF_SANITIZER_BUILTIN_1): Factor out of ...
+	(DEF_SANITIZER_BUILTIN): ... here.
+	(initialize_sanitizer_builtins): Use DEF_SANITIZER_BUILTIN_1 instead of
+	DEF_SANITIZER_BUILTIN in if stmt.  Add missing semicolon.
+
+2017-11-05  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/82784
+	* config/elfos.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove semicolon after
+	macro body.
+	(ASM_OUTPUT_CASE_LABEL): Add semicolon after
+	ASM_OUTPUT_BEFORE_CASE_LABEL call.
+	* config/arc/arc.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove semicolon
+	after macro body.
+	* config/m68k/m68kelf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Same.
+	* config/mips/mips.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Same.
+	* config/v850/v850.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Same.
+
+2017-11-05  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/82784
+	* graphite-scop-detection.c (DEBUG_PRINT): Remove semicolon after
+	"do {} while (0)".
+
+2017-11-04  Michael Clark  <michaeljclark@mac.com>
+
+	* config/riscv/riscv.c (riscv_print_operand): Add a 'i' format.
+	config/riscv/riscv.md (addsi3): Use 'i' for immediates.
+	(adddi3): Likewise.
+	(*addsi3_extended): Likewise.
+	(*addsi3_extended2): Likewise.
+	(<optab>si3): Likewise.
+	(<optab>di3): Likewise.
+	(<optab><mode>3): Likewise.
+	(<*optabe>si3_internal): Likewise.
+	(zero_extendqi<SUPERQI:mode>2): Likewise.
+	(*add<mode>hi3): Likewise.
+	(*xor<mode>hi3): Likewise.
+	(<optab>di3): Likewise.
+	(*<optab>si3_extend): Likewise.
+	(*sge<u>_<X:mode><GPR:mode>): Likewise.
+	(*slt<u>_<X:mode><GPR:mode>): Likewise.
+	(*sle<u>_<X:mode><GPR:mode>): Likewise.
+
+2017-11-04  Andrew Waterman  <andrew@sifive.com>
+
+	* config/riscv/riscv.c (riscv_option_override): Conditionally set
+	TARGET_STRICT_ALIGN based upon -mtune argument.
+
+2017-11-04  Andrew Waterman  <andrew@sifive.com>
+
+	* config/riscv/riscv.h (SLOW_BYTE_ACCESS): Change to 1.
+
+2017-11-04  Daniel Santos  <daniel.santos@pobox.com>
+
+	* config/i386/i386.c (choose_basereg): Use optional scratch
+	register and add assertion.
+	(x86_emit_outlined_ms2sysv_save): Use scratch register when
+	needed, and don't allocate stack.
+	(ix86_expand_prologue): Rearrange where SSE saves/stub call is
+	emitted, correct wrong allocation with -mcall-ms2sysv-xlogues.
+	(ix86_emit_outlined_ms2sysv_restore): Fix non-immediate offsets.
+
+2017-11-03  Jeff Law  <law@redhat.com>
+
+	* config/i386/i386.c (ix86_emit_restore_reg_using_pop): Prototype.
+	(ix86_adjust_stack_and_probe_stack_clash): Use a push/pop sequence
+	to probe at the start of a noreturn function.
+
+2017-11-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78821
+	* gimple-ssa-store-merging.c: Update the file comment.
+	(MAX_STORE_ALIAS_CHECKS): Define.
+	(struct store_operand_info): New type.
+	(store_operand_info::store_operand_info): New constructor.
+	(struct store_immediate_info): Add rhs_code and ops data members.
+	(store_immediate_info::store_immediate_info): Add rhscode, op0r
+	and op1r arguments to the ctor, initialize corresponding data members.
+	(struct merged_store_group): Add load_align_base and load_align
+	data members.
+	(merged_store_group::merged_store_group): Initialize them.
+	(merged_store_group::do_merge): Update them.
+	(merged_store_group::apply_stores): Pick the constant for
+	encode_tree_to_bitpos from one of the two operands, or skip
+	encode_tree_to_bitpos if neither operand is a constant.
+	(class pass_store_merging): Add process_store method decl.  Remove
+	bool argument from terminate_all_aliasing_chains method decl.
+	(pass_store_merging::terminate_all_aliasing_chains): Remove
+	var_offset_p argument and corresponding handling.
+	(stmts_may_clobber_ref_p): New function.
+	(compatible_load_p): New function.
+	(imm_store_chain_info::coalesce_immediate_stores): Terminate group
+	if there is overlap and rhs_code is not INTEGER_CST.  For
+	non-overlapping stores terminate group if rhs is not mergeable.
+	(get_alias_type_for_stmts): Change first argument from
+	auto_vec<gimple *> & to vec<gimple *> &.  Add IS_LOAD, CLIQUEP and
+	BASEP arguments.  If IS_LOAD is true, look at rhs1 of the stmts
+	instead of lhs.  Compute *CLIQUEP and *BASEP in addition to the
+	alias type.
+	(get_location_for_stmts): Change first argument from
+	auto_vec<gimple *> & to vec<gimple *> &.
+	(struct split_store): Remove orig_stmts data member, add orig_stores.
+	(split_store::split_store): Create orig_stores rather than orig_stmts.
+	(find_constituent_stmts): Renamed to ...
+	(find_constituent_stores): ... this.  Change second argument from
+	vec<gimple *> * to vec<store_immediate_info *> *, push pointers
+	to info structures rather than the statements.
+	(split_group): Rename ALLOW_UNALIGNED argument to
+	ALLOW_UNALIGNED_STORE, add ALLOW_UNALIGNED_LOAD argument and handle
+	it.  Adjust find_constituent_stores caller.
+	(imm_store_chain_info::output_merged_store): Handle rhs_code other
+	than INTEGER_CST, adjust split_group, get_alias_type_for_stmts and
+	get_location_for_stmts callers.  Set MR_DEPENDENCE_CLIQUE and
+	MR_DEPENDENCE_BASE on the MEM_REFs if they are the same in all stores.
+	(mem_valid_for_store_merging): New function.
+	(handled_load): New function.
+	(pass_store_merging::process_store): New method.
+	(pass_store_merging::execute): Use process_store method.  Adjust
+	terminate_all_aliasing_chains caller.
+
+2017-11-03  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
+	Return true for more constants, symbols and label references.
+	(aarch64_valid_floating_const): Remove unused function.
+
+2017-11-03  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR target/82786
+	* config/aarch64/aarch64.c (aarch64_layout_frame):
+	Undo forcing of LR at bottom of frame.
+
+2017-11-03  Jeff Law  <law@redhat.com>
+
+	PR target/82823
+	* config/i386/i386.c (ix86_expand_prologue): Tighten assert
+	for int_registers_saved.
+
+	* cfganal.c (single_pred_edge_ignoring_loop_edges): New function
+	extracted from tree-ssa-dom.c.
+	* cfganal.h (single_pred_edge_ignoring_loop_edges): Prototype.
+	* tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): Remove.
+	(record_equivalences_from_incoming_edge): Add additional argument
+	to single_pred_edge_ignoring_loop_edges call.
+	* tree-ssa-uncprop.c (single_incoming_edge_ignoring_loop_edges): Remove.
+	(uncprop_dom_walker::before_dom_children): Add additional argument
+	to single_pred_edge_ignoring_loop_edges call.
+	* tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Use
+	single_pred_edge_ignoring_loop_edges rather than open coding.
+	* tree-vrp.c (evrp_dom_walker::before_dom_children): Similarly.
+
+2017-11-03  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (-(-A)): Rewrite.
+
+2017-11-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs60000-protos.h (rs6000_emit_sISEL): Delete.
+	(rs6000_emit_int_cmove): New declaration.
+	* config/rs6000/rs6000.c (rs6000_emit_int_cmove): Delete declaration.
+	(rs6000_emit_sISEL): Delete.
+	(rs6000_emit_int_cmove): Make non-static.
+	* config/rs6000/rs6000.md (cstore<mode>4): Use rs6000_emit_int_cmove
+	instead of rs6000_emit_sISEL.
+
+2017-11-03  Jan Hubicka  <hubicka@ucw.cz>
+
+	* asan.c (create_cond_insert_point): Maintain profile.
+	* ipa-utils.c (ipa_merge_profiles): Be sure only IPA profiles are
+	merged.
+	* basic-block.h (struct basic_block_def): Remove frequency.
+	(EDGE_FREQUENCY): Use to_frequency
+	* bb-reorder.c (push_to_next_round_p): Use only IPA counts for global
+	heuristics.
+	(find_traces): Update to use to_frequency.
+	(find_traces_1_round): Likewise; use only IPA counts.
+	(bb_to_key): Likewise.
+	(connect_traces): Use IPA counts only.
+	(copy_bb_p): Update to use to_frequency.
+	(fix_up_crossing_landing_pad): Likewise.
+	(sanitize_hot_paths): Likewise.
+	* bt-load.c (basic_block_freq): Likewise.
+	* cfg.c (init_flow): Set count_max to uninitialized.
+	(check_bb_profile): Remove frequencies; check counts.
+	(dump_bb_info): Do not dump frequencies.
+	(update_bb_profile_for_threading): Update counts only.
+	(scale_bbs_frequencies_int): Likewise.
+	(MAX_SAFE_MULTIPLIER): Remove.
+	(scale_bbs_frequencies_gcov_type): Update counts only.
+	(scale_bbs_frequencies_profile_count): Update counts only.
+	(scale_bbs_frequencies): Update counts only.
+	* cfg.h (struct control_flow_graph): Add count-max.
+	(update_bb_profile_for_threading): Update prototype.
+	* cfgbuild.c (find_bb_boundaries): Do not update frequencies.
+	(find_many_sub_basic_blocks): Likewise.
+	* cfgcleanup.c (try_forward_edges): Likewise.
+	(try_crossjump_to_edge): Likewise.
+	* cfgexpand.c (expand_gimple_cond): Likewise.
+	(expand_gimple_tailcall): Likewise.
+	(construct_init_block): Likewise.
+	(construct_exit_block): Likewise.
+	* cfghooks.c (verify_flow_info): Check consistency of counts.
+	(dump_bb_for_graph): Do not dump frequencies.
+	(split_block_1): Do not update frequencies.
+	(split_edge): Do not update frequencies.
+	(make_forwarder_block): Do not update frequencies.
+	(duplicate_block): Do not update frequencies.
+	(account_profile_record): Do not update frequencies.
+	* cfgloop.c (find_subloop_latch_edge_by_profile): Use IPA counts
+	for global heuristics.
+	* cfgloopanal.c (average_num_loop_insns): Update to use to_frequency.
+	(expected_loop_iterations_unbounded): Use counts only.
+	* cfgloopmanip.c (scale_loop_profile): Simplify.
+	(create_empty_loop_on_edge): Simplify
+	(loopify): Simplify
+	(duplicate_loop_to_header_edge): Simplify
+	* cfgrtl.c (force_nonfallthru_and_redirect): Update profile.
+	(update_br_prob_note): Take care of removing note when profile
+	becomes undefined.
+	(relink_block_chain): Do not dump frequency.
+	(rtl_account_profile_record): Use to_frequency.
+	* cgraph.c (symbol_table::create_edge): Convert count to ipa count.
+	(cgraph_edge::redirect_call_stmt_to_calle): Conver tcount to ipa count.
+	(cgraph_update_edges_for_call_stmt_node): Likewise.
+	(cgraph_edge::verify_count_and_frequency): Update.
+	(cgraph_node::verify_node): Temporarily disable frequency verification.
+	* cgraphbuild.c (compute_call_stmt_bb_frequency): Use
+	to_cgraph_frequency.
+	(cgraph_edge::rebuild_edges): Convert to ipa counts.
+	* cgraphunit.c (init_lowered_empty_function): Do not initialize
+	frequencies.
+	(cgraph_node::expand_thunk): Update profile.
+	* except.c (dw2_build_landing_pads): Do not update frequency.
+	* final.c (compute_alignments): Use to_frequency.
+	(dump_basic_block_info): Do not dump frequency.
+	* gimple-pretty-print.c (dump_profile): Do not dump frequency.
+	(dump_gimple_bb_header): Do not dump frequency.
+	* gimple-ssa-isolate-paths.c (isolate_path): Do not update frequency;
+	do update count.
+	* gimple-streamer-in.c (input_bb): Do not stream frequency.
+	* gimple-streamer-out.c (output_bb): Do not stream frequency.
+	* haifa-sched.c (sched_pressure_start_bb): Use to_freuqency.
+	(init_before_recovery): Do not update frequency.
+	(sched_create_recovery_edges): Do not update frequency.
+	* hsa-gen.c (convert_switch_statements): Do not update frequency.
+	* ipa-cp.c (ipcp_propagate_stage): Update search for max_count.
+	(ipa_cp_c_finalize): Set max_count to uninitialized.
+	* ipa-fnsummary.c (get_minimal_bb): Use counts.
+	(param_change_prob): Use counts.
+	* ipa-profile.c (ipa_profile_generate_summary): Do not summarize
+	local profiles.
+	* ipa-split.c (consider_split): Use to_frequency.
+	(split_function): Use to_frequency.
+	* ira-build.c (loop_compare_func): Likewise.
+	(mark_loops_for_removal): Likewise.
+	(mark_all_loops_for_removal): Likewise.
+	* loop-doloop.c (doloop_modify): Do not update frequency.
+	* loop-unroll.c (unroll_loop_runtime_iterations): Do not update
+	frequency.
+	* lto-streamer-in.c (input_function): Update count_max.
+	* omp-expand.c (expand_omp_taskreg): Update count_max.
+	* omp-simd-clone.c (simd_clone_adjust): Update profile.
+	* predict.c (maybe_hot_frequency_p): Use to_frequency.
+	(maybe_hot_count_p): Use ipa counts only.
+	(maybe_hot_bb_p): Simplify.
+	(maybe_hot_edge_p): Simplify.
+	(probably_never_executed): Do not take frequency argument.
+	(probably_never_executed_bb_p): Do not pass frequency.
+	(probably_never_executed_edge_p): Likewise.
+	(combine_predictions_for_bb): Check that profile is nonzero.
+	(propagate_freq): Do not set frequency.
+	(drop_profile): Simplify.
+	(counts_to_freqs): Simplify.
+	(expensive_function_p): Use to_frequency.
+	(propagate_unlikely_bbs_forward): Simplify.
+	(determine_unlikely_bbs): Simplify.
+	(estimate_bb_frequencies): Add hack to silence graphite issues.
+	(compute_function_frequency): Use ipa counts.
+	(pass_profile::execute): Update.
+	(rebuild_frequencies): Use counts only.
+	(force_edge_cold): Use counts only.
+	* profile-count.c (profile_count::dump): Dump new count types.
+	(profile_count::differs_from_p): Check compatiblity.
+	(profile_count::to_frequency): New function.
+	(profile_count::to_cgraph_frequency): New function.
+	* profile-count.h (struct function): Declare.
+	(enum profile_quality): Add profile_guessed_local and
+	profile_guessed_global0.
+	(class profile_proability): Decrease number of bits to 29;
+	update from_reg_br_prob_note and to_reg_br_prob_note.
+	(class profile_count: Update comment; decrease number of bits
+	to 61. Check compatibility.
+	(profile_count::compatible_p): New private member function.
+	(profile_count::ipa_p): New member function.
+	(profile_count::operator<): Handle global zero correctly.
+	(profile_count::operator>): Handle global zero correctly.
+	(profile_count::operator<=): Handle global zero correctly.
+	(profile_count::operator>=): Handle global zero correctly.
+	(profile_count::nonzero_p): New member function.
+	(profile_count::force_nonzero): New member function.
+	(profile_count::max): New member function.
+	(profile_count::apply_scale): Handle IPA scalling.
+	(profile_count::guessed_local): New member function.
+	(profile_count::global0): New member function.
+	(profile_count::ipa): New member function.
+	(profile_count::to_frequency): Declare.
+	(profile_count::to_cgraph_frequency): Declare.
+	* profile.c (OVERLAP_BASE): Delete.
+	(compute_frequency_overlap): Delete.
+	(compute_branch_probabilities): Do not use compute_frequency_overlap.
+	* regs.h (REG_FREQ_FROM_BB): Use to_frequency.
+	* sched-ebb.c (rank): Use counts only.
+	* shrink-wrap.c (handle_simple_exit): Use counts only.
+	(try_shrink_wrapping): Use counts only.
+	(place_prologue_for_one_component): Use counts only.
+	* tracer.c (find_best_predecessor): Use to_frequency.
+	(find_trace): Use to_frequency.
+	(tail_duplicate): Use to_frequency.
+	* trans-mem.c (expand_transaction): Do not update frequency.
+	* tree-call-cdce.c: Do not update frequency.
+	* tree-cfg.c (gimple_find_sub_bbs): Likewise.
+	(gimple_merge_blocks): Likewise.
+	(gimple_split_edge): Likewise.
+	(gimple_duplicate_sese_region): Likewise.
+	(gimple_duplicate_sese_tail): Likewise.
+	(move_sese_region_to_fn): Likewise.
+	(gimple_account_profile_record): Likewise.
+	(insert_cond_bb): Likewise.
+	* tree-complex.c (expand_complex_div_wide): Likewise.
+	* tree-eh.c (lower_resx): Update profile.
+	* tree-inline.c (copy_bb): Simplify count scaling; do not scale
+	frequencies.
+	(initialize_cfun): Do not initialize frequencies
+	(freqs_to_counts): Delete.
+	(copy_cfg_body): Ignore count parameter.
+	(copy_body): Update.
+	(expand_call_inline): Update count_max.
+	(optimize_inline_calls): Update count_max.
+	(tree_function_versioning): Update count_max.
+	* tree-ssa-coalesce.c (coalesce_cost_bb): Use to_frequency.
+	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Do not update
+	frequency.
+	* tree-ssa-loop-im.c (execute_sm_if_changed): Use counts only.
+	* tree-ssa-loop-ivcanon.c (unloop_loops): Do not update freuqency.
+	(try_peel_loop): Likewise.
+	* tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at): Use
+	to_frequency.
+	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): Pass -1.
+	(tree_transform_and_unroll_loop): Do not use frequencies
+	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations):
+	Use reliable prediction only.
+	* tree-ssa-loop-unswitch.c (hoist_guard): Do not use frequencies.
+	* tree-ssa-sink.c (select_best_block): Use to_frequency.
+	* tree-ssa-tail-merge.c (replace_block_by): Temporarily disable
+	probability scaling.
+	* tree-ssa-threadupdate.c (create_block_for_threading): Do
+	not update frequency
+	(any_remaining_duplicated_blocks): Likewise.
+	(update_profile): Likewise.
+	(estimated_freqs_path): Delete.
+	(freqs_to_counts_path): Delete.
+	(clear_counts_path): Delete.
+	(ssa_fix_duplicate_block_edges): Likewise.
+	(duplicate_thread_path): Likewise.
+	* tree-switch-conversion.c (gen_inbound_check): Use counts.
+	* tree-tailcall.c (decrease_profile): Do not update frequency.
+	(eliminate_tail_call): Likewise.
+	* tree-vect-loop-manip.c (vect_do_peeling): Likewise.
+	* tree-vect-loop.c (scale_profile_for_vect_loop): Likewise.
+	(optimize_mask_stores): Likewise.
+	* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
+	* ubsan.c (ubsan_expand_null_ifn): Update profile.
+	(ubsan_expand_ptr_ifn): Update profile.
+	* value-prof.c (gimple_ic): Simplify.
+	* value-prof.h (gimple_ic): Update prototype.
+	* ipa-inline-transform.c (inline_transform): Fix scaling conditoins.
+	* ipa-inline.c (compute_uninlined_call_time): Be sure that
+	counts are nonzero.
+	(want_inline_self_recursive_call_p): Likewise.
+	(resolve_noninline_speculation): Only cummulate defined counts.
+	(inline_small_functions): Use nonzero_p.
+	(ipa_inline): Do not access freed node.
+
+2017-11-03  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_override_options_internal):
+	Set PARAM_SCHED_PRESSURE_ALGORITHM to SCHED_PRESSURE_MODEL.
+
+2017-11-03  Kito Cheng  <kito.cheng@gmail.com>
+
+	* config/riscv/riscv.c (riscv_legitimize_move): Handle
+	non-legitimate address.
+
+2017-11-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (*lt0_disi): Delete.
+	(*lt0_<mode>di, *lt0_<mode>si): New.
+
+2017-11-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (move_from_CR_ov_bit): Change condition to
+	TARGET_PAIRED_FLOAT.
+
+2017-11-03  Siddhesh Poyarekar  <siddhesh.poyarekar@linaro.org>
+	    Jim Wilson  <jim.wilson@linaro.org>
+
+	* config/aarch64/aarch64-cores.def (saphira): New CPU.
+	* config/aarch64/aarch64-tune.md: Regenerated.
+	* doc/invoke.texi (AArch64 Options/-mtune): Add "saphira".
+	* gcc/config/aarch64/aarch64.c (saphira_tunings): New tuning table.
+
+2017-11-03  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* config/arc/arc.c (arc_save_restore): Corrected CFA note.
+	(arc_expand_prologue): Restore blink for millicode.
+	* config/arc/linux.h (LINK_EH_SPEC): Defined.
+
+2017-11-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR target/82809
+	* config/i386/i386.c (ix86_vector_duplicate_value): Use
+	gen_vec_duplicate after forcing the scalar into a register.
+
+2017-11-02  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine (try_combine): Print the insns input to try_combine to the
+	dump file.
+
+2017-11-02  Steve Ellcey  <sellcey@cavium.com>
+
+	PR target/79868
+	* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
+	Remove second argument from aarch64_process_target_attr call.
+	* config/aarch64/aarch64-protos.h (aarch64_process_target_attr):
+	Ditto.
+	* config/aarch64/aarch64.c (aarch64_attribute_info): Change
+	field type.
+	(aarch64_handle_attr_arch): Remove second argument.
+	(aarch64_handle_attr_cpu): Ditto.
+	(aarch64_handle_attr_tune): Ditto.
+	(aarch64_handle_attr_isa_flags): Ditto.
+	(aarch64_process_one_target_attr): Ditto.
+	(aarch64_process_target_attr): Ditto.
+	(aarch64_option_valid_attribute_p): Remove second argument.
+	on aarch64_process_target_attr call.
+
+2017-11-02  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic.c: Include "selftest-diagnostic.h".
+	(selftest::assert_location_text): New function.
+	(selftest::test_diagnostic_get_location_text): New function.
+	(selftest::diagnostic_c_tests): Call it.
+
+2017-11-02  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS-libcommon): Add selftest-diagnostic.o.
+	* diagnostic-show-locus.c: Include "selftest-diagnostic.h".
+	(class selftest::test_diagnostic_context): Move to...
+	* selftest-diagnostic.c: New file.
+	* selftest-diagnostic.h: New file.
+
+2017-11-02  James Bowman  <james.bowman@ftdichip.com>
+
+	* config/ft32/ft32.c (ft32_addr_space_legitimate_address_p): increase
+	offset range for FT32B.
+	* config/ft32/ft32.h: option "mcompress" enables relaxation.
+	* config/ft32/ft32.md: Add TARGET_NOPM.
+	* config/ft32/ft32.opt: Add mft32b, mcompress, mnopm.
+	* gcc/doc/invoke.texi: Add mft32b, mcompress, mnopm.
+
+2017-11-02  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.h (MALLOC_ABI_ALIGNMENT): New define.
+
+2017-11-02  Jeff Law  <law@redhat.com>
+
+	* gimple-ssa-sprintf.c (sprintf_dom_walker): Remove
+	virtual keyword on FINAL OVERRIDE members.
+
+	* tree-ssa-propagate.h (ssa_propagation_engine): Group
+	virtuals together.  Add virtual destructor.
+	(substitute_and_fold_engine): Similarly.
+
+2017-11-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* x86-tune.def (X86_TUNE_USE_INCDEC): Enable for Haswell+.
+
+2017-11-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82795
+	* tree-if-conv.c (predicate_mem_writes): Remove bogus assert.
+
+2017-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Don't require
+	gcc_SUN_LD_VERSION.
+	(gcc_GAS_CHECK_FEATURE): Remove.
+	* configure.ac (ld_vers) <*-*-solaris2*>: Move comments from
+	gcc_AC_INITFINI_ARRAY here.  Update for Solaris 11.4 changes.
+	* configure: Regenerate.
+
+2017-11-02  Claudiu Zissulescu <claziss@synopsys.com>
+
+	* config/arc/arc.c (hwloop_optimize): Account for empty
+	body loops.
+
+2017-11-02  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/82765
+	* varasm.c (decode_addr_const): Make offset HOST_WIDE_INT.
+	Truncate ARRAY_REF index and element size.
+
+2017-11-01  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* doc/invoke.texi (RISC-V Options): Use "@minus{}2 GB", not "-2 GB".
+
+2017-11-01  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-ccp.c (ccp_folder): New class derived from
+	substitute_and_fold_engine.
+	(ccp_folder::get_value): New member function.
+	(ccp_folder::fold_stmt): Renamed from ccp_fold_stmt.
+	(ccp_fold_stmt): Remove prototype.
+	(ccp_finalize): Call substitute_and_fold from the ccp_class.
+	* tree-ssa-copy.c (copy_folder): New class derived from
+	substitute_and_fold_engine.
+	(copy_folder::get_value): Renamed from get_value.
+	(fini_copy_prop): Call substitute_and_fold from copy_folder class.
+	* tree-vrp.c (vrp_folder): New class derived from
+	substitute_and_fold_engine.
+	(vrp_folder::fold_stmt): Renamed from vrp_fold_stmt.
+	(vrp_folder::get_value): New member function.
+	(vrp_finalize): Call substitute_and_fold from vrp_folder class.
+	(evrp_dom_walker::before_dom_children): Similarly for replace_uses_in.
+	* tree-ssa-propagate.h (substitute_and_fold_engine): New class to
+	provide a class interface to folder/substitute routines.
+	(ssa_prop_fold_stmt_fn): Remove typedef.
+	(ssa_prop_get_value_fn): Likewise.
+	(subsitute_and_fold): Remove prototype.
+	(replace_uses_in): Likewise.
+	* tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in):
+	Renamed from replace_uses_in.  Call the virtual member function
+	(substitute_and_fold_engine::replace_phi_args_in): Similarly.
+	(substitute_and_fold_dom_walker): Remove initialization of
+	data member entries for calbacks.  Add substitute_and_fold_engine
+	member and initialize it.
+	(substitute_and_fold_dom_walker::before_dom_children0: Use the
+	member functions for get_value, replace_phi_args_in c
+	replace_uses_in, and fold_stmt calls.
+	(substitute_and_fold_engine::substitute_and_fold): Renamed from
+	substitute_and_fold.  Remove assert.   Update ctor call.
+
+	* tree-ssa-propagate.h (ssa_prop_visit_stmt_fn): Remove typedef.
+	(ssa_prop_visit_phi_fn): Likewise.
+	(class ssa_propagation_engine): New class to provide an interface
+	into ssa_propagate.
+	* tree-ssa-propagate.c (ssa_prop_visit_stmt): Remove file scoped
+	variable.
+	(ssa_prop_visit_phi): Likewise.
+	(ssa_propagation_engine::simulate_stmt): Moved into class.
+	Call visit_phi/visit_stmt from the class rather than via
+	file scoped static variables.
+	(ssa_propagation_engine::simulate_block): Moved into class.
+	(ssa_propagation_engine::process_ssa_edge_worklist): Similarly.
+	(ssa_propagation_engine::ssa_propagate): Similarly.  No longer
+	set file scoped statics for the visit_stmt/visit_phi callbacks.
+	* tree-complex.c (complex_propagate): New class derived from
+	ssa_propagation_engine.
+	(complex_propagate::visit_stmt): Renamed from complex_visit_stmt.
+	(complex_propagate::visit_phi): Renamed from complex_visit_phi.
+	(tree_lower_complex): Call ssa_propagate via the complex_propagate
+	class.
+	* tree-ssa-ccp.c: (ccp_propagate): New class derived from
+	ssa_propagation_engine.
+	(ccp_propagate::visit_phi): Renamed from ccp_visit_phi_node.
+	(ccp_propagate::visit_stmt): Renamed from ccp_visit_stmt.
+	(do_ssa_ccp): Call ssa_propagate from the ccp_propagate class.
+	* tree-ssa-copy.c (copy_prop): New class derived from
+	ssa_propagation_engine.
+	(copy_prop::visit_stmt): Renamed from copy_prop_visit_stmt.
+	(copy_prop::visit_phi): Renamed from copy_prop_visit_phi_node.
+	(execute_copy_prop): Call ssa_propagate from the copy_prop class.
+	* tree-vrp.c (vrp_prop): New class derived from ssa_propagation_engine.
+	(vrp_prop::visit_stmt): Renamed from vrp_visit_stmt.
+	(vrp_prop::visit_phi): Renamed from vrp_visit_phi_node.
+	(execute_vrp): Call ssa_propagate from the vrp_prop class.
+
+2017-11-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/82778
+	PR rtl-optimization/82597
+	* compare-elim.c (struct comparison): Add in_a_setter field.
+	(find_comparison_dom_walker::before_dom_children): Remove killed
+	bitmap and df_simulate_find_defs call, instead walk the defs.
+	Compute last_setter and initialize in_a_setter.  Merge definitions
+	with first initialization for a few variables.
+	(try_validate_parallel): Use insn_invalid_p instead of
+	recog_memoized.  Return insn rather than just the pattern.
+	(try_merge_compare): Fix up comment.  Don't uselessly test if
+	in_a is a REG_P.  Use cmp->in_a_setter instead of walking UD
+	chains.
+	(execute_compare_elim_after_reload): Remove df_chain_add_problem
+	call.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_rtx_costs): Use
+	aarch64_hard_regno_nregs to get the number of registers
+	in a mode.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/constraints.md (Upl): Rename to...
+	(Uaa): ...this.
+	* config/aarch64/aarch64.md
+	(*zero_extend<SHORT:mode><GPI:mode>2_aarch64, *addsi3_aarch64_uxtw):
+	Update accordingly.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_add_constant_internal)
+	(aarch64_add_constant, aarch64_add_sp, aarch64_sub_sp): Move
+	earlier in file.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_evpc_trn, aarch64_evpc_uzp)
+	(aarch64_evpc_zip, aarch64_evpc_ext, aarch64_evpc_rev)
+	(aarch64_evpc_dup): Generate rtl direcly, rather than using
+	named expanders.
+	(aarch64_expand_vec_perm_const_1): Explicitly check for permutes
+	of a single element.
+	* config/aarch64/iterators.md: Add a comment above the permute
+	unspecs to say that they are generated directly by
+	aarch64_expand_vec_perm_const.
+	* config/aarch64/aarch64-simd.md: Likewise the permute instructions.
+
+2017-11-01  Nathan Sidwell  <nathan@acm.org>
+
+	* tree-dump.c (dequeue_and_dump): Use HAS_DECL_ASSEMBLER_NAME_P.
+
+2017-11-01  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* doc/invoke.texi (RISC-V Options): Explicitly name the medlow
+	and medany code models, and describe what they do.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	Revert accidental duplicate:
+
+	* combine.c (can_change_dest_mode): Reject changes in
+	REGMODE_NATURAL_SIZE.
+
+2017-11-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/64682
+	PR rtl-optimization/69567
+	PR rtl-optimization/69737
+	PR rtl-optimization/82683
+	* combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same
+	register mentioned in the note, drop the note, unless it came from I3,
+	in which case it should go to I3 again.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-ssa-dse.c (normalize_ref): Check whether the ranges overlap
+	and return false if not.
+	(clear_bytes_written_by, live_bytes_read): Update accordingly.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-ssa-alias.h (ranges_overlap_p): Return false if either
+	range is known to be empty.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* simplify-rtx.c (simplify_const_unary_operation): Use GET_MODE_NUNITS
+	and CONST_VECTOR_NUNITS instead of computing the number of units from
+	the byte sizes of the vector and element.
+	(simplify_binary_operation_1): Likewise.
+	(simplify_const_binary_operation): Likewise.
+	(simplify_ternary_operation): Likewise.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* var-tracking.c (INT_MEM_OFFSET): Replace with...
+	(int_mem_offset): ...this new function.
+	(var_mem_set, var_mem_delete_and_set, var_mem_delete)
+	(find_mem_expr_in_1pdv, dataflow_set_preserve_mem_locs)
+	(same_variable_part_p, use_type, add_stores, vt_get_decl_and_offset):
+	Update accordingly.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* lower-subreg.c (interesting_mode_p): New function.
+	(compute_costs, find_decomposable_subregs, decompose_register)
+	(simplify_subreg_concatn, can_decompose_p, resolve_simple_move)
+	(resolve_clobber, dump_choices): Use it.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtlhash.c (add_rtx): Use add_hwi for 'w' and add_int for 'i'.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* alias.c (find_base_value, find_base_term): Only process integer
+	truncations.  Check the precision rather than the size.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (is_narrower_int_mode): New function
+	* optabs.c (expand_float, expand_fix): Use it.
+	* dwarf2out.c (rotate_loc_descriptor): Likewise.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (narrower_subreg_mode): New function.
+	* ira-color.c (update_costs_from_allocno): Use it.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* optabs-query.h (convert_optab_p): New function, split out from...
+	(convert_optab_handler): ...here.
+	(widening_optab_handler): Delete.
+	(find_widening_optab_handler): Remove permit_non_widening parameter.
+	(find_widening_optab_handler_and_mode): Likewise.  Provide an
+	override that operates on mode class wrappers.
+	* optabs-query.c (widening_optab_handler): Delete.
+	(find_widening_optab_handler_and_mode): Remove permit_non_widening
+	parameter.  Assert that the two modes are the same class and that
+	the "from" mode is narrower than the "to" mode.  Use
+	convert_optab_handler instead of widening_optab_handler.
+	* expmed.c (expmed_mult_highpart_optab): Use convert_optab_handler
+	instead of widening_optab_handler.
+	* expr.c (expand_expr_real_2): Update calls to
+	find_widening_optab_handler.
+	* optabs.c (expand_widen_pattern_expr): Likewise.
+	(expand_binop_directly): Take the insn_code as a parameter.
+	(expand_binop): Only call find_widening_optab_handler for
+	conversion optabs; use optab_handler otherwise.  Update calls
+	to find_widening_optab_handler and expand_binop_directly.
+	Use convert_optab_handler instead of widening_optab_handler.
+	* tree-ssa-math-opts.c (convert_mult_to_widen): Update calls to
+	find_widening_optab_handler and use scalar_mode rather than
+	machine_mode.
+	(convert_plusminus_to_widen): Likewise.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (fixed_size_mode): New class.
+	* rtl.h (get_pool_mode): Return fixed_size_mode.
+	* gengtype.c (main): Add fixed_size_mode.
+	* target.def (get_raw_result_mode): Return a fixed_size_mode.
+	(get_raw_arg_mode): Likewise.
+	* doc/tm.texi: Regenerate.
+	* targhooks.h (default_get_reg_raw_mode): Return a fixed_size_mode.
+	* targhooks.c (default_get_reg_raw_mode): Likewise.
+	* config/ia64/ia64.c (ia64_get_reg_raw_mode): Likewise.
+	* config/mips/mips.c (mips_get_reg_raw_mode): Likewise.
+	* config/msp430/msp430.c (msp430_get_raw_arg_mode): Likewise.
+	(msp430_get_raw_result_mode): Likewise.
+	* config/avr/avr-protos.h (regmask): Use as_a <fixed_side_mode>
+	* dbxout.c (dbxout_parms): Require fixed-size modes.
+	* expr.c (copy_blkmode_from_reg, copy_blkmode_to_reg): Likewise.
+	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Likewise.
+	* omp-low.c (lower_oacc_reductions): Likewise.
+	* simplify-rtx.c (simplify_immed_subreg): Take fixed_size_modes.
+	(simplify_subreg): Update accordingly.
+	* varasm.c (constant_descriptor_rtx::mode): Change to fixed_size_mode.
+	(force_const_mem): Update accordingly.  Return NULL_RTX for modes
+	that aren't fixed-size.
+	(get_pool_mode): Return a fixed_size_mode.
+	(output_constant_pool_2): Take a fixed_size_mode.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/rtl.texi (vec_series): Document.
+	(const): Say that the operand can be a vec_series.
+	* rtl.def (VEC_SERIES): New rtx code.
+	* rtl.h (const_vec_series_p_1): Declare.
+	(const_vec_series_p): New function.
+	* emit-rtl.h (gen_const_vec_series): Declare.
+	(gen_vec_series): Likewise.
+	* emit-rtl.c (const_vec_series_p_1, gen_const_vec_series)
+	(gen_vec_series): Likewise.
+	* optabs.c (expand_mult_highpart): Use gen_const_vec_series.
+	* simplify-rtx.c (simplify_unary_operation): Handle negations
+	of vector series.
+	(simplify_binary_operation_series): New function.
+	(simplify_binary_operation_1): Use it.  Handle VEC_SERIES.
+	(test_vector_ops_series): New function.
+	(test_vector_ops): Call it.
+	* config/powerpcspe/altivec.md (altivec_lvsl): Use
+	gen_const_vec_series.
+	(altivec_lvsr): Likewise.
+	* config/rs6000/altivec.md (altivec_lvsl, altivec_lvsr): Likewise.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* doc/rtl.texi (const): Update description of address constants.
+	Say that vector constants are allowed too.
+	* common.md (E, F): Use CONSTANT_P instead of checking for
+	CONST_VECTOR.
+	* emit-rtl.c (gen_lowpart_common): Use const_vec_p instead of
+	checking for CONST_VECTOR.
+	* expmed.c (make_tree): Use build_vector_from_val for a CONST
+	VEC_DUPLICATE.
+	* expr.c (expand_expr_real_2): Check for vector modes instead
+	of checking for CONST_VECTOR.
+	* rtl.h (const_vec_p): New function.
+	(const_vec_duplicate_p): Check for a CONST VEC_DUPLICATE.
+	(unwrap_const_vec_duplicate): Handle them here too.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    David Malcolm  <dmalcolm@redhat.com>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (vec_duplicate_p): New function.
+	* selftest-rtl.c (assert_rtx_eq_at): New function.
+	* selftest-rtl.h (ASSERT_RTX_EQ): New macro.
+	(assert_rtx_eq_at): Declare.
+	* selftest.h (selftest::simplify_rtx_c_tests): Declare.
+	* selftest-run-tests.c (selftest::run_tests): Call it.
+	* simplify-rtx.c: Include selftest.h and selftest-rtl.h.
+	(simplify_unary_operation_1): Recursively handle vector duplicates.
+	(simplify_binary_operation_1): Likewise.  Handle VEC_SELECTs of
+	vector duplicates.
+	(simplify_subreg): Handle subregs of vector duplicates.
+	(make_test_reg, test_vector_ops_duplicate, test_vector_ops)
+	(selftest::simplify_rtx_c_tests): New functions.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* emit-rtl.h (gen_const_vec_duplicate): Declare.
+	(gen_vec_duplicate): Likewise.
+	* emit-rtl.c (gen_const_vec_duplicate_1): New function, split
+	out from...
+	(gen_const_vector): ...here.
+	(gen_const_vec_duplicate, gen_vec_duplicate): New functions.
+	(gen_rtx_CONST_VECTOR): Use gen_const_vec_duplicate for constants
+	whose elements are all equal.
+	* optabs.c (expand_vector_broadcast): Use gen_const_vec_duplicate.
+	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
+	(simplify_relational_operation): Likewise.
+	* config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
+	Likewise.
+	(aarch64_simd_dup_constant): Use gen_vec_duplicate.
+	(aarch64_expand_vector_init): Likewise.
+	* config/arm/arm.c (neon_vdup_constant): Likewise.
+	(neon_expand_vector_init): Likewise.
+	(arm_expand_vec_perm): Use gen_const_vec_duplicate.
+	(arm_block_set_unaligned_vect): Likewise.
+	(arm_block_set_aligned_vect): Likewise.
+	* config/arm/neon.md (neon_copysignf<mode>): Likewise.
+	* config/i386/i386.c (ix86_expand_vec_perm): Likewise.
+	(expand_vec_perm_even_odd_pack): Likewise.
+	(ix86_vector_duplicate_value): Use gen_vec_duplicate.
+	* config/i386/sse.md (one_cmpl<mode>2): Use CONSTM1_RTX.
+	* config/ia64/ia64.c (ia64_expand_vecint_compare): Use
+	gen_const_vec_duplicate.
+	* config/ia64/vect.md (addv2sf3, subv2sf3): Use CONST1_RTX.
+	* config/mips/mips.c (mips_gen_const_int_vector): Use
+	gen_const_vec_duplicate.
+	(mips_expand_vector_init): Use CONST0_RTX.
+	* config/powerpcspe/altivec.md (abs<mode>2, nabs<mode>2): Likewise.
+	(define_split): Use gen_const_vec_duplicate.
+	* config/rs6000/altivec.md (abs<mode>2, nabs<mode>2): Use CONST0_RTX.
+	(define_split): Use gen_const_vec_duplicate.
+	* config/s390/vx-builtins.md (vec_genmask<mode>): Likewise.
+	(vec_ctd_s64, vec_ctd_u64, vec_ctsl, vec_ctul): Likewise.
+	* config/spu/spu.c (spu_const): Likewise.
+
+2017-11-01  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (can_change_dest_mode): Reject changes in
+	REGMODE_NATURAL_SIZE.
+
+2017-10-31  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* configure.ac (--enable-libssp): New.
+	(gcc_cv_libc_provides_ssp): Check for explicit setting before
+	trying to determine target-specific default.  Adjust indentation.
+	* configure: Regenerated.
+	* doc/install.texi (Configuration): Expand --disable-libssp
+	documentation.
+
+2017-10-31  Daniel Santos  <daniel.santos@pobox.com>
+
+	config/i386/i386.c (ix86_expand_epilogue): Correct stack
+	calculation.
+
+2017-10-31  Martin Jambor  <mjambor@suse.cz>
+
+	PR c++/81702
+	* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert.
+
+2017-10-31  David Malcolm  <dmalcolm@redhat.com>
+
+	* auto-profile.c (autofdo_source_profile::read): Use
+	UNKNOWN_LOCATION rather than 0.
+	* diagnostic-core.h (warning_at_rich_loc): Rename to...
+	(warning_at): ...this overload.
+	(warning_at_rich_loc_n): Rename to...
+	(warning_n): ...this overload.
+	(error_at_rich_loc): Rename to...
+	(error_at): ...this overload.
+	(pedwarn_at_rich_loc): Rename to...
+	(pedwarn): ...this overload.
+	(permerror_at_rich_loc): Rename to...
+	(permerror): ...this overload.
+	(inform_at_rich_loc): Rename to...
+	(inform): ...this overload.
+	* diagnostic.c: (diagnostic_n_impl): Delete location_t-based decl.
+	(diagnostic_n_impl_richloc): Rename to...
+	(diagnostic_n_impl): ...this rich_location *-based decl.
+	(inform_at_rich_loc): Rename to...
+	(inform): ...this, and add an assertion.
+	(inform_n): Update for removal of location_t-based diagnostic_n_impl.
+	(warning_at_rich_loc): Rename to...
+	(warning_at): ...this, and add an assertion.
+	(warning_at_rich_loc_n): Rename to...
+	(warning_n): ...this, and add an assertion.
+	(warning_n): Update location_t-based implementation for removal of
+	location_t-based diagnostic_n_impl.
+	(pedwarn_at_rich_loc): Rename to...
+	(pedwarn): ...this, and add an assertion.
+	(permerror_at_rich_loc): Rename to...
+	(permerror): ...this, and add an assertion.
+	(error_n): Update for removal of location_t-based diagnostic_n_impl.
+	(error_at_rich_loc): Rename to...
+	(error_at): ...this, and add an assertion.
+	* gcc.c (do_spec_1): Use UNKNOWN_LOCATION rather than 0.
+	(driver::do_spec_on_infiles): Likewise.
+	* substring-locations.c (format_warning_va): Update for renaming
+	of inform_at_rich_loc.
+
+2017-10-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* builtins.def (DEF_FLOATN_BUILTIN): Change most _Float<N> and
+	_Float<N>X built-in functions so that the variant without the
+	"__builtin_" prefix is only enabled for the GNU C and Objective C
+	languages when they are in non-strict ANSI/ISO mode.
+	(DEF_EXT_LIB_FLOATN_NX_BUILTINS): Likewise.
+	* target.def (floatn_builtin_p): Add a target hook to control
+	whether _Float<N> and _Float<N>X built-in functions without the
+	"__builtin_" prefix are enabled, and return true for C and
+	Objective C in the default hook.  Include langhooks.h in
+	targhooks.c.
+	* targhooks.h (default_floatn_builtin_p): Likewise.
+	* targhooks.c (default_floatn_builtin_p): Likewise.
+	* doc/tm.texi.in (TARGET_FLOATN_BUILTIN_P): Document the
+	floatn_builtin_p target hook.
+	* doc/tm.texi (TARGET_FLOATN_BUILTIN_P): Likewise.
+
+2017-10-31  Matthew Fortune  <matthew.fortune@imgtec.com>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/81803
+	* lra-constraints.c (curr_insn_transform): Also reload the whole
+	register for a strict subreg no wider than a word if this is for
+	a WORD_REGISTER_OPERATIONS target.
+
+2017-10-31  Jason Merrill  <jason@redhat.com>
+
+	* gdbinit.in: Skip over inlines from timevar.h.
+
+2017-10-31  Martin Liska  <mliska@suse.cz>
+
+	* doc/gcov.texi: Document new option.
+	* gcov.c (print_usage): Likewise print it.
+	(process_args): Support the argument.
+	(format_count): New function.
+	(format_gcov): Use the function.
+
+2017-10-31  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (struct name_map): do not use typedef.
+	Define operator== and operator<.
+	(name_search): Remove.
+	(name_sort): Remove.
+	(main): Do not allocate names.
+	(process_file): Add vertical space.
+	(generate_results): Use std::find.
+	(release_structures): Do not release memory.
+	(find_source): Use std::find.
+
+2017-10-31  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (struct line_info): Remove it's typedef.
+	(line_info::line_info): Add proper ctor.
+	(line_info::has_block): Do not use a typedef.
+	(struct source_info): Do not use typedef.
+	(circuit): Likewise.
+	(get_cycles_count): Likewise.
+	(output_intermediate_file): Iterate via vector iterator.
+	(add_line_counts): Use std::vector methods.
+	(accumulate_line_counts): Likewise.
+	(output_lines): Likewise.
+
+2017-10-31  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (struct source_info): Remove typedef.
+	(source_info::source_info): Add proper ctor.
+	(accumulate_line_counts): Use struct, not it's typedef.
+	(output_gcov_file): Likewise.
+	(output_lines): Likewise.
+	(main): Do not allocate an array.
+	(output_intermediate_file): Use size of vector container.
+	(process_file): Resize the vector.
+	(generate_results): Do not preallocate, use newly added vector
+	lines.
+	(release_structures): Do not release sources.
+	(find_source): Use vector methods.
+	(add_line_counts): Do not use typedef.
+
+2017-10-31  Martin Liska  <mliska@suse.cz>
+
+	* doc/gcov.texi: Document that.
+	* gcov.c (add_line_counts): Mark lines with a non-executed
+	statement.
+	(output_line_beginning): Handle such lines.
+	(output_lines): Pass new argument.
+	(output_intermediate_file): Print it in intermediate format.
+
+2017-10-31  Martin Liska  <mliska@suse.cz>
+
+	* color-macros.h: New file.
+	* diagnostic-color.c: Factor out color related to macros to
+	color-macros.h.
+	* doc/gcov.texi: Document -k option.
+	* gcov.c (INCLUDE_STRING): Include string.h.
+	(print_usage): Add -k option.
+	(process_args): Parse it.
+	(pad_count_string): New function.
+	(output_line_beginning): Likewise.
+	(DEFAULT_LINE_START): New macro.
+	(output_lines): Support color output.
+
+2017-10-31  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/82633
+	* doc/gcov.texi: Document -fkeep-{static,inline}-functions and
+	their interaction with GCOV infrastructure.
+	* configure.ac: Add -fkeep-{inline,static}-functions to
+	coverage_flags.
+	* configure: Regenerate.
+
+2017-10-31  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/82772
+	* config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM".
+
+2017-10-31  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/82674
+	* config/rs6000/rs6000.md (allocate_stack): Force update interval
+	into a register if it does not fit into an immediate offset field.
+
+2017-10-31  Olivier Hainque  <hainque@adacore.com>
+
+	* gcc/Makefile.in (FLAGS_TO_PASS): Pass libsubdir as well.
+
+2017-10-31  Julia Koval  <julia.koval@intel.com>
+
+	* config.gcc: Add gfniintrin.h.
+	* config/i386/gfniintrin.h: New.
+	* config/i386/i386-builtin-types.def
+	(__builtin_ia32_vgf2p8affineinvqb_v64qi,
+	__builtin_ia32_vgf2p8affineinvqb_v64qi_mask,
+	__builtin_ia32_vgf2p8affineinvqb_v32qi,
+	__builtin_ia32_vgf2p8affineinvqb_v32qi_mask,
+	__builtin_ia32_vgf2p8affineinvqb_v16qi,
+	__builtin_ia32_vgf2p8affineinvqb_v16qi_mask): New builtins.
+	* config/i386/i386-builtin.def (V64QI_FTYPE_V64QI_V64QI_INT_V64QI_UDI,
+	V32QI_FTYPE_V32QI_V32QI_INT_V32QI_USI,
+	V16QI_FTYPE_V16QI_V16QI_INT_V16QI_UHI,
+	V64QI_FTYPE_V64QI_V64QI_INT): New types.
+	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
+	* config/i386/immintrin.h: Include gfniintrin.h.
+	* config/i386/sse.md (vgf2p8affineinvqb_*) New pattern.
+
+2017-10-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc.c (HAVE_TARGET_EXECUTABLE_SUFFIX): Remove old kludge.
+
+2017-10-30  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm.md (ashldi3): Remove shift by 1 expansion.
+	(arm_ashldi3_1bit): Remove pattern.
+	(ashrdi3): Remove shift by 1 expansion.
+	(arm_ashrdi3_1bit): Remove pattern.
+	(lshrdi3): Remove shift by 1 expansion.
+	(arm_lshrdi3_1bit): Remove pattern.
+	* config/arm/arm.c (arm_rtx_costs_internal): Slightly increase
+	cost of ashldi3 by 1.
+	* config/arm/neon.md (ashldi3_neon): Remove shift by 1 expansion.
+	(<shift>di3_neon): Likewise.
+
+2017-10-30  Dominik Infuehr  <dominik.infuehr@theobroma-systems.com>
+
+	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov): Rename
+	both identically named patterns to (*aarch64_simd_mov<VD:mode>)
+	and (*aarch64_simd_mov<VQ:mode>).
+	(*aarch64_simd_mov<VD:mode>): Change type attribute to match
+	pattern alternative.
+	(*aarch64_simd_mov<VQ:mode>): Re-order and change type
+	attributes to match pattern alternative.
+
+2017-10-30  Steven Munroe  <munroesj@gcc.gnu.org>
+
+	* config.gcc (powerpc*-*-*): Add emmintrin.h.
+	* config/rs6000/emmintrin.h: New file.
+	* config/rs6000/x86intrin.h [__ALTIVEC__]: Include emmintrin.h.
+
+2017-10-30  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/vfp.md (movdi_vfp): Merge changes from movdi_vfp_cortexa8.
+	* (movdi_vfp_cortexa8): Remove pattern.
+
+2017-10-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* doc/install.texi (Specific, alpha*-*-*): Remove DEC OSF/1
+	etc. reference.
+	(Specific, alpha*-dec-osf5.1): Remove.
+	(Specific, mips-sgi-irix5): Remove.
+	(Specific, mips-sgi-irix6): Remove.
+
+2017-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/22141
+	* gimple-ssa-store-merging.c (merged_store_group::apply_stores): Fix
+	arguments to clear_bit_region_be.
+
+2017-10-30  Jim Wilson  <wilson@tuliptree.org>
+
+	* gimplify.c: Include memmodel.h.
+
+2017-10-30  Martin Jambor  <mjambor@suse.cz>
+
+	* omp-grid.c (grid_attempt_target_gridification): Also insert a
+	condition whether loop should be executed at all.
+
+2017-10-30  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for
+	gimple folding of vec_madd() intrinsics.
+	* config/rs6000/altivec.md (mulv8hi3): Rename altivec_vmladduhm to
+	fmav8hi4.  (altivec_vmladduhm): Rename to fmav8hi4.
+	* config/rs6000/rs6000-builtin.def: Rename vmladduhm to fmav8hi4
+
+2017-10-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82762
+	Revert
+	2017-10-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82129
+	Revert
+	2017-08-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81181
+	* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
+	(compute_antic): ... end of iteration here.
+
+2017-10-30  Joseph Myers  <joseph@codesourcery.com>
+
+	* doc/invoke.texi (C Dialect Options): Document -std=c17,
+	-std=iso9899:2017 and -std=gnu17.
+	* doc/standards.texi (C Language): Document C17 support.
+	* doc/cpp.texi (Overview): Mention -std=c17.
+	(Standard Predefined Macros): Document C11 and C17 values of
+	__STDC_VERSION__.  Do not refer to C99 support as incomplete.
+	* doc/extend.texi (Inline): Do not list individual options for
+	standards newer than C99.
+	* dwarf2out.c (highest_c_language, gen_compile_unit_die): Handle
+	"GNU C17".
+	* config/rl78/rl78.c (rl78_option_override): Handle "GNU C17"
+	language name.
+
+2017-10-30  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	* asan.c (asan_finish_file): Align asan globals array by shadow
+	granularity.
+
+2017-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/22141
+	* gimple-ssa-store-merging.c: Include rtl.h and expr.h.
+	(struct store_immediate_info): Add bitregion_start and bitregion_end
+	fields.
+	(store_immediate_info::store_immediate_info): Add brs and bre
+	arguments and initialize bitregion_{start,end} from those.
+	(struct merged_store_group): Add bitregion_start, bitregion_end,
+	align_base and mask fields.  Drop unnecessary struct keyword from
+	struct store_immediate_info.  Add do_merge method.
+	(clear_bit_region_be): Use memset instead of loop storing zeros.
+	(merged_store_group::do_merge): New method.
+	(merged_store_group::merge_into): Use do_merge.  Allow gaps in between
+	stores as long as the surrounding bitregions have no gaps.
+	(merged_store_group::merge_overlapping): Use do_merge.
+	(merged_store_group::apply_stores): Test that bitregion_{start,end}
+	is byte aligned, rather than requiring that start and width are
+	byte aligned.  Drop unnecessary struct keyword from
+	struct store_immediate_info.  Allocate and populate also mask array.
+	Make start of the arrays relative to bitregion_start rather than
+	start and size them according to bitregion_{end,start} difference.
+	(struct imm_store_chain_info): Drop unnecessary struct keyword from
+	struct store_immediate_info.
+	(pass_store_merging::gate): Punt if BITS_PER_UNIT or CHAR_BIT is not 8.
+	(pass_store_merging::terminate_all_aliasing_chains): Drop unnecessary
+	struct keyword from struct store_immediate_info.
+	(imm_store_chain_info::coalesce_immediate_stores): Allow gaps in
+	between stores as long as the surrounding bitregions have no gaps.
+	Formatting fixes.
+	(struct split_store): Add orig non-static data member.
+	(split_store::split_store): Initialize orig to false.
+	(find_constituent_stmts): Return store_immediate_info *, non-NULL
+	if there is exactly a single original stmt.  Change stmts argument
+	to pointer from reference, if NULL, don't push anything to it.  Add
+	first argument, use it to optimize skipping over orig stmts that
+	are known to be before bitpos already.  Simplify.
+	(split_group): Return unsigned int count how many stores are or
+	would be needed rather than a bool.  Add allow_unaligned argument.
+	Change split_stores argument from reference to pointer, if NULL,
+	only do a dry run computing how many stores would be produced.
+	Rewritten algorithm to use both alignment and misalign if
+	!allow_unaligned and handle bitfield stores with gaps.
+	(imm_store_chain_info::output_merged_store): Set start_byte_pos
+	from bitregion_start instead of start.  Compute allow_unaligned
+	here, if true, do 2 split_group dry runs to compute which one
+	produces fewer stores and prefer aligned if equal.  Punt if
+	new count is bigger or equal than original before emitting any
+	statements, rather than during that.  Remove no longer needed
+	new_ssa_names tracking.  Replace num_stmts with
+	split_stores.length ().  Use 32-bit stack allocated entries
+	in split_stores auto_vec.  Try to reuse original store lhs/rhs1
+	if possible.  Handle bitfields with gaps.
+	(pass_store_merging::execute): Ignore bitsize == 0 stores.
+	Compute bitregion_{start,end} for the stores and construct
+	store_immediate_info with that.  Formatting fixes.
+
+2017-10-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/82725
+	* config/i386/i386.c (legitimate_pic_address_disp_p): Allow
+	UNSPEC_DTPOFF and UNSPEC_NTPOFF with SImode immediate offset.
+
+2017-10-29  Jim Wilson  <wilson@tuliptree.org>
+
+	* gimplify.c: Include tm_p.h.
+
+	* common.opt (gcoff): Re-add as ignored option.
+	(gcoff1, gcoff2, gcoff3): Likewise.
+
+	* Makefile.in (OBJS): Delete sdbout.o.
+	(GTFILES): Delete $(srcdir)/sdbout.c.
+	* debug.h: Delete sdb_debug_hooks.
+	* final.c: Delete sdbout.h include.
+	(final_scan_insn): Delete SDB_DEBUG check.
+	(rest_of_clean_state): Likewise.
+	* output.h: Delete sdb_begin_function_line.
+	* sdbout.c: Delete.
+	* sdbout.h: Delete.
+	* toplev.c: Delete sdbout.h include.
+	(process_options): Delete SDB_DEBUG check.
+	* tree-core.h (tree_type_common): Delete pointer field of
+	tree_type_symtab.
+	* tree.c (copy_node): Clear TYPE_SYMTAB_DIE instead of
+	TYPE_SYMTAB_POINTER.
+	* tree.h (TYPE_SYMTAB_POINTER): Delete.
+	(TYPE_SYMTAB_IS_POINTER): Delete.
+	(TYPE_SYMTAB_IS_DIE): Renumber.
+	* xcoffout.c: Refer to former sdbout.c file.
+	(xcoffout_begin_prologue): Use past tense for sdbout.c reference.
+
+	* doc/install.texi (--with-stabs): Delete COFF and ECOFF info.
+	* doc/invoke.texi (SEEALSO): Delete adb and sdb references.
+	(Debugging Options): Delete -gcoff.
+	(-gstabs): Delete SDB reference.
+	(-gcoff): Delete.
+	(-gcoff@var{level}): Delete.
+	* doc/passes.texi (Debugging information output): Delete SDB and
+	sdbout.c references.
+	* doc/tm.texi: Regenerate.
+	* doc/tm.texi.in (DWARF_CIE_DATA_ALIGNMENT): Delete SDB from xref.
+	(SDB and DWARF): Change node name to DWARF and delete SDB and COFF
+	references.
+	(DEBUGGER_AUTO_OFFSET): Delete COFF and SDB references.
+	(PREFERRED_DEBUGGING_TYPE): Delete SDB_DEBUG and -gcoff references.
+	(SDB_DEBUGGING_INFO): Delete.
+	(PUT_SDB_@dots{}, SDB_DELIM, SDB_ALLOW_UNKNOWN_REFERENCES)
+	SDB_ALLOW_FORWARD_REFERENCES, SDB_OUTPUT_SOURCE_LINE): Delete.
+	* target.def (output_source_filename): Delete COFF reference.
+
+	* common.opt (gcoff): Delete.
+	(gxcoff+): Update Negative chain.
+	* defaults.h: Delete all references to SDB_DEBUGGING_INFO and
+	SDB_DEBUG.
+	* dwarf2out.c (gen_array_type_die): Change SDB to debuggers.
+	* flag-types.h (enum debug_info_type): Delete SDB_DEBUG.
+	* function.c (number_blocks): Delete SDB_DEBUGGING_INFO, SDB_DEBUG,
+	and SDB references.
+	(expand_function_start): Change sdb reference to past tense.
+	(expand_function_end): Change sdb reference to past tense.
+	* gcc.c (cpp_unique_options): Delete gcoff3 reference.
+	* opts.c (debug_type_names): Delete coff entry.
+	(common_handle_option): Delete OPT_gcoff case.
+	* system.h (SDB_DEBUG, SDB_DEBUGGING_INFO): Poison.
+
+	* config/dbxcoff.h (PREFERRED_DEBUGGING_TYPE): Set to DBX_DEBUG.
+	* config/cris/cris.h: Delete SDB reference in comment.
+	* config/i386/cygming.h: Don't define SDB_DEBUGGING_INFO.
+	(ASM_DECLARE_FUNCTION_NAME): Delete SDB reference from comment.
+	* config/i386/gas.h: Don't define SDB_DEBUGGING_INFO.
+	* config/i386/i386.c (svr4_dbx_register_map): Change SDB references
+	to past tense.
+	(ix86_expand_prologue): Likewise.
+	* config/i386/winnt.c (i386_pe_start_function): Don't check SDB_DEBUG.
+	* config/ia64/ia64.h: Likewise.
+	* config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Delete SDB reference.
+	* config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Delete gcoff*
+	support.
+	* config/mmix/mmix.h: Likewise.
+	* config/nds32/nds32.c: Likewise.
+	* config/stormy/storym16.h: Likewise.
+	* config/visium/visium.h: Likewise.
+	* config/vx-common.h (SDB_DEBUGGING_INFO): Delete undef.
+
+2017-10-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2.h (FRAME_GROWS_DOWNWARD): Define to 1.
+	* config/nios2/nios2.c (nios2_initial_elimination_offset):  Make
+	FRAME_POINTER_REGNUM point at high end of local var area.
+
+2017-10-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* bb-reorder.c (find_traces_1_round): Fix off-by-one index.
+	Move comment around.  Do not reset best_edge for a copiable
+	destination if the copy would cause a partition change.
+	(better_edge_p): Remove redundant check.
+
+2017-10-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386-protos.h (ix86_fp_compare_mode): Remove prototype.
+
+2017-10-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* builtins.c (CASE_MATHFN_FLOATN): New helper macro to add cases
+	for math functions that have _Float<N> and _Float<N>X variants.
+	(mathfn_built_in_2): Add support for math functions that have
+	_Float<N> and _Float<N>X variants.
+	(DEF_INTERNAL_FLT_FLOATN_FN): New helper macro.
+	(expand_builtin_mathfn_ternary): Add support for fma with
+	_Float<N> and _Float<N>X variants.
+	(expand_builtin): Likewise.
+	(fold_builtin_3): Likewise.
+	* builtins.def (DEF_EXT_LIB_FLOATN_NX_BUILTINS): New macro to
+	create math function _Float<N> and _Float<N>X variants as external
+	library builtins.
+	(BUILT_IN_COPYSIGN _Float<N> and _Float<N>X variants) Use
+	DEF_EXT_LIB_FLOATN_NX_BUILTINS to make built-in functions using
+	the __builtin_ prefix and if not strict ansi, without the prefix.
+	(BUILT_IN_FABS _Float<N> and _Float<N>X variants): Likewise.
+	(BUILT_IN_FMA _Float<N> and _Float<N>X variants): Likewise.
+	(BUILT_IN_FMAX _Float<N> and _Float<N>X variants): Likewise.
+	(BUILT_IN_FMIN _Float<N> and _Float<N>X variants): Likewise.
+	(BUILT_IN_NAN _Float<N> and _Float<N>X variants): Likewise.
+	(BUILT_IN_SQRT _Float<N> and _Float<N>X variants): Likewise.
+	* builtin-types.def (BT_FN_FLOAT16_FLOAT16_FLOAT16_FLOAT16): New
+	function signatures for fma _Float<N> and _Float<N>X variants.
+	(BT_FN_FLOAT32_FLOAT32_FLOAT32_FLOAT32): Likewise.
+	(BT_FN_FLOAT64_FLOAT64_FLOAT64_FLOAT64): Likewise.
+	(BT_FN_FLOAT128_FLOAT128_FLOAT128_FLOAT128): Likewise.
+	(BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_FLOAT32X): Likewise.
+	(BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_FLOAT64X): Likewise.
+	(BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_FLOAT128X): Likewise.
+	* gencfn-macros.c (print_case_cfn): Add support for math functions
+	that have _Float<N> and _Float<N>X variants.
+	(print_define_operator_list): Likewise.
+	(fltfn_suffixes): Likewise.
+	(main): Likewise.
+	* internal-fn.def (DEF_INTERNAL_FLT_FLOATN_FN): New helper macro
+	for math functions that have _Float<N> and _Float<N>X variants.
+	(SQRT): Add support for sqrt, copysign, fmin and fmax _Float<N>
+	and _Float<N>X variants.
+	(COPYSIGN): Likewise.
+	(FMIN): Likewise.
+	(FMAX): Likewise.
+	* fold-const.c (tree_call_nonnegative_warnv_p): Add support for
+	copysign, fma, fmax, fmin, and sqrt _Float<N> and _Float<N>X
+	variants.
+	(integer_valued_read_call_p): Likewise.
+	* fold-const-call.c (fold_const_call_ss): Likewise.
+	(fold_const_call_sss): Add support for copysign, fmin, and fmax
+	_Float<N> and _Float<N>X variants.
+	(fold_const_call_ssss): Add support for fma _Float<N> and
+	_Float<N>X variants.
+	* gimple-ssa-backprop.c (backprop::process_builtin_call_use): Add
+	support for copysign and fma _Float<N> and _Float<N>X variants.
+	(backprop::process_builtin_call_use): Likewise.
+	* tree-call-cdce.c (can_test_argument_range); Add support for
+	sqrt _Float<N> and _Float<N>X variants.
+	(edom_only_function): Likewise.
+	(get_no_error_domain): Likewise.
+	* tree-ssa-math-opts.c (internal_fn_reciprocal): Likewise.
+	* tree-ssa-reassoc.c (attempt_builtin_copysign): Add support for
+	copysign _Float<N> and _Float<N>X variants.
+	* config/rs6000/rs6000-builtin.def (SQRTF128): Delete, this is now
+	handled by machine independent code.
+	(FMAF128): Likewise.
+	* doc/cpp.texi (Common Predefined Macros): Document defining
+	__FP_FAST_FMAF<N> and __FP_FAST_FMAF<N>X if the backend supports
+	fma _Float<N> and _Float<N>X variants.
+
+2017-10-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/82692
+	* config/i386/i386-modes.def (CCFPU): Remove definition.
+	* config/i386/i386.c (put_condition_mode): Remove CCFPU mode handling.
+	(ix86_cc_modes_compatible): Ditto.
+	(ix86_expand_carry_flag_compare): Ditto.
+	(ix86_expand_int_movcc): Ditto.
+	(ix86_expand_int_addcc): Ditto.
+	(ix86_reverse_condition): Ditto.
+	(ix86_unordered_fp_compare): Rename from ix86_fp_compare_mode.
+	Return true/false for unordered/ordered fp comparisons.
+	(ix86_cc_mode): Always return CCFPmode for float mode comparisons.
+	(ix86_prepare_fp_compare_args): Update for rename.
+	(ix86_expand_fp_compare): Update for rename.  Generate unordered
+	compare RTXes wrapped with UNSPEC_NOTRAP unspec.
+	(ix86_expand_sse_compare_and_jump): Ditto.
+	* config/i386/predicates.md (fcmov_comparison_operator):
+	Remove CCFPU mode handling.
+	(ix86_comparison_operator): Ditto.
+	(ix86_carry_flag_operator): Ditto.
+	* config/i386/i386.md (UNSPEC_NOTRAP): New unspec.
+	(*cmpu<mode>_i387): Wrap compare RTX with UNSPEC_NOTRAP unspec.
+	(*cmpu<mode>_cc_i387): Ditto.
+	(FPCMP): Remove mode iterator.
+	(unord): Remove mode attribute.
+	(unord_subst): New define_subst transformation
+	(unord): New define_subst attribute.
+	(unordered): Ditto.
+	(*cmpi<unord><MODEF:mode>): Rewrite using unord_subst transformation.
+	(*cmpi<unord>xf_i387): Ditto.
+	* config/i386/sse.md (<sse>_<unord>comi<round_saeonly_name>): Merge
+	from <sse>_comi<round_saeonly_name> and <sse>_ucomi<round_saeonly_name>
+	using unord_subst transformation.
+	* config/i386/subst.md (SUBST_A): Remove CCFP and CCFPU modes.
+	(round_saeonly): Also handle CCFP mode.
+	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_NOTRAP unspec.
+	Remove UNSPEC_SAHF unspec handling.
+
+2017-10-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* x86-tune.def (X86_TUNE_INTER_UNIT_MOVES_TO_VEC): Disable for Zen.
+
+2017-10-27  Jeff Law  <law@redhat.com>
+
+	* gimple-ssa-sprintf.c: Include domwalk.h.
+	(class sprintf_dom_walker): New class, derived from dom_walker.
+	(sprintf_dom_walker::before_dom_children): New function.
+	(struct call_info): Moved into sprintf_dom_walker class
+	(compute_formath_length, handle_gimple_call): Likewise.
+	(sprintf_length::execute): Call the dominator walker rather
+	than walking the statements.
+
+	* tree-vrp.c (check_all_array_refs): Do not use wi->info to smuggle
+	gimple statement locations.
+	(check_array_bounds): Corresponding changes.  Get the statement's
+	location directly from wi->stmt.
+
+2017-10-27  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	PR target/82717
+	* doc/invoke.texi (RISC-V) <-mabi>: Correct and improve.
+
+2017-10-27  Jan Hubicka  <hubicka@ucw.cz>
+
+	* config/i386/x86-tune.def (X86_TUNE_PARTIAL_REG_DEPENDENCY,
+	X86_TUNE_MOVX): Disable for Haswell and newer CPUs.
+
+2017-10-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82703
+	* config/i386/i386-protos.h (maybe_get_pool_constant): Removed.
+	* config/i386/i386.c (maybe_get_pool_constant): Removed.
+	(ix86_split_to_parts): Use avoid_constant_pool_reference instead of
+	maybe_get_pool_constant.
+	* config/i386/predicates.md (zero_extended_scalar_load_operand):
+	Likewise.
+
+2017-10-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* doc/install.texi (Specific, i?86-*-solaris2.10): Simplify gas
+	2.26 caveat.  Update gas and gld versions.
+	(Specific, *-*-solaris2*): Update binutils version.  Remove caveat
+	reference.
+
+2017-10-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* cgraph.h (set_malloc_flag): Declare.
+	* cgraph.c (set_malloc_flag_1): New function.
+	(set_malloc_flag): Likewise.
+	* ipa-fnsummary.h (ipa_call_summary): Add new field is_return_callee.
+	* ipa-fnsummary.c (ipa_call_summary::reset): Set is_return_callee to
+	false.
+	(read_ipa_call_summary): Add support for reading is_return_callee.
+	(write_ipa_call_summary): Stream is_return_callee.
+	* ipa-inline.c (ipa_inline): Remove call to ipa_free_fn_summary.
+	* ipa-pure-const.c: Add headers ssa.h, alloc-pool.h, symbol-summary.h,
+	ipa-prop.h, ipa-fnsummary.h.
+	(pure_const_names): Change to static.
+	(malloc_state_e): Define.
+	(malloc_state_names): Define.
+	(funct_state_d): Add field malloc_state.
+	(varying_state): Set malloc_state to STATE_MALLOC_BOTTOM.
+	(check_retval_uses): New function.
+	(malloc_candidate_p): Likewise.
+	(analyze_function): Add support for malloc attribute.
+	(pure_const_write_summary): Stream malloc_state.
+	(pure_const_read_summary): Add support for reading malloc_state.
+	(dump_malloc_lattice): New function.
+	(propagate_malloc): New function.
+	(warn_function_malloc): New function.
+	(ipa_pure_const::execute): Call propagate_malloc and
+	ipa_free_fn_summary.
+	(pass_local_pure_const::execute): Add support for malloc attribute.
+	* ssa-iterators.h (RETURN_FROM_IMM_USE_STMT): New macro.
+	* doc/invoke.texi: Document Wsuggest-attribute=malloc.
+
+2017-10-27  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/82457
+	* doc/invoke.texi: Document that one needs a non-strict ISO mode
+	for fork-like functions to be properly instrumented.
+
+2017-10-27  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81659
+	* tree-eh.c (pass_lower_eh_dispatch::execute): Free dominator
+	info when we redirected EH.
+
+2017-10-26  Michael Collison  <michael.collison@arm.com>
+
+	* config/aarch64/aarch64.md(<optab>_trunc><vf><GPI:mode>2):
+	New pattern.
+	(<optab>_trunchf<GPI:mode>2: New pattern.
+	(<optab>_trunc<vgp><GPI:mode>2: New pattern.
+	* config/aarch64/iterators.md (wv): New mode attribute.
+	(vf, VF): New mode attributes.
+	(vgp, VGP): New mode attributes.
+	(s): Update attribute with SImode and DImode prefixes.
+
+2017-10-26  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/constraints.md ("S"): Match r0rel_constant_p too.
+	* config/nios2/nios2-protos.h (r0rel_constant_p): Declare.
+	* config/nios2/nios2.c: (nios2_r0rel_sec_regex): New.
+	(nios2_option_overide): Initialize it.  Don't allow R0-relative
+	addressing with PIC.
+	(nios2_rtx_costs): Handle r0rel_constant_p like gprel_constant_p.
+	(nios2_symbolic_constant_p): Likewise.
+	(nios2_legitimate_address_p): Likewise.
+	(nios2_r0rel_section_name_p): New.
+	(nios2_symbol_ref_in_r0rel_data_p): New.
+	(nios2_emit_move_sequence): Handle r0rel_constant_p.
+	(r0rel_constant_p): New.
+	(nios2_print_operand_address): Handle r0rel_constant_p.
+	(nios2_cdx_narrow_form_p): Likewise.
+	* config/nios2/nios2.opt (mr0rel-sec=): New option.
+	* doc/invoke.texi (Option Summary): Add -mr0rel-sec.
+	(Nios II Options): Document -mr0rel-sec.
+
+2017-10-26  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2.c: Include xregex.h.
+	(nios2_gprel_sec_regex): New.
+	(nios2_option_overide): Initialize it.  Don't allow GP-relative
+	addressing with PIC.
+	(nios2_small_section_name_p): Check for regex match.
+	* config/nios2/nios2.opt (mgprel-sec=): New option.
+	* doc/invoke.texi (Option Summary): Add -mgprel-sec.
+	(Nios II Options): Document -mgprel-sec.
+
+2017-10-26  Jim Wilson  <wilson@tuliptree.org>
+
+	* doc/invoke.texi (-fdebug-prefix-map): Expand documentation.
+
+2017-10-26  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/82707
+	* gimple.c (gimple_copy): Fix unsharing of
+	GIMPLE_OMP_{SINGLE,TARGET,TEAMS}.
+
+2017-10-26  Olga Makhotina  <olga.makhotina@intel.com>
+
+	* config/i386/avx512fintrin.h (_mm512_cmpeq_pd_mask,
+	_mm512_cmple_pd_mask, _mm512_cmplt_pd_mask,
+	_mm512_cmpneq_pd_mask, _mm512_cmpnle_pd_mask,
+	_mm512_cmpnlt_pd_mask, _mm512_cmpord_pd_mask,
+	_mm512_cmpunord_pd_mask, _mm512_mask_cmpeq_pd_mask,
+	_mm512_mask_cmple_pd_mask, _mm512_mask_cmplt_pd_mask,
+	_mm512_mask_cmpneq_pd_mask, _mm512_mask_cmpnle_pd_mask,
+	_mm512_mask_cmpnlt_pd_mask, _mm512_mask_cmpord_pd_mask,
+	_mm512_mask_cmpunord_pd_mask, _mm512_cmpeq_ps_mask,
+	_mm512_cmple_ps_mask, _mm512_cmplt_ps_mask,
+	_mm512_cmpneq_ps_mask, _mm512_cmpnle_ps_mask,
+	_mm512_cmpnlt_ps_mask, _mm512_cmpord_ps_mask,
+	_mm512_cmpunord_ps_mask, _mm512_mask_cmpeq_ps_mask,
+	_mm512_mask_cmple_ps_mask, _mm512_mask_cmplt_ps_mask,
+	_mm512_mask_cmpneq_ps_mask, _mm512_mask_cmpnle_ps_mask,
+	_mm512_mask_cmpnlt_ps_mask, _mm512_mask_cmpord_ps_mask,
+	_mm512_mask_cmpunord_ps_mask): New intrinsics.
+
+2017-10-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/aix.h (TARGET_IEEEQUAD_DEFAULT): Set long double
+	default to IBM.
+	* config/rs6000/darwin.h (TARGET_IEEEQUAD_DEFAULT): Likewise.
+	* config/rs6000/rs6000.opt (-mabi=ieeelongdouble): Move the
+	warning to rs6000.c.  Remove the Undocumented flag, since it has
+	been documented.
+	(-mabi=ibmlongdouble): Likewise.
+	* config/rs6000/rs6000.c (TARGET_IEEEQUAD_DEFAULT): If it is not
+	already set, set the default format for long double.
+	(rs6000_debug_reg_global): Print whether long double is IBM or
+	IEEE.
+	(rs6000_option_override_internal): Rework setting long double
+	format.  Only warn if the user is changing the long double default
+	and they did not use -Wno-psabi.
+	* doc/invoke.texi (PowerPC options): Update the documentation for
+	-mabi=ieeelongdouble and -mabi=ibmlongdouble.
+
+2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (wider_subreg_mode): New function.
+	* ira.h (ira_sort_regnos_for_alter_reg): Take a machine_mode *
+	rather than an unsigned int *.
+	* ira-color.c (regno_max_ref_width): Replace with...
+	(regno_max_ref_mode): ...this new variable.
+	(coalesced_pseudo_reg_slot_compare): Update accordingly.
+	Use wider_subreg_mode.
+	(ira_sort_regnos_for_alter_reg): Likewise.  Take a machine_mode *
+	rather than an unsigned int *.
+	* lra-constraints.c (uses_hard_regs_p): Use wider_subreg_mode.
+	(process_alt_operands): Likewise.
+	(invariant_p): Likewise.
+	* lra-spills.c (assign_mem_slot): Likewise.
+	(add_pseudo_to_slot): Likewise.
+	* lra.c (collect_non_operand_hard_regs): Likewise.
+	(add_regs_to_insn_regno_info): Likewise.
+	* reload1.c (regno_max_ref_width): Replace with...
+	(regno_max_ref_mode): ...this new variable.
+	(reload): Update accordingly.  Update call to
+	ira_sort_regnos_for_alter_reg.
+	(alter_reg): Update to use regno_max_ref_mode.  Call wider_subreg_mode.
+	(init_eliminable_invariants): Update to use regno_max_ref_mode.
+	(scan_paradoxical_subregs): Likewise.
+
+2017-10-26  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.h (EXIT_IGNORE_STACK): Set if alloca is used.
+	(aarch64_frame): Add emit_frame_chain boolean.
+	* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
+	Move eh_return case to aarch64_layout_frame.
+	(aarch64_layout_frame): Initialize emit_frame_chain.
+	(aarch64_expand_prologue): Use emit_frame_chain.
+
+2017-10-26  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_layout_frame):
+	Ensure LR is always stored at the bottom of the callee-saves.
+	Remove rarely used frame layout which saves callee-saves at top of
+	frame, so the store of LR can be used as a valid probe in all cases.
+
+2017-10-26  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_legitimize_address_displacement):
+	Improve unaligned TImode/TFmode base/offset split.
+
+2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* caller-save.c (mark_referenced_regs):  Use read_modify_subreg_p.
+	* combine.c (find_single_use_1): Likewise.
+	(expand_field_assignment): Likewise.
+	(move_deaths): Likewise.
+	* lra-constraints.c (simplify_operand_subreg): Likewise.
+	(curr_insn_transform): Likewise.
+	* lra.c (collect_non_operand_hard_regs): Likewise.
+	(add_regs_to_insn_regno_info): Likewise.
+	* rtlanal.c (reg_referenced_p): Likewise.
+	(covers_regno_no_parallel_p): Likewise.
+
+2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* wide-int-print.cc (print_hex): Loop based on extract_uhwi.
+	Don't print any bits outside the precision of the value.
+	* wide-int.cc (test_printing): Add some new tests.
+
+2017-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler
+	supports -xbrace_comment option.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define.
+	(ASM_CPU_SPEC): Use it.
+
+2017-10-26  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* target.def (static_rtx_alignment): New hook.
+	* targhooks.h (default_static_rtx_alignment): Declare.
+	* targhooks.c (default_static_rtx_alignment): New function.
+	* doc/tm.texi.in (TARGET_STATIC_RTX_ALIGNMENT): New hook.
+	* doc/tm.texi: Regenerate.
+	* varasm.c (force_const_mem): Use targetm.static_rtx_alignment
+	instead of targetm.constant_alignment.  Remove call to
+	set_mem_attributes.
+	* config/cris/cris.c (TARGET_STATIC_RTX_ALIGNMENT): Redefine.
+	(cris_preferred_mininum_alignment): New function, split out from...
+	(cris_constant_alignment): ...here.
+	(cris_static_rtx_alignment): New function.
+	* config/i386/i386.c (ix86_static_rtx_alignment): New function,
+	split out from...
+	(ix86_constant_alignment): ...here.
+	(TARGET_STATIC_RTX_ALIGNMENT): Redefine.
+	* config/mmix/mmix.c (TARGET_STATIC_RTX_ALIGNMENT): Redefine.
+	(mmix_static_rtx_alignment): New function.
+	* config/spu/spu.c (spu_static_rtx_alignment): New function.
+	(TARGET_STATIC_RTX_ALIGNMENT): Redefine.
+
+2017-10-26  Tamar Christina  <tamar.christina@arm.com>
+
+	PR target/81800
+	* config/aarch64/aarch64.md (lrint<GPF:mode><GPI:mode>2):
+	Add flag_trapping_math and flag_fp_int_builtin_inexact.
+
+2017-10-25  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* config/riscv/riscv.md (ZERO_EXTEND_LOAD): Define.
+	* config/riscv/pic.md (local_pic_load): Rename to local_pic_load_s,
+	mark as a sign-extending load.
+	(local_pic_load_u): Define.
+
+2017-10-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR middle-end/82062
+	* fold-const.c (operand_equal_for_comparison_p): Also return true
+	if ARG0 is a simple variant of ARG1 with narrower precision.
+	(fold_ternary_loc): Always pass unstripped operands to the predicate.
+
+2017-10-25  Jan Hubicka  <hubicka@ucw.cz>
+
+	* i386.c (ix86_builtin_vectorization_cost): Compute scatter/gather
+	cost correctly.
+	* i386.h (processor_costs): Add gather_static, gather_per_elt,
+	scatter_static, scatter_per_elt.
+	* x86-tune-costs.h: Add new cost entries.
+
+2017-10-25  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-sccvn.h (vn_eliminate): Declare.
+	* tree-ssa-pre.c (class eliminate_dom_walker, eliminate,
+	class pass_fre): Move to ...
+	* tree-ssa-sccvn.c (class eliminate_dom_walker, vn_eliminate,
+	class pass_fre): ... here and adjust for statistics.
+
+2017-10-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libstdc++/81706
+	* attribs.c (attribute_value_equal): Use omp_declare_simd_clauses_equal
+	for comparison of OMP_CLAUSEs regardless of flag_openmp{,_simd}.
+	(duplicate_one_attribute, copy_attributes_to_builtin): New functions.
+	* attribs.h (duplicate_one_attribute, copy_attributes_to_builtin): New
+	declarations.
+
+2017-10-25  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (need_eh_cleanup, need_ab_cleanup, el_to_remove,
+	el_to_fixup, el_todo, el_avail, el_avail_stack, eliminate_avail,
+	eliminate_push_avail, eliminate_insert): Move inside...
+	(class eliminate_dom_walker): ... this class in preparation
+	of move.
+	(fini_eliminate): Remove by merging with ...
+	(eliminate): ... this function.  Adjust for class changes.
+	(pass_pre::execute): Remove fini_eliminate call.
+	(pass_fre::execute): Likewise.
+
+2017-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82460
+	* config/i386/sse.md (UNSPEC_VPERMI2, UNSPEC_VPERMI2_MASK): Remove.
+	(VPERMI2, VPERMI2I): New mode iterators.
+	(<avx512>_vpermi2var<mode>3_maskz): Remove 3 define_expand patterns.
+	(<avx512>_vpermi2var<mode>3<sd_maskz_name>): Remove 3 define_insn
+	patterns.
+	(<avx512>_vpermi2var<mode>3_mask): New define_expand using VPERMI2
+	mode iterator.  Remove 3 old define_insn patterns.
+	(*<avx512>_vpermi2var<mode>3_mask): 2 new define_insn patterns.
+	(<avx512>_vpermt2var<mode>3_maskz): Adjust 1 define_expand to use
+	VPERMI2 mode iterator, remove the other two expanders.
+	(<avx512>_vpermt2var<mode>3<sd_maskz_name>): Adjust 1 define_insn
+	to use VPERMI2 mode iterator, add another alternative for vpermi2*
+	instructions, remove the other two patterns.
+	(<avx512>_vpermt2var<mode>3_mask): Adjust 1 define_insn to use VPERMI2
+	mode iterator, remove the other two patterns.
+	* config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Renamed to ...
+	(ix86_expand_vec_perm_vpermt2): ... this.  Swap mask and op0
+	arguments, use gen_*vpermt2* expanders instead of gen_*vpermi2*
+	and adjust argument order accordingly.
+	(ix86_expand_vec_perm): Adjust caller.
+	(expand_vec_perm_1): Likewise.
+	(expand_vec_perm_vpermi2_vpshub2): Rename to ...
+	(expand_vec_perm_vpermt2_vpshub2): ... this.
+	(ix86_expand_vec_perm_const_1): Adjust caller.
+	(ix86_vectorize_vec_perm_const_ok): Adjust comments.
+
+	PR target/82370
+	* config/i386/sse.md (VIMAX_AVX2): Remove V4TImode.
+	(VIMAX_AVX2_AVX512BW, VIMAX_AVX512VL): New mode iterators.
+	(vec_shl_<mode>): Remove unused expander.
+	(avx512bw_<shift_insn><mode>3): New define_insn.
+	(<sse2_avx2>_ashl<mode>3, <sse2_avx2>_lshr<mode>3): Replaced by ...
+	(<sse2_avx2>_<shift_insn><mode>3): ... this.  New define_insn.
+
+2017-10-24  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	PR c++/82466
+	* doc/invoke.texi ([Wbuiltin-declaration-mismatch]): Extend
+	description.
+
+2017-10-24  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR rtl-optimization/82396
+	* gcc/haifa-sched.c (ready_sort_real): Remove qsort workaround.
+	(autopref_multipass_init): Simplify initialization.
+	(autopref_rank_data): Simplify sort order.
+	* gcc/sched-int.h (autopref_multipass_data_): Remove
+	multi_mem_insn_p, min_offset and max_offset.
+
+2017-10-24  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR middle-end/60580
+	* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
+	Check special value of flag_omit_frame_pointer.
+	(aarch64_can_eliminate): Likewise.
+	(aarch64_override_options_after_change_1): Simplify handling of
+	-fomit-frame-pointer and -fomit-leaf-frame-pointer.
+
+2017-10-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82697
+	* tree-ssa-phiopt.c (cond_store_replacement): Use alias-set
+	zero for conditional load and unconditional store.
+
+2017-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* doc/install.texi: Document bootstrap-cet.
+
+2017-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/82659
+	* config/i386/i386.c (rest_of_insert_endbranch): Don't insert
+	ENDBR instruction at function entrance if function is only
+	called directly.
+
+2017-10-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82628
+	* config/i386/i386.md (addcarry<mode>, subborrow<mode>): Change
+	patterns to better describe from which operation the CF is computed.
+	(addcarry<mode>_0, subborrow<mode>_0): New patterns.
+	* config/i386/i386.c (ix86_expand_builtin) <case handlecarry>: Pass
+	one LTU with [DT]Imode and another one with [SD]Imode.  If arg0
+	is 0, use _0 suffixed expanders instead of emitting a comparison
+	before it.
+
+2017-10-06  Sergey Shalnov  <Sergey.Shalnov@intel.com>
+
+	* config/i386/i386.md(*movsf_internal, *movdf_internal):
+	Avoid 512-bit AVX modes for TARGET_PREFER_AVX256.
+
+2017-10-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR middle-end/82569
+	* tree-outof-ssa.h (always_initialized_rtx_for_ssa_name_p): Delete.
+	* expr.c (expand_expr_real_1) <expand_decl_rtl>: Revert latest change.
+	* loop-iv.c (iv_get_reaching_def): Likewise.
+	* cfgexpand.c (expand_one_ssa_partition): Initialize the RTX if the
+	variable is promoted and the partition contains undefined values.
+
+2017-10-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2.c (nios2_rtx_costs): Make costs better
+	reflect reality.
+	(nios2_address_cost): Define.
+	(nios2_legitimize_address): Recognize (exp + constant) directly.
+	(TARGET_ADDRESS_COST): Define.
+
+2017-10-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2-protos.h (nios2_large_constant_p): Declare.
+	(nios2_symbolic_memory_operand_p): Declare.
+	(nios2_split_large_constant): Declare.
+	(nios2_split_symbolic_memory_operand): Declare.
+	* config/nios2/nios2.c: Adjust includes.
+	(nios2_symbolic_constant_allowed): New.
+	(nios2_symbolic_constant_p): New.
+	(nios2_plus_symbolic_constant_p): New.
+	(nios2_valid_addr_expr_p): Recognize addresses involving
+	symbolic constants.
+	(nios2_legitimate_address_p): Likewise, also LO_SUM.
+	(nios2_symbolic_memory_operand_p): New.
+	(nios2_large_constant_p): New.
+	(nios2_split_large_constant): New.
+	(nios2_split_plus_large_constant): New.
+	(nios2_split_symbolic_memory_operand): New.
+	(nios2_legitimize_address): Code refactoring.  Handle addresses
+	involving symbolic constants.
+	(nios2_emit_move_sequence): Likewise.
+	(nios2_print_operand): Improve error output.
+	(nios2_print_operand_address): Handle LO_SUM.
+	(nios2_cdx_narrow_form_p): Likewise.
+	* config/nios2/nios2.md (movqi_internal): Add splitter for memory
+	operands involving symbolic constants.
+	(movhi_internal, movsi_internal): Likewise.
+	(zero_extendhisi2, zero_extendqi<mode>2): Likewise.
+	(extendhisi2, extendqi<mode>2): Likewise.
+
+2017-10-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* tree-pass.h (PROP_rtl_split_insns): Define.
+	* recog.c (pass_data_split_all_insns): Provide PROP_rtl_split_insns.
+
+2017-10-23  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2.c (TARGET_LRA_P): Don't override.
+
+2017-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/82630
+	* target.def (const_not_ok_for_debug_p): Default to
+	default_const_not_ok_for_debug_p instead of hook_bool_rtx_false.
+	* targhooks.h (default_const_not_ok_for_debug_p): New declaration.
+	* targhooks.c (default_const_not_ok_for_debug_p): New function.
+	* dwarf2out.c (const_ok_for_output_1): Only reject UNSPECs for
+	which targetm.const_not_ok_for_debug_p returned true.
+	* config/arm/arm.c (arm_const_not_ok_for_debug_p): Return true
+	for UNSPECs.
+	* config/powerpcspe/powerpcspe.c (rs6000_const_not_ok_for_debug_p):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): Likewise.
+	* config/i386/i386.c (ix86_delegitimize_address_1): Don't delegitimize
+	UNSPEC_GOTOFF with addend into addend - _GLOBAL_OFFSET_TABLE_ + symbol
+	if !base_term_p.
+	(ix86_const_not_ok_for_debug_p): New function.
+	(i386_asm_output_addr_const_extra): Handle UNSPEC_GOTOFF.
+	(TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
+
+2017-10-23  David Malcolm  <dmalcolm@redhat.com>
+
+	PR bootstrap/82610
+	* system.h: Conditionally include "unique-ptr.h" if
+	INCLUDE_UNIQUE_PTR is defined.
+	* unique-ptr-tests.cc: Remove include of "unique-ptr.h" in favor
+	of defining INCLUDE_UNIQUE_PTR before including "system.h".
+
+2017-10-23  Sebastian Perta  <sebastian.perta@renesas.com>
+
+	* config/rl78/rl78.md: New define_expand "subdi3".
+
+2017-10-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/82673
+	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Skip
+	DF_REF_INSN if DF_REF_INSN_INFO is false.
+
+2017-10-23  Jan Hubicka  <hubicka@ucw.cz>
+
+	* i386.c (dimode_scalar_chain::compute_convert_gain): Use
+	xmm_move instead of sse_move.
+	(sse_store_index): New function.
+	(ix86_register_move_cost): Be more sensible about mismatch stall;
+	model AVX moves correctly; make difference between sse->integer and
+	integer->sse.
+	(ix86_builtin_vectorization_cost): Model correctly aligned and unaligned
+	moves; make difference between SSE and AVX.
+	* i386.h (processor_costs): Remove sse_move; add xmm_move, ymm_move
+	and zmm_move. Increase size of sse load and store tables;
+	add unaligned load and store tables; add ssemmx_to_integer.
+	* x86-tune-costs.h: Update all entries according to real
+	move latencies from Agner Fog's manual and chip documentation.
+
+2017-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82628
+	* config/i386/predicates.md (x86_64_dwzext_immediate_operand): New.
+	* config/i386/constraints.md (Wf): New constraint.
+	* config/i386/i386.md (UNSPEC_SBB): New unspec.
+	(cmp<dwi>_doubleword): Removed.
+	(sub<mode>3_carry_ccc, *sub<mode>3_carry_ccc_1): New patterns.
+	(sub<mode>3_carry_ccgz): Use unspec instead of compare.
+	* config/i386/i386.c (ix86_expand_branch) <case E_TImode>: Don't
+	expand with cmp<dwi>_doubleword.  For LTU and GEU use
+	sub<mode>3_carry_ccc instead of sub<mode>3_carry_ccgz and use CCCmode.
+
+	* common.opt (gcolumn-info): Enable by default.
+	* doc/invoke.texi (gcolumn-info): Document new default.
+
+2017-10-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82672
+	* graphite-isl-ast-to-gimple.c (graphite_copy_stmts_from_block):
+	Fold the stmt if we propagated into it.
+
+2017-10-23  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (bitmap_remove_from_set): Rename to...
+	(bitmap_remove_expr_from_set): ... this.  All callers call this
+	for non-constant values.
+	(bitmap_set_subtract): Rename to...
+	(bitmap_set_subtract_expressions): ... this.  Adjust and
+	optimize.
+	(bitmap_set_contains_value): Remove superfluous check.
+	(bitmap_set_replace_value): Inline into single caller ...
+	(bitmap_value_replace_in_set): ... here and simplify.
+	(dependent_clean): Merge into ...
+	(clean): ... this using an overload.  Adjust.
+	(prune_clobbered_mems): Adjust.
+	(compute_antic_aux): Likewise.
+	(compute_partial_antic_aux): Likewise.
+
+2017-10-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82129
+	Revert
+	2017-08-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81181
+	* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
+	(compute_antic): ... end of iteration here.
+
+2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* target.def (starting_frame_offset): New hook.
+	* doc/tm.texi (STARTING_FRAME_OFFSET): Remove in favor of...
+	(TARGET_STARTING_FRAME_OFFSET): ...this new hook.
+	* doc/tm.texi.in: Regenerate.
+	* hooks.h (hook_hwi_void_0): Declare.
+	* hooks.c (hook_hwi_void_0): New function.
+	* doc/rtl.texi: Refer to TARGET_STARTING_FRAME_OFFSET instead of
+	STARTING_FRAME_OFFSET.
+	* builtins.c (expand_builtin_setjmp_receiver): Likewise.
+	* reload1.c (reload): Likewise.
+	* cfgexpand.c (expand_used_vars): Use targetm.starting_frame_offset
+	instead of STARTING_FRAME_OFFSET.
+	* function.c (try_fit_stack_local): Likewise.
+	(assign_stack_local_1): Likewise
+	(instantiate_virtual_regs): Likewise.
+	* rtlanal.c (rtx_addr_can_trap_p_1): Likewise.
+	* config/avr/avr.md (nonlocal_goto_receiver): Likewise.
+	* config/aarch64/aarch64.h (STARTING_FRAME_OFFSET): Delete.
+	* config/alpha/alpha.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/arc/arc.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/arm/arm.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/bfin/bfin.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/c6x/c6x.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/cr16/cr16.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/cris/cris.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/fr30/fr30.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/frv/frv.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/ft32/ft32.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/h8300/h8300.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/i386/i386.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/ia64/ia64.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/m32c/m32c.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/m68k/m68k.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/mcore/mcore.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/mn10300/mn10300.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/moxie/moxie.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/msp430/msp430.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/nds32/nds32.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/nios2/nios2.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/nvptx/nvptx.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/pdp11/pdp11.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/riscv/riscv.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/rl78/rl78.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/rx/rx.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/s390/s390.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/sh/sh.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/sparc/sparc.c (sparc_compute_frame_size): Likewise.
+	* config/sparc/sparc.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/spu/spu.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/stormy16/stormy16.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/tilegx/tilegx.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/tilepro/tilepro.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/v850/v850.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/visium/visium.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/avr/avr.h (STARTING_FRAME_OFFSET): Likewise.
+	* config/avr/avr-protos.h (avr_starting_frame_offset): Likewise.
+	* config/avr/avr.c (avr_starting_frame_offset): Make static and
+	return a HOST_WIDE_INT.
+	(avr_builtin_setjmp_frame_value): Use it instead of
+	STARTING_FRAME_OFFSET.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* config/epiphany/epiphany.h (STARTING_FRAME_OFFSET): Delete.
+	* config/epiphany/epiphany.c (epiphany_starting_frame_offset):
+	New function.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* config/iq2000/iq2000.h (STARTING_FRAME_OFFSET): Delete.
+	* config/iq2000/iq2000.c (iq2000_starting_frame_offset): New function.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/lm32/lm32.h (STARTING_FRAME_OFFSET): Delete.
+	* config/lm32/lm32.c (lm32_starting_frame_offset): New function.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* config/m32r/m32r.h (STARTING_FRAME_OFFSET): Delete.
+	* config/m32r/m32r.c (m32r_starting_frame_offset): New function.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* config/microblaze/microblaze.h (STARTING_FRAME_OFFSET): Delete.
+	* config/microblaze/microblaze.c (microblaze_starting_frame_offset):
+	New function.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* config/mips/mips.h (STARTING_FRAME_OFFSET): Delete.
+	* config/mips/mips.c (mips_compute_frame_info): Refer to
+	TARGET_STARTING_FRAME_OFFSET instead of STARTING_FRAME_OFFSET.
+	(mips_starting_frame_offset): New function.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* config/mmix/mmix.h (STARTING_FRAME_OFFSET): Delete.
+	* config/mmix/mmix-protos.h (mmix_starting_frame_offset): Delete.
+	* config/mmix/mmix.c (mmix_starting_frame_offset): Make static
+	and return a HOST_WIDE_INT.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	(mmix_initial_elimination_offset): Refer to
+	TARGET_STARTING_FRAME_OFFSET instead of STARTING_FRAME_OFFSET.
+	* config/pa/pa.h (STARTING_FRAME_OFFSET): Delete.
+	* config/pa/pa.c (pa_starting_frame_offset): New function.
+	(pa_compute_frame_size): Use it instead of STARTING_FRAME_OFFSET.
+	(pa_expand_prologue): Likewise.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* config/powerpcspe/aix.h (STARTING_FRAME_OFFSET): Split out
+	!FRAME_GROWS_DOWNWARD handling to...
+	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
+	* config/powerpcspe/darwin.h (STARTING_FRAME_OFFSET): Split out
+	!FRAME_GROWS_DOWNWARD handling to...
+	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
+	* config/powerpcspe/powerpcspe.h (STARTING_FRAME_OFFSET): Split out
+	!FRAME_GROWS_DOWNWARD handling to...
+	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
+	* config/powerpcspe/powerpcspe.c (TARGET_STARTING_FRAME_OFFSET):
+	Redefine.
+	(rs6000_starting_frame_offset): New function.
+	* config/rs6000/aix.h (STARTING_FRAME_OFFSET): Split out
+	!FRAME_GROWS_DOWNWARD handling to...
+	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
+	* config/rs6000/darwin.h (STARTING_FRAME_OFFSET): Split out
+	!FRAME_GROWS_DOWNWARD handling to...
+	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
+	* config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Split out
+	!FRAME_GROWS_DOWNWARD handling to...
+	(RS6000_STARTING_FRAME_OFFSET): ...this new macro.
+	* config/rs6000/rs6000.c (TARGET_STARTING_FRAME_OFFSET): Refine.
+	(rs6000_starting_frame_offset): New function.
+	* config/vax/elf.h (STARTING_FRAME_OFFSET): Delete.
+	* config/vax/vax.h (STARTING_FRAME_OFFSET): Delete.
+	* config/vax/vax.c (vax_starting_frame_offset): New function.
+	(vax_expand_prologue): Use it instead of STARTING_FRAME_OFFSET.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* config/xtensa/xtensa.h (STARTING_FRAME_OFFSET): Delete.
+	* config/xtensa/xtensa.c (xtensa_starting_frame_offset): New function.
+	(TARGET_STARTING_FRAME_OFFSET): Redefine.
+	* system.h (STARTING_FRAME_OFFSET): Poison.
+
+2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Use
+	SCALAR_TYPE_MODE instead of TYPE_MODE.
+
+2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* dwarf2out.c (loc_list_from_tree_1): Use SCALAR_INT_TYPE_MODE
+
+2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expmed.c (expand_shift_1): Use scalar_mode for scalar_mode.
+
+2017-10-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82129
+	* tree-ssa-pre.c (bitmap_set_and): Remove.
+	(compute_antic_aux): Compute ANTIC_OUT intersection in a way
+	canonicalizing expressions in the set to those with lowest
+	ID rather than taking that from the first edge.
+
+2017-10-23  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* combine.c (rtx_equal_for_field_assignment_p): Use
+	byte_lowpart_offset.
+
+2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* internal-fn.c (expand_direct_optab_fn): Don't assign directly
+	to a SUBREG_PROMOTED_VAR.
+
+2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cfgexpand.c (expand_debug_expr): Use GET_MODE_UNIT_PRECISION.
+	(expand_debug_source_expr): Likewise.
+	* combine.c (combine_simplify_rtx): Likewise.
+	* cse.c (fold_rtx): Likewise.
+	* optabs.c (expand_float): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+	(simplify_binary_operation_1): Likewise.
+
+2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (simplify_comparison): Use HWI_COMPUTABLE_MODE_P.
+	(record_promoted_value): Likewise.
+	* expr.c (expand_expr_real_2): Likewise.
+	* ree.c (update_reg_equal_equiv_notes): Likewise.
+	(combine_set_extension): Likewise.
+	* rtlanal.c (low_bitmask_len): Likewise.
+	* simplify-rtx.c (neg_const_int): Likewise.
+	(simplify_binary_operation_1): Likewise.
+
+2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* lra-spills.c (assign_mem_slot): Use subreg_size_lowpart_offset.
+	* regcprop.c (maybe_mode_change): Likewise.
+	* reload1.c (alter_reg): Likewise.
+
+2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* inchash.h (inchash::hash::add_wide_int): New function.
+	* lto-streamer-out.c (hash_tree): Use it.
+
+2017-10-22  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* inchash.h (inchash::hash::add_wide_int): Rename to...
+	(inchash::hash::add_hwi): ...this.
+	* ipa-devirt.c (hash_odr_vtable): Update accordingly.
+	(polymorphic_call_target_hasher::hash): Likewise.
+	* ipa-icf.c (sem_function::get_hash, sem_function::init): Likewise.
+	(sem_item::add_expr, sem_item::add_type, sem_variable::get_hash)
+	(sem_item_optimizer::update_hash_by_addr_refs): Likewise.
+	* lto-streamer-out.c (hash_tree): Likewise.
+	* optc-save-gen.awk: Likewise.
+	* tree.c (add_expr): Likewise.
+
+2017-10-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/52451
+	* config/i386/i386.c (ix86_fp_compare_mode): Return CCFPmode
+	for ordered inequality comparisons even with TARGET_IEEE_FP.
+
+2017-10-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/82628
+	* config/i386/i386.md (cmp<dwi>_doubleword): New pattern.
+	* config/i386/i386.c (ix86_expand_branch) <case E_TImode>:
+	Expand with cmp<dwi>_doubleword.
+
+2017-10-21  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* extend.texi: Add x86 specific to 'nocf_check' attribute.
+	List CET intrinsics.
+	* invoke.texi: Add -mcet, -mibt, -mshstk options.  Add x86
+	specific to -fcf-protection option.
+
+2017-10-21  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_IBT_SET): New.
+	(OPTION_MASK_ISA_SHSTK_SET): Likewise.
+	(OPTION_MASK_ISA_IBT_UNSET): Likewise.
+	(OPTION_MASK_ISA_SHSTK_UNSET): Likewise.
+	(ix86_handle_option): Add -mibt, -mshstk, -mcet handling.
+	* config.gcc (extra_headers): Add cetintrin.h for x86 targets.
+	(extra_objs): Add cet.o for Linux/x86 targets.
+	(tmake_file): Add i386/t-cet for Linux/x86 targets.
+	* config/i386/cet.c: New file.
+	* config/i386/cetintrin.h: Likewise.
+	* config/i386/t-cet: Likewise.
+	* config/i386/cpuid.h (bit_SHSTK): New.
+	(bit_IBT): Likewise.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Detect and
+	pass IBT and SHSTK bits.
+	* config/i386/i386-builtin-types.def
+	(VOID_FTYPE_UNSIGNED_PVOID): New.
+	(VOID_FTYPE_UINT64_PVOID): Likewise.
+	* config/i386/i386-builtin.def: Add CET intrinsics.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Add
+	OPTION_MASK_ISA_IBT, OPTION_MASK_ISA_SHSTK handling.
+	* config/i386/i386-passes.def: Add pass_insert_endbranch pass.
+	* config/i386/i386-protos.h (make_pass_insert_endbranch): New
+	prototype.
+	* config/i386/i386.c (rest_of_insert_endbranch): New.
+	(pass_data_insert_endbranch): Likewise.
+	(pass_insert_endbranch): Likewise.
+	(make_pass_insert_endbranch): Likewise.
+	(ix86_notrack_prefixed_insn_p): Likewise.
+	(ix86_target_string): Add -mibt, -mshstk flags.
+	(ix86_option_override_internal): Add flag_cf_protection
+	processing.
+	(ix86_valid_target_attribute_inner_p): Set OPT_mibt, OPT_mshstk.
+	(ix86_print_operand): Add 'notrack' prefix output.
+	(ix86_init_mmx_sse_builtins): Add CET intrinsics.
+	(ix86_expand_builtin): Expand CET intrinsics.
+	(x86_output_mi_thunk): Add 'endbranch' instruction.
+	* config/i386/i386.h (TARGET_IBT): New.
+	(TARGET_IBT_P): Likewise.
+	(TARGET_SHSTK): Likewise.
+	(TARGET_SHSTK_P): Likewise.
+	* config/i386/i386.md (unspecv): Add UNSPECV_NOP_RDSSP,
+	UNSPECV_INCSSP, UNSPECV_SAVEPREVSSP, UNSPECV_RSTORSSP,
+	UNSPECV_WRSS, UNSPECV_WRUSS, UNSPECV_SETSSBSY, UNSPECV_CLRSSBSY.
+	(builtin_setjmp_setup): New pattern.
+	(builtin_longjmp): Likewise.
+	(rdssp<mode>): Likewise.
+	(incssp<mode>): Likewise.
+	(saveprevssp): Likewise.
+	(rstorssp): Likewise.
+	(wrss<mode>): Likewise.
+	(wruss<mode>): Likewise.
+	(setssbsy): Likewise.
+	(clrssbsy): Likewise.
+	(nop_endbr): Likewise.
+	* config/i386/i386.opt: Add -mcet, -mibt, -mshstk and -mcet-switch
+	options.
+	* config/i386/immintrin.h: Include <cetintrin.h>.
+	* config/i386/linux-common.h
+	(file_end_indicate_exec_stack_and_cet): New prototype.
+	(TARGET_ASM_FILE_END): New.
+
+2017-10-20  Jan Hubicka  <hubicka@ucw.cz>
+
+	* i386.c (ix86_builtin_vectorization_cost): Use existing rtx_cost
+	latencies instead of having separate table; make difference between
+	integer and float costs.
+	* i386.h (processor_costs): Remove scalar_stmt_cost,
+	scalar_load_cost, scalar_store_cost, vec_stmt_cost, vec_to_scalar_cost,
+	scalar_to_vec_cost, vec_align_load_cost, vec_unalign_load_cost,
+	vec_store_cost.
+	* x86-tune-costs.h: Remove entries which has been removed in
+	procesor_costs from all tables; make cond_taken_branch_cost
+	and cond_not_taken_branch_cost COST_N_INSNS based.
+
+2017-10-20  Jan Hubicka  <hubicka@ucw.cz>
+
+	* x86-tune-costs.h (intel_cost, generic_cost): Fix move costs.
+
+2017-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.md (isa): Remove fma_avx512f.
+	* config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>,
+	<avx512>_fmadd_<mode>_mask3<round_name>,
+	<avx512>_fmsub_<mode>_mask<round_name>,
+	<avx512>_fmsub_<mode>_mask3<round_name>,
+	<avx512>_fnmadd_<mode>_mask<round_name>,
+	<avx512>_fnmadd_<mode>_mask3<round_name>,
+	<avx512>_fnmsub_<mode>_mask<round_name>,
+	<avx512>_fnmsub_<mode>_mask3<round_name>,
+	<avx512>_fmaddsub_<mode>_mask<round_name>,
+	<avx512>_fmaddsub_<mode>_mask3<round_name>,
+	<avx512>_fmsubadd_<mode>_mask<round_name>,
+	<avx512>_fmsubadd_<mode>_mask3<round_name>): Remove isa attribute.
+	(*vec_widen_umult_even_v16si<mask_name>,
+	*vec_widen_smult_even_v16si<mask_name>): Likewise.
+	(<mask_codefor>avx512bw_dbpsadbw<mode><mask_name>): Likewise.
+
+2017-10-20  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* extend.texi: Add 'nocf_check' documentation.
+	* gimple.texi: Add second parameter to
+	gimple_build_call_from_tree.
+	* invoke.texi: Add -fcf-protection documentation.
+	* rtl.texi: Add REG_CALL_NOTRACK documenation.
+
+2017-10-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82473
+	* tree-vect-loop.c (vectorizable_reduction): Properly get at
+	the largest input type.
+
+2017-10-20  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+
+	* c-attribs.c (handle_nocf_check_attribute): New function.
+	(c_common_attribute_table): Add 'nocf_check' handling.
+	* gimple-parser.c: Add second argument NULL to
+	gimple_build_call_from_tree.
+	* attrib.c (comp_type_attributes): Check nocf_check attribute.
+	* cfgexpand.c (expand_call_stmt): Set REG_CALL_NOCF_CHECK for
+	call insn.
+	* combine.c (distribute_notes): Add REG_CALL_NOCF_CHECK handling.
+	* common.opt: Add fcf-protection flag.
+	* emit-rtl.c (try_split): Add REG_CALL_NOCF_CHECK handling.
+	* flag-types.h: Add enum cf_protection_level.
+	* gimple.c (gimple_build_call_from_tree): Add second parameter.
+	Add 'nocf_check' attribute propagation to gimple call.
+	* gimple.h (gf_mask): Add GF_CALL_NOCF_CHECK.
+	(gimple_build_call_from_tree): Update prototype.
+	(gimple_call_nocf_check_p): New function.
+	(gimple_call_set_nocf_check): Likewise.
+	* gimplify.c: Add second argument to gimple_build_call_from_tree.
+	* ipa-icf.c: Add nocf_check attribute in statement hash.
+	* recog.c (peep2_attempt): Add REG_CALL_NOCF_CHECK handling.
+	* reg-notes.def: Add REG_NOTE (CALL_NOCF_CHECK).
+	* toplev.c (process_options): Add flag_cf_protection handling.
+
+2017-10-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* x86-tune-costs.h (core_cost): Fix div, move and sqrt latencies.
+
+2017-10-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82603
+	* tree-if-conv.c (predicate_mem_writes): Make sure to only
+	remove false predicated stores.
+
+2017-10-20  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c
+	(translate_isl_ast_to_gimple::graphite_copy_stmts_from_block):
+	Remove return value and simplify, dump copied stmt after lhs
+	adjustment.
+	(translate_isl_ast_to_gimple::translate_isl_ast_node_user):
+	Reduce dump verbosity.
+	(gsi_insert_earliest): Likewise.
+	(translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences): Adjust.
+	* graphite.c (print_global_statistics): Adjust dumping.
+	(print_graphite_scop_statistics): Likewise.
+	(print_graphite_statistics): Do not dump loops here.
+	(graphite_transform_loops): But here.
+
+2017-10-20  Nicolas Roche  <roche@adacore.com>
+
+	* configure.ac (ACX_PROG_GNAT): Append "libgnat" to include search dir.
+	* configure: Regenerate.
+
+2017-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82158
+	* tree-cfg.c (pass_warn_function_return::execute): In noreturn
+	functions when optimizing replace GIMPLE_RETURN stmts with
+	calls to __builtin_unreachable ().
+
+	PR sanitizer/82595
+	* config/gnu-user.h (LIBTSAN_EARLY_SPEC): Add libtsan_preinit.o
+	for -fsanitize=thread link of executables.
+	(LIBLSAN_EARLY_SPEC): Add liblsan_preinit.o for -fsanitize=leak
+	link of executables.
+
+	PR target/82370
+	* config/i386/sse.md (VI248_AVX2, VI248_AVX512BW, VI248_AVX512BW_2):
+	New mode iterators.
+	(<shift_insn><mode>3<mask_name>): Change the last of the 3
+	define_insns for logical vector shifts to use VI248_AVX512BW
+	iterator instead of VI48_AVX512, remove <mask_mode512bit_condition>
+	condition, useless isa and prefix attributes.  Change the first
+	2 of these define_insns to ...
+	(<mask_codefor><shift_insn><mode>3<mask_name>): ... this, new
+	define_insn for avx512vl.
+	(<shift_insn><mode>3): ... and this, new define_insn without
+	masking for non-avx512vl.
+
+	PR target/82370
+	* config/i386/sse.md (*andnot<mode>3,
+	<mask_codefor><code><mode>3<mask_name>, *<code><mode>3): Split
+	(=v,v,vm) alternative into (=x,x,xm) and (=v,v,vm), for 128-bit
+	and 256-bit vectors, the (=x,x,xm) alternative and when mask is
+	not applied use empty suffix even for TARGET_AVX512VL.
+	* config/i386/subst.md (mask_prefix3, mask_prefix4): When mask
+	is applied, supply evex,evex or evex,evex,evex instead of just
+	evex.
+
+2017-10-20  Julia Koval  <julia.koval@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_GFNI_SET,
+	(OPTION_MASK_ISA_GFNI_UNSET): New.
+	(ix86_handle_option): Handle OPT_mgfni.
+	* config/i386/cpuid.h (bit_GFNI): New.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Detect gfni.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Define __GFNI__.
+	* config/i386/i386.c (ix86_target_string): Add -mgfni.
+	(ix86_valid_target_attribute_inner_p): Add OPT_mgfni.
+	* config/i386/i386.h (TARGET_GFNI, TARGET_GFNI_P): New.
+	* config/i386/i386.opt: Add mgfni.
+
+2017-10-20  Orlando Arias  <oarias@knights.ucf.edu>
+
+	* config/msp430/msp430.c (msp430_option_override): Disable
+	-fdelete-null-pointer-checks.
+	* doc/invoke.text (-fdelete-null-pointer-checks): Document that.
+
+2017-10-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* x86-tune-costs.h (generic_cost, core_cost): Correct costs
+	of x87 and SSE instructions.
+
+2017-10-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* asan.c (create_cond_insert_point): Do not update edge count.
+	* auto-profile.c (afdo_propagate_edge): Update for edge count removal.
+	(afdo_propagate_circuit): Likewise.
+	(afdo_calculate_branch_prob): Likewise.
+	(afdo_annotate_cfg): Likewise.
+	* basic-block.h (struct edge_def): Remove count.
+	(edge_def::count): New accessor.
+	* bb-reorder.c (rotate_loop): Update.
+	(find_traces_1_round): Update.
+	(connect_traces): Update.
+	(sanitize_hot_paths): Update.
+	* cfg.c (unchecked_make_edge): Update.
+	(make_single_succ_edge): Update.
+	(check_bb_profile): Update.
+	(dump_edge_info): Update.
+	(update_bb_profile_for_threading): Update.
+	(scale_bbs_frequencies_int): Update.
+	(scale_bbs_frequencies_gcov_type): Update.
+	(scale_bbs_frequencies_profile_count): Update.
+	(scale_bbs_frequencies): Update.
+	* cfganal.c (connect_infinite_loops_to_exit): Update.
+	* cfgbuild.c (compute_outgoing_frequencies): Update.
+	(find_many_sub_basic_blocks): Update.
+	* cfgcleanup.c (try_forward_edges): Update.
+	(try_crossjump_to_edge): Update
+	* cfgexpand.c (expand_gimple_cond): Update
+	(expand_gimple_tailcall): Update
+	(construct_exit_block): Update
+	* cfghooks.c (verify_flow_info): Update
+	(redirect_edge_succ_nodup): Update
+	(split_edge): Update
+	(make_forwarder_block): Update
+	(duplicate_block): Update
+	(account_profile_record): Update
+	* cfgloop.c (find_subloop_latch_edge_by_profile): Update.
+	* cfgloopanal.c (expected_loop_iterations_unbounded): Update.
+	* cfgloopmanip.c (scale_loop_profile): Update.
+	(loopify): Update.
+	(lv_adjust_loop_entry_edge): Update.
+	* cfgrtl.c (try_redirect_by_replacing_jump): Update.
+	(force_nonfallthru_and_redirect): Update.
+	(purge_dead_edges): Update.
+	(rtl_flow_call_edges_add): Update.
+	* cgraphunit.c (init_lowered_empty_function): Update.
+	(cgraph_node::expand_thunk): Update.
+	* gimple-pretty-print.c (dump_probability): Update.
+	(dump_edge_probability): Update.
+	* gimple-ssa-isolate-paths.c (isolate_path): Update.
+	* haifa-sched.c (sched_create_recovery_edges): Update.
+	* hsa-gen.c (convert_switch_statements): Update.
+	* ifcvt.c (dead_or_predicable): Update.
+	* ipa-inline-transform.c (inline_transform): Update.
+	* ipa-split.c (split_function): Update.
+	* ipa-utils.c (ipa_merge_profiles): Update.
+	* loop-doloop.c (add_test): Update.
+	* loop-unroll.c (unroll_loop_runtime_iterations): Update.
+	* lto-streamer-in.c (input_cfg): Update.
+	(input_function): Update.
+	* lto-streamer-out.c (output_cfg): Update.
+	* modulo-sched.c (sms_schedule): Update.
+	* postreload-gcse.c (eliminate_partially_redundant_load): Update.
+	* predict.c (maybe_hot_edge_p): Update.
+	(unlikely_executed_edge_p): Update.
+	(probably_never_executed_edge_p): Update.
+	(dump_prediction): Update.
+	(drop_profile): Update.
+	(propagate_unlikely_bbs_forward): Update.
+	(determine_unlikely_bbs): Update.
+	(force_edge_cold): Update.
+	* profile.c (compute_branch_probabilities): Update.
+	* reg-stack.c (better_edge): Update.
+	* shrink-wrap.c (handle_simple_exit): Update.
+	* tracer.c (better_p): Update.
+	* trans-mem.c (expand_transaction): Update.
+	(split_bb_make_tm_edge): Update.
+	* tree-call-cdce.c: Update.
+	* tree-cfg.c (gimple_find_sub_bbs): Update.
+	(gimple_split_edge): Update.
+	(gimple_duplicate_sese_region): Update.
+	(gimple_duplicate_sese_tail): Update.
+	(gimple_flow_call_edges_add): Update.
+	(insert_cond_bb): Update.
+	(execute_fixup_cfg): Update.
+	* tree-cfgcleanup.c (cleanup_control_expr_graph): Update.
+	* tree-complex.c (expand_complex_div_wide): Update.
+	* tree-eh.c (lower_resx): Update.
+	(unsplit_eh): Update.
+	(cleanup_empty_eh_move_lp): Update.
+	* tree-inline.c (copy_edges_for_bb): Update.
+	(freqs_to_counts): Update.
+	(copy_cfg_body): Update.
+	* tree-ssa-dce.c (remove_dead_stmt): Update.
+	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
+	* tree-ssa-loop-im.c (execute_sm_if_changed): Update.
+	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update.
+	(unloop_loops): Update.
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
+	* tree-ssa-loop-split.c (connect_loops): Update.
+	(split_loop): Update.
+	* tree-ssa-loop-unswitch.c (hoist_guard): Update.
+	* tree-ssa-phionlycprop.c (propagate_rhs_into_lhs): Update.
+	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update.
+	* tree-ssa-reassoc.c (branch_fixup): Update.
+	* tree-ssa-tail-merge.c (replace_block_by): Update.
+	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Update.
+	(compute_path_counts): Update.
+	(update_profile): Update.
+	(recompute_probabilities): Update.
+	(update_joiner_offpath_counts): Update.
+	(estimated_freqs_path): Update.
+	(freqs_to_counts_path): Update.
+	(clear_counts_path): Update.
+	(ssa_fix_duplicate_block_edges): Update.
+	(duplicate_thread_path): Update.
+	* tree-switch-conversion.c (hoist_edge_and_branch_if_true): Update.
+	(case_bit_test_cmp): Update.
+	(collect_switch_conv_info): Update.
+	(gen_inbound_check): Update.
+	(do_jump_if_equal): Update.
+	(emit_cmp_and_jump_insns): Update.
+	* tree-tailcall.c (decrease_profile): Update.
+	(eliminate_tail_call): Update.
+	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
+	(vect_do_peeling): Update.
+	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
+	* ubsan.c (ubsan_expand_null_ifn): Update.
+	(ubsan_expand_ptr_ifn): Update.
+	* value-prof.c (gimple_divmod_fixed_value): Update.
+	(gimple_mod_pow2): Update.
+	(gimple_mod_subtract): Update.
+	(gimple_ic): Update.
+	(gimple_stringop_fixed_value): Update.
+
+2017-10-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/82618
+	* config/i386/i386.md (sub to cmp): New peephole2 pattern.
+
+2017-10-19  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR rtl-optimization/82395
+	* ira-color.c (allocno_priority_compare_func): Fix comparison step
+	based on non_spilled_static_chain_regno_p.
+
+2017-10-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (output_387_binary_op): Rewrite SSE part.
+	(ix86_emit_mode_set): Rewrite insn mnemonic construction.
+	(ix86_prepare_fp_compare_args): Redefine is_sse as bool.
+
+2017-10-19  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/82596
+	* tree.c (array_at_struct_end_p): Handle STRING_CST.
+
+2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* asan.c (handle_builtin_alloca): Deal with all alloca variants.
+	(get_mem_refs_of_builtin_call): Likewise.
+	* builtins.c (expand_builtin_apply): Adjust call to
+	allocate_dynamic_stack_space.
+	(expand_builtin_alloca): For __builtin_alloca_with_align_and_max, pass
+	the third argument to allocate_dynamic_stack_space, otherwise -1.
+	(expand_builtin): Deal with all alloca variants.
+	(is_inexpensive_builtin): Likewise.
+	* builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX): New.
+	* calls.c (special_function_p): Deal with all alloca variants.
+	(initialize_argument_information): Adjust call to
+	allocate_dynamic_stack_space.
+	(expand_call): Likewise.
+	* cfgexpand.c (expand_call_stmt): Deal with all alloca variants.
+	* doc/extend.texi (Built-ins): Add __builtin_alloca_with_align_and_max
+	* explow.c (allocate_dynamic_stack_space): Add MAX_SIZE parameter and
+	use it for the stack usage computation.
+	* explow.h (allocate_dynamic_stack_space): Adjust prototype.
+	* function.c (gimplify_parameters): Call build_alloca_call_expr.
+	* gimple-ssa-warn-alloca.c (alloca_call_type): Simplify control flow.
+	Take into account 3rd argument of __builtin_alloca_with_align_and_max.
+	(in_loop_p): Remove first argument and useless check.
+	(pass_walloca::execute): Remove useless test and adjust call to above.
+	* gimple.c (gimple_build_call_from_tree): Deal with all alloc variants
+	* gimplify.c (gimplify_vla_decl): Call build_alloca_call_expr.
+	(gimplify_call_expr): Deal with all alloca variants.
+	* hsa-gen.c (gen_hsa_alloca): Likewise.
+	(gen_hsa_insns_for_call): Likewise.
+	* ipa-pure-const.c (special_builtin_state): Likewise.
+	* tree-chkp.c (chkp_build_returned_bound): Likewise.
+	* tree-object-size.c (alloc_object_size): Likewise.
+	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
+	(call_may_clobber_ref_p_1): Likewise.
+	* tree-ssa-ccp.c (evaluate_stmt): Likewise.
+	(ccp_fold_stmt): Likewise.
+	(optimize_stack_restore): Likewise.
+	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+	(mark_all_reaching_defs_necessary_1): Likewise.
+	(propagate_necessity): Likewise.
+	(eliminate_unnecessary_stmts): Likewise.
+	* tree.c (build_common_builtin_nodes): Build
+	BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX.
+	(build_alloca_call_expr): New function.
+	* tree.h (ALLOCA_FUNCTION_CODE_P): New macro.
+	(CASE_BUILT_IN_ALLOCA): Likewise.
+	(build_alloca_call_expr): Declare.
+	* varasm.c (incorporeal_function_p): Deal with all alloca variants.
+
+2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR debug/82509
+	* dwarf2out.c (new_die_raw): New static inline function.
+	(new_die): Use it to create the DIE.
+	(add_AT_external_die_ref): Likewise.
+	(clone_die): Likewise.
+	(clone_as_declaration): Likewise.
+	(dwarf2out_vms_debug_main_pointer): Likewise.
+	(base_type_die): Likewise.  Remove early return for corner cases.
+	Do not call add_pubtype on the DIE here.
+	(is_base_type): Remove ERROR_MARK and return 0 for VOID_TYPE.
+	(modified_type_die): Adjust the lookup for reverse order DIEs.  Skip
+	typedefs for base types with DW_AT_endianity.  Make sure a DIE with
+	native order exists for base types, attach the DIE manually and call
+	add_pubtype on it.  Do not equate a reverse order DIE to the type.
+
+2017-10-19  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.c (align_ok_ldrd_strd): New function.
+	(mem_ok_for_ldrd_strd): New parameter align.  Extract the alignment of
+	the mem into it.
+	(gen_operands_ldrd_strd): Validate the alignment of the accesses.
+
+2017-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* flag-types.h (enum sanitize_code): Add SANITIZE_BUILTIN.  Or
+	SANITIZE_BUILTIN into SANITIZE_UNDEFINED.
+	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_INVALID_BUILTIN,
+	BUILT_IN_UBSAN_HANDLE_INVALID_BUILTIN_ABORT): New builtins.
+	* opts.c (sanitizer_opts): Add builtin.
+	* ubsan.c (instrument_builtin): New function.
+	(pass_ubsan::execute): Call it.
+	(pass_ubsan::gate): Enable even for SANITIZE_BUILTIN.
+	* doc/invoke.texi: Document -fsanitize=builtin.
+
+	* ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch
+	builtins, store max (log2 (align), 0) into uchar field instead of
+	align into uptr field.
+	(ubsan_expand_objsize_ifn): Use _v1 suffixed type mismatch builtins,
+	store uchar 0 field instead of uptr 0 field.
+	(instrument_nonnull_return): Use _v1 suffixed nonnull return builtin,
+	instead of passing one address of struct with 2 locations pass
+	two addresses of structs with 1 location each.
+	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH,
+	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
+	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN,
+	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_ABORT): Removed.
+	(BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1,
+	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1_ABORT,
+	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1,
+	BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1_ABORT): New builtins.
+
+2017-10-19  Martin Liska  <mliska@suse.cz>
+
+	PR driver/81829
+	* file-find.c (remove_prefix): Remove.
+	* file-find.h (remove_prefix): Likewise.
+	* gcc-ar.c: Remove smartness of lookup.
+
+2017-10-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (*call_indirect_aix<mode>,
+	*call_value_indirect_aix<mode>, *call_indirect_elfv2<mode>,
+	*call_value_indirect_elfv2<mode>): Add correct mode to the unspec.
+
+2017-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82580
+	* config/i386/i386.md (setcc + movzbl to xor + setcc): New peephole2.
+	(setcc + and to xor + setcc): New peephole2.
+
+2017-10-19  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Test Directives, Variants of
+	dg-require-support): Add dg-require-stack-size.
+
+2017-10-19  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/82517
+	* gimplify.c (gimplify_decl_expr): Do not instrument variables
+	that have a large alignment.
+	(gimplify_target_expr): Likewise.
+
+2017-10-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/82602
+	* ira.c (rtx_moveable_p): Return false for volatile asm.
+
+2017-10-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/82580
+	* config/i386/i386-modes.def (CCGZ): New CC mode.
+	* config/i386/i386.md (sub<mode>3_carry_ccgz): New insn pattern.
+	* config/i386/predicates.md (ix86_comparison_operator):
+	Handle CCGZmode.
+	* config/i386/i386.c (ix86_expand_branch) <case E_TImode>:
+	Emulate LE, LEU, GT, GTU, LT, LTU, GE and GEU double-word comparisons
+	with double-word subtraction.
+	(put_condition_code): Handle CCGZmode.
+
+2017-10-18  Aldy Hernandez  <aldyh@redhat.com>
+
+	* wide-int.cc (debug (const wide_int &)): New.
+	(debug (const wide_int *)): New.
+	(debug (const widest_int &)): New.
+	(debug (const widest_int *)): New.
+
+2017-10-18  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR middle-end/82556
+	* lra-constraints.c (curr_insn_transform): Use non-input operand
+	instead of output one for matched reload.
+
+2017-10-18  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (INCLUDE_ALGORITHM): New header file.
+	(tree-ssa-loop-ivopts.h): New header file.
+	(struct builtin_info): New fields.
+	(classify_builtin_1): Compute and record base and offset parts for
+	memset builtin partition by calling strip_offset.
+	(offset_cmp, fuse_memset_builtins): New functions.
+	(finalize_partitions): Fuse adjacent memset partitions by calling
+	above function.
+	* tree-ssa-loop-ivopts.c (strip_offset): Delete static declaration.
+	Expose the interface.
+	* tree-ssa-loop-ivopts.h (strip_offset): New declaration.
+
+2017-10-18  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/82574
+	* tree-loop-distribution.c (find_single_drs): New parameter.  Check
+	that data reference must be executed exactly once per iteration
+	against the outermost loop in nest.
+	(classify_partition): Update call to above function.
+
+2017-10-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82591
+	* graphite.c (graphite_transform_loops): Move code gen message
+	printing ...
+	* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
+	Here.  Handle scop_to_isl_ast failing.
+	(scop_to_isl_ast): Limit the number of ISL operations.
+
+2017-10-18  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c
+	(translate_isl_ast_to_gimple::set_rename): Simplify.
+	(translate_isl_ast_to_gimple::set_rename_for_each_def): Inline...
+	(graphite_copy_stmts_from_block): ... here.
+	(copy_bb_and_scalar_dependences): Simplify.
+	(add_parameters_to_ivs_params): Canonicalize.
+	(generate_entry_out_of_ssa_copies): Simplify.
+	* graphite-sese-to-poly.c (extract_affine_name): Simplify
+	by passing in ISL dimension.
+	(parameter_index_in_region_1): Rename to ...
+	(parameter_index_in_region): ... this.
+	(extract_affine): Adjust assert, pass down parameter index.
+	(add_param_constraints): Use range-info when available.
+	(build_scop_context): Adjust.
+	* sese.c (new_sese_info): Adjust.
+	(free_sese_info): Likewise.
+	* sese.h (bb_map_t, rename_map_t, phi_rename, init_back_edge_pair_t):
+	Remove unused typedefs.
+	(struct sese_info_t): Simplify rename_map, remove incomplete_phis.
+
+2017-10-18  Martin Liska  <mliska@suse.cz>
+
+	* combine.c (simplify_compare_const): Add gcc_fallthrough.
+
+2017-10-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_bb_fallthru_entry_likely): New function.
+	(s390_sched_init): Do not reset s390_sched_state if we entered the
+	current basic block via a fallthru edge and all others are unlikely.
+
+2017-10-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (NUM_SIDES): New variable.
+	(LONGRUNNING_THRESHOLD): New variable.
+	(LATENCY_FACTOR): New variable.
+	(s390_sched_score): Decrease score for long-running instructions on
+	wrong side.
+	(s390_sched_variable_issue): Perform bookkeeping for long-running
+	instructions.
+
+2017-10-18  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
+	Simplify with removal of the parameter rename map.
+	(set_rename): Likewise.
+	(should_copy_to_new_region): Likewise.
+	(graphite_copy_stmts_from_block): Likewise.
+	(copy_bb_and_scalar_dependences): Remove initialization of
+	unused copied_bb_map.
+	(copy_def): Remove.
+	(copy_internal_parameters): Likewise.
+	(graphite_regenerate_ast_isl): Do not call copy_internal_parameters.
+	* graphite-scop-detection.c (scop_detection::stmt_simple_for_scop_p):
+	Use INTEGRAL_TYPE_P.
+	(parameter_index_in_region_1): Rename to ...
+	(assign_parameter_index_in_region): ... this.  Assert we have
+	a parameter we handle.
+	(scan_tree_for_params): Adjust.
+	* sese.h (parameter_rename_map_t): Remove.
+	(struct sese_info_t): Remove unused parameter_rename_map and
+	copied_bb_map members.
+	* sese.c (new_sese_info): Adjust.
+	(free_sese_info): Likewise.
+
+2017-10-18  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/82545
+	* asan.c (asan_expand_poison_ifn): Do not put gimple stmt
+	on an abnormal edge.
+
+2017-10-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* doc/invoke.texi (ffunction-sections and fdata-sections):
+	Update.
+
+2017-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-loop-ivopts.c (add_autoinc_candidates): Bail out only if
+	the use statement can throw internally.
+
+2017-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/visium/visium.c (visium_select_cc_mode): Return CCmode for
+	any RTX present on the RHS of a SET.
+	* compare-elim.c (try_eliminate_compare): Restore comment.
+
+2017-10-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* langhooks.h (struct lang_hooks): Document that tree_size langhook
+	may be also called on tcc_type nodes.
+	* langhooks.c (lhd_tree_size): Likewise.
+
+2017-10-17  David Malcolm  <dmalcolm@redhat.com>
+
+	* gimple-ssa-sprintf.c (fmtwarn): Update for changed signature of
+	format_warning_at_substring.
+	(maybe_warn): Convert source_range * param to a location_t.  Pass
+	UNKNOWN_LOCATION rather than NULL to fmtwarn.
+	(format_directive): Remove code to extract source_ranges and
+	source_range * in favor of just a location_t.
+	(parse_directive): Pass UNKNOWN_LOCATION rather than NULL to
+	fmtwarn.
+	* substring-locations.c (format_warning_va): Convert
+	source_range * param to a location_t.
+	(format_warning_at_substring): Likewise.
+	* substring-locations.h (format_warning_va): Likewise.
+	(format_warning_at_substring): Likewise.
+
+2017-10-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	* target.h (enum vect_cost_for_stmt): Add vec_gather_load and
+	vec_scatter_store
+	* tree-vect-stmts.c (record_stmt_cost): Make difference between normal
+	and scatter/gather ops.
+
+	* aarch64/aarch64.c (aarch64_builtin_vectorization_cost): Add
+	vec_gather_load and vec_scatter_store.
+	* arm/arm.c (arm_builtin_vectorization_cost): Likewise.
+	* powerpcspe/powerpcspe.c (rs6000_builtin_vectorization_cost): Likewise.
+	* rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Likewise.
+	* s390/s390.c (s390_builtin_vectorization_cost): Likewise.
+	* spu/spu.c (spu_builtin_vectorization_cost): Likewise.
+	* i386/i386.c (x86_builtin_vectorization_cost): Likewise.
+
+2017-10-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	* reg-stack.c (compare_for_stack_reg): Add bool argument.
+	Detect FTST instruction and handle its register pops.  Only pop
+	second operand if can_pop_second_op is true.
+	(subst_stack_regs_pat) <case COMPARE>: Detect FCOMI instruction to
+	set can_pop_second_op to false in the compare_for_stack_reg call.
+
+	* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Only call
+	output_fp_compare for stack register operands.
+	* config/i386/i386.c (output_fp_compare): Do not output SSE compare
+	instructions here.  Do not emit stack register pops here.  Assert
+	that FCOMPP pops next to top stack register.  Rewrite function.
+
+2017-10-17  Nathan Sidwell  <nathan@acm.org>
+
+	PR middle-end/82577
+	* alias.c (compare_base_decls): Check HAS_DECL_ASSEMBLER_NAME_P,
+	use DECL_ASSEMBLER_NAME_RAW.
+
+	PR middle-end/82546
+	* tree.c (tree_code_size): Reformat.  Punt to lang hook for unknown
+	TYPE nodes.
+
+2017-10-17  Qing Zhao <qing.zhao@oracle.com>
+	    Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+	* builtins.c (expand_builtin_update_setjmp_buf): Add a
+	converstion to Pmode from the buf_addr.
+
+2017-10-17  Richard Biener  <rguenther@suse.de>
+
+	* graphite-dependences.c (scop_get_reads_and_writes): Change
+	output parameters to references.
+
+2017-10-17  Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	PR 71026/tree-optimization
+	* fold-const.c (distribute_real_division): Removed.
+	(fold_binary_loc): Remove calls to distribute_real_divison.
+
+2017-10-17  Richard Biener  <rguenther@suse.de>
+
+	* graphite-scop-detection.c
+	(scop_detection::stmt_has_simple_data_refs_p): Always use
+	the full nest as region.
+	(try_generate_gimple_bb): Likewise.
+	* sese.c (scalar_evolution_in_region): Simplify now that
+	SCEV can handle instantiation in regions.
+	* tree-scalar-evolution.c (instantiate_scev_name): Also instantiate
+	in the non-loop part of a function if requested.
+
+2017-10-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82563
+	* graphite-isl-ast-to-gimple.c (generate_entry_out_of_ssa_copies):
+	New function.
+	(graphite_regenerate_ast_isl): Call it.
+	* graphite-scop-detection.c (build_scops): Remove entry edge split.
+
+2017-10-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/82549
+	* fold-const.c (optimize_bit_field_compare, fold_truth_andor_1):
+	Formatting fixes.  Instead of calling make_bit_field_ref with negative
+	bitpos return 0.
+
+2017-10-17  Olga Makhotina  <olga.makhotina@intel.com>
+
+	* config/i386/avx512dqintrin.h (_mm_mask_reduce_sd,
+	_mm_maskz_reduce_sd, _mm_mask_reduce_ss,=20
+	_mm_maskz_reduce_ss): New.
+	* config/i386/i386-builtin.def (__builtin_ia32_reducesd_mask,
+	__builtin_ia32_reducess_mask): Ditto..
+	(__builtin_ia32_reducesd, __builtin_ia32_reducess): Remove.
+	* config/i386/sse.md (reduces<mode>): Renamed to ...
+	(reduces<mode><mask_scalar_name>): ... this.
+	(vreduce<ssescalarmodesuffix>\t{%3, %2, %1, %0|%0, %1, %2, %3}):
+	Changed to ...
+	(vreduce<ssescalarmodesuffix>\t{%3, %2, %1, %0<mask_scalar_operand4>|
+	%0<mask_scalar_operand4>, %1, %2, %3}): ... this.
+
+2017-10-16  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS): Add unique-ptr-tests.o.
+	* selftest-run-tests.c (selftest::run_tests): Call
+	selftest::unique_ptr_tests_cc_tests.
+	* selftest.h (selftest::unique_ptr_tests_cc_tests): New decl.
+	* unique-ptr-tests.cc: New file.
+
+2017-10-16  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR sanitizer/82353
+	* lra.c (collect_non_operand_hard_regs): Don't ignore operator
+	locations.
+	* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
+	(make_hard_regno_born, make_hard_regno_dead): Update
+	bb_killed_pseudos and bb_gen_pseudos for fixed regs.
+
+2017-10-16  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dse.c (live_bytes_read): Fix thinko.
+
+2017-10-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* x86-tune-costs.h (znver1_cost): Fix move cost tables.
+
+2017-10-16  Olivier Hainque  <hainque@adacore.com>
+
+	* gcc/config.gcc (powerpc*-*-*spe*): Pick 8548 as the default
+	with_cpu if we were configured for an e500v2 target cpu name.
+
+2017-10-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-cpus.in (cortex-m33): Add nodsp option.
+	* doc/invoke.texi: Document +nodsp as a valid extension for
+	-mcpu=cortex-m33.
+
+2017-10-16  Martin Liska  <mliska@suse.cz>
+
+	* sbitmap.c (bitmap_bit_in_range_p_checking): New function.
+	(test_set_range): Likewise.
+	(test_range_functions): Rename to ...
+	(test_bit_in_range): ... this.
+	(sbitmap_c_tests): Add new test.
+
+2017-10-16  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/arm_neon.h (vdot_u32, vdotq_u32, vdot_s32, vdotq_s32):
+	New.
+	(vdot_lane_u32, vdot_laneq_u32, vdotq_lane_u32, vdotq_laneq_u32): New.
+	(vdot_lane_s32, vdot_laneq_s32, vdotq_lane_s32, vdotq_laneq_s32): New.
+
+2017-10-16  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64-builtins.c
+	(aarch64_types_quadopu_lane_qualifiers): New.
+	(TYPES_QUADOPU_LANE): New.
+	* config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>): New.
+	(<sur>dot_prod<vsi2qi>, aarch64_<sur>dot_lane<vsi2qi>): New.
+	(aarch64_<sur>dot_laneq<vsi2qi>): New.
+	* config/aarch64/aarch64-simd-builtins.def (sdot, udot): New.
+	(sdot_lane, udot_lane, sdot_laneq, udot_laneq): New.
+	* config/aarch64/iterators.md (sur): Add UNSPEC_SDOT, UNSPEC_UDOT.
+	(Vdottype, DOTPROD): New.
+	(sur): Add SDOT and UDOT.
+
+2017-10-16  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.h (AARCH64_FL_DOTPROD): New.
+	(AARCH64_ISA_DOTPROD, TARGET_DOTPROD): New.
+	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
+	Add TARGET_DOTPROD.
+	* config/aarch64/aarch64-option-extensions.def (dotprod): New.
+	* config/aarch64/aarch64-cores.def (cortex-a55, cortex-a75):
+	Enable TARGET_DOTPROD.
+	(cortex-a75.cortex-a55): Likewise.
+	* doc/invoke.texi (aarch64-feature-modifiers): Document dotprod.
+
+2017-10-16  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm-builtins.c (arm_unsigned_uternop_qualifiers): New.
+	(UTERNOP_QUALIFIERS, arm_umac_lane_qualifiers, UMAC_LANE_QUALIFIERS):
+	New.
+	* config/arm/arm_neon_builtins.def (sdot, udot, sdot_lane, udot_lane):
+	New.
+	* config/arm/iterators.md (DOTPROD, VSI2QI, vsi2qi): New.
+	(UNSPEC_DOT_S, UNSPEC_DOT_U, opsuffix): New.
+	* config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
+	(neon_<sup>dot_lane<vsi2qi>, <sup>dot_prod<vsi2qi>): New.
+	* config/arm/types.md (neon_dot, neon_dot_q): New.
+	* config/arm/unspecs.md (sup): Add UNSPEC_DOT_S, UNSPEC_DOT_U.
+
+2017-10-16  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm.h (TARGET_DOTPROD): New.
+	* config/arm/arm.c (arm_arch_dotprod): New.
+	(arm_option_reconfigure_globals): Add arm_arch_dotprod.
+	* config/arm/arm-c.c (__ARM_FEATURE_DOTPROD): New.
+	* config/arm/arm-cpus.in (armv8.2-a): Enabled +dotprod.
+	(feature dotprod, group dotprod, ALL_SIMD_INTERNAL): New.
+	(ALL_FPU_INTERNAL): Use ALL_SIMD_INTERNAL.
+	* config/arm/t-multilib (v8_2_a_simd_variants): Add dotprod.
+	* doc/invoke.texi (armv8.2-a): Document dotprod
+
+2017-10-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* i386.c (ix86_vec_cost): New function.
+	(ix86_rtx_costs): Handle vector operations better.
+	* i386.h (struct processor_costs): Add sse_op, fmasd, fmass.
+	* x86-tune-costs.h: Add new costs to all tables.
+
+2017-10-14  Jan Hubicka  <hubicka@ucw.cz>
+
+	* i386.c (ix86_rtx_costs): Make difference between x87 and SSE
+	operations.
+	* i386.h (struct processor_costs): Add addss, mulss, mulsd, divss,
+	divsd, sqrtss and sqrtsd
+	* x86-tune-costs.h: Add new entries to all costs.
+	(znver1_cost): Fix to match real instruction latencies.
+
+2017-10-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+	    Michael Collison <michael.collison@arm.com>
+
+	* compare-elim.c: Include emit-rtl.h.
+	(can_merge_compare_into_arith): New function.
+	(try_validate_parallel): Likewise.
+	(try_merge_compare): Likewise.
+	(try_eliminate_compare): Call the above when no previous clobber
+	is available.
+	(execute_compare_elim_after_reload): Add DF_UD_CHAIN and DF_DU_CHAIN
+	dataflow problems.
+
+2017-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/62263
+	PR middle-end/82498
+	* tree-ssa-phiopt.c (value_replacement): Comment fix.  Handle
+	up to 2 preparation statements for ASSIGN in MIDDLE_BB.
+
+	PR middle-end/62263
+	PR middle-end/82498
+	* tree-ssa-forwprop.c (simplify_rotate): Allow def_arg1[N]
+	to be any operand_equal_p operands.  For & (B - 1) require
+	B to be power of 2.  Recognize
+	(X << (Y & (B - 1))) | (X >> ((-Y) & (B - 1))) and similar patterns.
+
+2017-10-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR bootstrap/82553
+	* optabs.c (expand_memory_blockage): Fix call of
+	targetm.have_memory_blockage.
+
+2017-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/82548
+	* config.gcc (*-*-solaris2*, i[34567]86-*-cygwin*,
+	x86_64-*-cygwin*, i[34567]86-*-mingw* | x86_64-*-mingw*): Append
+	objects to extra_objs instead of overwriting it.
+
+2017-10-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sync.md (FILD_ATOMIC/FIST_ATOMIC FP load peephole2):
+	Use any_fp_register_operand as operand[3] predicate.  Simplify
+	equality test for operands[2] and operands[4] memory location.
+	(LDX_ATOMIC/STX_ATOMIC FP load peephole2): Ditto.
+	(FILD_ATOMIC/FIST_ATOMIC FP load peephole2 with mem blockage): New.
+	(LDX_ATOMIC/LDX_ATOMIC FP load peephole2 with mem blockage): Ditto.
+	(FILD_ATOMIC/FIST_ATOMIC FP store peephole2): Use
+	any_fp_register_operand as operand[1] predicate.  Simplify
+	equality test for operands[0] and operands[3] memory location.
+	(LDX_ATOMIC/STX_ATOMIC FP store peephole2): Ditto.
+	(FILD_ATOMIC/FIST_ATOMIC FP store peephole2 with mem blockage): New.
+	(LDX_ATOMIC/LDX_ATOMIC FP storepeephole2 with mem blockage): Ditto.
+
+2017-10-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* target-insns.def: Add memory_blockage.
+	* optabs.c (expand_memory_blockage): New function.
+	(expand_asm_memory_barrier): Rename ...
+	(expand_asm_memory_blockage): ... to this.
+	(expand_mem_thread_fence): Call expand_memory_blockage
+	instead of expand_asm_memory_barrier.
+	(expand_mem_singnal_fence): Ditto.
+	(expand_atomic_load): Ditto.
+	(expand_atomic_store): Ditto.
+	* doc/md.texi (Standard Pattern Names For Generation):
+	Document memory_blockage instruction pattern.
+
+2017-10-13  Sebastian Perta  <sebastian.perta@renesas.com>
+
+	* config/rl78/rl78.c (rl78_emit_libcall): New function.
+	* config/rl78/rl78-protos.h (rl78_emit_libcall): New function.
+	* config/rl78/rl78.md: New define_expand "adddi3".
+
+2017-10-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfghooks.c (verify_flow_info): Disable check that all probabilities
+	are set correctly.
+
+2017-10-13  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-reassoc.c (reassociate_bb): Clarify code slighly.
+
+2017-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82274
+	* internal-fn.c (expand_mul_overflow): If both operands have
+	the same highpart of -1 or 0 and the topmost bit of lowpart
+	is different, overflow is if res <= 0 rather than res < 0.
+
+2017-10-13  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Remove
+	TARGET_P9_VECTOR code for unaligned_load case.
+
+2017-10-13  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfghooks.c (verify_flow_info): Check that edge probabilities are set.
+
+2017-10-13  Nathan Sidwell  <nathan@acm.org>
+
+	* tree-core.h (tree_contains_struct): Make bool.
+	* tree.c (tree_contains_struct): Likewise.
+	* tree.h (MARK_TS_BASE): Remove do ... while (0) idiom.
+	(MARK_TS_TYPED, MARK_TS_COMMON, MARK_TS_TYPE_COMMON,
+	MARK_TS_TYPE_WITH_LANG_SPECIFIC, MARK_TS_DECL_MINIMAL,
+	MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL, MARK_TS_DECL_WITH_VIS,
+	MARK_TS_DECL_NON_COMMON): Likewise, use comma operator.
+
+2017-10-13  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c
+	(translate_isl_ast_to_gimple::get_rename_from_scev): Remove unused
+	parameters and dominance check.
+	(translate_isl_ast_to_gimple::graphite_copy_stmts_from_block): Adjust.
+	(translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences): Likewise.
+	(translate_isl_ast_to_gimple::graphite_regenerate_ast_isl):
+	Do not update SSA form here or do intermediate IL verification.
+	* graphite.c: Include tree-ssa.h and tree-into-ssa.h.
+	(graphite_initialize): Remove check on the number of loops in
+	the function and inline into graphite_transform_loops.
+	(graphite_finalize): Inline into graphite_transform_loops.
+	(graphite_transform_loops): Perform SSA update and IL verification
+	here.
+	* params.def (PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION): Remove.
+
+2017-10-13  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c (max_mode_int_precision,
+	graphite_expression_type_precision): Avoid global constructor
+	by moving ...
+	(translate_isl_ast_to_gimple::translate_isl_ast_to_gimple): Here.
+	(translate_isl_ast_to_gimple::graphite_expr_type): Add type member.
+	(translate_isl_ast_to_gimple::translate_isl_ast_node_for): Use it.
+	(translate_isl_ast_to_gimple::build_iv_mapping): Likewise.
+	(translate_isl_ast_to_gimple::graphite_create_new_guard): Likewise.
+	* graphite-sese-to-poly.c (build_original_schedule): Return nothing.
+
+2017-10-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/82499
+	* config/i386/i386.h (ix86_red_zone_size): New.
+	* config/i386/i386.md (push peephole2s): Replace
+	"!ix86_using_red_zone ()" with "ix86_red_zone_size == 0".
+
+2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (can_change_dest_mode): Reject changes in
+	REGMODE_NATURAL_SIZE.
+
+2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cfgexpand.c (expand_debug_expr): Use GET_MODE_UNIT_BITSIZE.
+	(expand_debug_source_expr): Likewise.
+	* combine.c (combine_simplify_rtx): Likewise.
+	* cse.c (fold_rtx): Likewise.
+	* fwprop.c (canonicalize_address): Likewise.
+	* targhooks.c (default_shift_truncation_mask): Likewise.
+
+2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* optabs.c (add_equal_note): Use GET_MODE_UNIT_SIZE.
+	(widened_mode): Likewise.
+	(expand_unop): Likewise.
+	* ree.c (transform_ifelse): Likewise.
+	(merge_def_and_ext): Likewise.
+	(combine_reaching_defs): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+
+2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* caller-save.c (replace_reg_with_saved_mem): Use byte_lowpart_offset.
+	* combine.c (gen_lowpart_for_combine): Likewise.
+	* dwarf2out.c (rtl_for_decl_location): Likewise.
+	* final.c (alter_subreg): Likewise.
+	* rtlhooks.c (gen_lowpart_general): Likewise.
+	(gen_lowpart_if_possible): Likewise.
+
+2017-10-13  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* calls.c (expand_call): Use subreg_lowpart_offset.
+	* cse.c (cse_insn): Likewise.
+	* regcprop.c (copy_value): Likewise.
+	(copyprop_hardreg_forward_1): Likewise.
+
+2017-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82524
+	* config/i386/i386.md (addqi_ext_1, andqi_ext_1,
+	*andqi_ext_1_cc, *<code>qi_ext_1, *xorqi_ext_1_cc): Change
+	=Q constraints to +Q and into insn condition add check
+	that operands[0] and operands[1] are equal.
+	(*addqi_ext_2, *andqi_ext_2, *<code>qi_ext_2): Change
+	=Q constraints to +Q and into insn condition add check
+	that operands[0] is equal to either operands[1] or operands[2].
+
+	PR target/82498
+	* fold-const.c (fold_binary_loc) <bit_rotate>: Code cleanups,
+	instead of handling MINUS_EXPR twice (once for each argument),
+	canonicalize operand order and handle just once, use rtype where
+	possible.  Handle (A << B) | (A >> (-B & (Z - 1))).
+
+	PR target/82498
+	* config/i386/ia32intrin.h (__rold, __rord, __rolq, __rorq): Allow
+	any values of __C while still being pattern recognizable as a simple
+	rotate instruction.
+
+2017-10-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82451
+	Revert
+	2017-10-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82355
+	* graphite-isl-ast-to-gimple.c (build_iv_mapping): Also build
+	a mapping for the enclosing loop but avoid generating one for
+	the loop tree root.
+	(copy_bb_and_scalar_dependences): Remove premature codegen
+	error on PHIs in blocks duplicated into multiple places.
+	* graphite-scop-detection.c
+	(scop_detection::stmt_has_simple_data_refs_p): For a loop not
+	in the region use it as loop and nest to analyze the DR in.
+	(try_generate_gimple_bb): Likewise.
+	* graphite-sese-to-poly.c (extract_affine_chrec): Adjust.
+	(add_loop_constraints): For blocks in a loop not in the region
+	create a dimension with a single iteration.
+	* sese.h (gbb_loop_at_index): Remove assert.
+
+	* cfgloop.c (loop_preheader_edge): For the loop tree root
+	return the single successor of the entry block.
+	* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
+	Reset the SCEV hashtable and niters.
+	* graphite-scop-detection.c
+	(scop_detection::graphite_can_represent_scev): Add SCOP parameter,
+	assert that we only have POLYNOMIAL_CHREC that vary in loops
+	contained in the region.
+	(scop_detection::graphite_can_represent_expr): Adjust.
+	(scop_detection::stmt_has_simple_data_refs_p): For loops
+	not in the region set loop to NULL.  The nest is now the
+	entry edge to the region.
+	(try_generate_gimple_bb): Likewise.
+	* sese.c (scalar_evolution_in_region): Adjust for
+	instantiate_scev change.
+	* tree-data-ref.h (graphite_find_data_references_in_stmt):
+	Make nest parameter the edge into the region.
+	(create_data_ref): Likewise.
+	* tree-data-ref.c (dr_analyze_indices): Make nest parameter an
+	entry edge into a region and adjust instantiate_scev calls.
+	(create_data_ref): Likewise.
+	(graphite_find_data_references_in_stmt): Likewise.
+	(find_data_references_in_stmt): Pass the loop preheader edge
+	from the nest argument.
+	* tree-scalar-evolution.h (instantiate_scev): Make instantiate_below
+	parameter the edge into the region.
+	(instantiate_parameters): Use the loop preheader edge as entry.
+	* tree-scalar-evolution.c (analyze_scalar_evolution): Handle
+	NULL loop.
+	(get_instantiated_value_entry): Make instantiate_below parameter
+	the edge into the region.
+	(instantiate_scev_name): Likewise.  Adjust dominance checks,
+	when we cannot use loop-based instantiation instantiate by
+	walking use-def chains.
+	(instantiate_scev_poly): Adjust.
+	(instantiate_scev_binary): Likewise.
+	(instantiate_scev_convert): Likewise.
+	(instantiate_scev_not): Likewise.
+	(instantiate_array_ref): Remove.
+	(instantiate_scev_3): Likewise.
+	(instantiate_scev_2): Likewise.
+	(instantiate_scev_1): Likewise.
+	(instantiate_scev_r): Do not blindly handle N-operand trees.
+	Do not instantiate array-refs.  Handle all constants and invariants.
+	(instantiate_scev): Make instantiate_below parameter
+	the edge into the region.
+	(resolve_mixers): Use the loop preheader edge for the region
+	parameter to instantiate_scev_r.
+	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Adjust.
+
+2017-10-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82525
+	* graphite-isl-ast-to-gimple.c
+	(translate_isl_ast_to_gimple::widest_int_from_isl_expr_int): Split
+	out from ...
+	(translate_isl_ast_to_gimple::gcc_expression_from_isl_expr_int): Here.
+	Fail code generation when we cannot represent the isl integer.
+	(binary_op_to_tree): Elide modulo operations that are no-ops
+	in the type we code generate.  Remove now superfluous code
+	generation errors.
+
+2017-10-13  Richard Biener  <rguenther@suse.de>
+
+	* graphite-scop-detection.c (loop_ivs_can_be_represented): Remove.
+	(scop_detection::harmful_loop_in_region): Remove premature
+	IV type restriction.
+	(scop_detection::graphite_can_represent_scev): We can handle
+	pointer IVs just fine.
+
+2017-10-13  Alan Modra  <amodra@gmail.com>
+
+	* doc/extend.texi (Extended Asm <Clobbers>): Rename to
+	"Clobbers and Scratch Registers".  Add paragraph on
+	alternative to clobbers for scratch registers and OpenBLAS
+	example.
+
+2017-10-13  Alan Modra  <amodra@gmail.com>
+
+	* doc/extend.texi (Clobbers): Correct vax example.  Delete old
+	example of a memory input for a string of known length.  Move
+	commentary out of table.  Add a number of new examples
+	covering array memory inputs.
+
+2017-10-12  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/82493
+	* sbitmap.c (bitmap_bit_in_range_p): Fix the implementation.
+	(test_range_functions): New function.
+	(sbitmap_c_tests): Likewise.
+	* selftest-run-tests.c (selftest::run_tests): Run new tests.
+	* selftest.h (sbitmap_c_tests): New function.
+
+	* tree-ssa-dse.c (live_bytes_read): Fix thinko.
+
+2017-10-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/amo.h: Fix spacing issue.
+
+2017-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82498
+	* config/i386/i386.md (*ashl<mode>3_mask_1,
+	*<shift_insn><mode>3_mask_1, *<rotate_insn><mode>3_mask_1,
+	*<btsc><mode>_mask_1, *btr<mode>_mask_1): New define_insn_and_split
+	patterns.
+
+2017-10-12  Jan Hubicka  <hubicka@ucw.cz>
+
+	* profile-count.h (safe_scale_64bit): Fix GCC4.x path.
+	(profile_probability): Set max_probability
+	to (uint32_t) 1 << (n_bits - 2) and update accessors to avoid overlfows
+	in temporaries.
+	* profile-count.c (profile_probability::differs_from_p): Do not
+	rely on max_probaiblity == 10000
+
+2017-10-12  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dse.c (valid_ao_ref_for_dse): Reject ao_refs with
+	negative offsets.
+
+2017-10-12  Martin Sebor  <msebor@redhat.com>
+
+	PR other/82301
+	PR c/82435
+	* cgraphunit.c (maybe_diag_incompatible_alias): New function.
+	(handle_alias_pairs): Call it.
+	* common.opt (-Wattribute-alias): New option.
+	* doc/extend.texi (ifunc attribute): Discuss C++ specifics.
+	* doc/invoke.texi (-Wattribute-alias): Document.
+
+2017-10-12  Vladimir Makarov  <vmakarov@redhat.com>
+
+	Revert
+	2017-10-11  Vladimir Makarov  <vmakarov@redhat.com>
+	PR sanitizer/82353
+	* lra.c (collect_non_operand_hard_regs): Don't ignore operator
+	locations.
+	* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
+	(make_hard_regno_born, make_hard_regno_dead): Update
+	bb_killed_pseudos and bb_gen_pseudos.
+
+2017-10-12  Jan Hubicka  <hubicka@ucw.cz>
+
+	* config/i386/x86-tune-sched.c (ix86_adjust_cost): Fix Zen support.
+
+2017-10-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha.c (alpha_split_conditional_move):
+	Use std::swap instead of manually swapping.
+	(alpha_stdarg_optimize_hook): Ditto.
+	(alpha_canonicalize_comparison): Ditto.
+
+2017-10-12  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (struct builtin_info): New struct.
+	(struct partition): Refactor fields into struct builtin_info.
+	(partition_free): Free struct builtin_info.
+	(build_size_arg_loc, build_addr_arg_loc): Delete.
+	(generate_memset_builtin, generate_memcpy_builtin): Get memory range
+	information from struct builtin_info.
+	(find_single_drs): New function refactored from classify_partition.
+	Also moved builtin validity checks to this function.
+	(compute_access_range, alloc_builtin): New functions.
+	(classify_builtin_st, classify_builtin_ldst): New functions.
+	(classify_partition): Refactor code into functions find_single_drs,
+	classify_builtin_st and classify_builtin_ldst.
+	(distribute_loop): Don't do runtime alias check when distributing
+	loop nest.
+	(find_seed_stmts_for_distribution): New function.
+	(pass_loop_distribution::execute): Refactor code finding seed
+	stmts into above function.  Support distribution for the innermost
+	two-level loop nest.  Adjust dump information.
+
+2017-10-12  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c: Adjust the general comment.
+	(NUM_PARTITION_THRESHOLD): New macro.
+	(ssa_name_has_uses_outside_loop_p): Support loop nest distribution.
+	(classify_partition): Skip builtin pattern of loop nest's inner loop.
+	(merge_dep_scc_partitions): New parameter ignore_alias_p and use it
+	in call to build_partition_graph.
+	(finalize_partitions): New parameter.  Make loop distribution more
+	conservative by fusing more partitions.
+	(distribute_loop): Don't do runtime alias check in case of loop nest
+	distribution.
+	(find_seed_stmts_for_distribution): New function.
+	(prepare_perfect_loop_nest): New function.
+	(pass_loop_distribution::execute): Refactor code finding seed stmts
+	and loop nest into above functions.  Support loop nest distribution.
+	Adjust dump information accordingly.
+
+2017-10-12  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (break_alias_scc_partitions): Add comment
+	and set PTYPE_SEQUENTIAL for merged partition.
+
+2017-10-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69728
+	Revert
+	2017-09-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69728
+	* graphite-sese-to-poly.c (schedule_error): New global.
+	(add_loop_schedule): Handle empty domain by failing the
+	schedule.
+	(build_original_schedule): Handle schedule_error.
+
+	* graphite-sese-to-poly.c (add_loop_schedule): Handle empty
+	domain by returning an unchanged schedule.
+
+2017-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* genrecog.c (validate_pattern): For VEC_SELECT verify that
+	CONST_INT selectors are 0 to GET_MODE_NUNITS (imode) - 1.
+
+2017-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+	* Makefile.in (TAGS): Merge all the *.def files into one pattern.
+	Handle params.def.
+
+2017-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/82159
+	* expr.c (store_field): Don't optimize away bitsize == 0 store
+	from CALL_EXPR with addressable return type.
+
+2017-10-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.h (TARGET_ISEL64): Delete.
+	* config/rs6000/rs6000.md (sel): Delete mode attribute.
+	(mov<mode>cc, isel_signed_<mode>, isel_unsigned_<mode>,
+	*isel_reversed_signed_<mode>, *isel_reversed_unsigned_<mode>): Use
+	TARGET_ISEL instead of TARGET_ISEL<sel>.
+
+2017-10-11  David Edelsohn  <dje.gcc@gmail.com>
+
+	* config/rs6000/rs6000.c
+	(rs6000_xcoff_asm_output_aligned_decl_common): Test for NULL decl.
+
+2017-10-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/predicates.md (zero_constant, all_ones_constant):
+	Move up in file.
+	(reg_or_cint_operand): Fix comment.
+	(reg_or_zero_operand): New predicate.
+	* config/rs6000/rs6000-protos.h (output_isel): Delete.
+	* config/rs6000/rs6000.c (output_isel): Delete.
+	* config/rs6000/rs6000.md (isel_signed_<mode>): Use reg_or_zero_operand
+	instead of reg_or_cint_operand.  Output instruction directly (not via
+	output_isel).
+	(isel_unsigned_<mode>): Ditto.
+	(*isel_reversed_signed_<mode>): Use reg_or_zero_operand instead of
+	gpc_reg_operand.  Add an instruction alternative for this.  Output
+	instruction directly.
+	(*isel_reversed_unsigned_<mode>): Ditto.
+
+2017-10-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_canonicalize_comparison): New function.
+	(TARGET_CANONICALIZE_COMPARISON): Define.
+
+2017-10-11  Qing Zhao  <qing.zhao@oracle.com>
+
+	PR target/81422
+	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
+	Check whether the dest is REG before adding REG_EQUIV note.
+
+2017-10-11  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR sanitizer/82353
+	* lra.c (collect_non_operand_hard_regs): Don't ignore operator
+	locations.
+	* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up.
+	(make_hard_regno_born, make_hard_regno_dead): Update
+	bb_killed_pseudos and bb_gen_pseudos.
+
+2017-10-11  Nathan Sidwell  <nathan@acm.org>
+
+	* incpath.h (enum incpath_kind): Name enum, prefix values.
+	(add_path, add_cpp_dir_path, get_added_cpp_dirs): Use incpath_kind.
+	* incpath.c (heads, tails): Use INC_MAX.
+	(add_env_var_paths, add_standard_paths): Use incpath_kind.
+	(merge_include_chains, split_quote_chain,
+	register_include_chains): Update incpath_kind names.
+	(add_cpp_dir_path, add_path, get_added_cpp_dirs): Use incpath_kind.
+	* config/darwin-c.c (add_system_framework_path): Update incpath_kind
+	names.
+	(add_framework_path, darwin_register_objc_includes): Likewise.
+	* config/vms/vms-c.c (vms_c_register_includes): Likewise.
+
+2017-10-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387):
+	Do not use float_operator operator predicate.
+	(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Ditto.
+	* config/i386/predicates.md (float_operator): Remove predicate.
+
+2017-10-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*jcc<mode>_0_i387): Remove insn pattern.
+	(*jccxf_i387): Ditto.
+	(*jcc<mode>_i387): Ditto.
+	(*jccu<mode>_i387): Ditto.
+	(*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Ditto.
+	(*jcc_*_i387 splitters): Remove.
+	* config/i386/i386-protos.h (ix86_split_fp_branch): Remove prototype.
+	* config/i386/i386.c (ix86_split_fp_branch): Remove.
+	* config/i386/predicates.md (ix86_swapped_fp_comparison_operator):
+	Remove predicate.
+
+2017-10-11  Jan Hubicka  <hubicka@ucw.cz>
+
+	* profile-count.h (slow_safe_scale_64bit): New function.
+	(safe_scale_64bit): New inline.
+	(profile_count::max_safe_multiplier): Remove; use safe_scale_64bit.
+	* profile-count.c: Include wide-int.h
+	(slow_safe_scale_64bit): New.
+
+2017-10-11  Nathan Sidwell  <nathan@acm.org>
+
+	* tree.h (DECL_ASSEMBLER_NAME_SET_P): Don't check
+	HAS_DECL_ASSEMBLER_NAME_P.
+	* gimple-expr.c (gimple_decl_printable_name: Check
+	HAS_DECL_ASSEMBLER_NAME_P too.
+	* ipa-utils.h (type_in_anonymous_namespace_p): Check
+	DECL_ASSEMBLER_NAME_SET_P of TYPE_NAME.
+	(odr_type_p): No need to assert TYPE_NAME is a TYPE_DECL.
+	* passes.c (rest_of_decl_compilation): Check
+	HAS_DECL_ASSEMBLER_NAME_P too.
+	* recog.c (verify_changes): Likewise.
+	* tree-pretty-print.c (dump_decl_name): Likewise.
+	* tree-ssa-structalias.c (alias_get_name): Likewise.  Reimplement.
+
+	* tree.h (DECL_ASSEMBLER_NAME_RAW): New.
+	(SET_DECL_ASSEMBLER_NAME): Use it.
+	(DECL_ASSEMBLER_NAME_SET_P): Likewise.
+	(COPY_DECL_ASSEMBLER_NAME): Likewise.
+	* tree.c (decl_assembler_name): Use DECL_ASSEMBLER_NAME_RAW.
+
+2017-10-11  Jan Hubicka  <hubicka@ucw.cz>
+
+	* config.gcc (i386, x86_64): Add extra objects.
+	* config/i386/i386-protos.h (ix86_rip_relative_addr_p): Declare.
+	(ix86_min_insn_size): Declare.
+	(ix86_issue_rate): Declare.
+	(ix86_adjust_cost): Declare.
+	(ia32_multipass_dfa_lookahead): Declare.
+	(ix86_macro_fusion_p): Declare.
+	(ix86_macro_fusion_pair_p): Declare.
+	(ix86_bd_has_dispatch): Declare.
+	(ix86_bd_do_dispatch): Declare.
+	(ix86_core2i7_init_hooks): Declare.
+	(ix86_atom_sched_reorder): Declare.
+	* config/i386/i386.c Move all CPU cost tables to x86-tune-costs.h.
+	(COSTS_N_BYTES): Move to x86-tune-costs.h.
+	(DUMMY_STRINGOP_ALGS):Move to x86-tune-costs.h.
+	(rip_relative_addr_p): Rename to ...
+	(ix86_rip_relative_addr_p): ... this one; export.
+	(memory_address_length): Update.
+	(ix86_issue_rate): Move to x86-tune-sched.c.
+	(ix86_flags_dependent): Move to x86-tune-sched.c.
+	(ix86_agi_dependent): Move to x86-tune-sched.c.
+	(exact_dependency_1): Move to x86-tune-sched.c.
+	(exact_store_load_dependency): Move to x86-tune-sched.c.
+	(ix86_adjust_cost): Move to x86-tune-sched.c.
+	(ia32_multipass_dfa_lookahead): Move to x86-tune-sched.c.
+	(ix86_macro_fusion_p): Move to x86-tune-sched.c.
+	(ix86_macro_fusion_pair_p): Move to x86-tune-sched.c.
+	(do_reorder_for_imul): Move to x86-tune-sched-atom.c.
+	(swap_top_of_ready_list): Move to x86-tune-sched-atom.c.
+	(ix86_sched_reorder): Move to x86-tune-sched-atom.c.
+	(core2i7_first_cycle_multipass_init): Move to x86-tune-sched-core.c.
+	(core2i7_dfa_post_advance_cycle): Move to x86-tune-sched-core.c.
+	(min_insn_size): Rename to ...
+	(ix86_min_insn_size): ... this one; export.
+	(core2i7_first_cycle_multipass_begin): Move to x86-tune-sched-core.c.
+	(core2i7_first_cycle_multipass_issue): Move to x86-tune-sched-core.c.
+	(core2i7_first_cycle_multipass_backtrack): Move to
+	x86-tune-sched-core.c.
+	(core2i7_first_cycle_multipass_end): Move to x86-tune-sched-core.c.
+	(core2i7_first_cycle_multipass_fini): Move to x86-tune-sched-core.c.
+	(ix86_sched_init_global): Break up logic to ix86_core2i7_init_hooks.
+	(ix86_avoid_jump_mispredicts): Update.
+	(TARGET_SCHED_DISPATCH): Move to ix86-tune-sched-bd.c.
+	(TARGET_SCHED_DISPATCH_DO): Move to ix86-tune-sched-bd.c.
+	(TARGET_SCHED_REORDER): Move to ix86-tune-sched-bd.c.
+	(DISPATCH_WINDOW_SIZE): Move to ix86-tune-sched-bd.c.
+	(MAX_DISPATCH_WINDOWS): Move to ix86-tune-sched-bd.c.
+	(MAX_INSN): Move to ix86-tune-sched-bd.c.
+	(MAX_IMM): Move to ix86-tune-sched-bd.c.
+	(MAX_IMM_SIZE): Move to ix86-tune-sched-bd.c.
+	(MAX_IMM_32): Move to ix86-tune-sched-bd.c.
+	(MAX_IMM_64): Move to ix86-tune-sched-bd.c.
+	(MAX_LOAD): Move to ix86-tune-sched-bd.c.
+	(MAX_STORE): Move to ix86-tune-sched-bd.c.
+	(BIG): Move to ix86-tune-sched-bd.c.
+	(enum dispatch_group): Move to ix86-tune-sched-bd.c.
+	(enum insn_path): Move to ix86-tune-sched-bd.c.
+	(get_mem_group): Move to ix86-tune-sched-bd.c.
+	(is_cmp): Move to ix86-tune-sched-bd.c.
+	(dispatch_violation): Move to ix86-tune-sched-bd.c.
+	(is_branch): Move to ix86-tune-sched-bd.c.
+	(is_prefetch): Move to ix86-tune-sched-bd.c.
+	(init_window): Move to ix86-tune-sched-bd.c.
+	(allocate_window): Move to ix86-tune-sched-bd.c.
+	(init_dispatch_sched): Move to ix86-tune-sched-bd.c.
+	(is_end_basic_block): Move to ix86-tune-sched-bd.c.
+	(process_end_window): Move to ix86-tune-sched-bd.c.
+	(allocate_next_window): Move to ix86-tune-sched-bd.c.
+	(find_constant): Move to ix86-tune-sched-bd.c.
+	(get_num_immediates): Move to ix86-tune-sched-bd.c.
+	(has_immediate): Move to ix86-tune-sched-bd.c.
+	(get_insn_path): Move to ix86-tune-sched-bd.c.
+	(get_insn_group): Move to ix86-tune-sched-bd.c.
+	(count_num_restricted): Move to ix86-tune-sched-bd.c.
+	(fits_dispatch_window): Move to ix86-tune-sched-bd.c.
+	(add_insn_window): Move to ix86-tune-sched-bd.c.
+	(add_to_dispatch_window): Move to ix86-tune-sched-bd.c.
+	(debug_dispatch_window_file): Move to ix86-tune-sched-bd.c.
+	(debug_dispatch_window): Move to ix86-tune-sched-bd.c.
+	(debug_insn_dispatch_info_file): Move to ix86-tune-sched-bd.c.
+	(debug_ready_dispatch): Move to ix86-tune-sched-bd.c.
+	(do_dispatch): Move to ix86-tune-sched-bd.c.
+	(has_dispatch): Move to ix86-tune-sched-bd.c.
+	* config/i386/t-i386: Add new object files.
+	* config/i386/x86-tune-costs.h: New file.
+	* config/i386/x86-tune-sched-atom.c: New file.
+	* config/i386/x86-tune-sched-bd.c: New file.
+	* config/i386/x86-tune-sched-core.c: New file.
+	* config/i386/x86-tune-sched.c: New file.
+
+2017-10-11  Liu Hao  <lh_mouse@126.com>
+
+	* pretty-print.c [_WIN32] (colorize_init): Remove.  Use
+	the generic version below instead.
+	(should_colorize): Recognize Windows consoles as terminals
+	for MinGW targets.
+	* pretty-print.c [__MINGW32__] (write_all): New function.
+	[__MINGW32__] (find_esc_head): Likewise.
+	[__MINGW32__] (find_esc_terminator): Likewise.
+	[__MINGW32__] (eat_esc_sequence): Likewise.
+	[__MINGW32__] (mingw_ansi_fputs): New function that handles
+	ANSI escape codes.
+	(pp_write_text_to_stream): Use mingw_ansi_fputs instead of fputs
+	for MinGW targets.
+
+2017-10-11  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith):
+	Properly call analyze_scalar_evolution with the loop of the stmt.
+
+2017-10-11  Richard Biener  <rguenther@suse.de>
+
+	* tree.def (POLYNOMIAL_CHREC): Remove CHREC_VARIABLE tree operand.
+	* tree-core.h (tree_base): Add chrec_var union member.
+	* tree.h (CHREC_VAR): Remove.
+	(CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE): Adjust.
+	* tree-chrec.h (build_polynomial_chrec): Adjust.
+	* tree-chrec.c (reset_evolution_in_loop): Use build_polynomial_chrec.
+	* tree-pretty-print.c (dump_generic_node): Use CHREC_VARIABLE.
+
+2017-10-11  Marc Glisse  <marc.glisse@inria.fr>
+
+	* fold-const.c (fold_binary_loc) [X +- Y CMP X]: Move ...
+	* match.pd: ... here.
+	((T) X == (T) Y): Relax condition.
+
+2017-10-11  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/82472
+	* tree-loop-distribution.c (sort_partitions_by_post_order): Refine
+	comment.
+	(break_alias_scc_partitions): Update postorder number.
+
+2017-10-11  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/82490
+	* opts.c (parse_no_sanitize_attribute): Do not use error_value
+	variable.
+	* opts.h (parse_no_sanitize_attribute): Remove last argument.
+
+2017-10-11  Martin Liska  <mliska@suse.cz>
+
+	* print-rtl.c (print_insn): Move declaration of idbuf
+	to same scope as name.
+
+2017-10-11  Martin Liska  <mliska@suse.cz>
+
+	Revert r253637:
+
+	PR sanitizer/82484
+	* sanopt.c (sanitize_rewrite_addressable_params): Do not handle
+	volatile arguments.
+
+2017-10-11  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/82484
+	* sanopt.c (sanitize_rewrite_addressable_params): Do not handle
+	volatile arguments.
+
+2017-10-11  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	* config.gcc (default_gnu_indirect_function): Default to yes for
+	arm*-*-linux* with glibc.
+
+2017-10-11  Richard Biener  <rguenther@suse.de>
+
+	* tree-scalar-evolution.c (get_scalar_evolution): Handle
+	default-defs and types we do not want to analyze.
+	(interpret_loop_phi): Replace unreachable code with an assert.
+	(compute_scalar_evolution_in_loop): Remove and inline ...
+	(analyze_scalar_evolution_1): ... here, replacing condition with
+	what makes the intent clearer.  Remove handling of cases
+	get_scalar_evolution now handles.
+
+2017-10-10  Jim Wilson  <wilson@tuliptree.org>
+
+	PR rtl-optimization/81434
+	* haifa-sched.c (prune_ready_list): Init min_cost_group to 0.  Update
+	comment for main loop.  In sched_group_found if, also add checks for
+	pass and min_cost_group.
+
+2017-10-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (TARGET_INSN_COST): New.
+	(rs6000_insn_cost): New function.
+	* config/rs6000/rs6000.md (cost): New attribute.
+
+2017-10-10  Jakub Jelinek  <jakub@redhat.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/79565
+	PR target/82483
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Add
+	OPTION_MASK_ISA_MMX for __builtin_ia32_maskmovq,
+	__builtin_ia32_vec_ext_v4hi and __builtin_ia32_vec_set_v4hi.
+	(ix86_expand_builtin): Treat OPTION_MASK_ISA_MMX similarly
+	to OPTION_MASK_ISA_AVX512VL - builtins that have both
+	OPTION_MASK_ISA_MMX and some other bit set require both
+	mmx and the ISAs without the mmx bit.
+	* config/i386/i386-builtin.def (__builtin_ia32_cvtps2pi,
+	__builtin_ia32_cvttps2pi, __builtin_ia32_cvtpi2ps,
+	__builtin_ia32_pavgb, __builtin_ia32_pavgw, __builtin_ia32_pmulhuw,
+	__builtin_ia32_pmaxub, __builtin_ia32_pmaxsw, __builtin_ia32_pminub,
+	__builtin_ia32_pminsw, __builtin_ia32_psadbw, __builtin_ia32_pmovmskb,
+	__builtin_ia32_pshufw, __builtin_ia32_cvtpd2pi,
+	__builtin_ia32_cvttpd2pi, __builtin_ia32_cvtpi2pd,
+	__builtin_ia32_pmuludq, __builtin_ia32_pabsb, __builtin_ia32_pabsw,
+	__builtin_ia32_pabsd, __builtin_ia32_phaddw, __builtin_ia32_phaddd,
+	__builtin_ia32_phaddsw, __builtin_ia32_phsubw, __builtin_ia32_phsubd,
+	__builtin_ia32_phsubsw, __builtin_ia32_pmaddubsw,
+	__builtin_ia32_pmulhrsw, __builtin_ia32_pshufb, __builtin_ia32_psignb,
+	__builtin_ia32_psignw, __builtin_ia32_psignd, __builtin_ia32_movntq,
+	__builtin_ia32_paddq, __builtin_ia32_psubq, __builtin_ia32_palignr):
+	Add OPTION_MASK_ISA_MMX.
+
+2017-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config.gcc (armv7*-*-freebsd*): New target.
+	(armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define.
+
+2017-10-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI,
+	X86_TUNE_ADJUST_UNROLL, X86_TUNE_ONE_IF_CONV_INSN): Move to right
+	spot in the file.
+
+2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* wide-int.h (wide_int_ref_storage): Make host_dependent_precision
+	a template parameter.
+	(WIDE_INT_REF_FOR): Update accordingly.
+	* tree.h (wi::int_traits <const_tree>): Delete.
+	(wi::tree_to_widest_ref, wi::tree_to_offset_ref): New typedefs.
+	(wi::to_widest, wi::to_offset): Use them.  Expand commentary.
+	(wi::tree_to_wide_ref): New typedef.
+	(wi::to_wide): New function.
+	* calls.c (get_size_range): Use wi::to_wide when operating on
+	trees as wide_ints.
+	* cgraph.c (cgraph_node::create_thunk): Likewise.
+	* config/i386/i386.c (ix86_data_alignment): Likewise.
+	(ix86_local_alignment): Likewise.
+	* dbxout.c (stabstr_O): Likewise.
+	* dwarf2out.c (add_scalar_info, gen_enumeration_type_die): Likewise.
+	* expr.c (const_vector_from_tree): Likewise.
+	* fold-const-call.c (host_size_t_cst_p, fold_const_call_1): Likewise.
+	* fold-const.c (may_negate_without_overflow_p, negate_expr_p)
+	(fold_negate_expr_1, int_const_binop_1, const_binop)
+	(fold_convert_const_int_from_real, optimize_bit_field_compare)
+	(all_ones_mask_p, sign_bit_p, unextend, extract_muldiv_1)
+	(fold_div_compare, fold_single_bit_test, fold_plusminus_mult_expr)
+	(pointer_may_wrap_p, expr_not_equal_to, fold_binary_loc)
+	(fold_ternary_loc, multiple_of_p, fold_negate_const, fold_abs_const)
+	(fold_not_const, round_up_loc): Likewise.
+	* gimple-fold.c (gimple_fold_indirect_ref): Likewise.
+	* gimple-ssa-warn-alloca.c (alloca_call_type_by_arg): Likewise.
+	(alloca_call_type): Likewise.
+	* gimple.c (preprocess_case_label_vec_for_gimple): Likewise.
+	* godump.c (go_output_typedef): Likewise.
+	* graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
+	* internal-fn.c (get_min_precision): Likewise.
+	* ipa-cp.c (ipcp_store_vr_results): Likewise.
+	* ipa-polymorphic-call.c
+	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Likewise.
+	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise.
+	(ipa_modify_call_arguments): Likewise.
+	* match.pd: Likewise.
+	* omp-low.c (scan_omp_1_op, lower_omp_ordered_clauses): Likewise.
+	* print-tree.c (print_node_brief, print_node): Likewise.
+	* stmt.c (expand_case): Likewise.
+	* stor-layout.c (layout_type): Likewise.
+	* tree-affine.c (tree_to_aff_combination): Likewise.
+	* tree-cfg.c (group_case_labels_stmt): Likewise.
+	* tree-data-ref.c (dr_analyze_indices): Likewise.
+	(prune_runtime_alias_test_list): Likewise.
+	* tree-dump.c (dequeue_and_dump): Likewise.
+	* tree-inline.c (remap_gimple_op_r, copy_tree_body_r): Likewise.
+	* tree-predcom.c (is_inv_store_elimination_chain): Likewise.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+	* tree-scalar-evolution.c (iv_can_overflow_p): Likewise.
+	(simple_iv_with_niters): Likewise.
+	* tree-ssa-address.c (addr_for_mem_ref): Likewise.
+	* tree-ssa-ccp.c (ccp_finalize, evaluate_stmt): Likewise.
+	* tree-ssa-loop-ivopts.c (constant_multiple_of): Likewise.
+	* tree-ssa-loop-niter.c (split_to_var_and_offset)
+	(refine_value_range_using_guard, number_of_iterations_ne_max)
+	(number_of_iterations_lt_to_ne, number_of_iterations_lt)
+	(get_cst_init_from_scev, record_nonwrapping_iv)
+	(scev_var_range_cant_overflow): Likewise.
+	* tree-ssa-phiopt.c (minmax_replacement): Likewise.
+	* tree-ssa-pre.c (compute_avail): Likewise.
+	* tree-ssa-sccvn.c (vn_reference_fold_indirect): Likewise.
+	(vn_reference_maybe_forwprop_address, valueized_wider_op): Likewise.
+	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
+	* tree-ssa-uninit.c (is_pred_expr_subset_of): Likewise.
+	* tree-ssanames.c (set_nonzero_bits, get_nonzero_bits): Likewise.
+	* tree-switch-conversion.c (collect_switch_conv_info, array_value_type)
+	(dump_case_nodes, try_switch_expansion): Likewise.
+	* tree-vect-loop-manip.c (vect_gen_vector_loop_niters): Likewise.
+	(vect_do_peeling): Likewise.
+	* tree-vect-patterns.c (vect_recog_bool_pattern): Likewise.
+	* tree-vect-stmts.c (vectorizable_load): Likewise.
+	* tree-vrp.c (compare_values_warnv, vrp_int_const_binop): Likewise.
+	(zero_nonzero_bits_from_vr, ranges_from_anti_range): Likewise.
+	(extract_range_from_binary_expr_1, adjust_range_with_scev): Likewise.
+	(overflow_comparison_p_1, register_edge_assert_for_2): Likewise.
+	(is_masked_range_test, find_switch_asserts, maybe_set_nonzero_bits)
+	(vrp_evaluate_conditional_warnv_with_ops, intersect_ranges): Likewise.
+	(range_fits_type_p, two_valued_val_range_p, vrp_finalize): Likewise.
+	(evrp_dom_walker::before_dom_children): Likewise.
+	* tree.c (cache_integer_cst, real_value_from_int_cst, integer_zerop)
+	(integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2)
+	(tree_floor_log2, tree_ctz, mem_ref_offset, tree_int_cst_sign_bit)
+	(tree_int_cst_sgn, get_unwidened, int_fits_type_p): Likewise.
+	(get_type_static_bounds, num_ending_zeros, drop_tree_overflow)
+	(get_range_pos_neg): Likewise.
+	* ubsan.c (ubsan_expand_ptr_ifn): Likewise.
+	* config/darwin.c (darwin_mergeable_constant_section): Likewise.
+	* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Likewise.
+	* config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
+	* config/avr/avr.c (avr_fold_builtin): Likewise.
+	* config/bfin/bfin.c (bfin_local_alignment): Likewise.
+	* config/msp430/msp430.c (msp430_attr): Likewise.
+	* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
+	* config/powerpcspe/powerpcspe-c.c
+	(altivec_resolve_overloaded_builtin): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_aggregate_candidate)
+	(rs6000_expand_ternop_builtin): Likewise.
+	* config/rs6000/rs6000-c.c
+	(altivec_resolve_overloaded_builtin): Likewise.
+	* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Likewise.
+	(rs6000_expand_ternop_builtin): Likewise.
+	* config/s390/s390.c (s390_handle_hotpatch_attribute): Likewise.
+
+2017-10-10  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes
+	when copying loop nest with only one inner loop.
+
+2017-10-10  Richard Biener  <rguenther@suse.de>
+
+	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop): Avoid compacting
+	blocks if SCEV is active.
+	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Remove
+	dead code.
+	(analyze_scalar_evolution): Handle cached evolutions the obvious way.
+	(scev_initialize): Assert we are not yet initialized.
+
+2017-10-10  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (generate_loops_for_partition): Remove
+	inner loop's exit stmt by making it always exit the loop, otherwise
+	we would generate an infinite empty loop.
+
+2017-10-10  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): Skip
+	renaming variables in new preheader if it's deleted.
+
+2017-10-10  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (struct partition): Remove unused field
+	loops of the structure.
+	(partition_alloc, partition_free): Ditto.
+	(build_rdg_partition_for_vertex): Ditto.
+
+2017-10-09  Jeff Law  <law@redhat.com>
+
+	* targhooks.c (default_stack_clash_protection_final_dynamic_probe): Fix
+	return type to match prototype and documentation.
+
+2010-10-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (processor_costs): Move to ...
+	* config/rs6000/rs6000.h: ... here.
+	(rs6000_cost): Declare.
+
+2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* except.c (setjmp_fn): New global variable.
+	(init_eh): Initialize it if DONT_USE_BUILTIN_SETJMP is defined.
+	(sjlj_emit_function_enter): Call it instead of BUILTIN_SETJMP
+	if DONT_USE_BUILTIN_SETJMP is defined.
+
+2017-10-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* target.def (insn_cost): New hook.
+	* doc/tm.texi.in (TARGET_INSN_COST): New hook.
+	* doc/tm.texi: Regenerate.
+	* rtlanal.c (insn_cost): Use the new hook.
+
+2017-10-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine.c (combine_validate_cost): Compute the new insn_cost,
+	not just pattern_cost.
+	(try_combine): Adjust comment.
+
+2017-10-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* cfgrtl.c (rtl_account_profile_record): Replace insn_rtx_cost with
+	insn_cost.
+	* combine.c (uid_insn_cost): Adjust comment.
+	(combine_validate_cost): Adjust comment.  Use pattern_cost instead
+	of insn_rtx_cost
+	(combine_instructions): Use insn_cost instead of insn_rtx_cost.
+	* dse.c (find_shift_sequence): Ditto.
+	* ifcvt.c (cheap_bb_rtx_cost_p): Ditto.
+	(bb_valid_for_noce_process_p): Use pattern_cost.
+	* rtl.h (insn_rtx_cost): Delete.
+	(pattern_cost): New prototype.
+	(insn_cost): New prototype.
+	* rtlanal.c (insn_rtx_cost): Rename to...
+	(pattern_cost): ... this.
+	(insn_cost): New.
+
+2017-10-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*jcc_2): Remove insn pattern.
+	(*jcc<mode>_0_r_i387): Ditto.
+	(*jccxf_r_i387): Ditto.
+	(*jcc<mode>_r_i387): Ditto.
+	(*jccu<mode>_r_i387): Ditto.
+	(*jcc<X87MODEF:mode>_<SWI24:mode>_r_i387): Ditto.
+	(*jcc): Rename from *jcc_1.
+
+2017-10-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Process
+	deferred rescans after the lvx/stvx recombination pre-pass.
+
+2017-10-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/amo.h: New include file to provide ISA 3.0 atomic
+	memory operation instruction support.
+	* config.gcc (powerpc*-*-*): Include amo.h as an extra header.
+	(rs6000-ibm-aix[789]*): Likewise.
+	* doc/extend.texi (PowerPC Atomic Memory Operation Functions):
+	Document new functions.
+
+2017-10-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82397
+	* tree-data-ref.c (data_ref_compare_tree): Make sure to return
+	equality only for semantically equal trees.
+
+2017-10-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82449
+	* sese.c (scev_analyzable_p): Check whether the SCEV is linear.
+	* tree-chrec.h (evolution_function_is_constant_p): Adjust to
+	allow constant addresses.
+	* tree-chrec.c (scev_is_linear_expression): Constant evolutions
+	are linear.
+
+2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-builtins.def (vec_nabs, vec_vfi): Fix builtin
+	flags.
+
+2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/82463
+	* config/s390/vecintrin.h (vec_madd, vec_msub): Fix macro
+	definitions.
+
+2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/82465
+	* config/s390/s390-builtins.def (vec_sqrt): Fix builtin flags.
+
+2017-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82464
+	* config/s390/s390-builtins.def (s390_vec_xor_flt_a,
+	s390_vec_xor_flt_b, s390_vec_xor_flt_c): New.
+
+2017-10-09  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* wide-int.h (WI_BINARY_OPERATOR_RESULT): New macro.
+	(WI_BINARY_PREDICATE_RESULT): Likewise.
+	(wi::binary_traits::operator_result): New type.
+	(wi::binary_traits::predicate_result): Likewise.
+	(generic_wide_int::operator~, unary generic_wide_int::operator-)
+	(generic_wide_int::operator==, generic_wide_int::operator!=)
+	(generic_wide_int::operator&, generic_wide_int::and_not)
+	(generic_wide_int::operator|, generic_wide_int::or_not)
+	(generic_wide_int::operator^, generic_wide_int::operator+
+	(binary generic_wide_int::operator-, generic_wide_int::operator*):
+	Delete.
+	(operator~, unary operator-, operator==, operator!=, operator&)
+	(operator|, operator^, operator+, binary operator-, operator*): New
+	functions.
+	* expr.c (get_inner_reference): Use wi::bit_and_not.
+	* fold-const.c (fold_binary_loc): Likewise.
+	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
+	* tree-ssa-ccp.c (get_value_from_alignment): Likewise.
+	(bit_value_binop): Likewise.
+	* tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
+	* tree-vrp.c (zero_nonzero_bits_from_vr): Likewise.
+	(extract_range_from_binary_expr_1): Likewise.
+	(masked_increment): Likewise.
+	(simplify_bit_ops_using_ranges): Likewise.
+
+2017-10-09  Martin Jambor  <mjambor@suse.cz>
+
+	PR hsa/82416
+	* hsa-common.h (hsa_op_with_type): New method extend_int_to_32bit.
+	* hsa-gen.c (hsa_extend_inttype_to_32bit): New function.
+	(hsa_type_for_scalar_tree_type): Use it.  Always force min32int for
+	COMPLEX types.
+	(hsa_fixup_mov_insn_type): New function.
+	(hsa_op_with_type::get_in_type): Use it.
+	(hsa_build_append_simple_mov): Likewise.  Allow sub-32bit
+	immediates in an assert.
+	(hsa_op_with_type::extend_int_to_32bit): New method.
+	(gen_hsa_insns_for_bitfield): Fixup instruction and intermediary
+	types.  Convert to dest type if necessary.
+	(gen_hsa_insns_for_bitfield_load): Fixup load type if necessary.
+	(reg_for_gimple_ssa): Pass false as min32int to
+	hsa_type_for_scalar_tree_type.
+	(gen_hsa_addr): Fixup type when creating addresable temporary.
+	(gen_hsa_cmp_insn_from_gimple): Extend operands if necessary.
+	(gen_hsa_unary_operation): Extend operands and convert to dest type if
+	necessary.  Call hsa_fixup_mov_insn_type.
+	(gen_hsa_binary_operation): Changed operand types to hsa_op_with_type,
+	extend operands and convert to dest type if necessary.
+	(gen_hsa_insns_for_operation_assignment): Extend operands and convert
+	to dest type if necessary.
+	(set_output_in_type): Call hsa_fixup_mov_insn_type.  Just ude dest
+	if conversion nt necessary and size matches.
+	(gen_hsa_insns_for_load): Call hsa_fixup_mov_insn_type, convert
+	to dest type if necessary.
+	(gen_hsa_insns_for_store): Call hsa_fixup_mov_insn_type.
+	(gen_hsa_insns_for_switch_stmt): Likewise. Also extend operands if
+	necessary.
+	(gen_hsa_clrsb): Likewise.
+	(gen_hsa_ffs): Likewise.
+	(gen_hsa_divmod): Extend operands and convert to dest type if
+	necessary.
+	(gen_hsa_atomic_for_builtin): Change type of op to hsa_op_with_type.
+
+2017-10-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (conditional branch): Clean up formatting.
+	Remove empty default arguments.  Use a brace block as output
+	statement.
+	(conditional return): Ditto.
+	(jump): Ditto.
+	(indirect_jump): Ditto.  Use b%T0 instead of bctr/blr.
+	(tablejump, tablejumpsi, tablejumpdi, *tablejump<mode>_internal1):
+	Ditto.
+	(group_ending_nop): Ditto.
+	(doloop_end): Ditto.
+	(ctr<mode>, ctr<mode>_internal1, ctr<mode>_internal2): Ditto.
+	(splitters for those): Ditto.
+
+2017-10-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000-string.c (expand_strncmp_align_check): Invert
+	a conditional jump (and the compare for it) so that pc_rtx is the
+	last operand.
+	* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Adjust
+	for the deleted and renamed ctr<mode>_internal[234] patterns.
+	* config/rs6000/rs6000.md: Delete second conditional branch pattern.
+	Delete second conditional return pattern.
+	(ctr<mode>_internal2): Delete this second bdnz pattern.
+	(ctr<mode>_internal3): Rename to ctr<mode>_internal2.
+	(ctr<mode>_internal4): Delete this second bdz pattern.
+
+2017-10-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values.
+	(always_initialized_rtx_for_ssa_name_p): New predicate.
+	* tree-outof-ssa.c (remove_ssa_form): Initialize new field of SA.
+	(finish_out_of_ssa): Free new field of SA.
+	* tree-ssa-coalesce.h (get_undefined_value_partitions): Declare.
+	* tree-ssa-coalesce.c: Include tree-ssa.h.
+	(get_parm_default_def_partitions): Remove extern keyword.
+	(get_undefined_value_partitions): New function.
+	* expr.c (expand_expr_real_1) <expand_decl_rtl>: For a SSA_NAME, do
+	not set SUBREG_PROMOTED_VAR_P on the sub-register if it may contain
+	uninitialized bits.
+	* loop-iv.c (iv_get_reaching_def): Disqualify all subregs.
+
+2017-10-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* builtins.def (BUILT_IN_SETJMP): Revert latest change.
+
+2017-10-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* config/i386/i386.c (ix86_expand_set_or_movmem): Disable 512bit loops
+	for targets that preffer 128bit.
+
+2017-10-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* config/i386/i386.c (has_dispatch): Disable for Ryzen.
+
+2017-10-08  Olivier Hainque  <hainque@adacore.com>
+
+	* config/arm/arm.c (arm_set_return_address): Use MEM_VOLATILE_P
+	on the target mem instead of RTX_FRAME_RELATED_P on the insn to
+	prevent DSE.
+	(thumb_set_return_address): Likewise.
+
+2017-10-08  Olivier Hainque  <hainque@adacore.com>
+
+	* common/config/arm/arm-common.c (arm_except_unwind_info):
+	Handle DWARF2_UNWIND_INFO.
+
+2017-10-07  Michael Collison <michael.collison@arm.com>
+
+	* config/aarch64/aarch64.md (*aarch64_reg_<optab>_minus<mode>3):
+	New pattern.
+
+2017-10-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* builtins.def (BUILT_IN_SETJMP): Declare as library builtin instead
+	of GCC builtin if DONT_USE_BUILTIN_SETJMP is defined.
+	* except.c (sjlj_emit_function_enter): If DONT_USE_BUILTIN_SETJMP is
+	defined, force the creation of a new block for a dispatch label.
+
+2017-10-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* invoke.texi (Wsuggest-attribute=cold): Document.
+	* common.opt (Wsuggest-attribute=cold): New
+	* ipa-pure-const.c (warn_function_cold): New function.
+	* predict.c (compute_function_frequency): Use it.
+	* predict.h (warn_function_cold): Declare.
+
+2017-10-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-switch-conversion.c (do_jump_if_equal, emit_cmp_and_jump_insns):
+	Update profile.
+
+2017-10-06  Martin Liska  <mliska@suse.cz>
+
+	* sanopt.c (struct sanopt_tree_triplet_hash): Remove inline
+	keyword for member functions.
+	(struct sanopt_tree_couple): New struct.
+	(struct sanopt_tree_couple_hash): New function.
+	(struct sanopt_ctx): Add new hash_map.
+	(has_dominating_ubsan_ptr_check): New function.
+	(record_ubsan_ptr_check_stmt): Likewise.
+	(maybe_optimize_ubsan_ptr_ifn): Likewise.
+	(sanopt_optimize_walker): Handle IFN_UBSAN_PTR.
+	(pass_sanopt::execute): Handle also SANITIZE_POINTER_OVERFLOW.
+
+2017-10-06  Sudakshina Das  <sudi.das@arm.com>
+
+	PR target/82440
+	* config/aarch64/predicates.md (aarch64_reg_or_orr_imm): Only call
+	aarch64_simd_valid_immediate on CONST_VECTORs.
+	(aarch64_reg_or_bic_imm): Likewise.
+
+2017-10-06  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR rtl-optimization/82396
+	* haifa-sched.c (ready_sort_real): Disable qsort checking.
+
+2017-10-06  Sebastian Pop  <sebpop@gmail.com>
+
+	* graphite-dependences.c (scop_get_reads): Move code to...
+	(scop_get_must_writes): Move code to...
+	(scop_get_may_writes): Move code to...
+	(scop_get_reads_and_writes): ... here.
+	(scop_get_dependences): Call scop_get_reads_and_writes.
+
+2017-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/82434
+	* fold-const.h (can_native_encode_type_p,
+	can_native_encode_string_p): Remove.
+	* fold-const.c (native_encode_int): Formatting fixes.  If ptr is NULL,
+	don't encode anything, just return what would be otherwise returned.
+	(native_encode_fixed, native_encode_complex, native_encode_vector):
+	Likewise.
+	(native_encode_string): Likewise.  Inline by hand
+	can_native_encode_string_p.
+	(can_native_encode_type_p): Remove.
+	(can_native_encode_string_p): Remove.
+	* tree-vect-stmts.c (vectorizable_store): Instead of testing just
+	STRING_CSTs using can_native_encode_string_p, test all
+	CONSTANT_CLASS_P values using native_encode_expr with NULL ptr.
+	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Remove last
+	argument from native_encode_expr.
+	(rhs_valid_for_store_merging_p): Use native_encode_expr with NULL ptr.
+	(pass_store_merging::execute): Don't unnecessarily look for 3 stmts,
+	but just 2.
+
+2017-10-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82397
+	* tree-vect-data-refs.c (dr_group_sort_cmp): Do not use
+	operand_equal_p but rely on data_ref_compare_tree for detecting
+	equalities.
+	(vect_analyze_data_ref_accesses): Use data_ref_compare_tree
+	to match up with dr_group_sort_cmp.
+
+2017-10-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/82322
+	* config/s390/s390-builtins.def (s390_vfi): Define new overloaded
+	builtin.
+	* config/s390/s390-builtin-types.def: Regenerate.
+
+2017-10-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/82317
+	* config/s390/s390-builtin-types.def: Regenerate.
+	* config/s390/s390-builtins.def (s390_vfmaxdb_4, s390_vfmindb_4):
+	Change flag from B_VXE to B_VX.
+	(s390_vec_min_dbl): Remove B_VXE flag.
+
+2017-10-06  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c: Include ssa.h and tree-ssa.h.
+	(translate_isl_ast_to_gimple::translate_pending_phi_nodes,
+	translate_isl_ast_to_gimple::is_valid_rename,
+	translate_isl_ast_to_gimple::get_rename,
+	translate_isl_ast_to_gimple::get_def_bb_for_const,
+	translate_isl_ast_to_gimple::get_new_name,
+	translate_isl_ast_to_gimple::collect_all_ssa_names,
+	translate_isl_ast_to_gimple::copy_loop_phi_args,
+	translate_isl_ast_to_gimple::collect_all_ssa_names,
+	translate_isl_ast_to_gimple::copy_loop_phi_args,
+	translate_isl_ast_to_gimple::copy_loop_phi_nodes,
+	translate_isl_ast_to_gimple::add_close_phis_to_merge_points,
+	translate_isl_ast_to_gimple::add_close_phis_to_outer_loops,
+	translate_isl_ast_to_gimple::copy_loop_close_phi_args,
+	translate_isl_ast_to_gimple::copy_loop_close_phi_nodes,
+	translate_isl_ast_to_gimple::copy_cond_phi_args,
+	translate_isl_ast_to_gimple::copy_cond_phi_nodes,
+	translate_isl_ast_to_gimple::edge_for_new_close_phis,
+	translate_isl_ast_to_gimple::add_phi_arg_for_new_expr,
+	translate_isl_ast_to_gimple::rename_uses,
+	translate_isl_ast_to_gimple::rename_all_uses): Remove.
+	(translate_isl_ast_to_gimple::get_rename_from_scev): Simplify.
+	(set_rename_for_each_def): Likewise.
+	(graphite_copy_stmts_from_block): Handle debug stmt resetting
+	here.  Handle rewriting SCEV analyzable uses here.
+	(copy_bb_and_scalar_dependences): Generate code for PHI
+	copy-in/outs.
+	(graphite_regenerate_ast_isl): Adjust.
+	* graphite-scop-detection.c (trivially_empty_bb_p): Move to sese.[ch].
+	(add_write, add_read): New functions.
+	(build_cross_bb_scalars_def): Use it and simplify.
+	(build_cross_bb_scalars_use): Likewise.
+	(graphite_find_cross_bb_scalar_vars): Inline into...
+	(try_generate_gimple_bb): ...here.  Add dependences for PHIs,
+	simulating out-of-SSA.  Compute liveout and add dependencies.
+	(build_scops): Force an empty entry block.
+	* sese.h (sese_info_t::liveout, sese_info_t::debug_liveout): New
+	members.
+	(sese_build_liveouts): Declare.
+	(sese_trivially_empty_bb_p): Likewise.
+	* sese.c (sese_build_liveouts_bb): Properly handle PHIs,
+	compute liveout and debug_liveout.
+	(sese_bad_liveouts_use): Remove.
+	(sese_reset_debug_liveouts_bb): Likewise.
+	(sese_reset_debug_liveouts): Rewrite in terms of debug_liveout.
+	(sese_build_liveouts): Build liveout and debug_liveout and store
+	it in region.
+	(new_sese_info): Adjust.
+	(free_sese_info): Likewise.
+	(sese_insert_phis_for_liveouts): Reset debug stmts from here,
+	do not build liveout here.
+	(move_sese_in_condition): Adjust region entry.
+	(scev_analyzable_p): Match up with chrec_apply requirements.
+	(sese_trivially_empty_bb_p): New.
+	* tree-into-ssa.c (get_reaching_def): Properly support generating
+	default-defs for incremental rewrite of anonymous names.
+
+2017-10-06  Richard Biener  <rguenther@suse.de>
+
+	* graphite-sese-to-poly.c (extract_affine): For casts increasing
+	precision do not perform modulo reduction.
+
+2017-10-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82436
+	* tree-vect-slp.c (vect_supported_load_permutation_p): More
+	conservatively choose the vectorization factor when checking
+	whether we can perform the required load permutation.
+	(vect_transform_slp_perm_load): Assert when we may not fail.
+
+2017-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Correct error
+	message for incompatible -msdata=* and -mcall-* options.
+
+2017-10-05  Jan Hubicka <hubicka@ucw.cz>
+
+	* config/i386/i386.c (ia32_multipass_dfa_lookahead): Default to issue
+	rate for post-reload scheduling.
+
+2017-10-05  Tamar Christina  <tamar.christina@arm.com>
+
+	* doc/sourcebuild.texi (vect_sizes_16B_8B, vect_sizes_32B_16B): New.
+
+2017-10-05  Jan Hubicka <hubicka@ucw.cz>
+
+	* config/i386/i386.c (znver1_cost): Set branch_cost to 3 (instead of 2)
+	to improve monte carlo in scimark.
+
+2017-10-05  Jan Hubicka <hubicka@ucw.cz>
+
+	* config/i386/i386.c (ix86_size_cost, i386_cost, i486_cost,
+	pentium_cost, lakemont_cost, pentiumpro_cost, geode_cost, k6_cost,
+	athlon_cost, k8_cost, amdfam10_cost, btver1_cost, btver2_cost,
+	pentium4_cost, nocona_cost): Set reassociation width to 1.
+	(bdver1_cost, bdver2_cost, bdver3_cost, bdver4_cost): Set reassociation
+	width to 2 for fp operations and 1 otherwise.
+	(znver1_cost): Set scalar reassoc width to 4 and vector to 3 and 6
+	for int and fp.
+	(atom_cost): Set reassociation width to 2.
+	(slm_cost, generic_cost): Set fp reassociation width
+	to 2 and 1 otherwise.
+	(intel_cost): Set fp reassociation width to 4 and 1 otherwise.
+	(core_cost): Set fp reassociation width to 4 and vector to 2.
+	(ix86_reassociation_width): Rewrite using cost table; special case
+	plus/minus on Zen; honor X86_TUNE_SSE_SPLIT_REGS
+	and TARGET_AVX128_OPTIMAL.
+	* config/i386/i386.h (processor_costs): Add
+	reassoc_int, reassoc_fp, reassoc_vec_int, reassoc_vec_fp.
+	(TARGET_VECTOR_PARALLEL_EXECUTION, TARGET_REASSOC_INT_TO_PARALLEL,
+	TARGET_REASSOC_FP_TO_PARALLEL): Remove.
+	* x86-tune.def (X86_TUNE_REASSOC_INT_TO_PARALLEL): Remove.
+	(X86_TUNE_REASSOC_FP_TO_PARALLEL): Remove.
+	(X86_TUNE_VECTOR_PARALLEL_EXECUTION):  Remove.
+
+2017-10-05  Nathan Sidwell  <nathan@acm.org>
+
+	* doc/invoke.texi (Wparentheses): Document C++ MVP behaviour.
+
+2017-10-05  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm.c (arm_test_fpu_data): New.
+	(arm_run_selftests): Call arm_test_fpu_data.
+
+2017-10-04  Nathan Sidwell  <nathan@acm.org>
+
+	* toplev.c (toplev::main): Remove excess parens on pretty_printer
+	decl.
+	* caller-save.c (insert_save): Remove excess parens on TO_SAVE parm.
+
+2017-10-04  Sudakshina Das  <sudi.das@arm.com>
+
+	* config/aarch64/aarch64-protos.h (enum simd_immediate_check): New
+	check type for aarch64_simd_valid_immediate.
+	(aarch64_output_simd_mov_immediate): Update prototype.
+	(aarch64_simd_valid_immediate): Update prototype.
+	* config/aarch64/aarch64-simd.md (orr<mode>3): modified pattern to add
+	support for ORR-immediate.
+	(and<mode>3): modified pattern to add support for BIC-immediate.
+	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Function
+	now checks for valid immediate for BIC and ORR based on new enum
+	argument.
+	(aarch64_output_simd_mov_immediate): Function now used to output
+	BIC/ORR imm as well based on new enum argument.
+	* config/aarch64/constraints.md (Do): New vector immediate constraint.
+	(Db) : Likewise.
+	* config/aarch64/predicates.md (aarch64_reg_or_orr_imm): New predicate.
+	(aarch64_reg_or_bic_imm): Likewise.
+
+2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vx-builtins.md ("vec_mergeh<mode>")
+	("vec_mergel<mode>"): Change mode iterator to V_128_NOSINGLE.
+
+2017-10-04  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	Revert r253399:
+
+	PR rtl-optimization/82396
+	* haifa-sched.c (autopref_multipass_init): Simplify
+	initialization.
+	(autopref_rank_data): Simplify sort order.
+	* sched-int.h (autopref_multipass_data_): Remove
+	multi_mem_insn_p, min_offset and max_offset.
+
+2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* doc/sourcebuild.texi: Document vect_peeling_profitable.
+
+2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* doc/sourcebuild.texi: Document vect_intdouble_cvt and
+	vect_doubleint_cvt.
+
+2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* doc/sourcebuild.texi: Document vect_long_mult.
+
+2017-10-04  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/82413
+	* fold-const.c (build_range_check): Use widest_int when comparing
+	the maximum ETYPE value with HIGH.
+
+2017-10-04  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR rtl-optimization/82396
+	* haifa-sched.c (autopref_multipass_init): Simplify
+	initialization.
+	(autopref_rank_data): Simplify sort order.
+	* sched-int.h (autopref_multipass_data_): Remove
+	multi_mem_insn_p, min_offset and max_offset.
+
+2017-10-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/82381
+	* tree-ssa-reassoc.c (sort_by_operand_rank): Check for different
+	oeN->rank first.  Return 1 or -1 if one op is SSA_NAME and the other
+	is not.
+
+	PR tree-optimization/82374
+	* omp-low.c (create_omp_child_function): Copy DECL_ATTRIBUTES,
+	DECL_FUNCTION_SPECIFIC_OPTIMIZATION,
+	DECL_FUNCTION_SPECIFIC_TARGET and DECL_FUNCTION_VERSIONED from
+	current_function_decl to the new decl.
+
+2017-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2_HW): Define new
+	helper macro for IEEE float128 hardware built-in functions.
+	(SQRTF128_ODD): Add built-in functions with the round-to-odd
+	semantics.
+	(TRUNCF128_ODD): Likewise.
+	(ADDF128_ODD): Likewise.
+	(SUBF128_ODD): Likewise.
+	(MULF128_ODD): Likewise.
+	(DIVF128_ODD): Likewise.
+	(FMAF128_ODD): Likewise.
+	* config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): Rename to
+	UNSPEC_TRUNC_ROUND_TO_ODD.
+	(UNSPEC_TRUNC_ROUND_TO_ODD): Likewise.
+	(UNSPEC_ADD_ROUND_TO_ODD): New unspec codes for the IEEE 128-bit
+	floating point round to odd instructions.
+	(UNSPEC_SUB_ROUND_TO_ODD): Likewise.
+	(UNSPEC_MUL_ROUND_TO_ODD): Likewise.
+	(UNSPEC_DIV_ROUND_TO_ODD): Likewise.
+	(UNSPEC_FMA_ROUND_TO_ODD): Likewise.
+	(UNSPEC_SQRT_ROUND_TO_ODD): Likewise.
+	(trunc<mode>sf2_hw): Change the truncate with round to odd
+	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.
+	(add<mode>3_odd): Add insns for IEEE 128-bit floating point round
+	to odd hardware instructions.
+	(sub<mode>3_odd): Likewise.
+	(mul<mode>3_odd): Likewise.
+	(div<mode>3_odd): Likewise.
+	(sqrt<mode>2_odd): Likewise.
+	(fma<mode>4_odd): Likewise.
+	(fms<mode>4_odd): Likewise.
+	(nfma<mode>4_odd): Likewise.
+	(nfms<mode>4_odd): Likewise.
+	(trunc<mode>df2_odd): Change the truncate with round to odd
+	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.  Add a generator
+	function.
+	* doc/extend.texi (PowerPC built-in functions): Update documentation
+	for existing IEEE float128-bit built-in functions.  Add built-in
+	functions that generate the IEEE 128-bit floating point round to
+	odd instructions.
+
+2017-10-03  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/77729
+	* simplify-rtx.c (simplify_binary_operation_1): Delete the (X&C1)|C2
+	to (X&(C1&~C2))|C2 transformations.
+
+2017-10-03  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/82363
+	* tree-sra.c (propagate_subaccesses_across_link): In unrecoverable
+	mismatch, mark lacc written regardless of racc.
+
+2017-10-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/82381
+	* tree-ssa-reassoc.c (sort_by_operand_rank): Don't check
+	stmt_to_insert nor wheather SSA_NAMEs are default defs.
+	Return 1 or -1 if one of bba and bbb is NULL. If bb_rank is equal,
+	fallthrough into reassoc_stmt_dominates_stmt_p.
+
+	PR target/82386
+	* combine.c (combine_instructions): Don't combine in unreachable
+	basic blocks.
+
+2017-10-02  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR target/80210
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite
+	function to not use the have_cpu variable.  Do not set cpu_index,
+	rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT
+	or the default cpu.
+	(rs6000_valid_attribute_p): Remove duplicate initializations of
+	old_optimize and func_optimize.
+	(rs6000_pragma_target_parse): Call rs6000_activate_target_options ().
+	(rs6000_activate_target_options): Make global.
+	* config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add
+	prototype.
+
+2017-10-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-dfa.c (get_ref_base_and_extent): Set *pmax_size to -1
+	if *poffset + *pmax_size overflows in HOST_WIDE_INT.
+	Set *poffset to 0 and *psize and *pmax_size to -1 if
+	*poffset + *psize overflows in HOST_WIDE_INT.
+
+	PR tree-optimization/82387
+	PR tree-optimization/82388
+	PR tree-optimization/82389
+	* tree-ssa-dse.c (dse_classify_store): Test byte_tracking_enabled
+	instead of live_bytes non-NULL.
+
+2017-10-02  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/41076
+	* confg/avr/avr.md (*iorhi3.ashift8-ext.zerox): Add "r,r,0"
+	alternative.
+
+2017-10-02  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c (set_codegen_error): With
+	-fchecking and --param graphite-allow-codegen-errors=0 ICE.
+	* params.def (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): New param.
+
+2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree.h (wi::int_traits <const_tree>::decompose): Assert that the
+	requested precision matches the type's.
+	* calls.c (alloc_max_size): Calculate the new candidate size as
+	a widest_int and use wi::to_widest when comparing it with the
+	current candidate size.
+	* gimple-ssa-warn-alloca.c (pass_walloca::execute): Compare with
+	zero rather than integer_zero_node.
+	* match.pd: Check for a no-op conversion before using wi::add
+	rather than after.  Use tree_to_uhwi when summing small shift
+	counts into an unsigned int.
+
+2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	PR target/71307
+	* config/aarch64/aarch64.h (POINTER_AND_FP_REGS): New reg class.
+	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
+	* config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle
+	POINTER_AND_FP_REGS.
+
+2017-10-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82355
+	* graphite-isl-ast-to-gimple.c (build_iv_mapping): Also build
+	a mapping for the enclosing loop but avoid generating one for
+	the loop tree root.
+	(copy_bb_and_scalar_dependences): Remove premature codegen
+	error on PHIs in blocks duplicated into multiple places.
+	* graphite-scop-detection.c
+	(scop_detection::stmt_has_simple_data_refs_p): For a loop not
+	in the region use it as loop and nest to analyze the DR in.
+	(try_generate_gimple_bb): Likewise.
+	* graphite-sese-to-poly.c (extract_affine_chrec): Adjust.
+	(add_loop_constraints): For blocks in a loop not in the region
+	create a dimension with a single iteration.
+	* sese.h (gbb_loop_at_index): Remove assert.
+
+2017-10-01  Kevin Buettner  <kevinb@redhat.com>
+
+	* omp-expand.c (adjust_context_scope): New function.
+	(expand_parallel_call): Call adjust_context_scope.
+
+2017-10-01  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dom.c (optimize_stmt): Make this a method within the
+	dom_opt_dom_walker class with direct access to private members.
+	Add comments.  Call test_for_singularity.
+	(dom_opt_dom_walker::before_dom_children): Corresponding changes.
+	(dom_opt_dom_walker::after_dom_children): Do not lazily initialize
+	m_dummy_cond anymore.
+	(class dom_opt_dom_walker): Initialize m_dummy_cond member in the
+	class ctor.
+	(pass_dominator:execute): Build the dummy_cond here and pass it
+	to the dom_opt_dom_walker ctor.
+	(test_for_singularity): New function.
+
+2017-09-30  Krister Walfridsson  <krister.walfridsson@gmail.com>
+	    Maya Rashish  <coypu@sdf.org>
+
+	* config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing
+	netbsd.h, netbsd-stdint.h, and netbsd-elf.h.
+	(alpha*-*-netbsd*) Use nbsd_tm_file.
+	(arm*-*-netbsdelf*) Likewise.
+	(i[34567]86-*-netbsdelf*) Likewise.
+	(x86_64-*-netbsd*) Likewise.
+	(mips*-*-netbsd*) Likewise.
+	(powerpc-*-netbsd*) Likewise.
+	(sh*-*-netbsd*) Likewise.
+	(sparc-*-netbsdelf*) Likewise.
+	(sparc64-*-netbsd*) Likewise.
+	(m68k*-*-netbsdelf*) Use nbsd_tm_file and add CHAR_FAST8/SHORT_FAST16
+	to tm_defines.
+	(vax-*-netbsdelf*) Likewise.
+	* config/netbsd-stdint.h (INT_FAST8_TYPE): Check CHAR_FAST8.
+	(UINT_FAST8_TYPE) Likewise.
+	(INT_FAST16_TYPE) Check CHAR_FAST16.
+	(UINT_FAST16_TYPE) Likewise.
+
+2017-09-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82361
+	* config/i386/i386.md
+	(TARGET_USE_8BIT_IDIV zext divmodsi4 splitter): New define_split.
+	(divmodsi4_zext_1, divmodsi4_zext_2, *divmodsi4_zext_1,
+	*divmodsi4_zext_2): New define_insn_and_split.
+	(*divmodsi4_noext_zext_1, *divmodsi4_noext_zext_2): New define_insn.
+	(TARGET_USE_8BIT_IDIV zext udivmodsi4 splitter): New define_split.
+	(udivmodsi4_zext_1, udivmodsi4_zext_2, *udivmodsi4_zext_1,
+	*udivmodsi4_zext_2, *udivmodsi4_pow2_zext_1, *udivmodsi4_pow2_zext_2):
+	New define_insn_and_split.
+	(*udivmodsi4_noext_zext_1, *udivmodsi4_noext_zext_2): New define_insn.
+	* config/i386/i386.c (ix86_split_idivmod): Handle operands[0] or
+	operands[1] having DImode when mode is SImode.
+
+	* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
+	always SImode for DIV and MOD in REG_EQUAL notes.
+
+2017-09-29  Yury Gribov  <tetra2005@gmail.com>
+
+	PR middle-end/82319
+	* match.pd: Fix handling of NaNs in pattern.
+
+2017-09-29  Jeff Law  <law@redhat.com>
+
+	* sbitmap.c (bitmap_bit_in_range_p): New function.
+	* sbitmap.h (bitmap_bit_in_range_p): Prototype.
+	* tree-ssa-dse.c (live_bytes_read): New function.
+	(dse_classify_store): Ignore reads of dead bytes.
+
+	* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): Fix
+	typos and whitespace errors.
+	* config/i386/predicates.md (address_no_seg_operand): Likewise.
+	* config/s390/s390.c (s390_emit_prologue): Likewise.
+
+2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/81481
+	* ira-costs.c (scan_one_insn): Don't take into account PIC equiv
+	with a symbol for LRA.
+
+2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/82338
+	* lra-constraints.c (inherit_in_ebb): Check usage_insns check.
+
+2017-09-29  Alexander Monakov  <amonakov@ispras.ru>
+
+	* genmodes.c (calc_wider_mode): Suppress qsort macro.
+	* system.h [CHECKING_P] (qsort): Redirect to qsort_chk.
+	(qsort_chk): Declare.
+	* vec.c [CHECKING_P] (qsort_chk_error): New static function.
+	(qsort_chk): New function.
+
+2017-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/82337
+	* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
+	phi definition if the PHI result appears in an abnormal PHI.
+	(find_basis_for_base_expr): Don't record a basis if the LHS of the
+	basis appears in an abnormal PHI.
+
+2017-09-29  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c
+	(translate_isl_ast_to_gimple::set_codegen_error): New function.
+	(binary_op_to_tree): Use it.
+	(get_rename_from_scev): Likewise.
+	(copy_loop_phi_nodes): Likewise.
+	(copy_bb_and_scalar_dependences): Likewise.
+	(translate_pending_phi_nodes): Likewise.
+
+2017-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82339
+	* config/i386/i386.md (*movdi_internal peephole2): New -Os peephole
+	for movabsq $(i32 << shift), r64.
+
+2017-09-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_print_operand_address_as): Do not check
+	index when encoding %esp as %rsp to avoid 0x67 prefix.
+
+2017-09-28  Sergey Shalnov  <Sergey.Shalnov@intel.com>
+
+	* config/i386/i386.md (*movsf_internal, *movdf_internal):
+	Return 256-bit AVX modes for TARGET_PREFER_AVX256.
+
+2017-09-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (arm_option_override): Forbid ARMv8-M Security
+	Extensions with more than 16 double VFP registers.
+	(cmse_nonsecure_entry_clear_before_return): Remove second entry of
+	to_clear_mask and all code related to it.  Replace the remaining
+	entry by a sbitmap and adapt code accordingly.
+
+2017-09-28  Henry Linjamäki  <henry.linjamaki@parmance.com>
+
+	* brig-builtins.def: Change pure attributes to const.
+
+2017-09-28  Joseph Myers  <joseph@codesourcery.com>
+
+	* config.gcc (default_gnu_indirect_function): Default to yes for
+	sparc*-*-linux* with glibc.
+
+2017-09-28  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/aarch64/aarch64.c (aarch64_elf_asm_constructor)
+	(aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section
+	when creating .init_array and .fini_array sections with priority
+	specified.
+
+2017-09-27  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	PR target/71727
+	* config/aarch64/aarch64.c
+	(aarch64_builtin_support_vector_misalignment): Always return false
+	when misalignment is unknown.
+
+2017-09-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Revise
+	this function to return false if the definition used by the swap
+	instruction is artificial, or if the memory address from which the
+	constant value is loaded is not represented by a base address held
+	in a register or if the base address register is a frame or stack
+	pointer.  Additionally, return false if the base address of the
+	loaded constant is a SYMBOL_REF but is not considered to be a
+	constant.
+	(replace_swapped_load_constant): New function.
+	(rs6000_analyze_swaps): Add a new pass to replace a swap of a
+	loaded constant vector with a load of a swapped constant vector.
+
+2017-09-27  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
+	(FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins.
+	* config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the
+	fctiw instruction.
+
+2017-09-27  Alexander Monakov  <amonakov@ispras.ru>
+
+	* haifa-sched.c (autopref_rank_for_schedule): Order 'irrelevant' insns
+	first, always call autopref_rank_data otherwise.
+
+2017-09-27  Richard Biener  <rguenther@suse.de>
+
+	* graphite-scop-detection.c (find_scop_parameters): Move
+	loop bound handling ...
+	(gather_bbs::before_dom_children): ... here, avoiding the need
+	to build scop_info->loop_nest.
+	(record_loop_in_sese): Remove.
+	* sese.h (sese_info_t::loop_nest): Remove.
+	* sese.c (new_sese_info): Do not allocate loop_nest.
+	(free_sese_info): Do not free loop_nest.
+
+2017-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/82159
+	* gimplify.c (gimplify_modify_expr): Don't optimize away zero sized
+	lhs from calls if the lhs has addressable type.
+
+2017-09-27  Richard Biener  <rguenther@suse.de>
+
+	* graphite.h (scop::max_alias_set): New member.
+	* graphite-scop-detection.c: Remove references to non-existing
+	--param in comments.
+	(build_alias_sets): Record the maximum alias set used for drs.
+	(build_scops): Support zero as unlimited for
+	--param graphite-max-arrays-per-scop.
+	* graphite-sese-to-poly.c (add_scalar_version_numbers): Remove
+	and inline into ...
+	(build_poly_sr_1): ... here.  Compute alias set based on the
+	maximum alias set used for drs rather than
+	PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP
+
+2017-09-27  Richard Biener  <rguenther@suse.de>
+
+	* graphite-optimize-isl.c (get_schedule_for_node_st): Allow
+	--param loop-block-tile-size=0 to disable tiling.
+
+2017-09-27  Richard Biener  <rguenther@suse.de>
+
+	* doc/invoke.texi (graphite-max-bbs-per-function): Remove.
+	(graphite-max-nb-scop-params): Document special value zero.
+	* domwalk.h (dom_walker::STOP): New symbolical constant.
+	(dom_walker::dom_walker): Add optional parameter for bb to
+	RPO mapping.
+	(dom_walker::~dom_walker): Declare.
+	(dom_walker::before_dom_children): Document STOP return value.
+	(dom_walker::m_user_bb_to_rpo): New member.
+	(dom_walker::m_bb_to_rpo): Likewise.
+	* domwalk.c (dom_walker::dom_walker): Compute bb to RPO
+	mapping here if not provided by the user.
+	(dom_walker::~dom_walker): Free bb to RPO mapping if not
+	provided by the user.
+	(dom_walker::STOP): Define.
+	(dom_walker::walk): Do not compute bb to RPO mapping here.
+	Support STOP return value from before_dom_children to stop
+	walking.
+	* graphite-optimize-isl.c (optimize_isl): If the schedule
+	is the same still generate code if -fgraphite-identity
+	or -floop-parallelize-all are given.
+	* graphite-scop-detection.c: Include cfganal.h.
+	(gather_bbs::gather_bbs): Get and pass through bb to RPO
+	mapping.
+	(gather_bbs::before_dom_children): Return STOP for BBs
+	not in the region.
+	(build_scops): Compute bb to RPO mapping and pass it to
+	the domwalk.  Treat --param graphite-max-nb-scop-params=0
+	as not limiting the number of params.
+	* graphite.c (graphite_initialize): Remove limit on the
+	number of basic-blocks in a function.
+	* params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Remove.
+	(PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Adjust to documented
+	default value of 10.
+
+2017-09-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/vsx.md (peephole for optimizing move SF to GPR):
+	Adjust code to eliminate needing to do the shift right 32-bits
+	operation after XSCVDPSPN.
+
+2017-09-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* match.pd ((X / Y) == 0 -> X < Y): New pattern.
+	((X / Y) != 0 -> X >= Y): Likewise.
+
+2017-09-26  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_XL_LEN_R,
+	P9V_BUILTIN_VEC_XST_LEN_R): Add support for builtins
+	vector unsigned char vec_xl_len_r (unsigned char *, size_t);
+	void vec_xst_len_r (vector unsigned char, unsigned char *, size_t);
+	* config/rs6000/altivec.h (vec_xl_len_r, vec_xst_len_r): Add defines.
+	* config/rs6000/rs6000-builtin.def (XL_LEN_R, XST_LEN_R): Add
+	definitions and overloading.
+	* config/rs6000/rs6000.c (altivec_expand_builtin): Add case
+	statement for P9V_BUILTIN_XST_LEN_R.
+	(altivec_init_builtins): Add def_builtin for P9V_BUILTIN_STXVLL.
+	* config/rs6000/vsx.md (lxvll, stxvll, xl_len_r, xst_len_r): Add
+	define_expand and define_insn for the instructions and builtins.
+	* doc/extend.texi: Update the built-in documentation file for the new
+	built-in functions.
+	* config/rs6000/altivec.md (altivec_lvsl_reg, altivec_lvsr_reg): Add
+	define_insn for the instructions
+
+2017-09-26  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+	PR target/39570
+	* gcc/config/netbsd-protos.h: New file.
+	* gcc/config/netbsd.c: New file.
+	* gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define.
+	* gcc/config/t-netbsd: New file.
+	* gcc/config.gcc (tm_p_file): Add netbsd-protos.h.
+	(tmake_file) Add t-netbsd.
+	(extra_objs) Add netbsd.o.
+
+2017-09-26  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/82143
+	PR fortran/82324
+	* doc/sourcebuild.texi: Document fortran_real_10 and fortran_real_16.
+
+2017-09-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.md (extendsi<mode>2): Add a splitter to do
+	sign extension from a vector register to a GPR by doing a 32-bit
+	direct move and then an EXTSW.
+	(extendsi<mode>2 splitter): Likewise.
+	(movsi_from_sf): Adjust code to eliminate doing a 32-bit shift
+	right or vector extract after doing XSCVDPSPN.  Use
+	zero_extendsidi2 instead of p8_mfvsrd_4_disf to move the value to
+	the GPRs.
+	(movdi_from_sf_zero_ext): Likewise.
+	(reload_gpr_from_vsxsf): Likewise.
+	(p8_mfvsrd_4_disf): Delete, no longer used.
+	(movsi_from_df): Optimize converting a DFmode to a SFmode, and
+	then needing to move the SFmode to a GPR to use the XSCVDPSP
+	instruction instead of FRSP and XSCVDPSPN.
+	* config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Move insn so that
+	it is adjacent to the other XSCVSPDP insns.
+	(vsx_xscvdpsp_scalar): Use "ww" constraint instead of "f" to allow
+	SFmode to be in traditional Altivec registers.
+	(vsx_xscvdpspn): Eliminate useless alternative constraint.
+	(vsx_xscvspdpn): Likewise.
+	(vsx_xscvspdpn_scalar): Likewise.
+
+2017-09-26  Martin Jambor  <mjambor@suse.cz>
+
+	* tree-sra.c (compare_access_positions): Put integral types first,
+	stabilize sorting of integral types, remove conditions putting
+	non-full-precision integers last.
+	(sort_and_splice_var_accesses): Disable scalarization if a
+	non-integert would be represented by a non-full-precision integer.
+
+2017-09-26  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/microblaze/linux.h (TARGET_ASM_FILE_END): Likewise.
+	* config/pa/pa.h (NEED_INDICATE_EXEC_STACK): Likewise.
+	* config/pa/pa-linux.h (NEED_INDICATE_EXEC_STACK): Likewise.
+	* config/pa/pa.c (pa_hpux_file_end): Rename to pa_file_end.
+	Define unconditionally, with [ASM_OUTPUT_EXTERNAL_REAL]
+	conditionals inside the function instead of around it.  Call
+	file_end_indicate_exec_stack if NEED_INDICATE_EXEC_STACK.
+	(TARGET_ASM_FILE_END): Define unconditionally to pa_file_end.
+
+2017-09-26  Richard Biener  <rguenther@suse.de>
+
+	* graphite-scop-detection.c (scop_detection::build_scop_depth): Rewrite,
+	fold in ...
+	(scop_detection::build_scop_breadth): ... this.  Removed.
+	(scop_detection::loop_is_valid_in_scop): Fold into single caller.
+	(scop_detection::harmful_stmt_in_bb): Likewise.
+	(scop_detection::graphite_can_represent_stmt): Likewise.
+	(scop_detection::loop_body_is_valid_scop): Likewise.  Remove recursion.
+	(scop_detection::can_represent_loop): Remove recursion, fold in ...
+	(scop_detection::can_represent_loop_1): ... this.  Removed.
+	(scop_detection::harmful_loop_in_region): Simplify after inlining
+	the above and remove more quadraticness.
+	(build_scops): Adjust.
+	* tree-data-ref.c (loop_nest_has_data_refs): Remove pointless
+	quadraticness.
+
+2017-09-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82267
+	* config/i386/i386.c (ix86_print_operand_address_as): Only test
+	REGNO (base) == SP_REG if base is a REG.
+
+	PR middle-end/35691
+	* tree-ssa-reassoc.c (update_range_test): Dump r->exp each time
+	if it is different SSA_NAME.
+	(optimize_range_tests_cmp_bitwise): New function.
+	(optimize_range_tests): Call it.
+
+2017-09-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82321
+	* graphite.c (canonicalize_loop_closed_ssa): Properly check
+	for the def being inside the loop.
+
+2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vx-builtins.md ("vmslg"): Add missing operand in
+	assembler output.
+	* config/s390/s390-builtins.def: Fix constraint on op4.
+
+2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_vec_compare): Use the new mode
+	independent expanders.
+	* config/s390/vector.md ("vec_cmpuneq", "vec_cmpltgt")
+	("vec_ordered", "vec_unordered"): New expanders.
+
+2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_preferred_simd_mode): Return V4SFmode
+	for SFmode.
+
+2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vector.md ("vec_unpacks_low_v16qi"): Rename to
+	vec_unpacks_lo_v16qi.
+	("vec_unpacku_low_v16qi"): Rename to vec_unpacku_lo_v16qi.
+
+2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vector.md ("vec_unpacks_lo_v4sf")
+	("vec_unpacks_hi_v4sf", "vec_unpacks_lo_v2df")
+	("vec_unpacks_hi_v2df", "vec_pack_trunc_v2df"): New expanders.
+
+2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/predicates.md ("const_shift_by_byte_operand"): New
+	predicate.
+	* config/s390/vector.md ("*vec_srb<mode>"): Change modes to V_128
+	and V16QI.
+	("*vec_slb<mode>"): New insn pattern.
+	("vec_shr_<mode>"): New expander.
+	* config/s390/vx-builtins.md ("vec_slb<mode>"): Turn into expander
+	and force the shift count operand to V16QImode.
+	("vec_srb<mode>"): Set shift count mode to V16QI.
+
+2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vector.md ("vec_widen_umult_lo_<mode>")
+	("vec_widen_umult_hi_<mode>", "vec_widen_smult_lo_<mode>")
+	("vec_widen_smult_hi_<mode>"): New expander definitions.
+
+2017-09-26  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/82175
+	* config/arm/arm.h (DRIVER_SELF_SPECS): Separate sub-rules with commas.
+
+2017-09-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82320
+	* tree-ssa-sccvn.c (set_ssa_val_to): Changing undef to undef
+	isn't a change.
+
+2017-09-25  Jeff Law  <law@redhat.com>
+
+	* config/rs6000/rs6000-protos.h (output_probe_stack_range): Update
+	prototype for new argument.
+	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack_1): New function,
+	mostly extracted from rs6000_emit_allocate_stack.
+	(rs6000_emit_probe_stack_range_stack_clash): New function.
+	(rs6000_emit_allocate_stack): Call
+	rs6000_emit_probe_stack_range_stack_clash as needed.
+	(rs6000_emit_probe_stack_range): Add additional argument
+	to call to gen_probe_stack_range{si,di}.
+	(output_probe_stack_range): New.
+	(output_probe_stack_range_1): Renamed from output_probe_stack_range.
+	(output_probe_stack_range_stack_clash): New.
+	(rs6000_emit_prologue): Emit notes into dump file as requested.
+	* rs6000.md (allocate_stack): Handle -fstack-clash-protection.
+	(probe_stack_range<P:mode>): Operand 0 is now early-clobbered.
+	Add additional operand and pass it to output_probe_stack_range.
+
+2017-09-25  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/82163
+	* tree-ssa-loop-manip.h (verify_loop_closed_ssa): New parameter.
+	(checking_verify_loop_closed_ssa): New parameter.
+	* tree-ssa-loop-manip.c (check_loop_closed_ssa_use): Delete.
+	(check_loop_closed_ssa_stmt): Delete.
+	(check_loop_closed_ssa_def, check_loop_closed_ssa_bb): New functions.
+	(verify_loop_closed_ssa): Check loop closed ssa form for LOOP.
+	(tree_transform_and_unroll_loop): Check loop closed ssa form only for
+	changed loops.
+
+2017-09-25  Pekka Jaaskelainen <pekka@parmance.com>
+
+	* brig-builtins.def: Treat HSAIL barrier builtins as
+	setjmp/longjump style functions.
+
+2017-09-25  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* target.def (constant_alignment): New hook.
+	* defaults.h (CONSTANT_ALIGNMENT): Delete.
+	* doc/tm.texi.in (CONSTANT_ALIGNMENT): Replace with...
+	(TARGET_CONSTANT_ALIGNMENT): ...this new hook.
+	* doc/tm.texi: Regenerate.
+	* targhooks.h (default_constant_alignment): Declare.
+	(constant_alignment_word_strings): Likewise.
+	* targhooks.c (default_constant_alignment): New function.
+	(constant_alignment_word_strings): Likewise.
+	* builtins.c (get_object_alignment_2): Use targetm.constant_alignment
+	instead of CONSTANT_ALIGNMENT.
+	* varasm.c (align_variable, get_variable_align, build_constant_desc)
+	(force_const_mem): Likewise.
+	* config/aarch64/aarch64.h (CONSTANT_ALIGNMENT): Delete.
+	* config/aarch64/aarch64.c (aarch64_constant_alignment): New function.
+	(aarch64_classify_address): Call it instead of CONSTANT_ALIGNMENT.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/alpha/alpha.h (CONSTANT_ALIGNMENT): Delete commented-out
+	definition.
+	* config/arc/arc.h (CONSTANT_ALIGNMENT): Delete.
+	* config/arc/arc.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR): Delete.
+	(CONSTANT_ALIGNMENT): Likewise.
+	* config/arm/arm.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(arm_constant_alignment): New function.
+	* config/bfin/bfin.h (CONSTANT_ALIGNMENT): Delete.
+	* config/bfin/bfin.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/cr16/cr16.h (CONSTANT_ALIGNMENT): Delete.
+	* config/cr16/cr16.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/cris/cris.h (CONSTANT_ALIGNMENT): Delete.
+	* config/cris/cris.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(cris_constant_alignment): New function.
+	* config/epiphany/epiphany.h (CONSTANT_ALIGNMENT): Delete.
+	* config/epiphany/epiphany.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(epiphany_constant_alignment): New function.
+	* config/fr30/fr30.h (CONSTANT_ALIGNMENT): Delete.
+	* config/fr30/fr30.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/frv/frv.h (CONSTANT_ALIGNMENT): Delete.
+	* config/frv/frv.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/ft32/ft32.h (CONSTANT_ALIGNMENT): Delete.
+	* config/ft32/ft32.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/i386/i386.h (CONSTANT_ALIGNMENT): Delete.
+	* config/i386/i386-protos.h (ix86_constant_alignment): Delete.
+	* config/i386/i386.c (ix86_constant_alignment): Make static.
+	Use the same interface as the target hook.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/ia64/ia64.h (CONSTANT_ALIGNMENT): Delete.
+	* config/ia64/ia64.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/iq2000/iq2000.h (CONSTANT_ALIGNMENT): Delete.
+	* config/iq2000/iq2000.c (iq2000_constant_alignment): New function.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/lm32/lm32.h (CONSTANT_ALIGNMENT): Delete.
+	* config/lm32/lm32.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/m32r/m32r.h (CONSTANT_ALIGNMENT): Delete.
+	* config/m32r/m32r.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/mcore/mcore.h (CONSTANT_ALIGNMENT): Delete.
+	* config/mcore/mcore.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/microblaze/microblaze.h (CONSTANT_ALIGNMENT): Delete.
+	* config/microblaze/microblaze.c (microblaze_constant_alignment):
+	New function.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/mips/mips.h (CONSTANT_ALIGNMENT): Delete.
+	* config/mips/mips.c (mips_constant_alignment): New function.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/mmix/mmix.h (CONSTANT_ALIGNMENT): Delete.
+	* config/mmix/mmix-protos.h (mmix_constant_alignment): Delete.
+	* config/mmix/mmix.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(mmix_constant_alignment): Make static.  Use the same interface
+	as the target hook.
+	* config/moxie/moxie.h (CONSTANT_ALIGNMENT): Delete.
+	* config/moxie/moxie.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/nios2/nios2.h (CONSTANT_ALIGNMENT): Delete.
+	* config/nios2/nios2.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/pa/pa.h (CONSTANT_ALIGNMENT): Delete.
+	* config/pa/pa.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/powerpcspe/powerpcspe.h (CONSTANT_ALIGNMENT): Delete.
+	* config/powerpcspe/powerpcspe.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(rs6000_constant_alignment): New function.
+	* config/riscv/riscv.h (CONSTANT_ALIGNMENT): Delete.
+	* config/riscv/riscv.c (riscv_constant_alignment): New function.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Delete.
+	* config/rs6000/rs6000.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(rs6000_constant_alignment): New function.
+	* config/s390/s390.h (CONSTANT_ALIGNMENT): Delete.
+	* config/s390/s390.c (s390_constant_alignment): New function.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/sh/sh.h (CONSTANT_ALIGNMENT): Delete.
+	* config/sh/sh.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/sparc/sparc.h (CONSTANT_ALIGNMENT): Delete.
+	* config/sparc/sparc.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(sparc_constant_alignment): New function.
+	* config/spu/spu.h (CONSTANT_ALIGNMENT): Delete.
+	* config/spu/spu.c (spu_constant_alignment): New function.
+	(TARGET_CONSTANT_ALIGNMENT): Redefine.
+	* config/stormy16/stormy16.h (CONSTANT_ALIGNMENT): Delete.
+	* config/stormy16/stormy16.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/tilegx/tilegx.h (CONSTANT_ALIGNMENT): Delete.
+	* config/tilegx/tilegx.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/tilepro/tilepro.h (CONSTANT_ALIGNMENT): Delete.
+	* config/tilepro/tilepro.c (TARGET_CONSTANT_ALIGNMENT): Redefine to
+	constant_alignment_word_strings.
+	* config/visium/visium.h (CONSTANT_ALIGNMENT): Delete.
+	* config/visium/visium.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(visium_constant_alignment): New function.
+	* config/xtensa/xtensa.h (CONSTANT_ALIGNMENT): Delete.
+	* config/xtensa/xtensa.c (TARGET_CONSTANT_ALIGNMENT): Redefine.
+	(xtensa_constant_alignment): New function.
+	* system.h (CONSTANT_ALIGNMENT): Poison.
+
+2017-09-25  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
+	for early folding of vector stores (ALTIVEC_BUILTIN_ST_*).
+	(rs6000_builtin_valid_without_lhs): New helper function.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Remove obsoleted code for handling ALTIVEC_BUILTIN_VEC_ST.
+
+2017-09-25  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* target.h (vec_perm_indices): Use unsigned short rather than
+	unsigned char.
+	(auto_vec_perm_indices): Likewise.
+	* config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const_ok):
+	Use unsigned int rather than unsigned char.
+	* config/arm/arm.c (arm_vectorize_vec_perm_const_ok): Likewise.
+
+2017-09-25  Richard Biener  <rguenther@suse.de>
+
+	* cfgloop.h (sort_sibling_loops): Declare.
+	* cfgloop.c (sort_sibling_loops_cmp): New helper.
+	(sort_sibling_loops): New function sorting the sibling loop list
+	in RPO order.
+	* graphite.c (graphite_transform_loops): Sort sibling loops.
+
+2017-09-25  Richard Sandiford  <richard.sandifird@linaro.org>
+
+	* target.def (vec_perm_const_ok): Change sel parameter to
+	vec_perm_indices.
+	* optabs-query.c (can_vec_perm_p): Update accordingly.
+	* doc/tm.texi: Regenerate.
+	* config/aarch64/aarch64.c (expand_vec_perm_d): Change perm to
+	auto_vec_perm_indices and remove separate nelt field.
+	(aarch64_evpc_trn, aarch64_evpc_uzp, aarch64_evpc_zip)
+	(aarch64_evpc_ext, aarch64_evpc_rev, aarch64_evpc_dup)
+	(aarch64_evpc_tbl, aarch64_expand_vec_perm_const_1)
+	(aarch64_expand_vec_perm_const): Update accordingly.
+	(aarch64_vectorize_vec_perm_const_ok): Likewise.  Change sel
+	to vec_perm_indices.
+	* config/arm/arm.c (expand_vec_perm_d): Change perm to
+	auto_vec_perm_indices and remove separate nelt field.
+	(arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev)
+	(arm_evpc_neon_vtrn, arm_evpc_neon_vext, arm_evpc_neon_vtbl)
+	(arm_expand_vec_perm_const_1, arm_expand_vec_perm_const): Update
+	accordingly.
+	(arm_vectorize_vec_perm_const_ok): Likewise.  Change sel
+	to vec_perm_indices.
+	* config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change
+	sel to vec_perm_indices.
+	* config/ia64/ia64.c (ia64_vectorize_vec_perm_const_ok): Likewise.
+	* config/mips/mips.c (mips_vectorize_vec_perm_const_ok): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_vectorize_vec_perm_const_ok):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_vectorize_vec_perm_const_ok):
+	Likewise.
+
+2017-09-25  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	PR debug/82155
+	* dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl
+	on the FUNCTION_DECL function context if it has a DIE that is a
+	declaration.
+
+2017-09-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82285
+	* tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
+	enumeral types.
+
+2017-09-25  Tom de Vries  <tom@codesourcery.com>
+
+	PR target/80035
+	PR target/81069
+	* config/nvptx/nvptx.c (nvptx_output_call_insn): Add exit after call to
+	noreturn function.
+
+2017-09-25  Richard Biener  <rguenther@suse.de>
+
+	* graphite-optimize-isl.c (optimize_isl): Fail and dump if
+	ISL errors other than isl_error_quota happen.  Dump if the
+	schedule is the same.
+	* graphite-sese-to-poly.c (build_poly_scop): Fail on ISL
+	errors instead of aborting inside ISL.
+
+2017-09-25  Iain Sandoe  <iain@codesourcery.com>
+
+	PR target/80556
+	* config/i386/darwin.h (REAL_LIB_SPEC): New; put libSystem ahead
+	of libgcc_eh for m64.
+	* config/i386/darwin64.h: Likewise.
+
+2017-09-25  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/82144
+	* dwarf2out.c (gen_enumeration_type_die): Do not add alignment
+	attribute for incomplete types nor twice for complete ones.
+
+2017-09-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/82267
+	* config/i386/i386.c (ix86_print_operand_address_as): Encode
+	%esp as %rsp to avoid 0x67 prefix if there is no index or base
+	register.
+
+2017-09-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR bootstrap/82306
+	* config/i386/i386.opt (mprefer-avx256): Use
+	ix86_target_flags variable.
+	* config/i386/i386.c (ix86_target_string): Move
+	-mprefer-avx256 to flag2_opts.
+
+2017-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/35691
+	* match.pd: Simplify x == -1 & y == -1 into (x & y) == -1
+	and x != -1 | y != -1 into (x & y) != -1.
+
+2017-09-22  Steve Ellcey  <sellcey@cavium.com>
+
+	* config.gcc: Add new case statement to set
+	default_gnu_indirect_function.  Remove it from x86_64-*-linux*,
+	i[34567]86-*, powerpc*-*-linux*spe*, powerpc*-*-linux*, s390-*-linux*,
+	s390x-*-linux* case statements.   Added aarch64 to the list of
+	supported architectures.
+
+2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/82289
+	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): Check
+	STMT_VINFO_RELEVANT_P.
+
+2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vrp.c (extract_range_from_multiplicative_op_1): Assert
+	for VR_RANGE only; don't allow VR_ANTI_RANGE.
+	(extract_range_from_binary_expr_1): Don't call
+	extract_range_from_multiplicative_op_1 if !range_int_cst_p.
+
+2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (preferred_vector_alignment): New hook.
+	* doc/tm.texi.in (TARGET_VECTORIZE_PREFERRED_VECTOR_ALIGNMENT): New
+	hook.
+	* doc/tm.texi: Regenerate.
+	* targhooks.h (default_preferred_vector_alignment): Declare.
+	* targhooks.c (default_preferred_vector_alignment): New function.
+	* tree-vectorizer.h (dataref_aux): Add a target_alignment field.
+	Expand commentary.
+	(DR_TARGET_ALIGNMENT): New macro.
+	(aligned_access_p): Update commentary.
+	(vect_known_alignment_in_bytes): New function.
+	* tree-vect-data-refs.c (vect_calculate_required_alignment): New
+	function.
+	(vect_compute_data_ref_alignment): Set DR_TARGET_ALIGNMENT.
+	Calculate the misalignment based on the target alignment rather than
+	the vector size.
+	(vect_update_misalignment_for_peel): Use DR_TARGET_ALIGMENT
+	rather than TYPE_ALIGN / BITS_PER_UNIT to update the misalignment.
+	(vect_enhance_data_refs_alignment): Mask the byte misalignment with
+	the target alignment, rather than masking the element misalignment
+	with the number of elements in a vector.  Also use the target
+	alignment when calculating the maximum number of peels.
+	(vect_find_same_alignment_drs): Use vect_calculate_required_alignment
+	instead of TYPE_ALIGN_UNIT.
+	(vect_duplicate_ssa_name_ptr_info): Remove stmt_info parameter.
+	Measure DR_MISALIGNMENT relative to DR_TARGET_ALIGNMENT.
+	(vect_create_addr_base_for_vector_ref): Update call accordingly.
+	(vect_create_data_ref_ptr): Likewise.
+	(vect_setup_realignment): Realign by ANDing with
+	-DR_TARGET_MISALIGNMENT.
+	* tree-vect-loop-manip.c (vect_gen_prolog_loop_niters): Calculate
+	the number of peels based on DR_TARGET_ALIGNMENT.
+	* tree-vect-stmts.c (get_group_load_store_type): Compare the gap
+	with the guaranteed alignment boundary when deciding whether
+	overrun is OK.
+	(vectorizable_mask_load_store): Interpret DR_MISALIGNMENT
+	relative to DR_TARGET_ALIGNMENT instead of TYPE_ALIGN_UNIT.
+	(ensure_base_align): Remove stmt_info parameter.  Get the
+	target base alignment from DR_TARGET_ALIGNMENT.
+	(vectorizable_store): Update call accordingly.   Interpret
+	DR_MISALIGNMENT relative to DR_TARGET_ALIGNMENT instead of
+	TYPE_ALIGN_UNIT.
+	(vectorizable_load): Likewise.
+
+2017-09-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vectorizer.h (vect_get_scalar_dr_size): New function.
+	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use it.
+	(vect_enhance_data_refs_alignment): Likewise.
+
+2017-09-22  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+	* config/arm/parsecpu.awk (fatal): Note that we've encountered an
+	error.  Only quit immediately if parsing is complete.
+	(BEGIN): Initialize fatal_err and parse_done.
+	(begin fpu, end fpu): Check number of arguments.
+	(begin arch, end arch): Likewise.
+	(begin cpu, end cpu): Likewise.
+	(cname, tune for, tune flags, architecture, fpu, option): Likewise.
+	(optalias): Likewise.
+
+2017-09-22  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+	* config.gcc (arm*-*-*): Don't add arm-isa.h to tm_p_file.
+	* config/arm/arm-isa.h: Delete.  Move definitions to ...
+	* arm-cpus.in: ... here.  Use new feature and fgroup values.
+	* config/arm/arm.c (arm_option_override): Use lower case for feature
+	bit names.
+	* config/arm/arm.h (TARGET_HARD_FLOAT): Likewise.
+	(TARGET_VFP3, TARGET_VFP5, TARGET_FMA): Likewise.
+	* config/arm/parsecpu.awk (END): Add new command 'isa'.
+	(isa_pfx): Delete.
+	(print_isa_bits_for): New function.
+	(gen_isa): New function.
+	(gen_comm_data): Use print_isa_bits_for.
+	(define feature): New keyword.
+	(define fgroup): New keyword.
+	* config/arm/t-arm (TM_H): Remove.
+	(GTM_H): Add arm-isa.h.
+	(arm-isa.h): Add rule to generate file.
+	* common/config/arm/arm-common.c: (arm_canon_arch_option): Use lower
+	case for feature bit names.
+
+2017-09-22  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c (graphite_verify): Inline into
+	single caller.
+	(graphite_regenerate_ast_isl): Do not reset SCEV.  Move debug
+	print of no dependency loops ...
+	* graphite.c (graphite_transform_loops): ... here.
+	(canonicalize_loop_closed_ssa_form): Work from inner to outer
+	loops.
+	(same_close_phi_node, remove_duplicate_close_phi,
+	make_close_phi_nodes_unique, defined_in_loop_p): Fold into ...
+	(canonicalize_loop_closed_ssa): ... here and simplify.
+	* graphite-optimize-isl.c: Include tree-vectorizer.h.
+	(optimize_isl): Use dump_printf_loc to tell when we stopped
+	optimizing because of an ISL timeout.
+
+2017-09-22  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82291
+	* tree-if-conv.c (predicate_mem_writes): Make sure to
+	remove writes in blocks predicated with false.
+
+2017-09-22  Richard Biener  <rguenther@suse.de>
+
+	* sese.c: Include cfganal.h.
+	(if_region_set_false_region): Remove.
+	(create_if_region_on_edge): Likewise.
+	(move_sese_in_condition): Re-implement without destroying
+	dominators.
+
+2017-09-22  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes):
+	Verify both BBs contain loop PHI nodes before dispatching to
+	copy_loop_phi_args.
+	(graphite_regenerate_ast_isl): Do not recompute dominators,
+	do not verify three times.  Restructure for clarity.
+	* graphite-scop-detection.c (same_close_phi_node,
+	remove_duplicate_close_phi, make_close_phi_nodes_unique,
+	defined_in_loop_p, canonicalize_loop_closed_ssa,
+	canonicalize_loop_closed_ssa_form): Simplify, remove excess
+	checking and SSA rewrite, move to ...
+	* graphite.c: ... here.  Include ssa.h and tree-ssa-loop-manip.h.
+	(graphite_initialize): Do not pass in ctx, do not reset the
+	SCEV cache, compute only dominators.
+	(graphite_transform_loops): Allocate ISL ctx after
+	graphite_initialize.  Call canonicalize_loop_closed_ssa_form.
+	Maintain post-dominators only around build_scops.
+	* sese.c (if_region_set_false_region): Make static.  Free
+	and recompute dominators.
+	(move_sese_in_condition): Assert we don't get called with
+	post-dominators computed.
+	* sese.h (if_region_set_false_region): Remove.
+
+2017-09-22  Sergey Shalnov  <sergey.shalnov@intel.com>
+
+	* config/i386/sse.md ("mov<mode>_internal"): Use <sseinsnmode>
+	mode attribute for TARGET_AVX512VL.
+
+2017-09-21  Sergey Shalnov  <sergey.shalnov@intel.com>
+
+	* config/i386/i386.opt (mprefer-avx256): New option.
+	* config/i386/i386.c (ix86_target_string): Add -mprefer-avx256
+	to flag_opts.
+	(ix86_preferred_simd_mode): Return 256-bit AVX modes
+	for TARGET_PREFER_AVX256.
+	* doc/invoke.texi (x86 Options): Document -mprefer-avx256.
+
+2017-09-21  Jeff Law  <law@redhat.com>
+
+	* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash):
+	Fix dump output if the only stack space is for pushed registers.
+
+2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/spu/spu.c (spu_sched_adjust_cost): Update after renaming
+	of insn_cost.
+
+2017-09-21  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81882
+	* doc/extend.texi (attribute ifunc): Avoid relying on ill-formed
+	code (in C++) or code that triggers warnings.
+
+2017-09-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* stor-layout.c (bit_from_pos): Do not distribute the conversion.
+
+2017-09-21  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* haifa-sched.c: Rename insn_cost to insn_sched_cost.
+	* sched-rgn.c: Ditto.
+	* sel-sched-ir.c: Ditto.
+
+2017-09-21  Alexander Monakov  <amonakov@ispras.ru>
+
+	* toplev.h (set_random_seed): Adjust return type.
+	* toplev.c (init_local_tick): Move eager initialization of random_seed
+	to get_random_seed.  Adjust comment.
+	(init_random_seed): Inline to get_random_seed, delete.
+	(get_random_seed): Initialize random_seed lazily.
+	(set_random_seed): Do not return previous value.
+	(print_switch_value): Do not call get_random_seed.
+
+2017-09-21  Evgeny Kudryashov  <kudryashov@ispras.ru>
+
+	* cgraph.c (delete_function_version): New, broken out from...
+	(cgraph_node::delete_function_version): ...here.  Rename to
+	cgraph_node::delete_function_version_by_decl.  Update all uses.
+	(cgraph_node::remove): Call delete_function_version.
+
+2017-09-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81715
+	* tree-inline.c (expand_call_inline): Emit clobber stmts for
+	VAR_DECLs to which addressable non-volatile parameters are mapped
+	and for id->retvar after the return value assignment.  Clear
+	id->retval and id->retbnd after inlining.
+
+2017-09-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82276
+	PR tree-optimization/82244
+	* tree-vrp.c (build_assert_expr_for): Set
+	SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on
+	has it set.
+	(remove_range_assertions): Revert earlier change.
+
+2017-09-21  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR target/71951
+	* config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
+
+2017-09-21  Richard Biener  <rguenther@suse.de>
+
+	* graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
+	Restore valid IL after code generation errors.
+	* graphite.c (graphite_transform_loops): Diagnose code
+	generation issues as MSG_MISSED_OPTIMIZATION and continue
+	with processing SCOPs.
+
+2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* calls.c (compute_argument_addresses): Use simplify_gen_binary
+	rather than choosing between plus_constant and gen_rtx_<CODE>.
+	* expr.c (emit_push_insn): Likewise.
+	(expand_expr_real_2): Likewise.
+
+2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* loop-unroll.c (split_iv): Call copy_rtx on the step.
+
+2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.c (find_atomic_core_type): Check tree_fits_uhwi_p before
+	calling tree_to_uhwi.
+
+2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-ssa-ccp.c (get_value_for_expr): Use a positive test for
+	INTEGER_CST rather than a negative test for ADDR_EXPR.
+
+2017-09-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vrp.c (extract_range_from_binary_expr_1): Check
+	int_cst_rangeN before calling value_range_constant_singleton (&vrN).
+
+2017-09-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71351
+	* graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple::
+	graphite_create_new_loop_guard): Remove, fold remaining parts
+	into caller ...
+	(translate_isl_ast_node_for): ... here and simplify.
+
+2017-09-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82260
+	* config/i386/i386.md (*movqi_internal): Replace (=q,q) alternative
+	with (=Q,Q), (=R,R) and (=r,r) alternatives, only enable the
+	latter two for 64-bit, renumber alternatives, for -Os imov (=q,n)
+	alternative always use QI mode, for -Os imov (=R,R) alternative
+	always use SI mode, for imov (=Q,Q) or (=r,r) alternatives
+	ignore -Os.
+
+2017-09-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+	    Jeff Law  <law@redhat.com>
+
+	* config/s390/s390.c (MIN_UNROLL_PROBES): Define.
+	(allocate_stack_space): New function, partially extracted from
+	s390_emit_prologue.
+	(s390_emit_prologue): Track offset to most recent stack probe.
+	Code to allocate space moved into allocate_stack_space.
+	Dump actions when no stack is allocated.
+	(s390_prologue_plus_offset): New function.
+	(s390_emit_stack_probe): Likewise.
+
+2017-09-20  Alexandre Oliva  <aoliva@redhat.com>
+
+	* common.opt (Wa, Wl, Wp, g, gz=): Add
+	RejectNegative.
+	(gno-column-info): Remove.
+	(gcolumn-info): Drop RejectNegative.
+	(gno-): New prefix.
+	(gno-record-gcc-switches): Remove.
+	(grecord-gcc-switches): Drop RejectNegative.
+	(gno-split-dwarf): Remove.
+	(gsplit-dwarf): Drop RejectNegative.
+	(gno-strict-dwarf): Remove.
+	(gstrict-dwarf): Drop RejectNegative.
+	* config/darwin.opt (gfull, gused): Add RejectNegative.
+	* dwarf2out.c (gen_producer_string): Drop
+	gno-record-gcc-switches handler.
+	* optc-gen.awk: Add g to prefixes with negative forms.
+	* opts-common.c (remapping_prefix_p): New.
+	(find_opt): Check it.
+	(generate_canonical_option): Test g prefix.
+	(option_map): Add -gno- mapping.
+	(add_misspelling_candidates): Check remapping_prefix_p.
+
+2017-09-20  Jeff Law  <law@redhat.com>
+
+	* config/powerpcspe/powerpcspe.c (rs6000_expand_prologue): Fix
+	thinko in stack clash protection support.
+
+	* explow.c (compute_stack_clash_protection_loop_data): Use
+	CONST_INT_P instead of explicit test.  Verify object is a
+	CONST_INT_P before looking at INTVAL.
+	(anti_adjust_stack_and_probe_stack_clash): Use CONST_INT_P
+	instead of explicit test.
+
+2017-09-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/77687
+	* config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch
+	address instead of to r1 and r11.
+
+2017-09-20  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* config.gcc: Support "knm".
+	* config/i386/driver-i386.c (host_detect_local_cpu): Detect "knm".
+	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
+	PROCESSOR_KNM.
+	* config/i386/i386.c (m_KNM): Define.
+	(processor_target_table): Add "knm".
+	(PTA_KNM): Define.
+	(ix86_option_override_internal): Add "knm".
+	(ix86_issue_rate): Add PROCESSOR_KNM.
+	(ix86_adjust_cost): Ditto.
+	(ia32_multipass_dfa_lookahead): Ditto.
+	(get_builtin_code_for_version): Handle PROCESSOR_KNM.
+	(fold_builtin_cpu): Add M_INTEL_KNM.
+	* config/i386/i386.h (processor_costs): Define TARGET_KNM.
+	(processor_type): Add PROCESSOR_KNM.
+	* config/i386/x86-tune.def: Add m_KNM.
+	* doc/invoke.texi: Add knm as x86 -march=/-mtune= CPU type.
+
+2017-09-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80213
+	* graphite-scop-detection.c (trivially_empty_bb_p): Labels
+	are allowed in empty BBs as well.
+	(canonicalize_loop_closed_ssa): Also look for other complex
+	edges.
+	(scop_detection::get_sese): Include the loop-closed PHI block
+	in loop SESEs.
+	(scop_detection::merge_sese): Remove code adding extra blocks.
+	(scop_detection::region_has_one_loop): Adjust for get_sese changes.
+	(build_scops): Assert the final returned scop is invalid.
+
+2017-09-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82264
+	* tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check
+	for GIMPLE_CONDs.
+	(vn_phi_lookup): Likewise.
+	(vn_phi_insert): Likewise.
+
+2017-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (tree_add_const_value_attribute): For INTEGER_CST
+	that fits into uhwi or shwi, add DW_AT_const_value regardless
+	of early_dwarf without going through RTL, using add_AT_unsigned
+	or add_AT_int.
+
+	* dwarf2out.c (DEBUG_LTO_DWO_INFO_SECTION): Reorder defines.
+	(DEBUG_LTO_ABBREV_SECTION): Likewise.
+	(DEBUG_LTO_MACINFO_SECTION): Likewise.
+	(DEBUG_MACRO_SECTION): Likewise.
+	(DEBUG_LTO_MACRO_SECTION): Likewise.
+	(DEBUG_STR_DWO_SECTION): Likewise.
+	(DEBUG_LTO_STR_DWO_SECTION): Likewise.
+	(DEBUG_LTO_LINE_SECTION): Drop .dwo suffix from the name.
+	(DEBUG_LTO_DWO_LINE_SECTION): Define.
+	(DEBUG_LTO_LINE_STR_SECTION): Define.
+	(init_sections_and_labels): Initialize debug_line_str_section
+	variable.  Initialize debug_loc_section for -gdwarf-5 to
+	DEBUG_LOCLISTS_SECTION.  Formatting fixes.
+
+2017-09-20  Richard Biener  <rguenther@suse.de>
+
+	* graphite-sese-to-poly.c (extract_affine): Properly handle
+	POINTER_PLUS_EXPR, BIT_NOT_EXPR and conversion to signed.
+
+2017-09-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81373
+	* graphite-scop-detection.c (build_cross_bb_scalars_def):
+	Force SESE live-out defs to be handled even if they are
+	scev_analyzable_p.
+
+2017-09-19  Jeff Law  <law@redhat.com>
+
+	* combine-stack-adj.c (combine_stack_adjustments_for_block): Do
+	nothing for stack adjustments with REG_STACK_CHECK.
+	* sched-deps.c (parse_add_or_inc): Reject insns with
+	REG_STACK_CHECK from dependency breaking.
+	* config/i386/i386.c (pro_epilogue_adjust_stack): Return insn.
+	(ix86_adjust_satck_and_probe_stack_clash): Add REG_STACK_NOTEs.
+	* reg-notes.def (STACK_CHECK): New note.
+
+	* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): New.
+	(ix86_expand_prologue): Dump stack clash info as needed.
+	Call ix86_adjust_stack_and_probe_stack_clash as needed.
+
+	* function.c (dump_stack_clash_frame_info): New function.
+	* function.h (dump_stack_clash_frame_info): Prototype.
+	(enum stack_clash_probes): New enum.
+
+	* config/alpha/alpha.c (alpha_expand_prologue): Also check
+	flag_stack_clash_protection.
+	* config/arm/arm.c (arm_compute_static_chain_stack_bytes): Likewise.
+	(arm_expand_prologue, thumb1_expand_prologue): Likewise.
+	(arm_frame_pointer_required): Likewise.
+	* config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
+	(ia64_expand_prologue): Likewise.
+	* config/mips/mips.c (mips_expand_prologue): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_expand_prologue): Likewise.
+	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
+	(sparc_flat_expand_prologue): Likewise.
+	* config/spu/spu.c (spu_expand_prologue): Likewise.
+
+	* explow.c: Include "params.h".
+	(anti_adjust_stack_and_probe_stack_clash): New function.
+	(get_stack_check_protect): Likewise.
+	(compute_stack_clash_protection_loop_data): Likewise.
+	(emit_stack_clash_protection_loop_start): Likewise.
+	(emit_stack_clash_protection_loop_end): Likewise.
+	(allocate_dynamic_stack_space): Use get_stack_check_protect.
+	Use anti_adjust_stack_and_probe_stack_clash.
+	* explow.h (compute_stack_clash_protection_loop_data): Prototype.
+	(emit_stack_clash_protection_loop_start): Likewise.
+	(emit_stack_clash_protection_loop_end): Likewise.
+	* rtl.h (get_stack_check_protect): Prototype.
+	* target.def (stack_clash_protection_final_dynamic_probe): New hook.
+	* targhooks.c (default_stack_clash_protection_final_dynamic_probe): New.
+	* targhooks.h (default_stack_clash_protection_final_dynamic_probe):
+	Prototype.
+	* doc/tm.texi.in (TARGET_STACK_CLASH_PROTECTION_FINAL_DYNAMIC_PROBE):
+	Add @hook.
+	* doc/tm.texi: Rebuilt.
+	* config/aarch64/aarch64.c (aarch64_expand_prologue): Use
+	get_stack_check_protect.
+	* config/alpha/alpha.c (alpha_expand_prologue): Likewise.
+	* config/arm/arm.c (arm_expand_prologue): Likewise.
+	(arm_frame_pointer_required): Likewise.
+	* config/i386/i386.c (ix86_expand_prologue): Likewise.
+	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
+	* config/mips/mips.c (mips_expand_prologue): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_emit_prologue): Likewise.
+	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
+	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
+	(sparc_flat_expand_prologue): Likewise.
+
+	* common.opt (-fstack-clash-protection): New option.
+	* flag-types.h (enum stack_check_type): Note difference between
+	-fstack-check= and -fstack-clash-protection.
+	* params.def (PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE): New PARAM.
+	(PARAM_STACK_CLASH_PROTECTION_PROBE_INTERVAL): Likewise.
+	* toplev.c (process_options): Issue warnings/errors for cases
+	not handled with -fstack-clash-protection.
+	* doc/invoke.texi (-fstack-clash-protection): Document new option.
+	(-fstack-check): Note additional problem with -fstack-check=generic.
+	Note that -fstack-check is primarily for Ada and refer users
+	to -fstack-clash-protection for stack-clash-protection.
+	Document new params for stack clash protection.
+
+2017-09-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_split_long_move): Do not handle
+	address used for LEA in a special way.
+
+2017-09-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* simplify-rtx.c (simplify_binary_operation_1): Fix typo in comment.
+
+2017-09-19  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81854
+	* cgraphunit.c (handle_alias_pairs): Reject aliases between functions
+	of incompatible types.
+
+2017-09-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
+	for early folding of vector loads (ALTIVEC_BUILTIN_LVX_*).
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Remove obsoleted code for handling ALTIVEC_BUILTIN_VEC_LD.
+
+2017-09-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82244
+	* tree-vrp.c (remove_range_assertions): Do not propagate
+	a constant to abnormals but replace the assert with a copy.
+
+2017-09-19  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR rtl-optimization/57878
+	PR rtl-optimization/68988
+	* lra-assigns.c (reload_pseudo_compare_func): Remove fragmentation
+	avoidance test involving non_reload_pseudos.  Move frequency test
+	below the general fragmentation avoidance test.
+
+2017-09-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69728
+	* graphite-sese-to-poly.c (schedule_error): New global.
+	(add_loop_schedule): Handle empty domain by failing the
+	schedule.
+	(build_original_schedule): Handle schedule_error.
+
+2017-09-19  Richard Biener  <rguenther@suse.de>
+
+	* graphite-scop-detection.c (scop_detection::can_represent_loop):
+	Do not iterate to sibling loops but only to siblings of inner
+	loops.
+
+2017-09-18  Andreas Schwab  <schwab@linux-m68k.org>
+
+	PR target/81613
+	* config/m68k/m68k.md (moveq feeding equality comparison): Check
+	that the registers are different.
+
+2017-09-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H
+	to processor_model and "amdfam17h" to arch_names_table.
+	* doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name.
+
+2017-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/82234
+	* doc/extend.texi: Add @findex entry for __builtin_shuffle.
+
+2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vectorizer.h (vect_slp_analyze_operations): Replace parameters
+	with a vec_info *.
+	* tree-vect-loop.c (vect_analyze_loop_operations): Update call
+	accordingly.
+	* tree-vect-slp.c (vect_slp_analyze_node_operations): Add vec_info *
+	parameter.  Set SLP_TREE_NUMBER_OF_VEC_STMTS here rather than in
+	vect_schedule_slp_instance.
+	(vect_slp_analyze_operations): Replace parameters with a vec_info *.
+	Update call to vect_slp_analyze_node_operations.  Simplify return
+	value.
+	(vect_slp_analyze_bb_1): Update call accordingly.
+	(vect_schedule_slp_instance): Remove vectorization_factor parameter.
+	Don't calculate SLP_TREE_NUMBER_OF_VEC_STMTS here.
+	(vect_schedule_slp): Update call accordingly.
+
+2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Cope
+	with types that aren't in fact scalar.
+
+2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vect-slp.c (vect_record_max_nunits): New function,
+	split out from...
+	(vect_build_slp_tree_1): ...here.
+	(vect_build_slp_tree_2): Call it for phis too.
+
+2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vect-stmts.c (vectorizable_mask_load_store): Pass mask_vectype
+	to vect_get_vec_def_for_operand when getting the mask operand.
+
+2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vect-loop.c (vectorizable_live_operation): Fix type of
+	bitstart.
+
+2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vect-loop.c (vectorizable_live_operation): Fix element size
+	calculation for vector booleans.
+
+2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vect-stmts.c (can_vectorize_live_stmts): New function,
+	split out from...
+	(vect_transform_stmt): ...here.
+	(vect_analyze_stmt): Use it instead of calling
+	vectorizable_live_operation directly.
+
+2017-09-18  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* omp-offload.c (oacc_xform_loop): Enable SIMD vectorization on
+	non-SIMT targets in acc vector loops.
+
+2017-09-18  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* configure.ac: Add arc and check if assembler supports gdwarf2.
+	* configure: Regenerate.
+
+2017-09-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82220
+	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Exclude
+	epilogue niters from the min_profitable_iters compute.
+
+2017-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82145
+	* config/i386/i386.c (ix86_init_large_pic_reg): Revert 2017-09-01
+	changes.  Turn CODE_LABEL into NOTE_INSN_DELETED_LABEL immediately.
+	(ix86_init_pic_reg): Revert 2017-09-01 changes.
+
+2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/81361
+	* dwarf2cfi.c (add_cfis_to_fde): Do not generate DW_CFA_set_loc after
+	switching to a new text section.
+
+2017-09-18  Richard Biener  <rguenther@suse.de>
+
+	* graphite-scop-detection.c (scop_detection::stmt_has_simple_data_ref):
+	Simplify.
+	(build_alias_set): Reject aliases with no access function.
+
+2017-09-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79622
+	* graphite-scop-detection.c (build_cross_bb_scalars_def): Properly
+	handle PHIs.
+	(build_cross_bb_scalars_use): Likewise.
+
+2017-09-18  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* cgraph.h (cgraph_thunk_info): Fix a typo in a comment.
+
+2017-09-18  Alan Modra  <amodra@gmail.com>
+
+	PR target/81996
+	* gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
+	stack_pointer_rtx for count 0.  Update comments.  Break up
+	large rtl expression.
+
+2017-09-17  Daniel Santos  <daniel.santos@pobox.com>
+
+	* config/i386/i386.c (xlogue_layout::STUB_NAME_MAX_LEN):
+	Increase to 20 bytes.
+	(xlogue_layout::s_stub_names): Add an additional size-2 diminsion.
+	(xlogue_layout::get_stub_name): Modify to select the appropairate sse
+	or avx version of the stub.
+
+2017-09-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/82166
+	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Properly
+	compute the minimum stack alignment.  Also update preferred stack
+	boundary for leaf functions.
+
+2017-09-16  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/82228
+	* tree-vect-loop.c (vectorizable_live_operation): Move initialization
+	of ncopies.
+
+2017-09-16  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+	* common/config/nds32/nds32-common.c
+	(nds32_option_optimization_table): Refine formatting.
+	(nds32_option_optimization_table): Use -fsched-pressure and
+	-fomit-frame-pointer for specific optimization level.
+
+2017-09-16  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+	* config/nds32/nds32.c: Refine formatting and comments.
+	* config/nds32/nds32.h: Likewise.
+	* config/nds32/nds32.md: Likewise.
+	* config/nds32/nds32-cost.c: Likewise.
+	* config/nds32/nds32-isr.c: Likewise.
+	* config/nds32/nds32-md-auxiliary.c: Likewise.
+	* config/nds32/nds32-multiple.md: Likewise.
+	* config/nds32/nds32-predicates.c: Likewise.
+
+2017-09-15  Andrew Sutton  <andrew.n.sutton@gmail.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	Add support for -std=c++2a.
+	* doc/cpp.texi (__cplusplus): Document value for -std=c++2a
+	or -std=gnu+2a.
+	* doc/invoke.texi: Document -std=c++2a and -std=gnu++2a.
+
+2017-09-15  Steve Ellcey  <sellcey@cavium.com>
+
+	PR target/82066
+	* doc/extend.texi (Common Function Attributes): Add 
+	references to ARM, AArch64, and S/390 specific attributes.
+	(Function Specific Option Pragmas): Add AArch64 and S/390
+	to list of back ends that support the target pragma.
+
+2017-09-15  Nathan Sidwell  <nathan@acm.org>
+
+	* doc/standards.texi: Fix C++17 description.  Update URLs for
+	C++11 & 14.
+
+2017-09-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* common.opt (Wcast-align=strict): New warning option.
+	* doc/invoke.texi: Document -Wcast-align=strict. 
+
+2017-09-15  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* cgraph.h (cgraph_thunk_info): Add comments.
+	* cgraph.c (cgraph_node::create_thunk): Adjust comment, make
+	assert for VIRTUAL_* arguments stricter.
+
+2017-09-15  Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	PR tree-optimization/71026
+	* match.pd: Move RDIV patterns from fold-const.c
+	* fold-const.c (distribute_real_division): Removed.
+	(fold_binary_loc): Remove calls to distribute_real_divison.
+
+2017-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document
+	c++1z and gnu++1z as deprecated.  Change other references to
+	-std=c++1z to -std=c++17 and -std=gnu++1z to -std=gnu++17.
+	Change -Wc++1z-compat to -Wc++17-compat.
+	* doc/cpp.texi: Document -std=c++17 defines __cplusplus 201703L.
+	* dwarf2out.c (highest_c_language): Handle C++17.
+	(gen_compile_unit_die): Likewise.
+
+2017-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/82192
+	* combine.c (make_extraction): Don't look through non-paradoxical
+	SUBREGs or TRUNCATE if pos + len is or might be bigger than
+	inner's mode.
+
+2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (function_arg_offset): New hook.
+	* targhooks.h (default_function_arg_offset): Declare.
+	* targhooks.c (default_function_arg_offset): New function.
+	* function.c (locate_and_pad_parm): Use
+	targetm.calls.function_arg_offset instead of FUNCTION_ARG_OFFSET.
+	* doc/tm.texi.in (FUNCTION_ARG_OFFSET): Replace with...
+	(TARGET_FUNCTION_ARG_OFFSET): ...this.
+	* doc/tm.texi: Regenerate.
+	* config/spu/spu.h (FUNCTION_ARG_OFFSET): Delete.
+	* config/spu/spu.c (spu_function_arg_offset): New function.
+	(TARGET_FUNCTION_ARG_OFFSET): Redefine.
+	* system.h (FUNCTION_ARG_OFFSET): Poison.
+
+2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayard  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (truly_noop_truncation): New hook.
+	(mode_rep_extended): Refer to TARGET_TRULY_NOOP_TRUNCATION rather
+	than TRULY_NOOP_TRUNCATION.
+	* hooks.h (hook_bool_uint_uint_true): Declare.
+	* hooks.c (hook_bool_uint_uint_true): New function.
+	* doc/tm.texi.in (TRULY_NOOP_TRUNCATION): Replace with...
+	(TARGET_TRULY_NOOP_TRUNCATION): ...this.
+	* doc/tm.texi: Regenerate.
+	* combine.c (make_extraction): Refer to TARGET_TRULY_NOOP_TRUNCATION
+	rather than TRULY_NOOP_TRUNCATION in comments.
+	(simplify_comparison): Likewise.
+	(record_truncated_value): Likewise.
+	* expmed.c (extract_bit_field_1): Likewise.
+	(extract_split_bit_field): Likewise.
+	* convert.c (convert_to_integer_1): Use targetm.truly_noop_truncation
+	instead of TRULY_NOOP_TRUNCATION.
+	* function.c (assign_parm_setup_block): Likewise.
+	* machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): Likewise.
+	* rtlhooks.c: Include target.h.
+	* config/aarch64/aarch64.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/alpha/alpha.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/arc/arc.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/arm/arm.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/avr/avr.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/bfin/bfin.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/c6x/c6x.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/cr16/cr16.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/cris/cris.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/epiphany/epiphany.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/fr30/fr30.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/frv/frv.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/ft32/ft32.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/h8300/h8300.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/i386/i386.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/ia64/ia64.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/iq2000/iq2000.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/lm32/lm32.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/m32c/m32c.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/m32r/m32r.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/m68k/m68k.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/mcore/mcore.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/microblaze/microblaze.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/mips/mips.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/mips/mips.c (mips_truly_noop_truncation): New function.
+	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
+	* config/mips/mips.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
+	rather than TRULY_NOOP_TRUNCATION in comments.
+	* config/mmix/mmix.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/mn10300/mn10300.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/moxie/moxie.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/msp430/msp430.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/nds32/nds32.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/nios2/nios2.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/nvptx/nvptx.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/pa/pa.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/pdp11/pdp11.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/powerpcspe/powerpcspe.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/riscv/riscv.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/riscv/riscv.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
+	rather than TRULY_NOOP_TRUNCATION in comments.
+	* config/rl78/rl78.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/rs6000/rs6000.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/rx/rx.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/s390/s390.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/sh/sh.h (MAYBE_BASE_REGISTER_RTX_P): Remove
+	TRULY_NOOP_TRUNCATION condition.
+	(MAYBE_INDEX_REGISTER_RTX_P): Likewise.
+	(TRULY_NOOP_TRUNCATION): Delete.
+	* config/sparc/sparc.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/spu/spu.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/spu/spu.c (spu_truly_noop_truncation): New function.
+	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
+	* config/stormy16/stormy16.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/tilegx/tilegx.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/tilegx/tilegx.c (tilegx_truly_noop_truncation): New fuction.
+	(TARGET_TRULY_NOOP_TRUNCATION): Redefine.
+	* config/tilegx/tilegx.md: Refer to TARGET_TRULY_NOOP_TRUNCATION
+	rather than TRULY_NOOP_TRUNCATION in comments.
+	* config/tilepro/tilepro.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/v850/v850.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/vax/vax.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/visium/visium.h (TRULY_NOOP_TRUNCATION): Delete.
+	* config/xtensa/xtensa.h (TRULY_NOOP_TRUNCATION): Delete.
+	* system.h (TRULY_NOOP_TRUNCATION): Poison.
+
+2017-09-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	PR target/67591
+	* config/arm/arm.md (*cmp_and): Add enabled_for_depr_it attribute.
+	(*cmp_ior): Likewise.
+	(*ior_scc_scc): Add alternative for enabled_for_depr_it attribute.
+	(*ior_scc_scc_cmp): Likewise.
+	(*and_scc_scc): Likewise.
+	(*and_scc_scc_cmp): Likewise.
+
+2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayard  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (can_change_mode_class): New hook.
+	(mode_rep_extended): Refer to it instead of CANNOT_CHANGE_MODE_CLASS.
+	(hard_regno_nregs): Likewise.
+	* hooks.h (hook_bool_mode_mode_reg_class_t_true): Declare.
+	* hooks.c (hook_bool_mode_mode_reg_class_t_true): New function.
+	* doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Replace with...
+	(TARGET_CAN_CHANGE_MODE_CLASS): ...this.
+	(LOAD_EXTEND_OP): Update accordingly.
+	* doc/tm.texi: Regenerate.
+	* doc/rtl.texi: Refer to TARGET_CAN_CHANGE_MODE_CLASS instead of
+	CANNOT_CHANGE_MODE_CLASS.
+	* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Replace with...
+	(REG_CAN_CHANGE_MODE_P): ...this new macro.
+	* combine.c (simplify_set): Update accordingly.
+	* emit-rtl.c (validate_subreg): Likewise.
+	* recog.c (general_operand): Likewise.
+	* regcprop.c (mode_change_ok): Likewise.
+	* reload1.c (choose_reload_regs): Likewise.
+	(inherit_piecemeal_p): Likewise.
+	* rtlanal.c (simplify_subreg_regno): Likewise.
+	* postreload.c (reload_cse_simplify_set): Use REG_CAN_CHANGE_MODE_P
+	instead of CANNOT_CHANGE_MODE_CLASS.
+	(reload_cse_simplify_operands): Likewise.
+	* reload.c (push_reload): Use targetm.can_change_mode_class
+	instead of CANNOT_CHANGE_MODE_CLASS.
+	(push_reload): Likewise.  Also use REG_CAN_CHANGE_MODE_P instead of
+	REG_CANNOT_CHANGE_MODE_P.
+	* config/alpha/alpha.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/alpha/alpha.c (alpha_can_change_mode_class): New function.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	* config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/arm/arm.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(arm_can_change_mode_class): New function.
+	* config/arm/neon.md: Refer to TARGET_CAN_CHANGE_MODE_CLASS rather
+	than CANNOT_CHANGE_MODE_CLASS in comments.
+	* config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/i386/i386-protos.h (ix86_cannot_change_mode_class): Delete.
+	* config/i386/i386.c (ix86_cannot_change_mode_class): Replace with...
+	(ix86_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/ia64/ia64.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(ia64_can_change_mode_class): New function.
+	* config/m32c/m32c.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/m32c/m32c-protos.h (m32c_cannot_change_mode_class): Delete.
+	* config/m32c/m32c.c (m32c_cannot_change_mode_class): Replace with...
+	(m32c_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	* config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/mips/mips-protos.h (mips_cannot_change_mode_class): Delete.
+	* config/mips/mips.c (mips_cannot_change_mode_class): Replace with...
+	(mips_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	* config/msp430/msp430.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/msp430/msp430.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(msp430_can_change_mode_class): New function.
+	* config/nvptx/nvptx.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/nvptx/nvptx.c (nvptx_can_change_mode_class): New function.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	* config/pa/pa32-regs.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/pa/pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/pa/pa-protos.h (pa_cannot_change_mode_class): Delete.
+	* config/pa/pa.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(pa_cannot_change_mode_class): Replace with...
+	(pa_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	(pa_modes_tieable_p): Refer to TARGET_CAN_CHANGE_MODE_CLASS rather
+	than CANNOT_CHANGE_MODE_CLASS in comments.
+	* config/pdp11/pdp11.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class): Delete.
+	* config/pdp11/pdp11.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(pdp11_cannot_change_mode_class): Replace with...
+	(pdp11_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	* config/powerpcspe/powerpcspe.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/powerpcspe/powerpcspe-protos.h
+	(rs6000_cannot_change_mode_class_ptr): Delete.
+	* config/powerpcspe/powerpcspe.c
+	(rs6000_cannot_change_mode_class_ptr): Delete.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(rs6000_option_override_internal): Assign to
+	targetm.can_change_mode_class instead of
+	rs6000_cannot_change_mode_class_ptr.
+	(rs6000_cannot_change_mode_class): Replace with...
+	(rs6000_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	(rs6000_debug_cannot_change_mode_class): Replace with...
+	(rs6000_debug_can_change_mode_class): ...this new function.
+	* config/riscv/riscv.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/riscv/riscv.c (riscv_can_change_mode_class): New function.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/rs6000/rs6000-protos.h (rs6000_cannot_change_mode_class_ptr):
+	Delete.
+	* config/rs6000/rs6000.c (rs6000_cannot_change_mode_class_ptr): Delete.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(rs6000_option_override_internal): Assign to
+	targetm.can_change_mode_class instead of
+	rs6000_cannot_change_mode_class_ptr.
+	(rs6000_cannot_change_mode_class): Replace with...
+	(rs6000_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	(rs6000_debug_cannot_change_mode_class): Replace with...
+	(rs6000_debug_can_change_mode_class): ...this new function.
+	* config/s390/s390.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/s390/s390-protos.h (s390_cannot_change_mode_class): Delete.
+	* config/s390/s390.c (s390_cannot_change_mode_class): Replace with...
+	(s390_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	* config/sh/sh.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/sh/sh-protos.h (sh_cannot_change_mode_class): Delete.
+	* config/sh/sh.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(sh_cannot_change_mode_class): Replace with...
+	(sh_can_change_mode_class): ...this new function, inverting the
+	sense of the return value.
+	* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/sparc/sparc.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(sparc_can_change_mode_class): New function.
+	* config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/spu/spu.c (spu_can_change_mode_class): New function.
+	(TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	* config/visium/visium.h (CANNOT_CHANGE_MODE_CLASS): Delete.
+	* config/visium/visium.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine.
+	(visium_can_change_mode_class): New function.
+	* system.h (CANNOT_CHANGE_MODE_CLASS): Poison.
+
+2017-09-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82217
+	* tree-ssa-sccvn.c (visit_phi): Properly handle all VN_TOP
+	but not undefined case.
+
+2017-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82145
+	* postreload.c (reload_cse_simplify_operands): Skip
+	NOTE_INSN_DELETED_LABEL similarly to skipping CODE_LABEL.
+
+2017-09-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/68823
+	* graphite-scop-detection.c (build_alias_set): If we have a
+	possible dependence check whether we can handle them by just
+	looking at the DRs DR_ACCESS_FNs.
+	(build_scops): If build_alias_set fails, fail the SCOP.
+
+2017-09-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_1_HW): New macros
+	to support float128 built-in functions that require the ISA 3.0
+	hardware.
+	(BU_FLOAT128_3_HW): Likewise.
+	(SQRTF128): Add support for the IEEE 128-bit square root and fma
+	built-in functions.
+	(FMAF128): Likewise.
+	(FMAQ): Likewise.
+	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
+	support for built-in functions that need the ISA 3.0 IEEE 128-bit
+	floating point instructions.
+	(rs6000_invalid_builtin): Likewise.
+	(rs6000_builtin_mask_names): Likewise.
+	* config/rs6000/rs6000.h (MASK_FLOAT128_HW): Likewise.
+	(RS6000_BTM_FLOAT128_HW): Likewise.
+	(RS6000_BTM_COMMON): Likewise.
+	* config/rs6000/rs6000.md (fma<mode>4_hw): Add a generator
+	function.
+	* doc/extend.texi (RS/6000 built-in functions): Document the
+	IEEE 128-bit floating point square root and fused multiply-add
+	built-in functions.
+
+2017-09-14  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_set_up_by_prologue): Make sure the TOC
+	reg (r2) isn't in the set of registers defined in the prologue.
+
+2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vectorizer.h (_loop_vec_info): Add max_vectorization_factor.
+	(LOOP_VINFO_MAX_VECT_FACTOR): New macro.
+	(LOOP_VINFO_ORIG_VECT_FACTOR): Replace with...
+	(LOOP_VINFO_ORIG_MAX_VECT_FACTOR): ...this new macro.
+	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Update
+	accordingly.
+	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
+	max_vectorization_factor.
+	(vect_analyze_loop_2): Set LOOP_VINFO_MAX_VECT_FACTOR.
+
+2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vectorizer.h (vect_min_worthwhile_factor): Delete.
+	(vect_worthwhile_without_simd_p): Declare.
+	* tree-vect-loop.c (vect_worthwhile_without_simd_p): New function.
+	(vectorizable_reduction): Use it.
+	* tree-vect-stmts.c (vectorizable_shift): Likewise.
+	(vectorizable_operation): Likewise.
+
+2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vectorizer.h (vect_get_num_copies): New function.
+	* tree-vect-data-refs.c (vect_get_data_access_cost): Use it.
+	* tree-vect-loop.c (vectorizable_reduction): Likewise.
+	(vectorizable_induction): Likewise.
+	(vectorizable_live_operation): Likewise.
+	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
+	(vectorizable_bswap): Likewise.
+	(vectorizable_call): Likewise.
+	(vectorizable_conversion): Likewise.
+	(vectorizable_assignment): Likewise.
+	(vectorizable_shift): Likewise.
+	(vectorizable_operation): Likewise.
+	(vectorizable_store): Likewise.
+	(vectorizable_load): Likewise.
+	(vectorizable_condition): Likewise.
+	(vectorizable_comparison): Likewise.
+	(vect_analyze_stmt): Pass the slp node to vectorizable_live_operation.
+
+2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-vect-loop.c (vectorizable_induction): Use gimple_build instead
+	of vect_init_vector.
+
+2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gimple-fold.h (gimple_build_vector_from_val): Declare, and provide
+	an inline wrapper that provides a location.
+	(gimple_build_vector): Likewise.
+	* gimple-fold.c (gimple_build_vector_from_val): New function.
+	(gimple_build_vector): Likewise.
+	* tree-vect-loop.c (get_initial_def_for_reduction): Use the new
+	functions to build the initial value.  Always return a gimple value.
+	(get_initial_defs_for_reduction): Likewise.  Only compute
+	neutral_vec once.
+	(vect_create_epilog_for_reduction): Don't call force_gimple_operand or
+	vect_init_vector on the results from get_initial_def(s)_for_reduction.
+	(vectorizable_induction): Use gimple_build_vector rather than
+	vect_init_vector.
+
+2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.h (vec_perm_indices): New typedef.
+	(auto_vec_perm_indices): Likewise.
+	* optabs-query.h: Include target.h
+	(can_vec_perm_p): Take a vec_perm_indices *.
+	* optabs-query.c (can_vec_perm_p): Likewise.
+	(can_mult_highpart_p): Update accordingly.  Use auto_vec_perm_indices.
+	* tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
+	* tree-vect-generic.c (lower_vec_perm): Likewise.
+	* tree-vect-data-refs.c (vect_grouped_store_supported): Likewise.
+	(vect_grouped_load_supported): Likewise.
+	(vect_shift_permute_load_chain): Likewise.
+	(vect_permute_store_chain): Use auto_vec_perm_indices.
+	(vect_permute_load_chain): Likewise.
+	* fold-const.c (fold_vec_perm): Take vec_perm_indices.
+	(fold_ternary_loc): Update accordingly.  Use auto_vec_perm_indices.
+	Update uses of can_vec_perm_p.
+	* tree-vect-loop.c (calc_vec_perm_mask_for_shift): Replace the
+	mode with a number of elements.  Take a vec_perm_indices *.
+	(vect_create_epilog_for_reduction): Update accordingly.
+	Use auto_vec_perm_indices.
+	(have_whole_vector_shift): Likewise.  Update call to can_vec_perm_p.
+	* tree-vect-slp.c (vect_build_slp_tree_1): Likewise.
+	(vect_transform_slp_perm_load): Likewise.
+	(vect_schedule_slp_instance): Use auto_vec_perm_indices.
+	* tree-vectorizer.h (vect_gen_perm_mask_any): Take a vec_perm_indices.
+	(vect_gen_perm_mask_checked): Likewise.
+	* tree-vect-stmts.c (vect_gen_perm_mask_any): Take a vec_perm_indices.
+	(vect_gen_perm_mask_checked): Likewise.
+	(vectorizable_mask_load_store): Use auto_vec_perm_indices.
+	(vectorizable_store): Likewise.
+	(vectorizable_load): Likewise.
+	(perm_mask_for_reverse): Likewise.  Update call to can_vec_perm_p.
+	(vectorizable_bswap): Likewise.
+
+2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (build_vector): Take a vec<tree> instead of a tree *.
+	* tree.c (build_vector): Likewise.
+	(build_vector_from_ctor): Update accordingly.
+	(build_vector_from_val): Likewise.
+	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
+	* tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
+	* tree-vect-generic.c (add_rshift): Likewise.
+	(expand_vector_divmod): Likewise.
+	(optimize_vector_constructor): Likewise.
+	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
+	(vect_transform_slp_perm_load): Likewise.
+	(vect_schedule_slp_instance): Likewise.
+	* tree-vect-stmts.c (vectorizable_bswap): Likewise.
+	(vectorizable_call): Likewise.
+	(vect_gen_perm_mask_any): Likewise.  Add elements in order.
+	* expmed.c (make_tree): Likewise.
+	* fold-const.c (fold_negate_expr_1): Use auto_vec<tree> when building
+	a vector passed to build_vector.
+	(fold_convert_const): Likewise.
+	(exact_inverse): Likewise.
+	(fold_ternary_loc): Likewise.
+	(fold_relational_const): Likewise.
+	(const_binop): Likewise.  Use VECTOR_CST_ELT directly when operating
+	on VECTOR_CSTs, rather than going through vec_cst_ctor_to_array.
+	(const_unop): Likewise.  Store the reduction accumulator in a
+	variable rather than an array.
+	(vec_cst_ctor_to_array): Take the number of elements as a parameter.
+	(fold_vec_perm): Update calls accordingly.  Use auto_vec<tree> for
+	the new vector, rather than constructing it after the input arrays.
+	(native_interpret_vector): Use auto_vec<tree> when building
+	a vector passed to build_vector.  Add elements in order.
+	* tree-vect-loop.c (get_initial_defs_for_reduction): Use
+	auto_vec<tree> when building a vector passed to build_vector.
+	(vect_create_epilog_for_reduction): Likewise.
+	(vectorizable_induction): Likewise.
+	(get_initial_def_for_reduction): Likewise.  Fix indentation of
+	case statements.
+	* config/sparc/sparc.c (sparc_handle_vis_mul8x16): Change n_elts
+	to a vec<tree> *.
+	(sparc_fold_builtin): Use auto_vec<tree> when building a vector
+	passed to build_vector.
+
+2017-09-14  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-core.h (tree_base::u): Add an "nelts" field.
+	(tree_vector): Use VECTOR_CST_NELTS as the length.
+	* tree.c (tree_size): Likewise.
+	(make_vector): Initialize VECTOR_CST_NELTS.
+	* tree.h (VECTOR_CST_NELTS): Use the u.nelts field.
+	* cfgexpand.c (expand_debug_expr): Use VECTOR_CST_NELTS instead of
+	TYPE_VECTOR_SUBPARTS.
+	* expr.c (const_vector_mask_from_tree): Consistently use "units"
+	as the number of units, setting it from VECTOR_CST_NELTS.
+	(const_vector_from_tree): Likewise.
+	* fold-const.c (negate_expr_p): Use VECTOR_CST_NELTS instead of
+	TYPE_VECTOR_SUBPARTS for the number of elements in a VECTOR_CST.
+	(fold_negate_expr_1): Likewise.
+	(fold_convert_const): Likewise.
+	(const_binop): Likewise.  Differentiate the number of output and
+	input elements.
+	(const_unop): Likewise.
+	(fold_ternary_loc): Use VECTOR_CST_NELTS for the number of elements
+	in a VECTOR_CST, asserting that it is the same as TYPE_VECTOR_SUBPARTS
+	in cases that did the opposite.
+
+2017-09-14  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-sccvn.c (visit_phi): Merge undefined values similar
+	to VN_TOP.
+
+2017-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* dwarf2out.c (dwarf2out_source_line): Remove superfluous test.
+
+2017-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81325
+	* cfgbuild.c (find_bb_boundaries): Ignore debug insns in decisions
+	if and where to split a bb, except for splitting before debug insn
+	sequences followed by non-label real insn.  Delete debug insns
+	in between basic blocks.
+
+	* combine.c (make_compound_operation_int): Formatting fixes.
+
+	* config/alpha/elf.h (LINK_EH_SPEC): Add -static-pie support.
+	* config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+	* config/netbsd.h (LINK_EH_SPEC): Likewise.
+	* config/sol2.h (LINK_EH_SPEC): Likewise.
+	* config/arm/uclinux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+	* config/s390/linux.h (LINK_SPEC): Likewise.
+	* config/freebsd.h (LINK_EH_SPEC): Likewise.
+	* config/openbsd.h (LINK_EH_SPEC): Likewise.
+	* config/lm32/uclinux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+	* config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Likewise.
+	* config/powerpcspe/sysv4.h (LINK_EH_SPEC): Likewise.
+	* config/bfin/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+	* config/i386/gnu-user64.h (GNU_USER_TARGET_LINK_SPEC): Fix a typo.
+	* config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): Formatting fix.
+
+2017-09-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Add -static-pie
+	support.
+	(ENDFILE_LINUX_SPEC): Likewise.
+	(LINK_EH_SPEC): Likewise.
+	* config/rs6000/linux64.h (LINK_SHLIB_SPEC): Likewise.
+	(LINK_OS_LINUX_SPEC32): Likewise.
+	(LINK_OS_LINUX_SPEC64): Likewise.
+	* config/rs6000/linux.h (LINK_SHLIB_SPEC): Likewise.
+	(LINK_OS_LINUX_SPEC): Likewise.
+
+2017-09-13  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/82154
+	* stmt.c (expand_sjlj_dispatch_table): Use CASE_LOW when
+	CASE_HIGH is NULL_TREE.
+
+2017-09-13  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (secondary_memory_needed): New hook.
+	(secondary_reload): Refer to TARGET_SECONDARY_MEMORY_NEEDED
+	instead of SECONDARY_MEMORY_NEEDED.
+	(secondary_memory_needed_mode): Likewise.
+	* hooks.h (hook_bool_mode_reg_class_t_reg_class_t_false): Declare.
+	* hooks.c (hook_bool_mode_reg_class_t_reg_class_t_false): New function.
+	* doc/tm.texi.in (SECONDARY_MEMORY_NEEDED): Replace with...
+	(TARGET_SECONDARY_MEMORY_NEEDED): ...this.
+	(SECONDARY_MEMORY_NEEDED_RTX): Update reference accordingly.
+	* doc/tm.texi: Regenerate.
+	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/alpha/alpha.c (alpha_secondary_memory_needed): New function.
+	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	* config/i386/i386.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/i386/i386-protos.h (ix86_secondary_memory_needed): Delete.
+	* config/i386/i386.c (inline_secondary_memory_needed): Put the
+	mode argument first and change the reg_class arguments to reg_class_t.
+	(ix86_secondary_memory_needed): Likewise.  Remove the strict parameter.
+	Make static.  Update the call to inline_secondary_memory_needed.
+	(ix86_register_move_cost): Update the call to
+	inline_secondary_memory_needed.
+	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	* config/ia64/ia64.h (SECONDARY_MEMORY_NEEDED): Delete commented-out
+	definition.
+	* config/ia64/ia64.c (spill_xfmode_rfmode_operand): Refer to
+	TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED
+	in comment.
+	* config/mips/mips.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/mips/mips-protos.h (mips_secondary_memory_needed): Delete.
+	* config/mips/mips.c (mips_secondary_memory_needed): Make static
+	and match hook interface.  Add comment from mips.h.
+	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	* config/mmix/mmix.md (truncdfsf2): Refer to
+	TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED
+	in comment.
+	* config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED): Rename to...
+	(PA_SECONDARY_MEMORY_NEEDED): ...this, and put the mode argument first.
+	* config/pa/pa.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	(pa_secondary_memory_needed): New function.
+	* config/pdp11/pdp11.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/pdp11/pdp11-protos.h (pdp11_secondary_memory_needed): Delete.
+	* config/pdp11/pdp11.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	(pdp11_secondary_memory_needed): Make static and match hook interface.
+	* config/powerpcspe/powerpcspe.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/powerpcspe/powerpcspe-protos.h
+	(rs6000_secondary_memory_needed_ptr): Delete.
+	* config/powerpcspe/powerpcspe.c (rs6000_secondary_memory_needed_ptr):
+	Delete.
+	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	(rs6000_option_override_internal): Assign to
+	targetm.secondary_memory_needed rather than
+	rs6000_secondary_memory_needed_ptr.
+	(rs6000_secondary_memory_needed): Match hook interface.
+	(rs6000_debug_secondary_memory_needed): Likewise.
+	* config/riscv/riscv.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/riscv/riscv.c (riscv_secondary_memory_needed): New function.
+	(riscv_register_move_cost): Use it instead of SECONDARY_MEMORY_NEEDED.
+	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_ptr):
+	Delete.
+	* config/rs6000/rs6000.c (rs6000_secondary_memory_needed_ptr): Delete.
+	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	(rs6000_option_override_internal): Assign to
+	targetm.secondary_memory_needed rather than
+	rs6000_secondary_memory_needed_ptr.
+	(rs6000_secondary_memory_needed): Match hook interface.
+	(rs6000_debug_secondary_memory_needed): Likewise.
+	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/s390/s390.c (s390_secondary_memory_needed): New function.
+	(TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Delete.
+	* config/sparc/sparc.c (TARGET_SECONDARY_MEMORY_NEEDED): Redefine.
+	(sparc_secondary_memory_needed): New function.
+	* lra-constraints.c (check_and_process_move): Refer to
+	TARGET_SECONDARY_MEMORY_NEEDED rather than SECONDARY_MEMORY_NEEDED
+	in comment.
+	(curr_insn_transform): Likewise.
+	(process_alt_operands): Use targetm.secondary_memory_needed
+	instead of TARGET_SECONDARY_MEMORY_NEEDED.
+	(check_secondary_memory_needed_p): Likewise.
+	(choose_split_class): Likewise.
+	* reload.c: Unconditionally include code that was previously
+	conditional on SECONDARY_MEMORY_NEEDED.
+	(push_secondary_reload): Use targetm.secondary_memory_needed
+	instead of TARGET_SECONDARY_MEMORY_NEEDED.
+	(push_reload): Likewise.
+	* reload1.c: Unconditionally include code that was previously
+	conditional on SECONDARY_MEMORY_NEEDED.
+	(choose_reload_regs): Use targetm.secondary_memory_needed
+	instead of TARGET_SECONDARY_MEMORY_NEEDED.
+	(gen_reload): Likewise.
+	* system.h (SECONDARY_MEMORY_NEEDED): Poison.
+
+2017-09-13  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (secondary_memory_needed_mode): New hook:
+	* targhooks.c (default_secondary_memory_needed_mode): Declare.
+	* targhooks.h (default_secondary_memory_needed_mode): New function.
+	* doc/tm.texi.in (SECONDARY_MEMORY_NEEDED_MODE): Replace with...
+	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): ...this.
+	* doc/tm.texi: Regenerate.
+	* lra-constraints.c (check_and_process_move): Use
+	targetm.secondary_memory_needed_mode instead of
+	TARGET_SECONDARY_MEMORY_NEEDED_MODE.
+	(curr_insn_transform): Likewise.
+	* reload.c (get_secondary_mem): Likewise.
+	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
+	* config/alpha/alpha.c (alpha_secondary_memory_needed_mode): New
+	function.
+	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine.
+	* config/i386/i386.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
+	* config/i386/i386.c (ix86_secondary_memory_needed_mode): New function.
+	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine.
+	* config/powerpcspe/powerpcspe.h (SECONDARY_MEMORY_NEEDED_MODE):
+	Delete.
+	* config/powerpcspe/powerpcspe-protos.h
+	(rs6000_secondary_memory_needed_mode): Delete.
+	* config/powerpcspe/powerpcspe.c
+	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine.
+	(rs6000_secondary_memory_needed_mode): Make static.
+	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
+	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_mode):
+	Delete.
+	* config/rs6000/rs6000.c (TARGET_SECONDARY_MEMORY_NEEDED_MODE):
+	Redefine.
+	(rs6000_secondary_memory_needed_mode): Make static.
+	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
+	* config/s390/s390.c (s390_secondary_memory_needed_mode): New function.
+	(TARGET_SECONDARY_MEMORY_NEEDED_MODE): Redefine.
+	* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_MODE): Delete.
+	* config/sparc/sparc.c (TARGET_SECONDARY_MEMORY_NEEDED_MODE):
+	Redefine.
+	(sparc_secondary_memory_needed_mode): New function.
+	* system.h (TARGET_SECONDARY_MEMORY_NEEDED_MODE): Poison.
+
+2017-09-13  Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	* config/aarch64/constraints.md (Umq): New constraint.
+	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>):
+	Change to use Umq.
+	(mov<mode>): Update condition.
+
+2017-09-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* gimple-ssa-store-merging.c (sort_by_bitpos): Compare store order
+	when bitposition is the same.
+
+2017-09-13  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (output_die_symbol): Remove.
+	(output_die): Do not output a DIEs symbol.
+
+2017-09-13  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/82128
+	* gimple-fold.c (gimple_fold_call): Update SSA name in-place to
+	default-def to avoid breaking iterator update with the weird
+	interaction with cgraph_update_edges_for_call_stmt_node.
+
+2017-09-13  Richard Biener  <rguenther@suse.de>
+
+	* tree-cfg.c (verify_gimple_assign_binary): Add verification
+	for WIDEN_SUM_EXPR, VEC_WIDEN_MULT_{HI,LO,EVEN,ODD}_EXPR,
+	VEC_PACK_{TRUNC,SAT,FIX_TRUNC}_EXPR.
+	(verify_gimple_assign_ternary): Add verification for DOT_PROD_EXPR.
+
+2017-09-13  Kugan Vivekanandarajah  <kuganv@linaro.org>
+
+	* config/aarch64/aarch64.c (aarch64_override_options_after_change_1):
+	Disable pc relative literal load irrespective of
+	TARGET_FIX_ERR_A53_84341 for default.
+
+2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.c (output_return): Output the source location of
+	the insn in the delay slot, if any.
+	(output_sibcall): Likewise.
+
+2017-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR driver/81498
+	* common.opt (-static-pie): New alias.
+	(shared): Negate static-pie.
+	(-no-pie): Update help text.
+	(-pie): Likewise.
+	(static-pie): New option.
+	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add
+	-static-pie support.
+	(GNU_USER_TARGET_ENDFILE_SPEC): Likewise.
+	(LINK_EH_SPEC): Likewise.
+	(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+	* config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): Likewise.
+	* config/i386/gnu-user64.h (GNU_USER_TARGET_LINK_SPEC): Likewise.
+	* gcc.c (LINK_COMMAND_SPEC): Likewise.
+	(init_gcc_specs): Likewise.
+	(init_spec): Likewise.
+	(display_help): Update help message for -pie.
+	* doc/invoke.texi: Update -pie, -no-pie and -static.  Document
+	-static-pie.
+
+2017-09-12  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (movsi_aarch64): Remove all '*'.
+	(movdi_aarch64): Likewise.
+	(movti_aarch64): Likewise.
+
+2017-09-12 Simon Wright <simon@pushface.org>
+
+	PR target/80204
+	* config/darwin-driver.c (darwin_find_version_from_kernel): Eliminate
+	calculation of the minor version, always output as 0.
+
+2017-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82112
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
+	ALTIVEC_BUILTIN_VEC_LD if arg1 has array type call default_conversion
+	on it early, rather than manual conversion late.  For
+	ALTIVEC_BUILTIN_VEC_ST if arg2 has array type call default_conversion
+	instead of performing manual conversion.
+
+2017-09-12  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.md (vec_widen_umult_even_v4si,
+	vec_widen_smult_even_v4si): Add define expands for vmuleuw, vmulesw,
+	vmulouw, vmulosw.
+	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
+	VMULOSW): Add definitions.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
+	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
+	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
+
+2017-09-12  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.md (movdi_aarch64): Set load/store
+	types correctly.
+	(movti_aarch64): Likewise.
+	(movdf_aarch64): Likewise.
+	(movtf_aarch64): Likewise.
+	(load_pairdi): Likewise.
+	(store_pairdi): Likewise.
+	(load_pairdf): Likewise.
+	(store_pairdf): Likewise.
+	(loadwb_pair<GPI:mode>_<P:mode>): Likewise.
+	(storewb_pair<GPI:mode>_<P:mode>): Likewise.
+	(ldr_got_small_<mode>): Likewise.
+	(ldr_got_small_28k_<mode>): Likewise.
+	(ldr_got_tiny): Likewise.
+	* config/aarch64/iterators.md (ldst_sz): New.
+	(ldpstp_sz): Likewise.
+	* config/aarch64/thunderx.md (thunderx_storepair): Split store_8
+	to store_16.
+	(thunderx_load): Split load_8 to load_16.
+	* config/aarch64/thunderx2t99.md (thunderx2t99_loadpair): Split
+	load_8 to load_16.
+	(thunderx2t99_storepair_basic): Split store_8 to store_16.
+	* config/arm/xgene1.md (xgene1_load_pair): Split load_8 to load_16.
+	(xgene1_store_pair): Split store_8 to store_16.
+	* config/aarch64/falkor.md (falkor_ld_3_ld): Split load_8 to load_16.
+	(falkor_st_0_st_sd): Split store_8 to store_16.
+
+2017-09-12  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/arm/types.md (type): Rename load1/2/3/4 to load_4/8/12/16
+	and store1/2/3/4 to store_4/8/12/16.
+	* config/aarch64/aarch64.md: Update for rename.
+	* config/arm/arm.md: Likewise.: Likewise.
+	* config/arm/arm.c: Likewise.
+	* config/arm/thumb1.md: Likewise.
+	* config/arm/thumb2.md: Likewise.
+	* config/arm/vfp.md: Likewise.
+	* config/arm/arm-generic.md: Likewise.
+	* config/arm/arm1020e.md: Likewise.
+	* config/arm/arm1026ejs.md: Likewise.
+	* config/arm/arm1136jfs.md: Likewise.
+	* config/arm/arm926ejs.md: Likewise.
+	* config/arm/cortex-a15.md: Likewise.
+	* config/arm/cortex-a17.md: Likewise.
+	* config/arm/cortex-a5.md: Likewise.
+	* config/arm/cortex-a53.md: Likewise.
+	* config/arm/cortex-a57.md: Likewise.
+	* config/arm/cortex-a7.md: Likewise.
+	* config/arm/cortex-a8.md: Likewise.
+	* config/arm/cortex-a9.md: Likewise.
+	* config/arm/cortex-m4.md: Likewise.
+	* config/arm/cortex-m7.md: Likewise.
+	* config/arm/cortex-r4.md: Likewise.
+	* config/arm/exynos-m1.md: Likewise.
+	* config/arm/fa526.md: Likewise.
+	* config/arm/fa606te.md: Likewise.
+	* config/arm/fa626te.md: Likewise.
+	* config/arm/fa726te.md: Likewise.
+	* config/arm/fmp626.md: Likewise.
+	* config/arm/iwmmxt.md: Likewise.
+	* config/arm/ldmstm.md: Likewise.
+	* config/arm/marvell-pj4.md: Likewise.
+	* config/arm/xgene1.md: Likewise.
+	* config/aarch64/thunderx.md: Likewise.
+	* config/aarch64/thunderx2t99.md: Likewise.
+	* config/aarch64/falkor.md: Likewise.
+
+2017-09-12  Martin Liska  <mliska@suse.cz>
+
+	* attribs.c (private_lookup_attribute): New function.
+	* attribs.h (private_lookup_attribute): Declared here.
+	(lookup_attribute): Called from this place.
+
+2017-09-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82157
+	* tree-ssa-pre.c (remove_dead_inserted_code): Do not remove
+	stmts with side-effects.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood <david.sherwood@arm.com>
+
+	* target.def (hard_regno_nregs): New hook.
+	(class_max_nregs): Refer to it instead of HARD_REGNO_NREGS.
+	* targhooks.h (default_hard_regno_nregs): Declare.
+	* targhooks.c (default_hard_regno_nregs): New function.
+	* doc/tm.texi.in (HARD_REGNO_NREGS): Replace with...
+	(TARGET_HARD_REGNO_NREGS): ...this hook.
+	(HARD_REGNO_NREGS_HAS_PADDING): Update accordingly.
+	(CLASS_MAX_NREGS): Likewise.
+	* doc/tm.texi: Regenerate.
+	* reginfo.c (init_reg_modes_target): Use targetm.hard_regno_nregs
+	instead of HARD_REGNO_NREGS.
+	* rtl.h (REG_NREGS): Refer to TARGET_HARD_REGNO_NREGS rather than
+	HARD_REGNO_NREGS in the comment.
+	* config/aarch64/aarch64.h (HARD_REGNO_NREGS): Delete.
+	* config/aarch64/aarch64-protos.h (aarch64_hard_regno_nregs): Delete.
+	* config/aarch64/aarch64.c (aarch64_hard_regno_nregs): Make static.
+	Return an unsigned int.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/alpha/alpha.h (HARD_REGNO_NREGS): Delete.
+	* config/arc/arc.h (HARD_REGNO_NREGS): Delete.
+	* config/arc/arc.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(arc_hard_regno_nregs): New function.
+	* config/arm/arm.h (HARD_REGNO_NREGS): Delete.
+	* config/arm/arm.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(arm_hard_regno_nregs): New function.
+	* config/avr/avr.h (HARD_REGNO_NREGS): Delete.
+	* config/bfin/bfin.h (HARD_REGNO_NREGS): Delete.
+	* config/bfin/bfin.c (bfin_hard_regno_nregs): New function.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/c6x/c6x.h (HARD_REGNO_NREGS): Delete.
+	* config/cr16/cr16.h (LONG_REG_P): Use targetm.hard_regno_nregs.
+	(HARD_REGNO_NREGS): Delete.
+	* config/cr16/cr16.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(cr16_hard_regno_nregs): New function.
+	(cr16_memory_move_cost): Use it instead of HARD_REGNO_NREGS.
+	* config/cris/cris.h (HARD_REGNO_NREGS): Delete.
+	* config/cris/cris.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(cris_hard_regno_nregs): New function.
+	* config/epiphany/epiphany.h (HARD_REGNO_NREGS): Delete.
+	* config/fr30/fr30.h (HARD_REGNO_NREGS): Delete.
+	(CLASS_MAX_NREGS): Use targetm.hard_regno_nregs.
+	* config/frv/frv.h (HARD_REGNO_NREGS): Delete.
+	(CLASS_MAX_NREGS): Remove outdated copy of documentation.
+	* config/frv/frv-protos.h (frv_hard_regno_nregs): Delete.
+	* config/frv/frv.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(frv_hard_regno_nregs): Make static.  Take and return an
+	unsigned int.
+	(frv_class_max_nregs): Remove outdated copy of documentation.
+	* config/ft32/ft32.h (HARD_REGNO_NREGS): Delete.
+	* config/h8300/h8300.h (HARD_REGNO_NREGS): Delete.
+	* config/h8300/h8300-protos.h (h8300_hard_regno_nregs): Delete.
+	* config/h8300/h8300.c (h8300_hard_regno_nregs): Delete.
+	* config/i386/i386.h (HARD_REGNO_NREGS): Delete.
+	* config/i386/i386.c (ix86_hard_regno_nregs): New function.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/ia64/ia64.h (HARD_REGNO_NREGS): Delete.
+	(CLASS_MAX_NREGS): Update comment.
+	* config/ia64/ia64.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(ia64_hard_regno_nregs): New function.
+	* config/iq2000/iq2000.h (HARD_REGNO_NREGS): Delete.
+	* config/lm32/lm32.h (HARD_REGNO_NREGS): Delete.
+	* config/m32c/m32c.h (HARD_REGNO_NREGS): Delete.
+	* config/m32c/m32c-protos.h (m32c_hard_regno_nregs): Delete.
+	* config/m32c/m32c.c (m32c_hard_regno_nregs_1): Take and return
+	an unsigned int.
+	(m32c_hard_regno_nregs): Likewise.  Make static.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/m32r/m32r.h (HARD_REGNO_NREGS): Delete.
+	* config/m68k/m68k.h (HARD_REGNO_NREGS): Delete.
+	* config/m68k/m68k.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(m68k_hard_regno_nregs): New function.
+	* config/mcore/mcore.h (HARD_REGNO_NREGS): Delete.
+	* config/microblaze/microblaze.h (HARD_REGNO_NREGS): Delete.
+	* config/mips/mips.h (HARD_REGNO_NREGS): Delete.
+	* config/mips/mips-protos.h (mips_hard_regno_nregs): Delete.
+	* config/mips/mips.c (mips_hard_regno_nregs): Make static.
+	Take and return an unsigned int.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/mmix/mmix.h (HARD_REGNO_NREGS): Delete.
+	(CLASS_MAX_NREGS): Use targetm.hard_regno_nregs.
+	* config/mn10300/mn10300.h (HARD_REGNO_NREGS): Delete.
+	* config/moxie/moxie.h (HARD_REGNO_NREGS): Delete.
+	* config/msp430/msp430.h (HARD_REGNO_NREGS): Delete.
+	* config/msp430/msp430-protos.h (msp430_hard_regno_nregs): Delete.
+	* config/msp430/msp430.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(msp430_hard_regno_nregs): Make static.  Take and return an
+	unsigned int.
+	* config/nds32/nds32.h (HARD_REGNO_NREGS): Delete.
+	* config/nds32/nds32-protos.h (nds32_hard_regno_nregs): Delete.
+	* config/nds32/nds32.c (nds32_hard_regno_nregs): Delete.
+	(nds32_hard_regno_mode_ok): Use targetm.hard_regno_nregs.
+	* config/nios2/nios2.h (HARD_REGNO_NREGS): Delete.
+	* config/nvptx/nvptx.h (HARD_REGNO_NREGS): Delete.
+	* config/nvptx/nvptx.c (nvptx_hard_regno_nregs): New function.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/pa/pa32-regs.h (HARD_REGNO_NREGS): Rename to...
+	(PA_HARD_REGNO_NREGS): ...this.
+	* config/pa/pa64-regs.h (HARD_REGNO_NREGS): Rename to...
+	(PA_HARD_REGNO_NREGS): ...this.
+	* config/pa/pa.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(pa_hard_regno_nregs): New function.
+	* config/pdp11/pdp11.h (HARD_REGNO_NREGS): Delete.
+	* config/pdp11/pdp11.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(pdp11_hard_regno_nregs): New function.
+	* config/powerpcspe/powerpcspe.h (HARD_REGNO_NREGS): Delete.
+	* config/powerpcspe/powerpcspe.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(rs6000_hard_regno_nregs_hook): New function.
+	* config/riscv/riscv.h (HARD_REGNO_NREGS): Delete.
+	* config/riscv/riscv-protos.h (riscv_hard_regno_nregs): Delete.
+	* config/riscv/riscv.c (riscv_hard_regno_nregs): Make static.
+	Take and return an unsigned int.  Move earlier in file.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/rl78/rl78.h (HARD_REGNO_NREGS): Delete.
+	* config/rl78/rl78-protos.h (rl78_hard_regno_nregs): Delete.
+	* config/rl78/rl78.c (TARGET_HARD_REGNO_NREGS): Reefine.
+	(rl78_hard_regno_nregs): Make static.  Take and return an
+	unsigned int.
+	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Delete.
+	* config/rs6000/rs6000.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(rs6000_hard_regno_nregs_hook): New function.
+	* config/rx/rx.h (HARD_REGNO_NREGS): Delete.
+	* config/rx/rx.c (rx_hard_regno_nregs): New function.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/s390/s390.h (HARD_REGNO_NREGS): Delete.
+	* config/s390/s390.c (REGNO_PAIR_OK): Use s390_hard_regno_nregs
+	instead of HARD_REGNO_NREGS.
+	(s390_hard_regno_nregs): New function.
+	(s390_hard_regno_mode_ok): Add comment from s390.h.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/sh/sh.h (HARD_REGNO_NREGS): Delete.
+	* config/sh/sh.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(sh_hard_regno_nregs): New function.
+	(sh_pass_in_reg_p): Use it.
+	* config/sparc/sparc.h (HARD_REGNO_NREGS): Delete.
+	* config/sparc/sparc.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(sparc_hard_regno_nregs): New function.
+	* config/spu/spu.h (HARD_REGNO_NREGS): Delete.
+	* config/spu/spu.c (spu_hard_regno_nregs): New function.
+	(spu_function_arg_advance): Use it, supplying a valid register number.
+	(TARGET_HARD_REGNO_NREGS): Redefine.
+	* config/stormy16/stormy16.h (HARD_REGNO_NREGS): Delete.
+	* config/tilegx/tilegx.h (HARD_REGNO_NREGS): Delete.
+	* config/tilepro/tilepro.h (HARD_REGNO_NREGS): Delete.
+	* config/v850/v850.h (HARD_REGNO_NREGS): Delete.
+	* config/vax/vax.h (HARD_REGNO_NREGS): Delete.
+	* config/visium/visium.h (HARD_REGNO_NREGS): Delete.
+	(CLASS_MAX_NREGS): Remove copy of old documentation.
+	* config/visium/visium.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	(visium_hard_regno_nregs): New function.
+	(visium_hard_regno_mode_ok): Use it instead of HARD_REGNO_NREGS.
+	* config/xtensa/xtensa.h (HARD_REGNO_NREGS): Delete.
+	* config/xtensa/xtensa.c (TARGET_HARD_REGNO_NREGS): Redefine.
+	xtensa_hard_regno_nregs): New function.
+	* system.h (HARD_REGNO_NREGS): Poison.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/arm/arm.h (THUMB_SECONDARY_INPUT_RELOAD_CLASS): Use
+	hard_regno_nregs instead of HARD_REGNO_NREGS.
+	(THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+	* config/c6x/c6x.c (c6x_expand_prologue): Likewise.
+	(c6x_expand_epilogue): Likewise.
+	* config/frv/frv.c (frv_alloc_temp_reg): Likewise.
+	(frv_read_iacc_argument): Likewise.
+	* config/sh/sh.c: Include regs.h.
+	(sh_print_operand): Use hard_regno_nregs instead of HARD_REGNO_NREGS.
+	(regs_used): Likewise.
+	(output_stack_adjust): Likewise.
+	* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Likewise.
+	* expmed.c: Include regs.h.
+	(store_bit_field_1): Use hard_regno_nregs instead of HARD_REGNO_NREGS.
+	* ree.c: Include regs.h.
+	(combine_reaching_defs): Use hard_regno_nregs instead of
+	HARD_REGNO_NREGS.
+	(add_removable_extension): Likewise.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* regs.h (hard_regno_nregs): Turn into a function.
+	(end_hard_regno): Update accordingly.
+	* caller-save.c (setup_save_areas): Likewise.
+	(save_call_clobbered_regs): Likewise.
+	(replace_reg_with_saved_mem): Likewise.
+	(insert_restore): Likewise.
+	(insert_save): Likewise.
+	* combine.c (can_change_dest_mode): Likewise.
+	(move_deaths): Likewise.
+	(distribute_notes): Likewise.
+	* config/mips/mips.c (mips_hard_regno_call_part_clobbered): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_cannot_change_mode_class)
+	(rs6000_split_multireg_move): Likewise.
+	(rs6000_register_move_cost): Likewise.
+	(rs6000_memory_move_cost): Likewise.
+	* config/rs6000/rs6000.c (rs6000_cannot_change_mode_class): Likewise.
+	(rs6000_split_multireg_move): Likewise.
+	(rs6000_register_move_cost): Likewise.
+	(rs6000_memory_move_cost): Likewise.
+	* cselib.c (cselib_reset_table): Likewise.
+	(cselib_lookup_1): Likewise.
+	* emit-rtl.c (set_mode_and_regno): Likewise.
+	* function.c (aggregate_value_p): Likewise.
+	* ira-color.c (setup_profitable_hard_regs): Likewise.
+	(check_hard_reg_p): Likewise.
+	(calculate_saved_nregs): Likewise.
+	(assign_hard_reg): Likewise.
+	(improve_allocation): Likewise.
+	(calculate_spill_cost): Likewise.
+	* ira-emit.c (modify_move_list): Likewise.
+	* ira-int.h (ira_hard_reg_set_intersection_p): Likewise.
+	(ira_hard_reg_in_set_p): Likewise.
+	* ira.c (setup_reg_mode_hard_regset): Likewise.
+	(clarify_prohibited_class_mode_regs): Likewise.
+	(check_allocation): Likewise.
+	* lra-assigns.c (find_hard_regno_for_1): Likewise.
+	(lra_setup_reg_renumber): Likewise.
+	(setup_try_hard_regno_pseudos): Likewise.
+	(spill_for): Likewise.
+	(assign_hard_regno): Likewise.
+	(setup_live_pseudos_and_spill_after_risky_transforms): Likewise.
+	* lra-constraints.c (in_class_p): Likewise.
+	(lra_constraint_offset): Likewise.
+	(simplify_operand_subreg): Likewise.
+	(lra_constraints): Likewise.
+	(split_reg): Likewise.
+	(split_if_necessary): Likewise.
+	(invariant_p): Likewise.
+	(inherit_in_ebb): Likewise.
+	* lra-lives.c (process_bb_lives): Likewise.
+	* lra-remat.c (reg_overlap_for_remat_p): Likewise.
+	(get_hard_regs): Likewise.
+	(do_remat): Likewise.
+	* lra-spills.c (assign_spill_hard_regs): Likewise.
+	* mode-switching.c (create_pre_exit): Likewise.
+	* postreload.c (reload_combine_recognize_pattern): Likewise.
+	* recog.c (peep2_find_free_register): Likewise.
+	* regcprop.c (kill_value_regno): Likewise.
+	(set_value_regno): Likewise.
+	(copy_value): Likewise.
+	(maybe_mode_change): Likewise.
+	(find_oldest_value_reg): Likewise.
+	(copyprop_hardreg_forward_1): Likewise.
+	* regrename.c (check_new_reg_p): Likewise.
+	(regrename_do_replace): Likewise.
+	* reload.c (push_reload): Likewise.
+	(combine_reloads): Likewise.
+	(find_dummy_reload): Likewise.
+	(operands_match_p): Likewise.
+	(find_reloads): Likewise.
+	(find_equiv_reg): Likewise.
+	(reload_adjust_reg_for_mode): Likewise.
+	* reload1.c (count_pseudo): Likewise.
+	(count_spilled_pseudo): Likewise.
+	(find_reg): Likewise.
+	(clear_reload_reg_in_use): Likewise.
+	(free_for_value_p): Likewise.
+	(allocate_reload_reg): Likewise.
+	(choose_reload_regs): Likewise.
+	(reload_adjust_reg_for_temp): Likewise.
+	(emit_reload_insns): Likewise.
+	(delete_output_reload): Likewise.
+	* rtlanal.c (subreg_get_info): Likewise.
+	* sched-deps.c (sched_analyze_reg): Likewise.
+	* sel-sched.c (init_regs_for_mode): Likewise.
+	(mark_unavailable_hard_regs): Likewise.
+	(choose_best_reg_1): Likewise.
+	(verify_target_availability): Likewise.
+	* valtrack.c (dead_debug_insert_temp): Likewise.
+	* var-tracking.c (track_loc_p): Likewise.
+	(emit_note_insn_var_location): Likewise.
+	* varasm.c (make_decl_rtl): Likewise.
+	* reginfo.c (choose_hard_reg_mode): Likewise.
+	(init_reg_modes_target): Refer directly to
+	this_target_regs->x_hard_regno_nregs.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* ira-costs.c (record_operand_costs): Use in_hard_reg_set_p
+	instead of hard_regno_nregs.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Use
+	end_hard_regno instead of hard_regno_nregs.
+	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
+	* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Likewise.
+	* config/visium/visium.c (visium_hard_regno_mode_ok): Likewise.
+	* ira-color.c (improve_allocation): Likewise.
+	* lra-assigns.c (find_hard_regno_for_1): Likewise.
+	* lra-lives.c (mark_regno_live): Likewise.
+	(mark_regno_dead): Likewise.
+	* lra-remat.c (operand_to_remat): Likewise.
+	* lra.c (collect_non_operand_hard_regs): Likewise.
+	* postreload.c (reload_combine_note_store): Likewise.
+	(move2add_valid_value_p): Likewise.
+	* reload.c (regno_clobbered_p): Likewise.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/frv/frv.c (FOR_EACH_REGNO): Use END_REGNO instead of
+	hard_regno_nregs.
+	* config/v850/v850.c (v850_reorg): Likewise.
+	* reload.c (refers_to_regno_for_reload_p): Likewise.
+	(find_equiv_reg): Likewise.
+	* reload1.c (reload_reg_reaches_end_p): Likewise.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* caller-save.c (add_used_regs): Use REG_NREGS instead of
+	hard_regno_nregs.
+	* config/aarch64/aarch64.c (aarch64_split_combinev16qi): Likewise.
+	* config/arm/arm.c (output_move_neon): Likewise.
+	(arm_attr_length_move_neon): Likewise.
+	(neon_split_vcombine): Likewise.
+	* config/c6x/c6x.c (c6x_mark_reg_read): Likewise.
+	(c6x_mark_reg_written): Likewise.
+	(c6x_dwarf_register_span): Likewise.
+	* config/i386/i386.c (ix86_save_reg): Likewise.
+	* config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise.
+	(rws_access_reg): Likewise.
+	* config/s390/s390.c (s390_call_saved_register_used): Likewise.
+	* mode-switching.c (create_pre_exit): Likewise.
+	* ree.c (combine_reaching_defs): Likewise.
+	(add_removable_extension): Likewise.
+	* regcprop.c (find_oldest_value_reg): Likewise.
+	(copyprop_hardreg_forward_1): Likewise.
+	* reload.c (reload_inner_reg_of_subreg): Likewise.
+	(push_reload): Likewise.
+	(combine_reloads): Likewise.
+	(find_dummy_reload): Likewise.
+	(reload_adjust_reg_for_mode): Likewise.
+	* reload1.c (find_reload_regs): Likewise.
+	(forget_old_reloads_1): Likewise.
+	(reload_reg_free_for_value_p): Likewise.
+	(reload_adjust_reg_for_temp): Likewise.
+	(emit_reload_insns): Likewise.
+	(delete_output_reload): Likewise.
+	* sel-sched.c (choose_best_reg_1): Likewise.
+	(choose_best_pseudo_reg): Likewise.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood <david.sherwood@arm.com>
+
+	* defaults.h (SLOW_UNALIGNED_ACCESS): Delete.
+	* target.def (slow_unaligned_access): New hook.
+	* targhooks.h (default_slow_unaligned_access): Declare.
+	* targhooks.c (default_slow_unaligned_access): New function.
+	* doc/tm.texi.in (SLOW_UNALIGNED_ACCESS): Replace with...
+	(TARGET_SLOW_UNALIGNED_ACCESS): ...this.
+	* doc/tm.texi: Regenerate.
+	* config/alpha/alpha.h (SLOW_UNALIGNED_ACCESS): Delete.
+	* config/arm/arm.h (SLOW_UNALIGNED_ACCESS): Delete.
+	* config/i386/i386.h (SLOW_UNALIGNED_ACCESS): Delete commented-out
+	definition.
+	* config/powerpcspe/powerpcspe.h (SLOW_UNALIGNED_ACCESS): Delete.
+	* config/powerpcspe/powerpcspe.c (TARGET_SLOW_UNALIGNED_ACCESS):
+	Redefine.
+	(rs6000_slow_unaligned_access): New function.
+	(rs6000_emit_move): Use it instead of SLOW_UNALIGNED_ACCESS.
+	(expand_block_compare): Likewise.
+	(expand_strn_compare): Likewise.
+	(rs6000_rtx_costs): Likewise.
+	* config/riscv/riscv.h (SLOW_UNALIGNED_ACCESS): Delete.
+	(riscv_slow_unaligned_access): Likewise.
+	* config/riscv/riscv.c (riscv_slow_unaligned_access): Rename to...
+	(riscv_slow_unaligned_access_p): ...this and make static.
+	(riscv_option_override): Update accordingly.
+	(riscv_slow_unaligned_access): New function.
+	(TARGET_SLOW_UNALIGNED_ACCESS): Redefine.
+	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Delete.
+	* config/rs6000/rs6000.c (TARGET_SLOW_UNALIGNED_ACCESS): Redefine.
+	(rs6000_slow_unaligned_access): New function.
+	(rs6000_emit_move): Use it instead of SLOW_UNALIGNED_ACCESS.
+	(rs6000_rtx_costs): Likewise.
+	* config/rs6000/rs6000-string.c (expand_block_compare)
+	(expand_strn_compare): Use targetm.slow_unaligned_access instead
+	of SLOW_UNALIGNED_ACCESS.
+	* config/tilegx/tilegx.h (SLOW_UNALIGNED_ACCESS): Delete.
+	* config/tilepro/tilepro.h (SLOW_UNALIGNED_ACCESS): Delete.
+	* calls.c (expand_call): Use targetm.slow_unaligned_access instead
+	of SLOW_UNALIGNED_ACCESS.
+	* expmed.c (simple_mem_bitfield_p): Likewise.
+	* expr.c (alignment_for_piecewise_move): Likewise.
+	(emit_group_load_1): Likewise.
+	(emit_group_store): Likewise.
+	(copy_blkmode_from_reg): Likewise.
+	(emit_push_insn): Likewise.
+	(expand_assignment): Likewise.
+	(store_field): Likewise.
+	(expand_expr_real_1): Likewise.
+	* gimple-fold.c (gimple_fold_builtin_memory_op): Likewise.
+	* lra-constraints.c (simplify_operand_subreg): Likewise.
+	* stor-layout.c (bit_field_mode_iterator::next_mode): Likewise.
+	* gimple-ssa-store-merging.c: Likewise in block comment at start
+	of file.
+	* tree-ssa-strlen.c: Include target.h.
+	(handle_builtin_memcmp): Use targetm.slow_unaligned_access instead
+	of SLOW_UNALIGNED_ACCESS.
+	* system.h (SLOW_UNALIGNED_ACCESS): Poison.
+
+2017-09-12  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR rtl-optimization/82185
+	* expmed.c (emit_store_flag_int): Only test tem if it has been
+	initialized.
+
+2017-09-12  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/82149
+	* match.pd ((FTYPE) N CMP CST): Fix typo.
+
+2017-09-12  Simon Atanasyan  <simon.atanasyan@imgtec.com>
+
+	* config/mips/mips.c (mips_attribute_table): Add 'short_call'
+	attribute.
+	(mips_near_type_p): Add 'short_call' attribute as a synonym
+	for 'near'.
+	* doc/extend.texi (short_call): Document new function attribute.
+
+2017-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/82112
+	* c-common.c (sync_resolve_size): Instead of c_dialect_cxx ()
+	assertion check that in the condition.
+	(get_atomic_generic_size): Likewise.  Before testing if parameter
+	has pointer type, if it has array type, call for C++
+	default_conversion to perform array-to-pointer conversion.
+
+2017-09-12  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-generic.c (expand_vector_operations_1): Do nothing
+	for operations we cannot scalarize.
+
+2017-09-12  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC
+	vectors heap vectors.  Clean up comments.
+	Make visited_bbs a reference.
+	(profitable_jump_thread_path): Make GC
+	vectors heap vectors.  Clean up comments.
+	Misc cleanups.
+	(convert_and_register_jump_thread_path): Make GC vectors heap
+	vectors.
+	(check_subpath_and_update_thread_path): Same.  Clean up comments.
+	Make visited_bbs a reference.
+	(handle_phi): Abstract common code to to
+	register_jump_thread_path_if_profitable.
+	Rename VAR_BB to DEF_BB.
+	Update comments.
+	Make GC vectors heap vectors.
+	Make visited_bbs a reference.
+	(handle_assignment): Same.
+	(register_jump_thread_path_if_profitable): New.
+	(fsm_find_control_statement_thread_paths): Rename VAR_BB to
+	DEF_BB.
+	Make GC	vectors heap vectors.  Clean up comments.
+	Make visited_bbs a reference.
+	(find_jump_threads_backwards): Make visited_bbs live in the stack.
+	* tree-ssa-threadupdate.c (delete_jump_thread_path): Fix typo in
+	comment.
+
+2017-09-11  Max Filippov  <jcmvbkbc@gmail.com>
+
+	PR target/82181
+	* config/xtensa/xtensa.c (xtensa_mem_offset): Check that both
+	words of E_DImode object are reachable by xtensa_uimm8x4 access.
+
+2017-09-11  Vidya Praveen  <vidyapraveen@arm.com>
+
+	Revert r251800 and r251799.
+
+2017-09-11  Martin Jambor  <mjambor@suse.cz>
+
+	PR hsa/82119
+	* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Process ADDR_EXPRs in
+	arguments in advance.
+	* hsa-regalloc.c (naive_process_phi): New parameter predecessors,
+	use it to find predecessor edges.
+	(naive_outof_ssa): Collect vector of predecessors.
+
+2017-09-08  Jason Merrill  <jason@redhat.com>
+
+	PR c++/70029 - ICE with ref-qualifier and -flto
+	* langhooks.h (struct lang_hooks_for_types): Add
+	copy_lang_qualifiers.
+	* attribs.c (build_type_attribute_qual_variant): Use it.
+	* langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to
+	NULL.
+	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
+	* tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/81988
+	* config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32.
+	(*mulsi3_sp64): New instruction.
+	(mulsi3): New expander.
+
+2017-09-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha.c (alpha_print_operand) <case 'S'>: Remove.
+
+2017-09-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* sancov.c: Include memmodel.h.
+
+2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/80897
+	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Deal with too
+	large offsets.
+
+2017-09-07  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/vsx.md (define_insn "*stxvl"): Add missing argument to
+	the sldi instruction.
+
+2017-09-07  David Edelsohn  <dje.gcc@gmail.com>
+
+	* sancov.c: Include tm_p.h.
+
+2017-09-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81979
+	* output.h (switch_to_other_text_partition): New declaration.
+	* varasm.c (switch_to_other_text_partition): New function.
+	* config/rs6000/rs6000.c (uses_TOC): Return 2 if
+	NOTE_INSN_SWITCH_TEXT_SECTIONS is seen before finding load_toc_* insn.
+	(rs6000_elf_declare_function_name): If uses_TOC returned 2, switch
+	to the other text partition before emitting LCL label and switch back
+	after emitting the word after it.
+
+2017-09-07  Richard Biener  <rguenther@suse.de>
+
+	* passes.def (pass_split_crit_edges): Remove instance before PRE.
+	* tree-ssa-pre.c (pass_pre::execute): Instead manually split
+	critical edges here, after loop init.
+	(pass_data_pre): Remove PROP_no_crit_edges flags.
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use vn_valueize
+	for valueization of call args to avoid leaking VN_TOP.
+	(visit_use): Assert we do not visit default defs.
+	(init_scc_vn): Use build_decl for VN_TOP to make name nicer.
+	Use error_mark_node to more easily detect leaking VN_TOP.
+	All default-defs are varying, not VN_TOP.  Mark them visited.
+	(run_scc_vn): Make code match comment.
+
+2017-09-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete
+	OPTION_MASK_FLOAT128_KEYWORD.
+	(POWERPC_MASKS): Likewise.
+	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Delete
+	support for the -mfloat128-type option, and make -mfloat128
+	default on PowerPC Linux systems.  Define or undefine
+	__FLOAT128__ and  __FLOAT128_HARDWARE__ for the current options.
+	Define __float128 to be __ieee128 if IEEE 128-bit support is
+	enabled, or undefine it.
+	(rs6000_cpu_cpp_builtins): Delete defining __FLOAT128__ here.
+	Delete defining __FLOAT128_TYPE__.
+	* config/rs6000/rs6000.opt (x_TARGET_FLOAT128_TYPE): Delete the
+	-mfloat128-type option and make -mfloat128 default on PowerPC
+	Linux systems.
+	(TARGET_FLOAT128_TYPE): Likewise.
+	(-mfloat128-type): Likewise.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal):
+	Delete the -mfloat128-type option and make -mfloat128 default on
+	PowerPC Linux systems.  Always use __ieee128 to be the keyword for
+	the IEEE 128-bit type, and map __float128 to __ieee128 if IEEE
+	128-bit floating point is enabled.  Change tests from using
+	-mfloat128-type to -mfloat128.
+	(rs6000_mangle_type): Use the correct mangling for the __float128
+	type even if normal long double is restricted to 64-bits.
+	(floatn_mode): Enable the _Float128 type by default on VSX Linux
+	systems.
+	* config/rs6000/rs6000.h (MASK_FLOAT128_TYPE): Delete.
+	(MASK_FLOAT128_KEYWORD): Define new shortcut macro.
+	(RS6000BTM_FLOAT128): Define in terms of -mfloat128, not
+	-mfloat128-type.
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Update
+	documentation for -mfloat128.
+
+2017-09-06  Olivier Hainque  <hainque@adacore.com>
+
+	* config.gcc (powerpc-wrs-vxworksspe): Now match as vxworks*spe.
+
+2017-09-06  Wish Wu  <wishwu007@gmail.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* asan.c (initialize_sanitizer_builtins): Add
+	BT_FN_VOID_UINT8_UINT8, BT_FN_VOID_UINT16_UINT16,
+	BT_FN_VOID_UINT32_UINT32, BT_FN_VOID_UINT64_UINT64,
+	BT_FN_VOID_FLOAT_FLOAT, BT_FN_VOID_DOUBLE_DOUBLE and
+	BT_FN_VOID_UINT64_PTR variables.
+	* builtin-types.def (BT_FN_VOID_UINT8_UINT8): New fn type.
+	(BT_FN_VOID_UINT16_UINT16): Likewise.
+	(BT_FN_VOID_UINT32_UINT32): Likewise.
+	(BT_FN_VOID_FLOAT_FLOAT): Likewise.
+	(BT_FN_VOID_DOUBLE_DOUBLE): Likewise.
+	(BT_FN_VOID_UINT64_PTR): Likewise.
+	* common.opt (flag_sanitize_coverage): New variable.
+	(fsanitize-coverage=trace-pc): Remove.
+	(fsanitize-coverage=): Add.
+	* flag-types.h (enum sanitize_coverage_code): New enum.
+	* fold-const.c (fold_range_test): Disable non-short-circuit
+	optimization if flag_sanitize_coverage.
+	(fold_truth_andor): Likewise.
+	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
+	* opts.c (COVERAGE_SANITIZER_OPT): Define.
+	(coverage_sanitizer_opts): New array.
+	(get_closest_sanitizer_option): Add OPTS argument, handle also
+	OPT_fsanitize_coverage_.
+	(parse_sanitizer_options): Adjusted to also handle
+	OPT_fsanitize_coverage_.
+	(common_handle_option): Add OPT_fsanitize_coverage_.
+	* sancov.c (instrument_comparison, instrument_switch): New function.
+	(sancov_pass): Add trace-cmp support.
+	* sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_CMP1,
+	BUILT_IN_SANITIZER_COV_TRACE_CMP2, BUILT_IN_SANITIZER_COV_TRACE_CMP4,
+	BUILT_IN_SANITIZER_COV_TRACE_CMP8,
+	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP1,
+	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP2,
+	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP4,
+	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP8,
+	BUILT_IN_SANITIZER_COV_TRACE_CMPF, BUILT_IN_SANITIZER_COV_TRACE_CMPD,
+	BUILT_IN_SANITIZER_COV_TRACE_SWITCH): New builtins.
+	* doc/invoke.texi: Document -fsanitize-coverage=trace-cmp.
+
+2017-09-06  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/parsecpu.awk (fatal): Note that we've encountered an
+	error.  Only quit immediately if parsing is complete.
+	(BEGIN): Initialize fatal_err and parse_done.
+	(begin fpu, end fpu): Check number of arguments.
+	(begin arch, end arch): Likewise.
+	(begin cpu, end cpu): Likewise.
+	(cname, tune for, tune flags, architecture, fpu, option): Likewise.
+	(optalias): Likewise.
+
+2017-09-06  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config.gcc (arm*-*-*): Don't add arm-isa.h to tm_p_file.
+	* config/arm/arm-isa.h: Delete.  Move definitions to ...
+	* arm-cpus.in: ... here.  Use new feature and fgroup values.
+	* config/arm/arm.c (arm_option_override): Use lower case for feature
+	bit names.
+	* config/arm/arm.h (TARGET_HARD_FLOAT): Likewise.
+	(TARGET_VFP3, TARGET_VFP5, TARGET_FMA): Likewise.
+	* config/arm/parsecpu.awk (END): Add new command 'isa'.
+	(isa_pfx): Delete.
+	(print_isa_bits_for): New function.
+	(gen_isa): New function.
+	(gen_comm_data): Use print_isa_bits_for.
+	(define feature): New keyword.
+	(define fgroup): New keyword.
+	* config/arm/t-arm (OPTIONS_H_EXTRA): Add arm-isa.h
+	(arm-isa.h): Add rule to generate file.
+	* common/config/arm/arm-common.c: (arm_canon_arch_option): Use lower
+	case for feature bit names.
+
+2017-09-06  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (NECESSARY): Remove.
+	(create_expression_by_pieces): Do not touch pass-local flags.
+	(insert_into_preds_of_block): Likewise.
+	(do_pre_regular_insertion): Likewise.
+	(eliminate_insert): Likewise.
+	(eliminate_dom_walker::before_dom_children): Likewise.
+	(fini_eliminate): Do not look at inserted_exprs.
+	(mark_operand_necessary): Remove.
+	(remove_dead_inserted_code): Replace with simple work-list
+	algorithm based on inserted_exprs and SSA uses.
+	(pass_pre::execute): Re-order fini_eliminate and
+	remove_dead_inserted_code.
+
+2017-09-06  Olivier Hainque  <hainque@adacore.com>
+
+	* config/powerpcspe/vxworks.h (VXCPU_FOR_8548): Correct definition
+	for VxWorks 7.  Adjust surrounding comments.
+
+2017-09-06  Richard Biener  <rguenther@suse.de>
+
+	* gimple-ssa-strength-reduction.c
+	(find_candidates_dom_walker::before_dom_children): Also allow
+	pointer types.
+
+2017-09-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82108
+	* tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment
+	for gap in the non-permutation SLP case.
+
+2017-09-06  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/82078
+	* tree-sra.c (sort_and_splice_var_accesses): Move call to
+	add_access_to_work_queue...
+	(build_accesses_from_assign): ...here.
+	(propagate_all_subaccesses): Make sure racc is the group
+	representative, if there is one.
+
+2017-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/82095
+	* varasm.c (categorize_decl_for_section): Use SECCAT_TBSS for TLS vars with
+	NULL DECL_INITIAL.
+
+2017-09-06  Richard Biener  <rguenther@suse.de>
+
+	* gimple-ssa-strength-reduction.c
+	(find_candidates_dom_walker::before_doom_children): Use a
+	type and not a mode check.
+
+2017-09-06  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR target/77308
+	* config/arm/predicates.md (arm_general_adddi_operand): Create new
+	non-vfp predicate.
+	* config/arm/arm.md (*arm_adddi3, *arm_subdi3): Use new predicates.
+
+2017-09-05  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/64910
+	* tree-ssa-reassoc.c (reassociate_bb): Restrict last change to
+	cases where we have 3 or more operands.
+
+2017-09-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/81768
+	* omp-low.c (lower_omp_for): Recompute tree invariant if
+	gimple_omp_for_initial/final is ADDR_EXPR.
+
+	PR middle-end/81768
+	* omp-expand.c (expand_omp_simd): Force second operands of COND_EXPR
+	into gimple val before gimplification fo the COND_EXPR.
+
+2017-09-05  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-ssa-threadupdate.c (duplicate_thread_path): Remove unused
+	REGION_COPY argument.
+	(thread_through_all_blocks): Remove unused argument to
+	duplicate_thread_path.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_gen_adjusted_ldpstp):
+	Take a scalar_mode rather than a machine_mode.
+	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
+	* config/aarch64/aarch64.c (aarch64_simd_container_mode): Likewise.
+	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
+	(aarch64_gen_adjusted_ldpstp): Likewise.
+	(aarch64_expand_vector_init): Use scalar_mode instead of machine_mode.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_is_extend_from_extract):
+	Take a scalar_int_mode instead of a machine_mode.
+	(aarch64_mask_and_shift_for_ubfiz_p): Likewise.
+	(aarch64_output_scalar_simd_mov_immediate): Likewise.
+	(aarch64_simd_scalar_immediate_valid_for_move): Likewise.
+	(aarch64_simd_attr_length_rglist): Delete.
+	* config/aarch64/aarch64.c (aarch64_is_extend_from_extract): Take
+	a scalar_int_mode instead of a machine_mode.
+	(aarch64_add_offset): Likewise.
+	(aarch64_internal_mov_immediate): Likewise
+	(aarch64_add_constant_internal): Likewise.
+	(aarch64_add_constant): Likewise.
+	(aarch64_movw_imm): Likewise.
+	(aarch64_rtx_arith_op_extract_p): Likewise.
+	(aarch64_mask_and_shift_for_ubfiz_p): Likewise.
+	(aarch64_simd_scalar_immediate_valid_for_move): Likewise.
+	Remove assert that the mode isn't a vector.
+	(aarch64_output_scalar_simd_mov_immediate): Likewise.
+	(aarch64_expand_mov_immediate): Update calls after above changes.
+	(aarch64_output_casesi): Use as_a <scalar_int_mode>.
+	(aarch64_and_bitmask_imm): Check for scalar integer modes.
+	(aarch64_move_imm): Likewise.
+	(aarch64_can_const_movi_rtx_p): Likewise.
+	(aarch64_strip_extend): Likewise.
+	(aarch64_extr_rtx_p): Likewise.
+	(aarch64_rtx_costs): Likewise, using wode_mode as the mode of
+	a CONST_INT when the mode parameter is VOIDmode.
+	(aarch64_float_const_rtx_p): Use scalar_int_mode for a temporary.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* machmode.h (bitwise_mode_for_mode): Return opt_mode.
+	* stor-layout.c (bitwise_mode_for_mode): Likewise.
+	(bitwise_type_for_mode): Update accordingly.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* stor-layout.h (mode_for_size_tree): Return an opt_mode.
+	* stor-layout.c (mode_for_size_tree): Likewise.
+	(mode_for_array): Update accordingly.
+	(layout_decl): Likewise.
+	(compute_record_mode): Likewise.  Only set the mode once.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* target.def (get_mask_mode): Change return type to opt_mode.
+	Expand commentary.
+	* doc/tm.texi: Regenerate.
+	* targhooks.h (default_get_mask_mode): Return an opt_mode.
+	* targhooks.c (default_get_mask_mode): Likewise.
+	* config/i386/i386.c (ix86_get_mask_mode): Likewise.
+	* optabs-query.c (can_vec_mask_load_store_p): Update use of
+	targetm.get_mask_mode.
+	* tree.c (build_truth_vector_type): Likewise.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* machmode.h (mode_for_vector): Return an opt_mode.
+	* stor-layout.c (mode_for_vector): Likewise.
+	(mode_for_int_vector): Update accordingly.
+	(layout_type): Likewise.
+	* config/i386/i386.c (emit_memmov): Likewise.
+	(ix86_expand_set_or_movmem): Likewise.
+	(ix86_expand_vector_init): Likewise.
+	(ix86_get_mask_mode): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_expand_vec_perm_const_1):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Likewise.
+	* expmed.c (extract_bit_field_1): Likewise.
+	* expr.c (expand_expr_real_2): Likewise.
+	* optabs-query.c (can_vec_perm_p): Likewise.
+	(can_vec_mask_load_store_p): Likewise.
+	* optabs.c (expand_vec_perm): Likewise.
+	* targhooks.c (default_get_mask_mode): Likewise.
+	* tree-vect-stmts.c (vectorizable_store): Likewise.
+	(vectorizable_load): Likewise.
+	(get_vectype_for_scalar_type_and_size): Likewise.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* machmode.h (mode_for_int_vector): New function.
+	* stor-layout.c (mode_for_int_vector): Likewise.
+	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Use it.
+	* config/powerpcspe/powerpcspe.c (rs6000_do_expand_vec_perm): Likewise.
+	* config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
+	* config/s390/s390.c (s390_expand_vec_compare_cc): Likewise.
+	(s390_expand_vcond): Likewise.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* machmode.h (opt_machine_mode): New type.
+	(opt_mode<T>): Allow construction from anything that can be
+	converted to a T.
+	(is_a, as_a, dyn_cast): Add overloads for opt_mode.
+	(mode_for_size): Return an opt_machine_mode.
+	* stor-layout.c (mode_for_size): Likewise.
+	(mode_for_size_tree): Update call accordingly.
+	(bitwise_mode_for_mode): Likewise.
+	(make_fract_type): Likewise.
+	(make_accum_type): Likewise.
+	* caller-save.c (replace_reg_with_saved_mem): Update call
+	accordingly.
+	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED_MODE): Likewise.
+	* config/i386/i386.h (SECONDARY_MEMORY_NEEDED_MODE): Likewise.
+	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED_MODE): Likewise.
+	* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_MODE): Likewise.
+	* expmed.c (extract_bit_field_1): Likewise.
+	* reload.c (get_secondary_mem): Likewise.
+	* varasm.c (assemble_integer): Likewise.
+	* lower-subreg.c (simplify_subreg_concatn): Likewise.  Move
+	early-out.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* machmode.h (decimal_float_mode_for_size): New function.
+	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use float_mode_for_size.
+	(REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
+	(REAL_VALUE_TO_TARGET_SINGLE): Likewise.
+	(REAL_VALUE_TO_TARGET_DECIMAL128): Use decimal_float_mode_for_size.
+	(REAL_VALUE_TO_TARGET_DECIMAL64): Likewise.
+	(REAL_VALUE_TO_TARGET_DECIMAL32): Likewise.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* builtins.c (expand_builtin_powi): Use int_mode_for_size.
+	(get_builtin_sync_mode): Likewise.
+	(expand_ifn_atomic_compare_exchange): Likewise.
+	(expand_builtin_atomic_clear): Likewise.
+	(expand_builtin_atomic_test_and_set): Likewise.
+	(fold_builtin_atomic_always_lock_free): Likewise.
+	* calls.c (compute_argument_addresses): Likewise.
+	(emit_library_call_value_1): Likewise.
+	(store_one_arg): Likewise.
+	* combine.c (combine_instructions): Likewise.
+	* config/aarch64/aarch64.c (aarch64_function_value): Likewise.
+	* config/arm/arm.c (arm_function_value): Likewise.
+	(aapcs_allocate_return_reg): Likewise.
+	* config/c6x/c6x.c (c6x_expand_movmem): Likewise.
+	* config/i386/i386.c (construct_container): Likewise.
+	(ix86_gimplify_va_arg): Likewise.
+	(ix86_expand_sse_cmp): Likewise.
+	(emit_memmov): Likewise.
+	(emit_memset): Likewise.
+	(expand_small_movmem_or_setmem): Likewise.
+	(ix86_expand_pextr): Likewise.
+	(ix86_expand_pinsr): Likewise.
+	* config/lm32/lm32.c (lm32_block_move_inline): Likewise.
+	* config/microblaze/microblaze.c (microblaze_block_move_straight):
+	Likewise.
+	* config/mips/mips.c (mips_function_value_1) Likewise.
+	(mips_block_move_straight): Likewise.
+	(mips_expand_ins_as_unaligned_store): Likewise.
+	* config/powerpcspe/powerpcspe.c
+	(rs6000_darwin64_record_arg_advance_flush): Likewise.
+	(rs6000_darwin64_record_arg_flush): Likewise.
+	* config/rs6000/rs6000.c
+	(rs6000_darwin64_record_arg_advance_flush): Likewise.
+	(rs6000_darwin64_record_arg_flush): Likewise.
+	* config/sparc/sparc.c (sparc_function_arg_1): Likewise.
+	(sparc_function_value_1): Likewise.
+	* config/spu/spu.c (adjust_operand): Likewise.
+	(spu_emit_branch_or_set): Likewise.
+	(arith_immediate_p): Likewise.
+	* emit-rtl.c (gen_lowpart_common): Likewise.
+	* expr.c (expand_expr_real_1): Likewise.
+	* function.c (assign_parm_setup_block): Likewise.
+	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Likewise.
+	* reload1.c (alter_reg): Likewise.
+	* stor-layout.c (mode_for_vector): Likewise.
+	(layout_type): Likewise.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/spu/spu.c (exp2_immediate_p): Use int_mode_for_mode.
+	(spu_convert_move): Likewise.
+	* lower-subreg.c (resolve_simple_move): Likewise.
+
+2017-09-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/81833
+	* config/rs6000/altivec.md (altivec_vsum2sws): Convert from a
+	define_insn to a define_expand.
+	(altivec_vsum2sws_direct): New define_insn.
+	(altivec_vsumsws): Convert from a define_insn to a define_expand.
+
+2017-09-05  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm.c (arm_option_params_internal): Improve setting of
+	max_insns_skipped.
+
+2017-09-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/59501
+	PR target/81624
+	PR target/81769
+	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Don't
+	realign stack if stack alignment needed is less than incoming
+	stack boundary.
+
+2017-09-05  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/82072
+	* convert.c (convert_to_integer_1) <case NEGATE_EXPR>: Move the ubsan
+	check earlier.
+
+2017-09-05  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* explow.c (get_dynamic_stack_size): Improve dynamic alignment.
+
+2017-09-05  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82084
+	* fold-const.c (can_native_encode_string_p): Handle wide characters.
+
+2017-09-05  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82102
+	* tree-ssa-pre.c (fini_eliminate): Check if lhs is NULL.
+
+2017-09-05  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/82032
+	* tree-cfg.c (generate_range_test): New function.
+	* tree-cfg.h (generate_range_test): Declared here.
+	* tree-cfgcleanup.c (convert_single_case_switch): New function.
+	(cleanup_control_expr_graph): Use it.
+	* tree-switch-conversion.c (try_switch_expansion): Remove
+	assert.
+	(emit_case_nodes): Use generate_range_test.
+
+2017-09-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/82098
+	* config/i386/i386.md (*<btsc><mode>_mask): Add
+	TARGET_USE_BT to insn constraint.
+	(*btr<mode>_mask): Ditto.
+
+2017-09-04  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm.c (arm_legitimate_index_p): Add comment.
+	(thumb2_legitimate_index_p): Use correct range for DI/DF mode.
+
+2017-09-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR target/77308
+	* config/arm/arm.md (*arm_adddi3, *arm_subdi3): Split early except for
+	TARGET_NEON and TARGET_IWMMXT.
+	(anddi3, iordi3, xordi3, one_cmpldi2): Split while expanding except for
+	TARGET_NEON and TARGET_IWMMXT.
+	(*one_cmpldi2_insn): Moved the body of one_cmpldi2 here.
+
+2017-09-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386-protos.h (ix86_tls_address_pattern_p) New prototype.
+	(ix86_rewrite_tls_address): Ditto.
+	* config/i386/i386.c (ix86_tls_address_pattern_p) New function.
+	(ix86_rewrite_tls_address_1): Ditto.
+	(ix86_rewrite_tls_address): Ditto.
+	* config/i386/predicates.md (tls_address_pattern): New predicate.
+	* config/i386/i386.md (TLS address splitter): New splitter.
+
+2017-09-04  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82084
+	* fold-const.h (can_native_encode_string_p): Declare.
+	* fold-const.c (can_native_encode_string_p): Factor out from ...
+	(native_encode_string): ... here.
+	* tree-vect-stmts.c (vectorizable_store): Call it to avoid
+	vectorizing stores from constants we later cannot handle.
+
+2017-09-04  Marek Polacek  <polacek@redhat.com>
+
+	PR c/81783
+	* doc/invoke.texi: Update -Wtautological-compare documentation.
+
+2017-09-04  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/64910
+	* tree-ssa-reassoc.c (reassociate_bb): For bitwise binary ops,
+	swap the first and last operand if the last is a constant.
+
+2017-09-04  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/82072
+	* convert.c (do_narrow): When sanitizing signed integer overflows,
+	bail out for signed types.
+	(convert_to_integer_1) <case NEGATE_EXPR>: Likewise.
+
+2017-09-04  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/82060
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	Move devirtualization after stmt folding and before EH/AB/noreturn
+	cleanup to get the stmt refs canonicalized.  Use a bool instead
+	of gimple_modified_p since that doesn't work for NOPs.  Schedule
+	NOPs generated by folding for removal.
+
+2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (pad_direction): New enum.
+	* defaults.h (DEFAULT_FUNCTION_ARG_PADDING): Delete.
+	(FUNCTION_ARG_PADDING): Likewise.
+	* target.def (function_arg_padding): New hook.
+	* targhooks.h (default_function_arg_padding): Declare.
+	* targhooks.c (default_function_arg_padding): New function.
+	* doc/tm.texi.in (FUNCTION_ARG_PADDING): Replace with...
+	(TARGET_FUNCTION_ARG_PADDING): ...this.
+	* doc/tm.texi: Regenerate.
+	* calls.c (store_unaligned_arguments_into_pseudos): Use pad_direction
+	instead of direction.
+	(compute_argument_addresses): Likewise.
+	(load_register_parameters): Likewise.
+	(emit_library_call_value_1): Likewise.
+	(store_one_arg): Use targetm.calls.function_arg_padding instead
+	of FUNCTION_ARG_PADDING.
+	(must_pass_in_stack_var_size_or_pad): Likewise.
+	* expr.c (emit_group_load_1): Use pad_direction instead of direction.
+	(emit_group_store): Likewise.
+	(emit_single_push_insn_1): Use targetm.calls.function_arg_padding
+	instead of FUNCTION_ARG_PADDING.
+	(emit_push_insn): Likewise, and propagate enum change throughout
+	function.
+	* function.h (direction): Delete.
+	(locate_and_pad_arg_data::where_pad): Use pad_direction instead
+	of direction.
+	* function.c (assign_parm_find_stack_rtl): Likewise.
+	(assign_parm_setup_block_p): Likewise.
+	(assign_parm_setup_block): Likewise.
+	(gimplify_parameters): Likewise.
+	(locate_and_pad_parm): Use targetm.calls.function_arg_padding
+	instead of FUNCTION_ARG_PADDING, and propagate enum change throughout
+	function.
+	* config/aarch64/aarch64.h (FUNCTION_ARG_PADDING): Delete.
+	(BLOCK_REG_PADDING): Use pad_direction instead of direction.
+	* config/aarch64/aarch64-protos.h (aarch64_pad_arg_upward): Delete.
+	* config/aarch64/aarch64.c (aarch64_pad_arg_upward): Replace with...
+	(aarch64_function_arg_padding): ...this new function.
+	(aarch64_gimplify_va_arg_expr): Use pad_direction instead of direction.
+	(TARGET_FUNCTION_ARG_PADDING): Redefine.
+	* config/arm/arm.h (FUNCTION_ARG_PADDING): Delete.
+	(BLOCK_REG_PADDING): Use pad_direction instead of direction.
+	* config/arm/arm-protos.h (arm_pad_arg_upward): Delete.
+	* config/arm/arm.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
+	(arm_pad_arg_upward): Replace with...
+	(arm_function_arg_padding): ...this new function.
+	* config/c6x/c6x.h (BLOCK_REG_PADDING): Use pad_direction instead
+	of direction.
+	* config/ia64/hpux.h (FUNCTION_ARG_PADDING): Delete.
+	* config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): Delete.
+	* config/ia64/ia64.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
+	(ia64_hpux_function_arg_padding): Replace with...
+	(ia64_function_arg_padding): ...this new function.  Use pad_direction
+	instead of direction.  Check for TARGET_HPUX.
+	* config/iq2000/iq2000.h (FUNCTION_ARG_PADDING): Delete.
+	* config/iq2000/iq2000.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
+	(iq2000_function_arg_padding): New function.
+	* config/mips/mips-protos.h (mips_pad_arg_upward): Delete.
+	* config/mips/mips.c (mips_pad_arg_upward): Replace with...
+	(mips_function_arg_padding): ...this new function.
+	(mips_pad_reg_upward): Update accordingly.
+	(TARGET_FUNCTION_ARG_PADDING): Redefine.
+	* config/mips/mips.h (PAD_VARARGS_DOWN): Use
+	targetm.calls.function_arg_padding.
+	(FUNCTION_ARG_PADDING): Delete.
+	(BLOCK_REG_PADDING): Use pad_direction instead of direction.
+	* config/nios2/nios2.h (FUNCTION_ARG_PADDING): Delete.
+	(PAD_VARARGS_DOWN): Use targetm.calls.function_arg_padding.
+	* config/nios2/nios2-protos.h (nios2_function_arg_padding): Delete.
+	(nios2_block_reg_padding): Return pad_direction instead of direction.
+	* config/nios2/nios2.c (nios2_block_reg_padding): Return pad_direction
+	instead of direction.
+	(nios2_function_arg_padding): Likewise.  Make static.
+	(TARGET_FUNCTION_ARG_PADDING): Redefine.
+	* config/pa/pa.h (FUNCTION_ARG_PADDING): Delete.
+	(BLOCK_REG_PADDING): Use targetm.calls.function_arg_padding.
+	* config/pa/pa-protos.h (pa_function_arg_padding): Delete.
+	* config/pa/pa.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
+	(pa_function_arg_padding): Make static.  Return pad_direction instead
+	of direction.
+	* config/powerpcspe/powerpcspe.h (FUNCTION_ARG_PADDING): Delete.
+	(PAD_VARARGS_DOWN): Use targetm.calls.function_arg_padding.
+	* config/powerpcspe/aix.h (BLOCK_REG_PADDING): Use pad_direction
+	instead of direction.  Use targetm.calls.function_arg_padding.
+	* config/powerpcspe/darwin.h (BLOCK_REG_PADDING): Likewise.
+	* config/powerpcspe/freebsd64.h (BLOCK_REG_PADDING): Likewise.
+	* config/powerpcspe/linux64.h (BLOCK_REG_PADDING): Likewise.
+	* config/powerpcspe/powerpcspe-protos.h (function_arg_padding): Delete.
+	* config/powerpcspe/powerpcspe.c (TARGET_FUNCTION_ARG_PADDING):
+	Redefine.
+	(function_arg_padding): Rename to...
+	(rs6000_function_arg_padding): ...this.  Make static.  Return
+	pad_direction instead of direction.
+	(rs6000_return_in_msb): Use rs6000_function_arg_padding.
+	* config/rs6000/rs6000.h (FUNCTION_ARG_PADDING): Delete.
+	(PAD_VARARGS_DOWN): Use targetm.calls.function_arg_padding.
+	* config/rs6000/aix.h (BLOCK_REG_PADDING): Use pad_direction
+	instead of direction.  Use targetm.calls.function_arg_padding.
+	* config/rs6000/darwin.h (BLOCK_REG_PADDING): Likewise.
+	* config/rs6000/freebsd64.h (BLOCK_REG_PADDING): Likewise.
+	* config/rs6000/linux64.h (BLOCK_REG_PADDING): Likewise.
+	* config/rs6000/rs6000-protos.h (function_arg_padding): Delete.
+	* config/rs6000/rs6000.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
+	(function_arg_padding): Rename to...
+	(rs6000_function_arg_padding): ...this.  Make static.  Return
+	pad_direction instead of direction.
+	(rs6000_return_in_msb): Use rs6000_function_arg_padding.
+	* config/s390/s390.h (FUNCTION_ARG_PADDING): Delete.
+	* config/s390/s390.c (s390_function_arg_padding): New function.
+	(TARGET_FUNCTION_ARG_PADDING): Redefine.
+	* config/sparc/sparc.h (FUNCTION_ARG_PADDING): Delete.
+	* config/sparc/sparc-protos.h (function_arg_padding): Delete.
+	* config/sparc/sparc.c (TARGET_FUNCTION_ARG_PADDING): Redefine.
+	(function_arg_padding): Rename to...
+	(sparc_function_arg_padding): ...this.  Make static.  Return
+	pad_direction instead of direction.
+	* config/spu/spu.h (FUNCTION_ARG_PADDING): Delete.
+	* config/spu/spu.c (spu_function_arg_padding): New function.
+	(TARGET_FUNCTION_ARG_PADDING): Redefine.
+	* system.h (FUNCTION_ARG_PADDING): Poison.
+
+2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (modes_tieable_p): New hook.
+	* doc/tm.texi (MODES_TIEABLE_P): Replace with...
+	(TARGET_MODES_TIEABLE_P): ...this.
+	* doc/tm.texi.in: Regenerate.
+	* hooks.h (hook_bool_mode_mode_true): Declare.
+	* hooks.c (hook_bool_mode_mode_true): New function.
+	* combine.c (subst): Use targetm.modes_tieable_p instead of
+	MODES_TIEABLE_P.
+	* dse.c (find_shift_sequence): Likewise.
+	* expmed.c (extract_low_bits): Likewise.
+	* lower-subreg.c: Include target.h.
+	(find_decomposable_subregs): Use targetm.modes_tieable_p instead of
+	MODES_TIEABLE_P.
+	* rtlanal.c (rtx_cost): Likewise.
+	* config/aarch64/aarch64.h (MODES_TIEABLE_P): Delete.
+	* config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): Delete.
+	* config/aarch64/aarch64.c (aarch64_modes_tieable_p): Make static.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/alpha/alpha.h (MODES_TIEABLE_P): Delete.
+	* config/alpha/alpha.c (alpha_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/arc/arc.h (MODES_TIEABLE_P): Delete.
+	* config/arc/arc.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(arc_modes_tieable_p): New function.
+	* config/arm/arm.h (MODES_TIEABLE_P): Delete.
+	* config/arm/arm-protos.h (arm_modes_tieable_p): Delete.
+	* config/arm/arm.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(arm_modes_tieable_p): Make static.
+	* config/avr/avr.h (MODES_TIEABLE_P): Delete.
+	* config/bfin/bfin.h (MODES_TIEABLE_P): Delete.
+	* config/bfin/bfin.c (bfin_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/c6x/c6x.h (MODES_TIEABLE_P): Delete.
+	* config/c6x/c6x.c (c6x_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/cr16/cr16.h (MODES_TIEABLE_P): Delete.
+	* config/cr16/cr16.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(cr16_modes_tieable_p): New function.
+	* config/cris/cris.h (MODES_TIEABLE_P): Delete.
+	* config/epiphany/epiphany.h (MODES_TIEABLE_P): Delete.
+	* config/fr30/fr30.h (MODES_TIEABLE_P): Delete.
+	(TRULY_NOOP_TRUNCATION): Update comment.
+	* config/frv/frv.h (MODES_TIEABLE_P): Delete.
+	(TRULY_NOOP_TRUNCATION): Update comment.
+	* config/frv/frv.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(frv_modes_tieable_p): New function.
+	* config/ft32/ft32.h (MODES_TIEABLE_P): Delete.
+	* config/h8300/h8300.h (MODES_TIEABLE_P): Delete.
+	* config/h8300/h8300.c (h8300_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/i386/i386.h (MODES_TIEABLE_P): Delete.
+	* config/i386/i386-protos.h (ix86_modes_tieable_p): Delete.
+	* config/i386/i386.c (ix86_modes_tieable_p): Make static.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/ia64/ia64.h (MODES_TIEABLE_P): Delete.
+	* config/ia64/ia64.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(ia64_modes_tieable_p): New function.
+	* config/iq2000/iq2000.h (MODES_TIEABLE_P): Delete.
+	* config/iq2000/iq2000.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(iq2000_modes_tieable_p): New function.
+	* config/lm32/lm32.h (MODES_TIEABLE_P): Delete.
+	* config/lm32/lm32.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(lm32_modes_tieable_p): New function.
+	* config/m32c/m32c.h (MODES_TIEABLE_P): Delete.
+	* config/m32c/m32c-protos.h (m32c_modes_tieable_p): Delete.
+	* config/m32c/m32c.c (m32c_modes_tieable_p): Make static.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/m32r/m32r.h (MODES_TIEABLE_P): Delete.
+	* config/m32r/m32r.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(m32r_modes_tieable_p): New function.
+	* config/m68k/m68k.h (MODES_TIEABLE_P): Delete.
+	* config/m68k/m68k.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(m68k_modes_tieable_p): New function.
+	* config/mcore/mcore.h (MODES_TIEABLE_P): Delete.
+	* config/mcore/mcore.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(mcore_modes_tieable_p): New function.
+	* config/microblaze/microblaze.h (MODES_TIEABLE_P): Delete.
+	* config/microblaze/microblaze.c (microblaze_modes_tieable_p): New
+	function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/mips/mips.h (MODES_TIEABLE_P): Delete.
+	* config/mips/mips-protos.h (mips_modes_tieable_p): Delete.
+	* config/mips/mips.c (mips_modes_tieable_p): Make static.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/mmix/mmix.h (MODES_TIEABLE_P): Delete.
+	* config/mn10300/mn10300.h (MODES_TIEABLE_P): Delete.
+	* config/mn10300/mn10300-protos.h (mn10300_modes_tieable): Delete.
+	* config/mn10300/mn10300.c (mn10300_modes_tieable): Rename to...
+	(mn10300_modes_tieable_p): ...this and make static.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/moxie/moxie.h (MODES_TIEABLE_P): Delete.
+	* config/msp430/msp430.h (MODES_TIEABLE_P): Delete.
+	* config/msp430/msp430-protos.h (msp430_modes_tieable_p): Delete.
+	* config/msp430/msp430.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(msp430_modes_tieable_p): Make static.
+	* config/nds32/nds32.h (MODES_TIEABLE_P): Delete.
+	* config/nds32/nds32.c (nds32_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/nios2/nios2.h (MODES_TIEABLE_P): Delete.
+	* config/nvptx/nvptx.h (MODES_TIEABLE_P): Delete.
+	* config/nvptx/nvptx.c (nvptx_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/pa/pa.h (MODES_TIEABLE_P): Delete.
+	* config/pa/pa-protos.h (pa_modes_tieable_p): Delete.
+	* config/pa/pa.c (pa_modes_tieable_p): Make static.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/pdp11/pdp11.h (MODES_TIEABLE_P): Delete.
+	* config/pdp11/pdp11.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(pdp11_modes_tieable_p): New function.
+	* config/powerpcspe/powerpcspe.h (MODES_TIEABLE_P): Delete.
+	* config/powerpcspe/powerpcspe.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(rs6000_modes_tieable_p): New function.
+	(rs6000_debug_reg_global): Use it instead of MODES_TIEABLE_P.
+	* config/powerpcspe/powerpcspe.md: Update comment.
+	* config/riscv/riscv.h (MODES_TIEABLE_P): Delete.
+	* config/riscv/riscv.c (riscv_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/rl78/rl78.h (MODES_TIEABLE_P): Delete.
+	* config/rl78/rl78.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(rl78_modes_tieable_p): New function.
+	* config/rs6000/rs6000.h (MODES_TIEABLE_P): Delete.
+	* config/rs6000/rs6000.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(rs6000_modes_tieable_p): New function.
+	(rs6000_debug_reg_global): Use it instead of MODES_TIEABLE_P.
+	* config/rs6000/rs6000.md: Update comment.
+	* config/rx/rx.h (MODES_TIEABLE_P): Delete.
+	* config/rx/rx.c (rx_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/s390/s390.h (MODES_TIEABLE_P): Delete.
+	* config/s390/s390.c (s390_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/sh/sh.h (MODES_TIEABLE_P): Delete.
+	* config/sh/sh.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(sh_modes_tieable_p): New function.
+	* config/sparc/sparc.h (MODES_TIEABLE_P): Delete.
+	* config/sparc/sparc-protos.h (sparc_modes_tieable_p): Delete.
+	* config/sparc/sparc.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(sparc_modes_tieable_p): Make static.
+	* config/spu/spu.h (MODES_TIEABLE_P): Delete.
+	* config/spu/spu.c (spu_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/stormy16/stormy16.h (MODES_TIEABLE_P): Delete.
+	* config/stormy16/stormy16.c (xstormy16_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/tilegx/tilegx.h (MODES_TIEABLE_P): Delete.
+	* config/tilepro/tilepro.h (MODES_TIEABLE_P): Delete.
+	* config/v850/v850.h (MODES_TIEABLE_P): Delete.
+	* config/v850/v850.c (v850_modes_tieable_p): New function.
+	(TARGET_MODES_TIEABLE_P): Redefine.
+	* config/vax/vax.h (MODES_TIEABLE_P): Delete.
+	* config/visium/visium.h (MODES_TIEABLE_P): Delete.
+	* config/visium/visium.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(visium_modes_tieable_p): New function.
+	* config/xtensa/xtensa.h (MODES_TIEABLE_P): Delete.
+	* config/xtensa/xtensa.c (TARGET_MODES_TIEABLE_P): Redefine.
+	(xtensa_modes_tieable_p): New function.
+	* system.h (MODES_TIEABLE_P): Poison.
+
+2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (hard_regno_mode_ok): New hook.
+	* doc/tm.texi (HARD_REGNO_MODE_OK): Replace with...
+	(TARGET_HARD_REGNO_MODE_OK): ...this.
+	* doc/tm.texi.in: Regenerate.
+	* hooks.h (hook_bool_uint_mode_true): Declare.
+	* hooks.c (hook_bool_uint_mode_true): New function.
+	* doc/md.texi: Refer to targetm.hard_regno_mode_ok instead of
+	HARD_REGNO_MODE_OK.
+	* genpreds.c (write_insn_preds_c): Add an include of target.h.
+	* alias.c (init_alias_target): Use targetm.hard_regno_mode_ok
+	instead of HARD_REGNO_MODE_OK.
+	* caller-save.c: Include target.h.
+	(reg_save_code): Use targetm.hard_regno_mode_ok instead of
+	HARD_REGNO_MODE_OK.
+	* combine.c (can_combine_p): Likewise.
+	(combinable_i3pat): Likewise.
+	(can_change_dest_mode): Likewise.
+	* expr.c (init_expr_target): Likewise.
+	(convert_move): Likewise.
+	(convert_modes): Likewise.
+	* ira.c (setup_prohibited_class_mode_regs): Likewise.
+	(setup_prohibited_mode_move_regs): Likewise.
+	* ira.h (target_ira): Likewise.
+	* lra-assigns.c (find_hard_regno_for_1): Likewise.
+	* lra-constraints.c (process_alt_operands): Likewise.
+	(split_reg): Likewise.
+	* recog.c (peep2_find_free_register): Likewise.
+	* ree.c (combine_reaching_defs): Likewise.
+	* regcprop.c (maybe_mode_change): Likewise.
+	* reginfo.c (init_reg_sets_1): Likewise.
+	(choose_hard_reg_mode): Likewise.
+	(simplifiable_subregs): Likewise.
+	* regrename.c (check_new_reg_p): Likewise.
+	* reload.c (find_valid_class): Likewise.
+	(find_valid_class_1): Likewise.
+	(reload_inner_reg_of_subreg): Likewise.
+	(push_reload): Likewise.
+	(combine_reloads): Likewise.
+	(find_dummy_reload): Likewise.
+	(find_reloads): Likewise.
+	* reload1.c (find_reg): Likewise.
+	(set_reload_reg): Likewise.
+	(allocate_reload_reg): Likewise.
+	(choose_reload_regs): Likewise.
+	(reload_adjust_reg_for_temp): Likewise.
+	* rtlanal.c (subreg_size_offset_from_lsb): Likewise.
+	(simplify_subreg_regno): Likewise.
+	* sel-sched.c (init_regs_for_mode): Likewise.
+	* varasm.c (make_decl_rtl): Likewise.
+	* config/aarch64/aarch64.h (HARD_REGNO_MODE_OK): Delete.
+	(MODES_TIEABLE_P): Use targetm.hard_regno_mode_ok instead of
+	HARD_REGNO_MODE_OK.
+	* config/aarch64/aarch64-protos.h (aarch64_hard_regno_mode_ok): Delete.
+	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Make static.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/alpha/alpha.h (HARD_REGNO_MODE_OK): Delete.
+	* config/alpha/alpha.c (alpha_hard_regno_mode_ok): New function.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/arc/arc.h (arc_hard_regno_mode_ok): Delete.
+	(arc_mode_class): Delete.
+	(HARD_REGNO_MODE_OK): Delete.
+	* config/arc/arc.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(arc_hard_regno_mode_ok): Rename old array to...
+	(arc_hard_regno_mode_ok_modes): ...this.
+	(arc_conditional_register_usage): Update accordingly.
+	(arc_mode_class): Make static.
+	(arc_hard_regno_mode_ok): New function.
+	* config/arm/arm.h (HARD_REGNO_MODE_OK): Delete.
+	* config/arm/arm-protos.h (arm_hard_regno_mode_ok): Delete.
+	* config/arm/arm.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(arm_hard_regno_mode_ok): Make static.
+	* config/arm/arm.md (movdi): Use targetm.hard_regno_mode_ok instead of
+	HARD_REGNO_MODE_OK.
+	* config/avr/avr-protos.h (avr_hard_regno_mode_ok): Delete.
+	* config/avr/avr.h (HARD_REGNO_MODE_OK): Delete.
+	* config/avr/avr.c (avr_hard_regno_mode_ok): Make static and
+	return a bool.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/bfin/bfin-protos.h (hard_regno_mode_ok): Delete.
+	* config/bfin/bfin.h (HARD_REGNO_MODE_OK): Delete.
+	* config/bfin/bfin.c (hard_regno_mode_ok): Rename to...
+	(bfin_hard_regno_mode_ok): ...this.  Make static and return a bool.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/bfin/predicates.md (valid_reg_operand): Use
+	targetm.hard_regno_mode_ok instead of HARD_REGNO_MODE_OK.
+	* config/c6x/c6x.h (HARD_REGNO_MODE_OK): Delete.
+	* config/c6x/c6x.c (c6x_hard_regno_mode_ok): New function.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/cr16/cr16.h (HARD_REGNO_MODE_OK): Delete.
+	* config/cr16/cr16-protos.h (cr16_hard_regno_mode_ok): Delete.
+	* config/cr16/cr16.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(cr16_hard_regno_mode_ok): Make static and return a bool.
+	* config/cris/cris.h (HARD_REGNO_MODE_OK): Delete.
+	* config/cris/cris.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(cris_hard_regno_mode_ok): New function.
+	* config/epiphany/epiphany.h (epiphany_hard_regno_mode_ok): Delete.
+	(epiphany_mode_class): Delete.
+	(HARD_REGNO_MODE_OK): Delete.
+	* config/epiphany/epiphany-protos.h (hard_regno_mode_ok): Delete.
+	* config/epiphany/epiphany.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(hard_regno_mode_ok): Rename to...
+	(epiphany_hard_regno_mode_ok): ...this.  Make static and return a bool.
+	* config/fr30/fr30.h (HARD_REGNO_MODE_OK): Delete.
+	* config/fr30/fr30.md: Refer to targetm.hard_regno_mode_ok instead of
+	HARD_REGNO_MODE_OK.
+	* config/frv/frv.h (HARD_REGNO_MODE_OK): Delete.
+	* config/frv/frv-protos.h (frv_hard_regno_mode_ok): Delete.
+	* config/frv/frv.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(frv_hard_regno_mode_ok): Make static and return a bool.
+	* config/frv/frv.md: Refer to targetm.hard_regno_mode_ok instead of
+	HARD_REGNO_MODE_OK.
+	* config/ft32/ft32.h (HARD_REGNO_MODE_OK): Delete.
+	* config/h8300/h8300.h (HARD_REGNO_MODE_OK): Delete.
+	* config/h8300/h8300-protos.h (h8300_hard_regno_mode_ok): Delete.
+	* config/h8300/h8300.c (h8300_hard_regno_mode_ok): Make static
+	and return a bool.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/i386/i386.h (HARD_REGNO_MODE_OK): Delete.
+	* config/i386/i386-protos.h (ix86_hard_regno_mode_ok): Delete.
+	* config/i386/i386.c (ix86_hard_regno_mode_ok): Make static and
+	return a bool.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/ia64/ia64.h (HARD_REGNO_MODE_OK): Delete.
+	* config/ia64/ia64.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(ia64_hard_regno_mode_ok): New function.
+	* config/iq2000/iq2000.h (HARD_REGNO_MODE_OK): Delete.
+	* config/iq2000/iq2000.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(iq2000_hard_regno_mode_ok): New function.
+	* config/lm32/lm32.h (HARD_REGNO_MODE_OK): Delete.
+	* config/lm32/lm32.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(lm32_hard_regno_mode_ok): New function.
+	* config/m32c/m32c.h (HARD_REGNO_MODE_OK): Delete.
+	* config/m32c/m32c-protos.h (m32c_hard_regno_ok): Delete.
+	* config/m32c/m32c.c (class_can_hold_mode): Use m32c_hard_regno_mode_ok
+	instead of HARD_REGNO_MODE_OK.
+	(m32c_hard_regno_ok): Rename to...
+	(m32c_hard_regno_mode_ok): ...this.  Make static and return a bool.
+	(m32c_cannot_change_mode_class): Update accordingly.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/m32r/m32r.h (m32r_hard_regno_mode_ok): Delete.
+	(m32r_mode_class): Delete.
+	(HARD_REGNO_MODE_OK): Delete.
+	* config/m32r/m32r.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(m32r_hard_regno_mode_ok): Rename to...
+	(m32r_hard_regno_modes): ...this.
+	(m32r_mode_class): Make static.
+	(m32r_hard_regno_mode_ok): New function.
+	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Delete.
+	* config/m68k/m68k-protos.h (m68k_regno_mode_ok): Delete.
+	* config/m68k/m68k.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(m68k_hard_regno_mode_ok): Make static.
+	* config/mcore/mcore.h (HARD_REGNO_MODE_OK): Delete.
+	* config/mcore/mcore.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(mcore_hard_regno_mode_ok): New function.
+	* config/microblaze/microblaze.h (microblaze_hard_regno_mode_ok)
+	(HARD_REGNO_MODE_OK): Delete.
+	* config/microblaze/microblaze.c (microblaze_hard_regno_mode_ok):
+	Rename to...
+	(microblaze_hard_regno_mode_ok_p): ...this and make static.
+	(microblaze_hard_regno_mode_ok): New function.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/mips/mips.h (HARD_REGNO_MODE_OK): Delete.
+	(mips_hard_regno_mode_ok): Delete.
+	* config/mips/mips.c (mips_hard_regno_mode_ok): Rename to...
+	(mips_hard_regno_mode_ok_p): ...this and make static.
+	(mips_hard_regno_mode_ok_p): Rename to...
+	(mips_hard_regno_mode_ok_uncached): ...this.
+	(mips_hard_regno_mode_ok): New function.
+	(mips_class_max_nregs): Use mips_hard_regno_mode_ok instead
+	of HARD_REGNO_MODE_OK.
+	(mips_option_override): Update after above name changes.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/mmix/mmix.h (HARD_REGNO_MODE_OK): Delete.
+	* config/mn10300/mn10300.h (HARD_REGNO_MODE_OK): Delete.
+	* config/mn10300/mn10300-protos.h (mn10300_hard_regno_mode_ok): Delete.
+	* config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Make static.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/moxie/moxie.h (HARD_REGNO_MODE_OK): Delete.
+	* config/msp430/msp430.h (HARD_REGNO_MODE_OK): Delete.
+	* config/msp430/msp430-protos.h (msp430_hard_regno_mode_ok): Delete.
+	* config/msp430/msp430.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(msp430_hard_regno_mode_ok): Make static and return a bool.
+	* config/nds32/nds32.h (HARD_REGNO_MODE_OK): Delete.
+	* config/nds32/nds32-protos.h (nds32_hard_regno_mode_ok): Delete.
+	* config/nds32/nds32.c (nds32_hard_regno_mode_ok): Make static
+	and return a bool.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/nios2/nios2.h (HARD_REGNO_MODE_OK): Delete.
+	* config/nvptx/nvptx.h (HARD_REGNO_MODE_OK): Delete.
+	* config/pa/pa.h (MODES_TIEABLE_P): Update commentary.
+	* config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): Rename to...
+	(PA_HARD_REGNO_MODE_OK): ...this
+	* config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Rename to...
+	(PA_HARD_REGNO_MODE_OK): ...this.
+	* config/pa/pa.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(pa_hard_regno_mode_ok): New function.
+	* config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Delete.
+	* config/pdp11/pdp11.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(pdp11_hard_regno_mode_ok): New function.
+	* config/powerpcspe/powerpcspe.h (HARD_REGNO_MODE_OK): Delete.
+	* config/powerpcspe/powerpcspe-protos.h (rs6000_hard_regno_mode_ok_p):
+	Delete.
+	* config/powerpcspe/powerpcspe.c (rs6000_hard_regno_mode_ok_p):
+	Make static.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(rs6000_hard_regno_mode_ok): Rename to...
+	(rs6000_hard_regno_mode_ok_uncached): ...this.
+	(rs6000_init_hard_regno_mode_ok): Update accordingly.
+	(rs6000_hard_regno_mode_ok): New function.
+	* config/riscv/riscv.h (HARD_REGNO_MODE_OK): Delete.
+	* config/riscv/riscv-protos.h (riscv_hard_regno_mode_ok_p): Delete.
+	* config/riscv/riscv.c (riscv_hard_regno_mode_ok_p): Rename to...
+	(riscv_hard_regno_mode_ok): ...this and make static.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/rl78/rl78.h (HARD_REGNO_MODE_OK): Delete.
+	* config/rl78/rl78-protos.h (rl78_hard_regno_mode_ok): Delete.
+	* config/rl78/rl78.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(rl78_hard_regno_mode_ok): Make static and return bool.
+	* config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Delete.
+	* config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
+	Delete.
+	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): Make static.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(rs6000_hard_regno_mode_ok): Rename to...
+	(rs6000_hard_regno_mode_ok_uncached): ...this.
+	(rs6000_init_hard_regno_mode_ok): Update accordingly.
+	(rs6000_hard_regno_mode_ok): New function.
+	* config/rx/rx.h (HARD_REGNO_MODE_OK): Delete.
+	* config/rx/rx.c (rx_hard_regno_mode_ok): New function.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/s390/s390.h (HARD_REGNO_MODE_OK): Delete.
+	* config/s390/s390-protos.h (s390_hard_regno_mode_ok): Delete.
+	* config/s390/s390.c (s390_hard_regno_mode_ok): Make static.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/sh/sh.h (HARD_REGNO_MODE_OK): Delete.
+	* config/sh/sh-protos.h (sh_hard_regno_mode_ok): Delete.
+	* config/sh/sh.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(sh_hard_regno_mode_ok): Make static.
+	* config/sparc/constraints.md: Refer to targetm.hard_regno_mode_ok
+	instead of HARD_REGNO_MODE_OK.
+	* config/sparc/sparc.h (hard_regno_mode_classes): Delete.
+	(sparc_mode_class): Delete.
+	(HARD_REGNO_MODE_OK): Delete.
+	* config/sparc/sparc.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(hard_regno_mode_classes): Make static.
+	(sparc_mode_class): Likewise.
+	(sparc_hard_regno_mode_ok): New function.
+	* config/spu/spu.h (HARD_REGNO_MODE_OK): Delete.
+	* config/stormy16/stormy16.h (HARD_REGNO_MODE_OK): Delete.
+	* config/stormy16/stormy16.c (xstormy16_hard_regno_mode_ok): New
+	function.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/tilegx/tilegx.h (HARD_REGNO_MODE_OK): Delete.
+	* config/tilepro/tilepro.h (HARD_REGNO_MODE_OK): Delete.
+	* config/v850/v850.h (HARD_REGNO_MODE_OK): Delete.
+	* config/v850/v850.c (v850_hard_regno_mode_ok): New function.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	* config/vax/vax.h (HARD_REGNO_MODE_OK): Delete.
+	* config/visium/visium.h (HARD_REGNO_MODE_OK): Delete.
+	* config/visium/visium.c (TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(visium_hard_regno_mode_ok): New function.
+	* config/visium/visium.md: Refer to targetm.hard_regno_mode_ok
+	instead of HARD_REGNO_MODE_OK.
+	* config/xtensa/xtensa.h (xtensa_hard_regno_mode_ok): Delete.
+	(HARD_REGNO_MODE_OK): Delete.
+	* config/xtensa/xtensa.c (xtensa_hard_regno_mode_ok): Rename to...
+	(xtensa_hard_regno_mode_ok_p): ...this and make static.
+	(xtensa_option_override): Update accordingly.
+	(TARGET_HARD_REGNO_MODE_OK): Redefine.
+	(xtensa_hard_regno_mode_ok): New function.
+	* system.h (HARD_REGNO_MODE_OK): Poison.
+
+2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (hard_regno_call_part_clobbered): New hook.
+	* doc/tm.texi.in (HARD_REGNO_CALL_PART_CLOBBERED): Replace with...
+	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): ...this hook.
+	* doc/tm.texi: Regenerate.
+	* hooks.h (hook_bool_uint_mode_false): Declare.
+	* hooks.c (hook_bool_uint_mode_false): New function.
+	* regs.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
+	* cselib.c (cselib_process_insn): Use
+	targetm.hard_regno_call_part_clobbered instead of
+	HARD_REGNO_CALL_PART_CLOBBERED.
+	* ira-conflicts.c (ira_build_conflicts): Likewise.
+	* ira-costs.c (ira_tune_allocno_costs): Likewise.
+	* lra-constraints.c (need_for_call_save_p): Likewise.
+	* lra-lives.c: Include target.h.
+	(check_pseudos_live_through_calls): Use
+	targetm.hard_regno_call_part_clobbered instead of
+	HARD_REGNO_CALL_PART_CLOBBERED.
+	* regcprop.c: Include target.h.
+	(copyprop_hardreg_forward_1): Use
+	targetm.hard_regno_call_part_clobbered instead of
+	HARD_REGNO_CALL_PART_CLOBBERED.
+	* reginfo.c (choose_hard_reg_mode): Likewise.
+	* regrename.c (check_new_reg_p): Likewise.
+	* reload.c (find_equiv_reg): Likewise.
+	* reload1.c (emit_reload_insns): Likewise.
+	* sched-deps.c (deps_analyze_insn): Likewise.
+	* sel-sched.c (init_regs_for_mode): Likewise.
+	(mark_unavailable_hard_regs): Likewise.
+	* targhooks.c (default_dwarf_frame_reg_mode): Likewise.
+	* config/aarch64/aarch64.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
+	* config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered):
+	New function.
+	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
+	* config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
+	* config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered):
+	Delete.
+	* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Make static
+	and return a bool.
+	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
+	* config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
+	* config/i386/i386.c (ix86_hard_regno_call_part_clobbered): New
+	function.
+	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
+	* config/mips/mips.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
+	* config/mips/mips.c (mips_hard_regno_call_part_clobbered): New
+	function.
+	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
+	* config/powerpcspe/powerpcspe.h (HARD_REGNO_CALL_PART_CLOBBERED):
+	Delete.
+	* config/powerpcspe/powerpcspe.c
+	(rs6000_hard_regno_call_part_clobbered): New function.
+	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
+	* config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
+	* config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered):
+	New function.
+	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
+	* config/s390/s390.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
+	* config/s390/s390.c (s390_hard_regno_call_part_clobbered): New
+	function.
+	(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.
+	* config/sh/sh.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.
+	* system.h (HARD_REGNO_CALL_PART_CLOBBERED): Poison.
+
+2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (subreg_memory_offset): Declare.
+	* emit-rtl.c (subreg_memory_offset): New function.
+	* expmed.c (store_bit_field_1): Use it.
+	* expr.c (undefined_operand_subword_p): Likewise.
+	* simplify-rtx.c (simplify_subreg): Likewise.
+
+2017-09-04  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR rtl-optimization/57448
+	PR target/67458
+	PR target/81316
+	* optabs.c (expand_atomic_load): Place compiler memory barriers if
+	using atomic_load pattern.
+	(expand_atomic_store): Likewise.
+
+2017-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81981
+	* gimple-fold.c (gimple_fold_call): Optimize away useless UBSAN_PTR
+	and UBSAN_BOUNDS internal calls.  Clean up IFN_UBSAN_OBJECT_SIZE
+	handling.  Use replace_call_with_value with NULL instead of
+	gsi_replace, unlink_stmt_vdef and release_defs.
+
+	* gdbhooks.py (OptMachineModePrinter.to_string): Use 8 spaces
+	instead of tab.
+
+	* lra-remat.c (reg_overlap_for_remat_p): Fix a pasto.
+
+2017-09-04  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR bootstrap/82045
+	* rtl.h (emit_library_call_value_1): Declare.
+	(emit_library_call): Replace declaration with a series of overloads.
+	Remove the parameter count argument.
+	(emit_library_call_value): Likewise.
+	* calls.c (emit_library_call_value_1): Make global.  Replace varargs
+	with an "rtx_mode_t *".
+	(emit_library_call_value): Delete.
+	(emit_library_call): Likewise.
+	* asan.c (asan_emit_stack_protection): Update calls accordingly.
+	(asan_emit_allocas_unpoison): Likewise.
+	* builtins.c (expand_builtin_powi): Likewise.
+	(expand_asan_emit_allocas_unpoison): Likewise.
+	* cfgexpand.c (expand_main_function): Likewise.
+	* config/aarch64/aarch64.c (aarch64_trampoline_init): Likewise.
+	* config/aarch64/aarch64.h (PROFILE_HOOK): Likewise.
+	* config/alpha/alpha.c (alpha_trampoline_init): Likewise.
+	* config/arm/arm.c (arm_trampoline_init): Likewise.
+	(arm_call_tls_get_addr): Likewise.
+	(arm_expand_divmod_libfunc): Likewise.
+	* config/bfin/bfin.md (umulsi3_highpart): Likewise.
+	(smulsi3_highpart): Likewise.
+	* config/c6x/c6x.c (c6x_initialize_trampoline): Likewise.
+	(c6x_expand_compare): Likewise.
+	(c6x_expand_movmem): Likewise.
+	* config/frv/frv.c (frv_trampoline_init): Likewise.
+	* config/i386/i386.c (ix86_trampoline_init): Likewise.
+	(ix86_expand_divmod_libfunc): Likewise.
+	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
+	(ia64_expand_compare): Likewise.
+	(ia64_profile_hook): Likewise.
+	* config/ia64/ia64.md (save_stack_nonlocal): Likewise.
+	(nonlocal_goto): Likewise.
+	(restore_stack_nonlocal): Likewise.
+	* config/m32r/m32r.c (block_move_call): Likewise.
+	(m32r_trampoline_init): Likewise.
+	* config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise.
+	* config/m68k/m68k.c (m68k_call_tls_get_addr): Likewise.
+	(m68k_call_m68k_read_tp): Likewise.
+	* config/microblaze/microblaze.c (microblaze_call_tls_get_addr)
+	(microblaze_expand_divide): Likewise.
+	* config/mips/mips.h (mips_args): Likewise.
+	* config/mips/sdemtk.h (mips_sync_icache): Likewise.
+	(MIPS_ICACHE_SYNC): Likewise.
+	* config/nios2/nios2.c (nios2_emit_expensive_div): Likewise.
+	(nios2_trampoline_init): Likewise.
+	* config/pa/pa.c (hppa_tls_call): Likewise.
+	(pa_trampoline_init): Likewise.
+	* config/pa/pa.md (canonicalize_funcptr_for_compare): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_legitimize_tls_address)
+	(expand_strn_compare): Likewise.
+	(rs6000_generate_compare): Likewise.
+	(rs6000_expand_float128_convert): Likewise.
+	(output_profile_hook): Likewise.
+	(rs6000_trampoline_init): Likewise.
+	* config/powerpcspe/powerpcspe.md (neg<mode>2): Likewise.
+	* config/riscv/riscv.h (PROFILE_HOOK): Likewise.
+	* config/rs6000/rs6000-string.c (expand_strn_compare): Likewise.
+	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
+	(rs6000_generate_compare): Likewise.
+	(rs6000_expand_float128_convert): Likewise.
+	(output_profile_hook): Likewise.
+	(rs6000_trampoline_init): Likewise.
+	* config/rs6000/rs6000.md (neg<mode>2): Likewise.
+	* config/sh/sh.c (sh_trampoline_init): Likewise.
+	* config/sparc/sparc.c (emit_soft_tfmode_libcall): Likewise.
+	(sparc_emit_float_lib_cmp): Likewise.
+	(sparc32_initialize_trampoline): Likewise.
+	(sparc64_initialize_trampoline): Likewise.
+	(sparc_profile_hook): Likewise.
+	* config/spu/spu.c (ea_load_store): Likewise.
+	* config/spu/spu.md (floatunssidf2): Likewise.
+	* config/tilegx/tilegx.c (tilegx_trampoline_init): Likewise.
+	* config/tilepro/tilepro.c (tilepro_trampoline_init): Likewise.
+	* config/visium/visium.c (expand_block_move_4): Likewise.
+	(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.
+	(visium_profile_hook): Likewise.
+	* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Likewise.
+	(xtensa_setup_frame_addresses): Likewise.
+	(xtensa_trampoline_init): Likewise.
+	* except.c (sjlj_emit_function_enter): Likewise.
+	(sjlj_emit_function_exit): Likewise.
+	* explow.c (allocate_dynamic_stack_space): Likewise.
+	(probe_stack_range): Likewise.
+	* expr.c (convert_mode_scalar): Likewise.
+	* optabs.c (expand_binop): Likewise.
+	(expand_twoval_binop_libfunc): Likewise.
+	(expand_unop): Likewise.
+	(prepare_cmp_insn): Likewise.
+	(prepare_float_lib_cmp): Likewise.
+	(expand_float): Likewise.
+	(expand_fix): Likewise.
+	(expand_fixed_convert): Likewise.
+	(maybe_emit_sync_lock_test_and_set): Likewise.
+	(expand_atomic_compare_and_swap): Likewise.
+	(expand_mem_thread_fence): Likewise.
+	(expand_atomic_fetch_op): Likewise.
+
+2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/generic.texi (OpenACC): Adjust URL.
+	* doc/invoke.texi (C Dialect Options): Ditto.
+
+2017-09-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*bt<mode>): Use nonimmediate_operand
+	predicate for operand 1.  Add (m,<S>) constraint.
+	(*jcc_bt<mode>): Use nonimmediate_operand predicate for operand 1.
+	Prevent memory operand 1 with register operand 2.
+
+2017-09-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/82024
+	* combine.c (try_combine): If the combination result is a PARALLEL,
+	and we only need to retain the SET in there that would be placed
+	at I2, check that we can place that at I3 instead, before doing so.
+
+2017-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81766
+	* config/i386/i386.c (ix86_init_large_pic_reg): Return label
+	instead of void.
+	(ix86_init_pic_reg): Remember label from ix86_init_large_pic_reg,
+	if non-NULL and preceded by NOTE_INSN_BASIC_BLOCK, swap the note
+	and label.
+
+2017-09-01  Joerg Sonnenberger  <joerg@bec.de>
+	    Jeff Law  <law@redhat.com>
+
+	* varasm.c (bss_initializer_p): Do not put constants into .bss
+	(categorize_decl_for_section): Handle bss_initializer_p returning
+	false when DECL_INITIAL is NULL.
+
+2017-09-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/82012
+	* config/s390/s390.c (s390_can_inline_p): New function.
+
+2017-09-01  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/82052
+	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr):
+	Always initialize the returned slot after a hash table miss
+	when INSERT is true.
+
+2017-09-01  Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/s390/s390.md (mem_signal_fence): Remove.
+	* doc/md.texi (mem_signal_fence): Remove.
+	* optabs.c (expand_mem_signal_fence): Remove uses of mem_signal_fence.
+	Update comments.
+	* target-insns.def (mem_signal_fence): Remove.
+
+2017-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81902
+	* doc/invoke.texi: Document -fsanitize=pointer-overflow.
+
+	PR sanitizer/81923
+	* asan.c (create_odr_indicator): Strip name encoding from assembler
+	name before appending it after __odr_asan_.
+
+2017-09-01  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/82059
+	* gimple-ssa-isolate-paths.c (isolate_path): Add profile and
+	frequency only when an edge is redirected.
+
+2017-09-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-c.c (__ARC_LPC_WIDTH__): Add builtin define.
+	* config/arc/arc.c (ARC_MAX_LOOP_LENGTH): Define.
+	(arc_conditional_register_usage): Remove ARC600 lp_count
+	exception.
+	(arc_file_start): Emit Tag_ARC_CPU_variation.
+	(arc_can_use_doloop_p): New conditions to use ZOLs.
+	(hwloop_fail): New function.
+	(hwloop_optimize): Likewise.
+	(hwloop_pattern_reg): Likewise.
+	(arc_doloop_hooks): New struct, to be used with reorg_loops.
+	(arc_reorg_loops): New function, calls reorg_loops.
+	(arc_reorg): Call arc_reorg_loops.  Remove old ZOL handling.
+	(arc600_corereg_hazard): Remove ZOL checking, case handled by
+	hwloop_optimize.
+	(arc_loop_hazard): Remove function, functionality moved into
+	hwloop_optimize.
+	(arc_hazard): Remove arc_loop_hazard call.
+	(arc_adjust_insn_length): Remove ZOL handling, functionality moved
+	into hwloop_optimize.
+	(arc_label_align): Remove ZOL handling.
+	* config/arc/arc.h (LOOP_ALIGN): Changed to 0.
+	* config/arc/arc.md (doloop_begin): Remove pattern.
+	(doloop_begin_i): Likewise.
+	(doloop_end_i): Likewise.
+	(doloop_fallback): Likewise.
+	(doloop_fallback_m): Likewise.
+	(doloop_end): Reimplement expand.
+	(arc_lp): New pattern for LP instruction.
+	(loop_end): New pattern.
+	(loop_fail): Likewise.
+	(decrement_and_branch_until_zero): Likewise.
+	* config/arc/arc.opt (mlpc-width): New option.
+	* doc/invoke.texi (mlpc-width): Document option.
+
+2017-09-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_ifcvt): Remove use of merge_blocks call.
+	(arc_ccfsm_advance): Fix checking for delay slots.
+	(arc_reorg): Add rtl dump after each call to arc_ifcvt.
+
+2017-09-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (movqi_insn): Add stores to save constant long
+	immediates.
+	(movhi_insn): Update store instruction constraint which are saving
+	6-bit short immediates.
+	(movsi_insn): Consider also short scaled load operations.
+	(zero_extendhisi2_i): Use Usd constraint instead of T.
+	(extendhisi2_i): Add q constraint.
+	(arc_clzsi2): Add type and length attributes.
+	(arc_ctzsi2): Likewise.
+	* config/arc/constraints.md (Usc): Update constraint, the
+	assembler can parse two relocations for a single instruction.
+
+2017-09-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_use_anchors_for_symbol_p): New function.
+	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
+
+2017-08-31  Olivier Hainque  <hainque@adacore.com>
+
+	* config.gcc (powerpc-wrs-vxworks|vxworksae|vxworksmils): Now
+	match as powerpc-wrs-vxworks*.
+
+2017-08-31  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_mla_elt_merge<mode>): Fix
+	register constraint for by-element operand.
+	(aarch64_mls_elt_merge<mode>): Likewise.
+
+2017-08-31  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_can_follow_jump): Check for short
+	branches.
+
+2017-08-31  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config.gcc: Use g.opt for arc.
+	* config/arc/arc.c (LEGITIMATE_SCALED_ADDRESS_P): Deleted,
+	functionality moved to ...
+	(legitimate_scaled_address_p): New function, ...here.
+	(LEGITIMATE_SMALL_DATA_OFFSET_P): New define.
+	(LEGITIMATE_SMALL_DATA_ADDRESS_P): Use the above define.
+	(legitimate_offset_address_p): Delete TARGET_NO_SDATA_SET
+	condition.
+	(arc_override_options): Handle G option.
+	(arc_output_pic_addr_const): Correct function definition.
+	(arc_legitimate_address_p): Use legitimate_scaled_address_p.
+	(arc_decl_anon_ns_mem_p): Delete.
+	(arc_in_small_data_p): Overhaul this function to take into
+	consideration the value given via G option.
+	(arc_rewrite_small_data_1): Renamed and corrected old
+	arc_rewrite_small_data function.
+	(arc_rewrite_small_data): New function.
+	(small_data_pattern): Don't use pic_offset_table_rtx.
+	* config/arc/arc.h (CC1_SPEC): Recognize G option.
+	* config/arc/simdext.md (movmisalignv2hi): Use
+	prepare_move_operands function.
+	(mov*): Likewise.
+	(movmisalign*): Likewise.
+	* doc/invoke.texi (ARC options): Document -G option.
+
+2017-08-31  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-protos.h (compact_sda_memory_operand): Update
+	prototype.
+	* config/arc/arc.c (arc_print_operand): Output scalled address for
+	sdata whenever is possible.
+	(arc_in_small_data_p): Allow sdata for 64bit datum when double
+	load/stores are available.
+	(compact_sda_memory_operand): Check for the alignment required by
+	code density instructions.
+	* config/arc/arc.md (movsi_insn): Use newly introduced Us0
+	constraint.
+	* config/arc/constraints.md (Usd): Update constraint.
+	(Us0): New constraint.
+	(Usc): Update constraint.
+
+2017-08-31  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/82054
+	* dwarf2out.c (dwarf2out_early_global_decl): Process each
+	function only once.
+
+2017-08-31  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
+	Resize type_signature.
+
+2017-08-31  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_base_register_rtx_p): Only allow
+	subregs whose inner modes can be stored in GPRs.
+	(aarch64_classify_index): Likewise.
+
+2017-08-31  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/iterators.md (V_cmp_result): Rename to...
+	(V_INT_EQUIV): ...this.
+	(v_cmp_result): Rename to...
+	(v_int_equiv): ...this.
+	* config/aarch64/aarch64.md (xorsign<mode>3): Update accordingly.
+	* config/aarch64/aarch64-simd.md (xorsign<mode>3): Likewise.
+	(copysign<mode>3): Likewise.
+	(aarch64_simd_bsl<mode>_internal): Likewise.
+	(aarch64_simd_bsl<mode>): Likewise.
+	(vec_cmp<mode><mode>): Likewise.
+	(vcond<mode><mode>): Likewise.
+	(vcond<v_cmp_mixed><mode>): Likewise.
+	(vcondu<mode><v_cmp_mixed>): Likewise.
+	(aarch64_cm<optab><mode>): Likewise.
+	(aarch64_cmtst<mode>): Likewise.
+	(aarch64_fac<optab><mode>): Likewise.
+	(vec_perm_const<mode>): Likewise.
+	(vcond_mask_<mode><v_cmp_result>): Rename to...
+	(vcond_mask_<mode><v_int_equiv>): ...this.
+	(vec_cmp<mode><v_cmp_result>): Rename to...
+	(vec_cmp<mode><v_int_equiv>): ...this.
+
+2017-08-31  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-modes.def: Remove 32-, 48- and 64-byte
+	vector modes.
+	* config/aarch64/iterators.md (VRL2, VRL3, VRL4): Delete.
+	* config/aarch64/aarch64.md (UNSPEC_LD2_DREG, UNSPEC_LD3_DREG)
+	(UNSPEC_LD4_DREG): New unspecs.
+	* config/aarch64/aarch64-simd.md (aarch64_ld2<mode>_dreg_le)
+	(aarch64_ld2<mode>_dreg_be): Replace with...
+	(aarch64_ld2<mode>_dreg): ...this pattern and use the new DREG
+	unspec.
+	(aarch64_ld3<mode>_dreg_le)
+	(aarch64_ld3<mode>_dreg_be): Replace with...
+	(aarch64_ld3<mode>_dreg): ...this pattern and use the new DREG
+	unspec.
+	(aarch64_ld4<mode>_dreg_le)
+	(aarch64_ld4<mode>_dreg_be): Replace with...
+	(aarch64_ld4<mode>_dreg): ...this pattern and use the new DREG
+	unspec.
+
+2017-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/81987
+	* gimple-ssa-strength-reduction.c (insert_initializers): Don't
+	insert an initializer in a location not dominated by the stride
+	definition.
+
+2017-08-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-eh.c (lower_try_finally_switch): Set the location of the finally
+	on the entire header of the finally block in the fallthru case.
+
+2017-08-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* varasm.c (decode_addr_const): Deal with INDIRECT_REF <INTEGER_CST>.
+
+2017-08-30  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_emit_prologue_move_from_cr): Rename from
+	rs6000_emit_move_from_cr and call renamed function.
+	(rs6000_emit_prologue): Call renamed functions.
+	* config/rs6000/rs6000.md (prologue_movesi_from_cr): Rename from
+	movesi_from_cr, remove volatile CRs.
+
+2017-08-30  Jon Beniston  <jon@beniston.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-patterns.c (vect_pattern_recog_1): Use VECTOR_TYPE_P instead
+	of VECTOR_MODE_P check.
+	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Allow single
+	element vector types.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* df.h (df_read_modify_subreg_p): Remove in favor of...
+	* rtl.h (read_modify_subreg_p): ...this new function.  Take a
+	const_rtx instead of an rtx.
+	* cprop.c (local_cprop_find_used_regs): Update accordingly.
+	* df-problems.c (df_word_lr_mark_ref): Likewise.
+	* ira-lives.c (mark_pseudo_reg_live): Likewise.
+	(mark_pseudo_reg_dead): Likewise.
+	(mark_ref_dead): Likewise.
+	* reginfo.c (init_subregs_of_mode): Likewise.
+	* sched-deps.c (sched_analyze_1): Likewise.
+	* df-scan.c (df_def_record_1): Likewise.
+	(df_uses_record): Likewise.
+	(df_read_modify_subreg_p): Remove in favor of...
+	* rtlanal.c (read_modify_subreg_p): ...this new function.  Take a
+	const_rtx instead of an rtx.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (partial_subreg_p): New function.
+	* caller-save.c (save_call_clobbered_regs): Use it.
+	* calls.c (expand_call): Likewise.
+	* combine.c (combinable_i3pat): Likewise.
+	(simplify_set): Likewise.
+	(make_extraction): Likewise.
+	(make_compound_operation_int): Likewise.
+	(gen_lowpart_or_truncate): Likewise.
+	(force_to_mode): Likewise.
+	(make_field_assignment): Likewise.
+	(reg_truncated_to_mode): Likewise.
+	(record_truncated_value): Likewise.
+	(move_deaths): Likewise.
+	* cse.c (record_jump_cond): Likewise.
+	(cse_insn): Likewise.
+	* cselib.c (cselib_lookup_1): Likewise.
+	* expmed.c (extract_bit_field_using_extv): Likewise.
+	* function.c (assign_parm_setup_reg): Likewise.
+	* ifcvt.c (noce_convert_multiple_sets): Likewise.
+	* ira-build.c (create_insn_allocnos): Likewise.
+	* lra-coalesce.c (merge_pseudos): Likewise.
+	* lra-constraints.c (match_reload): Likewise.
+	(simplify_operand_subreg): Likewise.
+	(curr_insn_transform): Likewise.
+	* lra-lives.c (process_bb_lives): Likewise.
+	* lra.c (new_insn_reg): Likewise.
+	(lra_substitute_pseudo): Likewise.
+	* regcprop.c (mode_change_ok): Likewise.
+	(maybe_mode_change): Likewise.
+	(copyprop_hardreg_forward_1): Likewise.
+	* reload.c (push_reload): Likewise.
+	(find_reloads): Likewise.
+	(find_reloads_subreg_address): Likewise.
+	* reload1.c (alter_reg): Likewise.
+	(eliminate_regs_1): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+
+2017-08-30  David Edelsohn  <dje.gcc@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Revert
+	back to if statements, including unpack.
+
+2017-08-30  Martin Liska  <mliska@suse.cz>
+
+	PR inline-asm/82001
+	* ipa-icf-gimple.c (func_checker::compare_tree_list_operand):
+	Rename to ...
+	(func_checker::compare_asm_inputs_outputs): ... this function.
+	(func_checker::compare_gimple_asm): Use the function to compare
+	also ASM constrains.
+	* ipa-icf-gimple.h: Rename the function.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (complex_mode): New type.
+	* gdbhooks.py (build_pretty_printer): Handle it.
+	* machmode.h (complex_mode): New class.
+	(complex_mode::includes_p): New function.
+	(is_complex_int_mode): Likewise.
+	(is_complex_float_mode): Likewise.
+	* genmodes.c (get_mode_class): Handle complex mode classes.
+	* function.c (expand_function_end): Use is_complex_int_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (scalar_mode_pod): New typedef.
+	* gdbhooks.py (build_pretty_printer): Handle it.
+	* machmode.h (gt_ggc_mx, gt_pch_nx): New functions.
+	* fixed-value.h (fixed_value::mode): Change type to scalar_mode_pod.
+	* fold-const.c (fold_convert_const_int_from_fixed): Use scalar_mode.
+	* tree-streamer-in.c (unpack_ts_fixed_cst_value_fields): Use
+	as_a <scalar_mode>.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (mode_for_vector): Take a scalar_mode instead
+	of a machine_mode.
+	* stor-layout.c (mode_for_vector): Likewise.
+	* explow.c (promote_mode): Use as_a <scalar_mode>.
+	* sdbout.c (sdbout_parms): Use is_a <scalar_mode>.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (preferred_simd_mode): Take a scalar_mode
+	instead of a machine_mode.
+	* targhooks.h (default_preferred_simd_mode): Likewise.
+	* targhooks.c (default_preferred_simd_mode): Likewise.
+	* config/arc/arc.c (arc_preferred_simd_mode): Likewise.
+	* config/arm/arm.c (arm_preferred_simd_mode): Likewise.
+	* config/c6x/c6x.c (c6x_preferred_simd_mode): Likewise.
+	* config/epiphany/epiphany.c (epiphany_preferred_simd_mode): Likewise.
+	* config/i386/i386.c (ix86_preferred_simd_mode): Likewise.
+	* config/mips/mips.c (mips_preferred_simd_mode): Likewise.
+	* config/nvptx/nvptx.c (nvptx_preferred_simd_mode): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_preferred_simd_mode):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_preferred_simd_mode): Likewise.
+	* config/s390/s390.c (s390_preferred_simd_mode): Likewise.
+	* config/sparc/sparc.c (sparc_preferred_simd_mode): Likewise.
+	* config/aarch64/aarch64.c (aarch64_preferred_simd_mode): Likewise.
+	(aarch64_simd_scalar_immediate_valid_for_move): Update accordingly.
+	* doc/tm.texi: Regenerate.
+	* optabs-query.c (can_vec_mask_load_store_p): Return false for
+	non-scalar modes.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (scalar_mode_supported_p): Take a scalar_mode
+	instead of a machine_mode.
+	* targhooks.h (default_scalar_mode_supported_p): Likewise.
+	* targhooks.c (default_scalar_mode_supported_p): Likewise.
+	* config/aarch64/aarch64.c (aarch64_scalar_mode_supported_p): Likewise.
+	* config/alpha/alpha.c (alpha_scalar_mode_supported_p): Likewise.
+	* config/arm/arm.c (arm_scalar_mode_supported_p): Likewise.
+	* config/avr/avr.c (avr_scalar_mode_supported_p): Likewise.
+	* config/c6x/c6x.c (c6x_scalar_mode_supported_p): Likewise.
+	* config/i386/i386.c (ix86_scalar_mode_supported_p): Likewise.
+	* config/ia64/ia64.c (ia64_scalar_mode_supported_p): Likewise.
+	* config/mips/mips.c (mips_scalar_mode_supported_p): Likewise.
+	* config/msp430/msp430.c (msp430_scalar_mode_supported_p): Likewise.
+	* config/pa/pa.c (pa_scalar_mode_supported_p): Likewise.
+	* config/pdp11/pdp11.c (pdp11_scalar_mode_supported_p): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_scalar_mode_supported_p):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Likewise.
+	* config/s390/s390.c (s390_scalar_mode_supported_p): Likewise.
+	* config/spu/spu.c (spu_scalar_mode_supported_p): Likewise.
+	* config/tilegx/tilegx.c (tilegx_scalar_mode_supported_p): Likewise.
+	* config/tilepro/tilepro.c (tilepro_scalar_mode_supported_p):
+	Likewise.
+	* doc/tm.texi: Regenerate.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (opt_scalar_mode): New typedef.
+	* gdbhooks.py (build_pretty_printers): Handle it.
+	* machmode.h (mode_iterator::get_2xwider): Add overload for
+	opt_mode<T>.
+	* emit-rtl.c (init_emit_once): Use opt_scalar_mode when iterating
+	over scalar modes.
+	* expr.c (convert_mode_scalar): Likewise.
+	* omp-low.c (omp_clause_aligned_alignment): Likewise.
+	* optabs.c (expand_float): Likewise.
+	(expand_fix): Likewise.
+	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* optabs.c (expand_float): Explicitly check for scalars before
+	using a branching expansion.
+	(expand_fix): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.c (convert_mode): Split scalar handling out into...
+	(convert_mode_scalar): ...this new function.  Treat the modes
+	as scalar_modes.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* omp-expand.c (expand_omp_atomic): Use is_int_mode, is_float_mode
+	and scalar_mode.
+	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* fixed-value.h (fixed_from_double_int): Take a scalar_mode
+	rather than a machine_mode.
+	(fixed_from_string): Likewise.
+	(fixed_convert): Likewise.
+	(fixed_convert_from_int): Likewise.
+	(fixed_convert_from_real): Likewise.
+	(real_convert_from_fixed): Likewise.
+	* fixed-value.c (fixed_from_double_int): Likewise.
+	(fixed_from_string): Likewise.
+	(fixed_convert): Likewise.
+	(fixed_convert_from_int): Likewise.
+	(fixed_convert_from_real): Likewise.
+	(real_convert_from_fixed): Likewise.
+	* config/avr/avr.c (avr_out_round): Use as_a <scalar_mode>.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* emit-rtl.c (immed_double_const): Use is_a <scalar_mode> instead
+	of separate mode class checks.  Do not allow vector modes here.
+	(immed_wide_int_const): Use as_a <scalar_mode>.
+	* explow.c (trunc_int_for_mode): Likewise.
+	* rtl.h (wi::int_traits<rtx_mode_t>::get_precision): Likewise.
+	(wi::shwi): Likewise.
+	(wi::min_value): Likewise.
+	(wi::max_value): Likewise.
+	* dwarf2out.c (loc_descriptor): Likewise.
+	* simplify-rtx.c (simplify_immed_subreg): Fix rtx_mode_t argument
+	for CONST_WIDE_INT.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (SCALAR_TYPE_MODE): New macro.
+	* expr.c (expand_expr_addr_expr_1): Use it.
+	(expand_expr_real_2): Likewise.
+	* fold-const.c (fold_convert_const_fixed_from_fixed): Likeise.
+	(fold_convert_const_fixed_from_int): Likewise.
+	(fold_convert_const_fixed_from_real): Likewise.
+	(native_encode_fixed): Likewise
+	(native_encode_complex): Likewise
+	(native_encode_vector): Likewise.
+	(native_interpret_fixed): Likewise.
+	(native_interpret_real): Likewise.
+	(native_interpret_complex): Likewise.
+	(native_interpret_vector): Likewise.
+	* omp-simd-clone.c (simd_clone_adjust_return_type): Likewise.
+	(simd_clone_adjust_argument_types): Likewise.
+	(simd_clone_init_simd_arrays): Likewise.
+	(simd_clone_adjust): Likewise.
+	* stor-layout.c (layout_type): Likewise.
+	* tree.c (build_minus_one_cst): Likewise.
+	* tree-cfg.c (verify_gimple_assign_ternary): Likewise.
+	* tree-inline.c (estimate_move_cost): Likewise.
+	* tree-ssa-math-opts.c (convert_plusminus_to_widen): Likewise.
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
+	(vectorizable_reduction): Likewise.
+	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Likewise.
+	(vect_recog_mixed_size_cond_pattern): Likewise.
+	(check_bool_pattern): Likewise.
+	(adjust_bool_pattern): Likewise.
+	(search_type_for_mask_1): Likewise.
+	* tree-vect-slp.c (vect_schedule_slp_instance): Likewise.
+	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
+	(vectorizable_load): Likewise.
+	(vectorizable_store): Likewise.
+	* ubsan.c (ubsan_encode_value): Likewise.
+	* varasm.c (output_constant): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (scalar_mode): New class.
+	* machmode.h (scalar_mode): Likewise.
+	(scalar_mode::includes_p): New function.
+	(mode_to_inner): Return a scalar_mode rather than a machine_mode.
+	* gdbhooks.py (build_pretty_printers): Handle scalar_mode.
+	* genmodes.c (get_mode_class): Handle remaining scalar modes.
+	* cfgexpand.c (expand_debug_expr): Use scalar_mode.
+	* expmed.c (store_bit_field_1): Likewise.
+	(extract_bit_field_1): Likewise.
+	* expr.c (write_complex_part): Likewise.
+	(read_complex_part): Likewise.
+	(emit_move_complex_push): Likewise.
+	(expand_expr_real_2): Likewise.
+	* function.c (assign_parm_setup_reg): Likewise.
+	(assign_parms_unsplit_complex): Likewise.
+	* optabs.c (expand_binop): Likewise.
+	* rtlanal.c (subreg_get_info): Likewise.
+	* simplify-rtx.c (simplify_immed_subreg): Likewise.
+	* varasm.c (output_constant_pool_2): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expmed.c (extract_high_half): Use scalar_int_mode and remove
+	assertion.
+	(expmed_mult_highpart_optab): Likewise.
+	(expmed_mult_highpart): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* builtins.h (builtin_strncpy_read_str): Take a scalar_int_mode
+	instead of a machine_mode.
+	(builtin_memset_read_str): Likewise.
+	* builtins.c (c_readstr): Likewise.
+	(builtin_memcpy_read_str): Likewise.
+	(builtin_strncpy_read_str): Likewise.
+	(builtin_memset_read_str): Likewise.
+	(builtin_memset_gen_str): Likewise.
+	(expand_builtin_signbit): Use scalar_int_mode for local variables.
+	* cfgexpand.c (convert_debug_memory_address): Take a scalar_int_mode
+	instead of a machine_mode.
+	* combine.c (simplify_if_then_else): Use scalar_int_mode for local
+	variables.
+	(make_extraction): Likewise.
+	(try_widen_shift_mode): Take and return scalar_int_modes instead
+	of machine_modes.
+	* config/aarch64/aarch64.c (aarch64_libgcc_cmp_return_mode): Return
+	a scalar_int_mode instead of a machine_mode.
+	* config/avr/avr.c (avr_addr_space_address_mode): Likewise.
+	(avr_addr_space_pointer_mode): Likewise.
+	* config/cr16/cr16.c (cr16_unwind_word_mode): Likewise.
+	* config/msp430/msp430.c (msp430_addr_space_pointer_mode): Likewise.
+	(msp430_unwind_word_mode): Likewise.
+	* config/spu/spu.c (spu_unwind_word_mode): Likewise.
+	(spu_addr_space_pointer_mode): Likewise.
+	(spu_addr_space_address_mode): Likewise.
+	(spu_libgcc_cmp_return_mode): Likewise.
+	(spu_libgcc_shift_count_mode): Likewise.
+	* config/rl78/rl78.c (rl78_addr_space_address_mode): Likewise.
+	(rl78_addr_space_pointer_mode): Likewise.
+	(fl78_unwind_word_mode): Likewise.
+	(rl78_valid_pointer_mode): Take a scalar_int_mode instead of a
+	machine_mode.
+	* config/alpha/alpha.c (vms_valid_pointer_mode): Likewise.
+	* config/ia64/ia64.c (ia64_vms_valid_pointer_mode): Likewise.
+	* config/mips/mips.c (mips_mode_rep_extended): Likewise.
+	(mips_valid_pointer_mode): Likewise.
+	* config/tilegx/tilegx.c (tilegx_mode_rep_extended): Likewise.
+	* config/ft32/ft32.c (ft32_valid_pointer_mode): Likewise.
+	(ft32_addr_space_pointer_mode): Return a scalar_int_mode instead
+	of a machine_mode.
+	(ft32_addr_space_address_mode): Likewise.
+	* config/m32c/m32c.c (m32c_valid_pointer_mode): Take a
+	scalar_int_mode instead of a machine_mode.
+	(m32c_addr_space_pointer_mode): Return a scalar_int_mode instead
+	of a machine_mode.
+	(m32c_addr_space_address_mode): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_abi_word_mode): Likewise.
+	(rs6000_eh_return_filter_mode): Likewise.
+	* config/rs6000/rs6000.c (rs6000_abi_word_mode): Likewise.
+	(rs6000_eh_return_filter_mode): Likewise.
+	* config/s390/s390.c (s390_libgcc_cmp_return_mode): Likewise.
+	(s390_libgcc_shift_count_mode): Likewise.
+	(s390_unwind_word_mode): Likewise.
+	(s390_valid_pointer_mode): Take a scalar_int_mode rather than a
+	machine_mode.
+	* target.def (mode_rep_extended): Likewise.
+	(valid_pointer_mode): Likewise.
+	(addr_space.valid_pointer_mode): Likewise.
+	(eh_return_filter_mode): Return a scalar_int_mode rather than
+	a machine_mode.
+	(libgcc_cmp_return_mode): Likewise.
+	(libgcc_shift_count_mode): Likewise.
+	(unwind_word_mode): Likewise.
+	(addr_space.pointer_mode): Likewise.
+	(addr_space.address_mode): Likewise.
+	* doc/tm.texi: Regenerate.
+	* dojump.c (prefer_and_bit_test): Take a scalar_int_mode rather than
+	a machine_mode.
+	(do_jump): Use scalar_int_mode for local variables.
+	* dwarf2cfi.c (init_return_column_size): Take a scalar_int_mode
+	rather than a machine_mode.
+	* dwarf2out.c (convert_descriptor_to_mode): Likewise.
+	(scompare_loc_descriptor_wide): Likewise.
+	(scompare_loc_descriptor_narrow): Likewise.
+	* emit-rtl.c (adjust_address_1): Use scalar_int_mode for local
+	variables.
+	* except.c (sjlj_emit_dispatch_table): Likewise.
+	(expand_builtin_eh_copy_values): Likewise.
+	* explow.c (convert_memory_address_addr_space_1): Likewise.
+	Take a scalar_int_mode rather than a machine_mode.
+	(convert_memory_address_addr_space): Take a scalar_int_mode rather
+	than a machine_mode.
+	(memory_address_addr_space): Use scalar_int_mode for local variables.
+	* expmed.h (expand_mult_highpart_adjust): Take a scalar_int_mode
+	rather than a machine_mode.
+	* expmed.c (mask_rtx): Likewise.
+	(init_expmed_one_conv): Likewise.
+	(expand_mult_highpart_adjust): Likewise.
+	(extract_high_half): Likewise.
+	(expmed_mult_highpart_optab): Likewise.
+	(expmed_mult_highpart): Likewise.
+	(expand_smod_pow2): Likewise.
+	(expand_sdiv_pow2): Likewise.
+	(emit_store_flag_int): Likewise.
+	(adjust_bit_field_mem_for_reg): Use scalar_int_mode for local
+	variables.
+	(extract_low_bits): Likewise.
+	* expr.h (by_pieces_constfn): Take a scalar_int_mode rather than
+	a machine_mode.
+	* expr.c (pieces_addr::adjust):  Likewise.
+	(can_store_by_pieces): Likewise.
+	(store_by_pieces): Likewise.
+	(clear_by_pieces_1): Likewise.
+	(expand_expr_addr_expr_1): Likewise.
+	(expand_expr_addr_expr): Use scalar_int_mode for local variables.
+	(expand_expr_real_1): Likewise.
+	(try_casesi): Likewise.
+	* final.c (shorten_branches): Likewise.
+	* fold-const.c (fold_convert_const_int_from_fixed): Change the
+	type of "mode" to machine_mode.
+	* internal-fn.c (expand_arith_overflow_result_store): Take a
+	scalar_int_mode rather than a machine_mode.
+	(expand_mul_overflow): Use scalar_int_mode for local variables.
+	* loop-doloop.c (doloop_modify): Likewise.
+	(doloop_optimize): Likewise.
+	* optabs.c (expand_subword_shift): Take a scalar_int_mode rather
+	than a machine_mode.
+	(expand_doubleword_shift_condmove): Likewise.
+	(expand_doubleword_shift): Likewise.
+	(expand_doubleword_clz): Likewise.
+	(expand_doubleword_popcount): Likewise.
+	(expand_doubleword_parity): Likewise.
+	(expand_absneg_bit): Use scalar_int_mode for local variables.
+	(prepare_float_lib_cmp): Likewise.
+	* rtl.h (convert_memory_address_addr_space_1): Take a scalar_int_mode
+	rather than a machine_mode.
+	(convert_memory_address_addr_space): Likewise.
+	(get_mode_bounds): Likewise.
+	(get_address_mode): Return a scalar_int_mode rather than a
+	machine_mode.
+	* rtlanal.c (get_address_mode): Likewise.
+	* stor-layout.c (get_mode_bounds): Take a scalar_int_mode rather
+	than a machine_mode.
+	* targhooks.c (default_mode_rep_extended): Likewise.
+	(default_valid_pointer_mode): Likewise.
+	(default_addr_space_valid_pointer_mode): Likewise.
+	(default_eh_return_filter_mode): Return a scalar_int_mode rather
+	than a machine_mode.
+	(default_libgcc_cmp_return_mode): Likewise.
+	(default_libgcc_shift_count_mode): Likewise.
+	(default_unwind_word_mode): Likewise.
+	(default_addr_space_pointer_mode): Likewise.
+	(default_addr_space_address_mode): Likewise.
+	* targhooks.h (default_eh_return_filter_mode): Likewise.
+	(default_libgcc_cmp_return_mode): Likewise.
+	(default_libgcc_shift_count_mode): Likewise.
+	(default_unwind_word_mode): Likewise.
+	(default_addr_space_pointer_mode): Likewise.
+	(default_addr_space_address_mode): Likewise.
+	(default_mode_rep_extended): Take a scalar_int_mode rather than
+	a machine_mode.
+	(default_valid_pointer_mode): Likewise.
+	(default_addr_space_valid_pointer_mode): Likewise.
+	* tree-ssa-address.c (addr_for_mem_ref): Use scalar_int_mode for
+	local variables.
+	* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Take a scalar_int_mode
+	rather than a machine_mode.
+	* tree-switch-conversion.c (array_value_type): Use scalar_int_mode
+	for local variables.
+	* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
+	* var-tracking.c (use_narrower_mode): Take a scalar_int_mode rather
+	than a machine_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* dojump.c (do_jump_by_parts_greater_rtx): Change the type of
+	the mode argument to scalar_int_mode.
+	(do_jump_by_parts_zero_rtx): Likewise.
+	(do_jump_by_parts_equality_rtx): Likewise.
+	(do_jump_by_parts_greater): Take a mode argument.
+	(do_jump_by_parts_equality): Likewise.
+	(do_jump_1): Update calls accordingly.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* is-a.h (safe_dyn_cast): New function.
+	* rtl.h (rtx_jump_table_data::get_data_mode): New function.
+	(jump_table_for_label): Likewise.
+	* final.c (final_addr_vec_align): Take an rtx_jump_table_data *
+	instead of an rtx_insn *.
+	(shorten_branches): Use dyn_cast instead of LABEL_P and
+	JUMP_TABLE_DATA_P.  Use jump_table_for_label and
+	rtx_jump_table_data::get_data_mode.
+	(final_scan_insn): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (try_combine): Use is_a <scalar_int_mode> when
+	trying to combine a full-register integer set with a subreg
+	integer set.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.c (expand_expr_addr_expr): Add a new_tmode local variable
+	that is always either address_mode or pointer_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.c (expand_expr_real_2): Use word_mode instead of innermode
+	when the two are known to be equal.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* simplify-rtx.c (simplify_const_unary_operation): Use
+	is_a <scalar_int_mode> instead of checking for a nonzero
+	precision.  Forcibly convert op_mode to a scalar_int_mode
+	in that case.  More clearly differentiate the operand and
+	result modes and use the former when deciding what the value
+	of a count-bits operation should be.  Use is_int_mode instead
+	of checking for a MODE_INT.  Remove redundant check for whether
+	this mode has a zero precision.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* optabs.c (widen_leading): Change the type of the mode argument
+	to scalar_int_mode.  Use opt_scalar_int_mode for the mode iterator.
+	(widen_bswap): Likewise.
+	(expand_parity): Likewise.
+	(expand_ctz): Change the type of the mode argument to scalar_int_mode.
+	(expand_ffs): Likewise.
+	(epand_unop): Check for scalar integer modes before calling the
+	above routines.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.c (const_scalar_mask_from_tree): Add a mode argument.
+	Expand commentary.
+	(expand_expr_real_1): Update call accordingly.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expmed.c (store_bit_field_using_insv): Add op0_mode and
+	value_mode arguments.  Use scalar_int_mode internally.
+	(store_bit_field_1): Rename the new integer mode from imode
+	to op0_mode and use it instead of GET_MODE (op0).  Update calls
+	to store_split_bit_field, store_bit_field_using_insv and
+	store_fixed_bit_field.
+	(store_fixed_bit_field): Add op0_mode and value_mode arguments.
+	Use scalar_int_mode internally.  Use a bit count rather than a mode
+	when calculating the largest bit size for get_best_mode.
+	Update calls to store_split_bit_field and store_fixed_bit_field_1.
+	(store_fixed_bit_field_1): Add mode and value_mode arguments.
+	Remove assertion that OP0 has a scalar integer mode.
+	(store_split_bit_field): Add op0_mode and value_mode arguments.
+	Update calls to extract_fixed_bit_field.
+	(extract_bit_field_using_extv): Add an op0_mode argument.
+	Use scalar_int_mode internally.
+	(extract_bit_field_1): Rename the new integer mode from imode to
+	op0_mode and use it instead of GET_MODE (op0).  Update calls to
+	extract_split_bit_field, extract_bit_field_using_extv and
+	extract_fixed_bit_field.
+	(extract_fixed_bit_field): Add an op0_mode argument.  Update calls
+	to extract_split_bit_field and extract_fixed_bit_field_1.
+	(extract_fixed_bit_field_1): Add a mode argument.  Remove assertion
+	that OP0 has a scalar integer mode.  Use as_a <scalar_int_mode>
+	on the target mode.
+	(extract_split_bit_field): Add an op0_mode argument.  Update call
+	to extract_fixed_bit_field.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cse.c (cse_insn): Use opt_scalar_int_mode for the mode iterator.
+	* explow.c (hard_function_value): Likewise.
+	* expmed.c (extract_fixed_bit_field_1): Likewise.  Move the
+	convert_to_mode call outside the loop.
+	* expr.c (alignment_for_piecewise_move): Use opt_scalar_int_mode
+	for the mode iterator.  Require the mode specified by max_pieces
+	to exist.
+	(emit_block_move_via_movmem): Use opt_scalar_int_mode for the
+	mode iterator.
+	(copy_blkmode_to_reg): Likewise.
+	(set_storage_via_setmem): Likewise.
+	* optabs.c (prepare_cmp_insn): Likewise.
+	* rtlanal.c (init_num_sign_bit_copies_in_rep): Likewise.
+	* stor-layout.c (finish_bitfield_representative): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (subreg_unpromoted_mode, subreg_promoted_mode): New functions.
+	* expr.c (convert_move): Use them.
+	(convert_modes): Likewise.
+	(store_expr_with_bounds): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (rtl_hooks::reg_nonzero_bits): Add a scalar_int_mode
+	parameter for the mode of "x".  Remove the "known_x", "known_mode"
+	and "known_ret" arguments.  Change the type of the mode argument
+	to scalar_int_mode.
+	(rtl_hooks:reg_num_sign_bit_copies): Likewise.
+	* combine.c (reg_nonzero_bits_for_combine): Update accordingly.
+	(reg_num_sign_bit_copies_for_combine): Likewise.
+	* rtlanal.c (nonzero_bits1): Likewise.
+	(num_sign_bit_copies1): Likewise.
+	* rtlhooks-def.h (reg_nonzero_bits_general): Likewise.
+	(reg_num_sign_bit_copies_general): Likewise.
+	* rtlhooks.c (reg_num_sign_bit_copies_general): Likewise.
+	(reg_nonzero_bits_general): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtlanal.c (num_sign_bit_copies): Handle VOIDmode here rather
+	than in subroutines.  Return 1 for non-integer modes.
+	(cached_num_sign_bit_copies): Change the type of the mode parameter
+	to scalar_int_mode.
+	(num_sign_bit_copies1): Likewise.  Remove early exit for other mode
+	classes.  Handle CONST_INT_P first and then check whether X also
+	has a scalar integer mode.  Check the same thing for inner registers
+	of a SUBREG and for values that are being extended or truncated.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtlanal.c (nonzero_bits): Handle VOIDmode here rather than
+	in subroutines.  Return the mode mask for non-integer modes.
+	(cached_nonzero_bits): Change the type of the mode parameter
+	to scalar_int_mode.
+	(nonzero_bits1): Likewise.  Remove early exit for other mode
+	classes.  Handle CONST_INT_P first and then check whether X
+	also has a scalar integer mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.c (widest_int_mode_for_size): Make the comment match the code.
+	Return a scalar_int_mode and assert that the size is greater than
+	one byte.
+	(by_pieces_ninsns): Update accordingly and remove VOIDmode handling.
+	(op_by_pieces_d::op_by_pieces_d): Likewise.
+	(op_by_pieces_d::run): Likewise.
+	(can_store_by_pieces): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (extract_left_shift): Add a mode argument and update
+	recursive calls.
+	(make_compound_operation_int): Change the type of the mode parameter
+	to scalar_int_mode and update the call to extract_left_shift.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (simplify_and_const_int): Change the type of the mode
+	parameter to scalar_int_mode.
+	(simplify_and_const_int_1): Likewise.  Update recursive call.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (simplify_compare_const): Check that the mode is a
+	scalar_int_mode (rather than VOIDmode) before testing its
+	precision.
+	(simplify_comparison): Move COMPARISON_P handling out of the
+	loop and restrict the latter part of the loop to scalar_int_modes.
+	Check is_a <scalar_int_mode> before calling HWI_COMPUTABLE_MODE_P
+	and when considering SUBREG_REGs.  Use is_int_mode instead of
+	checking GET_MODE_CLASS against MODE_INT.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (try_widen_shift_mode): Move check for equal modes to...
+	(simplify_shift_const_1): ...here.  Use scalar_int_mode for
+	shift_unit_mode and for modes involved in scalar shifts.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (force_int_to_mode): New function, split out from...
+	(force_to_mode): ...here.  Keep xmode up-to-date and use it
+	instead of GET_MODE (x).
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* optabs-query.h (extraction_insn::struct_mode): Change type to
+	opt_scalar_int_mode and update comment.
+	(extraction_insn::field_mode): Change type to scalar_int_mode.
+	(extraction_insn::pos_mode): Likewise.
+	* combine.c (make_extraction): Update accordingly.
+	* optabs-query.c (get_traditional_extraction_insn): Likewise.
+	(get_optab_extraction_insn): Likewise.
+	* recog.c (simplify_while_replacing): Likewise.
+	* expmed.c (narrow_bit_field_mem): Change the type of the mode
+	parameter to opt_scalar_int_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (bit_field_mode_iterator::next_mode): Take a pointer
+	to a scalar_int_mode instead of a machine_mode.
+	(bit_field_mode_iterator::m_mode): Change type to opt_scalar_int_mode.
+	(get_best_mode): Return a boolean and use a pointer argument to store
+	the selected mode.  Replace the limit mode parameter with a bit limit.
+	* expmed.c (adjust_bit_field_mem_for_reg): Use scalar_int_mode
+	for the values returned by bit_field_mode_iterator::next_mode.
+	(store_bit_field): Update call to get_best_mode.
+	(store_fixed_bit_field): Likewise.
+	(extract_fixed_bit_field): Likewise.
+	* expr.c (optimize_bitfield_assignment_op): Likewise.
+	* fold-const.c (optimize_bit_field_compare): Likewise.
+	(fold_truth_andor_1): Likewise.
+	* stor-layout.c (bit_field_mode_iterator::next_mode): As above.
+	Update for new type of m_mode.
+	(get_best_mode): As above.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expmed.c (strict_volatile_bitfield_p): Change the type of fieldmode
+	to scalar_int_mode.  Remove check for SCALAR_INT_MODE_P.
+	(store_bit_field): Check is_a <scalar_int_mode> before calling
+	strict_volatile_bitfield_p.
+	(extract_bit_field): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (cstore_mode): Return a scalar_int_mode.
+	* doc/tm.texi: Regenerate.
+	* config/sparc/sparc.c (sparc_cstore_mode): Return a scalar_int_mode.
+	* targhooks.h (default_cstore_mode): Likewise.
+	* targhooks.c (default_cstore_mode): Likewise, using a forced
+	conversion.
+	* expmed.c (emit_cstore): Expect the target of the cstore to be
+	a scalar_int_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cfgloop.h (rtx_iv): Change type of extend_mode and mode to
+	scalar_int_mode.
+	(niter_desc): Likewise mode.
+	(iv_analyze): Add a mode parameter.
+	(biv_p): Likewise.
+	(iv_analyze_expr): Pass the mode paraeter before the rtx it describes
+	and change its type to scalar_int_mode.
+	* loop-iv.c: Update commentary at head of file.
+	(iv_constant): Pass the mode paraeter before the rtx it describes
+	and change its type to scalar_int_mode.  Remove VOIDmode handling.
+	(iv_subreg): Change the type of the mode parameter to scalar_int_mode.
+	(iv_extend): Likewise.
+	(shorten_into_mode): Likewise.
+	(iv_add): Use scalar_int_mode.
+	(iv_mult): Likewise.
+	(iv_shift): Likewise.
+	(canonicalize_iv_subregs): Likewise.
+	(get_biv_step_1): Pass the outer_mode parameter before the rtx
+	it describes and change its mode to scalar_int_mode.   Also change
+	the type of the returned inner_mode to scalar_int_mode.
+	(get_biv_step): Likewise, turning outer_mode from a pointer
+	into a direct parameter.  Update call to get_biv_step_1.
+	(iv_analyze_biv): Add an outer_mode parameter.  Update calls to
+	iv_constant and get_biv_step.
+	(iv_analyze_expr): Pass the mode parameter before the rtx it describes
+	and change its type to scalar_int_mode.  Don't initialise iv->mode
+	to VOIDmode and remove later checks for its still being VOIDmode.
+	Update calls to iv_analyze_op and iv_analyze_expr.  Check
+	is_a <scalar_int_mode> when changing the mode under consideration.
+	(iv_analyze_def): Ignore registers that don't have a scalar_int_mode.
+	Update call to iv_analyze_expr.
+	(iv_analyze_op): Add a mode parameter.  Reject subregs whose
+	inner register is not also a scalar_int_mode.  Update call to
+	iv_analyze_biv.
+	(iv_analyze): Add a mode parameter.  Update call to iv_analyze_op.
+	(biv_p): Add a mode parameter.  Update call to iv_analyze_biv.
+	(iv_number_of_iterations): Use is_a <scalar_int_mode> instead of
+	separate mode class checks.  Update calls to iv_analyze.  Remove
+	fix-up of VOIDmodes after iv_analyze_biv.
+	* loop-unroll.c (analyze_iv_to_split_insn): Reject registers that
+	don't have a scalar_int_mode.  Update call to biv_p.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cfgexpand.c (convert_debug_memory_address): Use
+	as_a <scalar_int_mode>.
+	* combine.c (expand_compound_operation): Likewise.
+	(make_extraction): Likewise.
+	(change_zero_ext): Likewise.
+	(simplify_comparison): Likewise.
+	* cse.c (cse_insn): Likewise.
+	* dwarf2out.c (minmax_loc_descriptor): Likewise.
+	(mem_loc_descriptor): Likewise.
+	(loc_descriptor): Likewise.
+	* expmed.c (init_expmed_one_mode): Likewise.
+	(synth_mult): Likewise.
+	(emit_store_flag_1): Likewise.
+	(expand_divmod): Likewise.  Use HWI_COMPUTABLE_MODE_P instead
+	of a comparison with size.
+	* expr.c (expand_assignment): Use as_a <scalar_int_mode>.
+	(reduce_to_bit_field_precision): Likewise.
+	* function.c (expand_function_end): Likewise.
+	* internal-fn.c (expand_arith_overflow_result_store): Likewise.
+	* loop-doloop.c (doloop_modify): Likewise.
+	* optabs.c (expand_binop): Likewise.
+	(expand_unop): Likewise.
+	(expand_copysign_absneg): Likewise.
+	(prepare_cmp_insn): Likewise.
+	(maybe_legitimize_operand): Likewise.
+	* recog.c (const_scalar_int_operand): Likewise.
+	* rtlanal.c (get_address_mode): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+	(simplify_cond_clz_ctz): Likewise.
+	* tree-nested.c (get_nl_goto_field): Likewise.
+	* tree.c (build_vector_type_for_mode): Likewise.
+	* var-tracking.c (use_narrower_mode): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (SCALAR_INT_TYPE_MODE): New macro.
+	* builtins.c (expand_builtin_signbit): Use it.
+	* cfgexpand.c (expand_debug_expr): Likewise.
+	* dojump.c (do_jump): Likewise.
+	(do_compare_and_jump): Likewise.
+	* dwarf2cfi.c (expand_builtin_init_dwarf_reg_sizes): Likewise.
+	* expmed.c (make_tree): Likewise.
+	* expr.c (expand_expr_real_2): Likewise.
+	(expand_expr_real_1): Likewise.
+	(try_casesi): Likewise.
+	* fold-const-call.c (fold_const_call_ss): Likewise.
+	* fold-const.c (unextend): Likewise.
+	(extract_muldiv_1): Likewise.
+	(fold_single_bit_test): Likewise.
+	(native_encode_int): Likewise.
+	(native_encode_string): Likewise.
+	(native_interpret_int): Likewise.
+	* gimple-fold.c (gimple_fold_builtin_memset): Likewise.
+	* internal-fn.c (expand_addsub_overflow): Likewise.
+	(expand_neg_overflow): Likewise.
+	(expand_mul_overflow): Likewise.
+	(expand_arith_overflow): Likewise.
+	* match.pd: Likewise.
+	* stor-layout.c (layout_type): Likewise.
+	* tree-cfg.c (verify_gimple_assign_ternary): Likewise.
+	* tree-ssa-math-opts.c (convert_mult_to_widen): Likewise.
+	* tree-ssanames.c (get_range_info): Likewise.
+	* tree-switch-conversion.c (array_value_type) Likewise.
+	* tree-vect-patterns.c (vect_recog_rotate_pattern): Likewise.
+	(vect_recog_divmod_pattern): Likewise.
+	(vect_recog_mixed_size_cond_pattern): Likewise.
+	* tree-vrp.c (extract_range_basic): Likewise.
+	(simplify_float_conversion_using_ranges): Likewise.
+	* tree.c (int_fits_type_p): Likewise.
+	* ubsan.c (instrument_bool_enum_load): Likewise.
+	* varasm.c (mergeable_string_section): Likewise.
+	(narrowing_initializer_constant_valid_p): Likewise.
+	(output_constant): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (NARROWEST_INT_MODE): New macro.
+	* expr.c (alignment_for_piecewise_move): Use it instead of
+	GET_CLASS_NARROWEST_MODE (MODE_INT).
+	(push_block): Likewise.
+	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
+	Likewise.
+	* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* postreload.c (move2add_valid_value_p): Change the type of the
+	mode parameter to scalar_int_mode.
+	(move2add_use_add2_insn): Add a mode parameter and use it instead
+	of GET_MODE (reg).
+	(move2add_use_add3_insn): Likewise.
+	(reload_cse_move2add): Update accordingly.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* expr.c (expand_expr_real_2): Use scalar_int_mode for the
+	double-word mode.
+	* lower-subreg.c (resolve_shift_zext): Use is_a <scalar_int_mode>.
+	* optabs.c (expand_unop): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* dwarf2out.c (typed_binop): Change mode parameter to scalar_int_mode.
+	(clz_loc_descriptor): Likewise.  Remove SCALAR_INT_MODE_P check.
+	(popcount_loc_descriptor): Likewise.
+	(bswap_loc_descriptor): Likewise.
+	(rotate_loc_descriptor): Likewise.
+	(mem_loc_descriptor): Add is_a <scalar_int_mode> checks before
+	calling the functions above.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (sign_extend_short_imm): Add is_a <scalar_int_mode>
+	checks.
+	(try_combine): Likewise.
+	(simplify_if_then_else): Likewise.
+	* cse.c (cse_insn): Likewise.
+	* dwarf2out.c (mem_loc_descriptor): Likewise.
+	* emit-rtl.c (gen_lowpart_common): Likewise.
+	* simplify-rtx.c (simplify_truncation): Likewise.
+	(simplify_binary_operation_1): Likewise.
+	(simplify_const_relational_operation): Likewise.
+	(simplify_ternary_operation): Likewise.
+	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cse.c (cse_insn): Add is_a <scalar_int_mode> checks.
+	* reload.c (push_reload): Likewise.
+	(find_reloads): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (find_split_point): Add is_a <scalar_int_mode> checks.
+	(make_compound_operation_int): Likewise.
+	(change_zero_ext): Likewise.
+	* expr.c (convert_move): Likewise.
+	(convert_modes): Likewise.
+	* fwprop.c (forward_propagate_subreg): Likewise.
+	* loop-iv.c (get_biv_step_1): Likewise.
+	* optabs.c (widen_operand): Likewise.
+	* postreload.c (move2add_valid_value_p): Likewise.
+	* recog.c (simplify_while_replacing): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+	(simplify_binary_operation_1): Likewise.  Remove redundant
+	mode equality check.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (combine_simplify_rtx): Add checks for
+	is_a <scalar_int_mode>.
+	(simplify_if_then_else): Likewise.
+	(make_field_assignment): Likewise.
+	(simplify_comparison): Likewise.
+	* ifcvt.c (noce_try_bitop): Likewise.
+	* loop-invariant.c (canonicalize_address_mult): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gimple-fold.c (gimple_fold_builtin_memory_op): Use
+	is_a <scalar_int_mode> instead of != BLKmode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* cfgexpand.c (expand_debug_expr): Use is_a <scalar_int_mode>
+	instead of != VOIDmode.
+	* combine.c (if_then_else_cond): Likewise.
+	(change_zero_ext): Likewise.
+	* dwarf2out.c (mem_loc_descriptor): Likewise.
+	(loc_descriptor): Likewise.
+	* rtlanal.c (canonicalize_condition): Likewise.
+	* simplify-rtx.c (simplify_relational_operation_1): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* simplify-rtx.c (simplify_binary_operation_1): Use
+	is_a <scalar_int_mode> instead of !VECTOR_MODE_P.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* wide-int.h (int_traits<unsigned char>) New class.
+	(int_traits<unsigned short>) Likewise.
+	* cfgexpand.c (expand_debug_expr): Use is_a <scalar_int_mode>.
+	Use GET_MODE_UNIT_PRECISION and remove redundant test for
+	SCALAR_INT_MODE_P.
+	* combine.c (set_nonzero_bits_and_sign_copies): Use
+	is_a <scalar_int_mode>.
+	(find_split_point): Likewise.
+	(combine_simplify_rtx): Likewise.
+	(simplify_logical): Likewise.
+	(expand_compound_operation): Likewise.
+	(expand_field_assignment): Likewise.
+	(make_compound_operation): Likewise.
+	(extended_count): Likewise.
+	(change_zero_ext): Likewise.
+	(simplify_comparison): Likewise.
+	* dwarf2out.c (scompare_loc_descriptor): Likewise.
+	(ucompare_loc_descriptor): Likewise.
+	(minmax_loc_descriptor): Likewise.
+	(mem_loc_descriptor): Likewise.
+	(loc_descriptor): Likewise.
+	* expmed.c (init_expmed_one_mode): Likewise.
+	* lra-constraints.c (lra_constraint_offset): Likewise.
+	* optabs.c (prepare_libcall_arg): Likewise.
+	* postreload.c (move2add_note_store): Likewise.
+	* reload.c (operands_match_p): Likewise.
+	* rtl.h (load_extend_op): Likewise.
+	* rtlhooks.c (gen_lowpart_general): Likewise.
+	* simplify-rtx.c (simplify_truncation): Likewise.
+	(simplify_unary_operation_1): Likewise.
+	(simplify_binary_operation_1): Likewise.
+	(simplify_const_binary_operation): Likewise.
+	(simplify_const_relational_operation): Likewise.
+	(simplify_subreg): Likewise.
+	* stor-layout.c (bitwise_mode_for_mode): Likewise.
+	* var-tracking.c (adjust_mems): Likewise.
+	(prepare_call_arguments): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (is_int_mode): New fuction.
+	* combine.c (find_split_point): Use it.
+	(combine_simplify_rtx): Likewise.
+	(simplify_if_then_else): Likewise.
+	(simplify_set): Likewise.
+	(simplify_shift_const_1): Likewise.
+	(simplify_comparison): Likewise.
+	* config/aarch64/aarch64.c (aarch64_rtx_costs): Likewise.
+	* cse.c (notreg_cost): Likewise.
+	(cse_insn): Likewise.
+	* cselib.c (cselib_lookup_1): Likewise.
+	* dojump.c (do_jump_1): Likewise.
+	(do_compare_rtx_and_jump): Likewise.
+	* dse.c (get_call_args): Likewise.
+	* dwarf2out.c (rtl_for_decl_init): Likewise.
+	(native_encode_initializer): Likewise.
+	* expmed.c (emit_store_flag_1): Likewise.
+	(emit_store_flag): Likewise.
+	* expr.c (convert_modes): Likewise.
+	(store_field): Likewise.
+	(expand_expr_real_1): Likewise.
+	* fold-const.c (fold_read_from_constant_string): Likewise.
+	* gimple-ssa-sprintf.c (get_format_string): Likewise.
+	* optabs-libfuncs.c (gen_int_libfunc): Likewise.
+	* optabs.c (expand_binop): Likewise.
+	(expand_unop): Likewise.
+	(expand_abs_nojump): Likewise.
+	(expand_one_cmpl_abs_nojump): Likewise.
+	* simplify-rtx.c (mode_signbit_p): Likewise.
+	(val_signbit_p): Likewise.
+	(val_signbit_known_set_p): Likewise.
+	(val_signbit_known_clear_p): Likewise.
+	(simplify_relational_operation_1): Likewise.
+	* tree.c (vector_type_mode): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (smallest_mode_for_size): Fix formatting.
+	(smallest_int_mode_for_size): New function.
+	* cfgexpand.c (expand_debug_expr): Use smallest_int_mode_for_size
+	instead of smallest_mode_for_size.
+	* combine.c (make_extraction): Likewise.
+	* config/arc/arc.c (arc_expand_movmem): Likewise.
+	* config/arm/arm.c (arm_expand_divmod_libfunc): Likewise.
+	* config/i386/i386.c (ix86_get_mask_mode): Likewise.
+	* config/s390/s390.c (s390_expand_insv): Likewise.
+	* config/sparc/sparc.c (assign_int_registers): Likewise.
+	* config/spu/spu.c (spu_function_value): Likewise.
+	(spu_function_arg): Likewise.
+	* coverage.c (get_gcov_type): Likewise.
+	(get_gcov_unsigned_t): Likewise.
+	* dse.c (find_shift_sequence): Likewise.
+	* expmed.c (store_bit_field_1): Likewise.
+	* expr.c (convert_move): Likewise.
+	(store_field): Likewise.
+	* internal-fn.c (expand_arith_overflow): Likewise.
+	* optabs-query.c (get_best_extraction_insn): Likewise.
+	* optabs.c (expand_twoval_binop_libfunc): Likewise.
+	* stor-layout.c (layout_type): Likewise.
+	(initialize_sizetypes): Likewise.
+	* targhooks.c (default_get_mask_mode): Likewise.
+	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (opt_mode::else_blk): New function.
+	(int_mode_for_mode): Declare.
+	* stor-layout.c (int_mode_for_mode): Return an opt_scalar_int_mode.
+	* builtins.c (expand_builtin_signbit): Adjust for new int_mode_for_mode
+	return type.
+	* cfgexpand.c (expand_debug_expr): Likewise.
+	* combine.c (gen_lowpart_or_truncate): Likewise.
+	(gen_lowpart_for_combine): Likewise.
+	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Likewise.
+	* config/avr/avr.c (avr_to_int_mode): Likewise.
+	(avr_out_plus_1): Likewise.
+	(avr_out_plus): Likewise.
+	(avr_out_round): Likewise.
+	* config/i386/i386.c (ix86_split_to_parts): Likewise.
+	* config/s390/s390.c (s390_expand_vec_compare_cc): Likewise.
+	(s390_expand_vcond): Likewise.
+	* config/spu/spu.c (spu_split_immediate): Likewise.
+	(spu_expand_mov): Likewise.
+	* dse.c (get_stored_val): Likewise.
+	* expmed.c (store_bit_field_1): Likewise.
+	(convert_extracted_bit_field): Use int_mode_for_mode instead of
+	int_mode_for_size.
+	(extract_bit_field_1): Adjust for new int_mode_for_mode return type.
+	(extract_low_bits): Likewise.
+	* expr.c (emit_group_load_1): Likewise.  Separate out the BLKmode
+	handling rather than repeating the check.
+	(emit_group_store): Likewise.
+	(emit_move_via_integer): Adjust for new int_mode_for_mode return type.
+	* optabs.c (expand_absneg_bit): Likewise.
+	(expand_copysign_absneg): Likewise.
+	(expand_copysign_bit): Likewise.
+	* tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
+	* tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
+	* tree-vect-stmts.c (vect_gen_perm_mask_any): Likewise.
+	* var-tracking.c (prepare_call_arguments):  Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_do_expand_vec_perm): Use
+	int_mode_for_mode instead of mode_for_size.
+	* config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (int_mode_for_size): New function.
+	* builtins.c (set_builtin_user_assembler_name): Use int_mode_for_size
+	instead of mode_for_size.
+	* calls.c (save_fixed_argument_area): Likewise.  Make use of BLKmode
+	explicit.
+	* combine.c (expand_field_assignment): Use int_mode_for_size
+	instead of mode_for_size.
+	(make_extraction): Likewise.
+	(simplify_shift_const_1): Likewise.
+	(simplify_comparison): Likewise.
+	* dojump.c (do_jump): Likewise.
+	* dwarf2out.c (mem_loc_descriptor): Likewise.
+	* emit-rtl.c (init_derived_machine_modes): Likewise.
+	* expmed.c (flip_storage_order): Likewise.
+	(convert_extracted_bit_field): Likewise.
+	* expr.c (copy_blkmode_from_reg): Likewise.
+	* graphite-isl-ast-to-gimple.c (max_mode_int_precision): Likewise.
+	* internal-fn.c (expand_mul_overflow): Likewise.
+	* lower-subreg.c (simple_move): Likewise.
+	* optabs-libfuncs.c (init_optabs): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+	* tree.c (vector_type_mode): Likewise.
+	* tree-ssa-strlen.c (handle_builtin_memcmp): Likewise.
+	* tree-vect-data-refs.c (vect_lanes_optab_supported_p): Likewise.
+	* tree-vect-generic.c (expand_vector_parallel): Likewise.
+	* tree-vect-stmts.c (vectorizable_load): Likewise.
+	(vectorizable_store): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (pod_mode): New type.
+	(scalar_int_mode_pod): New typedef.
+	* machmode.h (pod_mode): New class.
+	(int_n_data_t::m): Change type to scalar_int_mode_pod.
+	* genmodes.c (emit_mode_int_n): Update accordingly.
+	* lower-subreg.h (target_lower_subreg): Change type to
+	scalar_int_mode_pod.
+	* gdbhooks.py (build_pretty_printer): Handle pod_mode and
+	scalar_int_mode_pod.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/powerpcspe/powerpcspe.h (rs6000_pmode): Change type from
+	machine_mode to scalar_int_mode.
+	* config/powerpcspe/powerpcspe.c (rs6000_pmode): Likewise.
+	(rs6000_option_override_internal): Remove cast to int.
+	* config/rs6000/rs6000.h (rs6000_pmode): Change type from
+	machine_mode to scalar_int_mode.
+	* config/rs6000/rs6000.c (rs6000_pmode): Likewise.
+	(rs6000_option_override_internal): Remove cast to int.
+	* config/s390/s390.h (Pmode): Remove cast to machine_mode.
+	* config/epiphany/epiphany.h (RTX_OK_FOR_OFFSET_P): Add cast
+	to machine_mode.
+	* config/s390/s390.c (s390_expand_builtin): Likewise.
+	* coretypes.h (scalar_int_mode): New type.
+	(opt_scalar_int_mode): New typedef.
+	* machmode.h (scalar_int_mode): New class.
+	(scalar_int_mode::includes_p): New function.
+	(byte_mode): Change type to scalar_int_mode.
+	(word_mode): Likewise.
+	(ptr_mode): Likewise.
+	* emit-rtl.c (byte_mode): Likewise.
+	(word_mode): Likewise.
+	(ptr_mode): Likewise.
+	(init_derived_machine_modes): Update accordingly.
+	* genmodes.c (get_mode_class): Return scalar_int_mode for MODE_INT
+	and MODE_PARTIAL_INT.
+	* gdbhooks.py (build_pretty_printer): Handle scalar_int_mode and
+	opt_scalar_int_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (libgcc_floating_mode_supported_p): Take a
+	scalar_float_mode.
+	* doc/tm.texi: Regenerate.
+	* targhooks.h (default_libgcc_floating_mode_supported_p): Take a
+	scalar_float_mode.
+	* targhooks.c (default_libgcc_floating_mode_supported_p): Likewise.
+	* config/aarch64/aarch64.c (aarch64_libgcc_floating_mode_supported_p):
+	Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (default_floatn_mode): Return an opt_scalar_float_mode.
+	* doc/tm.texi: Regenerate.
+	* config/arm/arm.c (arm_floatn_mode): Return an opt_scalar_float_mode.
+	* config/powerpcspe/powerpcspe.c (rs6000_floatn_mode): Likewise.
+	* config/rs6000/rs6000.c (rs6000_floatn_mode): Likewise.
+	* targhooks.h (default_floatn_mode): Likewise.
+	* targhooks.c (default_floatn_mode): Likewise.
+	* tree.c (build_common_tree_nodes): Update accordingly.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (mode_iterator::start): Provide overload for opt_modes.
+	(mode_iterator::iterate_p): Likewise.
+	(mode_iterator::get_wider): Likewise.
+	* expr.c (init_expr_target): Use opt_scalar_float_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (opt_scalar_float_mode): New typedef.
+	* machmode.h (float_mode_for_size): New function.
+	* emit-rtl.c (double_mode): Delete.
+	(init_emit_once): Use float_mode_for_size.
+	* stor-layout.c (layout_type): Likewise.
+	* gdbhooks.py (build_pretty_printer): Handle opt_scalar_float_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* output.h (assemble_real): Take a scalar_float_mode.
+	* config/arm/arm.c (arm_assemble_integer): Update accordingly.
+	* config/arm/arm.md (consttable_4): Likewise.
+	(consttable_8): Likewise.
+	(consttable_16): Likewise.
+	* config/mips/mips.md (consttable_float): Likewise.
+	* config/s390/s390.c (s390_output_pool_entry): Likewise.
+	* varasm.c (assemble_real): Take a scalar_float_mode.
+	(output_constant_pool_2): Update accordingly.
+	(output_constant): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree.h (SCALAR_FLOAT_TYPE_MODE): New macro.
+	* builtins.c (expand_builtin_signbit): Use it instead of TYPE_MODE.
+	* fold-const.c (fold_convert_const_real_from_fixed): Likewise.
+	(native_encode_real): Likewise.
+	(native_interpret_real): Likewise.
+	* hsa-brig.c (emit_immediate_scalar_to_buffer): Likewise.
+	* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* optabs-libfuncs.c (gen_trunc_conv_libfunc): Use is_a
+	<scalar_float_mode>.  Simplify.
+	(gen_extend_conv_libfunc): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (scalar_float_mode): New type.
+	* machmode.h (mode_traits::from_int): Use machine_mode if
+	USE_ENUM_MODES is defined.
+	(is_a): New function.
+	(as_a): Likewise.
+	(dyn_cast): Likewise.
+	(scalar_float_mode): New class.
+	(scalar_float_mode::includes_p): New function.
+	(is_float_mode): Likewise.
+	* gdbhooks.py (MachineModePrinter): New class.
+	(build_pretty_printer): Use it for scalar_float_mode.
+	* real.h (FLOAT_MODE_FORMAT): Use as_a <scalar_float_mode>.
+	(format_helper::format_helper): Turn into a template.
+	* genmodes.c (get_mode_class): New function.
+	(emit_insn_modes_h): Give modes the class returned by get_mode_class,
+	or machine_mode if none.
+	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Use
+	as_a <scalar_float_mode>.
+	* dwarf2out.c (mem_loc_descriptor): Likewise.
+	(insert_float): Likewise.
+	(add_const_value_attribute): Likewise.
+	* simplify-rtx.c (simplify_immed_subreg): Likewise.
+	* optabs.c (expand_absneg_bit): Take a scalar_float_mode.
+	(expand_unop): Update accordingly.
+	(expand_abs_nojump): Likewise.
+	(expand_copysign_absneg): Take a scalar_float_mode.
+	(expand_copysign_bit): Likewise.
+	(expand_copysign): Update accordingly.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* coretypes.h (opt_mode): New class.
+	* machmode.h (opt_mode): Likewise.
+	(opt_mode::else_void): New function.
+	(opt_mode::require): Likewise.
+	(opt_mode::exists): Likewise.
+	(GET_MODE_WIDER_MODE): Turn into a function and return an opt_mode.
+	(GET_MODE_2XWIDER_MODE): Likewise.
+	(mode_iterator::get_wider): Update accordingly.
+	(mode_iterator::get_2xwider): Likewise.
+	(mode_iterator::get_known_wider): Likewise, turning into a template.
+	* combine.c (make_extraction): Update use of GET_MODE_WIDER_MODE,
+	forcing a wider mode to exist.
+	* config/cr16/cr16.h (LONG_REG_P): Likewise.
+	* rtlanal.c (init_num_sign_bit_copies_in_rep): Likewise.
+	* config/c6x/c6x.c (c6x_rtx_costs): Update use of
+	GET_MODE_2XWIDER_MODE, forcing a wider mode to exist.
+	* lower-subreg.c (init_lower_subreg): Likewise.
+	* optabs-libfuncs.c (init_sync_libfuncs_1): Likewise, but not
+	on the final iteration.
+	* config/i386/i386.c (ix86_expand_set_or_movmem): Check whether
+	a wider mode exists before asking for a move pattern.
+	(get_mode_wider_vector): Update use of GET_MODE_WIDER_MODE,
+	forcing a wider mode to exist.
+	(expand_vselect_vconcat): Update use of GET_MODE_2XWIDER_MODE,
+	returning false if no such mode exists.
+	* config/ia64/ia64.c (expand_vselect_vconcat): Likewise.
+	* config/mips/mips.c (mips_expand_vselect_vconcat): Likewise.
+	* expmed.c (init_expmed_one_mode): Update use of GET_MODE_WIDER_MODE.
+	Avoid checking for a MODE_INT if we already know the mode is not a
+	SCALAR_INT_MODE_P.
+	(extract_high_half): Update use of GET_MODE_WIDER_MODE,
+	forcing a wider mode to exist.
+	(expmed_mult_highpart_optab): Likewise.
+	(expmed_mult_highpart): Likewise.
+	* expr.c (expand_expr_real_2): Update use of GET_MODE_WIDER_MODE,
+	using else_void.
+	* lto-streamer-in.c (lto_input_mode_table): Likewise.
+	* optabs-query.c (find_widening_optab_handler_and_mode): Likewise.
+	* stor-layout.c (bit_field_mode_iterator::next_mode): Likewise.
+	* internal-fn.c (expand_mul_overflow): Update use of
+	GET_MODE_2XWIDER_MODE.
+	* omp-low.c (omp_clause_aligned_alignment): Likewise.
+	* tree-ssa-math-opts.c (convert_mult_to_widen): Update use of
+	GET_MODE_WIDER_MODE.
+	(convert_plusminus_to_widen): Likewise.
+	* tree-switch-conversion.c (array_value_type): Likewise.
+	* var-tracking.c (emit_note_insn_var_location): Likewise.
+	* tree-vrp.c (simplify_float_conversion_using_ranges): Likewise.
+	Return false inside rather than outside the loop if no wider mode
+	exists
+	* optabs.c (expand_binop): Update use of GET_MODE_WIDER_MODE
+	and GET_MODE_2XWIDER_MODE
+	(can_compare_p): Use else_void.
+	* gdbhooks.py (OptMachineModePrinter): New class.
+	(build_pretty_printer): Use it for opt_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* tree-switch-conversion.c (array_value_type): Only read TYPE_MODE
+	once.  Use get_narrowest_mode instead of GET_CLASS_NARROWEST_MODE.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* machmode.h (mode_traits): New structure.
+	(get_narrowest_mode): New function.
+	(mode_iterator::start): Likewise.
+	(mode_iterator::iterate_p): Likewise.
+	(mode_iterator::get_wider): Likewise.
+	(mode_iterator::get_known_wider): Likewise.
+	(mode_iterator::get_2xwider): Likewise.
+	(FOR_EACH_MODE_IN_CLASS): New mode iterator.
+	(FOR_EACH_MODE): Likewise.
+	(FOR_EACH_MODE_FROM): Likewise.
+	(FOR_EACH_MODE_UNTIL): Likewise.
+	(FOR_EACH_WIDER_MODE): Likewise.
+	(FOR_EACH_2XWIDER_MODE): Likewise.
+	* builtins.c (expand_builtin_strlen): Use new mode iterators.
+	* combine.c (simplify_comparison): Likewise
+	* config/i386/i386.c (type_natural_mode): Likewise.
+	* cse.c (cse_insn): Likewise.
+	* dse.c (find_shift_sequence): Likewise.
+	* emit-rtl.c (init_derived_machine_modes): Likewise.
+	(init_emit_once): Likewise.
+	* explow.c (hard_function_value): Likewise.
+	* expmed.c (extract_fixed_bit_field_1): Likewise.
+	(extract_bit_field_1): Likewise.
+	(expand_divmod): Likewise.
+	(emit_store_flag_1): Likewise.
+	* expr.c (init_expr_target): Likewise.
+	(convert_move): Likewise.
+	(alignment_for_piecewise_move): Likewise.
+	(widest_int_mode_for_size): Likewise.
+	(emit_block_move_via_movmem): Likewise.
+	(copy_blkmode_to_reg): Likewise.
+	(set_storage_via_setmem): Likewise.
+	(compress_float_constant): Likewise.
+	* omp-low.c (omp_clause_aligned_alignment): Likewise.
+	* optabs-query.c (get_best_extraction_insn): Likewise.
+	* optabs.c (expand_binop): Likewise.
+	(expand_twoval_unop): Likewise.
+	(expand_twoval_binop): Likewise.
+	(widen_leading): Likewise.
+	(widen_bswap): Likewise.
+	(expand_parity): Likewise.
+	(expand_unop): Likewise.
+	(prepare_cmp_insn): Likewise.
+	(prepare_float_lib_cmp): Likewise.
+	(expand_float): Likewise.
+	(expand_fix): Likewise.
+	(expand_sfix_optab): Likewise.
+	* postreload.c (move2add_use_add2_insn): Likewise.
+	* reg-stack.c (reg_to_stack): Likewise.
+	* reginfo.c (choose_hard_reg_mode): Likewise.
+	* rtlanal.c (init_num_sign_bit_copies_in_rep): Likewise.
+	* stor-layout.c (mode_for_size): Likewise.
+	(smallest_mode_for_size): Likewise.
+	(mode_for_vector): Likewise.
+	(finish_bitfield_representative): Likewise.
+	* tree-ssa-math-opts.c (target_supports_divmod_p): Likewise.
+	* tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
+	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
+	* var-tracking.c (prepare_call_arguments): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* genconditions.c (write_header): Add a "#define USE_ENUM_MODES".
+	* genmodes.c (emit_insn_modes_h): Define FOOmode to E_FOOmode if
+	USE_ENUM_MODES is defined and to ((void) 0, E_FOOmode) otherwise.
+	* machmode.h (mode_size): Move earlier in file.
+	(mode_precision): Likewise.
+	(mode_inner): Likewise.
+	(mode_nunits): Likewise.
+	(mode_unit_size): Likewise.
+	(unit_unit_precision): Likewise.
+	(mode_wider): Likewise.
+	(mode_2xwider): Likewise.
+	(machine_mode): New class.
+	(mode_to_bytes): New function.
+	(mode_to_bits): Likewise.
+	(mode_to_precision): Likewise.
+	(mode_to_inner): Likewise.
+	(mode_to_unit_size): Likewise.
+	(mode_to_unit_precision): Likewise.
+	(mode_to_nunits): Likewise.
+	(GET_MODE_SIZE): Use mode_to_bytes.
+	(GET_MODE_BITSIZE): Use mode_to_bits.
+	(GET_MODE_PRECISION): Use mode_to_precision.
+	(GET_MODE_INNER): Use mode_to_inner.
+	(GET_MODE_UNIT_SIZE): Use mode_to_unit_size.
+	(GET_MODE_UNIT_PRECISION): Use mode_to_unit_precision.
+	(GET_MODE_NUNITS): Use mode_to_nunits.
+	* system.h (ALWAYS_INLINE): New macro.
+	* config/powerpcspe/powerpcspe-c.c
+	(altivec_resolve_overloaded_builtin): Use machine_mode instead of
+	int for arg1_mode and arg2_mode.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_std_type):
+	Prefix mode names with E_ in case statements.
+	* config/aarch64/aarch64-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+	* config/aarch64/aarch64.c (aarch64_split_simd_combine): Likewise.
+	(aarch64_split_simd_move): Likewise.
+	(aarch64_gen_storewb_pair): Likewise.
+	(aarch64_gen_loadwb_pair): Likewise.
+	(aarch64_gen_store_pair): Likewise.
+	(aarch64_gen_load_pair): Likewise.
+	(aarch64_get_condition_code_1): Likewise.
+	(aarch64_constant_pool_reload_icode): Likewise.
+	(get_rsqrte_type): Likewise.
+	(get_rsqrts_type): Likewise.
+	(get_recpe_type): Likewise.
+	(get_recps_type): Likewise.
+	(aarch64_gimplify_va_arg_expr): Likewise.
+	(aarch64_simd_container_mode): Likewise.
+	(aarch64_emit_load_exclusive): Likewise.
+	(aarch64_emit_store_exclusive): Likewise.
+	(aarch64_expand_compare_and_swap): Likewise.
+	(aarch64_gen_atomic_cas): Likewise.
+	(aarch64_emit_bic): Likewise.
+	(aarch64_emit_atomic_swap): Likewise.
+	(aarch64_emit_atomic_load_op): Likewise.
+	(aarch64_evpc_trn): Likewise.
+	(aarch64_evpc_uzp): Likewise.
+	(aarch64_evpc_zip): Likewise.
+	(aarch64_evpc_ext): Likewise.
+	(aarch64_evpc_rev): Likewise.
+	(aarch64_evpc_dup): Likewise.
+	(aarch64_gen_ccmp_first): Likewise.
+	(aarch64_gen_ccmp_next): Likewise.
+	* config/alpha/alpha.c (alpha_scalar_mode_supported_p): Likewise.
+	(alpha_emit_xfloating_libcall): Likewise.
+	(emit_insxl): Likewise.
+	(alpha_arg_type): Likewise.
+	* config/arc/arc.c (arc_vector_mode_supported_p): Likewise.
+	(arc_preferred_simd_mode): Likewise.
+	(arc_secondary_reload): Likewise.
+	(get_arc_condition_code): Likewise.
+	(arc_print_operand): Likewise.
+	(arc_legitimate_constant_p): Likewise.
+	* config/arc/arc.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+	* config/arc/arc.md (casesi_load): Likewise.
+	(casesi_compact_jump): Likewise.
+	* config/arc/predicates.md (proper_comparison_operator): Likewise.
+	(cc_use_register): Likewise.
+	* config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+	* config/arm/arm-builtins.c (arm_simd_builtin_std_type): Likewise.
+	(arm_init_iwmmxt_builtins): Likewise.
+	* config/arm/arm.c (thumb1_size_rtx_costs): Likewise.
+	(neon_expand_vector_init): Likewise.
+	(arm_attr_length_move_neon): Likewise.
+	(maybe_get_arm_condition_code): Likewise.
+	(arm_emit_vector_const): Likewise.
+	(arm_preferred_simd_mode): Likewise.
+	(arm_output_iwmmxt_tinsr): Likewise.
+	(thumb1_output_casesi): Likewise.
+	(thumb2_output_casesi): Likewise.
+	(arm_emit_load_exclusive): Likewise.
+	(arm_emit_store_exclusive): Likewise.
+	(arm_expand_compare_and_swap): Likewise.
+	(arm_evpc_neon_vuzp): Likewise.
+	(arm_evpc_neon_vzip): Likewise.
+	(arm_evpc_neon_vrev): Likewise.
+	(arm_evpc_neon_vtrn): Likewise.
+	(arm_evpc_neon_vext): Likewise.
+	(arm_validize_comparison): Likewise.
+	* config/arm/neon.md (neon_vc<cmp_op><mode>): Likewise.
+	* config/avr/avr-c.c (avr_resolve_overloaded_builtin): Likewise.
+	* config/avr/avr.c (avr_rtx_costs_1): Likewise.
+	* config/c6x/c6x.c (c6x_vector_mode_supported_p): Likewise.
+	(c6x_preferred_simd_mode): Likewise.
+	* config/epiphany/epiphany.c (get_epiphany_condition_code): Likewise.
+	(epiphany_rtx_costs): Likewise.
+	* config/epiphany/predicates.md (proper_comparison_operator):
+	Likewise.
+	* config/frv/frv.c (condexec_memory_operand): Likewise.
+	(frv_emit_move): Likewise.
+	(output_move_single): Likewise.
+	(output_condmove_single): Likewise.
+	(frv_hard_regno_mode_ok): Likewise.
+	(frv_matching_accg_mode): Likewise.
+	* config/h8300/h8300.c (split_adds_subs): Likewise.
+	(h8300_rtx_costs): Likewise.
+	(h8300_print_operand): Likewise.
+	(compute_mov_length): Likewise.
+	(output_logical_op): Likewise.
+	(compute_logical_op_length): Likewise.
+	(compute_logical_op_cc): Likewise.
+	(h8300_shift_needs_scratch_p): Likewise.
+	(output_a_shift): Likewise.
+	(compute_a_shift_length): Likewise.
+	(compute_a_shift_cc): Likewise.
+	(expand_a_rotate): Likewise.
+	(output_a_rotate): Likewise.
+	* config/i386/i386.c (classify_argument): Likewise.
+	(function_arg_advance_32): Likewise.
+	(function_arg_32): Likewise.
+	(function_arg_64): Likewise.
+	(function_value_64): Likewise.
+	(ix86_gimplify_va_arg): Likewise.
+	(ix86_legitimate_constant_p): Likewise.
+	(put_condition_code): Likewise.
+	(split_double_mode): Likewise.
+	(ix86_avx256_split_vector_move_misalign): Likewise.
+	(ix86_expand_vector_logical_operator): Likewise.
+	(ix86_split_idivmod): Likewise.
+	(ix86_expand_adjust_ufix_to_sfix_si): Likewise.
+	(ix86_build_const_vector): Likewise.
+	(ix86_build_signbit_mask): Likewise.
+	(ix86_match_ccmode): Likewise.
+	(ix86_cc_modes_compatible): Likewise.
+	(ix86_expand_branch): Likewise.
+	(ix86_expand_sse_cmp): Likewise.
+	(ix86_expand_sse_movcc): Likewise.
+	(ix86_expand_int_sse_cmp): Likewise.
+	(ix86_expand_vec_perm_vpermi2): Likewise.
+	(ix86_expand_vec_perm): Likewise.
+	(ix86_expand_sse_unpack): Likewise.
+	(ix86_expand_int_addcc): Likewise.
+	(ix86_split_to_parts): Likewise.
+	(ix86_vectorize_builtin_gather): Likewise.
+	(ix86_vectorize_builtin_scatter): Likewise.
+	(avx_vpermilp_parallel): Likewise.
+	(inline_memory_move_cost): Likewise.
+	(ix86_tieable_integer_mode_p): Likewise.
+	(x86_maybe_negate_const_int): Likewise.
+	(ix86_expand_vector_init_duplicate): Likewise.
+	(ix86_expand_vector_init_one_nonzero): Likewise.
+	(ix86_expand_vector_init_one_var): Likewise.
+	(ix86_expand_vector_init_concat): Likewise.
+	(ix86_expand_vector_init_interleave): Likewise.
+	(ix86_expand_vector_init_general): Likewise.
+	(ix86_expand_vector_set): Likewise.
+	(ix86_expand_vector_extract): Likewise.
+	(emit_reduc_half): Likewise.
+	(ix86_emit_i387_round): Likewise.
+	(ix86_mangle_type): Likewise.
+	(ix86_expand_round_sse4): Likewise.
+	(expand_vec_perm_blend): Likewise.
+	(canonicalize_vector_int_perm): Likewise.
+	(ix86_expand_vec_one_operand_perm_avx512): Likewise.
+	(expand_vec_perm_1): Likewise.
+	(expand_vec_perm_interleave3): Likewise.
+	(expand_vec_perm_even_odd_pack): Likewise.
+	(expand_vec_perm_even_odd_1): Likewise.
+	(expand_vec_perm_broadcast_1): Likewise.
+	(ix86_vectorize_vec_perm_const_ok): Likewise.
+	(ix86_expand_vecop_qihi): Likewise.
+	(ix86_expand_mul_widen_hilo): Likewise.
+	(ix86_expand_sse2_abs): Likewise.
+	(ix86_expand_pextr): Likewise.
+	(ix86_expand_pinsr): Likewise.
+	(ix86_preferred_simd_mode): Likewise.
+	(ix86_simd_clone_compute_vecsize_and_simdlen): Likewise.
+	* config/i386/sse.md (*andnot<mode>3): Likewise.
+	(<mask_codefor><code><mode>3<mask_name>): Likewise.
+	(*<code><mode>3): Likewise.
+	* config/ia64/ia64.c (ia64_expand_vecint_compare): Likewise.
+	(ia64_expand_atomic_op): Likewise.
+	(ia64_arg_type): Likewise.
+	(ia64_mode_to_int): Likewise.
+	(ia64_scalar_mode_supported_p): Likewise.
+	(ia64_vector_mode_supported_p): Likewise.
+	(expand_vec_perm_broadcast): Likewise.
+	* config/iq2000/iq2000.c (iq2000_move_1word): Likewise.
+	(iq2000_function_arg_advance): Likewise.
+	(iq2000_function_arg): Likewise.
+	* config/m32c/m32c.c (m32c_preferred_reload_class): Likewise.
+	* config/m68k/m68k.c (output_dbcc_and_branch): Likewise.
+	(m68k_libcall_value): Likewise.
+	(m68k_function_value): Likewise.
+	(sched_attr_op_type): Likewise.
+	* config/mcore/mcore.c (mcore_output_move): Likewise.
+	* config/microblaze/microblaze.c (microblaze_function_arg_advance):
+	Likewise.
+	(microblaze_function_arg): Likewise.
+	* config/mips/mips.c (mips16_build_call_stub): Likewise.
+	(mips_print_operand): Likewise.
+	(mips_mode_ok_for_mov_fmt_p): Likewise.
+	(mips_vector_mode_supported_p): Likewise.
+	(mips_preferred_simd_mode): Likewise.
+	(mips_expand_vpc_loongson_even_odd): Likewise.
+	(mips_expand_vec_unpack): Likewise.
+	(mips_expand_vi_broadcast): Likewise.
+	(mips_expand_vector_init): Likewise.
+	(mips_expand_vec_reduc): Likewise.
+	(mips_expand_msa_cmp): Likewise.
+	* config/mips/mips.md (casesi_internal_mips16_<mode>): Likewise.
+	* config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
+	(cc_flags_for_mode): Likewise.
+	* config/msp430/msp430.c (msp430_print_operand): Likewise.
+	* config/nds32/nds32-md-auxiliary.c (nds32_mem_format): Likewise.
+	(nds32_output_casesi_pc_relative): Likewise.
+	* config/nds32/nds32.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Likewise.
+	(nvptx_gen_unpack): Likewise.
+	(nvptx_gen_pack): Likewise.
+	(nvptx_gen_shuffle): Likewise.
+	(nvptx_gen_wcast): Likewise.
+	(nvptx_preferred_simd_mode): Likewise.
+	* config/pa/pa.c (pa_secondary_reload): Likewise.
+	* config/pa/predicates.md (base14_operand): Likewise.
+	* config/powerpcspe/powerpcspe-c.c
+	(altivec_resolve_overloaded_builtin): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_setup_reg_addr_masks):
+	Likewise.
+	(rs6000_preferred_simd_mode): Likewise.
+	(output_vec_const_move): Likewise.
+	(rs6000_expand_vector_extract): Likewise.
+	(rs6000_split_vec_extract_var): Likewise.
+	(reg_offset_addressing_ok_p): Likewise.
+	(rs6000_legitimate_offset_address_p): Likewise.
+	(rs6000_legitimize_address): Likewise.
+	(rs6000_emit_set_const): Likewise.
+	(rs6000_const_vec): Likewise.
+	(rs6000_emit_move): Likewise.
+	(spe_build_register_parallel): Likewise.
+	(rs6000_darwin64_record_arg_recurse): Likewise.
+	(swap_selector_for_mode): Likewise.
+	(spe_init_builtins): Likewise.
+	(paired_init_builtins): Likewise.
+	(altivec_init_builtins): Likewise.
+	(do_load_for_compare): Likewise.
+	(rs6000_generate_compare): Likewise.
+	(rs6000_expand_float128_convert): Likewise.
+	(emit_load_locked): Likewise.
+	(emit_store_conditional): Likewise.
+	(rs6000_output_function_epilogue): Likewise.
+	(rs6000_handle_altivec_attribute): Likewise.
+	(rs6000_function_value): Likewise.
+	(emit_fusion_gpr_load): Likewise.
+	(emit_fusion_p9_load): Likewise.
+	(emit_fusion_p9_store): Likewise.
+	* config/powerpcspe/predicates.md (easy_fp_constant): Likewise.
+	(fusion_gpr_mem_load): Likewise.
+	(fusion_addis_mem_combo_load): Likewise.
+	(fusion_addis_mem_combo_store): Likewise.
+	* config/rs6000/predicates.md (easy_fp_constant): Likewise.
+	(fusion_gpr_mem_load): Likewise.
+	(fusion_addis_mem_combo_load): Likewise.
+	(fusion_addis_mem_combo_store): Likewise.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Likewise.
+	* config/rs6000/rs6000-string.c (do_load_for_compare): Likewise.
+	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Likewise.
+	(rs6000_preferred_simd_mode): Likewise.
+	(output_vec_const_move): Likewise.
+	(rs6000_expand_vector_extract): Likewise.
+	(rs6000_split_vec_extract_var): Likewise.
+	(reg_offset_addressing_ok_p): Likewise.
+	(rs6000_legitimate_offset_address_p): Likewise.
+	(rs6000_legitimize_address): Likewise.
+	(rs6000_emit_set_const): Likewise.
+	(rs6000_const_vec): Likewise.
+	(rs6000_emit_move): Likewise.
+	(rs6000_darwin64_record_arg_recurse): Likewise.
+	(swap_selector_for_mode): Likewise.
+	(paired_init_builtins): Likewise.
+	(altivec_init_builtins): Likewise.
+	(rs6000_expand_float128_convert): Likewise.
+	(emit_load_locked): Likewise.
+	(emit_store_conditional): Likewise.
+	(rs6000_output_function_epilogue): Likewise.
+	(rs6000_handle_altivec_attribute): Likewise.
+	(rs6000_function_value): Likewise.
+	(emit_fusion_gpr_load): Likewise.
+	(emit_fusion_p9_load): Likewise.
+	(emit_fusion_p9_store): Likewise.
+	* config/rx/rx.c (rx_gen_move_template): Likewise.
+	(flags_from_mode): Likewise.
+	* config/s390/predicates.md (s390_alc_comparison): Likewise.
+	(s390_slb_comparison): Likewise.
+	* config/s390/s390.c (s390_handle_vectorbool_attribute): Likewise.
+	(s390_vector_mode_supported_p): Likewise.
+	(s390_cc_modes_compatible): Likewise.
+	(s390_match_ccmode_set): Likewise.
+	(s390_canonicalize_comparison): Likewise.
+	(s390_emit_compare_and_swap): Likewise.
+	(s390_branch_condition_mask): Likewise.
+	(s390_rtx_costs): Likewise.
+	(s390_secondary_reload): Likewise.
+	(__SECONDARY_RELOAD_CASE): Likewise.
+	(s390_expand_cs): Likewise.
+	(s390_preferred_simd_mode): Likewise.
+	* config/s390/vx-builtins.md (vec_packsu_u<mode>): Likewise.
+	* config/sh/sh.c (sh_print_operand): Likewise.
+	(dump_table): Likewise.
+	(sh_secondary_reload): Likewise.
+	* config/sh/sh.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+	* config/sh/sh.md (casesi_worker_1): Likewise.
+	(casesi_worker_2): Likewise.
+	* config/sparc/predicates.md (icc_comparison_operator): Likewise.
+	(fcc_comparison_operator): Likewise.
+	* config/sparc/sparc.c (sparc_expand_move): Likewise.
+	(emit_soft_tfmode_cvt): Likewise.
+	(sparc_preferred_simd_mode): Likewise.
+	(output_cbranch): Likewise.
+	(sparc_print_operand): Likewise.
+	(sparc_expand_vec_perm_bmask): Likewise.
+	(vector_init_bshuffle): Likewise.
+	* config/spu/spu.c (spu_scalar_mode_supported_p): Likewise.
+	(spu_vector_mode_supported_p): Likewise.
+	(spu_expand_insv): Likewise.
+	(spu_emit_branch_or_set): Likewise.
+	(spu_handle_vector_attribute): Likewise.
+	(spu_builtin_splats): Likewise.
+	(spu_builtin_extract): Likewise.
+	(spu_builtin_promote): Likewise.
+	(spu_expand_sign_extend): Likewise.
+	* config/tilegx/tilegx.c (tilegx_scalar_mode_supported_p): Likewise.
+	(tilegx_simd_int): Likewise.
+	* config/tilepro/tilepro.c (tilepro_scalar_mode_supported_p): Likewise.
+	(tilepro_simd_int): Likewise.
+	* config/v850/v850.c (const_double_split): Likewise.
+	(v850_print_operand): Likewise.
+	(ep_memory_offset): Likewise.
+	* config/vax/vax.c (vax_rtx_costs): Likewise.
+	(vax_output_int_move): Likewise.
+	(vax_output_int_add): Likewise.
+	(vax_output_int_subtract): Likewise.
+	* config/visium/predicates.md (visium_branch_operator): Likewise.
+	* config/visium/visium.c (rtx_ok_for_offset_p): Likewise.
+	(visium_print_operand_address): Likewise.
+	* config/visium/visium.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+	* config/xtensa/xtensa.c (xtensa_mem_offset): Likewise.
+	(xtensa_expand_conditional_branch): Likewise.
+	(xtensa_copy_incoming_a7): Likewise.
+	(xtensa_output_literal): Likewise.
+	* dfp.c (decimal_real_maxval): Likewise.
+	* targhooks.c (default_libgcc_floating_mode_supported_p): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* genmodes.c (mode_size_inline): Add an E_ prefix to mode names.
+	(mode_nunits_inline): Likewise.
+	(mode_inner_inline): Likewise.
+	(mode_unit_size_inline): Likewise.
+	(mode_unit_precision_inline): Likewise.
+	(emit_insn_modes_h): Likewise.  Also emit a #define of the
+	unprefixed name.
+	(emit_mode_wider): Add an E_ prefix to mode names.
+	(emit_mode_complex): Likewise.
+	(emit_mode_inner): Likewise.
+	(emit_mode_adjustments): Likewise.
+	(emit_mode_int_n): Likewise.
+	* config/aarch64/aarch64-builtins.c (v8qi_UP, v4hi_UP, v4hf_UP)
+	(v2si_UP, v2sf_UP, v1df_UP, di_UP, df_UP, v16qi_UP, v8hi_UP, v8hf_UP)
+	(v4si_UP, v4sf_UP, v2di_UP, v2df_UP, ti_UP, oi_UP, ci_UP, xi_UP)
+	(si_UP, sf_UP, hi_UP, hf_UP, qi_UP): Likewise.
+	(CRC32_BUILTIN, ENTRY): Likewise.
+	* config/aarch64/aarch64.c (aarch64_push_regs): Likewise.
+	(aarch64_pop_regs): Likewise.
+	(aarch64_process_components): Likewise.
+	* config/alpha/alpha.c (alpha_emit_conditional_move): Likewise.
+	* config/arm/arm-builtins.c (v8qi_UP, v4hi_UP, v4hf_UP, v2si_UP)
+	(v2sf_UP, di_UP, v16qi_UP, v8hi_UP, v8hf_UP, v4si_UP, v4sf_UP)
+	(v2di_UP, ti_UP, ei_UP, oi_UP, hf_UP, si_UP, void_UP): Likewise.
+	* config/arm/arm.c (arm_init_libfuncs): Likewise.
+	* config/i386/i386-builtin-types.awk (ix86_builtin_type_vect_mode):
+	Likewise.
+	* config/i386/i386-builtin.def (pcmpestr): Likewise.
+	(pcmpistr): Likewise.
+	* config/microblaze/microblaze.c (double_memory_operand): Likewise.
+	* config/mmix/mmix.c (mmix_output_condition): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_init_hard_regno_mode_ok):
+	Likewise.
+	* config/rl78/rl78.c (mduc_regs): Likewise.
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Likewise.
+	(htm_expand_builtin): Likewise.
+	* config/sh/sh.h (REGISTER_NATURAL_MODE): Likewise.
+	* config/sparc/sparc.c (emit_save_or_restore_regs): Likewise.
+	* config/xtensa/xtensa.c (print_operand): Likewise.
+	* expmed.h (NUM_MODE_PARTIAL_INT): Likewise.
+	(NUM_MODE_VECTOR_INT): Likewise.
+	* genoutput.c (null_operand): Likewise.
+	(output_operand_data): Likewise.
+	* genrecog.c (print_parameter_value): Likewise.
+	* lra.c (debug_operand_data): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* dwarf2out.c (scompare_loc_descriptor_wide)
+	(scompare_loc_descriptor_narrow): New functions, split out from...
+	(scompare_loc_descriptor): ...here.
+	* expmed.c (emit_store_flag_int): New function, split out from...
+	(emit_store_flag): ...here.
+
+2017-08-30  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (dwarf2out_finish): Remove setting AT_pubnames.
+	(dwarf2out_early_finish): Move setting of AT_pubnames from
+	early debug output to early finish.
+
+2017-08-30  Jozef Lawrynowicz  <jozef.l@somniumtech.com>
+
+	* gcc/config/msp430/msp430.h: Pass -mcode/data-region to the linker
+	and -mdata-region to the assembler.
+
+2017-08-30  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (add_dwarf_attr): Check we don't add duplicate
+	attributes.
+	(gen_subprogram_die): Add DW_AT_object_pointer only early.
+	(dwarf2out_early_global_decl): Only generate a DIE for the
+	abstract origin if it doesn't already exist or is a declaration DIE.
+	(resolve_addr): Do not add the linkage name twice when
+	generating a stub DIE for the DW_TAG_GNU_call_site target.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Use machine_mode rather than int for arg1_mode.
+
+2017-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/82015
+	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Insure
+	that the second argument of the built-in functions to unpack
+	128-bit scalar types to 64-bit values is 0 or 1.  Change to use a
+	switch statement instead a lot of if statements.
+	* config/rs6000/rs6000.md (unpack<mode>, FMOVE128_VSX iterator):
+	Allow 64-bit values to be in Altivec registers as well as
+	traditional floating point registers.
+	(pack<mode>, FMOVE128_VSX iterator): Likewise.
+
+2017-08-29  Alexander Monakov  <amonakov@ispras.ru>
+
+	* ira-costs.c (record_address_regs): Handle both operands of PLUS for
+	MAX_REGS_PER_ADDRESS == 1.
+
+2017-08-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.opt (flag_fentry): Do not init to -1.
+	* config/i386/i386.c (ix86_option_override_internal): Simplify
+	setting of opts->x_flag_entry.
+
+2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81503
+	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
+	folded constant fits in the target type; reorder tests for clarity.
+
+2017-08-29  Martin Liska  <mliska@suse.cz>
+
+	* passes.def: Include pass_lower_switch.
+	* stmt.c (dump_case_nodes): Remove and move to
+	tree-switch-conversion.
+	(case_values_threshold): Likewise.
+	(expand_switch_as_decision_tree_p): Likewise.
+	(emit_case_decision_tree): Likewise.
+	(expand_case): Likewise.
+	(balance_case_nodes): Likewise.
+	(node_has_low_bound): Likewise.
+	(node_has_high_bound): Likewise.
+	(node_is_bounded): Likewise.
+	(emit_case_nodes): Likewise.
+	(struct simple_case_node): New struct.
+	(add_case_node): Remove.
+	(emit_case_dispatch_table): Use vector instead of case_list.
+	(reset_out_edges_aux): Remove.
+	(compute_cases_per_edge): Likewise.
+	(expand_case): Build list of simple_case_node.
+	(expand_sjlj_dispatch_table): Use it.
+	* tree-switch-conversion.c (struct case_node): Moved from
+	stmt.c and adjusted.
+	(emit_case_nodes): Likewise.
+	(node_has_low_bound): Likewise.
+	(node_has_high_bound): Likewise.
+	(node_is_bounded): Likewise.
+	(case_values_threshold): Likewise.
+	(reset_out_edges_aux): Likewise.
+	(compute_cases_per_edge): Likewise.
+	(add_case_node): Likewise.
+	(dump_case_nodes): Likewise.
+	(balance_case_nodes): Likewise.
+	(expand_switch_as_decision_tree_p): Likewise.
+	(emit_jump): Likewise.
+	(emit_case_decision_tree): Likewise.
+	(try_switch_expansion): Likewise.
+	(do_jump_if_equal): Likewise.
+	(emit_cmp_and_jump_insns): Likewise.
+	(fix_phi_operands_for_edge): New function.
+	(record_phi_operand_mapping): Likewise.
+	(class pass_lower_switch): New pass.
+	(pass_lower_switch::execute): New function.
+	(make_pass_lower_switch): Likewise.
+	(conditional_probability):
+	* timevar.def: Add TV_TREE_SWITCH_LOWERING.
+	* tree-pass.h: Add make_pass_lower_switch.
+
+2017-08-29  Jozef Lawrynowicz  <jozef.l@somniumtech.com>
+
+	PR target/80993
+	* gcc/config/msp430/msp430.c (msp430_attr): Mark interrupt
+	handlers as used.
+
+2017-08-29  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (add_dwarf_attr): When checking is enabled verify
+	we do not add a DW_AT_inline attribute twice.
+	(gen_subprogram_die): Remove code setting DW_AT_inline on
+	DECL_ABSTRACT_P nodes.
+
+2017-08-29  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* gimplify.c (gimplify_call_expr): Copy the nothrow flag to
+	calls to internal functions.
+	(gimplify_modify_expr): Likewise.
+	* tree-call-cdce.c (use_internal_fn): Likewise.
+	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
+	(convert_to_divmod): Set the nothrow flag.
+	* tree-if-conv.c (predicate_mem_writes):  Likewise.
+	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
+	(vectorizable_call): Likewise.
+	(vectorizable_store): Likewise.
+	(vectorizable_load): Likewise.
+	* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
+	(vect_recog_mask_conversion_pattern): Likewise.
+
+2017-08-29  Martin Liska  <mliska@suse.cz>
+
+	PR other/39851
+	* gcc.c (driver_handle_option): Add new argument.
+	* opts-common.c (handle_option): Pass
+	target_option_override_hook.
+	* opts-global.c (lang_handle_option): Add new option.
+	(set_default_handlers):  Add new argument.
+	(decode_options): Likewise.
+	* opts.c (target_handle_option): Likewise.
+	(common_handle_option): Call target_option_override_hook.
+	* opts.h (struct cl_option_handler_func): Add hook for
+	target option override.
+	(struct cl_option_handlers): Likewise.
+	(set_default_handlers): Add new argument.
+	(decode_options): Likewise.
+	(common_handle_option): Likewise.
+	(target_handle_option): Likewise.
+	* toplev.c (toplev::main): Pass targetm.target_option.override
+	hook.
+
+2017-08-29  Richard Biener  <rguenther@suse.de>
+	Dominik Infuehr <dominik.infuehr@theobroma-systems.com>
+
+	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine
+	life to the active subtree.
+
+2017-08-28  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dom.c (edge_info::record_simple_equiv): Call
+	derive_equivalences.
+	(derive_equivalences_from_bit_ior, record_temporary_equivalences):
+	Code moved into....
+	(edge_info::derive_equivalences): New private member function
+
+	* tree-ssa-dom.c (class edge_info): Changed from a struct
+	to a class.  Add ctor/dtor, methods and data members.
+	(edge_info::edge_info): Renamed from allocate_edge_info.
+	Initialize additional members.
+	(edge_info::~edge_info): New.
+	(free_dom_edge_info): Delete the edge info.
+	(record_edge_info): Use new class & associated member functions.
+	Tighten forms for testing for edge equivalences.
+	(record_temporary_equivalences): Iterate over the simple
+	equivalences rather than assuming there's only one per edge.
+	(cprop_into_successor_phis): Iterate over the simple
+	equivalences rather than assuming there's only one per edge.
+	(optimize_stmt): Use operand_equal_p rather than pointer
+	equality for mini-DSE code.
+
+2017-08-28  Nathan Sidwell  <nathan@acm.org>
+
+	* gcc.c (execute): Fold SIGPIPE handling into switch
+	statement.  Adjust internal error message.
+
+2017-08-28  Richard Biener  <rguenther@suse.de>
+
+	PR debug/81993
+	* dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
+	Do nothing for removed DIEs.
+
+2017-08-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81977
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through
+	memcpy.
+
+2017-08-28  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR target/80640
+	* doc/md.texi (mem_thread_fence): Remove mention of mode.  Rewrite.
+	* optabs.c (expand_mem_thread_fence): Emit a compiler barrier when
+	using targetm.gen_mem_thread_fence.
+
+2017-08-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81995
+	* config/i386/i386.md (*<btsc><mode>): Change operand 2
+	predicate to register_operand.  Reorder operands.
+	(*btr<mode>): Ditto.
+	(*<btsc><mode>_mask): Change operand 3 predicate to register_operand.
+	(*btr<mode>_mask): Ditto.
+
+2017-08-25  Steven Munroe  <munroesj@gcc.gnu.org>
+
+	* config.gcc (powerpc*-*-*): Add xmmintrin.h and mm_malloc.h.
+	* config/rs6000/xmmintrin.h: New file.
+	* config/rs6000/x86intrin.h [__ALTIVEC__]: Include xmmintrin.h.
+
+2017-08-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/81504
+	* config/rs6000/rs6000-p8swap.c (find_alignment_op): Add reference
+	parameter and_insn and return it.
+	(recombine_lvx_pattern): Insert a copy to ensure availability of
+	the base register of the copied masking operation at the point of
+	the instruction replacement.
+	(recombine_stvx_pattern): Likewise.
+
+2017-08-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.opt (-mpower9-dform-scalar): Delete
+	undocumented switches.
+	(-mpower9-dform-vector): Likewise.
+	(-mpower9-dform): Likewise.
+	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update
+	comments to delete references to -mpower9-dform* switches.
+	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand):
+	Delete reference to -mpower9-dform* switches, test for
+	-mpower9-vector instead.
+	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise.
+	(OTHER_P9_VECTOR_MASKS): Likewise.
+	(POWERPC_MASKS): Likewise.
+	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Change
+	tests against -mpower9-dform* to -mpower9-vector.  Delete code
+	that checked for -mpower9-dform* consistancy with other options.
+	Add test for -mpower9-misc to enable other power9 switches.
+	(rs6000_init_hard_regno_mode_ok): Likewise.
+	(rs6000_option_override_internal): Likewise.
+	(rs6000_emit_prologue): Likewise.
+	(rs6000_emit_epilogue): Likewise.
+	(rs6000_opt_masks): Delete -mpower9-dform-{scalar,vector}.
+	(rs6000_disable_incompatiable_switches): Delete -mpower9-dform.
+	(emit_fusion_p9_load): Change tests for -mpower9-dform-scalar
+	-mpower9-vector.
+	(emit_fusion_p9_store): Likewise.
+	* config/rs6000/rs6000.h (TARGET_P9_DFORM_SCALAR): Delete
+	resetting these macros if the assembler does not support ISA 3.0
+	instructions.
+	(TARGET_P9_DFORM_VECTOR): Likewise.
+	* config/rs6000/rs6000.md (peepholes to optimize altivec memory):
+	Change to use -mpower9-vector instead of -mpower9-dform-scalar.
+
+2017-08-25  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/81747
+	* cse.c (cse_extended_basic_block): Don't attempt to record
+	equivalences for degenerate conditional branches that branch
+	to their fall-through.
+
+2017-08-24  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/81908
+	* gimple-fold.c (size_must_be_zero_p): New function.
+	(gimple_fold_builtin_memory_op): Call it.
+
+2017-08-24  Steven Munroe  <munroesj@gcc.gnu.org>
+
+	* config/rs6000/mm_malloc.h: New file.
+
+2017-08-24  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81913
+	* tree-ssa-loop-niter.c (number_of_iterations_cond): Skip niter
+	analysis when either IVs in condition can wrap.
+
+2017-08-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	* dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40.
+	* dwarf2cfi.c (MAX_ARTIFICIAL_LABEL_BYTES): Remove.
+
+2017-08-24  Richard Biener  <rguenther@suse.de>
+
+	PR target/81921
+	* targhooks.c (default_target_can_inline_p): Properly
+	use target_option_default_node when no DECL_FUNCTION_SPECIFIC_TARGET
+	is present and always compare.
+	* config/i386/i386.c (ix86_valid_target_attribute_tree): Do not
+	infer -mfpmath=sse from TARGET_SSE_P.
+	(ix86_can_inline_p): Properly use target_option_default_node when
+	no DECL_FUNCTION_SPECIFIC_TARGET is present and always compare.
+
+2017-08-24  Richard Biener  <rguenther@suse.de>
+
+	PR debug/81936
+	* dwarf2out.c (output_die): Handle flag_generate_offload like
+	flag_generate_lto.
+	(output_comp_unit): Likewise.
+	(gen_array_type_die): Likewise.
+	(dwarf2out_early_finish): Likewise.
+	(note_variable_value_in_expr): Likewise.
+	(dwarf2out_finish): Likewise.  Adjust assert.
+	* cgraphunit.c (symbol_table::compile): Move setting of
+	flag_generate_offload earlier ...
+	(symbol_table::finalize_compilation_unit): ... here, before
+	early debug finalization.
+
+2017-08-24  Richard Biener  <rguenther@suse.de>
+
+	* config/i386/i386.c: Include symbol-summary.h, ipa-prop.h
+	and ipa-fnsummary.h.
+	(ix86_can_inline_p): When ix86_fpmath flags do not match
+	check whether the callee uses FP math at all.
+
+2017-08-24  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR middle-end/81931
+	* tree-ssanames.c (get_nonzero_bits): Use element_precision
+	instead of TYPE_PRECISION.
+
+2017-08-24  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (make_extraction): Use subreg_offset_from_lsb.
+
+2017-08-23  Daniel Santos  <daniel.santos@pobox.com>
+
+	* config/i386/i386.h (ix86_frame::stack_realign_allocate_offset):
+	Remove field.
+	(ix86_frame::stack_realign_allocate): New field.
+	(struct machine_frame_state): Modify comments.
+	(machine_frame_state::sp_realigned_fp_end): New field.
+	* config/i386/i386.c (ix86_compute_frame_layout): Rework stack frame
+	layout calculation.
+	(sp_valid_at): Add assertion to assure no attempt to access invalid
+	offset of a realigned stack.
+	(fp_valid_at): Likewise.
+	(choose_baseaddr): Modify comments.
+	(ix86_emit_outlined_ms2sysv_save): Adjust to changes in
+	ix86_expand_prologue.
+	(ix86_expand_prologue): Modify stack realignment and allocation.
+	(ix86_expand_epilogue): Modify comments.
+	* doc/sourcebuild.texi: Add documentation for target selectors avx2,
+	avx2_runtime, avx512f, and avx512f_runtime.
+
+2017-08-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.opt: Remove unneeded Init(0) initializations.
+	(mstackrealign): Do not init to -1.
+	* config/i386/i386.c (ix86_option_override_internal):
+	Check opts_set, not opts when setting default value of
+	opts->x_ix86_force_align_arg_pointer.
+
+2017-08-23  Richard Biener  <rguenther@suse.de>
+
+	* function.c (fndecl_name): Use verbosity 1 (no arguments) for
+	lang_hooks.decl_printable_name.
+	* print-rtl-function.c (print_rtx_function): Likewise.
+	* tree-pretty-print.c (dump_function_header): Likewise.
+
+2017-08-23  Richard Biener  <rguenther@suse.de>
+
+	PR lto/81940
+	* dwarf2out.c (dwarf2out_abstract_function): Handle LTO with
+	-g0 at compile-time.
+
+2017-08-23  Tamar Christina  <tamar.christina@arm.com>
+
+	PR middle-end/19706
+	* doc/sourcebuild.texi (Other hardware attributes):
+	Document xorsign.
+
+2017-08-23  Tamar Christina  <tamar.christina@arm.com>
+
+	PR middle-end/19706
+	* tree-ssa-math-opts.c (convert_expand_mult_copysign):
+	Fix single-use check.
+
+2017-08-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* gcc.c (execute): Only test for SIGKILL and SIGQUIT if available.
+
+2017-08-22  Daniel Santos  <daniel.santos@pobox.com>
+
+	* doc/install.texi: Modify to add more details on running selected
+	tests.
+
+2017-08-22  Daniel Santos  <daniel.santos@pobox.com>
+
+	* config/i386/i386.c (ix86_option_override_internal): Error when -mx32
+	is combined with -mabi=ms.
+	(ix86_function_type_abi): Limit errors for mixing -mx32 with attribute
+	ms_abi.
+
+2017-08-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/81488
+	* gimple-ssa-strength-reduction (struct slsr_cand_d): Add visited
+	and cached_basis fields.
+	(MAX_SPREAD): New constant.
+	(alloc_cand_and_find_basis): Initialize new fields.
+	(clear_visited): New function.
+	(create_phi_basis_1): Rename from create_phi_basis, set visited
+	and cached_basis fields.
+	(create_phi_basis): New wrapper function.
+	(phi_add_costs_1): Rename from phi_add_costs, add spread
+	parameter, set visited field, short-circuit when limits reached.
+	(phi_add_costs): New wrapper function.
+	(record_phi_increments_1): Rename from record_phi_increments, set
+	visited field.
+	(record_phi_increments): New wrapper function.
+	(phi_incr_cost_1): Rename from phi_incr_cost, set visited field.
+	(phi_incr_cost): New wrapper function.
+	(all_phi_incrs_profitable_1): Rename from
+	all_phi_incrs_profitable, set visited field.
+	(all_phi_incrs_profitable): New wrapper function.
+
+2017-08-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* rtl.h (paradoxical_subreg_p): Define inline, and add a version
+	that takes the outer and inner modes.
+	* doc/rtl.texi: Use paradoxical_subreg_p instead of a GET_MODE_SIZE
+	comparison as the canonical test for a paradoxical subreg.
+	* combine.c (simplify_set): Use paradoxical_subreg_p.
+	(make_extraction): Likewise.
+	(force_to_mode): Likewise.
+	(rtx_equal_for_field_assignment_p): Likewise.
+	(gen_lowpart_for_combine): Likewise.
+	(simplify_comparison): Likewise.
+	* cse.c (equiv_constant): Likewise.
+	* expmed.c (store_bit_field_1): Likewise.
+	* final.c (alter_subreg): Likewise.
+	* fwprop.c (propagate_rtx): Likewise.
+	(forward_propagate_subreg): Likewise.
+	* ira-conflicts.c (ira_build_conflicts): Likewise.
+	* lower-subreg.c (simplify_gen_subreg_concatn): Likewise.
+	* lra-constraints.c (curr_insn_transform): Likewise.
+	(split_reg): Likewise.
+	* lra-eliminations.c (move_plus_up): Likewise.
+	(lra_eliminate_regs_1): Likewise.
+	* recog.c (general_operand): Likewise.
+	* ree.c (combine_reaching_defs): Likewise.
+	* reload.c (push_reload): Likewise.
+	(find_reloads): Likewise.
+	* reload1.c (elimination_effects): Likewise.
+	(compute_reload_subreg_offset): Likewise.
+	(choose_reload_regs): Likewise.
+	* rtlanal.c (subreg_lsb_1): Likewise.
+	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
+	(simplify_subreg): Likewise.
+	* var-tracking.c (track_loc_p): Likewise.
+	* emit-rtl.c (byte_lowpart_offset): Likewise.
+	(paradoxical_subreg_p): Delete out-of-line definition.
+
+2017-08-22  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/81741
+	PR tree-optimization/71947
+	* tree-ssa-dom.c: Include tree-inline.h.
+	(record_temporary_equivalences): Only record SSA_NAME = SSA_NAME
+	equivalences if one is more expensive to compute than the other.
+	* tree-ssa-scopedtables.h (class const_or_copies): Make
+	record_const_or_copy_raw method private.
+	(class avail_exprs_stack): New method simplify_binary_operation.
+	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Call
+	avail_exprs_stack::simplify_binary_operation as needed.
+	(avail_exprs_stack::simplify_binary_operation): New function.
+
+2017-08-22  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config.gcc (powerpc-*-rtems*): Add rs6000/linux64.opt.
+	* config/rs6000/rtems.h (ASM_PREFERRED_EH_DATA_FORMAT): New define.
+	(DOT_SYMBOLS): Likewise.
+	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
+	(RELOCATABLE_NEEDS_FIXUP): Likewise.
+	(RS6000_ABI_NAME): Likewise.
+	(TARGET_CMODEL): Likewise.
+	(TOC_SECTION_ASM_OP): Likewise.
+	(SET_CMODEL): New macro.
+	(SUBSUBTARGET_OVERRIDE_OPTIONS): Evaluate cmodel options.
+
+2017-08-22  Richard Biener  <rguenther@suse.de>
+
+	* tree-inline.c (remap_type_1): Change asserts on TYPE_SIZE[_UNIT]
+	to allow for free-lang-data replacements similar to verify_type_variant.
+
+2017-08-22  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* config/aarch64/aarch64.md (casesi): Use DImode rather than
+	VOIDmode for the LABEL_REF.
+
+2017-08-22  Richard Biener  <rguenther@suse.de>
+
+	* tree-cfg.c (gimple_split_edge): Avoid reallocating target PHI nodes.
+
+2017-08-22  Richard Biener  <rguenther@suse.de>
+
+	* common.opt (feliminate-dwarf2-dups): Ignore.
+	* doc/invoke.texi (feliminate-dwarf2-dups): Remove documentation.
+	* dwarf2out.c (push_new_compile_unit, pop_compile_unit,
+	same_die_p_wrap, compute_section_prefix,
+	is_symbol_die, assign_symbol_names, break_out_includes): Remove.
+	(comdat_symbol_id, comdat_symbol_number): Likewise.
+	(cu_hash_table_entry, cu_hash_table_entry_hasher, cu_hash_type):
+	Likewise.
+	(check_duplicate_cu, record_comdat_symbol_number): Likewise.
+	(output_die): Mark unreachable path unreachable.
+	(dwarf2out_start_source_file): Do not create DW_TAG_GNU_BINCL.
+	(dwarf2out_end_source_file): Do not create DW_TAG_GNU_EINCL.
+	(dwarf2out_init): Remove code handling flag_eliminate_dwarf2_dups.
+	(dwarf2out_early_finish): Likewise.
+
+2017-08-22  Aldy Hernandez  <aldyh@redhat.com>
+
+	* wide-int.h (hwi_with_prec::hwi_with_prec): Sign extend.
+
+2017-08-22  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/81910
+	* config/avr/avr.c (avr_handle_addr_attribute): Early return if
+	not VAR_P. Filter attribute warnings with OPT_Wattributes.
+	(avr_attribute_table) <io, io_low, address>: Initialize
+	.decl_required with true.
+
+2017-08-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-cpus.def (-mvsx-scalar-float): Delete
+	undocumented debugging options.
+	(-mvsx-scalar-double): Likewise.
+	(-mallow-df-permute): Likewise.
+	(-mvectorize-builtins): Likewise.
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Likewise.
+	(rs6000_builtin_vectorized_function): Likewise.
+	(rs6000_builtin_md_vectorized_function): Likewise.
+	(rs6000_opt_vars): Likewise.
+
+2017-08-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/46091
+	* config/i386/i386.md (*btsq_imm): Rename from *btsq.
+	(*btrq_imm): Rename from *btrq.
+	(*btcq_imm): Rename from *btcq.
+	(btsc): New code attribute.
+	(*<btsc><mode>): New insn pattern.
+	(*btr<mode>): Ditto.
+	(*<btsc><mode>_mask): New insn_and_split pattern.
+	(*btr<mode>_mask): Ditto.
+
+2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* function.c (pad_below): Simplify padding calculation.
+
+2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target.def (function_prologue): Remove frame size argument.
+	(function_epilogue): Likewise.
+	* doc/tm.texi: Regenerate.
+	* final.c (final_start_function): Update call to function_prologue.
+	(final_end_function): Update call to function_epilogue.
+	(default_function_pro_epilogue): Remove frame size argument.
+	* output.h (default_function_pro_epilogue): Likewise.
+	* config/arm/arm.c (arm_output_function_epilogue): Likewise.
+	(arm_output_function_prologue): Likewise.
+	* config/frv/frv.c (frv_function_prologue): Likewise.
+	(frv_function_epilogue): Likewise.
+	* config/i386/i386.c (ix86_output_function_epilogue): Likewise.
+	* config/ia64/ia64.c (ia64_output_function_prologue): Likewise.
+	(ia64_output_function_epilogue): Likewise.
+	* config/m32r/m32r.c (m32r_output_function_prologue): Likewise.
+	(m32r_output_function_epilogue): Likewise.
+	* config/microblaze/microblaze.c (microblaze_function_prologue)
+	(microblaze_function_epilogue): Likewise.
+	* config/mips/mips.c (mips_output_function_prologue): Likewise.
+	(mips_output_function_epilogue): Likewise.
+	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Likewise.
+	(mmix_target_asm_function_epilogue): Likewise.
+	* config/msp430/msp430.c (msp430_start_function): Likewise.
+	* config/nds32/nds32.c (nds32_asm_function_prologue): Likewise.
+	(nds32_asm_function_epilogue): Likewise.
+	* config/nios2/nios2.c (nios2_asm_function_prologue): Likewise.
+	* config/pa/pa.c (pa_output_function_prologue): Likewise.
+	(pa_output_function_epilogue): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_output_function_prologue)
+	(rs6000_output_function_epilogue): Likewise.
+	* config/rl78/rl78.c (rl78_start_function): Likewise.
+	* config/rs6000/rs6000.c (rs6000_output_function_prologue): Likewise.
+	(rs6000_output_function_epilogue): Likewise.
+	* config/rx/rx.c (rx_output_function_prologue): Likewise.
+	* config/sh/sh.c (sh_output_function_epilogue): Likewise.
+	* config/sparc/sparc.c (sparc_asm_function_prologue): Likewise.
+	(sparc_asm_function_epilogue): Likewise.
+
+2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree.h (type_has_mode_precision_p): New function.
+	* convert.c (convert_to_integer_1): Use it.
+	* expr.c (expand_expr_real_2): Likewise.
+	(expand_expr_real_1): Likewise.
+	* fold-const.c (fold_single_bit_test_into_sign_test): Likewise.
+	* match.pd: Likewise.
+	* tree-ssa-forwprop.c (simplify_rotate): Likewise.
+	* tree-ssa-math-opts.c (convert_mult_to_fma): Likewise.
+	* tree-tailcall.c (process_assignment): Likewise.
+	* tree-vect-loop.c (vectorizable_reduction): Likewise.
+	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern)
+	(vect_recog_mult_pattern, vect_recog_divmod_pattern): Likewise.
+	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
+	(vectorizable_assignment): Likewise.
+	(vectorizable_shift): Likewise.
+	(vectorizable_operation): Likewise.
+	* tree-vrp.c (register_edge_assert_for_2): Likewise.
+
+2017-08-21  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* match.pd: Add pow (C, x) simplification.
+
+2017-08-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81900
+	* tree-ssa-pre.c (compute_antic_aux): Properly compute changed
+	for blocks with abnormal predecessors.
+	(compute_antic): Do not set visited flag prematurely.
+
+2017-08-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/79883
+	* config/avr/avr.c (avr_set_current_function): Typo in diagnostic.
+
+2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* stor-layout.h (vector_type_mode): Move to...
+	* tree.h (vector_type_mode): ...here.
+	* stor-layout.c (vector_type_mode): Move to...
+	* tree.c (vector_type_mode): ...here.  Include rtl.h and regs.h.
+
+2017-08-21  Richard Biener  <rguenther@suse.de>
+
+	* debug.h (struct gcc_debug_hooks): Add die_ref_for_decl and
+	register_external_die hooks.
+	(debug_false_tree_charstarstar_uhwistar): Declare.
+	(debug_nothing_tree_charstar_uhwi): Likewise.
+	* debug.c (do_nothing_debug_hooks): Adjust.
+	(debug_false_tree_charstarstar_uhwistar): New do nothing.
+	(debug_nothing_tree_charstar_uhwi): Likewise.
+	* dbxout.c (dbx_debug_hooks): Adjust.
+	(xcoff_debug_hooks): Likewise.
+	* sdbout.c (sdb_debug_hooks): Likewise.
+	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+	* dwarf2out.c (macinfo_label_base): New global.
+	(dwarf2out_register_external_die): New function for the
+	register_external_die hook.
+	(dwarf2out_die_ref_for_decl): Likewise for die_ref_for_decl.
+	(dwarf2_debug_hooks): Use them.
+	(dwarf2_lineno_debug_hooks): Adjust.
+	(struct die_struct): Add with_offset flag.
+	(DEBUG_LTO_DWO_INFO_SECTION, DEBUG_LTO_INFO_SECTION,
+	DEBUG_LTO_DWO_ABBREV_SECTION, DEBUG_LTO_ABBREV_SECTION,
+	DEBUG_LTO_DWO_MACINFO_SECTION, DEBUG_LTO_MACINFO_SECTION,
+	DEBUG_LTO_DWO_MACRO_SECTION, DEBUG_LTO_MACRO_SECTION,
+	DEBUG_LTO_LINE_SECTION, DEBUG_LTO_DWO_STR_OFFSETS_SECTION,
+	DEBUG_LTO_STR_DWO_SECTION, DEBUG_STR_LTO_SECTION): New macros
+	defining section names for the early LTO debug variants.
+	(reset_indirect_string): New helper.
+	(add_AT_external_die_ref): Helper for dwarf2out_register_external_die.
+	(print_dw_val): Add support for offsetted symbol references.
+	(get_ultimate_context): Split out from is_cxx.
+	(is_cxx): Use get_ultimate_context.
+	(is_fortran): Add decl overload.
+	(compute_comp_unit_symbol): Split out worker from
+	compute_section_prefix.
+	(compute_section_prefix): Call compute_comp_unit_symbol and
+	set comdat_type_p here.
+	(output_die): Skip DIE symbol output for the LTO added one.
+	Handle DIE symbol references with offset.
+	(output_comp_unit): Guard section name mangling properly.
+	For LTO debug sections emit a symbol at the section beginning
+	which we use to refer to its DIEs.
+	(add_abstract_origin_attribute): For DIEs registered via
+	dwarf2out_register_external_die directly refer to the early
+	DIE rather than indirectly through the shadow one we created.
+	Remove obsolete call to dwarf2out_abstract_function for
+	non-function/block origins.
+	(gen_array_type_die): When generating early LTO debug do
+	not emit DW_AT_string_length.
+	(gen_formal_parameter_die): Do not re-create DIEs for PARM_DECLs
+	late when in LTO.  As suggested place a gcc_unreachable for
+	the DECL_ABSTRACT_P case.
+	(gen_subprogram_die): Avoid another specification DIE
+	for early built declarations/definitions for the late LTO case.
+	(gen_variable_die): Add type references for late duplicated VLA dies
+	when in late LTO.
+	(gen_inlined_subroutine_die): Do not call dwarf2out_abstract_function,
+	we have the abstract instance already.
+	(process_scope_var): Adjust decl DIE contexts in LTO which
+	first puts them in limbo.
+	(gen_decl_die): Do not generate type DIEs late apart from
+	types for VLAs or for decls we do not yet have a DIE.  Do not
+	call dwarf2out_abstract_function late.
+	(dwarf2out_early_global_decl): Make sure to create DIEs
+	for abstract instances of a decl first.
+	(dwarf2out_late_global_decl): Adjust comment.
+	(output_macinfo_op): With multiple macro sections use
+	macinfo_label_base to distinguish labels.
+	(output_macinfo): Likewise.  Update macinfo_label_base.
+	Pass in the line info label.
+	(note_variable_value_in_expr): When generating LTO resolve
+	all variable values here by generating DIEs as needed.
+	(init_sections_and_labels): Add early LTO debug flag parameter
+	and generate different sections and names if set.  Add generation
+	counter for the labels so we can have multiple of them.
+	(reset_dies): Helper to allow DIEs to be output multiple times.
+	(dwarf2out_finish): When outputting DIEs to the fat part of an
+	LTO object first reset DIEs.
+	(dwarf2out_early_finish): Output early DIEs when generating LTO.
+	(modified_type_die): Check for decl_ultimate_origin being self
+	before recursing.
+	(gen_type_die_with_usage): Likewise.
+	(gen_typedef_die): Allow decl_ultimate_origin being self.
+	(set_decl_abstract_flags): Remove.
+	(set_block_abstract_flags): Likewise.
+	(dwarf2out_abstract_function): Treat the early generated DIEs
+	as the abstract copy and only add DW_AT_inline and
+	DW_AT_artificial here and call set_decl_origin_self.
+	If the DIE has an abstract origin don't do anything.
+	* tree.c (free_lang_data): Build a dummy TRANSLATION_UNIT_DECL
+	if we have none yet (Go fails to build one, PR78628).
+	(variably_modified_type_p): Prevent endless recursion for Ada
+	cyclic pointer types.
+	* lto-streamer-in.c: Include debug.h.
+	(dref_queue): New global.
+	(lto_read_tree_1): Stream in DIE references.
+	(lto_input_tree): Register DIE references.
+	(input_function): Stream DECL_DEBUG_ARGS.
+	* lto-streamer-out.c: Include debug.h.
+	(lto_write_tree_1): Output DIE references.
+	(DFS::DFS_write_tree_body): Follow DECL_ABSTRACT_ORIGIN.
+	Force a TRANSLATION_UNIT_DECL DECL_CONTEXT for file-scope decls.
+	(output_function): Stream DECL_DEBUG_ARGS.
+	* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
+	Stream DECL_ABSTRACT_ORIGIN.
+	* tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise.
+	(write_ts_decl_minimal_tree_pointers): Force a TRANSLATION_UNIT_DECL
+	DECL_CONTEXT for file-scope decls.
+	* lto-streamer.h (struct dref_entry): Declare.
+	(dref_queue): Likewise.
+	* cfgexpand.c (pass_expand::execute): Do not call the
+	outlining_inline_function hook here.
+	* lto-wrapper.c (debug_obj): New global.
+	(tool_cleanup): Unlink it if required.
+	(debug_objcopy): New function.
+	(run_gcc): Handle early debug sections in the IL files by
+	extracting them to separate files, partially linkin them and
+	feeding the result back as result to the linker.
+	* config/darwin.h (DEBUG_LTO_INFO_SECTION, DEBUG_LTO_ABBREV_SECTION,
+	DEBUG_LTO_MACINFO_SECTION, DEBUG_LTO_LINE_SECTION,
+	DEBUG_STR_LTO_SECTION, DEBUG_LTO_MACRO_SECTION): Put early debug
+	sections into a separate segment.
+	* config/darwin.c (darwin_asm_named_section): Handle __GNU_DWARF_LTO
+	segments.
+	(darwin_asm_dwarf_section): Likewise.
+	(darwin_asm_output_dwarf_offset): Likewise.
+	* config/i386/i386.c (make_resolver_func): Set DECL_IGNORED_P.
+
+2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* read-md.h (md_reader::record_potential_iterator_use): Replace
+	pointer argument with an rtx and an index.
+	* read-rtl.c (iterator_group::apply_iterator): Likewise.
+	(apply_mode_iterator): Likewise.
+	(apply_code_iterator): Likewise.
+	(apply_int_iterator): Likewise.
+	(apply_subst_iterator): Likewise.
+	(record_iterator_use): Likewise.
+	(record_attribute_use): Likewise.
+	(md_reader::record_potential_iterator_use): Likewise.  Update calls
+	to record_iterator_use and apply_iterator.
+	(iterator_use): Replace ptr with x and index.
+	(attribute_use): Likewise.
+	(apply_attribute_uses): Update calls to apply_iterator.
+	(apply_iterators): Likewise.  Update initialization of iterator_use.
+	(rtx_reader::read_rtx_code): Update calls to record_iterator_use
+	and record_potential_iterator_use.
+	(rtx_reader::read_rtx_operand): Likewise.
+
+2017-08-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* varasm.c (const_rtx_hash_1): Don't hash in the mode of a
+	CONST_WIDE_INT.
+
+2017-08-21  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81884
+	* tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses
+	at struct end conservatively when comparing common bases.
+
+2017-08-21  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-loop-im.c (struct lim_aux_data): Add ref index member.
+	(mem_ref_in_stmt): Remove.
+	(determine_max_movement): Use ref index to get at the reference.
+	(invariantness_dom_walker::before_dom_children): Deal with
+	lim data already initialized.
+	(gather_mem_refs_stmt): Initialize lim data and record ref index.
+
+2017-08-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (OPTION_MASK_ISA_ROUND): Remove.
+	(TARGET_ISA_ROUND): Ditto.
+	(TARGET_ROUND): Ditto.
+	* config/i386/i386.c: Substitute TARGET_ROUND with TARGET_SSE4_1.
+	* config/i386/i386.md: Ditto.
+	* config/i386/sse.md: Ditto.
+	* config/i386/i386-builtin.def: Substitute OPTION_MASK_ISA_ROUND
+	with OPTION_MASK_ISA_SSE4_1.
+
+2017-08-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81894
+	* doc/extend.texi (x86 Built-in Functions): Correct the name of
+	__builtin_ia32_lzcnt_u16.
+
+2017-08-18  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR target/80210
+	* config/rs6000/rs6000.c (rs6000_activate_target_options): New function.
+	(rs6000_set_current_function): Rewrite function to use it.
+
+2017-08-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR c/53037
+	* print-tree.c (print_node): Support DECL_WARN_IF_NOT_ALIGN
+	and TYPE_WARN_IF_NOT_ALIGN.
+	* stor-layout.c (do_type_align): Merge DECL_WARN_IF_NOT_ALIGN.
+	(handle_warn_if_not_align): New.
+	(place_union_field): Call handle_warn_if_not_align.
+	(place_field): Call handle_warn_if_not_align.
+	Copy TYPE_WARN_IF_NOT_ALIGN.
+	(finish_builtin_struct): Copy TYPE_WARN_IF_NOT_ALIGN.
+	(layout_type): Likewise.
+	* tree-core.h (tree_type_common): Add warn_if_not_align.  Set
+	spare to 18.
+	(tree_decl_common): Add warn_if_not_align.
+	* tree.c (build_range_type_1): Copy TYPE_WARN_IF_NOT_ALIGN.
+	* tree.h (TYPE_WARN_IF_NOT_ALIGN): New.
+	(SET_TYPE_WARN_IF_NOT_ALIGN): Likewise.
+	(DECL_WARN_IF_NOT_ALIGN): Likewise.
+	(SET_DECL_WARN_IF_NOT_ALIGN): Likewise.
+	* doc/extend.texi: Document warn_if_not_aligned attribute.
+	* doc/invoke.texi: Document -Wif-not-aligned and -Wpacked-not-aligned.
+
+2017-08-17  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/81864
+	* tree-loop-distribution.c (ddrs_table): Change type to pointer type.
+	(get_data_dependence): Use it as pointer type.
+	(distribute_loop): Likewise.
+
+2017-08-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.md (UNSPEC_VMRGOW_DIRECT): New constant.
+	(p8_vmrgew_v4sf_direct): Generalize to p8_vmrgew_<mode>_direct.
+	(p8_vmrgow_<mode>_direct): New define_insn.
+	* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Properly
+	handle endianness for vmrgew and vmrgow permute patterns.
+
+2017-08-17  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/altivec.md (VParity): Remove TARGET_VSX_TIMODE.
+	* config/rs6000/rs6000-cpus.def: Remove comment.
+	(ISA_2_7_MASKS_SERVER): Delete OPTION_MASK_VSX_TIMODE;
+	(POWERPC_MASKS): Likewise.
+	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Remove unneeded
+	use of TARGET_VSX_TIMODE.
+	(rs6000_setup_reg_addr_masks): Change TARGET_VSX_TIMODE to TARGET_VSX.
+	(rs6000_init_hard_regno_mode_ok): Remove unneeded uses of
+	TARGET_VSX_TIMODE.  Change use of TARGET_VSX_TIMODE to TARGET_VSX.
+	(rs6000_option_override_internal): Remove dead code.
+	(rs6000_legitimize_address): Change TARGET_VSX_TIMODE to TARGET_VSX.
+	(rs6000_legitimize_reload_address): Likewise.
+	(rs6000_legitimate_address_p): Likewise.
+	(rs6000_opt_masks): Delete "vsx-timode".
+	(rs6000_disable_incompatible_switches): Remove mention of -mvsx-timode
+	from function comment.
+	* config/rs6000/rs6000.h (MASK_VSX_TIMODE): Delete.
+	* config/rs6000/rs6000.md (FMOVE128_GPR): Remove TARGET_VSX_TIMODE.
+	(V16QI, V8HI, V4SI, V4SF, V2DI, V2DF, V1TI): Remove useless empty
+	condition.
+	* config/rs6000/rs6000.opt (mvsx-timode): Replace with stub.
+	* config/rs6000/vector.md (VEC_IP): Remove TARGET_VSX_TIMODE.
+	* config/rs6000/vsx.md (VSX_LE_128): Likewise.
+	(VSX_TI): Likewise.
+	(VSX_M): Likewise.
+	(define_peephole2): Likewise.
+
+2017-08-17  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81859
+	* pretty-print.c (pp_format): Use strnlen in %.*s to avoid reading
+	past the end of an array.
+	(test_pp_format): Add test cases.
+
+2017-08-17  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* internal-fn.def (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): Add
+	missing ECF_NOTHROW flags.
+
+2017-08-17  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR target/72804
+	* config/rs6000/vsx.md (*vsx_le_permute_<mode>): Add support for
+	operands residing in integer registers.
+	(*vsx_le_perm_load_<mode>): Likewise.
+	(*vsx_le_perm_store_<mode>): Likewise.
+	(define_peephole2): Add peepholes to optimize the above.
+
+2017-08-17  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/81814
+	* fold-const.c (operand_equal_for_comparison_p): Remove code that used
+	to mimic what shorten_compare did.  Change the return type to bool.
+	(fold_cond_expr_with_comparison): Update call to
+	operand_equal_for_comparison_p.
+	(fold_ternary_loc): Likewise.
+
+2017-08-17  Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	* aarch64-simd.md (mov<mode>): No longer force zero immediate into
+	register.
+	(*aarch64_simd_mov<mode>): Add new case for stp	using zero immediate.
+
+2017-08-17  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-structalias.c (solve_graph): When propagating
+	to successors update the graphs succ edges and avoid duplicate work.
+
+2017-08-17  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR target/81861
+	* config/i386/i386.c (ix86_option_override_internal): Save target
+	specific options after ix86_stack_protector_guard_reg was changed.
+
+2017-08-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81827
+	* tree-ssa-structalias.c (struct variable_info): Add is_reg_var flag.
+	(new_var_info): Initialize it conservatively.
+	(get_call_vi): Mark register vars.
+	(new_scalar_tmp_constraint_exp): Likewise.
+	(handle_rhs_call): Likewise.
+	(handle_const_call): Likewise.
+	(create_function_info_for): Likewise.
+	(solve_constraints): Sort varinfos to separate register from
+	non-register vars to pack points-to solution bitmaps during
+	iteration.
+
+2017-08-17  Marek Polacek  <polacek@redhat.com>
+
+	* gimplify.c (gimplify_adjust_omp_clauses): Compare with 0 instead of 1.
+
+2017-08-17  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (vrp_int_const_binop): Do not set *overflow_p
+	to true when overflow is undefined and we saturated the result.
+
+2017-08-17  Alan Modra  <amodra@gmail.com>
+
+	PR target/80938
+	* config/rs6000/rs6000.c (rs6000_savres_strategy): Revert 2017-08-09.
+	Don't use store multiple if only one reg needs saving.
+	(interesting_frame_related_regno): New function.
+	(rs6000_frame_related): Don't emit frame info for regs that
+	don't need saving.
+	(rs6000_emit_epilogue): Likewise.
+
+2017-08-16  Nathan Sidwell  <nathan@acm.org>
+
+	* tree-core.h (tree_type_non_common): Rename binfo to lang_1.
+	* tree.h (TYPE_BINFO): Use type_non_common.maxval.
+	(TYPE_LANG_SLOT_1): Use type_non_common.lang_1, for any type.
+	* tree.c (free_lang_data_in_type): Use else-if chain.  Always
+	clear TYPE_LANG_1.  Remove obsolete member-function stripping.
+	(find_decls_types_r): Comment about TYPE_MAX_VALUES_RAW.
+	(verify_type): Adjust for TYPE_BINFO move.
+	* lto-streamer-out.c (DFS::DFS_write_tree_body): No need to
+	process TYPE_BINFO directly.
+	(hash_tree): Likewise.
+	* tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers):
+	Likewise.
+	* tree-streamer-out.c (write_ts_type_non_common_tree_pointers):
+	Likewise.
+
+2017-08-16  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (colorizer::m_caret): Remove unused field.
+
+2017-08-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/46091
+	* config/i386/i386.md (*anddi_1_btr): Change predicates of
+	operand 0 and operand 1 to nomimmediate_operand. Add "m" constraint.
+	Add ix86_binary_operator_ok to insn constraint.
+	(*iordi_1_bts): Ditto.
+	(*xordi_1_btc): Ditto.
+	(*btsq): Change predicate of operand 0 to nonimmediate_operand.
+	Update corresponding peephole2 pattern.
+	(*btrq): Ditto.
+	(*btcq): Ditto.
+
+2017-08-16  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81832
+	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Don't
+	copy loop header which has IFN_LOOP_DIST_ALIAS call.
+
+2017-08-16  Marek Polacek  <polacek@redhat.com>
+
+	PR middle/81695
+	* fold-const.c (fold_indirect_ref_1): Restore original behavior
+	regarding size_zero_node.
+
+2017-08-16  Martin Liska  <mliska@suse.cz>
+
+	PR target/81753
+	* config.gcc: Respect previously set extra_objs in case
+	of darwin target.
+
+2017-08-16  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/81835
+	* tree-vect-loop.c (vect_is_simple_reduction): Simply checks for
+	the phi SSA_NAME.  Check that the condition in a COND_EXPR does
+	not depend on the phi.
+
+2017-08-16  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Delete
+	dead code.
+
+2017-08-16  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Merge..
+	(save_reg_p): ..into this.  Update all callers.
+	(first_reg_to_save): Simplify.
+
+2017-08-16  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't restore
+	fixed regs.
+
+2017-08-15  Joseph Myers  <joseph@codesourcery.com>
+
+	PR target/78460
+	PR target/67712
+	* config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for
+	constant count if that count is less than 32.
+
+2017-08-15  Nathan Sidwell  <nathan@acm.org>
+
+	* gcc.c (execute): Emit friendlier message if inferior is killed
+	by an external cause.
+
+2017-08-15  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81790
+	* tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both
+	CONSTRUCTORs from simplifying and VN.
+
+2017-08-14  Martin Sebor  <msebor@redhat.com>
+
+	* builtin-attrs.def: Add comments.
+
+2017-08-14  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81117
+	* doc/extend.texi (attribute nonstring): Document new attribute.
+
+2017-08-14  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81117
+	* tree-diagnostic.c (default_tree_printer): Handle %G.
+	* gimple-pretty-print.h (percent_G_format): Declare new function.
+	* gimple-pretty-print.c (percent_G_format): Define.
+	* tree-pretty-print.c (percent_K_format): Add argument.
+
+2017-08-14  Martin Sebor  <msebor@redhat.com>
+
+	PR translation/79998
+	* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call):
+	Remove a stray space.
+
+2017-08-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/46091
+	* config/i386/i386.md (*anddi_1_btr): New insn_and_split pattern.
+	(*iordi_1_bts): Ditto.
+	(*xordi_1_btc): Ditto.
+
+2017-08-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/79845
+	* config/rs6000/linux64.h (INVALID_64BIT): Use quoted strings.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Use
+	quoted strings, and make more translator-friendly.
+	(darwin_rs6000_override_options): Likewise.
+	(rs6000_option_override_internal): Likewise.
+	(rs6000_return_in_memory): Fix overlong line.
+	(init_cmulative_args): Use quoted strings, and make more
+	translator-friendly.
+	(rs6000_pass_by_reference): Fix overlong line.
+	(def_builtin): Use quoted strings.
+	(altivec_expand_predicate_builtin): Use quoted strings, and make
+	more translator-friendly.
+	(htm_expand_builtin): Use quoted strings.
+	(cpu_expand_builtin): Use quoted strings, and make more
+	translator-friendly.
+	(altivec_expand_builtin): Likewise.
+	(paired_expand_predicate_builtin): Likewise.
+	(rs6000_invalid_builtin): Likewise.
+	(builtin_function_type): Use quoted strings.
+	(rs6000_expand_split_stack_prologue): Use quoted strings, and make
+	more translator-friendly.
+	(rs6000_trampoline_init): Likewise.
+	(rs6000_handle_altivec_attribute): Likewise.
+	(rs6000_inner_target_options): Use quoted strings.
+	(rs6000_disable_incompatible_switches): Likewise.
+	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Use quoted
+	strings, and make more translator-friendly.
+	(SUBSUBTARGET_OVERRIDE_OPTIONS): Use quoted strings.
+
+2017-08-14  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81799
+	* tree-loop-distribution.c (version_loop_by_alias_check): Force
+	cond_expr to simple gimple operand.
+
+2017-08-14  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR middle-end/46932
+	* doc/sourcebuild.texi (autoincdec): Add autoincdec description.
+
+2017-08-14  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/81754
+	PR target/81268
+	* config/avr/avr.opt (mgas-isr-prologues): New Var avr_gasisr_prologues.
+	* config/avr/avr.md (gasisr, *gasisr): Use it instead of
+	TARGET_GASISR_PROLOGUES.
+	* config/avr/avr.c (avr_option_override): Same.
+	(avr_pass_pre_proep::execute): Same.
+
+2017-08-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/81820
+	* config/i386/i386.c (ix86_finalize_stack_frame_flags): Replace
+	frame pointer with stack pointer - UNITS_PER_WORD in debug insns.
+
+2017-08-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*load_tp_<mode>): Redefine as
+	define_insn_and_split.  Split to a memory load from 0 in
+	DEFAULT_TLS_SEG_REG address space.  Merge with *load_tp_x32
+	using PTR mode iterator.
+	(*load_tp_x32_zext"): Redefine as define_insn_and_split.
+	Split to a memory load from 0 in DEFAULT_TLS_SEG_REG address space.
+	(*add_tp_<mode>): Redefine as define_insn_and_split.
+	Split to an add with a memory load from 0 in DEFAULT_TLS_SEG_REG
+	address space.  Merge with *add_tp_x32 using PTR mode iterator.
+	(*add_tp_x32_zext"): Redefine as define_insn_and_split.
+	Split to an add with a  memory load from 0 in
+	DEFAULT_TLS_SEG_REG address space.
+
+2017-08-12  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-option-extensions.def (rdma):
+	Fix feature string to what Linux prints out in /proc/cpuinfo.
+
+2017-08-12  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	PR ada/79542
+	* dwarf2out.c (modified_type_die): For C typedef types that have
+	an ultimate origin, process the ultimate origin instead of the
+	input type.
+	(gen_typedef_die): Assert that input DECLs have no ultimate
+	origin.
+	(gen_type_die_with_usage): For typedef variants that have an
+	ultimate origin, just call gen_decl_die on the original DECL.
+	(process_scope_var): Avoid creating DIEs for local typedefs and
+	concrete static variables.
+
+2017-08-12  Alan Modra  <amodra@gmail.com>
+
+	PR target/81170
+	PR target/81295
+	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to
+	match gnu-user.h startfile.
+	(ENDFILE_LINUX_SPEC): Similarly.
+
+2017-08-11  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR lto/81430
+	* config/nvptx/nvptx.c (nvptx_override_options_after_change):
+	Remove function.
+	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Remove definition.
+
+2017-08-11  Tamar Christina  <tamar.christina@arm.com>
+	* config/aarch64/aarch64.md (mov<mode>): Change.
+	(*movhf_aarch64, *movsf_aarch64, *movdf_aarch64):
+	aarch64_reg_or_fp_float into aarch64_reg_or_fp_zero.
+	* config/aarch64/predicates.md (aarch64_reg_or_fp_float): Removed.
+
+2017-08-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-sra.c (build_access_from_expr_1): Use more precise diagnostics
+	for storage order barriers.
+
+2017-08-11  Martin Liska  <mliska@suse.cz>
+
+	PR tree-opt/79987
+	* tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument
+	variables of void type.
+
+2017-08-11  Martin Liska  <mliska@suse.cz>
+
+	* asan.c (asan_protect_global): Replace ASM_OUTPUT_DEF with
+	TARGET_SUPPORTS_ALIASES.
+	* cgraph.c (cgraph_node::create_same_body_alias): Likewise.
+	* ipa-visibility.c (can_replace_by_local_alias): Likewise.
+	(optimize_weakref): Likewise.
+	* symtab.c (symtab_node::noninterposable_alias): Likewise.
+	* varpool.c (varpool_node::create_extra_name_alias): Likewise.
+	* defaults.h: Introduce TARGET_SUPPORTS_ALIASES.
+
+2017-08-11  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/81213
+	* config/i386/i386.c (make_resolver_func): Do complete
+	refactoring of the function.
+
+2017-08-10  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81708
+	* config/i386/i386.opt (mstack-protector-guard-symbol=): New option
+	* config/i386/i386.c (ix86_stack_protect_guard): Use
+	ix86_stack_protect_guard_symbol_str to generate varible declaration.
+	* doc/invoke.texi (x86 Options): Document
+	-mstack-protector-guard-symbol= option.
+
+2017-08-10  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386-protos.h (ix86_split_stack_guard): New prototype.
+	* config/i386/i386.c (ix86_split_stack_guard): New function.
+	(ix86_xpand_split_stack_prologue): Call ix86_split_stack_guard.
+	(ix86_legitimate_address_p) <case UNSPEC_STACK_CHECK>: Remove.
+	(i386_asm_output_addr_const_extra) <case UNSPEC_STACK_CHECK>: Ditto.
+	(optput_pic_addr_const): Remove UNSPEC_STACK_CHECK handling.
+	* config/i386/i386.md (unspec): Remove UNSPEC_STACK_CHECK.
+	(split_stack_space_check): Call ix86_split_stack_guard.
+
+2017-08-10  Martin Sebor  <msebor@redhat.com>
+
+	* print-tree.c (print_node): Print location using the established
+	format %s:%i%i.
+	Replace spaces with colons.
+	(debug_raw, debug): Ditto.
+
+2017-08-10  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/81586
+	* pretty-print.c (pp_format): Correct the handling of %s precision.
+
+2017-08-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/81736
+	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
+	to ...
+	(ix86_finalize_stack_frame_flags): This.  Also clear
+	frame_pointer_needed if -fno-omit-frame-pointer is used without
+	stack access.
+	(ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
+	with ix86_finalize_stack_frame_flags.
+	(ix86_expand_epilogue): Likewise.
+	(ix86_expand_split_stack_prologue): Likewise.
+	* doc/invoke.texi: Add a note for -fno-omit-frame-pointer.
+
+2017-08-10  Martin Liska  <mliska@suse.cz>
+
+	PR c++/81355
+	* c-attribs.c (handle_target_attribute):
+	Report warning for an empty string argument of target attribute.
+
+2017-08-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/81687
+	* omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
+	LABEL_DECLs.
+	* tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
+	or DECL_NONLOCAL labels.
+	(move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
+	or DECL_NONLOCAL labels here.
+
+2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add blurb
+	to indicate when early gimple folding has been disabled.
+	(rs6000_gimple_fold_builtin): Add debug content.
+	(rs6000_invalid_builtin): Fix whitespace.
+	(rs6000_expand_builtin): Fix whitespace.
+	* config/rs6000/rs6000.opt: Add option for -mfold-gimple.
+
+2017-08-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/80938
+	* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
+	SAVE_MULTIPLE if not all the registers that saves, should be saved.
+
+2017-08-09  Jim Wilson  <jim.wilson@linaro.org>
+
+	* config/aarch64/aarch64-cores.def (falkor): Use falkor pipeline.
+	(qdf24xx): Likewise.
+	* config/aarch64/aarch64.md: Include falkor.md.
+	* config/aarch64/falkor.md: New.
+
+2017-08-09  Marek Polacek  <polacek@redhat.com>
+
+	PR c/81233
+	* diagnostic-core.h (emit_diagnostic_valist): Add declaration.
+	* diagnostic.c (emit_diagnostic): Add a comment.
+	(emit_diagnostic_valist): New function.
+
+2017-08-09  Marek Polacek  <polacek@redhat.com>
+
+	PR c/81417
+	* input.c (make_location): New overload.
+	* input.h (make_location): Declare.
+
+2017-08-08  Alan Modra  <amodra@gmail.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR driver/81523
+	* gcc.c (NO_PIE_SPEC): Delete.
+	(PIE_SPEC): Define as !no-pie/pie.  Move static|shared|r
+	exclusion..
+	(LINK_PIE_SPEC): ..to here.
+	(LINK_COMMAND_SPEC): Support -no-pie.
+	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
+	chain of crtbegin*.o selection, update for PIE_SPEC changes and
+	format.
+	(GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
+	* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
+	(ENDFILE_CRTEND_SPEC): Similarly.
+
+2017-08-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81708
+	* config/i386/i386.opt (mstack-protector-guard-reg=): New option
+	(mstack-protector-guard-offset=): Ditto.
+	* config/i386/i386.c (ix86_option_override): Handle
+	-mstack-protector-guard-reg= and -mstack-protector-guard-offset=
+	options.
+	(ix86_stack_protect_guard): Use ix86_stack_protect_guard_reg and
+	ix86_stack_protect_guard_offset variables.
+	(TARGET_STACK_PROTECT_GUARD): Always define.
+	* doc/invoke.texi (x86 Options): Document -mstack-protector-guard-reg=
+	and -mstack-protector-guard-offset= options.
+
+2017-08-08  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle
+	boundary case for the last candidate.
+
+2017-08-08  Bin Cheng  <bin.cheng@arm.com>
+
+	* doc/invoke.texi: Document -ftree-loop-distribution for O3.
+	* opts.c (default_options_table): Add OPT_ftree_loop_distribution.
+
+2017-08-08  Tamar Christina  <tamar.christina@arm.com>
+
+	PR middle-end/19706
+	* config/aarch64/aarch64.md (xorsign<mode>3): New optabs.
+	* config/aarch64/aarch64-builtins.c
+	(aarch64_builtin_vectorized_function): Added CASE_CFN_XORSIGN.
+	* config/aarch64/aarch64-simd-builtins.def: Added xorsign BINOP.
+	* config/aarch64/aarch64-simd.md: Added xorsign<mode>3
+
+2017-08-08  Tamar Christina  <tamar.christina@arm.com>
+	    Andrew Pinski <pinskia@gmail.com>
+
+	PR middle-end/19706
+	* internal-fn.def (XORSIGN): New.
+	* optabs.def (xorsign_optab): New.
+	* tree-ssa-math-opts.c (is_copysign_call_with_1): New.
+	(convert_expand_mult_copysign): New.
+	(pass_optimize_widening_mul::execute): Call
+	convert_expand_mult_copysign.
+
+2017-08-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/81354
+	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
+	Insert on edges rather than explicitly creating landing pads.
+	(analyze_candidates_and_replace): Commit edge inserts.
+
+2017-08-08  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81719
+	* tree-ssa-loop-niter.c: Include tree-dfa.h.
+	(expand_simple_operations): Also look through ADDR_EXPRs with
+	MEM_REF bases treating them as POINTER_PLUS_EXPR.
+
+2017-08-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81723
+	* tree-vect-slp.c (struct bst_traits): New hash traits.
+	(bst_fail): New global.
+	(vect_build_slp_tree_2): New worker, split out from ...
+	(vect_build_slp_tree): ... this now wrapping it with using
+	bst_fail set to cache SLP tree build fails.  Properly handle
+	max_tree_size.
+	(vect_analyze_slp_instance): Allocate and free bst_fail.
+
+2017-08-08  Martin Liska  <mliska@suse.cz>
+
+	PR tree-opt/81696
+	* ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
+	LABEL_DECLs that can be from a different function.
+
+2017-08-08  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81744
+	* tree-predcom.c (prepare_finalizers_chain): Deep copy expr of
+	loop's number of iterations.
+
+2017-08-08  Martin Liska  <mliska@suse.cz>
+
+	* asan.c: Include header files.
+	* attribs.c (build_decl_attribute_variant): New function moved
+	from tree.[ch].
+	(build_type_attribute_qual_variant): Likewise.
+	(cmp_attrib_identifiers): Likewise.
+	(simple_cst_list_equal): Likewise.
+	(omp_declare_simd_clauses_equal): Likewise.
+	(attribute_value_equal): Likewise.
+	(comp_type_attributes): Likewise.
+	(build_type_attribute_variant): Likewise.
+	(lookup_ident_attribute): Likewise.
+	(remove_attribute): Likewise.
+	(merge_attributes): Likewise.
+	(merge_type_attributes): Likewise.
+	(merge_decl_attributes): Likewise.
+	(merge_dllimport_decl_attributes): Likewise.
+	(handle_dll_attribute): Likewise.
+	(attribute_list_equal): Likewise.
+	(attribute_list_contained): Likewise.
+	* attribs.h (lookup_attribute): New function moved from tree.[ch].
+	(lookup_attribute_by_prefix): Likewise.
+	* bb-reorder.c: Include header files.
+	* builtins.c: Likewise.
+	* calls.c: Likewise.
+	* cfgexpand.c: Likewise.
+	* cgraph.c: Likewise.
+	* cgraphunit.c: Likewise.
+	* convert.c: Likewise.
+	* dwarf2out.c: Likewise.
+	* final.c: Likewise.
+	* fold-const.c: Likewise.
+	* function.c: Likewise.
+	* gimple-expr.c: Likewise.
+	* gimple-fold.c: Likewise.
+	* gimple-pretty-print.c: Likewise.
+	* gimple.c: Likewise.
+	* gimplify.c: Likewise.
+	* hsa-common.c: Likewise.
+	* hsa-gen.c: Likewise.
+	* internal-fn.c: Likewise.
+	* ipa-chkp.c: Likewise.
+	* ipa-cp.c: Likewise.
+	* ipa-devirt.c: Likewise.
+	* ipa-fnsummary.c: Likewise.
+	* ipa-inline.c: Likewise.
+	* ipa-visibility.c: Likewise.
+	* ipa.c: Likewise.
+	* lto-cgraph.c: Likewise.
+	* omp-expand.c: Likewise.
+	* omp-general.c: Likewise.
+	* omp-low.c: Likewise.
+	* omp-offload.c: Likewise.
+	* omp-simd-clone.c: Likewise.
+	* opts-global.c: Likewise.
+	* passes.c: Likewise.
+	* predict.c: Likewise.
+	* sancov.c: Likewise.
+	* sanopt.c: Likewise.
+	* symtab.c: Likewise.
+	* toplev.c: Likewise.
+	* trans-mem.c: Likewise.
+	* tree-chkp.c: Likewise.
+	* tree-eh.c: Likewise.
+	* tree-into-ssa.c: Likewise.
+	* tree-object-size.c: Likewise.
+	* tree-parloops.c: Likewise.
+	* tree-profile.c: Likewise.
+	* tree-ssa-ccp.c: Likewise.
+	* tree-ssa-live.c: Likewise.
+	* tree-ssa-loop.c: Likewise.
+	* tree-ssa-sccvn.c: Likewise.
+	* tree-ssa-structalias.c: Likewise.
+	* tree-ssa.c: Likewise.
+	* tree-streamer-in.c: Likewise.
+	* tree-vectorizer.c: Likewise.
+	* tree-vrp.c: Likewise.
+	* tsan.c: Likewise.
+	* ubsan.c: Likewise.
+	* varasm.c: Likewise.
+	* varpool.c: Likewise.
+	* tree.c: Remove functions moved to attribs.[ch].
+	* tree.h: Likewise.
+	* config/aarch64/aarch64.c: Add attrs.h header file.
+	* config/alpha/alpha.c: Likewise.
+	* config/arc/arc.c: Likewise.
+	* config/arm/arm.c: Likewise.
+	* config/avr/avr.c: Likewise.
+	* config/bfin/bfin.c: Likewise.
+	* config/c6x/c6x.c: Likewise.
+	* config/cr16/cr16.c: Likewise.
+	* config/cris/cris.c: Likewise.
+	* config/darwin.c: Likewise.
+	* config/epiphany/epiphany.c: Likewise.
+	* config/fr30/fr30.c: Likewise.
+	* config/frv/frv.c: Likewise.
+	* config/ft32/ft32.c: Likewise.
+	* config/h8300/h8300.c: Likewise.
+	* config/i386/winnt.c: Likewise.
+	* config/ia64/ia64.c: Likewise.
+	* config/iq2000/iq2000.c: Likewise.
+	* config/lm32/lm32.c: Likewise.
+	* config/m32c/m32c.c: Likewise.
+	* config/m32r/m32r.c: Likewise.
+	* config/m68k/m68k.c: Likewise.
+	* config/mcore/mcore.c: Likewise.
+	* config/microblaze/microblaze.c: Likewise.
+	* config/mips/mips.c: Likewise.
+	* config/mmix/mmix.c: Likewise.
+	* config/mn10300/mn10300.c: Likewise.
+	* config/moxie/moxie.c: Likewise.
+	* config/msp430/msp430.c: Likewise.
+	* config/nds32/nds32-isr.c: Likewise.
+	* config/nds32/nds32.c: Likewise.
+	* config/nios2/nios2.c: Likewise.
+	* config/nvptx/nvptx.c: Likewise.
+	* config/pa/pa.c: Likewise.
+	* config/pdp11/pdp11.c: Likewise.
+	* config/powerpcspe/powerpcspe.c: Likewise.
+	* config/riscv/riscv.c: Likewise.
+	* config/rl78/rl78.c: Likewise.
+	* config/rx/rx.c: Likewise.
+	* config/s390/s390.c: Likewise.
+	* config/sh/sh.c: Likewise.
+	* config/sol2.c: Likewise.
+	* config/sparc/sparc.c: Likewise.
+	* config/spu/spu.c: Likewise.
+	* config/stormy16/stormy16.c: Likewise.
+	* config/tilegx/tilegx.c: Likewise.
+	* config/tilepro/tilepro.c: Likewise.
+	* config/v850/v850.c: Likewise.
+	* config/vax/vax.c: Likewise.
+	* config/visium/visium.c: Likewise.
+	* config/xtensa/xtensa.c: Likewise.
+
+2017-08-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/81593
+	* config/rs6000/vsx.md (vsx_concat_<mode>, VSX_D): Cleanup
+	constraints since the -mupper-regs-* switches have been
+	eliminated.
+	(vsx_concat_<mode>_1): New combiner insns to recognize inserting
+	into a vector from a double word element that was extracted from
+	another vector, and eliminate extra XXPERMDI instructions.
+	(vsx_concat_<mode>_2): Likewise.
+	(vsx_concat_<mode>_3): Likewise.
+	(vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector
+	concat to allow optimizing inserts from previous extracts.
+
+2017-08-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_stack_protect_guard): Generate
+	memory reference to a SSP offset in TLS address space.
+	(ix86_print_operand) <case '@'>: Remove.
+	(ix86_print_operand_punct_valid_p): Remove '@' code.
+	* config/i386/i386.md (unspec): Remove UNSPEC_SP_TLS_SET and
+	UNSPEC_SP_TLS_TEST.
+	(stack_tls_protect_set_<mode>): Remove.
+	(stack_protect_set): Do not call gen_stack_tls_protect_set_<mode>.
+	(stack_tls_protect_test_<mode>): Remove.
+	(stack_protect_test): Do not call gen_stack_tls_protect_test_<mode>.
+
+2017-08-07  Olivier Hainque  <hainque@adacore.com>
+
+	PR target/81755
+	* config/vxworksae.h (VXWORKS_HAVE_TLS): Define.
+
+2017-08-07  Douglas Rupp  <rupp@adacore.com>
+
+	* Makefile.in (install-mkheaders): Fix typo, where the multi_dir
+	variable was referenced as multidir in command.
+
+2017-08-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/69389
+	* gimplify.c (goa_stabilize_expr): Handle BIT_INSERT_EXPR and
+	BIT_FIELD_REF.
+
+2017-08-07  Martin Liska  <mliska@suse.cz>
+
+	* config/m32c/m32c.c: Add include of stringpool.h and attribs.h.
+	* config/rl78/rl78.c: Add include of attribs.h.
+	* config/sh/sh.c: Likewise.
+	* config/v850/v850.c: Likewise.
+
+2017-08-07  Tom de Vries  <tom@codesourcery.com>
+
+	PR middle-end/78266
+	* omp-expand.c (expand_oacc_for): Ensure diff_type is large enough.
+
+2017-08-07  Martin Liska  <mliska@suse.cz>
+
+	* config/mips/mips.c: Include attribs.h.
+
+2017-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/68829
+	* doc/invoke.texi: Document change in behvaior for -Ofast for
+	Fortran.
+
+2017-08-07  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_pushwb_single_reg):
+	Use gen_frame_mem.
+	(aarch64_pop_regs): Likewise.
+	(aarch64_gen_load_pair): Likewise.
+	(aarch64_save_callee_saves): Likewise.
+	(aarch64_restore_callee_saves): Likewise.
+
+2017-08-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c: Revert the last change.
+
+2017-08-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/81736
+	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
+	to ...
+	(ix86_finalize_stack_frame_flags): This.  Also clear
+	frame_pointer_needed if -fno-omit-frame-pointer is used without
+	stack access.
+	(ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
+	with ix86_finalize_stack_frame_flags.
+	(ix86_expand_epilogue): Likewise.
+	(ix86_expand_split_stack_prologue): Likewise.
+
+2017-08-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/81743
+	* config/i386/i386.c (get_builtin_code_for_version): Set priority
+	to P_AES for Westmere.
+
+2017-08-07  Jonathan Yong  <10walls@gmail.com>
+
+	* config/i386/mingw.opt (fset-stack-executable): Removed.
+	* config/i386/cygming.opt (fset-stack-executable): Moved
+	from mingw.opt.
+	* config/i386/cygwin.h: Define CHECK_EXECUTE_STACK_ENABLED.
+
+2017-08-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* print-rtl.c (print_exp): Print NOT as "~" instead of as "!".
+
+2017-08-07  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/81737
+	* fold-const.c (fold_indirect_ref_1): Check type_domain.
+
+2017-08-07  Martin Liska  <mliska@suse.cz>
+
+	* attribs.h (canonicalize_attr_name): New function.
+	(cmp_attribs): Move from c-format.c and adjusted.
+	(is_attribute_p): Moved from tree.h.
+	* tree-inline.c: Add new includes.
+	* tree.c (cmp_attrib_identifiers): Use cmp_attribs.
+	(private_is_attribute_p): Remove.
+	(private_lookup_attribute): Likewise.
+	(private_lookup_attribute_by_prefix): Simplify.
+	(remove_attribute): Use is_attribute_p.
+	* tree.h: Remove removed declarations.
+
+2017-08-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/81698
+	* stmt.c (emit_case_dispatch_table): Add DEFAULT_EDGE argument,
+	instead of computing it in the function.  Formatting fix.
+	(expand_case): Don't rely on default_edge being the first edge,
+	clear it if removing it, pass default_edge to
+	emit_case_dispatch_table.
+	(expand_sjlj_dispatch_table): Pass NULL as DEFAULT_EDGE, formatting
+	fix.
+
+2017-08-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha.c (alpha_reorg): If trap is the last active
+	insn in the function, emit NOP after the insn.
+
+2017-08-06  Tom de Vries  <tom@codesourcery.com>
+
+	* omp-expand.c (expand_oacc_for): Add missing edge probability for tile
+	and element loops.
+
+2017-08-06  Tom de Vries  <tom@codesourcery.com>
+
+	* omp-expand.c (expand_oacc_for): Add missing edge probability for chunk
+	loop.
+
+2017-08-04  Yury Gribov  <tetra2005@gmail.com>
+
+	PR tree-optimization/57371
+	* match.pd: New pattern.
+
+2017-08-04  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/81695
+	* fold-const.c (fold_indirect_ref_1): For ((int *)&a + 4 -> a[1],
+	perform the computation in offset_int.
+
+2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/81136
+	* tree-vectorizer.h: Include tree-hash-traits.h.
+	(vec_base_alignments): New typedef.
+	(vec_info): Add a base_alignments field.
+	(vect_record_base_alignments): Declare.
+	* tree-data-ref.h (data_reference): Add an is_conditional_in_stmt
+	field.
+	(DR_IS_CONDITIONAL_IN_STMT): New macro.
+	(create_data_ref): Add an is_conditional_in_stmt argument.
+	* tree-data-ref.c (create_data_ref): Likewise.  Use it to initialize
+	the is_conditional_in_stmt field.
+	(data_ref_loc): Add an is_conditional_in_stmt field.
+	(get_references_in_stmt): Set the is_conditional_in_stmt field.
+	(find_data_references_in_stmt): Update call to create_data_ref.
+	(graphite_find_data_references_in_stmt): Likewise.
+	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
+	* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
+	(vect_record_base_alignment): New function.
+	(vect_record_base_alignments): Likewise.
+	(vect_compute_data_ref_alignment): Adjust base_addr and aligned_to
+	for nested statements even if we fail to compute a misalignment.
+	Use pooled base alignments for unconditional references.
+	(vect_find_same_alignment_drs): Compare base addresses instead
+	of base objects.
+	(vect_analyze_data_refs_alignment): Call vect_record_base_alignments.
+	* tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
+
+2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vectorizer.h (vec_info): Add a constructor and destructor.
+	Add an explicit name for the enum.  Use auto_vec for slp_instances
+	and grouped_stores.
+	(_loop_vec_info): Add a constructor and destructor.  Use auto_vec
+	for all vectors.
+	(_bb_vec_info): Add a constructor and destructor.
+	(vinfo_for_stmt): Return NULL for uids of -1 as well.
+	(destroy_loop_vec_info): Delete.
+	(vect_destroy_datarefs): Likewise.
+	* tree-vectorizer.c (vect_destroy_datarefs): Delete.
+	(vec_info::vec_info): New function.
+	(vec_info::~vec_info): Likewise.
+	(vectorize_loops): Use delete instead of destroy_loop_vec_info.
+	* tree-parloops.c (gather_scalar_reductions): Use delete instead of
+	destroy_loop_vec_info.
+	* tree-vect-loop.c (new_loop_vec_info): Replace with...
+	(_loop_vec_info::_loop_vec_info): ...this.
+	(destroy_loop_vec_info): Replace with...
+	(_loop_vec_info::~_loop_vec_info): ...this.  Unconditionally delete
+	the stmt_vec_infos.  Leave handling of vec_info information to its
+	destructor.  Remove explicit vector releases.
+	(vect_analyze_loop_form): Use new instead of new_loop_vec_info.
+	(vect_analyze_loop): Use delete instead of destroy_loop_vec_info.
+	* tree-vect-slp.c (new_bb_vec_info): Replace with...
+	(_bb_vec_info::_bb_vec_info): ...this.  Don't reserve space in
+	BB_VINFO_GROUPED_STORES or BB_VINFO_SLP_INSTANCES.
+	(destroy_bb_vec_info): Replace with...
+	(_bb_vec_info::~_bb_vec_info): ...this.  Leave handling of vec_info
+	information to its destructor.
+	(vect_slp_analyze_bb_1): Use new and delete instead of
+	new_bb_vec_info and destroy_bb_vec_info.
+	(vect_slp_bb): Replace 2 calls to destroy_bb_vec_info with a
+	single delete.
+
+2017-08-04  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-data-ref.h (subscript): Add access_fn field.
+	(data_dependence_relation): Add could_be_independent_p.
+	(SUB_ACCESS_FN, DDR_COULD_BE_INDEPENDENT_P): New macros.
+	(same_access_functions): Move to tree-data-ref.c.
+	* tree-data-ref.c (ref_contains_union_access_p): New function.
+	(access_fn_component_p): Likewise.
+	(access_fn_components_comparable_p): Likewise.
+	(dr_analyze_indices): Add a reference to access_fn_component_p.
+	(dump_data_dependence_relation): Use SUB_ACCESS_FN instead of
+	DR_ACCESS_FN.
+	(constant_access_functions): Likewise.
+	(add_other_self_distances): Likewise.
+	(same_access_functions): Likewise.  (Moved from tree-data-ref.h.)
+	(initialize_data_dependence_relation): Use XCNEW and remove
+	explicit zeroing of DDR_REVERSED_P.  Look for a subsequence
+	of access functions that have the same type.  Allow the
+	subsequence to end with different bases in some circumstances.
+	Record the chosen access functions in SUB_ACCESS_FN.
+	(build_classic_dist_vector_1): Replace ddr_a and ddr_b with
+	a_index and b_index.  Use SUB_ACCESS_FN instead of DR_ACCESS_FN.
+	(subscript_dependence_tester_1): Likewise dra and drb.
+	(build_classic_dist_vector): Update calls accordingly.
+	(subscript_dependence_tester): Likewise.
+	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Check
+	DDR_COULD_BE_INDEPENDENT_P.
+	* tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Test
+	comp_alias_ddrs instead of may_alias_ddrs.
+	* tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr):
+	New function.
+	(vect_analyze_data_ref_dependence): Use it if
+	DDR_COULD_BE_INDEPENDENT_P, but fall back to using the recorded
+	distance vectors if that fails.
+	(dependence_distance_ge_vf): New function.
+	(vect_prune_runtime_alias_test_list): Use it.  Don't clear
+	LOOP_VINFO_MAY_ALIAS_DDRS.
+
+2017-08-04  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81705
+	* fold-const.c (fold_binary_loc): Properly restrict
+	minus_var0 && minus_var1 case when associating undefined overflow
+	entities.
+
+2017-08-04  Tom de Vries  <tom@codesourcery.com>
+
+	* omp-simd-clone.c (simd_clone_adjust): Add missing edge probability.
+
+2017-08-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Don't start diagnostic messages with a capital letter.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal):
+	Likewise.
+	(rs6000_invalid_builtin): Likewise.
+	(rs6000_trampoline_init): Likewise.
+
+2017-08-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81621
+	* bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
+	after setting changeable df flags.
+
+2017-08-03  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-reassoc.c (should_break_up_subtract): Also break
+	up if the use is in USE - X.
+
+2017-08-03  Alexander Monakov  <amonakov@ispras.ru>
+
+	* toplev.c (dumpfile.h): New include.
+	(internal_error_reentered): New static function.  Use it...
+	(internal_error_function): ...here to handle reentered internal_error.
+
+2017-08-03  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81148
+	* fold-const.c (split_tree): Add minus_var and minus_con
+	arguments, remove unused loc arg.  Never generate NEGATE_EXPRs
+	here but always use minus_*.
+	(associate_trees): Assert we never associate with MINUS_EXPR
+	and NULL first operand.  Do not recurse for PLUS_EXPR operands
+	when associating as MINUS_EXPR either.
+	(fold_binary_loc): Track minus_var and minus_con.
+
+2017-08-03  Tom de Vries  <tom@codesourcery.com>
+
+	PR lto/81430
+	* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers): If
+	ACCEL_COMPILER, apply finish_options on
+	DECL_FUNCTION_SPECIFIC_OPTIMIZATION.
+
+2017-08-03  Tom de Vries  <tom@codesourcery.com>
+
+	PR target/81662
+	* config/nvptx/nvptx.c (nvptx_option_override): Emit sorry if
+	function_entry_patch_area_size > 0.
+
+2017-08-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR driver/81650
+	* calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??)
+	instead of 10??LU, perform unit multiplication in wide_int,
+	don't change alloc_object_size_limit if the limit is larger
+	than SSIZE_MAX.
+
+	PR tree-optimization/81655
+	PR tree-optimization/81588
+	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle also
+	the case when ranges[i].low and high are 1 for unsigned type with
+	precision 1.
+
+	PR middle-end/81052
+	* omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp.
+	(pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd.
+
+2017-08-03  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* tree-vrp.h: Add include guard.
+
+2017-08-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81644
+	* config/i386/i386.md (unspecv): Add UNSPECV_UD2.
+	(ud2): New insn pattern.
+	* config/i386/i386.c (ix86_expand_epilogue):
+	For naked functions, generate ud2 instead of trap insn.
+
+2017-08-02  Marek Polacek  <polacek@redhat.com>
+
+	PR other/81667
+	* alloc-pool.h (base_pool_allocator): Initialize m_elt_size.
+
+2017-08-02  Tom de Vries  <tom@codesourcery.com>
+	    Cesar Philippidis  <cesar@codesourcery.com>
+
+	* config/nvptx/nvptx.c (nvptx_lockless_update, nvptx_lockfull_update):
+	Add missing edge probabilities.
+
+2017-08-02  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_reinterpret_float_as_int):
+	Correct endianness.
+
+2017-08-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/79499
+	* function.c (thread_prologue_and_epilogue_insns): Determine blocks
+	for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN
+	of first NONDEBUG_INSN_P in each of the split_prologue_seq and
+	prologue_seq sequences - if any.
+
+2017-08-02  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-stmts.c (vectorizable_store): Perform vector extracts
+	via vectors if supported, integer extracts via punning if supported
+	or otherwise vector extracts.
+
+2017-08-02  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (bitmap_insert_into_set_1): Remove and inline
+	into ...
+	(bitmap_insert_into_set): ... this.
+
+2017-08-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81633
+	Revert
+	2015-08-17  Alan Hayward  <alan.hayward@arm.com>
+
+	PR tree-optimization/71752
+	* tree-vect-slp.c (vect_get_slp_defs): Handle null operands.
+
+2017-08-01  Daniel Santos  <daniel.santos@pobox.com>
+
+	* config/i386/i386.h (ix86_frame::outlined_save_offset): Remove field.
+	(machine_function::call_ms2sysv_pad_out): Remove field.
+	* config/i386/i386.c (xlogue_layout::get_stack_space_used): Modify.
+	(ix86_compute_frame_layout): Likewise.
+
+2017-08-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/81654
+	* config/i386/i386.c (ix86_set_func_type): Disallow naked
+	attribute with interrupt attribute.
+
+2017-08-01  Andrew Pinski  <apinski@cavium.com>
+
+	* tree-ssa-scopedtables.c (hashable_expr_equal_p): Check
+	BIT_INSERT_EXPR's operand 1
+	to see if the types precision matches.
+
+2017-08-01  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/70140
+	* builtins.c (expand_builtin_memcpy_args): Remove.
+	(expand_builtin_memcpy): Call newly added function
+	expand_builtin_memory_copy_args.
+	(expand_builtin_memcpy_with_bounds): Likewise.
+	(expand_builtin_mempcpy): Remove last argument.
+	(expand_builtin_mempcpy_with_bounds): Likewise.
+	(expand_builtin_memory_copy_args): New function created from
+	expand_builtin_mempcpy_args with small modifications.
+	(expand_builtin_mempcpy_args): Remove.
+	(expand_builtin_stpcpy): Remove unused argument.
+	(expand_builtin): Likewise.
+	(expand_builtin_with_bounds): Likewise.
+
+2017-08-01  Martin Liska  <mliska@suse.cz>
+
+	Revert r250771
+	Make mempcpy more optimal (PR middle-end/70140).
+
+2017-08-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81622
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
+	__builtin_vec_cmpne verify both arguments are compatible vectors
+	before looking at TYPE_MODE on the element type.  For __builtin_vec_ld
+	verify arg1_type is a pointer or array type.  For __builtin_vec_st,
+	move computation of aligned to after checking the argument types.
+	Formatting fixes.
+
+	PR target/80846
+	* config/rs6000/vsx.md (vextract_fp_from_shorth,
+	vextract_fp_from_shortl): Add element mode after mode in gen_vec_init*
+	calls.
+
+2017-08-01  Jerome Lambourg  <lambourg@adacore.com>
+	    Doug Rupp  <rupp@adacore.com>
+	    Olivier Hainque  <hainque@adacore.com>
+
+	* config.gcc (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7 as
+	well as arm-wrs-vxworks. Update target_cpu_name from arm6 (arch v3) to
+	arm8 (arch v4).
+	* config/arm/vxworks.h (MAYBE_TARGET_BPABI_CPP_BUILTINS): New, helper
+	for TARGET_OS_CPP_BUILTIN.
+	(TARGET_OS_CPP_BUILTIN): Invoke MAYBE_TARGET_BPABI_CPP_BUILTINS(),
+	refine CPU definitions for arm_arch5 and add those for arm_arch6 and
+	arm_arch7.
+	(MAYBE_ASM_ABI_SPEC): New, helper for SUBTARGET_EXTRA_ASM_SPEC,
+	passing required abi options to the assembler for EABI configurations.
+	(EXTRA_CC1_SPEC): New macro, to help prevent the implicit production
+	of .text.hot and .text.unlikely sections for kernel modules when
+	using ARM style exceptions.
+	(CC1_SPEC): Remove obsolete attempt at mimicking Diab toolchain
+	options. Add EXTRA_CC1_SPEC.
+	(VXWORKS_ENDIAN_SPEC): Adjust comment and remove handling of Diab
+	toolchain options.
+	(DWARF2_UNWIND_INFO): Redefine to handle the pre/post VxWorks 7
+	transition.
+	(ARM_TARGET2_DWARF_FORMAT): Define.
+	* config/arm/t-vxworks: Adjust multilib control to removal of the
+	Diab command line options.
+
+2017-08-01  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/81561
+	* gcov.c (unblock): Make unblocking safe as we need to preserve
+	index correspondence of blocks and block_lists.
+
+2017-08-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81181
+	* tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
+	(compute_antic): ... end of iteration here.
+
+2017-08-01  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* common.opt (ftree-vectorize): No longer set flag_tree_vectorize.
+	(ftree-loop-vectorize): Set as EnabledBy ftree-vectorize.
+	(ftree-slp-vectorize): Likewise.
+	* omp-expand (expand_omp_simd): Remove flag_tree_vectorize, as it
+	can no longer be set independent of flag_tree_loop_vectorize.
+	* omp-general.c (emp_max_vf): Likewise.
+	* opts.c (enable_fdo_optimizations): Remove references to
+	flag_tree_vectorize, these are now implicit.
+	(common_handle_option): Remove handling for OPT_ftree_vectorize,
+	and leave it for the options machinery.
+
+2017-08-01  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/70140
+	* builtins.c (expand_builtin_memcpy_args): Remove.
+	(expand_builtin_memcpy): Call newly added function
+	expand_builtin_memory_copy_args.
+	(expand_builtin_memcpy_with_bounds): Likewise.
+	(expand_builtin_mempcpy): Remove last argument.
+	(expand_builtin_mempcpy_with_bounds): Likewise.
+	(expand_builtin_memory_copy_args): New function created from
+	expand_builtin_mempcpy_args with small modifications.
+	(expand_builtin_mempcpy_args): Remove.
+	(expand_builtin_stpcpy): Remove unused argument.
+	(expand_builtin): Likewise.
+	(expand_builtin_with_bounds): Likewise.
+
+2017-08-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81641
+	* config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel
+	print "ds:" only for immediates in generic address space.
+
+2017-08-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81639
+	* config/i386/i386.c (ix86_funciton_naked): New prototype.
+	(ix86_function_ok_for_sibcall): Return false for naked functions.
+
+2017-08-01  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (print_pre_expr): Handle NULL expr.
+	(compute_antic): Seed worklist with exit block predecessors.
+	* cfganal.c (dfs_find_deadend): For a cycle return the source
+	of the edge closing it.
+
+2017-08-01  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.c
+	(aarch64_can_const_movi_rtx_p): Move 0 check.
+
+2017-08-01  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree.h (POINTER_TYPE_OVERFLOW_UNDEFINED): Delete.
+	* fold-const.c (fold_comparison, fold_binary_loc): Delete use of
+	above macro.
+	* match.pd: Ditto in address comparison pattern.
+
+2017-08-01  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81627
+	* tree-predcom.c (prepare_finalizers): Always rewrite into loop
+	closed ssa form for store-store chain.
+
+2017-08-01  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81620
+	* tree-predcom.c (add_ref_to_chain): Don't set has_max_use_after
+	for store-store chain.
+
+2017-08-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81588
+	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): If
+	ranges[i].in_p, invert comparison code ccode.  For >/>=,
+	swap rhs1 and rhs2 and comparison code unconditionally,
+	for </<= don't do that.  Don't swap rhs1/rhs2 again if
+	ranges[i].in_p, instead invert comparison code ccode if
+	opcode or oe->rank is BIT_IOR_EXPR.
+
+	PR target/80846
+	* optabs.def (vec_extract_optab, vec_init_optab): Change from
+	a direct optab to conversion optab.
+	* optabs.c (expand_vector_broadcast): Use convert_optab_handler
+	with GET_MODE_INNER as last argument instead of optab_handler.
+	* expmed.c (extract_bit_field_1): Likewise.  Use vector from
+	vector extraction if possible and optab is available.
+	* expr.c (store_constructor): Use convert_optab_handler instead
+	of optab_handler.  Use vector initialization from smaller
+	vectors if possible and optab is available.
+	* tree-vect-stmts.c (vectorizable_load): Likewise.
+	* doc/md.texi (vec_extract, vec_init): Document that the optabs
+	now have two modes.
+	* config/i386/i386.c (ix86_expand_vector_init): Handle expansion
+	of vec_init from half-sized vectors with the same element mode.
+	* config/i386/sse.md (ssehalfvecmode): Add V4TI case.
+	(ssehalfvecmodelower, ssescalarmodelower): New mode attributes.
+	(reduc_plus_scal_v8df, reduc_plus_scal_v4df, reduc_plus_scal_v2df,
+	reduc_plus_scal_v16sf, reduc_plus_scal_v8sf, reduc_plus_scal_v4sf,
+	reduc_<code>_scal_<mode>, reduc_umin_scal_v8hi): Add element mode
+	after mode in gen_vec_extract* calls.
+	(vec_extract<mode>): Renamed to ...
+	(vec_extract<mode><ssescalarmodelower>): ... this.
+	(vec_extract<mode><ssehalfvecmodelower>): New expander.
+	(rotl<mode>3, rotr<mode>3, <shift_insn><mode>3, ashrv2di3): Add
+	element mode after mode in gen_vec_init* calls.
+	(VEC_INIT_HALF_MODE): New mode iterator.
+	(vec_init<mode>): Renamed to ...
+	(vec_init<mode><ssescalarmodelower>): ... this.
+	(vec_init<mode><ssehalfvecmodelower>): New expander.
+	* config/i386/mmx.md (vec_extractv2sf): Renamed to ...
+	(vec_extractv2sfsf): ... this.
+	(vec_initv2sf): Renamed to ...
+	(vec_initv2sfsf): ... this.
+	(vec_extractv2si): Renamed to ...
+	(vec_extractv2sisi): ... this.
+	(vec_initv2si): Renamed to ...
+	(vec_initv2sisi): ... this.
+	(vec_extractv4hi): Renamed to ...
+	(vec_extractv4hihi): ... this.
+	(vec_initv4hi): Renamed to ...
+	(vec_initv4hihi): ... this.
+	(vec_extractv8qi): Renamed to ...
+	(vec_extractv8qiqi): ... this.
+	(vec_initv8qi): Renamed to ...
+	(vec_initv8qiqi): ... this.
+	* config/rs6000/vector.md (VEC_base_l): New mode attribute.
+	(vec_init<mode>): Renamed to ...
+	(vec_init<mode><VEC_base_l>): ... this.
+	(vec_extract<mode>): Renamed to ...
+	(vec_extract<mode><VEC_base_l>): ... this.
+	* config/rs6000/paired.md (vec_initv2sf): Renamed to ...
+	(vec_initv2sfsf): ... this.
+	* config/rs6000/altivec.md (splitter, altivec_copysign_v4sf3,
+	vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi,
+	vec_unpacku_lo_v8hi, mulv16qi3, altivec_vreve<mode>2): Add
+	element mode after mode in gen_vec_init* calls.
+	* config/aarch64/aarch64-simd.md (vec_init<mode>): Renamed to ...
+	(vec_init<mode><Vel>): ... this.
+	(vec_extract<mode>): Renamed to ...
+	(vec_extract<mode><Vel>): ... this.
+	* config/aarch64/iterators.md (Vel): New mode attribute.
+	* config/s390/s390.c (s390_expand_vec_strlen, s390_expand_vec_movstr):
+	Add element mode after mode in gen_vec_extract* calls.
+	* config/s390/vector.md (non_vec_l): New mode attribute.
+	(vec_extract<mode>): Renamed to ...
+	(vec_extract<mode><non_vec_l>): ... this.
+	(vec_init<mode>): Renamed to ...
+	(vec_init<mode><non_vec_l>): ... this.
+	* config/s390/s390-builtins.def (s390_vlgvb, s390_vlgvh, s390_vlgvf,
+	s390_vlgvf_flt, s390_vlgvg, s390_vlgvg_dbl): Add element mode after
+	vec_extract mode.
+	* config/arm/iterators.md (V_elem_l): New mode attribute.
+	* config/arm/neon.md (vec_extract<mode>): Renamed to ...
+	(vec_extract<mode><V_elem_l>): ... this.
+	(vec_extractv2di): Renamed to ...
+	(vec_extractv2didi): ... this.
+	(vec_init<mode>): Renamed to ...
+	(vec_init<mode><V_elem_l>): ... this.
+	(reduc_plus_scal_<mode>, reduc_plus_scal_v2di, reduc_smin_scal_<mode>,
+	reduc_smax_scal_<mode>, reduc_umin_scal_<mode>,
+	reduc_umax_scal_<mode>, neon_vget_lane<mode>, neon_vget_laneu<mode>):
+	Add element mode after gen_vec_extract* calls.
+	* config/mips/mips-msa.md (vec_init<mode>): Renamed to ...
+	(vec_init<mode><unitmode>): ... this.
+	(vec_extract<mode>): Renamed to ...
+	(vec_extract<mode><unitmode>): ... this.
+	* config/mips/loongson.md (vec_init<mode>): Renamed to ...
+	(vec_init<mode><unitmode>): ... this.
+	* config/mips/mips-ps-3d.md (vec_initv2sf): Renamed to ...
+	(vec_initv2sfsf): ... this.
+	(vec_extractv2sf): Renamed to ...
+	(vec_extractv2sfsf): ... this.
+	(reduc_plus_scal_v2sf, reduc_smin_scal_v2sf, reduc_smax_scal_v2sf):
+	Add element mode after gen_vec_extract* calls.
+	* config/mips/mips.md (unitmode): New mode iterator.
+	* config/spu/spu.c (spu_expand_prologue, spu_allocate_stack,
+	spu_builtin_extract): Add element mode after gen_vec_extract* calls.
+	* config/spu/spu.md (inner_l): New mode attribute.
+	(vec_init<mode>): Renamed to ...
+	(vec_init<mode><inner_l>): ... this.
+	(vec_extract<mode>): Renamed to ...
+	(vec_extract<mode><inner_l>): ... this.
+	* config/sparc/sparc.md (veltmode): New mode iterator.
+	(vec_init<VMALL:mode>): Renamed to ...
+	(vec_init<VMALL:mode><VMALL:veltmode>): ... this.
+	* config/ia64/vect.md (vec_initv2si): Renamed to ...
+	(vec_initv2sisi): ... this.
+	(vec_initv2sf): Renamed to ...
+	(vec_initv2sfsf): ... this.
+	(vec_extractv2sf): Renamed to ...
+	(vec_extractv2sfsf): ... this.
+	* config/powerpcspe/vector.md (VEC_base_l): New mode attribute.
+	(vec_init<mode>): Renamed to ...
+	(vec_init<mode><VEC_base_l>): ... this.
+	(vec_extract<mode>): Renamed to ...
+	(vec_extract<mode><VEC_base_l>): ... this.
+	* config/powerpcspe/paired.md (vec_initv2sf): Renamed to ...
+	(vec_initv2sfsf): ... this.
+	* config/powerpcspe/altivec.md (splitter, altivec_copysign_v4sf3,
+	vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi,
+	vec_unpacku_lo_v8hi, mulv16qi3): Add element mode after mode in
+	gen_vec_init* calls.
+
+2017-08-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81297
+	* tree-vrp.c (get_single_symbol): Remove assert, instead drop
+	TREE_OVERFLOW from INTEGER_CSTs.
+
+2017-07-31  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (enum rs6000_reg_type): Delete trailing comma.
+
+2017-07-31  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c: Add support for built-in functions
+	vector signed char vec_xl_be (signed long long, signed char *);
+	vector unsigned char vec_xl_be (signed long long, unsigned char *);
+	vector signed int vec_xl_be (signed long long, signed int *);
+	vector unsigned int vec_xl_be (signed long long, unsigned int *);
+	vector signed long long vec_xl_be (signed long long, signed long long *);
+	vector unsigned long long vec_xl_be (signed long long, unsigned long long *);
+	vector signed short vec_xl_be (signed long long, signed short *);
+	vector unsigned short vec_xl_be (signed long long, unsigned short *);
+	vector double vec_xl_be (signed long long, double *);
+	vector float vec_xl_be (signed long long, float *);
+	* config/rs6000/altivec.h (vec_xl_be): Add #define.
+	* config/rs6000/rs6000-builtin.def (XL_BE_V16QI, XL_BE_V8HI, XL_BE_V4SI)
+	XL_BE_V2DI, XL_BE_V4SF, XL_BE_V2DF, XL_BE): Add definitions
+	for the builtins.
+	* config/rs6000/rs6000.c (altivec_expand_xl_be_builtin): Add function.
+	(altivec_expand_builtin): Add switch statement to call
+	altivec_expand_xl_be for each builtin.
+	(altivec_init_builtins): Add def_builtin for _builtin_vsx_le_be_v8hi,
+	__builtin_vsx_le_be_v4si, __builtin_vsx_le_be_v2di,
+	__builtin_vsx_le_be_v4sf, __builtin_vsx_le_be_v2df,
+	__builtin_vsx_le_be_v16qi.
+	* doc/extend.texi: Update the built-in documentation file for the
+	new built-in functions.
+
+2017-07-31  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/25967
+	* config/i386/i386.c (ix86_allocate_stack_slots_for_args):
+	New function.
+	(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Define.
+
+2017-07-31  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config.gcc: Add z14.
+	* config/s390/driver-native.c (s390_host_detect_local_cpu): Add
+	CPU model numbers for z13s and z14.
+	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Replace
+	arch12 with z14.
+	* config/s390/s390-opts.h (enum processor_type): Rename
+	PROCESSOR_ARCH12 to PROCESSOR_3906_Z14.
+	* config/s390/s390.c (processor_table): Add field for CPU name to
+	be passed to Binutils.
+	(s390_asm_output_machine_for_arch): Use the new field in
+	processor_table for Binutils.
+	(s390_expand_builtin): Replace arch12 with z14.
+	(s390_issue_rate): Rename PROCESSOR_ARCH12 to PROCESSOR_3906_Z14.
+	(s390_get_sched_attrmask): Likewise.
+	(s390_get_unit_mask): Likewise.
+	* config/s390/s390.opt: Add z14 to processor_type enum.
+
+2017-07-31  Martin Jambor  <mjambor@suse.cz>
+
+	PR hsa/81477
+	* ipa-fnsummary.c (ipa_fn_summary_generate): Set versionable
+	regardless of optimization level.
+
+2017-07-31  Jan Hubicka <hubicka@ucw.cz>
+	    Martin Liska  <mliska@suse.cz>
+
+	* predict.def: Remove old comment and adjust probability.
+	* gimplify.c (should_warn_for_implicit_fallthrough): Ignore
+	PREDICT statements.
+
+2017-07-31  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/25967
+	* config/i386/i386.c (ix86_function_naked): New function.
+	(ix86_can_use_return_insn_p): Return false for naked functions.
+	(ix86_expand_prologue): Skip prologue for naked functions.
+	(ix86_expand_epilogue): Skip epilogue for naked functions
+	and emit trap instruction.
+	(ix86_warn_func_return): New function.
+	(ix86_attribute_table): Add "naked" attribute specification.
+	(TARGET_WARN_FUNC_RETURN): Define.
+	* doc/extend.texi (x86 Function Attributes) <naked>: Document it.
+
+2017-07-31  Martin Liska  <mliska@suse.cz>
+
+	* gimple-pretty-print.c (dump_gimple_label): Never dump BB info.
+	(dump_gimple_bb_header): Always dump BB info.
+	(pp_cfg_jump): Do not append info about BB when dumping a jump.
+
+2017-07-31  Martin Liska  <mliska@suse.cz>
+
+	PR sanitize/81530
+	* convert.c (convert_to_integer_1): Guard condition with flag_sanitize_p
+	also with current_function_decl non-null equality.
+
+2017-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81604
+	* ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't
+	change type to the element type, instead add eltype variable and
+	use it where we are interested in the element type.
+
+	PR tree-optimization/81603
+	* ipa-polymorphic-call.c
+	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Perform
+	offset arithmetic in offset_int, bail out if the resulting bit offset
+	doesn't fit into shwi.
+
+2017-07-31  Martin Liska  <mliska@suse.cz>
+
+	* gimplify.c (mostly_copy_tree_r): Remove Java specific hunk.
+	(gimplify_save_expr): Fix comment.
+
+2017-07-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/79793
+	* config/i386/i386.c (ix86_function_arg): Update arguments for
+	exception handler.
+	(ix86_compute_frame_layout): Set the initial stack offset to
+	INCOMING_FRAME_SP_OFFSET.  Update red-zone offset with
+	INCOMING_FRAME_SP_OFFSET.
+	(ix86_expand_epilogue): Don't pop the 'ERROR_CODE' off the
+	stack before exception handler returns.
+	* config/i386/i386.h (INCOMING_FRAME_SP_OFFSET): Add the
+	the 'ERROR_CODE' for exception handler.
+
+2017-07-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (ASM_PRINTF_EXTENSIONS): New macro.
+	(ASM_OUTPUT_REG_PUSH): Rewrite with new operand modifiers.
+	(ASM_OUTPUT_REG_POP): Ditto.
+	* config/i386/i386.c (ix86_asm_output_function_label): Use fputs
+	instead of asm_fprintf to output pure string.
+
+2017-07-29  Jakub Jelinek  <jakub@redhat.com>
+
+	* debug.h (struct gcc_debug_hooks): Add IMPLICIT argument
+	to imported_module_or_decl hook.
+	(debug_nothing_tree_tree_tree_bool): Remove.
+	(debug_nothing_tree_tree_tree_bool_bool): New declaration.
+	* debug.c (do_nothing_debug_hooks): Use
+	debug_nothing_tree_tree_tree_bool_bool instead of
+	debug_nothing_tree_tree_tree_bool.
+	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
+	* sdbout.c (sdb_debug_hooks): Likewise.
+	* dwarf2out.c (dwarf2_lineno_debug_hooks): Likewise.
+	(gen_namespace_die): Add DW_AT_export_symbols attribute if
+	langhook wants it.
+	(dwarf2out_imported_module_or_decl): Add IMPLICIT argument,
+	if true, -gdwarf-5 and decl will have DW_AT_export_symbols
+	attribute, don't add anything.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* fold-const.c (fold_build1_stat_loc): Remove _stat from name.
+	(fold_build2_stat_loc): Likewise.
+	(fold_build3_stat_loc): Likewise.
+	* fold-const.h (fold_build1, fold_build2, fold_build3): Adjust.
+	(fold_build1_loc): Remove macro.
+	(fold_build2_loc): Likewise.
+	(fold_build3_loc): Likewise.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* gimple.c (gimple_build_debug_bind_stat): Remove _stat from name.
+	(gimple_build_debug_bind_source_stat): Likewise.
+	* gimple.h (gimple_build_debug_bind): Remove macro.
+	(gimple_build_debug_bind_source): Likewise.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* bitmap.c (bitmap_alloc): Adjust.
+	(bitmap_gc_alloc): Likewise.
+	* bitmap.h (bitmap_initialize_stat): Remove _stat from name.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* bitmap.c (bitmap_obstack_alloc_stat): Rename to bitmap_alloc.
+	(bitmap_gc_alloc_stat): Rename to bitmap_gc_alloc.
+	* bitmap.h (bitmap_obstack_alloc_stat): Adjust prototype.
+	(bitmap_gc_alloc_stat): Likewise.
+	(BITMAP_ALLOC, BITMAP_GGC_ALLOC): Adjust.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* rtl.c (shallow_copy_rtx_stat): Remove _stat from name.
+	* rtl.h (shallow_copy_rtx): Remove macro.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* emit-rtl.c (gen_raw_REG): Adjust.
+	* gengenrtl.c (gendef): Likewise.
+	* rtl.c (rtx_alloc_stat): Remove _stat from name.
+	* rtl.h (rtx_alloc): Remove macro.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (build_tree_list_vec_stat): Remove _stat from name.
+	(build_tree_list_stat): Likewise.
+	* tree.h (build_tree_list): Remove macro.
+	(build_tree_list_vec): Likewise.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (make_vector_stat): Remove _stat from name.
+	(build_vector_stat): Likewise.
+	* tree.h (make_vector_stat): Remove macro.
+	(build_vector_stat): Likewise.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.h (build_var_debug_value): Remove prototype.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (tree_cons_stat): Remove _stat from name.
+	* tree.h (tree_cons): Remove macro.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (build_vl_exp_stat): Remove _stat from name.
+	* tree.h (build_vl_exp): Remove macro.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (build_decl_stat): Remove _stat from name.
+	* tree.h (build_decl): Remove macro.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* gimple.c (gimple_build_with_ops_stat): Adjust.
+	(gimple_alloc_stat): Remove _stat from name.
+	* gimple.h (gimple_alloc): Remove macro.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (make_tree_vec_stat): Remove _stat from name.
+	(grow_tree_vec_stat): Likewise.
+	* tree.h (make_tree_vec_stat): Adjust prototype.
+	(grow_tree_vec_stat): Likewise.
+	(make_tree_vec): Remove macro.
+	(grow_tree_vec): Likewise.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* fold-const.c (fold_build1_stat_loc): Adjust.
+	(fold_build2_stat_loc): Likewise.
+	(fold_build3_stat_loc): Likewise.
+	* tree.c (build0_stat): Remove _stat from name.
+	(build1_stat): Likewise.
+	(build2_stat): Likewise.
+	(build3_stat): Likewise.
+	(build4_stat): Likewise.
+	(build5_stat): Likewise.
+	* tree.h (build1_loc): Remove macro, and rename _stat function
+	to this.
+	(build2_loc): Likewise.
+	(build3_loc): Likewise.
+	(build4_loc): Likewise.
+	(build5_loc): Likewise.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (make_int_cst_stat): Remove _stat from name.
+	* tree.h (make_int_cst_stat): Adjust prototype.
+	(make_int_cst): Remove macro.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (make_tre_binfo_stat): Remove _stat from name.
+	* tree.h (make_tree_binfo_stat): Adjust prototype.
+	(make_tree_binfo): Remove.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (copy_node_stat): Rename to copy_node.
+	(build_distinct_type_copy): Adjust.
+	* tree.h (copy_node_stat): Adjust prototype.
+	(copy_node): Remove macro.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree.c (make_node_stat): rename to make_node.
+	(build_tree_list_stat): Adjust.
+	(build0_stat): Likewise.
+	(build2_stat): Likewise.
+	(build3_stat): Likewise.
+	(build4_stat): Likewise.
+	(build5_stat): Likewise.
+	(build_decl_stat): Likewise.
+	* tree.h (make_node_stat): Adjust prototype.
+	(make_node): remove macro.
+
+2017-07-28  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define.
+	(PPC_FEATURE2_SCV): Likewise.
+	* config/rs6000/rs6000.c (cpu_supports_info): Use them.
+
+2017-07-28  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.c
+	(aarch64_internal_mov_immediate): Add new special pattern.
+	* config/aarch64/aarch64.md (*movdi_aarch64):
+	Add reg/32bit const mov case.
+
+2017-07-28  Tamar Christina  <tamar.christina@arm.com>
+	    Richard Sandiford <richard.sandiford@linaro.org>
+
+	* config/aarch64/aarch64.md (mov<mode>): Generalize.
+	(*movhf_aarch64, *movsf_aarch64, *movdf_aarch64):
+	Add integer and movi cases.
+	(movi-split-hf-df-sf split, fp16): New.
+	(enabled): Added TARGET_FP_F16INST.
+	* config/aarch64/iterators.md (GPF_HF): New.
+	* config/aarch64/predicates.md (aarch64_reg_or_fp_float): New.
+
+2017-07-28  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.c
+	(aarch64_simd_container_mode): Add prototype.
+	(aarch64_expand_mov_immediate): Add HI support.
+	(aarch64_reinterpret_float_as_int, aarch64_float_const_rtx_p: New.
+	(aarch64_can_const_movi_rtx_p): New.
+	(aarch64_preferred_reload_class):
+	Remove restrictions of using FP registers for certain SIMD operations.
+	(aarch64_rtx_costs): Added new cost for CONST_DOUBLE moves.
+	(aarch64_valid_floating_const): Add integer move validation.
+	(aarch64_simd_imm_scalar_p): Remove.
+	(aarch64_output_scalar_simd_mov_immediate): Generalize function.
+	(aarch64_legitimate_constant_p): Expand list of supported cases.
+	* config/aarch64/aarch64-protos.h
+	(aarch64_float_const_rtx_p, aarch64_can_const_movi_rtx_p): New.
+	(aarch64_reinterpret_float_as_int): New.
+	(aarch64_simd_imm_scalar_p): Remove.
+	* config/aarch64/constraints.md (Uvi): New.
+	(Dd): Split into Ds and new Dd.
+	* config/aarch64/aarch64.md (*movsi_aarch64):
+	Add SIMD mov case.
+	(*movdi_aarch64): Add SIMD mov case.
+
+2017-07-28  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c: (struct chain): Handle store-store chain in which
+	stores for elimination only store loop invariant values.
+	(execute_pred_commoning_chain): Ditto.
+	(prepare_initializers_chain_store_elim): Ditto.
+	(prepare_finalizers): Ditto.
+	(is_inv_store_elimination_chain): New function.
+	(initialize_root_vars_store_elim_1): New function.
+
+2017-07-28  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c: Revise general description of the pass.
+	(enum chain_type): New enum type for store elimination.
+	(struct chain): New field supporting store elimination.
+	(struct component): Ditto.
+	(dump_chain): Dump store-stores chain.
+	(release_chain): Release resources.
+	(split_data_refs_to_components): Compute and create component
+	contains only stores for elimination.
+	(get_chain_last_ref_at): New function.
+	(make_invariant_chain): Initialization.
+	(make_rooted_chain): Specify chain type in parameter and record it.
+	(add_looparound_copies): Skip for store-stores chain.
+	(determine_roots_comp): Compute type of chain and pass it to
+	make_rooted_chain.
+	(initialize_root_vars_store_elim_2): New function.
+	(finalize_eliminated_stores): New function.
+	(remove_stmt): Handle store for elimination.
+	(execute_pred_commoning_chain): Execute predictive commoning on
+	store-store chains.
+	(determine_unroll_factor): Skip unroll for store-stores chain.
+	(prepare_initializers_chain_store_elim): New function.
+	(prepare_initializers_chain): Hanlde store-store chain.
+	(prepare_finalizers_chain, prepare_finalizers): New function.
+	(tree_predictive_commoning_loop): Return integer value indicating
+	if loop is unrolled or lcssa form is corrupted.
+	(tree_predictive_commoning): Rewrite for lcssa form if necessary.
+
+2017-07-28  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c (initialize_root): Delete.
+	(execute_pred_commoning_chain): Initialize root vars and replace
+	reference of non-combined chain directly, rather than call above
+	function.
+
+2017-07-28  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c (ref_at_iteration): Add parameter NITERS.  Compute
+	memory reference to DR at (NITERS + ITERS)-th iteration of loop.
+
+2017-07-28  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c (struct chain): New field init_seq.
+	(release_chain): Release init_seq.
+	(prepare_initializers_chain): Record intialization stmts in above
+	field.
+	(insert_init_seqs): New function.
+	(tree_predictive_commoning_loop): Call insert_init_seqs.
+
+2017-07-28  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-predcom.c (determine_roots_comp): Skip trivial components.
+
+2017-07-28  Richard Biener  <rguenther@suse.de>
+
+	* match.pd: Remove superfluous :c.
+	* genmatch.c (simplify::id): Add member.
+	(lower_commutative, lower_opt_convert, lower_cond, lower_for):
+	Copy id.
+	(current_id): New global.
+	(dt_node::parent): Move from ...
+	(dt_operand::parent): ... here.  Add for_id member.
+	(is_a_helper <dt_operand *>::test): DT_TRUE is also a dt_operand.
+	(decision_tree::find_node): Relax order requirement when
+	merging DT_TRUE nodes to ones inbetween the current simplify
+	and the one we try to merge with.  Add diagnostic whenever
+	we need to enforce pattern order by not merging.
+	(decision_tree::insert): Set current_id.
+	(decision_tree::print_node): Dump parent node and for_id.
+	(parser::last_id): Add member.
+	(parser::push_simplify): Assign unique id.
+	(parser::parser): Initialize last_id.
+
+2017-07-28  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/81340
+	* sanopt.c (sanitize_rewrite_addressable_params): Set VALUE_EXPR after
+	gimple_build_debug_bind.
+
+2017-07-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81502
+	* match.pd: Add pattern combining BIT_INSERT_EXPR with
+	BIT_FIELD_REF.
+	* tree-cfg.c (verify_expr): Verify types of BIT_FIELD_REF
+	size/pos operands.
+	(verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR pos.
+	* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Use bitsizetype
+	for BIT_FIELD_REF args.
+	* fold-const.c (make_bit_field_ref): Likewise.
+	* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
+
+2017-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/80998
+	* sanopt.c (pass_sanopt::execute): Handle IFN_UBSAN_PTR.
+	* tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise.
+	* flag-types.h (enum sanitize_code): Add SANITIZER_POINTER_OVERFLOW.
+	Or it into SANITIZER_UNDEFINED.
+	* ubsan.c: Include gimple-fold.h and varasm.h.
+	(ubsan_expand_ptr_ifn): New function.
+	(instrument_pointer_overflow): New function.
+	(maybe_instrument_pointer_overflow): New function.
+	(instrument_object_size): Formatting fix.
+	(pass_ubsan::execute): Call instrument_pointer_overflow
+	and maybe_instrument_pointer_overflow.
+	* internal-fn.c (expand_UBSAN_PTR): New function.
+	* ubsan.h (ubsan_expand_ptr_ifn): Declare.
+	* sanitizer.def (__ubsan_handle_pointer_overflow,
+	__ubsan_handle_pointer_overflow_abort): New builtins.
+	* tree-ssa-tail-merge.c (merge_stmts_p): Handle IFN_UBSAN_PTR.
+	* internal-fn.def (UBSAN_PTR): New internal function.
+	* opts.c (sanitizer_opts): Add pointer-overflow.
+	* lto-streamer-in.c (input_function): Handle IFN_UBSAN_PTR.
+	* fold-const.c (build_range_check): Compute pointer range check in
+	integral type if pointer arithmetics would be needed.  Formatting
+	fixes.
+
+2017-07-28  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/81460
+	* sanopt.c (sanitize_rewrite_addressable_params): Do not rewrite
+	parameters that are of a variable-length.
+
+2017-07-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h.  Add
+	rs6000/biarch64.h.
+	* config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
+	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
+	(CRT_CALL_STATIC_FUNCTION): Likewise.
+	(ASM_DEFAULT_SPEC): New define.
+	(ASM_SPEC32): Likewise.
+	(ASM_SPEC64): Likewise.
+	(ASM_SPEC_COMMON): Likewise.
+	(ASM_SPEC): Likewise.
+	(INVALID_64BIT): Likewise.
+	(LINK_OS_DEFAULT_SPEC): Likewise.
+	(LINK_OS_SPEC32): Likewise.
+	(LINK_OS_SPEC64): Likewise.
+	(POWERPC_LINUX): Likewise.
+	(PTRDIFF_TYPE): Likewise.
+	(RESTORE_FP_PREFIX): Likewise.
+	(RESTORE_FP_SUFFIX): Likewise.
+	(SAVE_FP_PREFIX): Likewise.
+	(SAVE_FP_SUFFIX): Likewise.
+	(SIZE_TYPE): Likewise.
+	(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
+	(TARGET_64BIT): Likewise.
+	(TARGET_64BIT): Likewise.
+	(TARGET_AIX): Likewise.
+	(WCHAR_TYPE_SIZE): Likewise.
+	(WCHAR_TYPE): Undefine.
+	(TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines.
+	(CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC.
+	(CPP_OS_RTEMS_SPEC): Delete.
+	(SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems.  Add
+	asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and
+	link_os_spec64.
+	* config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs.
+
+2017-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81578
+	* tree-parloops.c (build_new_reduction): Bail out if
+	reduction_code isn't one of the standard OpenMP reductions.
+	Move the details printing after that decision.
+
+2017-07-27  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/predicates.md (volatile_mem_operand): Remove code
+	related to reload_in_progress.
+	(splat_input_operand): Likewise.
+	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
+	Delete prototype.
+	* config/rs6000/rs6000.c (machine_function): Remove sdmode_stack_slot
+	field.
+	(TARGET_EXPAND_TO_RTL_HOOK): Delete.
+	(TARGET_INSTANTIATE_DECLS): Likewise.
+	(legitimate_indexed_address_p): Delete reload_in_progress code.
+	(rs6000_debug_legitimate_address_p): Likewise.
+	(rs6000_eliminate_indexed_memrefs): Likewise.
+	(rs6000_emit_le_vsx_store): Likewise.
+	(rs6000_emit_move_si_sf_subreg): Likewise.
+	(rs6000_emit_move): Likewise.
+	(register_to_reg_type): Likewise.
+	(rs6000_pre_atomic_barrier): Likewise.
+	(rs6000_machopic_legitimize_pic_address): Likewise.
+	(rs6000_allocate_stack_temp): Likewise.
+	(rs6000_address_for_fpconvert): Likewise.
+	(rs6000_address_for_altivec): Likewise.
+	(rs6000_secondary_memory_needed_rtx): Delete function.
+	(rs6000_check_sdmode): Likewise.
+	(rs6000_alloc_sdmode_stack_slot): Likewise.
+	(rs6000_instantiate_decls): Likewise.
+	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
+	* config/rs6000/rs6000.md (splitter for *movsi_got_internal):
+	Delete reload_in_progress.
+	(*vec_reload_and_plus_<mptrsize>): Likewise.
+	* config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
+	(vsx_div_v2di): Likewise.
+	(vsx_udiv_v2di): Likewise.
+
+2017-07-27  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/rs6000.opt (mlra): Replace with stub.
+	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Delete OPTION_MASK_LRA.
+	* config/rs6000/rs6000.c (TARGET_LRA_P): Delete.
+	(rs6000_debug_reg_global): Delete print of LRA status.
+	(rs6000_option_override_internal): Delete dead LRA related code.
+	(rs6000_lra_p): Delete function.
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mlra.
+
+2017-07-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*).
+	* config/riscv/rtems.h: New file.
+
+2017-07-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+	    Sudakshina Das  <sudi.das@arm.com>
+
+	* config/aarch64/aarch64.md
+	(define_split for and<mode>3nr_compare): Move
+	non aarch64_logical_operand to a register.
+	(define_split for and_<SHIFT:optab><mode>3nr_compare0): Move non
+	register immediate operand to a register.
+	* config/aarch64/predicates.md (aarch64_mov_imm_operand): New.
+
+2017-07-27  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR middle-end/81564
+	* tree-cfg.c (group_case_labels_stmt): Handle already deleted blocks.
+
+2017-07-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81573
+	PR tree-optimization/81494
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
+	multi defuse cycle case.
+
+2017-07-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81571
+	* tree-vect-slp.c (vect_build_slp_tree): Properly verify reduction
+	PHIs.
+
+2017-07-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.c (sparc_option_override): Set MASK_FSMULD flag
+	earlier and only if MASK_FPU is set.  Adjust formatting.
+
+2017-07-27  Martin Liska  <mliska@suse.cz>
+
+	* opt-functions.awk: Add validation of value of Init.
+	* optc-gen.awk: Pass new argument.
+
+2017-07-27  Martin Liska  <mliska@suse.cz>
+
+	* auto-profile.c (autofdo_source_profile::update_inlined_ind_target):
+	Fix wrong condition.
+
+2017-07-27  Martin Liska  <mliska@suse.cz>
+
+	* auto-profile.c (afdo_annotate_cfg): Assign zero counts to
+	BBs and edges seen by autoFDO.
+
+2017-07-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81502
+	* tree-ssa.c (non_rewritable_lvalue_p): Handle BIT_INSERT_EXPR
+	with incompatible but same sized type.
+	(execute_update_addresses_taken): Likewise.
+
+2017-07-27  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* tree-ssa-loop-ch.c (pass_ch::process_loop_p): Guard on
+	flag_tree_loop_vectorize rather than flag_tree_vectorize.
+
+2017-07-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/81534
+	* config/s390/s390.md ("*atomic_compare_and_swap<mode>_1")
+	("*atomic_compare_and_swapdi_2", "*atomic_compare_and_swapsi_3"):
+	Change s_operand to memory_operand.
+
+2017-07-27  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* config/rs6000/rs6000-protos.h (rs6000_emit_le_vsx_permute): Declare.
+	* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Replace with...
+	(rs6000_emit_le_vsx_permute): ...this.  Take the destination as input.
+	Emit instructions rather than returning an expression.  Handle TFmode
+	and KFmode by casting to TImode.
+	(rs6000_emit_le_vsx_load): Update to use rs6000_emit_le_vsx_permute.
+	(rs6000_emit_le_vsx_store): Likewise.
+	* config/rs6000/vsx.md (VSX_TI): New iterator.
+	(*vsx_le_permute_<mode>): Use it instead of VSX_LE_128.
+	(*vsx_le_undo_permute_<mode>): Likewise.
+	(*vsx_le_perm_load_<mode>): Use rs6000_emit_le_vsx_permute to
+	emit the split sequence.
+	(*vsx_le_perm_store_<mode>): Likewise.
+
+2017-07-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81555
+	PR tree-optimization/81556
+	* tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument,
+	if true, force CHANGED for the recursive invocation.
+	(reassociate_bb): Remember original length of ops array, pass
+	len != orig_len as NEXT_CHANGED in rewrite_expr_tree call.
+
+	* attribs.c (decl_attributes): Imply noinline, noclone and no_icf
+	attributes for noipa attribute.  For naked attribute use
+	lookup_attribute first before lookup_attribute_spec.
+	* final.c (rest_of_handle_final): Disable IPA RA for functions with
+	noipa attribute.
+	* ipa-visibility.c (non_local_p): Fix comment typos.  Return true
+	for functions with noipa attribute.
+	(cgraph_externally_visible_p): Return true for functions with noipa
+	attribute.
+	* cgraph.c (cgraph_node::get_availability): Return AVAIL_INTERPOSABLE
+	for functions with noipa attribute.
+	* doc/extend.texi: Document noipa function attribute.
+	* tree-ssa-structalias.c (refered_from_nonlocal_fn): Set *nonlocal_p
+	also for functions with noipa attribute.
+	(ipa_pta_execute): Set nonlocal_p also for nodes with noipa attribute.
+
+2017-07-26  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64.c (thunderx_vector_cost): Decrease cost of
+	vec_unalign_load_cost and vec_unalign_store_cost.
+
+2017-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete
+	-mvsx-small-integer option.
+	(ISA_3_0_MASKS_IEEE): Likewise.
+	(OTHER_VSX_VECTOR_MASKS): Likewise.
+	(POWERPC_MASKS): Likewise.
+	* config/rs6000/rs6000.opt (-mvsx-small-integer): Likewise.
+	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Simplify
+	code, only testing for DImode being allowed in non-VSX floating
+	point registers.
+	(rs6000_init_hard_regno_mode_ok): Change TARGET_VSX_SMALL_INTEGER
+	to TARGET_P8_VECTOR test.  Remove redundant VSX test inside of
+	another VSX test.
+	(rs6000_option_override_internal): Delete -mvsx-small-integer.
+	(rs6000_expand_vector_set): Change TARGET_VSX_SMALL_INTEGER to
+	TARGET_P8_VECTOR test.
+	(rs6000_secondary_reload_simple_move): Likewise.
+	(rs6000_preferred_reload_class): Delete TARGET_VSX_SMALL_INTEGER,
+	since TARGET_P9_VECTOR was already tested.
+	(rs6000_opt_masks): Remove -mvsx-small-integer.
+	* config/rs6000/vsx.md (vsx_extract_<mode>): Delete
+	TARGET_VSX_SMALL_INTEGER, since a test for TARGET_P9_VECTOR was
+	used.
+	(vsx_extract_<mode>_p9): Delete TARGET_VSX_SMALL_INTEGER, since a
+	test for TARGET_VEXTRACTUB was used, and that uses
+	TARGET_P9_VECTOR.
+	(p9 extract splitter): Likewise.
+	(vsx_extract_<mode>_di_p9): Likewise.
+	(vsx_extract_<mode>_store_p9): Likewise.
+	(vsx_extract_si): Delete TARGET_VSX_SMALL_INTEGER, since a test
+	for TARGET_P9_VECTOR was used.  Delete code that is now dead with
+	the elimination of TARGET_VSX_SMALL_INTEGER.
+	(vsx_extract_<mode>_p8): Likewise.
+	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>): Likewise.
+	(vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Likewise.
+	(vsx_set_<mode>_p9): Likewise.
+	(vsx_set_v4sf_p9): Likewise.
+	(vsx_set_v4sf_p9_zero): Likewise.
+	(vsx_insert_extract_v4sf_p9): Likewise.
+	(vsx_insert_extract_v4sf_p9_2): Likewise.
+	* config/rs6000/rs6000.md (sign extend splitter): Change
+	TARGET_VSX_SMALL_INTEGER to TARGET_P8_VECTOR test.
+	(floatsi<mode>2_lfiwax_mem): Likewise.
+	(floatunssi<mode>2_lfiwzx_mem): Likewise.
+	(float<QHI:mode><FP_ISA3:mode>2): Delete TARGET_VSX_SMALL_INTEGER,
+	since a test for TARGET_P9_VECTOR was used.
+	(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<mode>si2): Change TARGET_VSX_SMALL_INTEGER to
+	TARGET_P8_VECTOR test.
+	(fix_trunc<mode>si2_stfiwx): Likewise.
+	(fix_trunc<mode>si2_internal): Likewise.
+	(fix_trunc<SFDF:mode><QHI:mode>2): Delete
+	TARGET_VSX_SMALL_INTEGER, since a test for TARGET_P9_VECTOR was
+	used.
+	(fix_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
+	(fixuns_trunc<mode>si2): Change TARGET_VSX_SMALL_INTEGER to
+	TARGET_P8_VECTOR test.
+	(fixuns_trunc<mode>si2_stfiwx): Likewise.
+	(fixuns_trunc<SFDF:mode><QHI:mode>2): Delete
+	TARGET_VSX_SMALL_INTEGER, since a test for TARGET_P9_VECTOR was
+	used.
+	(fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
+	(fctiw<u>z_<mode>_smallint): Delete TARGET_VSX_SMALL_INTEGER,
+	since a test for TARGET_P9_VECTOR was used.
+	(splitter for loading small constants): Likewise.
+
+2017-07-26  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64.c (thunderx_vector_cost): Fix
+	vec_fp_stmt_cost.
+
+2017-07-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/81563
+	* config/i386/i386.c (sp_valid_at): Properly check CFA offset.
+	(fp_valid_at): Likewise.
+
+2017-07-26  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa57_addrcost_table): Remove.
+	(qdf24xx_addrcost_table): Likewise.
+	(cortexa57_tunings): Update to use generic_branch_cost.
+	(cortexa72_tunings): Likewise.
+	(cortexa73_tunings): Likewise.
+	(qdf24xx_tunings): Likewise.
+
+2017-07-26  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa57_branch_cost): Remove.
+	(thunderx2t99_branch_cost): Likewise.
+	(cortexa35_tunings): Update to use generic_branch_cost.
+	(cortexa53_tunings): Likewise.
+	(cortexa57_tunings): Likewise.
+	(cortexa72_tunings): Likewise.
+	(cortexa73_tunings): Likewise.
+	(thunderx2t99_tunings): Likewise.
+
+2017-07-26  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config/sparc/sparc.c (dump_target_flag_bits): Dump MASK_FSMULD.
+	(sparc_option_override): Honour MASK_FSMULD.
+	* config/sparc/sparc.h (MASK_FEATURES): Add MASK_FSMULD.
+	* config/sparc/sparc.md (muldf3_extend): Use TARGET_FSMULD.
+	* config/sparc/sparc.opt (mfsmuld): New option.
+	* doc/invoke.texi (mfsmuld): Document option.
+
+2017-07-26  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/70992
+	* tree.c (build2_stat): Don't set TREE_CONSTANT on divisions by zero.
+
+2017-07-26  Richard Biener  <rguenther@suse.de>
+
+	* gimple-match-head.c (do_valueize): Return OP if valueize
+	returns NULL_TREE.
+	(get_def): New helper to get at the def stmt of a SSA name
+	if valueize allows.
+	* genmatch.c (dt_node::gen_kids_1): Use get_def instead of
+	do_valueize to get at the def stmt.
+	(dt_operand::gen_gimple_expr): Simplify do_valueize calls.
+
+2017-07-26  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR middle-end/46932
+	* auto-inc-dec.c (parse_add_or_inc): Block autoinc on sfp.
+
+2017-07-26  Martin Liska  <mliska@suse.cz>
+
+	PR sanitize/81186
+	* function.c (expand_function_start): Make expansion of
+	nonlocal_goto_save_area after parm_birth_insn.
+
+2017-07-26  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config/sparc/sparc.c (sparc_option_override): Remove MASK_FPU
+	from all CPU target flags enable members.
+
+2017-07-26  Richard Biener  <rguenther@suse.de>
+
+	* genmatch.c (dt_simplify::gen): Make iterator vars const.
+	(decision_tree::gen): Make 'type' const.
+	(write_predicate): Likewise.
+
+2017-07-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok):
+	Eliminate TARGET_UPPER_REGS_{DF,DI,SF} usage.
+	(rs6000_option_override_internal): Likewise.
+	(rs6000_expand_vector_set): Likewise.
+	* config/rs6000/rs6000.h (TARGET_UPPER_REGS_DF): Delete.
+	(TARGET_UPPER_REGS_SF): Likewise.
+	(TARGET_UPPER_REGS_DI): Likewise.
+	(TARGET_VEXTRACTUB): Eliminate TARGET_UPPER_REGS_{DF,DI,SF}.
+	(TARGET_DIRECT_MOVE_64BIT): Likewise.
+	* config/rs6000/rs6000.md (ALTIVEC_DFORM): Likewise.
+	(float<QHI:mode><FP_ISA3:mode>2_internal): Likewise.
+	(Splitters for DI constants in Altivec registers): Likewise.
+	* config/rs6000/vsx.md (vsx_set_<mode>_p9): Likewise.
+	(vsx_set_v4sf_p9): Likewise.
+	(vsx_set_v4sf_p9_zero): Likewise.
+	(vsx_insert_extract_v4sf_p9): Likewise.
+	(vsx_insert_extract_v4sf_p9_2): Likewise.
+
+2017-07-25  Carl Love  <cel@us.ibm.com>
+
+	* doc/extend.texi: Update the built-in documentation file for the
+	existing built-in functions
+	vector signed char vec_cnttz (vector signed char);
+	vector unsigned char vec_cnttz (vector unsigned char);
+	vector signed short vec_cnttz (vector signed short);
+	vector unsigned short vec_cnttz (vector unsigned short);
+	vector signed int vec_cnttz (vector signed int);
+	vector unsigned int vec_cnttz (vector unsigned int);
+	vector signed long long vec_cnttz (vector signed long long);
+	vector unsigned long long vec_cnttz (vector unsigned long long);
+
+2017-07-25  Andrew Pinski  <apinski@cavium.com>
+
+	* tree-ssa-uninit.c (warn_uninitialized_vars): Don't warn about memory
+	accesses where the use is for the first operand of a BIT_INSERT.
+
+2017-07-25  Jim Wilson  <jim.wilson@linaro.org>
+
+	PR bootstrap/81521
+	* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look
+	for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS.
+
+2017-07-25  Jim Wilson  <jim.wilson@linaro.org>
+
+	* config/i386/gstabs.h: Delete.
+	* config/i386/openbsd.h, config/i386/t-openbsd: Likewise.
+
+2017-07-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_decompose_address): Do not check for
+	register RTX when looking at index_reg or base_reg.
+	* config/i386/i386.h (INCOMING_RETURN_ADDR_RTX): Use stack_pointer_rtx.
+
+2017-07-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gimple.c (gimple_assign_set_rhs_with_ops): Do not ask gsi_replace
+	to update EH info here.
+
+2017-07-25  Alexander Monakov  <amonakov@ispras.ru>
+
+	* match.pd ((X * CST1) * CST2): Simplify to X * (CST1 * CST2).
+
+2017-07-25  Alexander Monakov  <amonakov@ispras.ru>
+
+	* match.pd ((X * CST) * Y): Reassociate to (X * Y) * CST.
+
+2017-07-25  Torsten Duwe  <duwe@suse.de>
+
+	* common.opt: Introduce -fpatchable-function-entry
+	command line option, and its variables function_entry_patch_area_size
+	and function_entry_patch_area_start.
+	* opts.c (common_handle_option): Add -fpatchable_function_entry_ case,
+	including a two-value parser.
+	* target.def (print_patchable_function_entry): New target hook.
+	* targhooks.h (default_print_patchable_function_entry): New function.
+	* targhooks.c (default_print_patchable_function_entry): Likewise.
+	* toplev.c (process_options): Switch off IPA-RA if
+	patchable function entries are being generated.
+	* varasm.c (assemble_start_function): Look at the
+	patchable-function-entry command line switch and current
+	function attributes and maybe generate NOP instructions by
+	calling the print_patchable_function_entry hook.
+	* doc/extend.texi: Document patchable_function_entry attribute.
+	* doc/invoke.texi: Document -fpatchable_function_entry
+	command line option.
+	* doc/tm.texi.in (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY):
+	New target hook.
+	* doc/tm.texi: Re-generate.
+
+2017-07-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81532
+	* config/i386/constraints.md (Yd, Ye): Use ALL_SSE_REGS for
+	TARGET_AVX512DQ rather than TARGET_AVX512BW.
+
+2017-07-25  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/parsecpu.awk (all_cores): Remove duplicates.
+
+2017-07-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81455
+	* tree-ssa-loop-unswitch.c (find_loop_guard): Make sure to
+	not walk in cycles when looking for guards.
+
+2017-07-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81529
+	* tree-vect-stmts.c (process_use): Disregard live induction PHIs
+	when optimizing backedge uses.
+
+2017-07-25  David Edelsohn  <dje.gcc@gmail.com>
+
+	* dwarf2asm.c (dw2_asm_output_nstring): Encode double quote
+	character for AIX.
+	* dwarf2out.c (output_macinfo): Copy debug_line_section_label
+	to dl_section_ref.  On AIX, append an expression to subtract
+	the size of the section length to dl_section_ref.
+
+2017-07-25  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* configure.ac: If any of the config.* scripts fail, exit 1.
+	* configure: Regenerate.
+
+2017-07-25  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81546
+	* tree-ssa-operands.c (verify_imm_links): Remove cap on number
+	of immediate uses, be more verbose on errors.
+
+2017-07-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81510
+	* tree-vect-loop.c (vect_is_simple_reduction): When the
+	reduction stmt is not inside the loop bail out.
+
+2017-07-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81303
+	* tree-vect-loop-manip.c (vect_loop_versioning): Build
+	profitability check against LOOP_VINFO_NITERSM1.
+
+2017-07-25  Alexander Monakov  <amonakov@ispras.ru>
+
+	* domwalk.c (cmp_bb_postorder): Simplify.
+	(sort_bbs_postorder): New function.  Use it...
+	(dom_walker::walk): ...here to optimize common cases.
+
+2017-07-25  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/81520
+	* ipa-visibility.c (function_and_variable_visibility): Make the
+	redirection just on target that supports aliasing.
+	Fix GNU coding style.
+
+2017-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	PR libgcc/61152
+	* config/aarch64/rtems.h: Add GCC Runtime Library Exception.
+	Format changes.
+	* config/arm/rtems.h: Likewise.
+	* config/bfin/rtems.h: Likewise.
+	* config/i386/rtemself.h: Likewise.
+	* config/lm32/rtems.h: Likewise.
+	* config/m32c/rtems.h: Likewise.
+	* config/m68k/rtemself.h: Likewise.
+	* config/microblaze/rtems.h: Likewise.
+	* config/mips/rtems.h: Likewise.
+	* config/moxie/rtems.h: Likewise.
+	* config/nios2/rtems.h: Likewise.
+	* config/powerpcspe/rtems.h: Likewise.
+	* config/rs6000/rtems.h: Likewise.
+	* config/rtems.h: Likewise.
+	* config/sh/rtems.h: Likewise.
+	* config/sh/rtemself.h: Likewise.
+	* config/sparc/rtemself.h: Likewise.
+
+2017-07-25  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR 81487
+	* hsa-brig.c (brig_init): Use xasprintf instead of asprintf.
+	* gimple-pretty-print.c (dump_profile, dump_probability): Same.
+	* tree-ssa-structalias.c (alias_get_name): Same.
+
+2017-07-25  Bin Cheng  <bin.cheng@arm.com>
+
+	PR target/81414
+	* config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac
+	instructions if no du chain is found.
+
+2017-07-25  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr-log.c (avr_log_vadump) ['T']: Print NULL-TREE.
+
+2017-07-25  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81505
+	* fold-const.c (fold_negate_const): TREE_OVERFLOW should be
+	sticky.
+
+2017-07-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Delete
+	upper-regs options.
+	(ISA_2_7_MASKS_SERVER): Likewise.
+	(ISA_3_0_MASKS_IEEE): Likewise.
+	(OTHER_P8_VECTOR_MASKS): Likewise.
+	(OTHER_VSX_VECTOR_MASKS): Likewise.
+	(POWERPC_MASKS): Likewise.
+	(power7 cpu): Use ISA_2_6_MASKS_SERVER instead of using a
+	duplicate list of options.
+	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Remove
+	explicit -mupper-regs options.
+	* config/rs6000/rs6000.opt (-mvsx-scalar-memory): Delete
+	-mupper-regs* options.  Delete -mvsx-scalar-memory, which was an
+	alias for -mupper-regs-df.
+	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Likewise.
+	(rs6000_init_hard_regno_mode_ok): Likewise.
+	(rs6000_option_override_internal): Likewise.
+	(rs6000_opt_masks): Likewise.
+	* config/rs6000/rs6000.h (TARGET_UPPER_REGS_DF): Define upper regs
+	options in terms of whether -mvsx or -mpower8-vector was used.
+	(TARGET_UPPER_REGS_DI): Likewise.
+	(TARGET_UPPER_REGS_SF): Likewise.
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete the
+	-mupper-regs-* options.
+
+2017-07-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* passes.c (emergency_dump_function): Print some empty lines and a
+	header before the RTL dump.
+
+2017-07-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* cfgrtl.c (rtl_dump_bb): Don't call NEXT_INSN on NULL.
+
+2017-07-24  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR target/79041
+	* config/aarch64/aarch64.c (aarch64_classify_symbol):
+	Avoid SYMBOL_SMALL_ABSOLUTE for literals with pc-relative literals.
+
+2017-07-24  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Add support for built-in functions
+	vector float vec_extract_fp32_from_shorth (vector unsigned short);
+	vector float vec_extract_fp32_from_shortl (vector unsigned short);
+	* config/rs6000/altivec.h (vec_extract_fp_from_shorth,
+	vec_extract_fp_from_shortl): Add defines for the two builtins.
+	* config/rs6000/rs6000-builtin.def (VEXTRACT_FP_FROM_SHORTH,
+	VEXTRACT_FP_FROM_SHORTL): Add BU_P9V_OVERLOAD_1 and BU_P9V_VSX_1
+	new builtins.
+	* config/rs6000/vsx.md vsx_xvcvhpsp): Add define_insn.
+	(vextract_fp_from_shorth, vextract_fp_from_shortl): Add define_expands.
+	* doc/extend.texi: Update the built-in documentation file for the
+	new built-in function.
+
+2017-07-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/81521
+	* tree.def: Remove TYPE_METHODS documentation, adjust TYPE_FIELDS
+	documentation.
+	* doc/generic.texi: Likewise.
+	* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition): Look
+	for FUNCTION_DECLs in TYPE_FIELDS rather than TYPE_METHODS.
+
+2017-07-24  Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_mla_elt_merge<mode>): New.
+	(aarch64_mls_elt_merge<mode>): Likewise.
+
+2017-07-23  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+	* config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
+	having __cxa_atexit.
+
+2017-07-23  Michael Collison  <michael.collison@arm.com>
+
+	* config/arm/arm.c (arm_option_override): Deprecate
+	use of -mstructure-size-boundary.
+	* config/arm/arm.opt: Deprecate -mstructure-size-boundary.
+	* doc/invoke.texi: Deprecate -mstructure-size-boundary.
+
+2017-07-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/80695
+	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
+	Reduce cost estimate for direct moves.
+
+2017-07-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80569
+	* config/i386/i386.c (ix86_option_override_internal): Disable
+	BMI, BMI2 and TBM instructions for -m16.
+
+2017-07-21  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
+	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
+	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
+	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
+	VMULOSW): New enum "unspec" values.
+	(altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
+	altivec_vmulosw): New patterns.
+	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
+	VMULOSW): Add definitions.
+
+2017-07-21  Jim Wilson  <jim.wilson@linaro.org>
+
+	* config/aarch64/aarch64-cores.def (falkor): Add AARCH64_FL_RDMA.
+	(qdf24xx): Likewise.
+	* config/aarch64/aarch64-options-extensions.def (rdma); New.
+	* config/aarch64/aarch64.h (AARCH64_FL_RDMA): New.
+	(AARCH64_FL_V8_1): Renumber.
+	(AARCH64_FL_FOR_ARCH8_1): Add AARCH64_FL_RDMA.
+	(AARCH64_ISA_RDMA): Use AARCH64_FL_RDMA.
+	* config/aarch64/arm_neon.h: Use +rdma instead of arch=armv8.1-a.
+	* doc/invoke.texi (AArch64 Options): Mention +rmda in -march docs.  Add
+	rdma to feature modifiers list.
+
+2017-07-21  Yury Gribov  <tetra2005@gmail.com>
+
+	PR middle-end/56727
+	* ipa-visibility (function_and_variable_visibility): Convert
+	recursive PLT call to direct call if appropriate.
+
+2017-07-21  Andrew Pinski  <apinski@cavium.com>
+
+	* tree-ssa-sccvn.c (vn_nary_op_eq): Check BIT_INSERT_EXPR's
+	operand 1 to see if the types precision matches.
+	* fold-const.c (operand_equal_p): Likewise.
+
+2017-07-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81303
+	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): Pass
+	in datarefs vector.  Allow NULL dr0 for no peeling cost estimate.
+	(vect_peeling_hash_get_lowest_cost): Adjust.
+	(vect_enhance_data_refs_alignment): Likewise.  Use
+	vect_get_peeling_costs_all_drs to compute the penalty for no
+	peeling to match up costs.
+
+2017-07-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81500
+	* tree-vect-loop.c (vect_is_simple_reduction): Properly fail if
+	we didn't identify a reduction path.
+
+2017-07-21  Tom de Vries  <tom@codesourcery.com>
+	    Cesar Philippidis  <cesar@codesourcery.com>
+
+	PR gcov-profile/81442
+	* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Add missing edge
+	probabilities.
+
+2017-07-21  Tom de Vries  <tom@codesourcery.com>
+
+	PR lto/81430
+	* config/nvptx/nvptx.c (nvptx_override_options_after_change): New
+	function.
+	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define to
+	nvptx_override_options_after_change.
+
+2017-07-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* dwarf2out.c (output_file_names): Avoid double testing for
+	dwarf_version >= 5.
+
+2017-07-21  Georg-Johann Lay  <avr@gjlay.de>
+
+	* doc/invoke.texi (AVR Built-in Functions): Re-layout section.
+
+2016-07-21  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgcleanup.c (flow_find_cross_jump): Do not crossjump across
+	hot/cold regions.
+	(try_crossjump_to_edge): Do not punt on partitioned functions.
+
+2016-07-21  Jan Hubicka  <hubicka@ucw.cz>
+
+	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+	Put all BBs reachable only via paths crossing cold region to cold
+	region.
+	* cfgrtl.c (find_bbs_reachable_by_hot_paths): New function.
+
+2016-07-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81303
+	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Take
+	into account prologue and epilogue iterations when raising
+	min_profitable_iters to sth at least covering one vector iteration.
+
+2017-07-21  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm.c (arm_test_cpu_arch_dat):
+	Check for overlap.
+
+2017-07-20  Nathan Sidwell  <nathan@acm.org>
+
+	Remove TYPE_METHODS.
+	* tree.h (TYPE_METHODS): Delete.
+	* dwarf2out.c (gen_member_die): Member fns are on TYPE_FIELDS.
+	* dbxout.c (dbxout_type_fields): Ignore FUNCTION_DECLs.
+	(dbxout_type_methods): Scan TYPE_FIELDS.
+	(dbxout_type): Don't check TYPE_METHODS here.
+	* function.c (use_register_for_decl): Always ignore register for
+	class types when not optimizing.
+	* ipa-devirt.c (odr_types_equivalent_p): Delete TYPE_METHODS scan.
+	* tree.c (free_lang_data_in_type): Stitch out member functions and
+	templates from TYPE_FIELDS.
+	(build_distinct_type_copy, verify_type_variant,
+	verify_type): Member fns are on TYPE_FIELDS.
+	* tree-dump.c (dequeue_and_dump): No TYPE_METHODS.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+
+2017-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/80846
+	* config/i386/i386.c (ix86_expand_vector_init_general): Handle
+	V2TImode and V4TImode.
+	(ix86_expand_vector_extract): Likewise.
+	* config/i386/sse.md (VMOVE): Enable V4TImode even for just
+	TARGET_AVX512F, instead of only for TARGET_AVX512BW.
+	(ssescalarmode): Handle V4TImode and V2TImode.
+	(VEC_EXTRACT_MODE): Add V4TImode and V2TImode.
+	(*vec_extractv2ti, *vec_extractv4ti): New insns.
+	(VEXTRACTI128_MODE): New mode iterator.
+	(splitter for *vec_extractv?ti first element): New.
+	(VEC_INIT_MODE): New mode iterator.
+	(vec_init<mode>): Consolidate 3 expanders into one using
+	VEC_INIT_MODE mode iterator.
+
+2017-07-20  Alexander Monakov  <amonakov@ispras.ru>
+
+	* lra-assigns.c (pseudo_compare_func): Fix comparison step based on
+	non_spilled_static_chain_regno_p.
+
+2017-07-20  Alexander Monakov  <amonakov@ispras.ru>
+
+	* gimple-ssa-store-merging.c (sort_by_bitpos): Return 0 on equal bitpos.
+
+2017-07-20  Jan Hubicka  <hubicka@ucw.cz>
+
+	* bb-reorder.c (connect_traces): Allow copying of blocks within
+	single partition.
+
+2017-07-20  Richard Biener  <rguenther@suse.de>
+
+	* gimple.h (gimple_phi_result): Add gphi * overload.
+	(gimple_phi_result_ptr): Likewise.
+	(gimple_phi_arg): Likewise.  Adjust index assert to only
+	allow actual argument accesses rather than all slots available
+	by capacity.
+	(gimple_phi_arg_def): Add gphi * overload.
+	* tree-phinodes.c (make_phi_node): Initialize only actual
+	arguments.
+	(resize_phi_node): Clear memory not covered by old node,
+	do not initialize excess argument slots.
+	(reserve_phi_args_for_new_edge): Initialize new argument slot
+	completely.
+
+2017-07-20  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81388
+	Revert r238585:
+	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.
+
+2017-07-18  Jan Hubicka  <hubicka@ucw.cz>
+	    Tom de Vries  <tom@codesourcery.com>
+
+	PR middle-end/81030
+	* cfgbuild.c (find_many_sub_basic_blocks): Update REG_BR_PROB note
+	when gimple level profile disagrees with what RTL expander did.
+
+2017-07-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/61171
+	* tree-vectorizer.h (slp_instance): Add reduc_phis member.
+	(vect_analyze_stmt): Add slp instance parameter.
+	(vectorizable_reduction): Likewise.
+	* tree-vect-loop.c (vect_analyze_loop_operations): Adjust.
+	(vect_is_simple_reduction): Deal with chains not detected
+	as SLP reduction chain, specifically not properly associated
+	chains containing a mix of plus/minus.
+	(get_reduction_op): Remove.
+	(get_initial_defs_for_reduction): Simplify, pass in whether
+	this is a reduction chain, pass in the SLP node for the PHIs.
+	(vect_create_epilog_for_reduction): Get the SLP instance as
+	arg and adjust.
+	(vectorizable_reduction): Get the SLP instance as arg.
+	During analysis remember the SLP node with the PHIs in the
+	instance.  Simplify getting at the vectorized reduction PHIs.
+	* tree-vect-slp.c (vect_slp_analyze_node_operations): Pass
+	through SLP instance.
+	(vect_slp_analyze_operations): Likewise.
+	* tree-vect-stms.c (vect_analyze_stmt): Likewise.
+	(vect_transform_stmt): Likewise.
+
+2017-07-20  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/81489
+	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Move
+	read of phi arg location to before loop that modifies phi.
+
+2017-07-20  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0):
+	New pattern.
+
+2017-07-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/81331
+	* except.c (execute): Fix ordering issue.
+
+2018-07-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/81423
+	* combine.c (make_compound_operation_int): Don't try to optimize
+	the AND of a SUBREG of an LSHIFTRT if that SUBREG is paradoxical.
+
+2017-07-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/81423
+	* simplify-rtx.c (simplify_truncation): Handle truncating an IOR
+	with a constant that is -1 in the truncated to mode.
+
+2017-07-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (propagate_unlikely_bbs_forward): Break out from ...
+	(determine_unlikely_bbs): ... here.
+	* predict.h (propagate_unlikely_bbs_forward): Declare.
+	* cfgexpand.c (pass_expand::execute): Use it.
+	* bb-reorder.c (sanitize_hot_paths): Do not consider known to be
+	unlikely edges.
+	(find_rarely_executed_basic_blocks_and_crossing_edges): Use
+	propagate_unlikely_bbs_forward.
+
+2017-07-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/81331
+	* except.c (maybe_add_nop_after_section_switch): New function.
+	(execute): Use it.
+
+2017-07-19  Tom de Vries  <tom@codesourcery.com>
+
+	* gimple.h (gimple_phi_set_arg): Make assert more strict.
+
+2017-07-19  Tom de Vries  <tom@codesourcery.com>
+
+	* gimple.h (gimple_phi_arg): Make assert more strict.
+
+2017-07-19  Steven Munroe  <munroesj@gcc.gnu.org>
+
+	* config.gcc (powerpc*-*-*): Add mmintrin.h.
+	* config/rs6000/mmintrin.h: New file.
+	* config/rs6000/x86intrin.h [__ALTIVEC__]: Include mmintrin.h.
+
+2017-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81346
+	* match.pd: Optimize (X - 1U) <= INT_MAX-1U into (int) X > 0.
+
+2017-07-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/nvptx/nvptx.md (VECIM): Add V2DI.
+
+2017-07-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/nvptx/nvptx-modes.def: Add V2DImode.
+	* config/nvptx/nvptx-protos.h (nvptx_data_alignment): Declare.
+	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Handle V2DImode.
+	(nvptx_output_mov_insn): Handle lack of mov.b128.
+	(nvptx_print_operand): Handle 'H' and 'L' codes.
+	(nvptx_vector_mode_supported): Allow V2DImode.
+	(nvptx_preferred_simd_mode): New function.
+	(nvptx_data_alignment): New function.
+	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Redefine to
+	nvptx_preferred_simd_mode.
+	* config/nvptx/nvptx.h (STACK_BOUNDARY, BIGGEST_ALIGNMENT): Change from
+	64 to 128 bits.
+	(DATA_ALIGNMENT): Define.  Set to nvptx_data_alignment.
+
+2017-07-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/nvptx/nvptx-modes.def: New file.  Add V2SImode.
+	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Handle V2SImode.
+	(nvptx_vector_mode_supported): New function.  Allow V2SImode.
+	(TARGET_VECTOR_MODE_SUPPORTED_P): Redefine to nvptx_vector_mode_supported.
+	* config/nvptx/nvptx.md (VECIM): New mode iterator. Add V2SI.
+	(mov<VECIM>_insn): New define_insn.
+	(define_expand "mov<VECIM>): New define_expand.
+
+2017-07-19  Tom de Vries  <tom@codesourcery.com>
+
+	* config/nvptx/nvptx.c (nvptx_print_operand): Handle v2 vector mode.
+
+2017-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81346
+	* fold-const.h (fold_div_compare, range_check_type): Declare.
+	* fold-const.c (range_check_type): New function.
+	(build_range_check): Use range_check_type.
+	(fold_div_compare): No longer static, rewritten into
+	a match.pd helper function.
+	(fold_comparison): Don't call fold_div_compare here.
+	* match.pd (X / C1 op C2): New optimization using fold_div_compare
+	as helper function.
+
+2017-07-19  Nathan Sidwell  <nathan@acm.org>
+
+	* tree.h (TYPE_MINVAL, TYPE_MAXVAL): Rename to ...
+	(TYPE_MIN_VALUE_RAW, TYPE_MAX_VALUE_RAW): ... these.
+	* tree.c (find_decls_types_r, verify_type): Use
+	TYPE_{MIN,MAX}_VALUE_RAW.
+	* lto-streamer-out.c (DFS::DFS_write_tree_body): Likewise.
+	(hash_tree): Likewise.
+	* tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers):
+	Likewise.
+	* tree-streamer-out.c (write_ts_type_non_common_tree_pointers):
+	Likewise.
+
+2017-07-18  Tom de Vries  <tom@codesourcery.com>
+
+	PR middle-end/81464
+	* omp-expand.c (expand_omp_for_static_chunk): Handle
+	equal-argument loop exit phi.
+
+2017-07-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81471
+	* config/i386/i386.md (rorx_immediate_operand): New mode attribute.
+	(*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as
+	operand 2 predicate.
+	(*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as
+	operand 2 predicate.
+	(ror,rol -> rorx splitters): Use const_int_operand as
+	operand 2 predicate.
+
+2017-06-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81410
+	* tree-vect-stmts.c (vectorizable_load): Properly adjust for
+	the gap in the ! slp_perm SLP case after each group.
+
+2017-07-18  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/81463
+	* cfgloopmanip.c (scale_loop_profile): Watch out for zero frequency
+	again.
+
+2017-07-18  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/81462
+	* predict.c (set_even_probabilities): Cleanup; do not affect
+	probabilities that are already known.
+	(combine_predictions_for_bb): Call even when count is set.
+
+2017-07-18  Nathan Sidwell  <nathan@acm.org>
+
+	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
+	TYPE_MAX_VALUE.
+
+2017-07-18  Bin Cheng  <bin.cheng@arm.com>
+
+	PR target/81408
+	* tree-ssa-loop-niter.c (number_of_iterations_exit): Dump missed
+	optimization for loop niter analysis.
+
+2017-07-18  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/81473
+	* config/avr/avr.c (avr_optimize_casesi): Don't use
+	INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX.
+
+2017-07-18  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Remove
+	body_cost_vec from _vect_peel_extended_info.
+	(vect_peeling_hash_get_lowest_cost): Do not set body_cost_vec.
+	(vect_peeling_hash_choose_best_peeling): Remove body_cost_vec and
+	npeel.
+
+2017-07-18  Bin Cheng  <bin.cheng@arm.com>
+
+	* config/arm/arm.c (emit_unlikely_jump): Remove unused var.
+
+2017-07-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80620
+	PR tree-optimization/81403
+	* tree-ssa-pre.c (phi_translate_1): Clear range and points-to
+	info when re-using a VN table entry.
+
+2017-07-18  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81418
+	* tree-vect-loop.c (vectorizable_reduction): Properly compute
+	vectype_in.  Verify that with lane-reducing reduction operations
+	we have a single def-use cycle.
+
+2017-07-17  Carl Love  <cel@us.ibm.com>
+
+	Revert commit r249424	2017-06-20  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
+	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
+	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
+	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
+	VMULOSW): New enum "unspec" values.
+	(vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
+	vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si,
+	altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
+	altivec_vmulosw): New patterns.
+	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
+	VMULOSW): Add definitions.
+
+2017-07-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha.c: Include predict.h.
+
+2017-07-17  Yury Gribov  <tetra2005@gmail.com>
+
+	* tree-vrp.c (compare_assert_loc): Fix comparison function
+	to return predictable results.
+
+2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (adddi3): Remove support for mexpand-adddi
+	option.
+	(subdi3): Likewise.
+	* config/arc/arc.opt (mexpand-adddi): Deprecate it.
+	* doc/invoke.texi (mexpand-adddi): Update text.
+
+2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (clzsi2): Expand to an arc_clzsi2 instruction
+	that also clobbers the CC register. The old expand code is moved
+	to ...
+	(*arc_clzsi2): ... here.
+	(ctzsi2): Expand to an arc_ctzsi2 instruction that also clobbers
+	the CC register. The old expand code is moved to ...
+	(arc_ctzsi2): ... here.
+
+2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.opt (mindexed-loads): Use initial value
+	TARGET_INDEXED_LOADS_DEFAULT.
+	(mauto-modify-reg): Use initial value
+	TARGET_AUTO_MODIFY_REG_DEFAULT.
+	* config/arc/elf.h (TARGET_INDEXED_LOADS_DEFAULT): Define.
+	(TARGET_AUTO_MODIFY_REG_DEFAULT): Likewise.
+	* config/arc/linux.h (TARGET_INDEXED_LOADS_DEFAULT): Define.
+	(TARGET_AUTO_MODIFY_REG_DEFAULT): Likewise.
+
+2017-07-17  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/81302
+	* opts.c (finish_options): Do not allow -fgnu-tm
+	w/ -fsanitize={kernel-,}address.  Say sorry.
+
+2017-07-17  Bin Cheng  <bin.cheng@arm.com>
+
+	PR target/81369
+	* tree-loop-distribution.c (classify_partition): Only assert on
+	numer of iterations.
+	(merge_dep_scc_partitions): Delete prameter.  Update function call.
+	(distribute_loop): Remove code handling loop with unknown niters.
+	(pass_loop_distribution::execute): Skip loop with unknown niters.
+
+2017-07-17  Bin Cheng  <bin.cheng@arm.com>
+
+	PR target/81369
+	* tree-loop-distribution.c (merge_dep_scc_partitions): Sink call to
+	function sort_partitions_by_post_order.
+
+2017-07-17  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81374
+	* tree-loop-distribution.c (pass_loop_distribution::execute): Record
+	the max index of basic blocks, rather than number of basic blocks.
+
+2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-protos.h (arc_legitimate_pc_offset_p): Remove
+	proto.
+	(arc_legitimate_pic_operand_p): Likewise.
+	* config/arc/arc.c (arc_legitimate_pic_operand_p): Remove
+	function.
+	(arc_needs_pcl_p): Likewise.
+	(arc_legitimate_pc_offset_p): Likewise.
+	(arc_legitimate_pic_addr_p): Remove LABEL_REF case, as this
+	function is also used in constrains.md.
+	(arc_legitimate_constant_p): Use arc_legitimate_pic_addr_p to
+	validate pic constants. Handle CONST_INT, CONST_DOUBLE, MINUS and
+	PLUS.  Only return true/false in known cases, otherwise assert.
+	(arc_legitimate_address_p): Remove arc_legitimate_pic_addr_p as it
+	is already called in arc_legitimate_constant_p.
+	* config/arc/arc.h (CONSTANT_ADDRESS_P): Consider also LABEL for
+	pic addresses.
+	(LEGITIMATE_PIC_OPERAND_P): Use
+	arc_raw_symbolic_reference_mentioned_p function.
+	* config/arc/constraints.md (Cpc): Use arc_legitimate_pic_addr_p
+	function.
+	(Cal): Likewise.
+	(C32): Likewise.
+
+2017-07-17  Claudiu Zissulescu  <claziss@synopsys.com>
+	Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc-protos.h (arc_compute_function_type): Change prototype.
+	(arc_return_address_register): New function.
+	* config/arc/arc.c (arc_handle_fndecl_attribute): New function.
+	(arc_handle_fndecl_attribute): Add naked attribute.
+	(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Define.
+	(TARGET_WARN_FUNC_RETURN): Likewise.
+	(arc_allocate_stack_slots_for_args): New function.
+	(arc_warn_func_return): Likewise.
+	(machine_function): Change type fn_type.
+	(arc_compute_function_type): Consider new naked function type,
+	change function return type.
+	(arc_must_save_register): Adapt to handle new
+	arc_compute_function_type's return type.
+	(arc_expand_prologue): Likewise.
+	(arc_expand_epilogue): Likewise.
+	(arc_return_address_regs): Delete.
+	(arc_return_address_register): New function.
+	(arc_epilogue_uses): Use above function.
+	* config/arc/arc.h (arc_return_address_regs): Delete prototype.
+	(arc_function_type): Change encoding, add naked type.
+	(ARC_INTERRUPT_P): Change to handle the new encoding.
+	(ARC_FAST_INTERRUPT_P): Likewise.
+	(ARC_NORMAL_P): Define.
+	(ARC_NAKED_P): Likewise.
+	(arc_compute_function_type): Delete prototype.
+	* config/arc/arc.md (in_ret_delay_slot): Use
+	arc_return_address_register function.
+	(simple_return): Likewise.
+	(p_return_i): Likewise.
+
+2017-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81428
+	* match.pd (X / X -> one): Don't optimize _Fract divisions, as 1
+	can't be built for those types.
+
+2017-07-17  Georg-Johann Lay  <avr@gjlay.de>
+
+	Remove stuff dead since r239246.
+
+	* config/avr/avr-arch.h (avr_inform_devices): Remove dead proto.
+	* config/avr/avr-devices.c (mcu_name, comparator, avr_mcus_str)
+	(avr_inform_devices): Remove dead stuff.
+
+2017-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm_neon.h: Fix softp typo.
+
+2017-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81365
+	* tree-ssa-phiprop.c (propagate_with_phi): When considering hoisting
+	aggregate moves onto bb predecessor edges, make sure there are no
+	loads that could alias the lhs in between the start of bb and the
+	loads from *phi.
+
+2017-07-17  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR 80929
+	* config/avr/avr.c (avr_mul_highpart_cost): New static function.
+	(avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost.
+	[LSHIFTRT, outer_code = TRUNCATE]: Same.
+
+2017-07-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81396
+	* tree-ssa-math-opts.c (struct symbolic_number): Add n_ops field.
+	(init_symbolic_number): Initialize it to 1.
+	(perform_symbolic_merge): Add n_ops from both operands into the new
+	n_ops.
+	(find_bswap_or_nop): Don't consider n->n == cmpnop computations
+	without base_addr as useless if they need more than one operation.
+	(bswap_replace): Handle !bswap case for NULL base_addr.
+
+2017-07-17  Tom de Vries  <tom@codesourcery.com>
+
+	PR target/81069
+	* config/nvptx/nvptx.c (nvptx_single): Insert diverging branch as late
+	as possible.
+
+2017-07-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
+	conditional builtin define __FIX_LEON3FT_B2BST.
+
+2017-07-17  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/t-rtems: Add mfix-gr712rc multilibs. Replace
+	MULTILIB_EXCEPTIONS with MULTILIB_REQUIRED. Match -mfix-gr712rc
+	with -mfix-ut700.
+
+2017-07-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/81424
+	* optabs.c (prepare_cmp_insn): Use copy_to_reg instead of force_reg
+	to remove potential trapping from operands if -fnon-call-exceptions.
+
+2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Use
+	profile_proability for scalling.
+	* scale_profile_for_vect_loop.c (scale_profile_for_vect_loop): Likewise.
+
+2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.c (cgraph_edge::redirect_call_stmt_to_caller): Cleanup.
+
+2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgloopmanip.c (scale_loop_profile): Avoid use of REG_BR_PROB_BASE
+	fixpoint arithmetics.
+
+2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-unswitch.c (hoist_guard): Avoid use of REG_BR_PROB_BASE
+	fixpoint arithmetics.
+
+2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* asan.c (create_cond_insert_point): Avoid use of REG_BR_PROB_BASE
+	fixpoint arithmetics.
+
+2017-07-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* profile-count.h (profile_probability::from_reg_br_prob_note,
+	profile_probability::to_reg_br_prob_note): New functions.
+	* doc/rtl.texi (REG_BR_PROB_NOTE): Update documentation.
+	* reg-notes.h (REG_BR_PROB, REG_BR_PRED): Update docs.
+	* predict.c (probability_reliable_p): Update.
+	(edge_probability_reliable_p): Update.
+	(br_prob_note_reliable_p): Update.
+	(invert_br_probabilities): Update.
+	(add_reg_br_prob_note): New function.
+	(combine_predictions_for_insn): Update.
+	* asan.c (asan_clear_shadow): Update.
+	* cfgbuild.c (compute_outgoing_frequencies): Update.
+	* cfgrtl.c (force_nonfallthru_and_redirect): Update.
+	(update_br_prob_note): Update.
+	(rtl_verify_edges): Update.
+	(purge_dead_edges): Update.
+	(fixup_reorder_chain): Update.
+	* emit-rtl.c (try_split): Update.
+	* ifcvt.c (cond_exec_process_insns): Update.
+	(cond_exec_process_if_block): Update.
+	(dead_or_predicable): Update.
+	* internal-fn.c (expand_addsub_overflow): Update.
+	(expand_neg_overflow): Update.
+	(expand_mul_overflow): Update.
+	* loop-doloop.c (doloop_modify): Update.
+	* loop-unroll.c (compare_and_jump_seq): Update.
+	* optabs.c (emit_cmp_and_jump_insn_1): Update.
+	* predict.h: Update.
+	* reorg.c (mostly_true_jump): Update.
+	* rtl.h: Update.
+	* config/aarch64/aarch64.c (aarch64_emit_unlikely_jump): Update.
+	* config/alpha/alpha.c (emit_unlikely_jump): Update.
+	* config/arc/arc.c: (emit_unlikely_jump): Update.
+	* config/arm/arm.c: (emit_unlikely_jump): Update.
+	* config/bfin/bfin.c (cbranch_predicted_taken_p): Update.
+	* config/frv/frv.c (frv_print_operand_jump_hint): Update.
+	* config/i386/i386.c (ix86_expand_split_stack_prologue): Update.
+	(ix86_print_operand): Update.
+	(ix86_split_fp_branch): Update.
+	(predict_jump): Update.
+	* config/ia64/ia64.c (ia64_print_operand): Update.
+	* config/mmix/mmix.c (mmix_print_operand): Update.
+	* config/powerpcspe/powerpcspe.c (output_cbranch): Update.
+	(rs6000_expand_split_stack_prologue): Update.
+	* config/rs6000/rs6000.c: Update.
+	* config/s390/s390.c (s390_expand_vec_strlen): Update.
+	(s390_expand_vec_movstr): Update.
+	(s390_expand_cs_tdsi): Update.
+	(s390_expand_split_stack_prologue): Update.
+	* config/sh/sh.c (sh_print_operand): Update.
+	(expand_cbranchsi4): Update.
+	(expand_cbranchdi4): Update.
+	* config/sparc/sparc.c (output_v9branch): Update.
+	* config/spu/spu.c (get_branch_target): Update.
+	(ea_load_store_inline): Update.
+	* config/tilegx/tilegx.c (cbranch_predicted_p): Update.
+	* config/tilepro/tilepro.c: Update.
+
+2017-07-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gimplify.c (mostly_copy_tree_r): Revert latest change.
+	(gimplify_save_expr): Likewise.
+
+2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-visibility.c (function_and_variable_visibility): Fix pasto.
+
+2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-fnsummary.c (pass_data_ipa_fn_summary): Use
+	TV_IPA_FNSUMMARY.
+	* timevar.def (TV_IPA_FNSUMMARY): Define.
+
+2017-07-16  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/sparc.md (divdf3_fix): Add NOP to prevent back
+	to back store errata sensitive sequence from being generated.
+	(sqrtdf2_fix): Likewise.
+
+2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-threadupdate.c (compute_path_counts,
+	update_joiner_offpath_counts): Use profile_probability.
+
+2017-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	Revert:
+	2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-c.c (arm_cpu_builtins): Define
+	__ARM_FEATURE_NUMERIC_MAXMIN solely based on TARGET_VFP5.
+
+2017-07-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	array entries to represent __ieee128 versions of the
+	scalar_test_data_class, scalar_test_neg, scalar_extract_exp,
+	scalar_extract_sig, and scalar_insert_exp built-in functions.
+	(altivec_resolve_overloaded_builtin): Add special case handling
+	for the __builtin_scalar_insert_exp function, as represented by
+	the P9V_BUILTIN_VEC_VSIEDP constant.
+	* config/rs6000/rs6000-builtin.def (VSEEQP): Add scalar extract
+	exponent support for __ieee128 argument.
+	(VSESQP): Add scalar extract signature support for __ieee128
+	argument.
+	(VSTDCNQP): Add scalar test negative support for __ieee128
+	argument.
+	(VSIEQP): Add scalar insert exponent support for __int128 argument
+	with __ieee128 result.
+	(VSIEQPF): Add scalar insert exponent support for __ieee128
+	argument with __ieee128 result.
+	(VSTDCQP): Add scalar test data class support for __ieee128
+	argument.
+	(VSTDCNQP): Add overload support for scalar test negative with
+	__ieee128 argument.
+	(VSTDCQP): Add overload support for scalar test data class
+	__ieee128 argument.
+	* config/rs6000/vsx.md (UNSPEC_VSX_SXSIG) Replace
+	UNSPEC_VSX_SXSIGDP.
+	(UNSPEC_VSX_SIEXPQP): New constant.
+	(xsxexpqp): New insn for VSX scalar extract exponent quad
+	precision.
+	(xsxsigqp): New insn for VSX scalar extract significand quad
+	precision.
+	(xsiexpqpf): New insn for VSX scalar insert exponent quad
+	precision with floating point argument.
+	(xststdcqp): New expand for VSX scalar test data class quad
+	precision.
+	(xststdcnegqp): New expand for VSX scalar test negative quad
+	precision.
+	(xststdcqp): New insn to match expansions for VSX scalar test data
+	class quad precision and VSX scalar test negative quad precision.
+	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
+	special case operand checking to enforce that second operand of
+	VSX scalar test data class with quad precision argument is a 7-bit
+	unsigned literal.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
+	prototypes and descriptions of __ieee128 versions of
+	scalar_extract_exp, scalar_extract_sig, scalar_insert_exp,
+	scalar_test_data_class, and scalar_test_neg built-in functions.
+
+2016-07-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/81162
+	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
+	replace a negate with an add.
+
+2017-07-14  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* doc/invoke.texi (arm/-mcpu): Document +crypto.
+
+2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-c.c (arm_cpu_builtins): Define
+	__ARM_FEATURE_NUMERIC_MAXMIN solely based on TARGET_VFP5.
+
+2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-cpus.in (cortex-r52): Add new entry.
+	(armv8-r): Set ARM Cortex-R52 as default CPU.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm-tune.md: Regenerate.
+	* config/arm/driver-arm.c (arm_cpu_table): Add entry for ARM
+	Cortex-R52.
+	* doc/invoke.texi: Mention -mtune=cortex-r52 and availability of fp.dp
+	extension for -mcpu=cortex-r52.
+
+2017-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-isa.h (isa_bit_FP_ARMv8): Delete enumerator.
+	(ISA_FP_ARMv8): Define as ISA_FPv5 and ISA_FP_D32.
+	* config/arm/arm-cpus.in (armv8-r): Define fp.sp as enabling FPv5.
+	(fp-armv8): Define it as FP_ARMv8 only.
+	config/arm/arm.h (TARGET_FPU_ARMV8): Delete.
+	(TARGET_VFP_FP16INST): Define using TARGET_VFP5 rather than
+	TARGET_FPU_ARMV8.
+	config/arm/arm.c (arm_rtx_costs_internal): Replace checks against
+	TARGET_FPU_ARMV8 by checks against TARGET_VFP5.
+	* config/arm/arm-builtins.c (arm_builtin_vectorized_function): Define
+	first ARM_CHECK_BUILTIN_MODE definition using TARGET_VFP5 rather
+	than TARGET_FPU_ARMV8.
+	* config/arm/arm-c.c (arm_cpu_builtins): Likewise for
+	__ARM_FEATURE_NUMERIC_MAXMIN macro definition.
+	* config/arm/arm.md (cmov<mode>): Condition on TARGET_VFP5 rather than
+	TARGET_FPU_ARMV8.
+	* config/arm/neon.md (neon_vrint): Likewise.
+	(neon_vcvt): Likewise.
+	(neon_<fmaxmin_op><mode>): Likewise.
+	(<fmaxmin><mode>3): Likewise.
+	* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Likewise.
+	* config/arm/predicates.md (arm_cond_move_operator): Check against
+	TARGET_VFP5 rather than TARGET_FPU_ARMV8 and fix spacing.
+
+2017-07-14  Jackson Woodruff  <jackson.woodruff@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_print_operand): Move comments
+	to top of function.
+
+2017-07-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* gimple-ssa-store-merging.c (clear_bit_region): Replace reference to
+	loop in comment with memset.
+
+2017-07-14  Martin Liska  <mliska@suse.cz>
+
+	* cfgexpand.c (expand_gimple_basic_block): Remove dead comment.
+	* dwarf2out.c (is_java): Remove the function.
+	(output_pubname): Remove usage of the function.
+	(lower_bound_default): Remove usage of DW_LANG_Java.
+	(gen_compile_unit_die): Likewise.
+	* gcc.c: Remove compiler defaults for .java and .zip files.
+	* gimple-expr.c (remove_suffix): Change as there's no longer
+	extension than 4-letter one.
+	* gimplify.c (mostly_copy_tree_r): Remove Java-special part.
+	(gimplify_save_expr): Likewise.
+	* ipa-utils.h (polymorphic_type_binfo_p): Remove the comment
+	as it's possible even for other languages than Java.
+	* langhooks.h (struct lang_hooks): Remove Java from a comment.
+	* lto-opts.c (lto_write_options): Remove reference to Java.
+	* opts.c (strip_off_ending): Update file extension handling.
+	* tree-cfg.c (verify_gimple_call): Remove comment with Java.
+	* tree-eh.c (lower_resx): Likewise.
+	* tree.c (free_lang_data_in_type): Remove dead code.
+	(find_decls_types_r): Likewise.
+	(build_common_builtin_nodes): Remove Java from a comment.
+	(verify_type): Remove dead code.
+	* varasm.c (assemble_external): Remove Java from a comment.
+
+2017-07-14  Martin Liska  <mliska@suse.cz>
+
+	* opts.c (finish_options): Add quotes.
+	(common_handle_option): Likewise.
+
+2017-07-14  Martin Liska  <mliska@suse.cz>
+
+	* dbxout.c (get_lang_number): Do not handle GNU Pascal.
+	* dbxout.h (extern void dbxout_stab_value_internal_label_diff):
+	Remove N_SO_PASCAL.
+	* dwarf2out.c (lower_bound_default): Do not handle
+	DW_LANG_Pascal83.
+	(gen_compile_unit_die): Likewise.
+	* gcc.c: Remove default extension binding for GNU Pascal.
+	* stmt.c: Remove Pascal language from a comment.
+	* xcoffout.c: Likewise.
+
+2017-07-13  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/81405
+	* diagnostic-show-locus.c (fixit_cmp): New function.
+	(layout::layout): Sort m_fixit_hints.
+	(column_range::column_range): Assert that the values are valid.
+	(struct char_span): New struct.
+	(correction::overwrite): New method.
+	(struct source_line): New struct.
+	(line_corrections::add_hint): Add assertions.  Reimplement memcpy
+	calls in terms of classes source_line and char_span, and
+	correction::overwrite.
+	(selftest::test_overlapped_fixit_printing_2): New function.
+	(selftest::diagnostic_show_locus_c_tests): Call it.
+
+2017-07-13  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Return
+	early if there is no lhs.
+
+2017-07-13  Martin Liska  <mliska@suse.cz>
+
+	* dwarf2out.c (gen_pointer_type_die): Remove dead code.
+	(gen_reference_type_die): Likewise.
+	* stor-layout.c: Remove Pascal-related comment.
+
+2017-07-13  Martin Liska  <mliska@suse.cz>
+
+	* opts.c (finish_options): Add quotes to error messages.
+	(parse_sanitizer_options): Likewise.
+
+2017-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* doc/invoke.texi (armv8-r): Document +fp.sp ARMv8-R extension.
+
+2017-07-13  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/vxworks.h (TARGET_ENDIAN_DEFAULT): Define.
+
+2017-07-13  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	* asan.c (asan_emit_allocas_unpoison): Use ptr_mode for arguments
+	during expansion.
+	* builtins.c (expand_asan_emit_allocas_unpoison): Likewise.
+
+2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/81193
+	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
+	provides the hardware capability bits, define the macro
+	__BUILTIN_CPU_SUPPORTS__.
+	* config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
+	if GLIBC does not provide the hardware capability bits.  Add a
+	gcc_unreachable call if the built-in cpu function is neither
+	__builtin_cpu_is nor __builtin_cpu_supports.
+	(rs6000_get_function_versions_dispatcher): Change the warning
+	that an old GLIBC is used which does not export the capability
+	bits to be an error.
+	* doc/extend.texi (target_clones attribute): Document the
+	restriction that GLIBC 2.23 or newer is needed on the PowerPC.
+	(PowerPC built-in functions): Document that GLIBC 2.23 or newer is
+	needed by __builtin_cpu_is and __builtin_cpu_supports.  Document
+	the macros defined by GCC if the newer GLIBC is available.
+
+2017-07-12  Jeff Law  <law@redhat.com>
+
+	* config/riscv/riscv.c: Remove unnecessary includes.  Reorder
+	remaining includes slightly.
+	* config/riscv/riscv-builtins.c: Include profile-count.h.
+
+2017-07-12  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/79883
+	* config/avr/avr.c (avr_set_current_function): In diagnostic
+	messages: Quote keywords and (parts of) identifiers.
+	[WITH_AVRLIBC]: Warn for functions named "ISR", "SIGNAL" or
+	"INTERUPT".
+
+2017-07-12  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Add support for built-in functions
+	vector bool char vec_revb (vector bool char);
+	vector bool short vec_revb (vector short char);
+	vector bool int vec_revb (vector bool int);
+	vector bool long long vec_revb (vector bool long long);
+	* doc/extend.texi: Update the built-in documentation file for the
+	new built-in functions.
+
+2017-07-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md: Remove movcc splitter.
+
+2017-07-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_rtx_costs): Return proper costs for
+	load/store on condition.
+
+2017-07-12  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/81407
+	* config/avr/avr.c (avr_encode_section_info)
+	[progmem && !TREE_READONLY]: Error if progmem object needs
+	constructing.
+
+2017-07-11  Michael Collison  <michael.collison@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_sub<mode>_compare0):
+	New pattern.
+
+2017-07-11  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Add support for builtins
+	vector unsigned int vec_parity_lsbb (vector signed int);
+	vector unsigned int vec_parity_lsbb (vector unsigned int);
+	vector unsigned __int128 vec_parity_lsbb (vector signed __int128);
+	vector unsigned __int128 vec_parity_lsbb (vector unsigned __int128);
+	vector unsigned long long vec_parity_lsbb (vector signed long long);
+	vector unsigned long long vec_parity_lsbb (vector unsigned long long);
+	* config/rs6000/rs6000-builtin.def (VPARITY_LSBB): Add BU_P9V_OVERLOAD1.
+	* config/rs6000/altivec.h (vec_parity_lsbb): Add define.
+	* doc/extend.texi: Update the built-in documentation file for the
+	new built-in functions.
+
+2017-07-11  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c: Include "gcc-rich-location.h".
+	(layout::m_primary_loc): New field.
+	(layout::layout): Initialize new field.  Move location filtering
+	logic from here to...
+	(layout::maybe_add_location_range): ...this new method.  Add
+	support for filtering to just the lines already specified by other
+	locations.
+	(layout::will_show_line_p): New method.
+	(gcc_rich_location::add_location_if_nearby): New method.
+	(selftest::test_add_location_if_nearby): New test function.
+	(selftest::diagnostic_show_locus_c_tests): Call it.
+	* gcc-rich-location.h (gcc_rich_location::add_location_if_nearby):
+	New method.
+
+2017-07-11  Tom de Vries  <tom@codesourcery.com>
+
+	* config/nvptx/nvptx.c (WORKAROUND_PTXJIT_BUG): New macro.
+	(bb_first_real_insn): New function.
+	(nvptx_single): Add extra initialization of broadcasted condition
+	variables.
+
+2017-07-11  Nathan Sidwell  <nathan@acm.org>
+
+	* dwarf2out.c (gen_member_die): Remove useless check for anon ctors.
+
+2017-07-11  Georg-Johann Lay  <avr@gjlay.de>
+
+	* doc/extend.texi (AVR Function Attributes): Remove weblink to
+	Binutils doc as TEXI will mess them up.
+	* doc/invoke.texi (AVR Options): Same here.
+
+2017-07-11  Daniel Cederman  <cederman@gaisler.com>
+
+	* config/sparc/sparc.opt (mfix-ut700): New option.
+	(mfix-gr712rc): Likewise.
+	(sparc_fix_b2bst): New variable.
+	* doc/invoke.texi (SPARC options): Document them.
+	(ARM options): Fix warnings.
+	* config/sparc/sparc.c (sparc_do_work_around_errata): Insert NOP
+	instructions to prevent sequences that can trigger the store-store
+	errata for certain LEON3FT processors.
+	(pass_work_around_errata::gate): Also test sparc_fix_b2bst.
+	(sparc_option_override): Set sparc_fix_b2bst appropriately.
+	* config/sparc/sparc.md (fix_b2bst): New attribute.
+	(in_branch_delay): Prevent stores in delay slot if fix_b2bst.
+
+2017-07-10  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81375
+	* config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH.
+	(rcpps): Ditto.
+	(*rsqrtsf2_sse): Ditto.
+	(rsqrtsf2): Ditto.
+	(div<mode>3): Macroize insn from divdf3 and divsf3
+	using MODEF mode iterator.
+
+2017-07-10  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/80397
+	* gimple-ssa-sprintf.c (format_integer): Use INTEGRAL_TYPE_P()
+	instead of testing for equality to INTEGER_TYPE.
+
+2017-07-10  Vineet Gupta <vgupta@synopsys.com>
+
+	* config.gcc: Remove uclibc from arc target spec.
+
+2017-07-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.h (ADDITIONAL_REGISTER_NAMES): Define.
+
+2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR lto/80838
+	* lto-wrapper.c (remove_option): New function.
+	(merge_and_complain): Merge PIC/PIE options more realistically.
+
+2017-07-10  Georg-Johann Lay  <avr@gjlay.de>
+
+	Better ISR prologues by supporting GASes __gcc_isr pseudo insn.
+
+	PR target/20296
+	PR target/81268
+	* configure.ac [target=avr]: Add GAS check for -mgcc-isr.
+	(HAVE_AS_AVR_MGCCISR_OPTION):  If so, AC_DEFINE it.
+	* config.in: Regenerate.
+	* configure: Regenerate.
+	* doc/extend.texi (AVR Function Attributes) <no_gccisr>: Document it.
+	* doc/invoke.texi (AVR Options) <-mgas-isr-prologues>: Document it.
+	* config/avr/avr.opt (-mgas-isr-prologues): New option and...
+	(TARGET_GASISR_PROLOGUES): ...target mask.
+	* common/config/avr/avr-common.c
+	(avr_option_optimization_table) [OPT_LEVELS_1_PLUS_NOT_DEBUG]:
+	Set -mgas-isr-prologues.
+	* config/avr/avr-passes.def (avr_pass_pre_proep): Add
+	INSERT_PASS_BEFORE for it.
+	* config/avr/avr-protos.h (make_avr_pass_pre_proep): New proto.
+	* config/avr/avr.c (avr_option_override)
+	[!HAVE_AS_AVR_MGCCISR_OPTION]: Unset TARGET_GASISR_PROLOGUES.
+	(avr_no_gccisr_function_p, avr_hregs_split_reg): New static functions.
+	(avr_attribute_table) <no_gccisr>: Add new function attribute.
+	(avr_set_current_function) <is_no_gccisr>: Init machine field.
+	(avr_pass_data_pre_proep, avr_pass_pre_proep): New pass data
+	and rtl_opt_pass.
+	(make_avr_pass_pre_proep): New function.
+	(emit_push_sfr) <treg>: Add argument to function and use it
+	instead of TMP_REG.
+	(avr_expand_prologue) [machine->gasisr.maybe]: Emit gasisr insn
+	and set machine->gasisr.yes.
+	(avr_expand_epilogue) [machine->gasisr.yes]: Similar.
+	(avr_asm_function_end_prologue) [machine->gasisr.yes]: Add
+	__gcc_isr.n_pushed to .L__stack_usage.
+	(TARGET_ASM_FINAL_POSTSCAN_INSN): Define to...
+	(avr_asm_final_postscan_insn): ...this new static function.
+	* config/avr/avr.h (machine_function)
+	<is_no_gccisr, use_L__stack_usage>: New fields.
+	<gasisr, gasisr.yes, gasisr.maybe, gasisr.regno>: New fields.
+	* config/avr/avr.md (UNSPECV_GASISR): Add unspecv enum.
+	(GASISR_Prologue, GASISR_Epilogue, GASISR_Done): New define_constants.
+	(gasisr, *gasisr): New expander and insn.
+	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
+	[HAVE_AS_AVR_MGCCISR_OPTION]: Print asm_gccisr spec.
+	* config/avr/specs.h (ASM_SPEC) <asm_gccisr>: Add sub spec.
+
+2017-07-10  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/parsecpu.awk (gen_comm_data): Do not escape single quotes
+	in quoted strings.
+
+2017-07-10  Georg-Johann Lay  <avr@gjlay.de>
+
+	Move jump-tables out of .text again.
+
+	PR target/81075
+	* config/avr/avr.c (ASM_OUTPUT_ADDR_VEC_ELT): Remove function.
+	(ASM_OUTPUT_ADDR_VEC): New function.
+	(avr_adjust_insn_length) [JUMP_TABLE_DATA_P]: Return 0.
+	(avr_final_prescan_insn) [avr_log.insn_addresses]: Dump
+	INSN_ADDRESSes as asm comment.
+	* config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION): Adjust comment.
+	(ASM_OUTPUT_ADDR_VEC_ELT): Remove define.
+	(ASM_OUTPUT_ADDR_VEC): Define to avr_output_addr_vec.
+	* config/avr/avr.md (*tablejump): Adjust comment.
+	* config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
+	* config/avr/avr-log.c (avr_log_set_avr_log) <insn_addresses>:
+	New detail.
+	* config/avr/avr-protos.h (avr_output_addr_vec_elt): Remove proto.
+	(avr_output_addr_vec): New proto.
+	(avr_log_t) <insn_addresses>: New field.
+
+2017-07-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/81313
+	* config/i386/i386.c (ix86_function_arg_advance): Set
+	outgoing_args_on_stack to true if there are outgoing arguments
+	on stack.
+	(ix86_function_arg): Likewise.
+	(ix86_get_drap_rtx): Use DRAP only if there are outgoing
+	arguments on stack and ACCUMULATE_OUTGOING_ARGS is false.
+	* config/i386/i386.h (machine_function): Add
+	outgoing_args_on_stack.
+
+2017-07-09  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+	* config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
+	supporting pthreds.
+	* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always enable pthreads.
+
+2017-07-08  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* Makefile.in (HOOKS_H, RTL_BASE_H, FUNCTION_H, EXPR_H, REGS_H)
+	(REAL_H): Remove $(MACHMODE_H).
+	(FIXED_VALUE_H, TREE_CORE_H, CFGLOOP_H): Remove $(MACHMODE_H) and
+	double-int.h.
+	(CORETYPES_H): Add signop.h, wide-int.h, wide-int-print.h,
+	$(MACHMODE_H) and double-int.h.
+	(build/min-insn-modes.o): Depend on $(CORETYPES_H) rather than
+	$(MACHMODE_H).
+	(gengtype-state.o, gengtype.o, build/gengtype.o): Don't depend on
+	double-int.h.
+
+2017-07-07  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Check
+	prev_set and curr_set for AARCH64_FUSE_ALU_BRANCH.
+
+2017-07-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_get_function_versions_dispatcher):
+	Add warning if GCC was not configured to link against a GLIBC that
+	exports the hardware capability bits.
+	(make_resolver_func): Make resolver function private and not a
+	COMDAT function.  Create the name with clone_function_name instead
+	of make_unique_name.
+
+	PR target/81348
+	* config/rs6000/rs6000.md (HI sign_extend splitter): Use the
+	correct operand in doing the split.
+
+2017-07-07 Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c: Add support for built-in function
+	vector unsigned short vec_pack_to_short_fp32 (vector float,
+						      vector float).
+	* config/rs6000/rs6000-builtin.def (CONVERT_4F32_8I16): Add
+	BU_P9V_AV_2 and BU_P9V_OVERLOAD_2 definitions.
+	* config/rs6000/altivec.h (vec_pack_to_short_fp32): Add define.
+	* config/rs6000/altivec.md(UNSPEC_CONVERT_4F32_8I16): Add UNSPEC.
+	(convert_4f32_8i16): Add define_expand.
+	* doc/extend.texi: Update the built-in documentation file for the
+	new built-in function.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/m8.md: New file.
+	* config/sparc/sparc.md: Include m8.md.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/sparc.opt: New option -mvis4b.
+	* config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_VIS4B.
+	(sparc_option_override): Handle VIS4B.
+	(enum sparc_builtins): Define
+	SPARC_BUILTIN_DICTUNPACK{8,16,32},
+	SPARC_BUILTIN_FPCMP{LE,GT,EQ,NE}{8,16,32}SHL,
+	SPARC_BUILTIN_FPCMPU{LE,GT}{8,16,32}SHL,
+	SPARC_BUILTIN_FPCMPDE{8,16,32}SHL and
+	SPARC_BUILTIN_FPCMPUR{8,16,32}SHL.
+	(check_constant_argument): New function.
+	(sparc_vis_init_builtins): Define builtins
+	__builtin_vis_dictunpack{8,16,32},
+	__builtin_vis_fpcmp{le,gt,eq,ne}{8,16,32}shl,
+	__builtin_vis_fpcmpu{le,gt}{8,16,32}shl,
+	__builtin_vis_fpcmpde{8,16,32}shl and
+	__builtin_vis_fpcmpur{8,16,32}shl.
+	(sparc_expand_builtin): Check that the constant operands to
+	__builtin_vis_fpcmp*shl and _builtin_vis_dictunpack* are indeed
+	constant and in range.
+	* config/sparc/sparc-c.c (sparc_target_macros): Handle
+	TARGET_VIS4B.
+	* config/sparc/sparc.h (SPARC_IMM2_P): Define.
+	(SPARC_IMM5_P): Likewise.
+	* config/sparc/sparc.md (cpu_feature): Add new feagure "vis4b".
+	(enabled): Handle vis4b.
+	(UNSPEC_DICTUNPACK): New unspec.
+	(UNSPEC_FPCMPSHL): Likewise.
+	(UNSPEC_FPUCMPSHL): Likewise.
+	(UNSPEC_FPCMPDESHL): Likewise.
+	(UNSPEC_FPCMPURSHL): Likewise.
+	(cpu_feature): New CPU feature `vis4b'.
+	(dictunpack{8,16,32}): New insns.
+	(FPCSMODE): New mode iterator.
+	(fpcscond): New code iterator.
+	(fpcsucond): Likewise.
+	(fpcmp{le,gt,eq,ne}{8,16,32}{si,di}shl): New insns.
+	(fpcmpu{le,gt}{8,16,32}{si,di}shl): Likewise.
+	(fpcmpde{8,16,32}{si,di}shl): Likewise.
+	(fpcmpur{8,16,32}{si,di}shl): Likewise.
+	* config/sparc/constraints.md: Define constraints `q' for unsigned
+	2-bit integer constants and `t' for unsigned 5-bit integer
+	constants.
+	* config/sparc/predicates.md (imm5_operand_dictunpack8): New
+	predicate.
+	(imm5_operand_dictunpack16): Likewise.
+	(imm5_operand_dictunpack32): Likewise.
+	(imm2_operand): Likewise.
+	* doc/invoke.texi (SPARC Options): Document -mvis4b.
+	* doc/extend.texi (SPARC VIS Built-in Functions): Document the
+	ditunpack* and fpcmp*shl builtins.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config.gcc: Handle m8 in --with-{cpu,tune} options.
+	* config.in: Add HAVE_AS_SPARC6 define.
+	* config/sparc/driver-sparc.c (cpu_names): Add entry for the SPARC
+	M8.
+	* config/sparc/sol2.h (CPP_CPU64_DEFAULT_SPEC): Define for
+	TARGET_CPU_m8.
+	(ASM_CPU32_DEFAUILT_SPEC): Likewise.
+	(CPP_CPU_SPEC): Handle m8.
+	(ASM_CPU_SPEC): Likewise.
+	* config/sparc/sparc-opts.h (enum processor_type): Add
+	PROCESSOR_M8.
+	* config/sparc/sparc.c (m8_costs): New struct.
+	(sparc_option_override): Handle TARGET_CPU_m8.
+	(sparc32_initialize_trampoline): Likewise.
+	(sparc64_initialize_trampoline): Likewise.
+	(sparc_issue_rate): Likewise.
+	(sparc_register_move_cost): Likewise.
+	* config/sparc/sparc.h (TARGET_CPU_m8): Define.
+	(CPP_CPU64_DEFAULT_SPEC): Define for M8.
+	(ASM_CPU64_DEFAULT_SPEC): Likewise.
+	(CPP_CPU_SPEC): Handle M8.
+	(ASM_CPU_SPEC): Likewise.
+	(AS_M8_FLAG): Define.
+	* config/sparc/sparc.md: Add m8 to the cpu attribute.
+	* config/sparc/sparc.opt: New option -mcpu=m8 for sparc targets.
+	* configure.ac (HAVE_AS_SPARC6): Check for assembler support for
+	M8 instructions.
+	* configure: Regenerate.
+	* doc/invoke.texi (SPARC Options): Document -mcpu=m8 and
+	-mtune=m8.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/niagara7.md: Rework the DFA scheduler to use insn
+	subtypes.
+	* config/sparc/sparc.md: Remove the `v3pipe' insn attribute.
+	("*movdi_insn_sp32"): Do not set v3pipe.
+	("*movsi_insn"): Likewise.
+	("*movdi_insn_sp64"): Likewise.
+	("*movsf_insn"): Likewise.
+	("*movdf_insn_sp32"): Likewise.
+	("*movdf_insn_sp64"): Likewise.
+	("*zero_extendsidi2_insn_sp64"): Likewise.
+	("*sign_extendsidi2_insn"): Likewise.
+	("*mov<VM32:mode>_insn"): Likewise.
+	("*mov<VM64:mode>_insn_sp64"): Likewise.
+	("*mov<VM64:mode>_insn_sp32"): Likewise.
+	("<plusminus_insn><VADDSUB:mode>3"): Likewise.
+	("<vlop:code><VL:mode>3"): Likewise.
+	("*not_<vlop:code><VL:mode>3"): Likewise.
+	("*nand<VL:mode>_vis"): Likewise.
+	("*<vlnotop:code>_not1<VL:mode>_vis"): Likewise.
+	("*<vlnotop:code>_not2<VL:mode>_vis"): Likewise.
+	("one_cmpl<VL:mode>2"): Likewise.
+	("faligndata<VM64:mode>_vis"): Likewise.
+	("alignaddrsi_vis"): Likewise.
+	("alignaddrdi_vis"): Likweise.
+	("alignaddrlsi_vis"): Likewise.
+	("alignaddrldi_vis"): Likewise.
+	("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
+	("bmaskdi_vis"): Likewise.
+	("bmasksi_vis"): Likewise.
+	("bshuffle<VM64:mode>_vis"): Likewise.
+	("cmask8<P:mode>_vis"): Likewise.
+	("cmask16<P:mode>_vis"): Likewise.
+	("cmask32<P:mode>_vis"): Likewise.
+	("pdistn<P:mode>_vis"): Likewise.
+	("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/sparc.md ("subtype"): New insn attribute.
+	("*wrgsr_sp64"): Set insn subtype.
+	("*rdgsr_sp64"): Likewise.
+	("alignaddrsi_vis"): Likewise.
+	("alignaddrdi_vis"): Likewise.
+	("alignaddrlsi_vis"): Likewise.
+	("alignaddrldi_vis"): Likewise.
+	("<plusminus_insn><VADDSUB:mode>3"): Likewise.
+	("fexpand_vis"): Likewise.
+	("fpmerge_vis"): Likewise.
+	("faligndata<VM64:mode>_vis"): Likewise.
+	("bshuffle<VM64:mode>_vis"): Likewise.
+	("cmask8<P:mode>_vis"): Likewise.
+	("cmask16<P:mode>_vis"): Likewise.
+	("cmask32<P:mode>_vis"): Likewise.
+	("fchksm16_vis"): Likewise.
+	("v<vis3_shift_patname><GCM:mode>3"): Likewise.
+	("fmean16_vis"): Likewise.
+	("fp<plusminus_insn>64_vis"): Likewise.
+	("<plusminus_insn>v8qi3"): Likewise.
+	("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
+	("<vis4_minmax_patname><VMMAX:mode>3"): Likewise.
+	("<vis4_uminmax_patname><VMMAX:mode>3"): Likewise.
+	("<vis3_addsub_ss_patname>v8qi3"): Likewise.
+	("<vis4_addsub_us_patname><VAUS:mode>3"): Likewise.
+	("*movqi_insn"): Likewise.
+	("*movhi_insn"): Likewise.
+	("*movsi_insn"): Likewise.
+	("movsi_pic_gotdata_op"): Likewise.
+	("*movdi_insn_sp32"): Likewise.
+	("*movdi_insn_sp64"): Likewise.
+	("movdi_pic_gotdata_op"): Likewise.
+	("*movsf_insn"): Likewise.
+	("*movdf_insn_sp32"): Likewise.
+	("*movdf_insn_sp64"): Likewise.
+	("*zero_extendhisi2_insn"): Likewise.
+	("*zero_extendqihi2_insn"): Likewise.
+	("*zero_extendqisi2_insn"): Likewise.
+	("*zero_extendqidi2_insn"): Likewise.
+	("*zero_extendhidi2_insn"): Likewise.
+	("*zero_extendsidi2_insn_sp64"): Likewise.
+	("ldfsr"): Likewise.
+	("prefetch_64"): Likewise.
+	("prefetch_32"): Likewise.
+	("tie_ld32"): Likewise.
+	("tie_ld64"): Likewise.
+	("*tldo_ldub_sp32"): Likewise.
+	("*tldo_ldub1_sp32"): Likewise.
+	("*tldo_ldub2_sp32"): Likewise.
+	("*tldo_ldub_sp64"): Likewise.
+	("*tldo_ldub1_sp64"): Likewise.
+	("*tldo_ldub2_sp64"): Likewise.
+	("*tldo_ldub3_sp64"): Likewise.
+	("*tldo_lduh_sp32"): Likewise.
+	("*tldo_lduh1_sp32"): Likewise.
+	("*tldo_lduh_sp64"): Likewise.
+	("*tldo_lduh1_sp64"): Likewise.
+	("*tldo_lduh2_sp64"): Likewise.
+	("*tldo_lduw_sp32"): Likewise.
+	("*tldo_lduw_sp64"): Likewise.
+	("*tldo_lduw1_sp64"): Likewise.
+	("*tldo_ldx_sp64"): Likewise.
+	("*mov<VM32:mode>_insn"): Likewise.
+	("*mov<VM64:mode>_insn_sp64"): Likewise.
+	("*mov<VM64:mode>_insn_sp32"): Likewise.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/sparc.md ("type"): New insn type viscmp.
+	("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Set insn type to
+	viscmp.
+	("fpcmp<gcond:code>8<P:mode>_vis"): Likewise.
+	("fucmp<gcond:code>8<P:mode>_vis"): Likewise.
+	("fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
+	* config/sparc/niagara7.md ("n7_vis_logical_v3pipe"): Handle
+	viscmp.
+	("n7_vis_logical_11cycle"): Likewise.
+	* config/sparc/niagara4.md ("n4_vis_logical"): Likewise.
+	* config/sparc/niagara2.md ("niag3_vis": Likewise.
+	* config/sparc/niagara.md ("niag_vis"): Likewise.
+	* config/sparc/ultra3.md ("us3_fga"): Likewise.
+	* config/sparc/ultra1_2.md ("us1_fga_double"): Likewise.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/sparc.md: New instruction type `bmask'.
+	(bmaskdi_vis): Use the `bmask' type.
+	(bmasksi_vis): Likewise.
+	* config/sparc/ultra3.md (us3_array): Likewise.
+	* config/sparc/niagara7.md (n7_array): Likewise.
+	* config/sparc/niagara4.md (n4_array): Likewise.
+	* config/sparc/niagara2.md (niag2_vis): Likewise.
+	(niag3_vis): Likewise.
+	* config/sparc/niagara.md (niag_vis): Likewise.
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-comdats.c: Remove optimize check from gate.
+	* ipa-fnsummary.c (ipa_fn_summary_generate): do not generate summary
+	for functions not optimized.
+	(ipa_fn_summary_read): Skip optimize check.
+	(ipa_fn_summary_write): Likewise.
+	* ipa-inline-analysis.c (do_estimate_growth_1): Check that caller
+	is optimized.
+	* ipa-inline.c (can_inline_edge_p): Not optimized functions are
+	uninlinable.
+	(can_inline_edge_p): Check flag_pcc_struct_return for match.
+	(check_callers): Give up on caller which is not optimized.
+	(inline_small_functions): Likewise.
+	(ipa_inline): Do not give up when not optimizing.
+	* ipa-visbility.c (function_and_variable_visibility): Do not optimize
+	away unoptimizes cdtors.
+	(whole_program_function_and_variable_visibility): Do
+	ipa_discover_readonly_nonaddressable_vars in LTO mode.
+	* ipa.c (process_references): Do not check optimize.
+	(symbol_table::remove_unreachable_nodes): Update optimize check.
+	(set_writeonly_bit): Update optimize check.
+	(pass_ipa_cdtor_merge::gate): Do not check optimize.
+	(pass_ipa_single_use::gate): Remove.
+
+2017-07-06  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (union_defs, union_uses, insn_is_load_p,
+	insn_is_store_p, insn_is_swap_p, const_load_sequence_p, v2df_reduction_p,
+	rtx_is_swappable_p, insn_is_swappable_p, chain_contains_only_swaps,
+	mark_swaps_for_removal, swap_const_vector_halves, adjust_subreg_index,
+	permute_load, permute_store, adjust_extract, adjust_splat,
+	adjust_xxpermdi, adjust_concat, adjust_vperm, handle_special_swappables,
+	replace_swap_with_copy, dump_swap_insn_table,
+	alignment_with_canonical_addr, alignment_mask, find_alignment_op,
+	recombine_lvx_pattern, recombine_stvx_pattern,
+	recombine_lvx_stvx_patterns, rs6000_analyze_swaps,
+	make_pass_analyze_swaps): Move all code related to p8 swap optimizations
+	to file rs6000-p8swap.c.
+	* config/rs6000/rs6000-p8swap.c: New file.
+	* config/rs6000/t-rs6000: Add rule to build rs6000-p8swap.o.
+	* config.gcc: Add rs6000-p8swap.o to extra_objs for powerpc*-*-*
+	and rs6000*-*-* targets.
+
+2017-07-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (selftest): Remove dependency on s-selftest-c++.
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* lto-wrapper.c (merge_and_complain): Do not merge
+	fexceptions, fnon_call_exceptions, ftrapv, ffp_contract_, fmath_errno,
+	fsigned_zeros, ftrapping_math, fwrapv.
+	(append_compiler_options): Do not track these options.
+	(append_linker_options): Likewie
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraphunit.c (cgraph_node::finalize_function): When
+	!flag_toplevel_reorde set no_reorder flag.
+	(varpool_node::finalize_decl): Likewise.
+	(symbol_table::compile): Drop no toplevel reorder path.
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* bb-reorder.c (better_edge_p): Do not build traces across abnormal/eh
+	edges; zero probability is not better than uninitialized.
+
+2017-07-06  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	* asan.h (asan_sanitize_allocas_p): Declare.
+	* asan.c (asan_sanitize_allocas_p): New function.
+	(handle_builtin_stack_restore): Bail out if !asan_sanitize_allocas_p.
+	(handle_builtin_alloca): Likewise.
+	* cfgexpand.c (expand_used_vars): Do not add allocas unpoisoning stuff
+	if !asan_sanitize_allocas_p.
+	* params.def (asan-instrument-allocas): Add new option.
+	* params.h (ASAN_PROTECT_ALLOCAS): Define.
+	* opts.c (common_handle_option): Disable allocas sanitization for
+	KASan by default.
+
+2017-07-06  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	* asan.c: Include gimple-fold.h.
+	(get_last_alloca_addr): New function.
+	(handle_builtin_stackrestore): Likewise.
+	(handle_builtin_alloca): Likewise.
+	(asan_emit_allocas_unpoison): Likewise.
+	(get_mem_refs_of_builtin_call): Add new parameter, remove const
+	quallifier from first paramerer. Handle BUILT_IN_ALLOCA,
+	BUILT_IN_ALLOCA_WITH_ALIGN and BUILT_IN_STACK_RESTORE builtins.
+	(instrument_builtin_call): Pass gimple iterator to
+	get_mem_refs_of_builtin_call.
+	(last_alloca_addr): New global.
+	* asan.h (asan_emit_allocas_unpoison): Declare.
+	* builtins.c (expand_asan_emit_allocas_unpoison): New function.
+	(expand_builtin): Handle BUILT_IN_ASAN_ALLOCAS_UNPOISON.
+	* cfgexpand.c (expand_used_vars): Call asan_emit_allocas_unpoison
+	if function calls alloca.
+	* gimple-fold.c (replace_call_with_value): Remove static keyword.
+	* gimple-fold.h (replace_call_with_value): Declare.
+	* internal-fn.c: Include asan.h.
+	* sanitizer.def (BUILT_IN_ASAN_ALLOCA_POISON,
+	BUILT_IN_ASAN_ALLOCAS_UNPOISON): New builtins.
+
+2017-07-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (SELFTEST_FLAGS): Drop "-x c", moving it to...
+	(C_SELFTEST_FLAGS): New.
+	(CPP_SELFTEST_FLAGS): New.
+	(SELFTEST_DEPS): New, from deps of s-selftest.
+	(C_SELFTEST_DEPS): New, from deps of s-selftest.
+	(CPP_SELFTEST_DEPS): New.
+	(selftest): Add dependency on s-selftest-c++.
+	(s-selftest): Rename to...
+	(s-selftest-c): ...this, moving deps to SELFTEST_DEPS
+	and C_SELFTEST_DEPS, and using C_SELFTEST_FLAGS rather
+	than SELFTEST_FLAGS.
+	(selftest-gdb): Rename to...
+	(selftest-c-gdb): ...this, using C_SELFTEST_DEPS and
+	C_SELFTEST_FLAGS.
+	(selftest-gdb): Reintroduce as an alias for selftest-c-gdb.
+	(selftest-valgrind): Rename to...
+	(selftest-c-valgrind): ...this, using C_SELFTEST_DEPS and
+	C_SELFTEST_FLAGS.
+	(selftest-valgrind): Reintroduce as an alias for
+	selftest-c-valgrind.
+	(s-selftest-c++): New.
+	(selftest-c++-gdb): New.
+	(selftest-c++-valgrind): New.
+
+2017-07-06  Olivier Hainque  <hainque@adacore.com>
+
+	* gcc.c (process_command): When deciding if undefined variables
+	should be ignored when processing specs, accept "gcc -v" as well.
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* auto-profile.c (afdo_set_bb_count, afdo_propagate_edge,
+	afdo_annotate_cfg): Set counts/probabilities as determined by afdo.
+
+2017-07-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm-cpus.in (armv8-r): Add new entry.
+	* config/arm/arm-isa.h (ISA_ARMv8r): Define macro.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm.h (enum base_architecture): Add BASE_ARCH_8R
+	enumerator.
+	* doc/invoke.texi: Mention -march=armv8-r and its extensions.
+
+2017-07-06  Carl Love  <cel@us.ibm.com>
+
+	* ChangeLog: Clean up from mid air collision
+
+2017-07-06  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Add support for built-in functions
+	vector signed int vec_subc (vector signed int, vector signed int);
+	vector signed __int128 vec_subc (vector signed __int128,
+					 vector signed __int128);
+	vector unsigned __int128 vec_subc (vector unsigned __int128,
+					   vector unsigned __int128);
+	vector signed int vec_sube (vector signed int, vector signed int,
+				    vector signed int);
+	vector unsigned int vec_sube (vector unsigned int,
+				      vector unsigned int,
+				      vector unsigned int);
+	vector signed __int128 vec_sube (vector signed __int128,
+					 vector signed __int128,
+					 vector signed__int128);
+	vector unsigned __int128 vec_sube (vector unsigned __int128,
+					   vector unsigned __int128,
+					   vector unsigned __int128);
+	vector signed int vec_subec (vector signed int, vector signed int,
+				     vector signed int);
+	vector unsigned int vec_subec (vector unsigned int,
+				       vector unsigned int,
+				       vector unsigned int);
+	vector signed __int128 vec_subec (vector signed __int128,
+					  vector signed __int128,
+					  vector signed__int128);
+	vector unsigned __int128 vec_subec (vector unsigned __int128,
+					    vector unsigned __int128,
+					    vector unsigned __int128);
+	* config/rs6000/rs6000.c (ALTIVEC_BUILTIN_VEC_SUBE,
+	ALTIVEC_BUILTIN_VEC_SUBEC): Add ef_builtins.
+	* config/rs6000/rs6000-builtin.def (SUBE, SUBEC): Add
+	BU_ALTIVEC_OVERLOAD_X definitions.
+	* config/rs6000/altivec.h (vec_sube, vec_subec): Add builtin defines.
+	* doc/extend.texi: Update the built-in documentation file for the new
+	built-in functions.
+
+2017-07-06  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c++/79300
+	* diagnostic-show-locus.c (layout::layout): Use start and finish
+	spelling location for the start and finish of each range.
+	* genmatch.c (linemap_client_expand_location_to_spelling_point):
+	Add unused aspect param.
+	* input.c (expand_location_1): Add "aspect" param, and use it
+	to access the correct part of the location.
+	(expand_location): Pass LOCATION_ASPECT_CARET to new param of
+	expand_location_1.
+	(expand_location_to_spelling_point): Likewise.
+	(linemap_client_expand_location_to_spelling_point): Add "aspect"
+	param, and pass it to expand_location_1.
+
+2017-07-06  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* config/i386/avx512fintrin.h (_mm_mask_getexp_round_ss,
+	_mm_maskz_getexp_round_ss, _mm_mask_getexp_round_sd,
+	_mm_maskz_getexp_round_sd, _mm_mask_getmant_round_sd,
+	_mm_maskz_getmant_round_sd, _mm_mask_getmant_round_ss,
+	_mm_maskz_getmant_round_ss, _mm_mask_getexp_ss, _mm_maskz_getexp_ss,
+	_mm_mask_getexp_sd, _mm_maskz_getexp_sd, _mm_mask_getmant_sd,
+	_mm_maskz_getmant_sd, _mm_mask_getmant_ss,
+	_mm_maskz_getmant_ss): New intrinsics.
+	(__builtin_ia32_getexpss128_mask): Changed to ...
+	__builtin_ia32_getexpss128_round ... this.
+	(__builtin_ia32_getexpsd128_mask): Changed to ...
+	__builtin_ia32_getexpsd128_round ... this.
+	* config/i386/i386-builtin-types.def
+	((V2DF, V2DF, V2DF, INT, V2DF, UQI, INT),
+	(V4SF, V4SF, V4SF, INT, V4SF, UQI, INT)): New function type aliases.
+	* config/i386/i386-builtin.def (__builtin_ia32_getexpsd_mask_round,
+	__builtin_ia32_getexpss_mask_round,	__builtin_ia32_getmantsd_mask_round,
+	__builtin_ia32_getmantss_mask_round): New builtins.
+	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_UQI_INT,
+	V4SF_FTYPE_V4SF_V4SF_INT_V4SF_UQI_INT): Handle new types.
+	(CODE_FOR_avx512f_vgetmantv2df_mask_round,
+	CODE_FOR_avx512f_vgetmantv4sf_mask_round): New cases.
+	* config/i386/sse.md
+	(avx512f_sgetexp<mode><round_saeonly_name>): Changed to ...
+	avx512f_sgetexp<mode><mask_scalar_name>
+	<round_saeonly_scalar_name> ... this.
+	(vgetexp<ssescalarmodesuffix>\t{<round_saeonly_op3>%2, %1, %0|
+	%0, %1, %2<round_saeonly_op3>}): Changed to ...
+	vgetexp<ssescalarmodesuffix>
+	\t{<round_saeonly_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|
+	%0<mask_scalar_operand3>, %1, %2<round_saeonly_scalar_mask_op3>} ... this.
+	(avx512f_vgetmant<mode><round_saeonly_name>): Changed to ...
+	avx512f_vgetmant<mode><mask_scalar_name>
+	<round_saeonly_scalar_name> ... this.
+	(vgetmant<ssescalarmodesuffix>\t{%3, <round_saeonly_op4>%2, %1, %0|
+	%0, %1, %2<round_saeonly_op4>, %3}): Changed to ...
+	vgetmant<ssescalarmodesuffix>
+	\t{%3, <round_saeonly_scalar_mask_op4>%2, %1, %0<mask_scalar_operand4>|
+	%0<mask_scalar_operand4>, %1, %2
+	<round_saeonly_scalar_mask_op4>, %3} ... this.
+	* config/i386/subst.md (mask_scalar_operand4,
+	round_saeonly_scalar_mask_operand4,	round_saeonly_scalar_mask_op4,
+	round_saeonly_scalar_nimm_predicate): New subst attributes.
+
+2017-07-06  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/i386.c (ix86_erase_embedded_rounding):
+	Remove code for old rounding pattern.
+
+2017-07-06  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/t-arm (GTM_H): Add arm-cpu.h.
+
+2017-07-06  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* doc/sourcebuild.texi (Test Directives, Variants of
+	dg-require-support): Add documentation for dg-require-stack-check.
+
+2017-07-05  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* config/i386/subst.md (mask_scalar, round_scalar,
+	round_saeonly_scalar): New meta-templates.
+	(mask_scalar_name, mask_scalar_operand3, round_scalar_name,
+	round_scalar_mask_operand3, round_scalar_mask_op3,
+	round_scalar_constraint, round_scalar_prefix, round_saeonly_scalar_name,
+	round_saeonly_scalar_mask_operand3, round_saeonly_scalar_mask_op3,
+	round_saeonly_scalar_constraint,
+	round_saeonly_scalar_prefix): New subst attribute.
+	* config/i386/sse.md
+	(<sse>_vm<plusminus_insn><mode>3<mask_name><round_name>): Renamed to ...
+	<sse>_vm<plusminus_insn><mode>3<mask_scalar_name>
+	<round_scalar_name> ... this.
+	(<sse>_vm<multdiv_mnemonic><mode>3<mask_name><round_name>): Renamed to ...
+	<sse>_vm<multdiv_mnemonic><mode>3<mask_scalar_name>
+	<round_scalar_name> ... this.
+	(<sse>_vm<code><mode>3<mask_name><round_saeonly_name>): Renamed to ...
+	<sse>_vm<code><mode>3<mask_scalar_name>
+	<round_saeonly_scalar_name> ... this.
+	(v<plusminus_mnemonic><ssescalarmodesuffix>
+	\t{<round_mask_op3>%2, %1, %0<mask_operand3>|
+	%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}): Changed to ...
+	v<plusminus_mnemonic><ssescalarmodesuffix>
+	\t{<round_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|
+	%0<mask_scalar_operand3>, %1, %<iptr>2<round_scalar_mask_op3>} ... this.
+	(v<multdiv_mnemonic><ssescalarmodesuffix>
+	\t{<round_mask_op3>%2, %1, %0<mask_operand3>|
+	%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}): Changed to ...
+	v<multdiv_mnemonic><ssescalarmodesuffix>
+	\t{<round_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|
+	%0<mask_scalar_operand3>, %1, %<iptr>2<round_scalar_mask_op3>} ... this.
+	(v<maxmin_float><ssescalarmodesuffix>
+	\t{<round_saeonly_mask_op3>%2, %1, %0<mask_operand3>|
+	%0<mask_operand3>, %1, %<iptr>2<round_saeonly_mask_op3>}): Changed to ...
+	v<maxmin_float><ssescalarmodesuffix>
+	\t{<round_saeonly_scalar_mask_op3>%2, %1, %0<mask_scalar_operand3>|
+	%0<mask_scalar_operand3>, %1, %<iptr>2
+	<round_saeonly_scalar_mask_op3>} ... this.
+
+2017-07-05  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.c (arm_fixed_condition_code_regs): New function.
+	(TARGET_FIXED_CONDITION_CODE_REGS): Redefine.
+
+2017-07-05  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* combine.c (simplify_if_then_else): Remove "enum" before
+	"machine_mode".
+	* compare-elim.c (can_eliminate_compare): Likewise.
+	* config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_std_type):
+	Likewise.
+	(aarch64_lookup_simd_builtin_type): Likewise.
+	(aarch64_simd_builtin_type): Likewise.
+	(aarch64_init_simd_builtin_types): Likewise.
+	(aarch64_simd_expand_args): Likewise.
+	* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist):
+	Likewise.
+	(aarch64_reverse_mask): Likewise.
+	(aarch64_simd_emit_reg_reg_move): Likewise.
+	(aarch64_gen_adjusted_ldpstp): Likewise.
+	(aarch64_ccmp_mode_to_code): Likewise.
+	(aarch64_operands_ok_for_ldpstp): Likewise.
+	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
+	* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class):
+	Likewise.
+	(aarch64_min_divisions_for_recip_mul): Likewise.
+	(aarch64_reassociation_width): Likewise.
+	(aarch64_get_condition_code_1): Likewise.
+	(aarch64_simd_emit_reg_reg_move): Likewise.
+	(aarch64_simd_attr_length_rglist): Likewise.
+	(aarch64_reverse_mask): Likewise.
+	(aarch64_operands_ok_for_ldpstp): Likewise.
+	(aarch64_operands_adjust_ok_for_ldpstp): Likewise.
+	(aarch64_gen_adjusted_ldpstp): Likewise.
+	* config/aarch64/cortex-a57-fma-steering.c (fma_node::rename):
+	Likewise.
+	* config/arc/arc.c (legitimate_offset_address_p): Likewise.
+	* config/arm/arm-builtins.c (arm_simd_builtin_std_type): Likewise.
+	(arm_lookup_simd_builtin_type): Likewise.
+	(arm_simd_builtin_type): Likewise.
+	(arm_init_simd_builtin_types): Likewise.
+	(arm_expand_builtin_args): Likewise.
+	* config/arm/arm-protos.h (arm_expand_builtin): Likewise.
+	* config/ft32/ft32.c (ft32_libcall_value): Likewise.
+	(ft32_setup_incoming_varargs): Likewise.
+	(ft32_function_arg): Likewise.
+	(ft32_function_arg_advance): Likewise.
+	(ft32_pass_by_reference): Likewise.
+	(ft32_arg_partial_bytes): Likewise.
+	(ft32_valid_pointer_mode): Likewise.
+	(ft32_addr_space_pointer_mode): Likewise.
+	(ft32_addr_space_legitimate_address_p): Likewise.
+	* config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple):
+	Likewise.
+	* config/i386/i386.c (ix86_setup_incoming_vararg_bounds): Likewise.
+	(ix86_emit_outlined_ms2sysv_restore): Likewise.
+	(iamcu_alignment): Likewise.
+	(canonicalize_vector_int_perm): Likewise.
+	(ix86_noce_conversion_profitable_p): Likewise.
+	(ix86_mpx_bound_mode): Likewise.
+	(ix86_operands_ok_for_move_multiple): Likewise.
+	* config/microblaze/microblaze-protos.h
+	(microblaze_expand_conditional_branch_reg): Likewise.
+	* config/microblaze/microblaze.c
+	(microblaze_expand_conditional_branch_reg): Likewise.
+	* config/powerpcspe/powerpcspe.c (rs6000_init_hard_regno_mode_ok):
+	Likewise.
+	(rs6000_reassociation_width): Likewise.
+	(rs6000_invalid_binary_op): Likewise.
+	(fusion_p9_p): Likewise.
+	(emit_fusion_p9_load): Likewise.
+	(emit_fusion_p9_store): Likewise.
+	* config/riscv/riscv-protos.h (riscv_regno_mode_ok_for_base_p):
+	Likewise.
+	(riscv_hard_regno_mode_ok_p): Likewise.
+	(riscv_address_insns): Likewise.
+	(riscv_split_symbol): Likewise.
+	(riscv_legitimize_move): Likewise.
+	(riscv_function_value): Likewise.
+	(riscv_hard_regno_nregs): Likewise.
+	(riscv_expand_builtin): Likewise.
+	* config/riscv/riscv.c (riscv_build_integer_1): Likewise.
+	(riscv_build_integer): Likewise.
+	(riscv_split_integer): Likewise.
+	(riscv_legitimate_constant_p): Likewise.
+	(riscv_cannot_force_const_mem): Likewise.
+	(riscv_regno_mode_ok_for_base_p): Likewise.
+	(riscv_valid_base_register_p): Likewise.
+	(riscv_valid_offset_p): Likewise.
+	(riscv_valid_lo_sum_p): Likewise.
+	(riscv_classify_address): Likewise.
+	(riscv_legitimate_address_p): Likewise.
+	(riscv_address_insns): Likewise.
+	(riscv_load_store_insns): Likewise.
+	(riscv_force_binary): Likewise.
+	(riscv_split_symbol): Likewise.
+	(riscv_force_address): Likewise.
+	(riscv_legitimize_address): Likewise.
+	(riscv_move_integer): Likewise.
+	(riscv_legitimize_const_move): Likewise.
+	(riscv_legitimize_move): Likewise.
+	(riscv_address_cost): Likewise.
+	(riscv_subword): Likewise.
+	(riscv_output_move): Likewise.
+	(riscv_canonicalize_int_order_test): Likewise.
+	(riscv_emit_int_order_test): Likewise.
+	(riscv_function_arg_boundary): Likewise.
+	(riscv_pass_mode_in_fpr_p): Likewise.
+	(riscv_pass_fpr_single): Likewise.
+	(riscv_pass_fpr_pair): Likewise.
+	(riscv_get_arg_info): Likewise.
+	(riscv_function_arg): Likewise.
+	(riscv_function_arg_advance): Likewise.
+	(riscv_arg_partial_bytes): Likewise.
+	(riscv_function_value): Likewise.
+	(riscv_pass_by_reference): Likewise.
+	(riscv_setup_incoming_varargs): Likewise.
+	(riscv_print_operand): Likewise.
+	(riscv_elf_select_rtx_section): Likewise.
+	(riscv_save_restore_reg): Likewise.
+	(riscv_for_each_saved_reg): Likewise.
+	(riscv_register_move_cost): Likewise.
+	(riscv_hard_regno_mode_ok_p): Likewise.
+	(riscv_hard_regno_nregs): Likewise.
+	(riscv_class_max_nregs): Likewise.
+	(riscv_memory_move_cost): Likewise.
+	* config/rl78/rl78-protos.h (rl78_split_movsi): Likewise.
+	* config/rl78/rl78.c (rl78_split_movsi): Likewise.
+	(rl78_addr_space_address_mode): Likewise.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Likewise.
+	(rs6000_reassociation_width): Likewise.
+	(rs6000_invalid_binary_op): Likewise.
+	(fusion_p9_p): Likewise.
+	(emit_fusion_p9_load): Likewise.
+	(emit_fusion_p9_store): Likewise.
+	* config/visium/visium-protos.h (prepare_move_operands): Likewise.
+	(ok_for_simple_move_operands): Likewise.
+	(ok_for_simple_move_strict_operands): Likewise.
+	(ok_for_simple_arith_logic_operands): Likewise.
+	(visium_legitimize_reload_address): Likewise.
+	(visium_select_cc_mode): Likewise.
+	(output_cbranch): Likewise.
+	(visium_split_double_move): Likewise.
+	(visium_expand_copysign): Likewise.
+	(visium_expand_int_cstore): Likewise.
+	(visium_expand_fp_cstore): Likewise.
+	* config/visium/visium.c (visium_pass_by_reference): Likewise.
+	(visium_function_arg): Likewise.
+	(visium_function_arg_advance): Likewise.
+	(visium_libcall_value): Likewise.
+	(visium_setup_incoming_varargs): Likewise.
+	(visium_legitimate_constant_p): Likewise.
+	(visium_legitimate_address_p): Likewise.
+	(visium_legitimize_address): Likewise.
+	(visium_secondary_reload): Likewise.
+	(visium_register_move_cost): Likewise.
+	(visium_memory_move_cost): Likewise.
+	(prepare_move_operands): Likewise.
+	(ok_for_simple_move_operands): Likewise.
+	(ok_for_simple_move_strict_operands): Likewise.
+	(ok_for_simple_arith_logic_operands): Likewise.
+	(visium_function_value_1): Likewise.
+	(rtx_ok_for_offset_p): Likewise.
+	(visium_legitimize_reload_address): Likewise.
+	(visium_split_double_move): Likewise.
+	(visium_expand_copysign): Likewise.
+	(visium_expand_int_cstore): Likewise.
+	(visium_expand_fp_cstore): Likewise.
+	(visium_split_cstore): Likewise.
+	(visium_select_cc_mode): Likewise.
+	(visium_split_cbranch): Likewise.
+	(output_cbranch): Likewise.
+	(visium_print_operand_address): Likewise.
+	* expmed.c (flip_storage_order): Likewise.
+	* expmed.h (emit_cstore): Likewise.
+	(flip_storage_order): Likewise.
+	* genrecog.c (validate_pattern): Likewise.
+	* hsa-gen.c (gen_hsa_addr): Likewise.
+	* internal-fn.c (expand_arith_overflow): Likewise.
+	* ira-color.c (allocno_copy_cost_saving): Likewise.
+	* lra-assigns.c (find_hard_regno_for_1): Likewise.
+	* lra-constraints.c (prohibited_class_reg_set_mode_p): Likewise.
+	(process_invariant_for_inheritance): Likewise.
+	* lra-eliminations.c (move_plus_up): Likewise.
+	* omp-low.c (lower_oacc_reductions): Likewise.
+	* simplify-rtx.c (simplify_subreg): Likewise.
+	* target.def (TARGET_SETUP_INCOMING_VARARG_BOUNDS): Likewise.
+	(TARGET_CHKP_BOUND_MODE): Likewise..
+	* targhooks.c (default_chkp_bound_mode): Likewise.
+	(default_setup_incoming_vararg_bounds): Likewise.
+	* targhooks.h (default_chkp_bound_mode): Likewise.
+	(default_setup_incoming_vararg_bounds): Likewise.
+	* tree-ssa-math-opts.c (divmod_candidate_p): Likewise.
+	* tree-vect-loop.c (calc_vec_perm_mask_for_shift): Likewise.
+	(have_whole_vector_shift): Likewise.
+	* tree-vect-stmts.c (vectorizable_load): Likewise.
+	* doc/tm.texi: Regenerate.
+
+2017-07-05  Georg-Johann Lay  <avr@gjlay.de>
+
+	Graceful degrade if Binutils PR21472 is not available.
+
+	PR target/81072
+	* configure.ac [target=avr]: WARN instead of ERROR if avrxmega3
+	.rodata in flash test fails.
+	(HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH): Define it if test passes.
+	* confgure: Regenerate.
+	* config.in: Regenerate.
+	* config/avr/avr.c (avr_asm_named_section)
+	[HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH]: Only trigger
+	__do_copy_data for stuff in .rodata if flash_pm_offset = 0.
+	(avr_asm_init_sections): Same.
+
+2017-07-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* config/arm/neon.md (fma<VCVTF:mode>4): Remove %?.
+	(fma<VH:mode>4_intrinsic): Likewise.
+	(*fmsub<VCVTF:mode>4): Likewise.
+	(*fmsub<VH:mode>4_intrinsic): Likewise.
+
+2017-07-05  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/81305
+	* config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]:
+	Don't depend on "optimize > 0".
+	(out_movhi_r_mr, out_movqi_mr_r): Same.
+	(out_movhi_mr_r, out_movqi_r_mr): Same.
+	(avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for
+	io_address_operand on "optimize > 0".
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c: Add general explanantion on the pass.
+	(generate_loops_for_partition): Mark distributed loop.
+	(pg_add_dependence_edges): New parameter.  Handle alias data
+	dependence specially and record it in the parameter if asked.
+	(struct pg_vdata, pg_edata, pg_edge_callback_data): New structs.
+	(init_partition_graph_vertices, add_partition_graph_edge): New.
+	(pg_skip_alias_edge, free_partition_graph_edata_cb): New.
+	(free_partition_graph_vdata, build_partition_graph): New.
+	(sort_partitions_by_post_order, merge_dep_scc_partitions): New.
+	(pg_collect_alias_ddrs, break_alias_scc_partitions): New.
+	(data_ref_segment_size, latch_dominated_by_data_ref): New.
+	(compute_alias_check_pairs, version_loop_by_alias_check): New.
+	(version_for_distribution_p, finalize_partitions): New.
+	(distribute_loop): Handle alias data dependence specially.  Factor
+	out loop fusion code as functions and call these functions.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (classify_partition): New parameter and
+	better handle reduction statement.
+	(rdg_build_partitions): Revise comment.
+	(distribute_loop): Compute statements in all partitions and pass it
+	to classify_partition.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (enum partition_type): New.
+	(struct partition): New field type.
+	(partition_merge_into): Add parameter.  Update partition type.
+	(data_dep_in_cycle_p, update_type_for_merge): New functions.
+	(build_rdg_partition_for_vertex): Compute partition type.
+	(rdg_build_partitions): Dump partition type.
+	(distribute_loop): Update calls to partition_merge_into.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (struct ddr_hasher): New.
+	(ddr_hasher::hash, ::equal, get_data_dependence): New function.
+	(ddrs_table): New.
+	(classify_partition): Call get_data_dependence.
+	(pg_add_dependence_edges): Ditto.
+	(distribute_loop): Release data dependence hash table.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (ref_base_address): Delete.
+	(similar_memory_accesses): Rename ...
+	(share_memory_accesses): ... to this.  Check if partitions access
+	the same memory reference.
+	(distribute_loop): Call share_memory_accesses.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (struct partition): New field recording
+	its data reference.
+	(partition_alloc, partition_free): Init and release data refs.
+	(partition_merge_into): Merge data refs.
+	(build_rdg_partition_for_vertex): Collect data refs for partition.
+	(pg_add_dependence_edges): Change parameters from vector to bitmap.
+	Update uses.
+	(distribute_loop): Remve data refs from vertice data of partition
+	graph.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (params.h): Include header file.
+	(MAX_DATAREFS_NUM, DR_INDEX): New macro.
+	(datarefs_vec): New global var.
+	(create_rdg_vertices): Use datarefs_vec directly.
+	(free_rdg): Don't free data references.
+	(build_rdg): Update use.  Don't free data references.
+	(distribute_loop): Compute global variable for data references.
+	Bail out if there are too many data references.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (loop_nest): New global var.
+	(build_rdg): Use loop directly, rather than loop nest.
+	(pg_add_dependence_edges): Remove loop nest parameter.  Use global
+	variable directly.
+	(distribute_loop): Compute global variable loop nest.  Update use.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (enum fuse_type, fuse_message): New.
+	(partition_merge_into): New parameter.  Dump reason for fusion.
+	(distribute_loop): Update use of partition_merge_into.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (bb_top_order_index): New.
+	(bb_top_order_index_size, bb_top_order_cmp): New.
+	(stmts_from_loop): Use topological order.
+	(pass_loop_distribution::execute): Compute and release topological
+	order for basic blocks.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-loop-distribution.c (pass_loop_distribution::execute): Skip
+	if no loops.
+
+2017-07-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* cfgloop.h (struct loop): Add comment.  New field orig_loop_num.
+	* cfgloopmanip.c (lv_adjust_loop_entry_edge): Comment change.
+	* internal-fn.c (expand_LOOP_DIST_ALIAS): New function.
+	* internal-fn.def (LOOP_DIST_ALIAS): New.
+	* tree-vectorizer.c (fold_loop_vectorized_call): Rename to ...
+	(fold_loop_internal_call): ... this.
+	(vect_loop_dist_alias_call): New function.
+	(set_uid_loop_bbs): Call fold_loop_internal_call.
+	(vectorize_loops): Fold IFN_LOOP_VECTORIZED and IFN_LOOP_DIST_ALIAS
+	internal calls.
+
+2017-07-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81300
+	* config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes):
+	Require dead FLAGS_REG at the beginning of a peephole.
+
+2017-07-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81294
+	* config/i386/adxintrin.h (_subborrow_u32): Swap _X and _Y
+	arguments in the call to __builtin_ia32_sbb_u32.
+	(_subborrow_u64): Swap _X and _Y arguments in the call to
+	__builtin_ia32_sbb_u64.
+
+2017-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/81278
+	* tree-vrp.c (compare_assert_loc): Turn into a function template
+	with stable template parameter.  Only test if a->e is NULL,
+	!a->e == !b->e has been verified already.  Use e == NULL or
+	e != NULL instead of e or ! e tests.  If stable is true, don't use
+	iterative_hash_expr, on the other side allow a or b or both NULL
+	and sort the NULLs last.
+	(process_assert_insertions): Sort using compare_assert_loc<false>
+	instead of compare_assert_loc, later sort using
+	compare_assert_loc<true> before calling process_assert_insertions_for
+	in a loop.  Use break instead of continue once seen NULL pointer.
+
+2017-07-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/driver-arm.c (arm_cpu_table): Add entry for ARM
+	Cortex-R7 and Cortex-R8 processors.
+
+2017-07-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-utils.c (ipa_merge_profiles): Fix merging when dst is
+	uninitialized while src is not.
+
+2017-07-04  Richard Earnshaw  <rearnsha@arm.com>
+
+	* common/config/arm/arm-common.c: Adjust include path for
+	arm-cpu-cdata.h
+	* config/arm/t-arm (TM_H): Adjust path for arm-cpu.h.
+	(arm-cpu.h): Create in build directory.  Adjust dependency rules.
+	(arm-cpu-data.h): Likewise.
+	(arm-cpu-cdata.h): Likewise.
+	* config/arm/arm-cpu.h: Delete.
+	* config/arm/arm-cpu-cdata.h: Delete.
+	* config/arm/arm-cpu-data.h: Delete.
+
+2017-07-04  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/arm/arm-cpus.in (cortex-a55): New.
+	(cortex-a75): Likewise.
+	(cortex-a75.cortex-a55): Likewise.
+	* config/arm/driver-arm.c (arm_cpu_table): Add cortex-a55 and
+	cortex-a75.
+	* doc/invoke.texi (-mcpu): Document cortex-a55 and cortex-a75.
+	* config/arm/arm-cpu-cdata.h: Regenerate.
+	* config/arm/arm-cpu-data.h: Regenerate.
+	* config/arm/arm-cpu.h: Regenerate.
+	* config/arm/arm-tables.opt: Regenerate.
+	* config/arm/arm-tune.md: Regenerate.
+
+2017-07-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	* haifa-sched.c (sched_create_recovery_edges): Update profile.
+
+2017-07-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	* bb-reorder.c (better_edge_p): Fix handling of uninitialized
+	probability.
+
+2017-07-04  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/81292
+	* tree-ssa-strlen.c (handle_builtin_strlen): When setting
+	full_string_p, also call adjust_related_strinfos if the adjustment
+	is simple, otherwise invalidate related strinfos.
+
+2017-07-04  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/81040
+	* sanopt.c (sanitize_rewrite_addressable_params): Mark the
+	newly created variable as DECL_IGNORED_P.
+
+2017-07-04  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/81293
+	* ipa-inline.c (inline_small_functions):
+	Use xstrdup_for_dump.
+
+2017-07-04  Tom de Vries  <tom@codesourcery.com>
+
+	* graph.c (draw_cfg_edges): Save and restore EDGE_DFS_BACK.
+
+2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR target/81033
+	* config/darwin.c (darwin_function_switched_text_sections):
+	Fix spaces.
+
+2017-07-03  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-vect-loop-manip.c (vect_do_peeling): Fix scaling up.
+
+2017-07-03  Richard Earnshaw  <rearnsha@arm.com>
+
+	* doc/invoke.texi (ARM Options): Add -mbe8 and -mbe32 to option summary.
+
+2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vect-loop.c (vect_analyze_loop_2): Treat min_scalar_loop_bound,
+	min_profitable_iters, and th as inclusive lower bounds.
+	Fix LOOP_VINFO_PEELING_FOR_GAPS condition.
+	(vect_estimate_min_profitable_iters): Return inclusive lower bounds
+	for min_profitable_iters and min_profitable_estimate.
+	(vect_transform_loop): Treat th as an inclusive lower bound.
+	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
+
+2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR target/81033
+	* config/darwin.c (darwin_function_switched_text_sections):
+	Replace DECL_NAME with DECL_ASSEMBLER_NAME, split assemble_name_raw
+	in two pieces, and suppress the use of buf.
+
+2017-07-03  Nathan Sidwell  <nathan@acm.org>
+
+	* hash-table.h (hash_table_mod1): Fix indentation.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/81290
+	* predict.c (force_edge_cold): Be more careful about propagation
+	backward.
+	* profile-count.h (profile_probability::guessed,
+	profile_probability::fdo, profile_count::guessed, profile_count::fdo):
+	New.
+	* tree-ssa-threadupdate.c (recompute_probabilities): Result is guessed.
+
+2017-07-03  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* doc/invoke.texi (rcpc architecture extension): Document it.
+
+2017-07-03  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/60510
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Pass in
+	the scalar reduction PHI and use it.
+	(vectorizable_reduction): Properly guard the single_defuse_cycle
+	path for non-SLP reduction chains where we cannot use it.
+	Rework reduc_def/index and vector type deduction.  Rework
+	vector operand gathering during reduction op code-gen.
+	* tree-vect-slp.c (vect_analyze_slp): For failed SLP reduction
+	chains dissolve the chain and leave it to non-SLP reduction
+	handling.
+
+2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-data-ref.h (dr_alignment): Declare.
+	* tree-data-ref.c (dr_alignment): New function.
+	* tree-vectorizer.h (dataref_aux): Remove base_element_aligned.
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Don't
+	set it.
+	* tree-vect-stmts.c (vectorizable_store): Use dr_alignment.
+
+2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-data-ref.h (innermost_loop_behavior): Add base_alignment
+	and base_misalignment fields.
+	(DR_BASE_ALIGNMENT, DR_BASE_MISALIGNMENT): New macros.
+	* tree-data-ref.c: Include builtins.h.
+	(dr_analyze_innermost): Set up the new innmost_loop_behavior fields.
+	* tree-vectorizer.h (STMT_VINFO_DR_BASE_ALIGNMENT): New macro.
+	(STMT_VINFO_DR_BASE_MISALIGNMENT): Likewise.
+	* tree-vect-data-refs.c: Include tree-cfg.h.
+	(vect_compute_data_ref_alignment): Use the new innermost_loop_behavior
+	fields instead of calculating an alignment here.
+	(vect_analyze_data_refs): Use dr_analyze_innermost.  Dump the new
+	innermost_loop_behavior fields.
+
+2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-data-ref.h (innermost_loop_behavior): Add a step_alignment
+	field.
+	(DR_STEP_ALIGNMENT): New macro.
+	* tree-vectorizer.h (STMT_VINFO_DR_STEP_ALIGNMENT): Likewise.
+	* tree-data-ref.c (dr_analyze_innermost): Initalize step_alignment.
+	(create_data_ref): Print it.
+	* tree-vect-stmts.c (vectorizable_load): Use the step alignment
+	to tell whether the step preserves vector (mis)alignment.
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
+	Move the check for an integer step and generalise to all INTEGER_CST.
+	(vect_analyze_data_refs): Set DR_STEP_ALIGNMENT when setting DR_STEP.
+	Print the outer step alignment.
+
+2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-data-ref.h (innermost_loop_behavior): Replace aligned_to
+	with offset_alignment.
+	(DR_ALIGNED_TO): Delete.
+	(DR_OFFSET_ALIGNMENT): New macro.
+	* tree-vectorizer.h (STMT_VINFO_DR_ALIGNED_TO): Delete.
+	(STMT_VINFO_DR_OFFSET_ALIGNMENT): New macro.
+	* tree-data-ref.c (dr_analyze_innermost): Update after above changes.
+	(create_data_ref): Likewise.
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
+	(vect_analyze_data_refs): Likewise.
+	* tree-if-conv.c (if_convertible_loop_p_1): Use memset before
+	creating dummy innermost behavior.
+
+2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-data-ref.h (dr_analyze_innermost): Replace the dr argument
+	with a "innermost_loop_behavior *" and refeence tree.
+	* tree-data-ref.c (dr_analyze_innermost): Likewise.
+	(create_data_ref): Update call accordingly.
+	* tree-predcom.c (find_looparound_phi): Likewise.
+
+2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vectorizer.h (_stmt_vec_info): Replace individual dr_*
+	fields with dr_wrt_vec_loop.
+	(STMT_VINFO_DR_BASE_ADDRESS, STMT_VINFO_DR_INIT, STMT_VINFO_DR_OFFSET)
+	(STMT_VINFO_DR_STEP, STMT_VINFO_DR_ALIGNED_TO): Update accordingly.
+	(STMT_VINFO_DR_WRT_VEC_LOOP): New macro.
+	(vect_dr_behavior): New function.
+	(vect_create_addr_base_for_vector_ref): Remove loop parameter.
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
+	vect_dr_behavior.  Use a step_preserves_misalignment_p boolean to
+	track whether the step preserves the misalignment.
+	(vect_create_addr_base_for_vector_ref): Remove loop parameter.
+	Use vect_dr_behavior.
+	(vect_setup_realignment): Update call accordingly.
+	(vect_create_data_ref_ptr): Likewise.  Use vect_dr_behavior.
+	* tree-vect-loop-manip.c (vect_gen_prolog_loop_niters): Update
+	call to vect_create_addr_base_for_vector_ref.
+	(vect_create_cond_for_align_checks): Likewise.
+	* tree-vect-patterns.c (vect_recog_bool_pattern): Copy
+	STMT_VINFO_DR_WRT_VEC_LOOP as a block.
+	(vect_recog_mask_conversion_pattern): Likewise.
+	* tree-vect-stmts.c (compare_step_with_zero): Use vect_dr_behavior.
+	(new_stmt_vec_info): Remove redundant zeroing.
+
+2017-07-03  Richard Earnshaw  <rearnsha@arm.com>
+
+	* common/config/arm/arm-common.c (arm_be8_option): New function.
+	* config/arm/arm-isa.h (isa_feature): Add new feature bit isa_bit_be8.
+	(ISA_ARMv6): Add isa_bit_be8.
+	* config/arm/arm.h (arm_be8_option): Add prototype.
+	(BE8_SPEC_FUNCTION): New define.
+	(EXTRA_SPEC_FUNCTIONS): Add BE8_SPEC_FUNCTION.
+	* config/arm/arm.opt (mbig-endian): Mark as Negative of mlittle-endian.
+	(mlittle-endian): Similarly.
+	(mbe8, mbe32): New options.
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Call arm_be8_option.
+	* doc/invoke.texi (ARM Options): Document -mbe8 and -mbe32.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-cfg.c (gimple_find_sub_bbs): Fix profile updating.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-cfgcleanup.c (want_merge_blocks_p): New function.
+	(cleanup_tree_cfg_bb): Use it.
+	* profile-count.h (profile_count::of_for_merging, profile_count::merge):
+	New functions.
+	* tree-cfg.c (gimple_merge_blocks): Use profile_count::merge.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR bootstrap/81285
+	* loop-doloop.c (add_test): Update profile.
+
+2017-07-03  Martin Liska  <mliska@suse.cz>
+
+	PR sanitize/81040
+	* sanopt.c (rewrite_usage_of_param): New function.
+	(sanitize_rewrite_addressable_params): Likewise.
+	(pass_sanopt::execute): Call rewrite_usage_of_param.
+
+2017-07-03  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Revert
+	back to using VIEW_CONVERT_EXPR.
+
+2017-07-03  Martin Liska  <mliska@suse.cz>
+
+	PR other/78366
+	* doc/extend.texi: Document when a resolver function is
+	generated for target_clones.
+
+2017-07-03  Martin Liska  <mliska@suse.cz>
+
+	* asan.c (asan_emit_stack_protection): Unpoison just red zones
+	and shadow memory of auto variables which are subject of
+	use-after-scope sanitization.
+	(asan_expand_mark_ifn): Add do set only when is_poison.
+
+2016-07-03  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop.c (vect_analyze_loop_operations): Also analyze
+	reduction PHIs.
+	(vect_force_simple_reduction): Record reduction def -> phi mapping.
+	(vectorizable_reduction): Perform reduction PHI creation when
+	visiting a reduction PHI and adjust and simplify code generation
+	phase of the reduction op.  Cache dts, use fold_binary, not fold_build2.
+	(vect_transform_loop): Visit reduction PHIs.
+	* tree-vect-slp.c (vect_get_and_check_slp_defs): Record reduction
+	defs into the SLP tree.
+	(vect_build_slp_tree): Reduction defs terminate the recursion.
+	* tree-vect-stmts.c (vect_get_vec_def_for_operand_1): Allow lookup
+	of reduction defs.
+	(vect_get_vec_defs_for_stmt_copy): Export.
+	(vect_get_vec_defs): Likewise.
+	* tree-vectorizer.h (struct _stmt_vec_info): Amend reduc_def
+	purpose.
+	(vect_get_vec_defs_for_stmt_copy): Declare.
+	(vect_get_vec_defs): Likewise.
+
+2017-07-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-data-ref.c (dr_analyze_innermost): Replace the "nest"
+	parameter with a "loop" parameter and use it instead of the
+	loop containing DR_STMT.  Don't check simple_iv when doing
+	BB analysis.  Describe the two analysis modes in the comment.
+
+2017-07-03  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/69468
+	* tree-ssa-tail-merge.c (ignore_edge_flags): New constant.
+	(find_same_succ_bb): Handle ignore_edge_flags.
+
+2017-07-03  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/81192
+	* tree-ssa-tail-merge.c (same_succ_hash): Use bb->loop_father->num in
+	hash.
+	(same_succ::equal): Don't find bbs to be equal if bb->loop_father
+	differs.
+	(find_same_succ_bb): Remove obsolete test on bb->loop_father->latch.
+
+2017-07-03  Tom de Vries  <tom@codesourcery.com>
+
+	PR tree-optimization/81192
+	* tree-ssa-tail-merge.c (same_succ_flush_bb): Handle
+	BB_SAME_SUCC (bb) == NULL.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgrtl.c (rtl_verify_edges): Enable checking of profile_probability
+	consistency.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* dumpfile.c: Include profile-count.h
+	* tree-cfg.c (gimple_duplicate_sese_tail): Drop UNUSED attributes;
+	update profile.
+	(insert_cond_bb): Update profile.
+	* tree-cfg.h (insert_cond_bb): Update prototype.
+	* tree-chkp-opt.c (chkp_optimize_string_function_calls): Update.
+	* tree-dump.c: Do not include tree-cfg.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* bb-reorder.c (fix_up_crossing_landing_pad): Update profile.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* expect.c (dw2_build_landing_pads): Update profile of the landing pad
+	bb.
+
+2017-07-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-complex.c (expand_complex_div_wide): update profile.
+
+2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* Makefile.in (MACHMODE_H): Remove insn-modes.h
+	(CORETYPES_H): New define.
+	(MOSTLYCLEANFILES): Add insn-modes-inline.h.
+	(insn-modes-inline.h, s-modes-inline-h): New rules.
+	(generated_files): Add insn-modes-inline.h.
+	(RTL_BASE_H, TREE_CORE_H): Use CORETYPES_H instead of coretypes.h.
+	(build/gensupport.o, build/ggc-none.o, build/print-rtl.o): Likewise.
+	(build/read-md.o, build/read-rtl.o, build/rtl.o): Likewise.
+	(build/vec.o, build/hash-table.o, build/inchash.o): Likewise.
+	(build/gencondmd.o, build/genattr.o, build/genattr-common.o): Likewise.
+	(build/genattrtab.o, build/genautomata.o, build/gencheck.o): Likewise.
+	(build/gencodes.o, build/genconditions.o): Likewise.
+	(build/genconfig.o, build/genconstants.o, build/genemit.o): Likewise.
+	(build/genenums.o, build/genextract.o, build/genflags.o): Likewise.
+	(build/gentarget-def.o, build/genmddeps.o, build/genopinit.o)
+	(build/genoutput.o, build/genpeep.o, build/genpreds.o): Likewise.
+	(build/genrecog.o, build/genmddump.o, build/genmatch.o): Likewise.
+	(build/gencfn-macros.o, build/gcov-iov.o): Likewise.
+	* coretypes.h: Include everything up to real.h for generators.
+	Include insn-modes.h first.  Include wide-int-print.h after
+	wide-int.h.  Include insn-modes-inline.h and then machmode.h.
+	* machmode.h: Don't include insn-modes.h here.
+	* function-tests.c: Remove includes of signop.h, machmode.h,
+	double-int.h and wide-int.h.
+	* rtl.h: Likewise.
+	* gcc-rich-location.c: Remove includes of machmode.h, double-int.h
+	and wide-int.h.
+	* optc-save-gen.awk: Likewise.
+	* gencheck.c (BITS_PER_UNIT): Delete dummy definition.
+	* godump.c: Remove include of wide-int-print.h.
+	* pretty-print.h: Likewise.
+	* wide-int-print.cc: Likewise.
+	* wide-int.cc: Likewise.
+	* hash-map-tests.c: Remove include of signop.h.
+	* hash-set-tests.c: Likewise.
+	* rtl-tests.c: Likewise.
+	* mkconfig.sh: Remove include of machmode.h.
+	* genmodes.c (emit_insn_modes_h): Split emission of inline functions
+	into...
+	(emit_insn_modes_inline_h): ...this new function.  Emit the code
+	into an insn-modes-inline.h header file, adding appropriate
+	include guards and end comments.
+	(emit_insn_modes_c_header): Remove include of machmode.h.
+	(emit_min_insn_modes_c_header): Include coretypes.h rather than
+	machmode.h.
+	(main): Handle -i flag and call emit_insn_modes_inline_h when
+	it is passed.
+
+2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-ssa-strlen.c (strinfo): Rename the length field to
+	nonzero_chars.  Add a full_string_p field.
+	(compare_nonzero_chars, zero_length_string_p): New functions.
+	(get_addr_stridx): Add an offset_out parameter.
+	Use compare_nonzero_chars.
+	(get_stridx): Update accordingly.  Use compare_nonzero_chars.
+	(new_strinfo): Update after above changes to strinfo.
+	(set_endptr_and_length): Set full_string_p.
+	(get_string_length): Update after above changes to strinfo.
+	(unshare_strinfo): Update call to new_strinfo.
+	(maybe_invalidate): Likewise.
+	(get_stridx_plus_constant): Change off to unsigned HOST_WIDE_INT.
+	Use compare_nonzero_chars and zero_string_p.  Treat nonzero_chars
+	as a uhwi instead of an shwi.  Update after above changes to
+	strinfo and new_strinfo.
+	(zero_length_string): Assert that chainsi contains full strings.
+	Use zero_length_string_p.  Update call to new_strinfo.
+	(adjust_related_strinfos): Update after above changes to strinfo.
+	Copy full_string_p from origsi.
+	(adjust_last_stmt): Use zero_length_string_p.
+	(handle_builtin_strlen): Update after above changes to strinfo and
+	new_strinfo.  Install the lhs as the string length if the previous
+	entry didn't describe a full string.
+	(handle_builtin_strchr): Update after above changes to strinfo
+	and new_strinfo.
+	(handle_builtin_strcpy): Likewise.
+	(handle_builtin_strcat): Likewise.
+	(handle_builtin_malloc): Likewise.
+	(handle_pointer_plus): Likewise.
+	(handle_builtin_memcpy): Likewise.  Track nonzero characters
+	that aren't necessarily followed by a nul terminator.
+	(handle_char_store): Likewise.
+
+2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/80769
+	* tree-ssa-strlen.c (strinfo): Document that "stmt" is also used
+	for malloc and calloc.  Document the new invariant that all related
+	strinfos have delayed lengths or none do.
+	(verify_related_strinfos): Move earlier in file.
+	(set_endptr_and_length): New function, split out from...
+	(get_string_length): ...here.  Also set the lengths of related
+	strinfos.
+	(zero_length_string): Assert that chainsi has known (rather than
+	delayed) lengths.
+	(adjust_related_strinfos): Likewise.
+
+2017-07-02  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR tree-optimization/81136
+	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Only
+	assert that two references with the same misalignment have the same
+	compile-time misalignment if those compile-time misalignments
+	are known.
+
+2017-07-01  Andi Kleen  <ak@linux.intel.com>
+
+	* print-tree.c (print_node): Print all attributes.
+
+2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfg.c (scale_bbs_frequencies): New function.
+	* cfg.h (scale_bbs_frequencies): Declare it.
+	* cfgloopanal.c (single_likely_exit): Cleanup.
+	* cfgloopmanip.c (scale_loop_frequencies): Take profile_probability
+	as parameter.
+	(scale_loop_profile): Likewise.
+	(loop_version): Likewise.
+	(create_empty_loop_on_edge): Update.
+	* cfgloopmanip.h (scale_loop_frequencies, scale_loop_profile,
+	scale_loop_frequencies, scale_loop_profile, loopify,
+	loop_version): Update prototypes.
+	* modulo-sched.c (sms_schedule): Update.
+	* predict.c (unlikely_executed_edge_p): Also check probability.
+	(probably_never_executed_edge_p): Fix typo.
+	* tree-if-conv.c (version_loop_for_if_conversion): Update.
+	* tree-parloops.c (gen_parallel_loop): Update.
+	* tree-ssa-loop-ivcanon.c (try_peel_loop): Update.
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
+	* tree-ssa-loop-split.c (split_loop): Update.
+	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Update.
+	* tree-vect-loop-manip.c (vect_do_peeling): Update.
+	(vect_loop_versioning): Update.
+	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
+
+2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* trans-mem.c (split_bb_make_tm_edge): Update profile.
+
+2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-if-conv.c (combine_blocks): Use make_single_succ_edge
+	to keep profile consistent.
+
+2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgrtl.c (rtl_flow_call_edges_add): Update profile.
+	* tree-cfg.c (gimple_flow_call_edges_add): Likewise.
+	* profile-count.h (max_safe_multiplier): Make unsigned.
+	(profile_count::guessed_zero): New.
+
+2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* bb-reorder.c (fix_up_crossing_landing_pad,
+	fix_crossing_conditional_branches): Use make_single_succ_edge
+	to keep profile consistent.
+
+2017-07-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-vect-loop.c (optimize_mask_stores): Use make_single_succ_edge
+	to update profile.
+
+2017-07-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81262
+	* bb-reorder.c (fix_up_fall_thru_edges): Move variable declarations to
+	the right scopes, make sure cond_jump isn't preserved between multiple
+	iterations.  Search for fallthru edge whenever there are 3+ edges and
+	use find_fallthru_edge for it.
+
+2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
+
+	Patch by Alexander Monakov <amonakov@ispras.ru>
+	* sel-sched-ir.c (compute_succs_info): Handle uninitialized
+	probabilities consistently.
+
+2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
+
+	* pa.c (pa_expand_compare_and_swap_loop): Update call of
+	emit_cmp_and_jump_insns.
+
+2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/81261
+	* tree-inline.c (expand_call_inline): Combine profile statuses.
+
+2017-06-30  Andrew Pinski  <apinski@cavium.com>
+
+	* tree-if-conv.c (predicate_scalar_phi): Update new_stmt if
+	fold_stmt returned true.
+
+2017-06-30  Nathan Sidwell  <nathan@acm.org>
+
+	* ggc.h (empty_string): Delete.
+	* cfgexpand.c (expand_asm_stmt): Use plain "".
+	* optabs.c (expand_asm_memory_barrier): Likewise.
+	* stringpool.c (empty_string): Delete.
+	(digit_vector, digit_string): Delete.
+	(ggc_alloc_string): Use plain "", don't optimize single digit
+	strings.  Use ggc_alloc_atomic.
+
+2017-06-30  Richard Earnshaw  <rearnsha@arm.com>
+
+	* rtlanal.c (insn_rtx_cost): If a parallel contains exactly one
+	comparison set and one other set, use the cost of the non-comparison
+	set.
+
+2017-06-30  Nathan Sidwell  <nathan@acm.org>
+
+	* ggc.h: Replace all 'static inline' with plain 'inline'.  Fix
+	some formatting.
+
+2017-06-30  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* tree-cfg.c (group_case_labels_stmt): Merge scanning and compressing
+	loops.  Remove now unneeded calls to gimple_switch_set_label() that
+	just set removed labels to NULL_TREE.
+
+2017-06-30  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-ssanames.c (set_range_info_raw): Abstract from ...
+	(set_range_info): ...here.  Only call set_range_info_raw if domain
+	is useful.
+	(set_nonzero_bits): Call set_range_info_raw.
+	* tree-ssanames.h (set_range_info_raw): New.
+
+2017-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81225
+	* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For V8FI,
+	V16FI and VI8F_256 iterators, use <store_mask_predicate> instead
+	of nonimmediate_operand and <store_mask_constraint> instead of m
+	for the input operand.  For V8FI iterator, always split if input
+	is a MEM.  For V16FI and V8SF_256 iterators, don't test if both
+	operands are MEM if <mask_applied>.  For VI4F_256 iterator, use
+	<store_mask_predicate> instead of register_operand and
+	<store_mask_constraint> instead of v for the input operand.  Make
+	sure both operands aren't MEMs for if not <mask_applied>.
+
+2017-06-30  Sylvestre Ledru  <sylvestre@debian.org>
+
+	* lto-wrapper.c (copy_file) Close both file descriptors before
+	exiting normally.
+
+2017-06-30  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/81214
+	* multiple_target.c (create_dispatcher_calls): Make ifunc
+	also for function that don't have calls or are not referenced.
+
+2017-06-30  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-slp.c (vect_slp_analyze_node_operations): Only
+	analyze the first scalar stmt.  Move vector type computation
+	for the BB case here from ...
+	* tree-vect-stmts.c (vect_analyze_stmt): ... here.  Guard
+	live operation processing in the SLP case properly.
+
+2017-06-30  Richard Biener  <rguenther@suse.de>
+
+	* graph.c (draw_cfg_node_succ_edges): Fix broken dot syntax.
+
+2017-06-30  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/81021
+	* tree-eh.c (lower_resx): Call BUILT_IN_ASAN_HANDLE_NO_RETURN
+	before BUILT_IN_UNWIND_RESUME when ASAN is used.
+
+2017-06-30  Yvan Roux  <yvan.roux@linaro.org>
+
+	* doc/invoke.texi (AArch64): Add missing options and remove redundant
+	ones.
+
+2017-06-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81249
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Convert
+	condition reduction result to original scalar type.
+
+2017-06-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* profile-count.h (enum profile_quality): Fix typos and whitespace
+	issues.
+
+2017-06-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_setmem): Adjust to the new data
+	type for branch probabilities.
+
+2017-06-29  Julian Brown  <julian@codesourcery.com>
+	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/aarch64-fusion-pairs.def: Add ALU_BRANCH entry.
+	* config/aarch64/aarch64.c (AARCH64_FUSE_ALU_BRANCH): New fusion type.
+	(thunderx2t99_tunings): Set AARCH64_FUSE_ALU_BRANCH flag.
+	(aarch_macro_fusion_pair_p): Add support for AARCH64_FUSE_ALU_BRANCH.
+
+2017-06-29  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Push the
+	check for CC usage into AARCH64_FUSE_CMP_BRANCH.
+	* config/i386/i386.c (ix86_macro_fusion_pair_p): Push the check for
+	CC usage from generic code to here.
+	* sched-deps.c (sched_macro_fuse_insns): Move the condition for
+	CC usage into the target macros.
+
+2017-06-29  Maya Rashish  <coypu@sdf.org>
+
+	* config/netbsd.h (NETBSD_LIB_SPEC): Add -lc when creating shared
+	objects.
+
+2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
+
+	* arm/arm-builtins.c: Include profile-count.h
+	* except.c (sjlj_emit_function_enter): Use
+	profile_probability::unlikely.
+
+2017-06-29  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (toc_relative_expr_p): Make tocrel_base
+	and tocrel_offset be pointer args rather than implicitly using
+	static versions.
+	(legitimate_constant_pool_address_p, rs6000_emit_move,
+	const_load_sequence_p, adjust_vperm): Add local tocrel_base and
+	tocrel_offset and use in toc_relative_expr_p call.
+	(print_operand, print_operand_address): Use static tocrel_base_oac
+	and tocrel_offset_oac.
+	(rs6000_output_addr_const_extra): Use static tocrel_base_oac and
+	tocrel_offset_oac.
+
+2017-06-29  Maya Rashish  <coypu@sdf.org>
+
+	* config/vax/builtins.md (ffssi2_internal): Correct constraint.
+
+2017-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* expr.c (expand_expr) <normal_inner_ref>: When testing for unaligned
+	objects, take into account only the alignment of 'op0' and 'mode1' if
+	'op0' is a MEM.
+
+2017-06-29  Steve Ellcey  <sellcey@cavium.com>
+
+	* ccmp.c (ccmp_tree_comparison_p): New function.
+	(ccmp_candidate_p): Update to use above function.
+	(get_compare_parts): New function.
+	(expand_ccmp_next): Update to use new functions.
+	(expand_ccmp_expr_1): Take tree arg instead of gimple, update to use
+	new functions.
+	(expand_ccmp_expr): Pass tree instead of gimple to expand_ccmp_expr_1,
+	take mode as argument.
+	* ccmp.h (expand_ccmp_expr): Add mode as argument.
+	* expr.c (expand_expr_real_1): Pass mode as argument.
+
+2017-06-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* combine.c (combine_instructions): Print insns to dump_file, together
+	with their costs.
+
+2017-06-29  Jan Hubicka  <hubicka@ucw.cz>
+
+	* asan.c (asan_emit_stack_protection): Update.
+	(create_cond_insert_point): Update.
+	* auto-profile.c (afdo_propagate_circuit): Update.
+	* basic-block.h (struct edge_def): Turn probability to
+	profile_probability.
+	(EDGE_FREQUENCY): Update.
+	* bb-reorder.c (find_traces_1_round): Update.
+	(better_edge_p): Update.
+	(sanitize_hot_paths): Update.
+	* cfg.c (unchecked_make_edge): Initialize probability to uninitialized.
+	(make_single_succ_edge): Update.
+	(check_bb_profile): Update.
+	(dump_edge_info): Update.
+	(update_bb_profile_for_threading): Update.
+	* cfganal.c (connect_infinite_loops_to_exit): Initialize new edge
+	probabilitycount to 0.
+	* cfgbuild.c (compute_outgoing_frequencies): Update.
+	* cfgcleanup.c (try_forward_edges): Update.
+	(outgoing_edges_match): Update.
+	(try_crossjump_to_edge): Update.
+	* cfgexpand.c (expand_gimple_cond): Update make_single_succ_edge.
+	(expand_gimple_tailcall): Update.
+	(construct_init_block): Use make_single_succ_edge.
+	(construct_exit_block): Use make_single_succ_edge.
+	* cfghooks.c (verify_flow_info): Update.
+	(redirect_edge_succ_nodup): Update.
+	(split_edge): Update.
+	(account_profile_record): Update.
+	* cfgloopanal.c (single_likely_exit): Update.
+	* cfgloopmanip.c (scale_loop_profile): Update.
+	(set_zero_probability): Remove.
+	(duplicate_loop_to_header_edge): Update.
+	* cfgloopmanip.h (loop_version): Update prototype.
+	* cfgrtl.c (try_redirect_by_replacing_jump): Update.
+	(force_nonfallthru_and_redirect): Update.
+	(update_br_prob_note): Update.
+	(rtl_verify_edges): Update.
+	(purge_dead_edges): Update.
+	(rtl_lv_add_condition_to_bb): Update.
+	* cgraph.c: (cgraph_edge::redirect_call_stmt_to_calle): Update.
+	* cgraphunit.c (init_lowered_empty_function): Update.
+	(cgraph_node::expand_thunk): Update.
+	* cilk-common.c: Include profile-count.h
+	* dojump.c (inv): Remove.
+	(jumpifnot): Update.
+	(jumpifnot_1): Update.
+	(do_jump_1): Update.
+	(do_jump): Update.
+	(do_jump_by_parts_greater_rtx): Update.
+	(do_compare_rtx_and_jump): Update.
+	* dojump.h (jumpifnot, jumpifnot_1, jumpif_1, jumpif, do_jump,
+	do_jump_1. do_compare_rtx_and_jump): Update prototype.
+	* dwarf2cfi.c: Include profile-count.h
+	* except.c (dw2_build_landing_pads): Use make_single_succ_edge.
+	(sjlj_emit_dispatch_table): Likewise.
+	* explow.c: Include profile-count.h
+	* expmed.c (emit_store_flag_force): Update.
+	(do_cmp_and_jump): Update.
+	* expr.c (compare_by_pieces_d::generate): Update.
+	(compare_by_pieces_d::finish_mode): Update.
+	(emit_block_move_via_loop): Update.
+	(store_expr_with_bounds): Update.
+	(store_constructor): Update.
+	(expand_expr_real_2): Update.
+	(expand_expr_real_1): Update.
+	* expr.h (try_casesi, try_tablejump): Update prototypes.
+	* gimple-pretty-print.c (dump_probability): Update.
+	(dump_profile): New.
+	(dump_gimple_label): Update.
+	(dump_gimple_bb_header): Update.
+	* graph.c (draw_cfg_node_succ_edges): Update.
+	* hsa-gen.c (convert_switch_statements): Update.
+	* ifcvt.c (cheap_bb_rtx_cost_p): Update.
+	(find_if_case_1): Update.
+	(find_if_case_2): Update.
+	* internal-fn.c (expand_arith_overflow_result_store): Update.
+	(expand_addsub_overflow): Update.
+	(expand_neg_overflow): Update.
+	(expand_mul_overflow): Update.
+	(expand_vector_ubsan_overflow): Update.
+	* ipa-cp.c (good_cloning_opportunity_p): Update.
+	* ipa-split.c (split_function): Use make_single_succ_edge.
+	* ipa-utils.c (ipa_merge_profiles): Update.
+	* loop-doloop.c (add_test): Update.
+	(doloop_modify): Update.
+	* loop-unroll.c (compare_and_jump_seq): Update.
+	(unroll_loop_runtime_iterations): Update.
+	* lra-constraints.c (lra_inheritance): Update.
+	* lto-streamer-in.c (input_cfg): Update.
+	* lto-streamer-out.c (output_cfg): Update.
+	* mcf.c (adjust_cfg_counts): Update.
+	* modulo-sched.c (sms_schedule): Update.
+	* omp-expand.c (expand_omp_for_init_counts): Update.
+	(extract_omp_for_update_vars): Update.
+	(expand_omp_ordered_sink): Update.
+	(expand_omp_for_ordered_loops): Update.
+	(expand_omp_for_generic): Update.
+	(expand_omp_for_static_nochunk): Update.
+	(expand_omp_for_static_chunk): Update.
+	(expand_cilk_for): Update.
+	(expand_omp_simd): Update.
+	(expand_omp_taskloop_for_outer): Update.
+	(expand_omp_taskloop_for_inner): Update.
+	* omp-simd-clone.c (simd_clone_adjust): Update.
+	* optabs.c (expand_doubleword_shift): Update.
+	(expand_abs): Update.
+	(emit_cmp_and_jump_insn_1): Update.
+	(expand_compare_and_swap_loop): Update.
+	* optabs.h (emit_cmp_and_jump_insns): Update prototype.
+	* predict.c (predictable_edge_p): Update.
+	(edge_probability_reliable_p): Update.
+	(set_even_probabilities): Update.
+	(combine_predictions_for_insn): Update.
+	(combine_predictions_for_bb): Update.
+	(propagate_freq): Update.
+	(estimate_bb_frequencies): Update.
+	(force_edge_cold): Update.
+	* profile-count.c (profile_count::dump): Add missing space into dump.
+	(profile_count::debug): Add newline.
+	(profile_count::differs_from_p): Explicitly convert to unsigned.
+	(profile_count::stream_in): Update.
+	(profile_probability::dump): New member function.
+	(profile_probability::debug): New member function.
+	(profile_probability::differs_from_p): New member function.
+	(profile_probability::differs_lot_from_p): New member function.
+	(profile_probability::stream_in): New member function.
+	(profile_probability::stream_out): New member function.
+	* profile-count.h (profile_count_quality): Rename to ...
+	(profile_quality): ... this one.
+	(profile_probability): New.
+	(profile_count): Update.
+	* profile.c (compute_branch_probabilities): Update.
+	* recog.c (peep2_attempt): Update.
+	* sched-ebb.c (schedule_ebbs): Update.
+	* sched-rgn.c (find_single_block_region): Update.
+	(compute_dom_prob_ps): Update.
+	(schedule_region): Update.
+	* sel-sched-ir.c (compute_succs_info): Update.
+	* stmt.c (struct case_node): Update.
+	(do_jump_if_equal): Update.
+	(get_outgoing_edge_probs): Update.
+	(conditional_probability): Update.
+	(emit_case_dispatch_table): Update.
+	(expand_case): Update.
+	(expand_sjlj_dispatch_table): Update.
+	(emit_case_nodes): Update.
+	* targhooks.c: Update.
+	* tracer.c (better_p): Update.
+	(find_best_successor): Update.
+	* trans-mem.c (expand_transaction): Update.
+	* tree-call-cdce.c: Update.
+	* tree-cfg.c (gimple_split_edge): Upate.
+	(move_sese_region_to_fn): Upate.
+	* tree-cfgcleanup.c (cleanup_control_expr_graph): Upate.
+	* tree-eh.c (lower_resx): Upate.
+	(cleanup_empty_eh_move_lp): Upate.
+	* tree-if-conv.c (version_loop_for_if_conversion): Update.
+	* tree-inline.c (copy_edges_for_bb): Update.
+	(copy_cfg_body): Update.
+	* tree-parloops.c (gen_parallel_loop): Update.
+	* tree-profile.c (gimple_gen_ic_func_profiler): Update.
+	(gimple_gen_time_profiler): Update.
+	* tree-ssa-dce.c (remove_dead_stmt): Update.
+	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
+	* tree-ssa-loop-im.c (execute_sm_if_changed): Update.
+	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update.
+	(unloop_loops): Update.
+	(try_peel_loop): Update.
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
+	* tree-ssa-loop-split.c (connect_loops): Update.
+	(split_loop): Update.
+	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Update.
+	(hoist_guard): Update.
+	* tree-ssa-phionlycprop.c (propagate_rhs_into_lhs): Update.
+	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update.
+	(value_replacement): Update.
+	* tree-ssa-reassoc.c (branch_fixup): Update.
+	* tree-ssa-tail-merge.c (replace_block_by): Update.
+	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Update.
+	(create_edge_and_update_destination_phis): Update.
+	(compute_path_counts): Update.
+	(recompute_probabilities): Update.
+	(update_joiner_offpath_counts): Update.
+	(freqs_to_counts_path): Update.
+	(duplicate_thread_path): Update.
+	* tree-switch-conversion.c (hoist_edge_and_branch_if_true): Update.
+	(struct switch_conv_info): Update.
+	(gen_inbound_check): Update.
+	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
+	(vect_do_peeling): Update.
+	(vect_loop_versioning): Update.
+	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
+	(optimize_mask_stores): Update.
+	* ubsan.c (ubsan_expand_null_ifn): Update.
+	* value-prof.c (gimple_divmod_fixed_value): Update.
+	(gimple_divmod_fixed_value_transform): Update.
+	(gimple_mod_pow2): Update.
+	(gimple_mod_pow2_value_transform): Update.
+	(gimple_mod_subtract): Update.
+	(gimple_mod_subtract_transform): Update.
+	(gimple_ic): Update.
+	(gimple_stringop_fixed_value): Update.
+	(gimple_stringops_transform): Update.
+	* value-prof.h: Update.
+
+2017-06-29  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Add support for built-in functions
+	vector signed int vec_signed (vector float);
+	vector signed long long vec_signed (vector double);
+	vector signed int vec_signed2 (vector double, vector double);
+	vector signed int vec_signede (vector double);
+	vector signed int vec_signedo (vector double);
+	* config/rs6000/rs6000.c (rs6000_generate_vsigned2_code): Add
+	instruction generator.
+	* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPSXWS, UNSPEC_VSX_XVCVSPSXDS,
+	UNSPEC_VSX_VSIGNED2): Add UNSPECS.
+	(vsx_xvcvspsxws, vsx_xvcvdpuxds_scale, vsx_xvcvspuxws, vsigned2_v2df):
+	Add define_insn.
+	(vsignedo_v2df, vsignede_v2df, vunsigned2_v2df, vunsignedo_v2df,
+	vunsignede_v2df): Add define_expands.
+	* config/rs6000/rs6000-builtin.def (VEC_SIGNED, VEC_UNSIGNED,
+	VEC_SIGNED2, VEC_UNSIGNED2, VEC_SIGNEDE, VEC_UNSIGNEDE, VEC_SIGNEDO,
+	VEC_UNSIGNEDO): Add definitions.
+	* config/vsx.md (UNSPEC_VSX_XVCVSPSXWS, UNSPEC_VSX_XVCVSPSXDS,
+	UNSPEC_VSX_VSIGNED2): Add UNSPECs.
+	(vsx_xvcvspsxws, vsx_xvcvspuxws): Add define_insn.
+	(vsigned2_v2df, vsigendo_v2df, vsignede_v2df,
+	vunsigned2_v2df, vunsignedo_v2df, vunsignede_v2df): Add define_expands.
+	* config/rs6000/altivec.h (vec_signed, vec_signed2,
+	vec_signede and vec_signedo, vec_unsigned, vec_unsigned2,
+	vec_unsignede, vec_unsignedo): Add builtin defines.
+	* config/rs6000-protos.h (rs6000_generate_vsigned2_code): Add extern
+	declaration.
+	* doc/extend.texi: Update the built-in documentation file for the
+	new built-in functions.
+
+2017-06-29  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Do not add
+	reduction chains to LOOP_VINFO_REDUCTIONS.
+	* tree-vect-slp.c (vect_analyze_slp): Continue looking for
+	SLP reductions after processing reduction chains.
+
+2017-06-29  Nathan Sidwell  <nathan@acm.org>
+
+	* builtins.c (fold_builtin_FUNCTION): Use
+	lang_hooks.decl_printable_name.
+
+2017-06-29  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR middle-end/81194
+	* cfgexpand.c (expand_gimple_stmt_1): Handle switch statements
+	with only one label.
+	* stmt.c (expand_case): Assert NCASES is greater than one.
+
+2017-06-29  Richard Biener  <rguenther@suse.de>
+
+	* tree-cfg.c (group_case_labels_stmt): Return whether we changed
+	anything.
+	(group_case_labels): Likewise.
+	(find_taken_edge): Push sanity checking on val to workers...
+	(find_taken_edge_cond_expr): ... here
+	(find_taken_edge_switch_expr): ... and here, handle cases
+	with just a default label.
+	* tree-cfg.h (group_case_labels_stmt): Adjust prototype.
+	(group_case_labels): Likewise.
+	* tree-cfgcleanup.c (execute_cleanup_cfg_post_optimizing): When
+	group_case_labels does anything cleanup the CFG again.
+
+2017-06-29  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/81196
+	* tree-ssa-loop-niter.c (number_of_iterations_cond): Handle loop
+	exit condition comparing two IVs.
+
+2017-06-29  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/parsecpu.awk (gen_comm_data): Add initializer for
+	profile to the dummy entry at the end of the list of architectures.
+	* config/arm/arm-cpu-cdata.h: Regenerated.
+
+2017-06-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+	    Michael Collison <michael.collison@arm.com>
+
+	PR target/70119
+	* config/aarch64/aarch64.md (*aarch64_<optab>_reg_<mode>3_mask1):
+	New pattern.
+	(*aarch64_reg_<mode>3_neg_mask2): New pattern.
+	(*aarch64_reg_<mode>3_minus_mask): New pattern.
+	(*aarch64_<optab>_reg_di3_mask2): New pattern.
+	* config/aarch64/aarch64.c (aarch64_rtx_costs): Account for cost
+	of shift when the shift amount is masked with constant equal to
+	the size of the mode.
+	* config/aarch64/predicates.md (subreg_lowpart_operator): New
+	predicate.
+
+2017-06-29  Martin Liska  <mliska@suse.cz>
+
+	* config/i386/i386.opt: Change range from [1,5] to [0,5].
+
+2017-06-29  Yury Gribov  <tetra2005@gmail.com>
+
+	PR bootstrap/80565
+	* ipa-cp.c (allocate_and_init_ipcp_value): Add initialization
+	code.
+	* ipa-inline.h
+	(edge_growth_cache_entry::edge_growth_cache_entry): New
+	function.
+	(reset_edge_growth_cache): Update to use constructor.
+
+2017-06-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* config/aarch64/aarch64.h (AARCH64_EXPAND_ALIGNMENT): New.
+	(DATA_ALIGNMENT): Update to use AARCH64_EXPAND_ALIGNMENT.
+	(LOCAL_ALIGNMENT): Update to use AARCH64_EXPAND_ALIGNMENT.
+
+2017-06-28  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64)
+	(_mm256_permutexvar_epi32, _mm256_permutex_epi64): New intrinsics.
+
+2017-06-28  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* config.gcc (*-linux-musl*): Add t-musl tmake_file.
+	(*-linux-uclibc*): Add t-uclibc tmake_file.
+	* config/t-musl: New.
+	* config/t-uclibc: New.
+
+2017-06-28  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/parsecpu.awk (profile): Parse new keyword in an arch
+	context.
+	(gen_comm_data): Emit architectural setting of arch_prof.
+	* config/arm/arm-cpus.in (armv6-m, armv6s-m, armv7-a, armv7ve): Set the
+	profile.
+	(armv7-r, armv7-m, armv7e-m, armv8-a, armv8.1-a, armv8.2-a): Likewise.
+	(armv8-m.base, armv8-m.main): Likewise.
+	* arm-protos.h (arm_build_target): Add profile field.
+	(arch_option): Likewise.
+	* config/arm/arm.c (arm_configure_build_target): Copy the profile to
+	the active target.
+	* config/arm/arm.h (TARGET_ARM_ARCH_PROFILE): Use
+	arm_active_target.profile.
+
+2017-06-28  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81227
+	* fold-const.c (negate_expr_p): Use TYPE_UNSIGNED, not
+	TYPE_OVERFLOW_WRAPS.
+	* match.pd (negate_expr_p): Likewise.
+	* tree-ssa-reassoc.c (optimize_range_tests_diff): Use
+	fold_build2, not fold_binary.
+
+2017-06-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64 (aarch64_expand_mov_immediate):
+	Convert memory address to Pmode.
+	(aarch64_print_operand): Assert MEM operands are always Pmode.
+
+2017-06-28  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR target/79665
+	* config/arm/aarch-common.c (arm_no_early_alu_shift_dep):
+	Remove redundant if.
+	(aarch_forward_to_shift_is_not_shifted_reg): Remove.
+	* config/arm/aarch-common-protos.h
+	(aarch_forward_to_shift_is_not_shifted_re): Remove.
+	* config/arm/cortex-a53.md: Use arm_no_early_alu_shift_dep in bypass.
+
+2017-06-28  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR ipa/81238
+	* multiple_target.c (create_dispatcher_calls): Set the default
+	clone to be static, not public.
+
+2017-06-28  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop.c (vectorizable_reduction): Move special
+	cond reduction IV var creation ...
+	(vect_create_epilog_for_reduction): ... here.  Remove induction_index
+	parameter.  Use STMT_VINFO_VECTYPE.
+	* tree-vect-slp.c (vect_get_constant_vectors): Properly reset
+	constant_p.
+
+2017-06-28  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/81128
+	* ipa-visibility.c (non_local_p): Handle visibility.
+
+2017-06-28  Martin Liska  <mliska@suse.cz>
+
+	PR driver/79659
+	* common.opt: Add IntegerRange to various options.
+	* opt-functions.awk (integer_range_info): New function.
+	* optc-gen.awk: Add integer_range_info to cl_options struct.
+	* opts-common.c (decode_cmdline_option): Handle
+	CL_ERR_INT_RANGE_ARG.
+	(cmdline_handle_error): Likewise.
+	* opts.c (print_filtered_help): Show valid interval in
+	when --help is provided.
+	* opts.h (struct cl_option): Add range_min and range_max fields.
+	* config/i386/i386.opt: Add IntegerRange for -mbranch-cost.
+
+2017-06-28  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd ((X & ~Y) | (~X & Y)): Generalize to + and ^.
+	(x * C EQ/NE y * C): New transformation.
+
+2017-06-28  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* genmultilib (combination_space): Accept '+' in option names.
+
+2017-06-28  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/81224
+	* asan.c (instrument_derefs): Bail out inner references
+	that are hard register variables.
+
+2017-06-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81175
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use def_builtin
+	rather than def_builtin_pure for __builtin_ia32_gatherpf*.
+
+2017-06-28  Richard Biener  <rguenther@suse.de>
+
+	* tree-vectorizer.h (vect_get_vec_defs): Remove.
+	(vect_get_slp_defs): Adjust.
+	* tree-vect-loop.c (get_initial_defs_for_reduction): Split
+	out from ...
+	* tree-vect-slp.c (vect_get_constant_vectors): ... here and
+	simplify.
+	* tree-vect-loop.c (vect_create_epilog_for_reduction): Use
+	get_initial_defs_for_reduction instead of vect_get_vec_defs.
+	(vectorizable_reduction): Adjust.
+	* tree-vect-slp.c (vect_get_constant_vectors): Remove reduction
+	handling.
+	(vect_get_slp_defs): Likewise.
+	* tree-vect-stmts.c (vect_get_vec_defs): Make static and adjust.
+	(vectorizable_bswap): Adjust.
+	(vectorizable_call): Likewise.
+	(vectorizable_conversion): Likewise.
+	(vectorizable_assignment): Likewise.
+	(vectorizable_shift): Likewise.
+	(vectorizable_operation): Likewise.
+	(vectorizable_store): Likewise.
+	(vectorizable_condition): Likewise.
+	(vectorizable_comparison): Likewise.
+
+2017-06-28  Michael Collison  <michael.collison@arm.com>
+
+	PR target/68535
+	* config/arm/arm.c (gen_ldm_seq): Remove last unnecessary
+	set of base_reg
+	(arm_gen_movmemqi): Removed unused variable 'i'.
+	Convert 'for' loop into 'while' loop.
+	(arm_expand_prologue): Remove last unnecessary set of insn.
+	(thumb_pop): Remove unused variable 'pushed_words'.
+	(thumb_exit): Remove last unnecessary set of regs_to_pop.
+
+2017-06-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/predicates.md: Use s390_rel_address_ok_p.
+	* config/s390/s390-protos.h: Add prototype of
+	s390_rel_address_ok_p.
+	* config/s390/s390.c (s390_got_symbol): New function.
+	(s390_rel_address_ok_p): New function.
+	(legitimize_pic_address): Use s390_rel_address_ok_p.
+	(s390_load_got): Use s390_got_symbol.
+	(s390_option_override): Issue error if
+	-mno-pic-data-is-text-relative is used without -fpic/-fPIC.
+	* config/s390/s390.h (TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE):
+	New macro.
+	* config/s390/s390.opt: New option mpic-data-is-text-relative.
+
+2017-06-27  Andrew Pinski  <apinski@cavium.com>
+
+	* match.pd (X >/>=/</<= 0 ? 1.0 : -1.0): New patterns.
+	(X * copysign (1.0, X)): New pattern.
+	(X * copysign (1.0, -X)): New pattern.
+	(copysign (-1.0, CST)): New pattern.
+
+2017-06-27  Joseph Myers  <joseph@codesourcery.com>
+
+	* genmultilib (combination_space): Remove variable.
+	Validate reuse rules against regular expression for any sequence
+	of multilib options in any order.
+
+2017-06-27  Michael Collison  <michael.collison@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_combine<mode>): Directly
+	call aarch64_split_simd_combine.
+	* (aarch64_combine_internal<mode>): Delete pattern.
+	* config/aarch64/aarch64.c (aarch64_split_simd_combine):
+	Allow register and subreg operands.
+
+2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
+
+	* config/i386/vxworks.h (ASM_SPEC): Remove definition. No target
+	specific need, just fallback on defaults.
+	(ASM_OUTPUT_ALIGNED_BSS): Add #undef before #define.
+
+2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
+	    Olivier Hainque  <hainque@adacore.com>
+
+	* config/i386/vxworks.h (DBX_REGISTER_NUMBER): Pick distinct
+	map for 64bits.
+	(TARGET_OS_CPP_BUILTINS): builtin_define CPU to X86_64 for 64bit
+	targets. Pick a default if no particular attempt applied.
+	(STACK_CHECK_PROTECT): Double for 64bit targets, which have
+	larger contexts.
+
+2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
+
+	* config.gcc (i*86-wrs-vxworks7): Handle new acceptable triplet.
+	(x86_64-wrs-vxworks7): Likewise.
+
+2017-06-27  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/81223
+	* ubsan.c (instrument_null): Check get_base_address's result for null.
+
+2017-06-27  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd ((A+-B)+(C-A), (A+B)-(A-C)): New transformations.
+
+2017-06-27  Marc Glisse  <marc.glisse@inria.fr>
+
+	* builtin-types.def (BT_FENV_T_PTR, BT_CONST_FENV_T_PTR,
+	BT_FEXCEPT_T_PTR, BT_CONST_FEXCEPT_T_PTR): New primitive types.
+	(BT_FN_INT_FENV_T_PTR, BT_FN_INT_CONST_FENV_T_PTR,
+	BT_FN_INT_FEXCEPT_T_PTR_INT, BT_FN_INT_CONST_FEXCEPT_T_PTR_INT):
+	New function types.
+	* builtins.def (BUILT_IN_FECLEAREXCEPT, BUILT_IN_FEGETENV,
+	BUILT_IN_FEGETEXCEPTFLAG, BUILT_IN_FEGETROUND,
+	BUILT_IN_FEHOLDEXCEPT, BUILT_IN_FERAISEEXCEPT,
+	BUILT_IN_FESETENV, BUILT_IN_FESETEXCEPTFLAG,
+	BUILT_IN_FESETROUND, BUILT_IN_FETESTEXCEPT,
+	BUILT_IN_FEUPDATEENV): New builtins.
+	* tree-core.h (TI_FENV_T_PTR_TYPE, TI_CONST_FENV_T_PTR_TYPE,
+	TI_FEXCEPT_T_PTR_TYPE, TI_CONST_FEXCEPT_T_PTR_TYPE): New entries.
+	* tree.h (fenv_t_ptr_type_node, const_fenv_t_ptr_type_node,
+	fexcept_t_ptr_type_node, const_fexcept_t_ptr_type_node): New
+	macros.
+	(builtin_structptr_types): Adjust size.
+	* tree.c (builtin_structptr_types): Add four entries.
+
+2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
+	    Olivier Hainque  <hainque@adacore.com>
+
+	* config/vxworks.h (VXWORKS_LIB_SPEC): Incorporate ...
+	(TLS_SYM): New local macro, forcing reference to __tls__ on
+	link command lines for VxWorks 7 RTPs, triggering initialization
+	of tlsLib.
+	(VXWORKS_HAVE_TLS): New macro. State whether the target VxWorks
+	OS features TLS support, true for RTPs on VxWorks 7.
+	* config/vxworks.c (vxworks_override_options): Setup emutls
+	accordingly.
+
+2017-06-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* predict.c (test_prediction_value_range): Use -1U instead of -1
+	to avoid narrowing conversion warning.
+	* dumpfile.c (dump_options): Wrap all value into dump_flags_t cast
+	to avoid narrowing conversion warning.
+	* opt-functions.awk (var_ref): Return (unsigned short) -1 instead of
+	-1.
+	* optc-gen.awk (END): Expect (unsigned short) -1 instead of -1.
+
+2017-06-27  Jerome Lambourg  <lambourg@adacore.com>
+
+	* config/vxworks.h (VXWORKS_LIBS_RTP): Alternative definition for
+	64bit configurations.
+	(PTR_DIFF_TYPE): Alternative definition for TARGET_LP64.
+	(SIZE_TYPE): Likewise.
+	* config/vxworks.c (vxworks_emutls_var_fields): Use
+	long_unsigned_type_node instead of unsigned_type_node as the offset
+	field type, which is "pointer" mode in emutls.c.
+
+2017-06-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81209
+	* ubsan.c (ubsan_encode_value): Initialize DECL_CONTEXT on var.
+
+	PR middle-end/81207
+	* gimple-fold.c (replace_call_with_call_and_fold): Handle
+	gimple_vuse copying separately from gimple_vdef copying.
+
+2017-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* value-prof.c (free_hist): Remove call to memset and the enclosing if
+	condition.
+
+2017-06-26  Jerome Lambourg  <lambourg@adacore.com>
+	    Olivier Hainque  <hainque@adacore.com>
+
+	* config.gcc (*-*-vxworks*): Add TARGET_VXWORKS7=1 to tm_defines
+	for all vxworks7 targets.
+	* config/vxworks.h (TARGET_VXWORKS7): If not defined, define to 0.
+	(VXWORKS_ADDITIONAL_CPP_SPEC): Alternative definition for VXWORKS7.
+	(VXWORKS_LIBS_RTP, VXWORKS_LIBS_RTP_DIR): New macros, allowing
+	variations for VX6/VX7 and 32/64bits later on in ...
+	(VXWORKS_LIB_SPEC): Leverage new macros.
+	(VXWORKS_OS_CPP_BUILTINS): Define _VSB_CONFIG_FILE for VXWORKS7,
+	as well as _ALLOW_KEYWORD_MACROS when "inline" is not a keyword.
+
+2017-06-26  Jerome Lambourg  <lambourg@adacore.com>
+
+	* config/vxworks.h (VXWORKS_OS_CPP_BUILTINS): builtin_define
+	_VX_TOOL_FAMILY and _VX_TOOL to gnu.
+
+2017-06-26  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c: Add support for built-in functions
+	vector bool char vec_reve (vector bool char);
+	vector signed char vec_reve (vector signed char);
+	vector unsigned char vec_reve (vector unsigned char);
+	vector bool int vec_reve (vector bool int);
+	vector signed int vec_reve (vector signed int);
+	vector unsigned int vec_reve (vector unsigned int);
+	vector bool long long vec_reve (vector bool long long);
+	vector signed long long vec_reve (vector signed long long);
+	vector unsigned long long vec_reve (vector unsigned long long);
+	vector bool short vec_reve (vector bool short);
+	vector signed short vec_reve (vector signed short);
+	vector double vec_reve (vector double);
+	vector float vec_reve (vector float);
+	* config/rs6000/rs6000-builtin.def (VREVE_V2DI, VREVE_V4SI,
+	VREVE_V8HI, VREVE_V16QI, VREVE_V2DF, VREVE_V4SF, VREVE): New builtin.
+	* config/rs6000/altivec.md (UNSPEC_VREVEV): New UNSPEC.
+	(altivec_vreve): New pattern.
+	* config/rs6000/altivec.h (vec_reve): New define.
+	* doc/extend.texi (vec_rev): Update the built-in documentation file
+	for the new built-in functions.
+
+2016-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/71815
+	* gimple-ssa-strength-reduction.c (uses_consumed_by_stmt): New
+	function.
+	(find_basis_for_candidate): Call uses_consumed_by_stmt rather than
+	has_single_use.
+	(slsr_process_phi): Likewise.
+	(replace_uncond_cands_and_profitable_phis): Don't replace a
+	multiply candidate with a stride of 1 (copy or cast).
+	(phi_incr_cost): Call uses_consumed_by_stmt rather than
+	has_single_use.
+	(lowest_cost_path): Likewise.
+	(total_savings): Likewise.
+
+2017-06-26  Richard Biener  <rguenther@suse.de>
+
+	PR target/81175
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins):
+	Use def_builtin_pure for all gather builtins.
+
+2017-06-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81203
+	* tree-tailcall.c (find_tail_calls): Do not move stmts into
+	non-dominating BBs.
+
+2017-06-26  Marek Polacek  <polacek@redhat.com>
+
+	PR c/80116
+	* doc/invoke.texi: Document -Wmultistatement-macros.
+
+2017-06-26  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* doc/sourcebuild.texi (ARM-specific attributes): Document new
+	arm_neon_ok_no_float_abi effective target.
+
+2017-06-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80928
+	* cfghooks.c (duplicate_block): Do not copy BB_DUPLICATED flag.
+	(copy_bbs): Set BB_DUPLICATED flag early.
+	(execute_on_growing_pred): Do not execute for BB_DUPLICATED
+	marked blocks.
+	(execute_on_shrinking_pred): Likewise.
+	* tree-ssa.c (ssa_redirect_edge): Do not look for PHI args in
+	BB_DUPLICATED blocks.
+	* tree-ssa-phionlycoprop.c (eliminate_degenerate_phis_1): Properly
+	iterate over all PHIs considering removal of *gsi.
+
+2017-06-23  Jim Wilson  <jim.wilson@linaro.org>
+
+	* doc/invoke.texi (AArch64 Options, -mtune): Re-add falkor and
+	qdf24xx.
+
+2017-06-23  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-string.c: (expand_block_clear,
+	do_load_for_compare, select_block_compare_mode,
+	compute_current_alignment, expand_block_compare,
+	expand_strncmp_align_check, expand_strn_compare,
+	expand_block_move, rs6000_output_load_multiple)
+	Move functions related to string/block move/compare
+	to a separate file.
+	* config/rs6000/rs6000.c: Move above functions to rs6000-string.c.
+	* config/rs6000/rs6000-protos.h (rs6000_emit_dot_insn): Add prototype
+	for this function which is now used in two files.
+	* config/rs6000/t-rs6000: Add rule to compile rs6000-string.o.
+	* config.gcc: Add rs6000-string.o to extra_objs for
+	targets powerpc*-*-* and rs6000*-*-*.
+
+2017-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/80510
+	* config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in
+	32-bit, since indexed is not valid for DImode.
+	(mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA
+	3.0 d-form load/stores to be the same as mov<mode>_hardfloat64.
+	(define_peephole2 for Altivec d-form load): Add 32-bit support.
+	(define_peephole2 for Altivec d-form store): Likewise.
+
+	PR ipa/81185
+	* multiple_target.c (create_dispatcher_calls): Only create the
+	dispatcher call if the function is the default clone of a
+	versioned function.
+
+2017-06-23  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR middle-end/80902
+	* builtins.c (expand_builtin_atomic_fetch_op): If emitting code after
+	a call, force the call to not be a tail call.
+
+2017-06-23  Jeff Law  <law@redhat.com>
+
+	* doc/contrib.texi: Add entry for Steven Pemberton's work on
+	enquire.
+
+2017-06-23  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c: Add include of ssa-propagate.h for
+	update_call_from_tree().  (rs6000_gimple_fold_builtin): Add
+	handling for early expansion of vector shifts (sl,sr,sra,rl).
+	(builtin_function_type): Add vector shift right instructions
+	to the unsigned argument list.
+
+2017-06-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	rtl-optimizatoin/79286
+	* ira.c (update_equiv_regs): Revert to using may_trap_or_fault_p again.
+	* rtlanal.c (rtx_addr_can_trap_p_1): SYMBOL_REF_FUNCTION_P can never
+	trap.  PIC register plus a const unspec without offset can never trap.
+
+2017-06-23  Marc Glisse  <marc.glisse@inria.fr>
+
+	* tree.h (builtin_structptr_type): New type.
+	(builtin_structptr_types): Declare new array.
+	* tree.c (builtin_structptr_types): New array.
+	(free_lang_data, build_common_tree_nodes): Use it.
+
+2017-06-23  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR c++/81187
+	* doc/invoke.texi (-Wnoexcept-type): Fix name of option, from
+	-Wnoexcept.
+
+2017-06-22  Matt Turner  <mattst88@gmail.com>
+
+	* config/i386/driver-i386.c (host_detect_local_cpu): Add Kaby
+	Lake models to skylake case.  Assume skylake for unknown
+	models with clflushopt.
+
+2017-06-22  Jeff Law  <law@redhat.com>
+
+	* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Handle
+	frame sizes that do not satisfy aarch64_uimm12_shift.
+
+2017-06-22  Jan Hubicka <hubicka@ucw.cz>
+
+	* profile-count.h (apply_probability,
+	apply_scale, probability_in): Fix checks for zero.
+
+2017-06-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* incpath.c (add_sysroot_to_chain): Allow for $SYSROOT prefix.
+	* doc/cppdiropts.texi (-I @var{dir}): Document it.
+
+2016-06-22  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop.c (vect_model_reduction_cost): Handle
+	COND_REDUCTION and INTEGER_INDUC_COND_REDUCTION without
+	REDUC_MAX_EXPR support.
+	(vectorizable_reduction): Likewise.
+	(vect_create_epilog_for_reduction): Likewise.
+
+2017-06-22  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* match.pd (A / (1 << B) -> A >> B): New.
+	* generic-match-head.c: Include optabs-tree.h.
+	* gimple-match-head.c: Likewise.
+	* optabs-tree.h (target_supports_op_p): New.
+	* optabs-tree.c (target_supports_op_p): New.
+
+2017-06-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* configure.ac (gcc_cv_ld_static_dynamic): Also check stderr for
+	$gcc_cv_ld --help output.
+	(gcc_cv_ld_demangle): Likewise.
+	(gcc_cv_ld_eh_frame_hdr): Likewise.
+	(gcc_cv_ld_pie): Likewise.
+	(gcc_cv_ld_as_needed): Likewise.  Prefer native forms unless $gnu_ld.
+	(gcc_cv_ld_buildid): Likewise.
+	(gcc_cv_ld_sysroot): Likewise.
+	(ld_bndplt_support): Likewise.
+	(ld_pushpopstate_support): Likewise.
+	* configure: Regenerate.
+	* config/sol2.h [!USE_GLD] (SYSROOT_SPEC): Define.
+
+2017-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/81151
+	* config/i386/sse.md (round<mode>2): Renumber match_dup and
+	operands indexes to avoid gap between operands and match_dups.
+
+2017-06-21  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
+	Increment Arith_shift and Arith_shift_reg by 1.
+	* config/aarch64/aarch64-tuning-flags.def (cheap_shift_extend):
+	New tuning flag.
+	* config/aarch64/aarch64.c (thunderx_tunings): Enable
+	AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND.
+	(aarch64_strip_extend): Add new argument and test for it.
+	(aarch64_cheap_mult_shift_p): New function.
+	(aarch64_rtx_mult_cost): Call aarch64_cheap_mult_shift_p and don't
+	add a cost if it is true.
+	Update calls to aarch64_strip_extend.
+	(aarch64_rtx_costs): Update calls to aarch64_strip_extend.
+
+2017-06-21  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-cores.def (thunderxt88p1): Use thunderxt88
+	tunings.
+	(thunderxt88): Likewise.
+	* config/aarch64/aarch64.c (thunderxt88_prefetch_tune): New variable.
+	(thunderx_prefetch_tune): New variable.
+	(thunderx2t99_prefetch_tune): Update for the correct values.
+	(thunderxt88_tunings): New variable.
+	(thunderx_tunings): Use thunderx_prefetch_tune instead of
+	generic_prefetch_tune.
+	(thunderx2t99_tunings): Use AUTOPREFETCHER_WEAK.
+
+2017-06-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>_lse,
+	SHORT): Relax operand 3 to aarch64_reg_or_zero and constraint to Z.
+	(aarch64_compare_and_swap<mode>_lse, GPI): Likewise.
+	(aarch64_atomic_cas<mode>, SHORT): Likewise for operand 2.
+	(aarch64_atomic_cas<mode>, GPI): Likewise.
+
+2017-06-21  Martin Liska  <mliska@suse.cz>
+
+	* gimplify.c (gimplify_label_expr): Insert GIMPLE_PREDICT
+	statements on cold and hot labels.
+	* predict.c (tree_estimate_probability_bb): Remove the
+	prediction from this place.
+
+2017-06-21  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/79489
+	* gimplify.c (maybe_add_early_return_predict_stmt): New
+	function.
+	(gimplify_return_expr): Call the function.
+	* predict.c (tree_estimate_probability_bb): Remove handling
+	of early return.
+	* predict.def: Update comment about early return predictor.
+	* gimple-predict.h (is_gimple_predict): New function.
+	* predict.def: Change default value of early return to 66.
+	* tree-tailcall.c (find_tail_calls): Skip GIMPLE_PREDICT
+	statements.
+	* passes.def: Put pass_strip_predict_hints to the beginning of
+	IPA passes.
+
+2017-06-21  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (gen_decl_die): Remove the guard to skip file-scope
+	FUNCTION_DECL declarations.
+	(dwarf2out_early_global_decl): Remove the guard to skip FUNCTION_DECL
+	declarations.
+	(dwaf2out_decl): Likewise.
+	* godump.c (go_early_global_decl): Skip call to the real debug hook
+	for FUNCTION_DECL declarations.
+	* passes.c (rest_of_decl_compilation): Skip call to the
+	early_global_decl debug hook for FUNCTION_DECL declarations, unless
+	-fdump-go-spec is passed.
+
+2017-06-21  Marc Glisse  <marc.glisse@inria.fr>
+
+	* config/i386/i386.c (struct builtin_isa): New field pure_p.
+	Reorder for compactness.
+	(def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
+	(def_builtin_pure, def_builtin_pure2): New functions.
+	(ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.
+
+2017-06-21  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (nop_convert): New predicate.
+	((A +- CST1) +- CST2): Allow some NOP conversions.
+
+2017-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/81130
+	* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
+	with ctors/dtors if GOVD_SHARED is set.
+
+2017-06-21  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (movti_aarch64):
+	Emit mov rather than orr.
+	(movtf_aarch64): Likewise.
+	* config/aarch64/aarch64-simd.md (aarch64_simd_mov):
+	Emit mov rather than orr.
+
+2017-06-21  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_simd_dup):
+	Swap alternatives, make integer dup more expensive.
+
+2017-06-21  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
+	Return true for non-tls symbols.
+
+2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-cores.def (cortex-a55): New.
+	(cortex-a75): Likewise.
+	(cortex-a75.cortex-a55): Likewise.
+	* config/aarch64/aarch64-tune.md: Regenerate.
+	* doc/invoke.texi (-mtune): Document new values for -mtune.
+
+2017-06-21  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Add Options, Features for dg-add-options): Add
+	stack_size feature.
+	(Effective-Target Keywords, Other attributes): Suggest using
+	dg-add-options stack_size feature to get stack limit in stack_size
+	effective target documentation.
+
+2017-06-21  Julian Brown  <julian@codesourcery.com>
+	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi)
+	(aarch64_crypto_pmullv2di): Change type attribute to crypto_pmull.
+	* config/aarch64/thunderx2t99.md (thunderx2t99_pmull): New
+	reservation.
+	* config/arm/cortex-a53.md (cortex_a53_advsimd_type): Add crypto_pmull to
+	attribute type list for neon_multiply.
+	* config/arm/cortex-a57.md (cortex_a57_neon_type): Add crypto_pmull to
+	attribute type list for neon_multiply.
+	* config/arm/crypto.md (crypto_vmullp64): Change type to crypto_pmull.
+	* config/arm/exynos-m1.md (exynos_m1_neon_type): Add crypto_pmull to
+	attribute type list for neon_multiply.
+	* config/arm/types.md (crypto_pmull): Add.
+	* config/arm/xgene1.md (xgene1_neon_pmull): Add crypto_pmull to
+	attribute type list.
+
+2017-06-20  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config.gcc (armv6*-*-freebsd*): Change the target_cpu_cname to
+	arm1176jzf-s.
+
+2017-06-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* ira-costs.c (find_costs_and_classes): Initialize cost_classes later
+	to make sure not to dereference a NULL cost_classes_ptr pointer.
+
+2017-06-20  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
+	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
+	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
+	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
+	VMULOSW): New enum "unspec" values.
+	(vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
+	vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si,
+	altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
+	altivec_vmulosw): New patterns.
+	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
+	VMULOSW): Add definitions.
+
+2017-06-20  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/i386.c: Fix rounding expand for new pattern.
+	* config/i386/subst.md: Fix pattern (parallel -> unspec).
+
+2017-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-option-extensions.def (rcpc): New.
+	* config/aarch64/aarch64.h (AARCH64_FL_RCPC): New.
+
+2017-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-option-extensions.def (fp16): Fix expected
+	feature string.
+
+2017-06-20  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64-cores.def: Rearrange to sort by
+	architecture, then by implementer ID.
+	* config/aarch64/aarch64-tune.md: Regenerate.
+
+2017-06-20  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81097
+	* fold-const.c (split_tree): Fold to type before negating.
+
+2017-06-20  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c
+	(selftest::test_fixit_deletion_affecting_newline): New function.
+	(selftest::diagnostic_show_locus_c_tests): Call it.
+
+2017-06-20  Andreas Schwab  <schwab@suse.de>
+
+	PR target/80970
+	* config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d"
+	instead of "+d".
+
+2017-06-20  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
+
+	* config/arm/arm-c.c (arm_cpu_builtins): New block to define
+	__ARM_FEATURE_COPROC according to support.
+
+2017-06-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
+	Rewritten to avoid overflow for > 32-bit pointers.
+
+	PR sanitizer/81125
+	* ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser
+	by removing enum keyword.
+	(ubsan_type_descriptor): Likewise.  Formatting fix.
+
+	PR target/81121
+	* config/i386/i386.md (TARGET_USE_VECTOR_CONVERTS float si->{sf,df}
+	splitter): Require TARGET_SSE2 in the condition.
+
+2017-06-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/79799
+	* config/rs6000/rs6000.c (rs6000_expand_vector_init): Add support
+	for doing vector set of SFmode on ISA 3.0.
+	* config/rs6000/vsx.md (vsx_set_v4sf_p9): Likewise.
+	(vsx_set_v4sf_p9_zero): Special case setting 0.0f to a V4SF
+	element.
+	(vsx_insert_extract_v4sf_p9): Add an optimization for inserting a
+	SFmode value into a V4SF variable that was extracted from another
+	V4SF variable without converting the element to double precision
+	and back to single precision vector format.
+	(vsx_insert_extract_v4sf_p9_2): Likewise.
+
+2017-06-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Multiply
+	in UWHI to avoid undefined overflow.
+
+	PR sanitizer/81125
+	* ubsan.h (enum ubsan_encode_value_phase): New.
+	(ubsan_encode_value): Change second argument to
+	enum ubsan_encode_value_phase with default value of
+	UBSAN_ENCODE_VALUE_GENERIC.
+	* ubsan.c (ubsan_encode_value): Change second argument to
+	enum ubsan_encode_value_phase PHASE from bool IN_EXPAND_P,
+	adjust uses, for UBSAN_ENCODE_VALUE_GENERIC use just
+	create_tmp_var_raw instead of create_tmp_var and use a
+	TARGET_EXPR.
+	(ubsan_expand_bounds_ifn, ubsan_build_overflow_builtin,
+	instrument_bool_enum_load, ubsan_instrument_float_cast): Adjust
+	ubsan_encode_value callers.
+
+	PR sanitizer/81111
+	* ubsan.c (ubsan_encode_value): If current_function_decl is NULL,
+	use create_tmp_var_raw instead of create_tmp_var, mark it addressable
+	just by setting TREE_ADDRESSABLE on the result and use a TARGET_EXPR.
+
+2017-06-19  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81118
+	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop): Clear niter
+	estimates if we changed anything.
+
+2017-06-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80887
+	* tree-ssa-sccvn.c (mprts_hook_cnt): New global.
+	(vn_lookup_simplify_result): Allow only mprts_hook_cnt succesful
+	simplified lookups, then reset mprts_hook.
+	(vn_nary_build_or_lookup_1): Set mprts_hook_cnt to 9 before
+	simplifying.
+	(try_to_simplify): Likewise.
+
+2017-06-19  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/80879
+	* gimplify.c (gimplify_switch_expr):
+	Initialize live_switch_vars for SWITCH_BODY == STATEMENT_LIST.
+
+2017-06-19  Martin Liska  <mliska@suse.cz>
+
+	* doc/install.texi: Document that PGO runs in 4 stages.
+
+2017-06-19  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/80732
+	* attribs.c (make_dispatcher_decl): Do not append '.ifunc'
+	to dispatcher function name.
+	* multiple_target.c (replace_function_decl): New function.
+	(create_dispatcher_calls): Redirect both edges and references.
+
+2017-06-19  Jan Hubicka <hubicka@ucw.cz>
+
+	* profile-count.c (profile_count::dump): Dump quality.
+	(profile_count::differs_from_p): Update for unsigned val.
+	* profile-count.h (profile_count_quality): New enum.
+	(profile_count): Turn m_val to 62bit unsigned, add quality tracking.
+
+2017-06-19  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-loop-niter.h (estimate_numbers_of_iterations): Take
+	struct function as arg.
+	(estimate_numbers_of_iterations): Export overload with loop arg.
+	(free_numbers_of_iterations_estimates_loop): Use an overload of
+	free_numbers_of_iterations_estimates instead.
+	* tree-cfg.c (remove_bb): Adjust.
+	* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Likewise.
+	* tree-parloops.c (gen_parallel_loop): Likewise.
+	* tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
+	Likewise.
+	(tree_unroll_loops_completely): Likewise.
+	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
+	Use an overload instead and export.
+	(estimated_loop_iterations): Adjust.
+	(max_loop_iterations): Likewise.
+	(likely_max_loop_iterations): Likewise.
+	(estimate_numbers_of_iterations): Take struct function as arg
+	and adjust.
+	(loop_exits_before_overflow): Adjust.
+	(free_numbers_of_iterations_estimates_loop): Use an overload.
+	* tree-vect-loop.c (vect_analyze_loop_form): Adjust.
+	* tree-vectorizer.c (vect_free_loop_info_assumptions): Likewise.
+
+2017-06-19  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/81112
+	* ipa-prop.c (find_constructor_constant_at_offset): Handle
+	RANGE_EXPR conservatively.
+
+2017-06-16  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	definitions for vec_float, vec_float2, vec_floato,
+	vec_floate built-ins.
+	* config/rs6000/vsx.md (define_c_enum "unspec"): Add RTL code
+	for instructions vsx_xvcvsxws vsx_xvcvuxwsp, float2, floato and
+	floate.
+	* config/rs6000/rs6000-builtin.def (FLOAT2_V2DI, FLOATE_V2DF,
+	FLOATE_2DI, FLOATO_V2DF, FLOATEE_V2DI, XVCVSXWSP_V4SF,
+	UNS_FLOATO_V2DI, UNS_FLOATE_V2DI): Add definitions.
+	* config/altivec.md (define_insn "p8_vmrgew_<mode>",
+	define_mode_attr VF_sxddp): Add V4SF type to p8_vmrgew.
+	* config/rs6000/altivec.h (vec_float, vec_float2, vec_floate,
+	vec_floato): Add builtin defines.
+	* doc/extend.texi (vec_float, vec_float2, vec_floate, vec_floato):
+	Update the built-in documentation file for the new built-in
+	functions.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.opt (marm): Mark as the negative of of -mthumb.
+	(mthumb): Mark as the negative of -marm.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* doc/invoke.texi (ARM Options, -mcpu): Document supported
+	extension options.
+	(ARM Options, -mtune): Document that this accepts the same
+	extension options as -mcpu.
+	(ARM Options, -mfpu): Document addition of -mfpu=auto.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* doc/invoke.texi (ARM Options, -march=): Document new syntax and
+	permitted extensions.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm-cpus.in (armv7): Add extension +nofp.
+	(armv7-r): Add aliases vfpv3xd and vfpv3-d16.
+	(armv8-m.main): Add option +nodsp.
+	* config/arm/arm-cpu-cdata.h: Regenerated.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/t-fuchsia: New file.
+	* config.gcc (arm*-*-fuchsia*): Use it.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/t-symbian: Rewrite for new option infrastructure.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/t-phoenix (MULTILIB_REUSE): Clear variable.
+	(MULTILIB_REQUIRED): Likewise.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/t-linux-eabi (MULTILIB_EXCEPTIONS): Set to empty.
+	(MULTILIB_RESUE): Likewise.
+	(MULTILIB_MATCHES): Likewise.
+	(MULTLIB_REQUIRED): Likewise.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/t-rtems: Rewrite for new option framework.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/t-aprofile (v7_a_nosimd_variants, v7_a_simd_variants)
+	(v7ve_nosimd_variatns, v7ve_vfpv3_simd_variants)
+	(v7ve_vfpv4_simd_variants, v8_a_nosimd_variants, v8_a_simd_variants)
+	(v8_1_a_simd_variants, v8_2_a_simd_variants): Move to ...
+	* config/arm/t-multilib: ... here.
+	(MULTILIB_OPTIONS): Add armv7 and armv7+fp architectures.
+	(MULTILIB_MATCHES): Use armv7 libraries for armv7-r.  Also use for
+	armv7-a and armv8*-a when A-profile libraries have not been built.
+	* config/arm/t-rmprofile: Rewrite.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* genmultilib (multilib_reuse): Allow an explicit period to be escaped
+	with a backslash.  Remove the backslash after substituting unescaped
+	periods.
+	* doc/fragments.texi (MULTILIB_REUSE): Document it.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config.gcc: (arm*-*-*): When building a-profile libraries, force
+	the driver to pass through the default setting of -mfloat-abi.
+	* common/config/arm/arm-common.c (arm_target_thumb_only): Return -marm
+	rather than NULL.
+	* config/arm/t-multilib (MULTILIB_REUSE): Initialize to empty.
+	(all_feat_combs): New rule.
+	(MULTILIB_OPTIONS): Use explicit ARM and Thumb directories.  Rework
+	default libraries.
+	* config/arm/t-aprofile: Rewrite.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.h (FPUTYPE_AUTO): Define.
+	* config/arm/arm.c (arm_option_override): Use FPUTYPE_AUTO if the
+	fpu is not specified by the user/command-line.
+	* config/arm/bpabi.h (FPUTYPE_DEFAULT): Delete.
+	* config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Delete.
+	* config/arm/linux-elf.h (FPUTYPE_DEFAULT): Delete.
+	* config/arm/vxworks.h (FPUTYPE_DEFAULT): Delete.
+	* common/config/arm/arm-common.c (arm_canon_arch_option): Use
+	FPUTYPE_AUTO insted of FPUTYPE_DEFAULT.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/elf.h (MULTILIB_DEFAULTS): Delete.
+	* config/arm/t-arm-elf: Rewritten.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.h (TARGET_HARD_FLOAT): Also check that we
+	have some floating-point instructions.
+	(TARGET_SOFT_FLOAT): Define as inverse of TARGET_HARD_FLOAT.
+	(TARGET_MAYBE_HARD_FLOAT): New macro.
+	* config/arm/arm-builtins.c (arm_init_builtins): Use
+	TARGET_MAYBE_HARD_FLOAT.
+	* config/arm/arm.c (arm_option_override): Use TARGET_HARD_FLOAT_ABI.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* common/config/arm/arm-common.c: Define INCLUDE_LIST.
+	(configargs.h): Include it.
+	(arm_print_hint_for_fpu_option): New function.
+	(arm_parse_fpu_option): New function.
+	(candidate_extension): New class.
+	(arm_canon_for_multilib): New function.
+	* config/arm/arm.h (CANON_ARCH_SPEC_FUNCTION): New macro.
+	(EXTRA_SPEC_FUNCTIONS): Add CANON_ARCH_SPEC_FUNCTION.
+	(ARCH_CANONICAL_SPECS): New macro.
+	(DRIVER_SELF_SPECS): Add ARCH_CANONICAL_SPECS.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config.gcc (arm*-*-*): Ensure both target_cpu_cname and with_cpu
+	are set after handling multilib fragments.  Set target_cpu_default2
+	from with_cpu.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config.gcc (arm*-*-fucshia*): Set target_cpu_cname to the real
+	cpu name.
+	(arm*-*-*): Set target_cpu_default2 to a quoted string.
+	* config/arm/parsecpu.awk (check_cpu): Validate any extension
+	options.
+	(check_arch): Likewise.
+	* config/arm/arm.c (arm_configure_build_target): Handle
+	TARGET_CPU_DEFAULT being a string constant.  Scan any feature
+	options in the default.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm-protos.h (cpu_arch_extension): Add field to record
+	when an option is an alias of another.
+	* config/arm/parsecpu.awk (optalias): New parser token.
+	(gen_comm_data): Mark non-alias options as such.  Emit entries
+	for extension aliases.
+	* config/arm/arm-cpus.in (armv5e): Make vfpv2 an alias.
+	(armv5te, armv5tej, armv6, armv6j, armv6k, armv6z): Likewise.
+	(armv6kz, armv6zk, armv6t2): Likewise.
+	(armv7): Make vfpv3-d16 an alias.
+	(armv7-a): Make vfpv3-d16, neon and neon-vfpv3 aliases.	 Sort in
+	canonical order.
+	(armv7ve): Make vfpv4-d16, neon-vfpv3 and neon-vfpv4 aliases.
+	Sort in canonical order.
+	(armv8-a): Sort in canonical order.
+	(armv8.1-a, armv8.2-a):	 Likewise.
+	(generic-armv7-a): Make neon and neon-vfpv3 aliases.  Sort in
+	canonical order.
+	(cortex-a9): Sort in canonical order.
+	* config/arm/arm.c (selftests.h): Include it.
+	(arm_test_cpu_arch_data): New function.
+	(arm_run_self_tests): New function.
+	(TARGET_RUN_TARGET_SELFTESTS): Redefine.
+	(targetm): Move declaration to the end of the file.
+	* arm-cpu-cdata.h: Regenerated.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.h (TARGET_MODE_SPECS): Add additional parameter to
+	call to target_mode_check describing the type of option passed.
+	* common/config/arm/arm-common.c (arm_arch_core_flag): Delete.
+	(arm_target_thumb_only): Use arm_parse_arch_option_name or
+	arm_parse_cpu_option_name to match parameters against list of
+	available targets.
+	* config/arm/parsecpu.awk (gen_comm_data): Don't generate
+	arm_arch_core_flags data structure.
+	* config/arm/arm-cpu_cdata.h: Regenerated.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* common/config/arm/arm-common.c (arm_initialize_isa): Moved here from
+	config/arm/arm.c.
+	(arm_print_hint_for_cpu_option): Likewise.
+	(arm_print_hint_for_arch_option): Likewise.
+	(arm_parse_cpu_option_name): Likewise.
+	(arm_parse_arch_option_name): Likewise.
+	* config/arm/arm.c (arm_identify_fpu_from_isa): Use the computed number
+	of entries in the all_fpus list.
+	* config/arm/arm-protos.h (all_architectures, all_cores): Declare.
+	(arm_parse_cpu_option_name): Declare.
+	(arm_parse_arch_option_name): Declare.
+	(arm_parse_option_features): Declare.
+	(arm_intialize_isa): Declare.
+	* config/arm/parsecpu.awk (gen_data): Move CPU and architecture
+	data tables to ...
+	(gen_comm_data): ... here.  Make definitions non-static.
+	* config/arm/arm-cpu-data.h: Regenerated.
+	* config/arm/arm-cpu-cdata.h: Regenerated.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm-protos.h (arm_build_target): Remove arch_core.
+	(cpu_arch_extension): New structure.
+	(cpu_arch_option, arch_option, cpu_option): New structures.
+	* config/arm/parsecpu.awk (gen_headers): Build an enumeration of
+	architecture types.
+	(gen_data): Generate new format data tables.
+	* config/arm/arm.c (cpu_tune): New structure.
+	(cpu_option, processors): Delete.
+	(arm_print_hint_for_core_or_arch): Delete.  Replace with ...
+	(arm_print_hint_for_cpu_option): ... this and ...
+	(arm_print_hint_for_arch_option): ... this.
+	(arm_parse_arch_cpu_name): Delete.  Replace with ...
+	(arm_parse_cpu_option_name): ... this and ...
+	(arm_parse_arch_option_name): ... this.
+	(arm_unrecognized_feature): Change type of target parameter to
+	cpu_arch_option.
+	(arm_parse_arch_cpu_features): Delete.	Replace with ...
+	(arm_parse_option_features): ... this.
+	(arm_configure_build_target): Rework to use new configuration data
+	tables.
+	(arm_print_tune_info): Rework for new configuration data tables.
+	* config/arm/arm-cpu-data.h: Regenerated.
+	* config/arm/arm-cpu.h: Regenerated.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* Makefile.in (OBJS): Move sbitmap.o from here ...
+	(OBJS-libcommon): ... to here.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm-isa.h (ISA_ALL_FPU_INTERNAL): Renamed from ISA_ALL_FPU.
+	(ISA_ALL_CRYPTO): New macro.
+	(ISA_ALL_SIMD): New macro
+	(ISA_ALL_FP): New macro.
+	* config/arm/arm.c (fpu_bitlist): Update initializer.
+	* config/arm/arm-cpus.in: Use new ISA_ALL macros to disable crypto,
+	simd or fp.
+	(arm9e): Add fpu.  Add option for nofp
+	(arm946e-s, arm966e-s, arm968e-s, arm10e, arm1020e, arm1022e): Likewise.
+	(arm926ej-s, arm1026ej-s): Likewise.
+	(generic-armv7-a): Add fpu.  Add options for simd, vfpv3, vfpv3-d16,
+	vfpv3-fp16, vfpv3-d16-fp16, vfpv4, vfpv4-d16, neon, neon-vfp3,
+	neon-fp16, neon-vfpv4, nofp and nosimd.
+	(cortex-a5, cortex-a7): Add fpu.  Add options for nosimd and nofp.
+	(cortex-a8): Add fpu.  Add option for nofp.
+	(cortex-a9): Add fpu.  Add options for nosimd and nofp.
+	(cortex-a12, cortex-a15, cortex-a17): Add fpu.	Add option for nofp.
+	(cortex-r4f): Add fpu.
+	(cortex-r5): Add fpu.  Add options for nofp.dp and nofp.
+	(cortex-r7): Use idiv option from architecture.	 Add fpu.  Add option
+	for nofp.
+	(cortex-r8): Likewise.
+	(cortex-m4): Add fpu.  Add option for nofp.
+	(cortex-a15.cortex-a7): Add fpu.  Add option for nofp.
+	(cortex-a17.cortex-a7): Likewise.
+	(cortex-a32): Add fpu.	Add options for crypto and nofp.
+	(cortex-a35, cortex-a53): Likewise.
+	(cortex-a57): Add fpu.	Add option for crypto.
+	(cortex-a72, cortex-a73): Likewise.
+	(exynos-m1): Likewise.
+	(cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
+	(cortex-a73.cortex-a35, cortex-a73.cortex-a53): Likewise.
+	(cortex-m33): Add fpu.	Add option for nofp.
+	* config/arm/arm-cpu-cdata.h: Regenerated
+	* config/arm/arm-cpu-data.h: Regenerated.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-cpus.in (armv5e): Add options fp, vfpv2 and nofp.
+	(armv5te, armv5tej): Likewise.
+	(armv6, armv6j, armv6k, armv6z, armv6kz, armv6zk, armv6t2): Likewise.
+	(armv7): Add options fp and vfpv3-d16.
+	(armv7-a): Add options fp, simd, vfpv3, vfpv3-d16, vfpv3-d16-fp16,
+	vfpv3-fp16, vfpv4, vfpv4-d16, neon, neon-vfpv3, neon-fp16, neon-vfpv4,
+	nofp and nosimd.
+	(armv7ve): Likewise.
+	(armv7-r): Add options fp, fp.sp, idiv, nofp and noidiv.
+	(armv7e-m): Add options fp, fpv5, fp.dp and nofp.
+	(armv8-a): Add nocrypto option.
+	(armv8.1-a, armv8.2-a): Likewise.
+	(armv8-m.main): add options fp, fp.dp and nofp.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm-cpus.in (armv8-a): Add options crc, simd crypto and
+	nofp.
+	(armv8-a+crc): Delete.
+	(armv8.1-a): Add options simd, crypto and nofp.
+	(armv8.2-a): Add options fp16, simd, crypto and nofp.
+	(armv8.2-a+fp16): Delete.
+	(armv8-m.main): Add option dsp.
+	(armv8-m.main+dsp): Delete.
+	(cortex-a8): Add fpu.  Add nofp option.
+	(cortex-a9): Add fpu.  Add nofp and nosimd options.
+	* config/arm/parsecpu.awk (gen_data): Generate option tables and
+	link to main cpu and architecture data structures.
+	(gen_comm_data): Only put isa attributes from the main architecture
+	in common tables.
+	(option): New statement for architecture and CPU entries.
+	* arm.c (struct cpu_option): New structure.
+	(struct processors): Add entry for options.
+	(arm_unrecognized_feature): New function.
+	(arm_parse_arch_cpu_name): Ignore any characters after the first
+	'+' character.
+	(arm_parse_arch_cpu_feature): New function.
+	(arm_configure_build_target): Separate out any CPU and architecture
+	features and parse separately.	Don't error out if -mfpu=auto is
+	used with only an architecture string.
+	(arm_print_asm_arch_directives): New function.
+	(arm_file_start): Call it.
+	* config/arm/arm-cpu-cdata.h: Regenerated.
+	* config/arm/arm-cpu-data.h: Likewise.
+	* config/arm/arm-tables.opt: Likewise.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/elf.h (ASM_SPEC): Only pass -mfpu through to the
+	assembler when it is not -mfpu=auto.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.h (BIG_LITTLE_SPEC): Delete macro.
+	(ASM_REWRITE_SPEC_FUNCTIONS): New macro.
+	(BIG_LITTLE_CPU_SPEC_FUNCTIONS): Delete macro.
+	(ASM_CPU_SPEC): Rewrite.
+	(MCPU_MTUNE_NATIVE_FUNCTIONS): New macro.
+	(EXTRA_SPEC_FUNCTIONS): Move outside of ifdef.	Use
+	MCPU_MTUNE_NATIVE_FUNCTIONS and ASM_REWRITE_SPEC_FUNCTIONS.  Remove
+	reference to BIG_LITTLE_CPU_SPEC_FUNCTIONS.
+	* common/config/arm/arm-common.c (arm_rewrite_selected_cpu): Ensure
+	copied string is NUL-terminated.  Also strip any characters prefixed
+	by '+'.
+	(arm_rewrite_selected_arch): New function.
+	(arm_rewrite_march): New function.
+
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/arm.opt (x_arm_arch_string): New TargetSave option.
+	(x_arm_cpu_string, x_arm_tune_string): Likewise.
+	(march, mcpu, mtune): Convert to string-based options.
+	* config/arm/arm.c (arm_print_hint_for_core_or_arch): New function.
+	(arm_parse_arch_cpu_name): New function.
+	(arm_configure_build_target): Use arm_parse_arch_cpu_name to
+	identify selected architecture or CPU.
+	(arm_option_save): New function.
+	(TARGET_OPTION_SAVE): Redefine.
+	(arm_option_restore): Restore string options.
+	(arm_option_print): Print string options.
+
+2017-06-16  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/80933
+	PR tree-optimization/80934
+	* builtins.c (fold_builtin_3): Do not handle bcmp here.
+	* gimple-fold.c (gimple_fold_builtin_bcmp): New function.
+	(gimple_fold_builtin_bcopy, gimple_fold_builtin_bzero): Likewise.
+	(gimple_fold_builtin): Call them.
+
+2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* gimple-ssa-isolate-paths.c (isolate_path): Set edge leading to path
+	as unlikely; update profile.
+
+2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (force_edge_cold): Handle declaring edges impossible
+	more aggresively.
+
+2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Update
+	profile.
+	(try_unroll_loop_completely): Fix reporting.
+
+2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-tail-merge.c (replace_block_by): Fix profile updating.
+
+2017-06-16  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	PR target/71778
+	* config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET
+	if given a non-constant argument for an intrinsic which requires a
+	constant.
+
+2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* profile.c (compare_freqs): New function.
+	(branch_prob): Sort edge list.
+	(find_spanning_tree): Assume that the list is priority sorted.
+
+2017-06-16  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81090
+	* passes.def (pass_record_bounds): Remove.
+	* tree-pass.h (make_pass_record_bounds): Likewise.
+	* tree-ssa-loop.c (pass_data_record_bounds, pass_record_bounds,
+	make_pass_record_bounds): Likewise.
+	* tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Do
+	not free niter estimates at the beginning but at the end.
+	* tree-scalar-evolution.c (scev_finalize): Free niter estimates.
+
+2017-06-16  Richard Biener  <rguenther@suse.de>
+
+	* tree-switch-conversion.c (emit_case_bit_tests): Adjust
+	initializer to workaround ICE in host GCC 4.8.
+
+2017-06-16  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-transform.c (update_noncloned_frequencies): Update also
+	counts.
+	(clone_inlined_nodes): Update.
+
+2017-06-16  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+	* config/aarch64/aarch64.c (qdf24xx_prefetch_tune): Update
+	prefetch settings, and enable prefetching by default at -O3.
+
+2017-06-16  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+	* config/aarch64/aarch64.c (aarch64_override_options_internal):
+	Set flag_prefetch_loop_arrays according to tuning data.
+
+2017-06-16  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+	* config/aarch64/aarch64-protos.h (struct cpu_prefetch_tune):
+	New tune structure.
+	(struct tune_params): Use cpu_prefetch_tune instead of cache_line_size.
+	[Unrelated to main purpose of the patch] Place the pointer field last
+	to enable type checking errors when tune structure are wrongly merged.
+	* config/aarch64/aarch64.c (generic_prefetch_tune,)
+	(exynosm1_prefetch_tune, qdf24xx_prefetch_tune,)
+	(thunderx2t99_prefetch_tune): New tune constants.
+	(tune_params *_tunings): Update all tunings (no functional change).
+	(aarch64_override_options_internal): Set PARAM_SIMULTANEOUS_PREFETCHES,
+	PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE, and PARAM_L2_CACHE_SIZE
+	from tunings structures.
+
+2017-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81094
+	* ubsan.c (instrument_null): Add T argument, use it instead
+	of computing it based on IS_LHS.
+	(instrument_object_size): Likewise.
+	(pass_ubsan::execute): Adjust instrument_null and
+	instrument_object_size callers to pass gimple_get_lhs or
+	gimple_assign_rhs1 result to it.  Use instrument_null instead of
+	calling get_base_address and instrument_mem_ref.  Handle
+	aggregate call arguments for object-size sanitization.
+
+2017-06-16  Yury Gribov  <tetra2005@gmail.com>
+
+	PR tree-optimization/81089
+	* tree-vrp.c (is_masked_range_test): Validate operands of
+	subexpression.
+
+2017-06-15  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/80560
+	* dumpfile.c (dump_register): Avoid calling memset to initialize
+	a class with a default ctor.
+	* gcc.c (struct compiler): Remove const qualification.
+	* genattrtab.c (gen_insn_reserv): Replace memset with initialization.
+	* hash-table.h: Ditto.
+	* ipa-cp.c (allocate_and_init_ipcp_value): Replace memset with
+	  assignment.
+	* ipa-prop.c (ipa_free_edge_args_substructures): Ditto.
+	* omp-low.c (lower_omp_ordered_clauses): Replace memset with
+	default ctor.
+	* params.h (struct param_info): Make struct members non-const.
+	* tree-switch-conversion.c (emit_case_bit_tests): Replace memset
+	with default initialization.
+	* vec.h (vec_copy_construct, vec_default_construct): New helper
+	functions.
+	(vec<T>::copy, vec<T>::splice, vec<T>::reserve): Replace memcpy
+	with vec_copy_construct.
+	(vect<T>::quick_grow_cleared): Replace memset with default ctor.
+	(vect<T>::vec_safe_grow_cleared, vec_safe_grow_cleared): Same.
+	* doc/invoke.texi (-Wclass-memaccess): Document.
+
+2017-06-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* emit-rtl.h (is_leaf): Update comment about local
+	register allocator.
+
+2017-06-15  Jozef Lawrynowicz	<jozef.l@somniumtech.com>
+
+	PR target/78818
+	* config/msp430/msp430.c (msp430_data_attr): Check that it's possible
+	for a variable to have a section before checking if the section has a
+	name.
+	Set section to.persistent if persistent	attribute is set.
+	Warn if .persistent attribute is used on an automatic variable.
+
+2017-06-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/80474
+	* reorg.c (update_block): Do not ignore instructions in a delay slot.
+
+2017-06-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (add<mode>3): Use reg_or_subregno instead
+	of REGNO.
+
+2017-06-14  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/mips/mips.md (MIPS16_T_REGNUM): Remove constant.
+	(casesi): Emit bounds checking as RTL.
+	(casesi_internal_mips16_<mode>): Remove bounds checking.
+
+2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* config/xtensa/xtensa.c (xtensa_option_override): Append
+	MASK_CONST16 to target_flags in the absence of TARGET_L32R.
+	(hwloop_optimize, hwloop_fail, hwloop_pattern_reg,
+	 xtensa_doloop_hooks): Define unconditionally.
+	(xtensa_reorg_loops): Only call reorg_loops in the presence of
+	TARGET_LOOPS.
+	* config/xtensa/xtensa.h (TARGET_L32R): New definition.
+	(TARGET_DEFAULT): Remove XCHAL_HAVE_L32R condition and account
+	for it in xtensa_option_override.
+	(HARD_FRAME_POINTER_IS_FRAME_POINTER,
+	 HARD_FRAME_POINTER_IS_ARG_POINTER): New definitions.
+
+2017-06-14  Boris Kolpackov  <boris@codesynthesis.com>
+
+	* doc/cppopts.texi: Document '-' special value to -MF.
+
+2017-06-14  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/cortex-a53.md (cortex_a53_fpalu) Adjust latency.
+	(cortex_a53_fconst): Likewise.
+	(cortex_a53_fpmul): Likewise.
+	(cortex_a53_f_load_64): Likewise.
+	(cortex_a53_f_load_many): Likewise.
+	(cortex_a53_advsimd_alu): Likewise.
+	(cortex_a53_advsimd_alu_q): Likewise.
+	(cortex_a53_advsimd_mul): Likewise.
+	(cortex_a53_advsimd_mul_q): Likewise.
+	(fpmac bypass): Add new bypass for fpmac-fpmac case.
+	Add missing fmul, r2f_cvt and fconst cases.
+
+2017-06-14  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81088
+	* fold-const.c (split_tree): Drop TREE_OVERFLOW flag from
+	literal constants.
+	(fold_binary_loc): When associating do not treat pre-existing
+	TREE_OVERFLOW on literal constants as a reason to allow
+	TREE_OVERFLOW on associated literal constants.
+
+2017-06-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3.
+	(MASK_FEATURES): New macro.
+	* config/sparc/sparc.c (sparc_option_override): Remove the special
+	handling of -mfpu and generalize it to all MASK_FEATURES switches.
+
+2017-06-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* simplify-rtx.c (simplify_binary_operation_1) <UDIV>: Do not simplify
+	a division of 0 if non-call exceptions are enabled.
+
+2017-06-14  Andrew Pinski  <apinski@cavium.com>
+	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	PR target/71663
+	* config/aarch64/aarch64.c (aarch64_expand_vector_init):
+	Improve vector initialization code gen for only variable case.
+
+2017-06-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry.
+
+2017-06-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81083
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Do not use abnormals
+	as values.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c: Update all comments that mentioned SPE.
+	(rs6000_expand_builtin): Remove RS6000_BTC_EVSEL.
+	* config/rs6000/rs6000.h (RS6000_BTC_EVSEL): Delete.
+	* config/rs6000/vxworks.h (VXCPU_FOR_8548): Delete.  Adjust former use.
+	* config/rs6000/vxworksae.h (VXCPU_FOR_8548): Delete.
+	* config/rs6000/vxworksmils.h (VXCPU_FOR_8548): Delete.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000-opts.h (enum rs6000_vector): Delete VECTOR_SPE.
+	* config/rs6000/rs6000.c (rs6000_debug_vector_unit): Delete VECTOR_SPE.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.h (FIXED_SCRATCH): Delete.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/t-rtems: Don't handle SPE.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/t-linux: Don't handle SPE.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/eabispe.h: Delete file.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/t-spe: Delete file.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (SPE_CONST_OFFSET_OK): Delete.
+	(rs6000_legitimate_offset_address_p): Return false for anything in
+	V2SImode or V2SFmode.
+
+2017-06-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000-modes.def: Remove all 8-byte vector modes
+	except V2SF and V2SI.  Rearrange the vector modes, and add comments.
+	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Remove V8QImode
+	and V4HImode.
+	(reg_offset_addressing_ok_p): Remove V4HImode and V1DImode.
+	(rs6000_legitimate_offset_address_p): Ditto.
+	(rs6000_emit_move): Ditto.
+	(rs6000_init_builtins): Remove V4HI_type_node.
+
+2017-06-13  Martin Liska  <mliska@suse.cz>
+
+	PR sanitize/78204
+	* asan.c (asan_sanitize_stack_p): Use sanitize_flags_p.
+	(gate_asan): Likewise.
+	* asan.h (asan_no_sanitize_address_p): Remove the function.
+	(sanitize_flags_p): New function.
+	* builtins.def: Fix coding style.
+	* common.opt: Use renamed enum value.
+	* convert.c (convert_to_integer_1): Use sanitize_flags_p.
+	* doc/extend.texi: Document no_sanitize attribute.
+	* flag-types.h (enum sanitize_code): Rename SANITIZE_NONDEFAULT
+	to SANITIZE_UNDEFINED_NONDEFAULT.
+	* gcc.c (sanitize_spec_function): Use the renamed enum value.
+	* gimple-fold.c (optimize_atomic_compare_exchange_p):
+	Use sanitize_flags_p.
+	* gimplify.c (gimplify_function_tree): Likewise.
+	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Likewise.
+	* opts.c (parse_no_sanitize_attribute): New function.
+	(common_handle_option): Use renamed enum value.
+	* opts.h (parse_no_sanitize_attribute): Declare.
+	* tree.c (sanitize_flags_p): New function.
+	* tree.h: Declared here.
+	* tsan.c: Use sanitize_flags_p.
+	* ubsan.c (ubsan_expand_null_ifn): Likewise.
+	(instrument_mem_ref): Likewise.
+	(instrument_bool_enum_load): Likewise.
+	(do_ubsan_in_current_function): Remove the function.
+	(pass_ubsan::execute): Use sanitize_flags_p.
+	* ubsan.h: Remove do_ubsan_in_current_function
+	* tree-cfg.c (print_no_sanitize_attr_value): New function.
+	(dump_function_to_file): Use it here.
+
+2017-06-13  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/80803
+	PR tree-optimization/81063
+	* tree-sra.c (subtree_mark_written_and_enqueue): Move up in the file.
+	(propagate_subaccesses_across_link): Enqueue subtree whenever
+	necessary instead of relying on the caller.
+
+2017-06-13  Martin Jambor  <mjambor@suse.cz>
+
+	* tree-sra.c (add_access_to_work_queue): Only enqueue accesses
+	that have a first_link.
+	(sort_and_splice_var_accesses): Do not check first_link before
+	enquing.
+	(subtree_mark_written_and_enqueue): Likewise.
+	(propagate_all_subaccesses): Likewise and do not stop at first
+	parent with a first_link.
+
+2017-06-13  Martin Jambor  <mjambor@suse.cz>
+
+	* tree-sra.c (dump_access_tree_1): Fix accidental dumping to stderr
+	instead of f.
+
+2017-06-13  Yury Gribov  <tetra2005@gmail.com>
+
+	* match.pd: New pattern.
+
+2017-06-13  Yury Gribov  <tetra2005@gmail.com>
+
+	* tree-vrp.c (is_masked_range_test): New function.
+	(register_edge_assert_for): Determine ranges for
+	some bit tests.
+
+2017-06-13  Yury Gribov  <tetra2005@gmail.com>
+
+	PR tree-optimization/67328
+	* fold-const.c (maskable_range_p): New function.
+	(build_range_check): Generate bittests if possible.
+
+2017-06-13  Martin Liska  <mliska@suse.cz>
+
+	* gimple-pretty-print.c (dump_probability): Add new argument.
+	(dump_edge_probability): Dump both probability and count.
+	(dump_gimple_label): Likewise.
+	(dump_gimple_bb_header): Likewise.
+
+2017-06-13  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/81072
+	* config/avr/avr-devices.c: Fix indentation.
+	* config/avr/gen-avr-mmcu-specs.c: Dito.
+
+2017-06-13  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop.c (vect_model_reduction_cost): Do not fail,
+	instead get vector type from stmt_info.
+	(vectorizable_reduction): Adjust.  Remove dead code.
+
+2017-06-13  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81065
+	* fold-const.c (extract_muldiv_1): Remove bogus distribution
+	case of C * (x * C2 + C3).
+	(fold_addr_of_array_ref_difference): Properly fold index difference.
+
+2017-06-12  David S. Miller  <davem@davemloft.net>
+
+	PR target/80968
+	* config/sparc/sparc.md (return expander): Emit frame blockage if
+	function uses alloca.
+
+2017-06-12  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* combine.c (make_field_assignment): Check len rather than the mode
+	precision when calling force_to_mode.
+
+2017-06-12  Georg-Johann Lay  <avr@gjlay.de>
+
+	Support multilibs and devices that see flash in RAM address range.
+
+	PR target/81072
+	* config/avr/avr-arch.h (avr_arch_id) <ARCH_AVRXMEGA3>: New enum.
+	(avr_mcu_t) <flash_pm_offset>: New field.
+	(avr_device_specific_features) <AVR_ISA_RCALL>: New enum.
+	* config/avr/avr.h (AVR_SHORT_CALLS): New define.
+	(AVR_HAVE_JMP_CALL): Don't set if AVR_SHORT_CALLS.
+	(AVR_TINY_PM_OFFSET): Remove macro.
+	* config/avr/avr.opt (-mshort-calls): New option.
+	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
+	[*self_spec]: Add / remove -mshort-calls depending on AVR_ISA_RCALL.
+	* config/avr/avr-c.c (avr_cpu_cpp_builtins)
+	<__AVR_SHORT_CALLS__>: Built-in define if AVR_SHORT_CALLS.
+	<__AVR_HAVE_JMP_CALL__>: Use AVR_HAVE_JMP_CALL as condition
+	instead of avr_arch->have_jmp_call.
+	<__AVR_PM_BASE_ADDRESS__>: Built-in define if avr_arch->flash_pm_offset.
+	[AVR_TINY] <__AVR_TINY_PM_BASE_ADDRESS__>: Use
+	avr_arch->flash_pm_offset to define.
+	* config/avr/avr-devices.c (avr_arch_types): Add initializers for
+	new field flash_pm_offset.  Add entry for avrxmega3.
+	(avr_texinfo): Add entry for avrxmega3.
+	* config/avr/avr-mcus.def: Add entries for: avrxmega3,
+	attiny212, attiny214,
+	attiny412, attiny414, attiny416, attiny417,
+	attiny814, attiny816, attiny817,
+	attiny1614, attiny1616, attiny1617,
+	attiny3214, attiny3216, attiny3217.
+	* config/avr/avr.c (avr_assemble_integer)[AVR_TINY]: Use
+	avr_arch->flash_pm_offset instead of AVR_TINY_PM_OFFSET.
+	(avr_print_operand_address) [AVR_TINY]: Same.
+	(avr_asm_init_sections) <readonly_data_section>: Only patch
+	callback if avr_arch->flash_pm_offset = 0.
+	(avr_asm_named_section) <avr_need_copy_data_p>: Skip setting it
+	for rodata if avr_arch->flash_pm_offset != 0.
+	(avr_encode_section_info) [AVR_TINY]: Adjust comment.
+	* config/avr/genmultilib.awk (dir_rcall, opt_rcall): New vars.
+	(opts) [AVR_ISA_RCALL]: Append opt_rcall.
+	(m_options): Append opt_rcall.
+	(m_dirnames): Append dir_rcall.
+	* config/avr/t-multilib: Regenerate.
+
+	* configure.ac [target=avr]: Check whether avrxmega3 default
+	linker description file works as needed.
+	* configure: Regenerate.
+	* doc/avr-mmcu.texi: Regenerate.
+	* doc/invoke.texi (AVR Options) <-mshort-calls>: Document it.
+	<__AVR_ARCH__>: Document avrxmega3 and 103.
+	<__AVR_HAVE_JMP_CALL__>: Adjust documentation.
+	<__AVR_SHORT_CALLS__>: Document it.
+	<__AVR_PM_BASE_ADDRESS__>: Document it.
+	* doc/extend.texi (AVR Options) <-mshort-calls>: Document it.
+	(AVR Variable Attributes) <progmem>: Document this is
+	not needed for avrxmega3.
+	(AVR Named Address Spaces) <__flash>: Dito.
+
+2017-06-12  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.c (cgraph_node::dump): Complain about profile insanities.
+
+2017-06-12  Doug Rupp  <rupp@adacore.com>
+
+	* config.gcc (*-*-vxworks*): Set use_gcc_stdint to "provide".
+	Append vxworks-stdint.h to the tm_file list.
+	* config/vxworks-stdint.h: New file.
+
+2017-06-12  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/81041
+	* tree-profile.c (gimple_gen_ic_func_profiler):
+	Create an extra BB in profile-generate
+	(gimple_gen_time_profiler): Likewise.
+
+2017-06-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/81003
+	* tree-ssa-reassoc.c (force_into_ssa_name): New function.
+	(update_range_test): Use it instead of force_gimple_operand_gsi.
+
+2017-06-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/81053
+	* tree-vect-loop.c (vect_is_simple_reduction): Handle PHI
+	with backedge value not defined in loop.  Simplify def stmt
+	compute.
+
+2017-06-11  Tom de Vries  <tom@codesourcery.com>
+
+	PR target/79939
+	* config/nvptx/nvptx.c (nvptx_cannot_force_const_mem): New function.
+	Return true.
+	(TARGET_CANNOT_FORCE_CONST_MEM): Redefine to
+	nvptx_cannot_force_const_mem.
+
+2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* opts.c (finish_options): Move test for flag_split_stack after
+	it has been initialized.
+
+2017-06-11  Jason Merrill  <jason@redhat.com>
+
+	* tree.h (id_equal): New.
+	* dwarf2out.c, hsa-gen.c, ipa-devirt.c, omp-expand.c,
+	omp-simd-clone.c, read-rtl-function.c, tree-chkp.c, tree.c: Use it
+	instead of strcmp of IDENTIFIER_POINTER.
+
+2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-transform.c: Include function.h, cfg.h and basic-block.h
+	(mark_all_inlined_calls_cdtor): Fix formating.
+	(inline_transform): Rescale profile before inlining.
+
+2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.h (cgraph_edge::clone): Update prototype.
+	* cgraphclones.c (cgraph_edge::clone): Update profile scaling.
+	(cgraph_node::create_clone): Update.
+	(cgraph_node::create_version_clone): Update.
+	* tree-inline.c (copy_bb): Update.
+	(expand_call_inline): Update.
+
+2017-06-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (emit_vrsave_prologue): New function,
+	factored out from ...
+	(rs6000_emit_prologue): ... here.
+
+2017-06-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (emit_split_stack_prologue): New function,
+	factored out from ...
+	(rs6000_emit_prologue): ... here.
+
+2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (drop_profile): Also drop individual bb/edge and cgraph
+	edge counts.
+	(handle_missing_profiles): Fix computation of tp_first_run.
+	(counts_to_freqs): Do not touch freqs when count is 0.
+
+2017-06-10  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraphbuild.c (cgraph_edge::rebuild_references): Do not touch
+	profile.
+
+2017-06-10  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Effective-Target Keywords, Environment
+	attributes): Document signal effective target.
+
+2017-06-10  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
+	Document effective target stack_size.
+
+2017-06-09  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic.c (diagnostic_report_diagnostic): Only add fixits
+	to the edit_context if they can be auto-applied.
+
+2017-06-9  Ian Lance Taylor  <iant@golang.org>
+
+	* opts.c (finish_options): If -fsplit-stack, disable implicit
+	-forder-blocks-and-partition.
+	* doc/invoke.texi (Optimize Options): Document that when using
+	-fsplit-stack -forder-blocks-and-partition is not implicitly
+	enabled.
+
+2017-06-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	* builtin-attrs.def (ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST,
+	ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST,
+	ATTR_TMPURE_NORETURN_NOTHROW_LEAF_COLD_LIST): New.
+	* builtins.def (abort, trap, unreachable): Declare cold.
+	* calls.c (flags_from_decl_or_type): Lookup ECF_COLD.
+	* tree-core.h (ECF_COLD): New.
+	* tree.c (set_call_expr_flags): Handle ECF_COLD.
+	(build_common_builtin_nodes): Mark unreachable and abort as cold.
+
+2017-06-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (unlikely_executed_stmt_p): Cleanup.
+
+2017-06-09  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-loop-im.c (execute_sm): Do not force multi-threaded
+	model if the ref is always written to.
+
+2017-06-09  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.md (lrint<GPF:mode><GPI:mode>2): New.
+
+2017-06-09  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm.c (arm_rtx_costs_internal): Make sdiv more expensive
+	than udiv.
+
+2017-06-09  Tom de Vries  <tom@codesourcery.com>
+
+	PR target/80855
+	* config/nvptx/nvptx.md (define_expand "mov<QHSDISDFM>"): Error out with
+	"target cannot support label values" when encountering LABEL_REF.
+
+2017-06-09  Martin Liska  <mliska@suse.cz>
+
+	* tree-profile.c (gimple_gen_ic_profiler): Update comment.
+	(gimple_gen_ic_func_profiler): Emit direct comparison
+	of __gcov_indirect_call_callee with NULL.
+	(gimple_gen_time_profiler): Change probability from
+	PROB_VERY_UNLIKELY to PROB_UNLIKELY.
+
+2017-06-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	* profile.c (edge_gcov_counts): Turn to pointer.
+	(compute_branch_probabilities, compute_branch_probabilities): Update.
+	(branch_prob): Do not clear edge_gcov_count.
+	* profile.h (edge_gcov_counts): Turn to pointer.
+	(edge_gcov_count): Update.
+
+2017-06-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	* gimple.h (gimple_check_failed): Mark cold.
+
+2017-06-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/66623
+	* tree-vect-loop.c (vect_is_simple_reduction): Cleanup,
+	refactor check_reduction into two parts, properly computing
+	whether we have to check reduction validity for outer loop
+	vectorization.
+
+2017-06-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79483
+	* graphite-scop-detection.c (order): New global.
+	(get_order): Compute bb to order mapping that satisfies code
+	generation constraints.
+	(cmp_pbbs): New helper.
+	(build_scops): Start domwalk at entry block, sort generated
+	pbbs.
+
+2017-06-09  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/81007
+	* ipa-polymorphic-call.c
+	(ipa_polymorphic_call_context::restrict_to_inner_class):
+	Skip FIELD_DECLs with error_mark_node type.
+	* passes.def (all_lowering_passes): Run pass_build_cgraph_edges
+	last again.
+
+2017-06-09  Martin Liska  <mliska@suse.cz>
+
+	* predict.c (struct branch_predictor): New struct.
+	(test_prediction_value_range): New test.
+	(predict_c_tests): New function.
+	* selftest-run-tests.c (selftest::run_tests): Run the function.
+	* selftest.h: Declare new tests.
+
+2017-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/80966
+	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
+	gen_add3_insn did not fail.
+	* config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
+	r0, construct that number in a temporary reg and add that reg to r0.
+	If asked to put the result in r0 as well, fail.
+
+2017-06-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
+	for early expansion of vec_eqv.
+
+2017-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/81005
+	* ubsan.c (instrument_null): Avoid pointless code temporary.
+	(pass_ubsan::execute): Instrument aggregate arguments of calls.
+
+2017-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/81015
+	Revert:
+	2016-12-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/59874
+	* config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
+	(*clzhi2): Ditto.
+
+2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (unlikely_executed_edge_p): Move ahead.
+	(probably_never_executed_edge_p): Use it.
+
+2017-06-08  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+	PR middle-end/79988
+	* tree-chkp.c (chkp_gimple_call_builtin_p): Remove
+	gimple_call_builtin_p call.
+
+2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* system.h (fancy_abort): Annotate by ATTRIBUTE_COLD.
+	* rtl.h (rtl_check_failed_bounds, rtl_check_failed_type1,
+	rtl_check_failed_type2, rtl_check_failed_code1,
+	rtl_check_failed_code2, rtl_check_failed_code_mode,
+	rtl_check_failed_block_symbol, cwi_check_failed_bounds,
+	rtvec_check_failed_bounds, rtl_check_failed_flag,
+	_fatal_insn_not_found, _fatal_insn): Likewise.
+	* tree.h (tree_contains_struct_check_failed,
+	tree_check_failed, tree_not_check_failed,
+	tree_class_check_failed, tree_range_check_failed,
+	tree_not_class_check_failed, tree_int_cst_elt_check_failed,
+	tree_vec_elt_check_failed, phi_node_elt_check_failed,
+	tree_operand_check_failed, omp_clause_check_failed,
+	omp_clause_operand_check_failed, omp_clause_range_check_failed):
+	Likewise.
+
+2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraph.c (cgraph_edge::maybe_hot_p): Do not check
+	flag_branch_probabilities.
+	* ipa-inline.c (edge_badness): Likewise.
+	* ipa-profile.c (ipa_propagate_frequency_1): Likewise.
+	* postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
+	* predict.c (maybe_hot_frequency_p): Likewise.
+	(probably_never_executed): Likewise.
+	* sched-ebb.c (schedule_ebbs): Likewise.
+	* sched-rgn.c (find_single_block_region): Likewise.
+	* tracer.c (tail_duplicate): Likewise.
+
+2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* opts.c (finish_options): x_flag_reorder_blocks_and_partition no
+	longer requires x_flag_profile_use.
+
+2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgrtl.c (cfg_layout_initialize): Check crtl->has_bb_partition
+	instead of flag_reorder_blocks_and_partition.
+	* dbxout.c (dbxout_function_end): Likewise.
+	* dwarf2out.c (gen_subprogram_die): Likewise.
+	* haifa-sched.c (sched_create_recovery_edges): Likewise.
+	* hw-doloop.c (reorg_loops): Likewise.
+	* varasm.c (assemble_start_function,
+	assemble_end_function): Likewise.
+	(decide_function_section): Do not check for
+	flag_reorder_blocks_and_partition.
+
+2017-06-08  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+	* tree-chkp.c (chkp_get_hard_register_var_fake_base_address):
+	New function.
+	(chkp_get_hard_register_fake_addr_expr): Ditto.
+	(chkp_build_addr_expr): Add check for hard reg case.
+	(chkp_parse_array_and_component_ref): Ditto.
+	(chkp_find_bounds_1): Ditto.
+	(chkp_process_stmt): Don't generate bounds store for
+	hard reg case.
+
+2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (maybe_hot_bb_p): Do not check profile status.
+	(maybe_hot_edge_p): Likewise.
+	(probably_never_executed): Check for zero counts even if profile
+	is not read.
+	(unlikely_executed_edge_p): New function.
+	(unlikely_executed_stmt_p): New function.
+	(unlikely_executed_bb_p): New function.
+	(set_even_probabilities): Use unlikely predicates.
+	(combine_predictions_for_bb): Likewise.
+	(predict_paths_for_bb): Likewise.
+	(predict_paths_leading_to_edge): Likewise.
+	(determine_unlikely_bbs): New function.
+	(estimate_bb_frequencies): Use it.
+	(compute_function_frequency): Use zero counts even if profile is
+	not read.
+	* profile-count.h: Fix typo.
+
+2017-08-08  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512bwintrin.h (_mm512_mask_cvtepi16_storeu_epi8,
+	_mm512_mask_cvtsepi16_storeu_epi8,
+	_mm512_mask_cvtusepi16_storeu_epi8): New intrinsics.
+	* config/i386/avx512vlbwintrin.h (_mm256_mask_cvtepi16_storeu_epi8,
+	_mm_mask_cvtsepi16_storeu_epi8, _mm256_mask_cvtsepi16_storeu_epi8,
+	_mm_mask_cvtusepi16_storeu_epi8, _mm256_mask_cvtusepi16_storeu_epi8,
+	_mm_mask_cvtepi16_storeu_epi8): New intrinsics.
+	* config/i386/i386-builtin-types.def (PV8Q, V8QI): New pointer type.
+	(VOID_FTYPE_PV32QI_V32HI_USI, VOID_FTYPE_PV8QI_V8HI_UQI,
+	VOID_FTYPE_PV16QI_V16HI_UHI): New function types.
+	* config/i386/i386-builtin.def (__builtin_ia32_pmovwb128mem_mask,
+	__builtin_ia32_pmovwb256mem_mask, __builtin_ia32_pmovswb128mem_mask,
+	__builtin_ia32_pmovswb256mem_mask, __builtin_ia32_pmovuswb128mem_mask,
+	__builtin_ia32_pmovuswb256mem_mask,
+	__builtin_ia32_pmovuswb512mem_mask, __builtin_ia32_pmovswb512mem_mask)
+	__builtin_ia32_pmovwb512mem_mask): New builtins.
+
+2017-08-08  Julia Koval  <julia.koval@intel.com>
+
+	PR target/73350,80862
+	* config/i386/subst.md (round): Fix round pattern.
+	* config/i386/i386.c (ix86_erase_embedded_rounding):
+	Fix erasing rounding for the fixed pattern.
+
+2017-06-08  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgbuild.c (find_many_sub_basic_blocks): Fix thinko.
+
+2017-06-08  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/80911
+	* gcov.c (block_info::block_info): New constructor.
+
+2017-06-07  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c: The return type of the following
+	built-in functions was implemented as int not long long.  Fix sign
+	of return value for the unsigned version of vec_mulo and vec_mule.
+	vector unsigned long long vec_bperm (vector unsigned long long,
+					     vector unsigned char)
+	vector signed long long vec_mule (vector signed int,
+					  vector signed int)
+	vector unsigned long long vec_mule (vector unsigned int,
+					    vector unsigned int)
+	vector signed long long vec_mulo (vector signed int,
+					  vector signed int)
+	vector unsigned long long vec_mulo (vector unsigned int,
+					    vector unsigned int)
+	* doc/extend.texi: Fix the documentation for the built-in
+	functions.
+
+2017-06-07  Carl Love  <cel@us.ibm.com>
+
+	PR target/80982
+	* config/rs6000/altivec.md (double<mode>2): Fix the implementation of
+	for BE.
+
+2017-06-07  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/altivec.md: Fix argument swizzle in vec_doublel
+	support, Generate	doublehv for signed int/float for BE case only.
+
+2017-06-07  Alexander Monakov  <amonakov@ispras.ru>
+
+	* doc/invoke.texi (mcx16): Rewrite.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/predicates.md (rs6000_nonimmediate_operand): Delete.
+	* config/rs6000/rs6000.md (*movsi_internal1, movsi_from_sf,
+	*mov<mode>_softfloat, and an anonymous splitter): Use
+	nonimmediate_operand instead of rs6000_nonimmediate_operand.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE_ACC and
+	SPEFSCR registers.
+	* config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Ditto.
+	(enum rs6000_reg_type): Delete SPE_ACC_TYPE and SPEFSCR_REG_TYPE.
+	(rs6000_debug_reg_global): Adjust.
+	(rs6000_init_hard_regno_mode_ok): Adjust.
+	(rs6000_dbx_register_number): Adjust.
+	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Change to 115.
+	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
+	Remove SPE_ACC and SPEFSCR.
+	(REG_ALLOC_ORDER): Ditto.
+	(FRAME_POINTER_REGNUM): Change to 111.
+	(enum reg_class): Remove the SPE_ACC and SPEFSCR registers.
+	(REG_CLASS_NAMES): Ditto.
+	(REG_CLASS_CONTENTS): Delete the SPE_ACC and SPEFSCR registers.
+	(REGISTER_NAMES): Ditto.
+	(ADDITIONAL_REG_NAMES): Ditto.
+	(rs6000_reg_names): Ditto.
+	* config/rs6000/rs6000.md: Renumber some register number
+	define_constants.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE high
+	registers.
+	* config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Ditto.
+	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Change from 149
+	to 117.
+	(DWARF_REG_TO_UNWIND_COLUMN): Do not define.
+	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
+	Delete the SPE high registers.
+	(REG_ALLOC_ORDER): Ditto.
+	(enum reg_class): Remove SPE_HIGH_REGS.
+	(REG_CLASS_NAMES): Ditto.
+	(REG_CLASS_CONTENTS): Delete the SPE high registers.
+	(REGISTER_NAMES): Ditto.
+	(rs6000_reg_names): Ditto.
+	* doc/tm.texi.in: Remove SPE as example.
+	* doc/tm.texi: Regenerate.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/8540.md (ppc8540_brinc): Delete.
+	* config/rs6000/e500mc.md (e500mc_brinc): Delete.
+	* config/rs6000/e500mc64.md (e500mc64_brinc): Delete.
+	* config/rs6000/rs6000.md (type): Remove "brinc".
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config.gcc (powerpc*-*-*): Don't add spe.h to extra_headers.
+	(powerpc*-linux*spe*): Use ${cpu_type} instead of rs6000.
+	* config/rs6000/linuxspe.h: Delete file.
+	* config/rs6000/rs6000.md: Don't include spe.md.
+	* config/rs6000/spe.h: Delete file.
+	* config/rs6000/spe.md: Delete file.
+	* config/rs6000/t-rs6000: Remove spe.md.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/predicates.md (reg_or_mem_operand): Reformat.
+	(reg_or_none500mem_operand): Delete.
+	* config/rs6000/rs6000.md (extendsfdf2): Use reg_or_mem_operand
+	instead of reg_or_none500mem_operand.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
+	handling of SPE flags.
+	* config/rs6000/rs6000.opt (-mspe, -mspe=no, -mspe=yes): Delete.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000-common.c (rs6000_handle_option): Remove
+	SPE ABI handling.
+	* config/rs6000/paired.md (paired_negv2sf2): Rename to negv2sf2.
+	(paired_absv2sf2, paired_addv2sf3, paired_subv2sf3, paired_mulv2sf3,
+	paired_divv2sf3): Similar.
+	* config/rs6000/predicates.md: Replace TARGET_SPE, TARGET_SPE_ABI,
+	SPE_VECTOR_MODE and SPE_HIGH_REGNO_P by 0; simplify.
+	* config/rs6000/rs6000-builtin.def: Delete RS6000_BUILTIN_E and
+	RS6000_BUILTIN_S.
+	Delete BU_SPE_1, BU_SPE_2, BU_SPE_3, BU_SPE_E, BU_SPE_P, and BU_SPE_X.
+	Rename the paired_* instruction patterns.
+	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Do not
+	define __SPE__.
+	* config/rs6000/rs6000-protos.h (invalid_e500_subreg): Delete.
+	* config/rs6000/rs6000.c: Delete RS6000_BUILTIN_E and RS6000_BUILTIN_S.
+	(struct rs6000_stack): Delete fields spe_gp_save_offset, spe_gp_size,
+	spe_padding_size, and spe_64bit_regs_used.  Replace TARGET_SPE and
+	TARGET_SPE_ABI with 0, simplify.  Replace SPE_VECTOR_MODE with
+	PAIRED_VECTOR_MODE.
+	(struct machine_function): Delete field spe_insn_chain_scanned_p.
+	(spe_func_has_64bit_regs_p): Delete.
+	(spe_expand_predicate_builtin): Delete.
+	(spe_expand_evsel_builtin): Delete.
+	(TARGET_DWARF_REGISTER_SPAN): Do not define.
+	(TARGET_MEMBER_TYPE_FORCES_BLK): Do not define.
+	(invalid_e500_subreg): Delete.
+	(rs6000_legitimize_address): Always force_reg op2 as well, for
+	paired single memory accesses.
+	(rs6000_member_type_forces_blk): Delete.
+	(rs6000_spe_function_arg): Delete.
+	(rs6000_expand_unop_builtin): Delete SPE handling.
+	(rs6000_expand_binop_builtin): Ditto.
+	(spe_expand_stv_builtin): Delete.
+	(bdesc_2arg_spe): Delete.
+	(spe_expand_builtin): Delete.
+	(spe_expand_predicate_builtin): Delete.
+	(spe_expand_evsel_builtin): Delete.
+	(rs6000_invalid_builtin): Remove RS6000_BTM_SPE handling.
+	(spe_init_builtins): Delete.
+	(spe_func_has_64bit_regs_p): Delete.
+	(savres_routine_name): Delete "info" parameter.  Adjust callers.
+	(rs6000_emit_stack_reset): Ditto.
+	(rs6000_dwarf_register_span): Delete.
+	* config/rs6000/rs6000.h (TARGET_SPE_ABI, TARGET_SPE,
+	UNITS_PER_SPE_WORD, SPE_HIGH_REGNO_P, SPE_SIMD_REGNO_P,
+	SPE_VECTOR_MODE, RS6000_BTM_SPE, RS6000_BUILTIN_E, RS6000_BUILTIN_S):
+	Delete.
+	* config/rs6000/rs6000.md (FIRST_SPE_HIGH_REGNO, LAST_SPE_HIGH_REGNO):
+	Delete.
+	* config/rs6000/rs6000.opt (-mabi=spe, -mabi=no-spe): Delete.
+	* config/rs6000/spe.md: Delete every pattern that uses TARGET_SPE.
+	* config/rs6000/vector.md (absv2sf2, negv2sf2, addv2sf3, subv2sf3,
+	mulv2sf3, divv2sf3): Delete expanders.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Delete.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit): Delete.
+	* config/rs6000/rs6000.c: Ditto.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/predicated.md (rs6000_cbranch_operator): Delete.
+	* config/rs6000/rs6000.md: Replace rs6000_cbranch_operator by
+	comparison_operator.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c: Remove everything related to -mfloat-gprs.
+	* config/rs6000/rs6000.opt: Ditto.
+	* config/rs6000/t-rtems: Ditto.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/predicates.md: Replace TARGET_E500_DOUBLE and
+	TARGET_E500_SINGLE by 0, simplify.
+	* config/rs6000/rs6000.c: Ditto.
+	(rs6000_option_override_internal): Delete CHECK_E500_OPTIONS.
+	(spe_build_register_parallel): Delete.
+	* config/rs6000/rs6000.h: Delete TARGET_E500_SINGLE,
+	TARGET_E500_DOUBLE, and CHECK_E500_OPTIONS.
+	* config/rs6000/rs6000.md: Replace TARGET_E500_DOUBLE,
+	TARGET_E500_SINGLE, and <E500_CONVERT> by 0, simplify.
+	(E500_CONVERT): Delete.
+	* config/rs6000/spe.md: Remove many patterns and all define_constants.
+
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/darwin.md: Replace TARGET_FPRS by 1 and simplify.
+	* config/rs6000/dfp.md: Ditto.
+	(negdd2, *negdd2_fpr): Merge.
+	(absdd2, *absdd2_fpr): Merge.
+	(negtd2, *negtd2_fpr): Merge.
+	(abstd2, *abstd2_fpr): Merge.
+	* config/rs6000/e500.h: Delete file.
+	* config/rs6000/predicates.md (rs6000_cbranch_operator): Replace
+	TARGET_FPRS by 1 and simplify.
+	* config/rs6000/rs6000-c.c: Ditto.
+	* config/rs6000/rs6000.c: Ditto.  Also replace TARGET_SF_SPE and
+	TARGET_DF_SPE by 0.
+	* config/rs6000/rs6000.h: Ditto.  Delete TARGET_SF_SPE and
+	TARGET_DF_SPE.
+	* config/rs6000/rs6000.md: Ditto.
+	(floatdidf2, *floatdidf2_fpr): Merge.
+	(move_from_CR_gt_bit): Delete.
+	* config/rs6000/spe.md: Replace TARGET_FPRS by 1 and simplify.
+	(E500_CR_IOR_COMPARE): Delete.
+	(All patterns that require !TARGET_FPRS): Delete.
+	* config/rs6000/vsx.md: Replace TARGET_FPRS by 1 and simplify.
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	* passes.def (pass_iv_canon): Move before pass_loop_distribution.
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	* graphds.c (add_edge): Intitialize edge's attached data.
+	(foll_in_subgraph, dfs_fst_edge, dfs_next_edge): New function
+	pointer parameter.  Call pointed function on each edge during
+	graph traversing.  Skip traversing the edge when the function
+	returns true.
+	(graphds_dfs, graphds_scc): Ditto.
+	(for_each_edge): New parameter.  Pass the new parameter to callback
+	function.
+	* graphds.h (skip_edge_callback): New function pointer type.
+	(graphds_dfs, graphds_scc): New function pointer parameter.
+	(graphds_edge_callback, for_each_edge): New parameter.
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Factor
+	out code checking if runtime alias check is possible to below ...
+	Call the new function.
+	* tree-data-ref.c (runtime_alias_check_p): ... to new function.
+	* tree-data-ref.h (runtime_alias_check_p): New decalaration.
+
+2017-06-07  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80932
+	* fold-const.c (extract_muldiv_1) <case MINUS_EXPR>: Add
+	TYPE_OVERFLOW_WRAPS check.
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (vect_do_peeling): Don't skip vector loop
+	if versioning is required.
+	* tree-vect-loop.c (vect_analyze_loop_2): Merge niter check for loop
+	peeling with the check for versioning.
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vectorizer.h (vect_build_loop_niters): New parameter.
+	* tree-vect-loop-manip.c (vect_build_loop_niters): New parameter.
+	Set true to new parameter if new ssa variable is defined.
+	(vect_gen_vector_loop_niters): Refactor.  Set range information
+	for the new vector loop bound variable.
+	(vect_do_peeling): Ditto.
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-affine.c (ssa.h): Include header file.
+	(tree_to_aff_combination): Handle (T1)(X - CST) when inner type
+	has wrapping overflow behavior.
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-affine.c (tree_to_aff_combination): Handle (T1)(X + X).
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	(aff_combination_expand): Move (T1)(X *+- CST) simplification to ...
+	(tree_to_aff_combination): ... here.
+
+2017-06-07  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (ivopts_estimate_reg_pressure): New
+	reg_pressure model function.
+	(ivopts_global_cost_for_size): Delete.
+	(determine_set_costs, iv_ca_recount_cost): Call new model function
+	ivopts_estimate_reg_pressure.
+
+2017-06-07  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_rtx_costs): Make sdiv more
+	expensive than udiv.  Remove floating point cases from mod.
+
+2017-06-07  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/aarch-cost-tables.h (cortexa53_extra_cost):
+	Increase idiv cost.
+
+2017-06-07  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.md
+	(copysignsf3): Fix mask generation.
+
+2017-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* dumpfile.h (enum tree_dump_index): Rename TDI_generic to
+	TDI_gimple.
+	(class dump_manager): Add register_dumps method.
+	* dumpfile.c: Include langhooks.h.
+	(dump_files): Use 0 instead of 3/4/5 for TDI_{original,gimple,nested}.
+	(FIRST_AUTO_NUMBERED_DUMP): Decrease to 1.
+	(FIRST_ME_AUTO_NUMBERED_DUMP): Define.
+	(dump_manager::dump_register): Start with 512 entries instead of 32.
+	(dump_manager::register_dumps): New method.
+	* toplev.c (general_init): Instead of invoking register_dumps
+	langhook, invoke register_dumps method on the dump manager.
+	* gimplify.c (gimplify_function_tree): Use TDI_gimple instead of
+	TDI_generic.
+
+2017-06-07  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* doc/md.texi: Clarify the restrictions on a define_insn condition.
+	Say that # requires an associated define_split to exist, and that
+	the define_split must be suitable for use after register allocation.
+
+2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgbuild.c (find_bb_boundaries): Initialize profile of split blocks.
+	(compute_outgoing_frequencies): Also initialize zero counts.
+	(find_many_sub_basic_blocks): Do not produce uninitialized profile
+	around loops; preserve more of profile when nothing changes.
+
+2017-06-06  Jim Wilson  <jim.wilson@linaro.org>
+
+	* config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs): Move to
+	here.
+	* config/arm/aarch-cost-tables.h (qdf24xx_extra_costs): From here.
+	* config/arm/arm-cpu-cdata.h: Regenerate.
+	* config/arm/arm-cpu-data.h, config/arm/arm-cpu.h: Likewise.
+	* config/arm/arm-tables.opt, config/arm/arm-tune.md: Likewise.
+	* config/arm/arm-cpus.in: Delete falkor and qdf24xx entries.
+	* config/arm/arm.c (arm_qdf24xx_tune): Delete.
+	* config/arm/bpabi.h (BE8_LINK_SPEC): Delete falkor and qdf24xx
+	support.
+	* config/arm/t-aprofile (MULTILIB_MATCHES): Delete falkor and qdf24xx
+	support.
+	* config/arm/t-rmprofile: Likewise.
+	* doc/invoke.texi (ARM Options): Drop falkor and qdf24xx support.
+
+2017-06-06  David S. Miller  <davem@davemloft.net>
+
+	PR target/80968
+	* config/sparc/sparc.c (sparc_expand_prologue): Emit frame
+	blockage if function uses alloca.
+
+2017-06-06  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+	* tree-ssa-loop-prefetch.c (struct mem_ref_group, struct mem_ref):
+	New "uid" fields to hold pretty-print IDs of group and ref.
+	Memory references are now identified as <group_id>:<ref_id>
+	instead of using [random] addresses.
+	(dump_mem_details): Simplify, no functional change.
+	(dump_mem_ref): Simplify and make output more concise.
+	Replace couple of fprintf's throughout code with calls to dump_mem_ref.
+	(find_or_create_group): Initialize group uid.
+	(record_ref): Initialize ref uid.  Improve debug output.
+	(prune_group_by_reuse, should_issue_prefetch_p,)
+	(should_issue_prefetch_p, schedule_prefetches, issue_prefetch_ref,)
+	(mark_nontemporal_store, determine_loop_nest_reuse):
+	Improve debug output.
+
+2017-06-06  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+	* dbgcnt.def (prefetch): New debug counter.
+	* tree-ssa-loop-prefetch.c (dbgcnt.h): New include.
+	(schedule_prefetches): Stop issueing prefetches if debug counter
+	tripped.
+
+2017-06-06  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Testsuites, C Language Testsuites,
+	gcc.c-torture/compile): Remove mention of NO_LABEL_VALUES in fixme.
+
+2017-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/atomics.md (atomic_compare_and_swap<mode> expander):
+	Use aarch64_reg_or_zero predicate for operand 4.
+	(aarch64_compare_and_swap<mode> define_insn_and_split):
+	Use aarch64_reg_or_zero predicate for operand 3.  Add 'Z' constraint.
+	(aarch64_store_exclusive<mode>): Likewise for operand 2.
+
+2017-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (arm_compute_save_reg_mask): Rename into ...
+	(arm_compute_save_core_reg_mask): This.
+	(thumb1_compute_save_reg_mask): Rename into ...
+	(thumb1_compute_save_core_reg_mask): This.
+	(arm_compute_save_reg0_reg12_mask): Adapt comment.
+	(arm_compute_frame_layout): Likewise.
+
+2017-06-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80974
+	* tree-ssa-sccvn.c (set_ssa_val_to): Do not change but only
+	keep or clear leaders SSA info.
+
+2017-06-06  Tom de Vries  <tom@codesourcery.com>
+
+	* config/nvptx/nvptx.c (split_mode_p): New function.
+	(nvptx_declare_function_name, nvptx_print_operand): Use split_mode_p.
+
+2017-06-06  Tom de Vries  <tom@codesourcery.com>
+
+	* config/nvptx/nvptx.c (nvptx_print_operand): Use maybe_split_mode.
+
+2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR bootstrap/80978
+	* tree-cfg.c (execute_fixup_cfg): Fix condition on when to rescale
+	profile.
+
+2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* shrink-wrap.c (handle_simple_exit): Update profile.
+	(try_shrink_wrapping): Upate profile.
+
+2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* predict.c (tree_estimate_probability_bb): Add LOCAL_ONLY.
+	(tree_guess_outgoing_edge_probabilities): New.
+	* predict.h (tree_guess_outgoing_edge_probabilities): Declare.
+	* tree-cfg.c (gimple_find_sub_bbs): Propagate profile.
+
+2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-split.c (split_function): Initialize return bb profile.
+
+2017-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+	* profile.c (compute_branch_probabilities): Also initialize
+	EXIT_BLOCK profile.
+
+2017-06-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80928
+	* tree-vect-loop.c (vect_update_vf_for_slp): Amend dumps.
+	(vect_analyze_loop_operations): Properly guard analysis for
+	pure SLP case.
+	(vect_transform_loop): Likewise.
+	(vect_analyze_loop_2): Also reset SLP type on PHIs.
+	(vect_model_induction_cost): Do not cost for pure SLP.
+	(vectorizable_induction): Pass in SLP node, implement SLP vectorization
+	of induction in inner loop vectorization.
+	* tree-vect-slp.c (vect_create_new_slp_node): Handle PHIs.
+	(vect_get_and_check_slp_defs): Handle vect_induction_def.
+	(vect_build_slp_tree): Likewise.  Handle PHIs as terminating the
+	recursion.
+	(vect_analyze_slp_cost_1): Cost induction.
+	(vect_detect_hybrid_slp_stmts): Handle PHIs.
+	(vect_get_slp_vect_defs): Likewise.
+	* tree-vect-stmts.c (vect_analyze_stmt): Handle induction.
+	(vect_transform_stmt): Handle SLP reductions.
+	* tree-vectorizer.h (vectorizable_induction): Adjust.
+
+2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (make_resolver_func): Update
+	init_lowered_empty_function call.
+
+2017-06-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* doc/invoke.texi: Document the -fprofile-abs-path option.
+	* common.opt (fprofile-abs-path): New option.
+	* gcov-io.h (gcov_write_filename): Declare.
+	* gcov-io.c (gcov_write_filename): New function.
+	* coverage.c (coverage_begin_function): Use gcov_write_filename.
+	* profile.c (output_location): Likewise.
+
+2017-06-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	* shring-wrap.c: Revert accidental commit.
+
+2017-06-05  Volker Reichelt  <v.reichelt@netcologne.de>
+
+	* doc/invoke.texi (-Wduplicated-branches): Add to warning list.
+
+2017-06-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cfgexpand.c (expand_gimple_tailcall): Initialize profile of
+	new edge.
+	* ipa-inline.c (want_inline_self_recursive_call_p): Watch for missing
+	profile in callgraph edge.
+	* profile-count.h (apply_probability): If THIS is 0, then result is 0
+	(apply_scale): Likewise.
+	* tree-inline.c (copy_bb, copy_edges_for_bb, copy_cfg_body):
+	Also scale profile when inlining function with zero profile.
+	(initialize_cfun): Update exit block profile even when it is zero.
+	* tree-ssa-threadupdate.c (clear_counts_path): Handle correctly case
+	when profile is read.
+
+2017-06-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (toplevel): Include attribs.h.
+	(CLONE_*): New constants to define the processors we can generate
+	code for with the target_clone attribute.
+	(rs6000_clone_map): New array to identify which clone processors
+	the current program is running on.
+	(TARGET_COMPARE_VERSION_PRIORITY): Define to enable the
+	target_clone attribute.
+	(TARGET_GENERATE_VERSION_DISPATCHER_BODY): Likewise.
+	(TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): Likewise.
+	(TARGET_OPTION_FUNCTION_VERSIONS): Likewise.
+	(cpu_expand_builtin): Add support for target_clone attribute.
+	(rs6000_valid_attribute_p): Allow "default" attribute.
+	(get_decl_name): New debug function to simplify printing the
+	current function name in debugging statements.
+	(rs6000_clone_priority): New functions to support the target_clone
+	attribute, and be able to generate code to switch between ISA 2.05
+	through ISA 3.0 (power6 through power9).
+	(rs6000_compare_version_priority): Likewise.
+	(rs6000_get_function_versions_dispatcher): Likewise.
+	(make_resolver_func): Likewise.
+	(add_condition_to_bb): Likewise.
+	(dispatch_function_versions): Likewise.
+	(rs6000_generate_version_dispatcher_body): Likewise.
+	(rs6000_can_inline_p): Call get_decl_name for debugging usage.
+	(fusion_gpr_load_p): Fix a spacing issue.
+	* doc/extend.texi (Common Function Attributes): Document that the
+	PowerPC supports the target_clone attribute.
+
+2017-06-05  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.h: explain F symbol found in description of ARM
+	register allocation in its legend.
+
+2017-06-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	* config/mips/frame-header-opt.c: Include profile-count.h.
+	* config/riscv/riscv.c: Include profile-count.h
+
+2017-06-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-im.c (execute_sm_if_changed): Add FLAG_BBS parameter;
+	update profile.
+	(sm_set_flag_if_changed): Add bbs field.
+	(execute_sm_if_changed_flag_set): Pass BBS.
+	(execute_sm): Update.
+
+2017-06-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_store_lane0<mode>):
+	New pattern.
+
+2017-06-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.md (sub<mode>3_compare1_imm): New define_insn.
+	(peephole2): New peephole2 to emit the above.
+	* config/aarch64/predicates.md (aarch64_sub_immediate): New predicate.
+
+2017-06-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (define_peephole2 above
+	*sub_<shift>_<mode>): New peephole.
+
+2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
+
+	* config/i386/i386.c (make_resolver_func): Update.
+	* Makefile.in: Add profile-count.h and profile-count.o
+	* auto-profile.c (afdo_indirect_call): Update to new API.
+	(afdo_set_bb_count): Update.
+	(afdo_propagate_edge): Update.
+	(afdo_propagate_circuit): Update.
+	(afdo_calculate_branch_prob): Update.
+	(afdo_annotate_cfg): Update.
+	* basic-block.h: Include profile-count.h
+	(struct edge_def): Turn count to profile_count.
+	(struct basic_block_def): Likewie.
+	(REG_BR_PROB_BASE): Move to profile-count.h
+	(RDIV): Move to profile-count.h
+	* bb-reorder.c (max_entry_count): Turn to profile_count.
+	(find_traces): Update.
+	(rotate_loop):Update.
+	(connect_traces):Update.
+	(sanitize_hot_paths):Update.
+	* bt-load.c (migrate_btr_defs): Update.
+	* cfg.c (RDIV): Remove.
+	(init_flow): Use alloc_block.
+	(alloc_block): Uninitialize count.
+	(unchecked_make_edge): Uninitialize count.
+	(check_bb_profile): Update.
+	(dump_edge_info): Update.
+	(dump_bb_info): Update.
+	(update_bb_profile_for_threading): Update.
+	(scale_bbs_frequencies_int): Update.
+	(scale_bbs_frequencies_gcov_type): Update.
+	(scale_bbs_frequencies_profile_count): New.
+	* cfg.h (update_bb_profile_for_threading): Update.
+	(scale_bbs_frequencies_profile_count): Declare.
+	* cfgbuild.c (compute_outgoing_frequencies): Update.
+	(find_many_sub_basic_blocks): Update.
+	* cfgcleanup.c (try_forward_edges): Update.
+	(try_crossjump_to_edge): Update.
+	* cfgexpand.c (expand_gimple_tailcall): Update.
+	(construct_exit_block): Update.
+	* cfghooks.c (verify_flow_info): Update.
+	(dump_bb_for_graph): Update.
+	(split_edge): Update.
+	(make_forwarder_block): Update.
+	(duplicate_block): Update.
+	(account_profile_record): Update.
+	* cfgloop.c (find_subloop_latch_edge_by_profile): Update.
+	(get_estimated_loop_iterations): Update.
+	* cfgloopanal.c (expected_loop_iterations_unbounded): Update.
+	(single_likely_exit): Update.
+	* cfgloopmanip.c (scale_loop_profile): Update.
+	(loopify): Update.
+	(set_zero_probability): Update.
+	(lv_adjust_loop_entry_edge): Update.
+	* cfgrtl.c (force_nonfallthru_and_redirect): Update.
+	(purge_dead_edges): Update.
+	(rtl_account_profile_record): Update.
+	* cgraph.c (cgraph_node::create): Uninitialize count.
+	(symbol_table::create_edge): Uninitialize count.
+	(cgraph_update_edges_for_call_stmt_node): Update.
+	(cgraph_edge::dump_edge_flags): Update.
+	(cgraph_node::dump): Update.
+	(cgraph_edge::maybe_hot_p): Update.
+	* cgraph.h: Include profile-count.h
+	(create_clone), create_edge, create_indirect_edge): Update.
+	(cgraph_node): Turn count to profile_count.
+	(cgraph_edge0: Likewise.
+	(make_speculative, clone): Update.
+	(create_edge): Update.
+	(init_lowered_empty_function): Update.
+	* cgraphclones.c (cgraph_edge::clone): Update.
+	(duplicate_thunk_for_node): Update.
+	(cgraph_node::create_clone): Update.
+	* cgraphunit.c (cgraph_node::analyze): Update.
+	(cgraph_node::expand_thunk): Update.
+	* final.c (dump_basic_block_info): Update.
+	* gimple-streamer-in.c (input_bb): Update.
+	* gimple-streamer-out.c (output_bb): Update.
+	* graphite.c (print_global_statistics): Update.
+	(print_graphite_scop_statistics): Update.
+	* hsa-brig.c: Include basic-block.h.
+	* hsa-dump.c: Include basic-block.h.
+	* hsa-gen.c (T sum_slice): Update.
+	(convert_switch_statements):Update.
+	* hsa-regalloc.c: Include basic-block.h.
+	* ipa-chkp.c (chkp_produce_thunks): Update.
+	* ipa-cp.c (struct caller_statistics): Update.
+	(init_caller_stats): Update.
+	(gather_caller_stats): Update.
+	(ipcp_cloning_candidate_p): Update.
+	(good_cloning_opportunity_p): Update.
+	(get_info_about_necessary_edges): Update.
+	(dump_profile_updates): Update.
+	(update_profiling_info): Update.
+	(update_specialized_profile): Update.
+	(perhaps_add_new_callers): Update.
+	(decide_about_value): Update.
+	(ipa_cp_c_finalize): Update.
+	* ipa-devirt.c (struct odr_type_warn_count): Update.
+	(struct decl_warn_count): Update.
+	(struct final_warning_record): Update.
+	(possible_polymorphic_call_targets): Update.
+	(ipa_devirt): Update.
+	* ipa-fnsummary.c (redirect_to_unreachable): Update.
+	* ipa-icf.c (sem_function::merge): Update.
+	* ipa-inline-analysis.c (do_estimate_edge_time): Update.
+	* ipa-inline.c (compute_uninlined_call_time): Update.
+	(compute_inlined_call_time): Update.
+	(want_inline_small_function_p): Update.
+	(want_inline_self_recursive_call_p): Update.
+	(edge_badness): Update.
+	(lookup_recursive_calls): Update.
+	(recursive_inlining): Update.
+	(inline_small_functions): Update.
+	(dump_overall_stats): Update.
+	(dump_inline_stats): Update.
+	* ipa-profile.c (ipa_profile_generate_summary): Update.
+	(ipa_propagate_frequency): Update.
+	(ipa_profile): Update.
+	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
+	* ipa-utils.c (ipa_merge_profiles): Update.
+	* loop-doloop.c (doloop_modify): Update.
+	* loop-unroll.c (report_unroll): Update.
+	(unroll_loop_runtime_iterations): Update.
+	* lto-cgraph.c (lto_output_edge): Update.
+	(lto_output_node): Update.
+	(input_node): Update.
+	(input_edge): Update.
+	(merge_profile_summaries): Update.
+	* lto-streamer-in.c (input_cfg): Update.
+	* lto-streamer-out.c (output_cfg): Update.
+	* mcf.c (create_fixup_graph): Update.
+	(adjust_cfg_counts): Update.
+	(sum_edge_counts): Update.
+	* modulo-sched.c (sms_schedule): Update.
+	* postreload-gcse.c (eliminate_partially_redundant_load): Update.
+	* predict.c (maybe_hot_count_p): Update.
+	(probably_never_executed): Update.
+	(dump_prediction): Update.
+	(combine_predictions_for_bb): Update.
+	(propagate_freq): Update.
+	(handle_missing_profiles): Update.
+	(counts_to_freqs): Update.
+	(rebuild_frequencies): Update.
+	(force_edge_cold): Update.
+	* predict.h: Include profile-count.h
+	(maybe_hot_count_p, counts_to_freqs): UPdate.
+	* print-rtl-function.c: Do not include cfg.h
+	* print-rtl.c: Include basic-block.h
+	* profile-count.c: New file.
+	* profile-count.h: New file.
+	* profile.c (is_edge_inconsistent): Update.
+	(correct_negative_edge_counts): Update.
+	(is_inconsistent): Update.
+	(set_bb_counts): Update.
+	(read_profile_edge_counts): Update.
+	(compute_frequency_overlap): Update.
+	(compute_branch_probabilities): Update; Initialize and deinitialize
+	gcov_count tables.
+	(branch_prob): Update.
+	* profile.h (bb_gcov_counts, edge_gcov_counts): New.
+	(edge_gcov_count): New.
+	(bb_gcov_count): New.
+	* shrink-wrap.c (try_shrink_wrapping): Update.
+	* tracer.c (better_p): Update.
+	* trans-mem.c (expand_transaction): Update.
+	(ipa_tm_insert_irr_call): Update.
+	(ipa_tm_insert_gettmclone_call): Update.
+	* tree-call-cdce.c: Update.
+	* tree-cfg.c (gimple_duplicate_sese_region): Update.
+	(gimple_duplicate_sese_tail): Update.
+	(gimple_account_profile_record): Update.
+	(execute_fixup_cfg): Update.
+	* tree-inline.c (copy_bb): Update.
+	(copy_edges_for_bb): Update.
+	(initialize_cfun): Update.
+	(freqs_to_counts): Update.
+	(copy_cfg_body): Update.
+	(expand_call_inline): Update.
+	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): Update.
+	* tree-ssa-loop-ivcanon.c (unloop_loops): Update.
+	(try_unroll_loop_completely): Update.
+	(try_peel_loop): Update.
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update.
+	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Update.
+	* tree-ssa-loop-split.c (connect_loops): Update.
+	* tree-ssa-loop-unswitch.c (hoist_guard): Update.
+	* tree-ssa-reassoc.c (branch_fixup): Update.
+	* tree-ssa-tail-merge.c (replace_block_by): Update.
+	* tree-ssa-threadupdate.c (create_block_for_threading): Update.
+	(compute_path_counts): Update.
+	(update_profile): Update.
+	(recompute_probabilities): Update.
+	(update_joiner_offpath_counts): Update.
+	(estimated_freqs_path): Update.
+	(freqs_to_counts_path): Update.
+	(clear_counts_path): Update.
+	(ssa_fix_duplicate_block_edges): Update.
+	(duplicate_thread_path): Update.
+	* tree-switch-conversion.c (case_bit_test_cmp): Update.
+	(struct switch_conv_info): Update.
+	* tree-tailcall.c (decrease_profile): Update.
+	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Update.
+	* tree-vect-loop.c (scale_profile_for_vect_loop): Update.
+	* value-prof.c (check_counter): Update.
+	(gimple_divmod_fixed_value): Update.
+	(gimple_mod_pow2): Update.
+	(gimple_mod_subtract): Update.
+	(gimple_ic_transform): Update.
+	(gimple_stringop_fixed_value): Update.
+	* value-prof.h (gimple_ic): Update.
+
+2017-06-02  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c: Add support for built-in functions
+	vector double vec_doublee (vector signed int);
+	vector double vec_doublee (vector unsigned int);
+	vector double vec_doublee (vector float);
+	vector double vec_doubleh (vector signed int);
+	vector double vec_doubleh (vector unsigned int);
+	vector double vec_doubleh (vector float);
+	vector double vec_doublel (vector signed int);
+	vector double vec_doublel (vector unsigned int);
+	vector double vec_doublel (vector float);
+	vector double vec_doubleo (vector signed int);
+	vector double vec_doubleo (vector unsigned int);
+	vector double vec_doubleo (vector float);.
+	* config/rs6000/rs6000-builtin.def: Add definitions for DOUBLEE,
+	DOUBLEO, DOUBLEH, DOUBLEL, UNS_DOUBLEO, UNS_DOUBLEE, UNS_DOUBLEH,
+	UNS_DOUBLEL.
+	* config/rs6000/altivec.md: Add code generator for doublee<mode>2,
+	unsdoubleev4si2, doubleo<mode>2, unsdoubleov4si2, doubleh<mode>2,
+	unsdoublehv4si2, doublel<mode>2, unsdoublelv4si2, add mode attribute
+	VS_sxwsp.
+	* config/rs6000/altivec.h: Add define for vec_doublee, vec_doubleo,
+	vec_doublel, vec_doubleh.
+	* doc/extend.texi: Update the built-in documentation file for the
+	new built-in functions.
+
+2017-06-02  David Malcolm  <dmalcolm@redhat.com>
+
+	PR jit/80954
+	* ipa-inline-analysis.c (free_growth_caches): Set
+	edge_removal_hook_holder to NULL after removing it.
+
+2017-06-02  Sudakshina Das  <sudi.das@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for
+	comparision with zero.
+
+2017-06-02  Will Schmidt  <will_schmidt@vnet.ibm.com>
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
+	for early expansion of vec_min and vec_max builtins.
+	(builtin_function_type): Add min/max unsigned variants to those
+	identified as having unsigned arguments.
+
+2017-06-02  Olivier Hainque  <hainque@adacore.com>
+
+	* config/vx-common.h (DWARF_UNWIND_INFO): Switch #define to 1.
+
+2017-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64-simd.md (*aarch64_simd_vec_copy_lane<mode>):
+	Use VALL_F16 iterator rather than VALL.
+
+2017-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_split_compare_and_swap):
+	Emit CBNZ inside loop when doing a strong exchange and comparing
+	against zero.  Generate the CC flags after the loop.
+
+2017-06-02  David Edelsohn  <dje.gcc@gmail.com>
+
+	* dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New.
+	(dl_section_ref): New.
+	(dwarf2out_finish): Copy debug_line_section_label to dl_section_ref.
+	On AIX, append an expression to subtract the size of the
+	section length to dl_section_ref.
+
+2017-06-02  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
+	for early expansion of vector absolute builtins.
+
+2017-06-02  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-slp.c (vect_detect_hybrid_slp_2): Match up
+	what we consider a relevant use stmt with vect_detect_hybrid_slp_stmts.
+
+2017-06-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80948
+	* tree-tailcall.c (find_tail_calls): Track stmts to move in
+	stmt order as well.
+
+2017-06-02  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop.c (vect_analyze_loop_operations): Not relevant
+	PHIs are ok.
+	* tree-vect-stmts.c (process_use): Do not mark backedge defs
+	for inductions as relevant.
+
+2017-06-02  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop.c (get_initial_def_for_induction): Inline into ...
+	(vectorizable_induction): ... this.  Remove dead code.
+
+2017-06-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* builtins. (expand_builtin_alloca): Remove second parameter and
+	infer its value from the first parameter instead.
+	(expand_builtin) <BUILT_IN_ALLOCA>: Adjust call to above.
+
+2017-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/80903
+	* loop-doloop.c (add_test): Unshare sequence.
+
+2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* doc/invoke.texi: Document the -Wsizeof-pointer-div warning.
+
+2017-06-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* config/i386/i386.c (x86_64_ms_sysv_extra_clobbered_registers): Make
+	static.
+	(xlogue_layout::get_stack_space_used, xlogue_layout::s_instances,
+	xlogue_layout::get_instance, logue_layout::xlogue_layout,
+	sp_valid_at, fp_valid_at, choose_basereg): Formatting.
+	(xlogue_layout::get_stub_rtx): Make static.
+	(xlogue_layout::get_stub_name): Avoid const-cast, make static.
+	(xlogue_layout::compute_stub_managed_regs): Rename to...
+	(xlogue_layout::count_stub_managed_regs): ...this.
+	(xlogue_layout::is_stub_managed_reg): New function.
+	(xlogue_layout::m_stub_names): Rename to...
+	(xlogue_layout::s_stub_names): ...this, make static.
+	(xlogue_layout::STUB_INDEX_OFFSET, xlogue_layout::MIN_REGS,
+	xlogue_layout::MAX_REGS, xlogue_layout::MAX_EXTRA_REGS,
+	xlogue_layout::VARIANT_COUNT, xlogue_layout::STUB_NAME_MAX_LEN,
+	xlogue_layout::s_stub_names): Instantiate statics.
+	(stub_managed_regs): Remove.
+	(ix86_save_reg): Use xlogue_layout::compute_stub_managed_regs.
+	(disable_call_ms2sysv_xlogues): Rename to...
+	(warn_once_call_ms2sysv_xlogues): ...this, and warn only once.
+	(ix86_initial_elimination_offset, ix86_expand_call): Fix call_ms2sysv
+	warning logic.
+	(ix86_static_chain): Make sure that ix86_static_chain_on_stack can't
+	change after reload_completed.
+	(ix86_can_use_return_insn_p): Use the ix86_frame data structure
+	directly.
+	(ix86_expand_prologue): Likewise.
+	(ix86_expand_epilogue): Likewise.
+	(ix86_expand_split_stack_prologue): Likewise.
+	(ix86_compute_frame_layout): Remove frame parameter ...
+	(TARGET_COMPUTE_FRAME_LAYOUT): ... and export it as a target hook.
+	(ix86_finalize_stack_realign_flags): Call ix86_compute_frame_layout
+	only if necessary.
+	(ix86_init_machine_status): Don't set use_fast_prologue_epilogue_nregs.
+	(ix86_frame): Move from here ...
+	* config/i386/i386.h (ix86_frame): ... to here.
+	(machine_function): Remove use_fast_prologue_epilogue_nregs, cache the
+	complete ix86_frame data structure instead.  Remove some_ld_name.
+
+2017-06-01  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (dwarf2out_late_global_decl): Add locations for
+	symbols that hold a DECL_VALUE_EXPR.
+
+2017-06-01  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/80898
+	* tree-sra.c (process_subtree_disqualification): Removed.
+	(disqualify_candidate): Do not acll
+	process_subtree_disqualification.
+	(subtree_mark_written_and_enqueue): New function.
+	(propagate_all_subaccesses): Set grp_write of LHS subtree if the
+	RHS has been disqualified and re-queue LHS if necessary.  Apart
+	from that, ignore disqualified RHS.
+
+2017-06-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_emit_epilogue): Disable early return
+	address fetch for z10 or later.
+
+2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (tst_movb): Add guard when splitting.
+
+2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_can_eliminate): Test against
+	arc_frame_pointer_needed.
+
+2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_expand_prologue): Emit a special barrier
+	to prevent store reordering.
+	* config/arc/arc.md (UNSPEC_ARC_STKTIE): Define.
+	(type): Add block type.
+	(stack_tie): Define special instruction to be used in
+	expand_prologue.
+
+2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (commutative_binary_comparison): Remove 'I'
+	constraint. It is not valid for the pattern.
+	(noncommutative_binary_comparison): Likewise.
+
+2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/simdext.md (movv2hi_insn): Change predicate to avoid
+	scaled addresses.
+
+2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_conditional_register_usage): Allow r30 to
+	be used by the reg-alloc.
+
+2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (mulsi3): Avoid use of hard registers before
+	reg-alloc when having mul64 or mul32x16 instructions.
+	(mulsidi3): Likewise.
+	(umulsidi3): Likewise.
+	(mulsi32x16): New pattern.
+	(mulsi64): Likewise.
+	(mulsidi64): Likewise.
+	(umulsidi64): Likewise.
+	(MUL32x16_REG): Define.
+	(mul64_600): Use MUL32x16_REG.
+	(mac64_600): Likewise.
+	(umul64_600): Likewise.
+	(umac64_600): Likewise.
+
+2017-06-01  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (mulsi3_700): Make it commutative.
+
+2017-06-01  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* config/sparc/sparc.md (*zero_extendsidi2_insn_sp64): Set insn
+	type for movstouw.
+	(*sign_extendsidi2_insn): Likewise for movstosw.
+
+2017-06-01  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (get_discr_value): Call the get_debug_type hook on
+	the type of the input discriminant value.  Convert the
+	discriminant value of signedness vary.
+
+2017-06-01  Volker Reichelt  <v.reichelt@netcologne.de>
+
+	* doc/invoke.texi (-Wcatch-value): Document new shortcut.
+	Add to -Wall section.
+
+2017-06-01  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/66313
+	* fold-const.c (fold_plusminus_mult_expr): If the factored
+	factor may be zero use a wrapping type for the inner operation.
+	* tree-tailcall.c (independent_of_stmt_p): Pass in to_move bitmap
+	and handle moved defs.
+	(process_assignment): Properly guard the unary op case.  Return a
+	tri-state indicating that moving the stmt before the call may allow
+	to continue.  Pass through to_move.
+	(find_tail_calls): Handle moving unrelated defs before
+	the call.
+
+2017-05-31  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/80618
+	* config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the
+	splitter result in the canonical way.
+
+2017-05-31  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*zero_extendsidi2): Enable alternative (?r, *Yj)
+	also for 32bit target.  Update insn attributes.
+	(zero-extendsidi2 splitter): Allow all registers for operand 1.
+
+2017-05-31  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* config/i386/avx512fintrin.h (_mm_mask_max_sd)
+	(_mm_maskz_max_sd, _mm_mask_max_ss, _mm_maskz_max_ss)
+	(_mm_mask_min_sd, _mm_maskz_min_sd, _mm_mask_min_ss)
+	(_mm_maskz_min_ss): New intrinsics.
+
+2017-05-31  Martin Liska  <mliska@suse.cz>
+
+	* tree-vect-loop.c (vect_create_epilog_for_reduction):
+	Change comment style to one we normally use.
+	(vectorizable_reduction): Likewise.
+	(vectorizable_induction): Likewise.
+	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
+	(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.
+	* tree-vectorizer.h: Likewise.
+
+2017-05-31  Alexander Monakov  <amonakov@ispras.ru>
+
+	* passes.c (emergency_dump_function): New.
+	* tree-pass.h (emergency_dump_function): Declare.
+	* plugin.c (plugins_internal_error_function): Remove.
+	* plugin.h (plugins_internal_error_function): Remove declaration.
+	* toplev.c (internal_error_function): New static function.  Use it...
+	(general_init): ...here.
+
+2017-05-31  Graham Markall  <graham.markall@embecosm.com>
+
+	* config/arc/arc.c (arc_print_operand): Handle constant operands.
+	(arc_rtx_costs): Add costs for new patterns.
+	* config/arc/arc.md: Additional *add_n and *sub_n patterns.
+	* config/arc/predicates.md: Add _1_2_3_operand predicate.
+
+2017-05-31  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-ssa-strlen.c (get_next_strinfo): New function.
+	(get_stridx_plus_constant): Use it.
+	(zero_length_string): Likewise.
+	(adjust_related_strinfos): Likewise.
+	(adjust_last_stmt): Likewise.
+
+2017-05-31  Richard Biener  <rguenther@suse.de>
+
+	PR target/80880
+	* config/i386/i386.c (ix86_expand_builtin): Remove assert
+	for arg being an SSA name when expanding IX86_BUILTIN_BNDRET.
+
+2017-05-31  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-vect-data-refs.c (vect_find_same_alignment_drs): Remove
+	loop_vinfo argument and use of dependence distance vectors.
+	Check instead whether the two references differ only in their
+	initial value and assume that they have the same alignment if the
+	difference is a multiple of the vector alignment.
+	(vect_analyze_data_refs_alignment): Update call accordingly.
+
+2017-05-31  Martin Liska  <mliska@suse.cz>
+
+	PR target/79155
+	* config/i386/cpuid.h: Fix typo in a comment in cpuid.h.
+
+2017-05-31  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (create_intersect_range_checks_index)
+	(create_intersect_range_checks): Move from ...
+	* tree-data-ref.c (create_intersect_range_checks_index)
+	(create_intersect_range_checks): ... to here.
+	(create_runtime_alias_checks): New function factored from ...
+	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): ...
+	here.  Call above function.
+	* tree-data-ref.h (create_runtime_alias_checks): New function.
+
+2017-05-31  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-data-ref.c (prune_runtime_alias_test_list): Relax minimal
+	segment length for dr_b and compute it in wide_int.
+
+2017-05-31  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80906
+	* graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get
+	and pass through iv_map.
+	(copy_bb_and_scalar_dependences): Adjust.
+	(translate_pending_phi_nodes): Likewise.
+	(copy_loop_close_phi_args): Handle code-generating IVs instead
+	of ICEing.
+
+2017-05-30  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-color.c (color_dict): Add "type-diff".
+	(parse_gcc_colors): Update comment.
+	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
+	-fdiagnostics-show-template-tree and -fno-elide-type.
+	(GCC_COLORS): Add type-diff to example.
+	(type-diff=): New.
+	(-fdiagnostics-show-template-tree): New.
+	(-fno-elide-type): New.
+	* pretty-print.c (pp_format): Pass quote and formatters[argno] to
+	the pp_format_decoder callback.  Call any m_format_postprocessor's
+	"handle" method.
+	(pretty_printer::pretty_printer): Initialize
+	m_format_postprocessor.
+	(pretty_printer::~pretty_printer): Delete any
+	m_format_postprocessor.
+	* pretty-print.h (printer_fn): Add bool and const char ** parameters.
+	(class format_postprocessor): New class.
+	(struct pretty_printer::format_decoder): Document the new parameters.
+	(struct pretty_printer::m_format_postprocessor): New field.
+	* tree-diagnostic.c (default_tree_printer): Update for new
+	bool and const char ** params.
+	* tree-diagnostic.h (default_tree_printer): Likewise.
+
+2017-05-30  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/predicates.md (cc_reg_not_micro_cr0_operand): Delete.
+	(lwa_operand): Delete rs6000_gen_cell_microcode test.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
+	rs6000_gen_cell_microcode code.
+	(rs6000_final_prescan_insn): Delete.
+	(rs6000_opt_vars): Delete the "gen-cell-microcode" and
+	"warn-cell-microcode" entries.
+	* config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Delete.
+	* config/rs6000/rs6000.md: Delete rs6000_gen_cell_microcode tests
+	throughout.  Change cc_reg_not_micro_cr0_operand to
+	cc_reg_not_cr0_operand throughout.
+	(*extendhi<mode>2_noload): Delete.
+	* config/rs6000/rs6000.opt (mgen-cell-microcode): Replace by stub.
+	(mwarn-cell-microcode): Delete.
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete
+	-mgen-cell-microcode and -mwarn-cell-microcode.
+
+2017-05-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80833
+	* config/i386/constraints.md (Yd): New constraint.
+	(Ye): Ditto.
+	* config/i386/i386.md (*movti_internal): Add (?r, Ye)
+	and (?Yd, r) alternatives.  Update insn attributes.
+	* config/i386/i386.md (*movti_internal): Add (?r, *Ye)
+	and (?*Yd, r) alternatives.  Update insn attributes.
+	(double-mode inter-unit splitters): Add new GR<->XMM splitters.
+
+2017-05-30  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gimplify.c (gimplify_modify_expr): Don't create a
+	DECL_DEBUG_EXPR link if *FROM_P does not belong to the current
+	function.
+
+2017-05-30  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/arm-builtins.c (arm_expand_builtin): Remove const.
+
+2017-05-30  Richard Biener  <rguenther@suse.de>
+
+	* tree-vectorizer.h (struct _stmt_vec_info): Add reduc_type
+	and reduc_def fields.
+	(STMT_VINFO_REDUC_TYPE): New define.
+	(STMT_VINFO_REDUC_DEF): Likewise.
+	(vect_force_simple_reduction): Adjust prototype.
+	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Adjust.
+	(vect_is_simple_reduction): Remove check_reduction argument.
+	(vect_force_simple_reduction): Adjust and set
+	STMT_VINFO_REDUC_TYPE and STMT_VINFO_REDUC_DEF.
+	(vectorizable_reduction): Do not re-do reduction analysis
+	but use STMT_VINFO_REDUC_TYPE and STMT_VINFO_REDUC_DEF.
+	* tree-parloops.c (gather_scalar_reductions): Adjust.
+
+2017-05-30  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80901
+	* cfgexpand.c (expand_gimple_cond): Match up loop fixup with
+	split_edge code.
+
+2017-05-24  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* tree-vect-data-refs.c (vect_get_peeling_costs_all_drs):
+	Introduce unknown_misalignment parameter and remove vf.
+	(vect_peeling_hash_get_lowest_cost):
+	Pass unknown_misalignment parameter.
+	(vect_enhance_data_refs_alignment):
+	Fix unsupportable data ref treatment.
+
+2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* tree-vect-data-refs.c (vect_get_data_access_cost):
+	Workaround for SLP handling.
+	(vect_enhance_data_refs_alignment):
+	Compute costs for doing no peeling at all, compare to the best
+	peeling costs so far and avoid peeling if cheaper.
+
+2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* tree-vect-data-refs.c (vect_peeling_hash_choose_best_peeling):
+	Return peeling info and set costs to zero for unlimited cost
+	model.
+	(vect_enhance_data_refs_alignment): Also inspect all datarefs
+	with unknown misalignment. Compute and costs for unknown
+	misalignment, compare them to the costs for known misalignment
+	and choose the cheapest for peeling.
+
+2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Rename.
+	(vect_get_peeling_costs_all_drs): Create function.
+	(vect_peeling_hash_get_lowest_cost):
+	Use vect_get_peeling_costs_all_drs.
+	(vect_peeling_supportable): Create function.
+	(vect_enhance_data_refs_alignment): Use vect_peeling_supportable.
+
+2017-05-30  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Create
+	DR_HAS_NEGATIVE_STEP.
+	(vect_update_misalignment_for_peel): Define DR_MISALIGNMENT.
+	(vect_enhance_data_refs_alignment): Use.
+	(vect_duplicate_ssa_name_ptr_info): Use.
+	* tree-vectorizer.h (dr_misalignment): Use.
+	(known_alignment_for_access_p): Use.
+
+2017-05-30  Jozef Lawrynowicz  <jozef.l@somniumtech.com>
+
+	PR target/78838
+	* config/msp430/msp430.c (gen_prefix): Return NULL when section name is
+	.lowtext.
+	(has_section_name): New function.
+
+2017-05-30  Martin Liska  <mliska@suse.cz>
+
+	PR other/80909
+	* auto-profile.c (get_function_decl_from_block): Fix
+	parenthesis.
+
+2017-05-30  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80876
+	* cfgexpand.c (expand_gimple_cond): Fixup preserving loops again.
+
+2017-05-30  Martin Liska  <mliska@suse.cz>
+
+	* dumpfile.c: Use newly added macro DUMP_FILE_INFO.
+	* dumpfile.h (struct dump_file_info): Remove ctors.
+
+2017-05-30  Martin Liska  <mliska@suse.cz>
+
+	* predict.def: Fix GNU coding style.
+
+2017-05-29  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
+	Mark 'to' argument with ATTRIBUTE_UNUSED.
+
+2017-05-29  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* config/xtensa/xtensa.c (xtensa_emit_call): Use
+	HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
+	(print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
+	format string.
+
+2017-05-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/install.texi (Options specification): Restore entry of
+	--enable-sjlj-exceptions.
+
+2017-05-27  Michael Eager  <eager@eagercon.com>
+
+	Revert:
+	2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
+
+	See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html.
+
+	* config/microblaze/microblaze.h
+	(FIXED_REGISTERS): Update in macro.
+	(CALL_USED_REGISTERS): Update in macro.
+
+2017-05-27  François-Xavier Coudett  <fxcoudert@gcc.gnu.org>
+
+	* doc/install.texi: Add links to macOS binary distributions.
+
+2017-05-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/80887
+	Revert:
+	2017-05-25  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd ((A +- CST1) +- CST2): Allow some conversions.
+
+2017-05-26  Martin Liska  <mliska@suse.cz>
+
+	* dumpfile.h (enum dump_kind): Renumber TDF_* flags to be contiguous.
+
+2017-05-26  Martin Liska  <mliska@suse.cz>
+
+	* cfg.c (check_bb_profile): Do not use TDF_COMMENT and print
+	always leading ';; '.
+	(dump_bb_info): Likewise.
+	(brief_dump_cfg): Likewise.
+	* cfgrtl.c (print_rtl_with_bb): Do not use TDF_COMMENT.
+	* dumpfile.c: Remove usage of TDF_VERBOSE.
+	* dumpfile.h (enum dump_kind): Likewise.
+	(dump_gimple_bb_header): Do not use TDF_COMMENT.
+	* print-tree.c (debug_verbose): Remove.
+	* tree-cfg.c (gimple_dump_cfg): Do not use TDF_COMMENT.
+	(dump_function_to_file): Remove dumps guarded with TDF_VERBOSE.
+	* tree-diagnostic.c (default_tree_printer): Replace
+	TDF_DIAGNOSTIC with TDF_SLIM.
+
+2017-05-26  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass
+	in parameter loop, rather than loop_vinfo.
+	(create_intersect_range_checks): Ditto.
+	(vect_create_cond_for_alias_checks): Update call to above functions.
+
+2017-05-26  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/80815
+	* tree-data-ref.c (prune_runtime_alias_test_list): Simplify condition
+	for merging runtime alias checks.  Handle negative DR_STEPs.
+
+2017-05-26  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-data-refs.c (Operator==, comp_dr_with_seg_len_pair):
+	Move from ...
+	* tree-data-ref.c (Operator==, comp_dr_with_seg_len_pair): To here.
+	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Factor
+	out code pruning runtime alias checks.
+	* tree-data-ref.c (prune_runtime_alias_test_list): New function
+	factored out from above.
+	* tree-vectorizer.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
+	Move from ...
+	* tree-data-ref.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
+	... to here.
+	(prune_runtime_alias_test_list): New decalaration.
+
+2017-05-26  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-data-refs.c (compare_tree): Rename and move ...
+	* tree-data-ref.c (data_ref_compare_tree): ... to here.
+	* tree-data-ref.h (data_ref_compare_tree): New decalaration.
+	* tree-vect-data-refs.c (dr_group_sort_cmp): Update uses.
+	(operator==, comp_dr_with_seg_len_pair): Ditto.
+	(vect_prune_runtime_alias_test_list): Ditto.
+
+2017-05-26  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/80663
+	* params.def: Bound partial-inlining-entry-probability param.
+
+2017-05-26  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80875
+	* fold-const.c (fold_binary_loc) <case MULT_EXPR>: Check if OP1
+	can be negated.
+
+2017-05-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80842
+	* tree-ssa-ccp.c (set_lattice_value): Always meet with the old
+	value.
+
+2017-05-26  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80844
+	* tree-vectorizer.c (adjust_simduid_builtins): Propagate results.
+
+2017-05-25  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* doc/md.texi (Machine Constraints): Update x86 family
+	machine constraints section to match 'config/i386/constraints.md'.
+
+2017-05-25  Volker Reichelt  <v.reichelt@netcologne.de>
+
+	* doc/invoke.texi (-Wcatch-value=): Document new warning option.
+
+2017-05-25  Nathan Sidwell  <nathan@acm.org>
+
+	* doc/invoke.texi (--enable-languages): Update documentation.
+
+2017-05-25  Martin Liska  <mliska@suse.cz>
+
+	* dumpfile.c: Add TDF_FOLDING.
+	* dumpfile.h (enum dump_kind): Likewise.
+	* genmatch.c (dt_simplify::gen_1): Use it.
+
+2017-05-25  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (view_convert (convert@0 @1)): Handle zero-extension.
+
+2017-05-25  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd ((A +- CST1) +- CST2): Allow some conversions.
+	* tree.c (drop_tree_overflow): Handle COMPLEX_CST and VECTOR_CST.
+
+2017-05-25  Marc Glisse  <marc.glisse@inria.fr>
+
+	* fold-const.c (fold_binary_loc) [(A & C) == D]: Remove transformation.
+	* match.pd (X == C): Rewrite it here.
+	(with_possible_nonzero_bits, with_possible_nonzero_bits2,
+	with_certain_nonzero_bits2): New predicates.
+	* tree-ssanames.c (get_nonzero_bits): Handle INTEGER_CST.
+
+2017-05-24  Nathan Sidwell  <nathan@acm.org>
+
+	* lto-streamer-in.c (lto_input_data_block): Adjust T const cast to
+	avoid warning.
+
+	* auto-profile.c (afdo_propagate): Adjust T const cast to avoid
+	warning.
+
+2017-05-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/powerpcspe: New port.  Files are copied from the rs6000
+	port, with "rs6000" in filenames replaced by "powerpcspe".
+
+2017-05-24  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR rtl-optimization/80754
+	* lra-remat.c (do_remat): Add overlap checks for dst_regno.
+
+2017-05-24  Sheldon Lobo  <smlobo@sheldon.us.oracle.com>
+
+	* config/sparc/sparc.md (length): Return the correct value for -mflat
+	sibcalls to match output_sibcall.
+
+2017-05-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR bootstrap/80860
+	PR bootstrap/80843
+	* config/rs6000/rs6000.c (struct machine_function): Add new field
+	n_components.
+	(rs6000_get_separate_components): Init that field, use it.
+	(rs6000_components_for_bb): Use the field.
+
+2017-05-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (arm_expand_prologue): Fix typo in comment.
+
+2017-05-24  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR middle-end/80823
+	* tree-cfg.c (group_case_labels_stmt): Delete increment of "i";
+
+2017-05-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/80725
+	* config/s390/s390.c (s390_check_qrst_address): Check incoming
+	address against address_operand predicate.
+	* config/s390/s390.md ("*indirect_jump"): Swap alternatives.
+
+2017-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* var-tracking.c (track_expr_p): Do not return 0 for tracked record
+	parameters passed indirectly.
+
+2017-05-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*movdi_internal): Remove SSE4
+	alternative 18 (?r, *v).  Update insn attributes.
+	(*movsi_internal): Remove SSE4 alternative 13 (?r, *v).
+	Update insn attributes.
+	(*zero_extendsidi2): Remove SSE4 alternative (?r, *x).
+	Update insn attributes.
+	* config/i386/sse.md (vec_extract<ssevecmodelower>_0): Remove SSE4
+	alternative 1 (r, v). Remove isa attribute.
+	* config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
+	Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC
+	and !TARGET_INTER_UNIT_MOVES_TO_VEC targets.
+
+2017-05-23  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Directives, Verify compiler message): Document
+	dg-line directive.
+
+2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
+
+	* cgraphunit.c (symbol_table::process_new_functions): Update.
+	* ipa-fnsummary.c (pass_data_inline_parameters): Remove.
+	(inline_generate_summary): Rename to ...
+	(ipa_fn_summary_generate): ... this one.
+	(inline_read_summary): Rename to ...
+	(ipa_fn_summary_read): ... this one.
+	(inline_write_summary): Rename to ...
+	(ipa_fn_summary_write): ... this one.
+	(inline_free_summary): Rename to ...
+	(ipa_free_fn_summary): ... this one.
+	(pass_data_local_fn_summary, pass_local_fn_summary,
+	make_pass_local_fn_summary, pass_data_ipa_free_fn_summary,
+	pass_ipa_free_fn_summary, make_pass_ipa_free_fn_summary,
+	pass_data_ipa_fn_summary, pass_ipa_fn_summary,
+	make_pass_ipa_fn_summary): New.
+	* ipa-fnsummary.h (inline_generate_summary, inline_read_summary,
+	inline_write_summary, inline_free_summary): Remove.
+	(ipa_free_fn_summary) : New.
+	* ipa-inline.c (ipa_inline): Update.
+	(pass_ipa_inline): Do not generate summaries.
+	* ipa.c (pass_data_ipa_free_fn_summary, pass_ipa_free_fn_summary):
+	Remove.
+	* passes.def: Replace pass_inline_parameters by pass_local_fn_summary
+	and add pass_ipa_fn_summary.
+	* tree-pass.h (make_pass_ipa_fn_summary, make_pass_local_fn_summary):
+	New.
+	(make_pass_inline_parameters): Remove.
+
+2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* omp-low.c (struct omp_context): Remove "default_kind" member.
+	Adjust all users.
+
+	* omp-offload.c (execute_oacc_device_lower): Remove the
+	parallelism dimensions function attributes for unparallelized
+	OpenACC kernels constructs.
+
+2017-05-23  Martin Liska  <mliska@suse.cz>
+
+	* cgraph.c (cgraph_node::get_create): Use symtab_node::dump_{asm_,}name
+	functions.
+	(cgraph_edge::make_speculative): Likewise.
+	(cgraph_edge::resolve_speculation): Likewise.
+	(cgraph_edge::redirect_call_stmt_to_callee): Likewise.
+	(cgraph_node::dump): Likewise.
+	* cgraph.h: Likewise.
+	* cgraphunit.c (analyze_functions): Likewise.
+	(symbol_table::compile): Likewise.
+	* ipa-cp.c (print_all_lattices): Likewise.
+	(determine_versionability): Likewise.
+	(initialize_node_lattices): Likewise.
+	(ipcp_verify_propagated_values): Likewise.
+	(estimate_local_effects): Likewise.
+	(update_profiling_info): Likewise.
+	(create_specialized_node): Likewise.
+	(perhaps_add_new_callers): Likewise.
+	(decide_about_value): Likewise.
+	(decide_whether_version_node): Likewise.
+	(identify_dead_nodes): Likewise.
+	(ipcp_store_bits_results): Likewise.
+	* ipa-devirt.c (dump_targets): Likewise.
+	(ipa_devirt): Likewise.
+	* ipa-icf.c (sem_item::dump): Likewise.
+	(sem_function::equals): Likewise.
+	(sem_variable::equals): Likewise.
+	(sem_item_optimizer::read_section): Likewise.
+	(sem_item_optimizer::execute): Likewise.
+	(congruence_class::dump): Likewise.
+	* ipa-inline-analysis.c (dump_ipa_call_summary): Likewise.
+	(dump_inline_summary): Likewise.
+	(estimate_node_size_and_time): Likewise.
+	(inline_analyze_function): Likewise.
+	* ipa-inline-transform.c (inline_call): Likewise.
+	* ipa-inline.c (report_inline_failed_reason): Likewise.
+	(want_early_inline_function_p): Likewise.
+	(edge_badness): Likewise.
+	(update_edge_key): Likewise.
+	(inline_small_functions): Likewise.
+	* ipa-profile.c (ipa_profile): Likewise.
+	* ipa-prop.c (ipa_print_node_jump_functions): Likewise.
+	(ipa_make_edge_direct_to_target): Likewise.
+	(remove_described_reference): Likewise.
+	(ipa_impossible_devirt_target): Likewise.
+	(propagate_controlled_uses): Likewise.
+	(ipa_print_node_params): Likewise.
+	(ipcp_transform_function): Likewise.
+	* ipa-pure-const.c (pure_const_read_summary): Likewise.
+	(propagate_pure_const): Likewise.
+	* ipa-reference.c (generate_summary): Likewise.
+	(read_write_all_from_decl): Likewise.
+	(propagate): Likewise.
+	(ipa_reference_read_optimization_summary): Likewise.
+	* ipa-utils.c (ipa_merge_profiles): Likewise.
+	* ipa.c (walk_polymorphic_call_targets): Likewise.
+	(symbol_table::remove_unreachable_nodes): Likewise.
+	(ipa_single_use): Likewise.
+	* passes.c (execute_todo): Likewise.
+	* predict.c (drop_profile): Likewise.
+	* symtab.c (symtab_node::get_dump_name): New function.
+	(symtab_node::dump_name): Likewise.
+	(symtab_node::dump_asm_name): Likewise.
+	(symtab_node::dump_references): Likewise.
+	(symtab_node::dump_referring): Likewise.
+	(symtab_node::dump_base): Likewise.
+	(symtab_node::debug_symtab): Likewise.
+	* tree-sra.c (convert_callers_for_node): Likewise.
+	* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
+	* value-prof.c (init_node_map): Likewise.
+
+2017-05-23  Martin Liska  <mliska@suse.cz>
+
+	* cgraph.h: Move symtab_node::dump_table to symbol_table::dump
+	and symtab_node::debug_symtab to symbol_table::debug.
+	* cgraphunit.c (analyze_functions): Use the renamed function.
+	(symbol_table::compile): Likewise.
+	* ipa-cp.c (ipcp_verify_propagated_values): Likewise.
+	* ipa-icf.c (sem_item_optimizer::execute): Likewise.
+	* passes.c (execute_todo): Likewise.
+	* symtab.c (symbol_table::dump): New function.
+	* tree-ssa-structalias.c (ipa_pta_execute): Use the renamed function.
+
+2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-fnsummary.c (estimate_node_size_and_time): Do not sanity check
+	that nonconst implies exec.
+
+2017-05-23  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
+	inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
+	(inline_edge_summary_vec): Turn into ...
+	(ipa_call_summaries): ... this one.
+	(redirect_to_unreachable, edge_set_predicate,
+	evaluate_properties_for_edge, inline_summary_alloc,
+	reset_ipa_call_summary, reset_inline_summary,
+	inline_summary_t::duplicate): Update.
+	(inline_edge_duplication_hook): Turn to ...
+	(ipa_call_summary_t::duplicate): ... this one.
+	(inline_edge_removal_hook): Turn to ...
+	(ipa_call_summary_t::remove): ... this one.
+	(dump_inline_edge_summary): Turn to ...
+	(dump_ipa_call_summary): ... this one.
+	(estimate_function_body_sizes): Update.
+	(inline_update_callee_summaries): Update.
+	(remap_edge_change_prob): Update.
+	(remap_edge_summaries): Update.
+	(inline_merge_summary): Update.
+	(do_estimate_edge_time): Update.
+	(inline_generate_summary): Update.
+	(inline_read_section): Update.
+	(inline_read_summary): Update.
+	(inline_free_summary): Update.
+	* ipa-inline.c (can_inline_edge_p): Update.
+	(compute_inlined_call_time): Update.
+	(want_inline_small_function_p): Update.
+	(edge_badness): Update.
+	(early_inliner): Update.
+	* ipa-inline.h (inline_edge_summary): Turn to ...
+	(ipa_call_summary): ... this one.
+	(ipa_call_summary_t): New class.
+	(inline_edge_summary_t, inline_edge_summary_vec): Remove.
+	(ipa_call_summaries): New.
+	(inline_edge_summary): Remove.
+	(estimate_edge_growth): Update.
+	* ipa-profile.c (ipa_propagate_frequency_1): Update.
+	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
+	* ipa-split.c (execute_split_functions): Update.
+	* ipa.c (symbol_table::remove_unreachable_nodes): Update.
+
+2017-05-23  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Effective-Target Keywords, Other hardware
+	attributes): Document rdrand effective target.
+
+2017-05-23  Tom de Vries  <tom@codesourcery.com>
+
+	* doc/sourcebuild.texi (Effective-Target Keywords, Other hardware
+	attributes): Sort alphabetically.
+
+2017-05-23  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/genmultilib.awk: Use gsub instead of gensub.
+
+2017-05-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/80718
+	* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Split
+	V2DF/V2DI splat into two separate patterns, one that handles
+	registers, and the other that only handles memory.  Drop support
+	for splatting from a GPR on ISA 2.07 and then splitting the
+	splat into direct move and splat.
+	(vsx_splat_<mode>_reg): Likewise.
+	(vsx_splat_<mode>_mem): Likewise.
+
+2017-05-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* cfgcleanup.c (bb_is_just_return): Allow CLOBBERs.
+
+2017-05-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/80809
+	* omp-low.c (finish_taskreg_remap): New function.
+	(finish_taskreg_scan): If unit size of ctx->record_type
+	is non-constant, unshare the size expression and replace
+	decls in it with possible outer var refs.
+
+	PR middle-end/80809
+	* gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use
+	GOVD_SHARED rather than GOVD_PRIVATE with it.
+	(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect
+	GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE.
+
+	PR middle-end/80853
+	* omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE
+	as last argument to build_outer_var_ref for pointer bases of array
+	section reductions.
+
+2017-05-19  Martin Sebor  <msebor@redhat.com>
+
+	* print-tree.c (print_node): Print DECL_READ_P flag.
+
+2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+	* Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h
+	* auto-profile.c: Replace ipa-inline.h by ipa-fnsummary.h
+	* cgraph.c: Likewise.
+	* cgraphunit.c: Likewise.
+	* gengtype.c: Likewise.
+	* ipa-cp.c: Likewise.
+	* ipa-devirt.c: Likewise.
+	* ipa-icf.c: Likewise.
+	* ipa-predicate.c: Likewise.
+	* ipa-profile.c: Likewise.
+	* ipa-prop.c: Likewise.
+	* ipa-split.c: Likewise.
+	* ipa.c: Likewise.
+	* ipa-inline-analysis.c (inline_summaries, ipa_call_summaries,
+	edge_predicate_pool, dump_inline_hints,
+	inline_summary::account_size_time, redirect_to_unreachable,
+	edge_set_predicate, set_hint_predicate,
+	evaluate_conditions_for_known_args, evaluate_properties_for_edge,
+	inline_summary_alloc, ipa_call_summary::reset, inline_summary::reset,
+	inline_summary_t::remove, remap_hint_predicate_after_duplication,
+	inline_summary_t::duplicate, ipa_call_summary_t::duplicate,
+	ipa_call_summary_t::remove, initialize_growth_caches,
+	free_growth_caches, dump_ipa_call_summary, dump_inline_summary,
+	debug_inline_summary, dump_inline_summaries, initialize_inline_failed,
+	mark_modified, unmodified_parm_1, unmodified_parm,
+	unmodified_parm_or_parm_agg_item, eliminated_by_inlining_prob,
+	set_cond_stmt_execution_predicate, set_switch_stmt_execution_predicate,
+	compute_bb_predicates, will_be_nonconstant_expr_predicate,
+	will_be_nonconstant_predicate, record_modified_bb_info,
+	get_minimal_bb, record_modified, param_change_prob,
+	phi_result_unknown_predicate, predicate_for_phi_result,
+	array_index_predicate, clobber_only_eh_bb_p, fp_expression_p,
+	estimate_function_body_sizes, compute_inline_parameters,
+	compute_inline_parameters_for_curren, pass_data_inline_parameters,
+	estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,
+	inline_update_callee_summaries, remap_edge_change_prob,
+	remap_edge_summaries, remap_hint_predicate, inline_merge_summary,
+	inline_update_overall_summary, inline_indirect_intraprocedural_analysis,
+	inline_analyze_function, inline_summary_t::insert,
+	inline_generate_summary, read_ipa_call_summary, inline_read_section,
+	inline_read_summary, write_ipa_call_summary, inline_write_summary,
+	inline_free_summary): Move to ipa-fnsummary.h
+	(predicate_t): Remove.
+	* ipa-fnsummary.c: New file.
+	* ipa-inline.h:  Do not include sreal.h and ipa-predicate.h
+	(enum inline_hints_vals, inline_hints, agg_position_info,
+	INLINE_SIZE_SCALE, size_time_entry, inline_summary, inline_summary_t,
+	inline_summaries, ipa_call_summary, ipa_call_summary_t,
+	ipa_call_summaries, debug_inline_summary, dump_inline_summaries,
+	dump_inline_summary, dump_inline_hints, inline_generate_summary,
+	inline_read_summary, inline_write_summary, inline_free_summary,
+	inline_analyze_function, initialize_inline_failed,
+	inline_merge_summary, inline_update_overall_summary,
+	compute_inline_parameters): Move to ipa-fnsummary.h
+	* ipa-fnsummary.h: New file.
+	* ipa-inline-transform.h: Include ipa-inline.h.
+	* ipa-inline.c: LIkewise.
+
+2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline.c (edge_badness): Use inlined_time instead of
+	inline_summaries->get.
+
+2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline.c (edge_badness): Use estimate_size_after_inlining.
+
+2017-05-22  Nathan Sidwell  <nathan@acm.org>
+
+	* doc/invoke.texi (fdump-translation-unit): Delete documentation.
+	(fdump-lang): Document 'raw' option.
+	* dumpfile.h (TDI_tu): Delete.
+	* dumpfile.c (dump_files): Remove translation-unit.
+	(FIRST_AUTO_NUMBERED_DUMP): Decrement.
+
+2017-05-22  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/t-avr (AWK) [t-multilib]: Remove "-v FORMAT=Makefile"
+	command option from $(AWK) call.
+	* config/avr/genmultilib.awk: Simplify and rewrite so that it
+	generates MULTILIB_REQUIRED instead of MULTILIB_EXCEPTIONS.
+	[FORMAT]: Remove handling of variable.
+	* config/avr/t-multilib: Regenerate.
+
+2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (inline_summary::reset): Do not reset
+	self_time.
+	(dump_inline_summary): Do not print self_time.
+	(estimate_function_body_sizes): Do not set self_time.
+	(compute_inline_parameters): Likewise.
+	(inline_read_section, inline_write_summary): Do not stream self_time.
+	* ipa-inline.h (inline_summary): Drop self_time.
+
+2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (account_size_time): Rename to ...
+	(inline_summary::account_size_time): ... this one.
+	(reset_ipa_call_summary): Turn to ...
+	(ipa_call_summary::reset): ... this one.
+	(reset_inline_summary): Turn to ...
+	(inline_summary::reset): ... this one.
+	(inline_summary_t::remove): Update.
+	(inline_summary_t::duplicate): Update.
+	(ipa_call_summary_t::remove): Update.
+	(dump_inline_summary): Update.
+	(estimate_function_body_sizes): Update.
+	(compute_inline_parameters): Update.
+	(estimate_node_size_and_time): Update.
+	(inline_merge_summary): Update.
+	(inline_update_overall_summary): Update.
+	(inline_read_section): Update.
+	(inline_write_summary): Update.
+	* ipa-inline.h (inline_summary): Rename entry to size_time_table;
+	add account_size_time and reset member functions.
+	(ipa_call_summary): Add reset function.
+	* ipa-predicate.h (predicate::operator &): Constify.
+
+2017-05-22  Richard Biener  <rguenther@suse.de>
+
+	* df-scan.c (df_insn_refs_verify): Speedup when not verifying.
+
+2017-05-19  Jason Merrill  <jason@redhat.com>
+
+	* tree.c (make_tree_vec_stat, grow_tree_vec_stat): Use size_t.
+
+2017-05-19  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80800
+	* fold-const.c (extract_muldiv_1) <case TRUNC_DIV_EXPR>: Add
+	TYPE_OVERFLOW_WRAPS checks.
+
+2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* tree-core.h (enum omp_clause_default_kind): Add
+	"OMP_CLAUSE_DEFAULT_PRESENT".
+	* tree-pretty-print.c (dump_omp_clause): Handle it.
+	* gimplify.c (enum gimplify_omp_var_data): Add
+	"GOVD_MAP_FORCE_PRESENT".
+	(gimplify_adjust_omp_clauses_1): Map it to
+	"GOMP_MAP_FORCE_PRESENT".
+	(oacc_default_clause): Handle "OMP_CLAUSE_DEFAULT_PRESENT".
+
+	* gimplify.c (oacc_default_clause): Clarify.
+
+2017-05-19  Nathan Sidwell  <nathan@acm.org>
+
+	LANG_HOOK_REGISTER_DUMPS
+	* toplev.c (general_init): Call register dump lang hook.
+	* doc/invoke.texi: Document -fdump-lang option family.
+	* dumpfile.c (dump_files): Remove class dump here.
+	(FIRST_AUTO_NUMBERED_DUMP): Adjust.
+	* dumpfile.h (tree_dump_index): Remove TDI_class.
+	* langhooks-def.h (lhd_register_dumps): Declare.
+	(LANG_HOOKS_REGISTER_DUMPS): Define.
+	(LANG_HOOKS_INITIALIZER): Add it.
+	* langhooks.c (lhd_register_dumps): Define.
+	* langhooks.h (struct lang_hooks): Add register_dumps.
+
+2017-05-19  Nathan Sidwell  <nathan@acm.org>
+
+	* context.h (context::set_passes): New.
+	* context.c (context::context): Do not create pass manager.
+	* toplev.c (general_init): Create pass manager here.
+
+2017-05-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (splitter to load of -1 and mask): Don't
+	use this splitter if two add or or instructions would also work for
+	the constant we want to generate.
+
+2017-05-19  Richard Biener  <rguenther@suse.de>
+
+	PR build/80821
+	* genmatch.c (dt_node::gen_kids_1): Add missing scope around
+	predicate evaluation.
+
+2017-05-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline.h (ipa_call_summary): Turn sizes into signed;
+	add ctor.
+	* ipa-inline.c (want_inline_small_function_p): Do not cast to
+	unsigned.
+
+2017-05-19  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
+	inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
+	(inline_edge_summary_vec): Turn into ...
+	(ipa_call_summaries): ... this one.
+	(redirect_to_unreachable, edge_set_predicate,
+	evaluate_properties_for_edge, inline_summary_alloc,
+	reset_ipa_call_summary, reset_inline_summary,
+	inline_summary_t::duplicate): Update.
+	(inline_edge_duplication_hook): Turn to ...
+	(ipa_call_summary_t::duplicate): ... this one.
+	(inline_edge_removal_hook): Turn to ...
+	(ipa_call_summary_t::remove): ... this one.
+	(dump_inline_edge_summary): Turn to ...
+	(dump_ipa_call_summary): ... this one.
+	(estimate_function_body_sizes): Update.
+	(inline_update_callee_summaries): Update.
+	(remap_edge_change_prob): Update.
+	(remap_edge_summaries): Update.
+	(inline_merge_summary): Update.
+	(do_estimate_edge_time): Update.
+	(inline_generate_summary): Update.
+	(inline_read_section): Update.
+	(inline_read_summary): Update.
+	(inline_free_summary): Update.
+	* ipa-inline.c (can_inline_edge_p): Update.
+	(compute_inlined_call_time): Update.
+	(want_inline_small_function_p): Update.
+	(edge_badness): Update.
+	(early_inliner): Update.
+	* ipa-inline.h (inline_edge_summary): Turn to ...
+	(ipa_call_summary): ... this one.
+	(ipa_call_summary_t): New class.
+	(inline_edge_summary_t, inline_edge_summary_vec): Remove.
+	(ipa_call_summaries): New.
+	(inline_edge_summary): Remove.
+	(estimate_edge_growth): Update.
+	* ipa-profile.c (ipa_propagate_frequency_1): Update.
+	* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
+	* ipa-split.c (execute_split_functions): Update.
+	* ipa.c (symbol_table::remove_unreachable_nodes): Update.
+
+2017-05-19  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80764
+	* cfgexpand.c (expand_gimple_cond): Fix loop fixup.
+
+2017-05-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (struct machine_function): Add field
+	fpr_is_wrapped_separately.
+	(rs6000_get_separate_components): Use 64 components.  Handle the
+	new FPR components.
+	(rs6000_components_for_bb): Handle the FPR components.
+	(rs6000_emit_prologue_components): Handle the FPR components.
+	(rs6000_emit_epilogue_components): Handle the FPR components.
+	(rs6000_set_handled_components): Handle the FPR components.
+	(rs6000_emit_prologue): Don't output prologue code for those FPRs
+	that are already separately shrink-wrapped.
+	(rs6000_emit_epilogue): Don't output epilogue code for those FPRs
+	that are already separately shrink-wrapped.
+
+2017-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/80510
+	* config/rs6000/predicates.md (simple_offsettable_mem_operand):
+	New predicate.
+
+	* config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator.
+	(define_peephole2 for Altivec d-form load): Add peepholes to catch
+	cases where the register allocator uses a move and an offsettable
+	memory operation to/from a FPR register on ISA 2.06/2.07.
+	(define_peephole2 for Altivec d-form store): Likewise.
+
+2017-05-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80799
+	* config/i386/mmx.md (*mov<mode>_internal): Enable
+	alternatives 11, 12, 13 and 14 also for 32bit targets.
+	Remove alternatives 15, 16, 17 and 18.
+	* config/i386/sse.md (vec_concatv2di): Change
+	alternative (!x, *y) to (x, ?!*Yn).
+
+2017-05-18  Paolo Carlini  <paolo.carlini@oracle.com>
+
+	* dumpfile.h (enum dump_kind): Remove stray comma.
+
+2017-05-18  Jan Hubicka  <hubicka@ucw.cz>
+
+	* Makefile.in: Add ipa-predicate.o and ipa-predicate.h
+	* ipa-inline-analysis.c (NUM_CONDITIONS): turn into
+	predicate::num_conditions
+	(IS_NOT_CONSTANT): turn into predicate::is_not_constant.
+	(CHANGED): turn into predicate::changed.
+	(agg_position_info): Move to ipa-predicate.h
+	(add_condition, predicate::add_clause, predicate::operator &=,
+	predicate::or_with, predicate::evaluate, predicate::probability,
+	dump_condition, dump_clause, predicate::dump,
+	predicate::remap_after_duplication, predicate::remap_after_inlining,
+	predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c
+	(evaluate_conditions_for_known_args): Update.
+	(set_cond_stmt_execution_predicate): Update.
+	* ipa-inline.h: Include ipa-predicate.h
+	(condition, inline_param_summary, conditions, agg_position_info,
+	predicate): Move to ipa-predicate.h
+	* ipa-predicate.c: New file.
+	* ipa-predicate.h: New file.
+
+2017-05-18  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* final.c (leaf_function_p): Check we are not in a sequence.
+
+2017-05-18  Martin Liska  <mliska@suse.cz>
+
+	* cfgrtl.c (rtl_verify_edges): Remove usage of TDF_RTL.
+	* dumpfile.c (dump_register): Use new enum dump_kind.
+	(get_dump_file_name): Likewise.
+	(dump_enable_all): Likewise.
+	(dump_switch_p_1): Likewise.
+	(enable_rtl_dump_file): Remove usage of TDF_RTL.
+	* dumpfile.h (enum dump_kind): New enum type.
+	(struct dump_file_info): Create constructor and
+	format fields and comments.
+	* passes.c (pass_manager::register_one_dump_file):
+	Use num dump_kind.
+	* statistics.c (statistics_early_init): Likewise.
+	* tree-ssa-loop-prefetch.c (dump_mem_details): Replace
+	TDF_TREE with TDF_SLIM.
+	(gather_memory_references_ref): Likewise.
+
+2017-05-18  Martin Liska  <mliska@suse.cz>
+
+	* vec.h (struct vnull): Use it.
+
+2017-05-18  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h
+	(true_predicate, false_predicate, true_predicate_p,
+	false_predicate_p): Remove.
+	(single_cond_predicate, not_inlined_predicate): Turn to member function
+	in ipa-inline.h
+	(add_condition): Update.
+	(add_clause): Turn to...
+	(predicate::add_clause): ... this one; update; allow passing NULL
+	as parameter.
+	(and_predicates): Turn to ...
+	(predicate::operator &=): ... this one.
+	(predicates_equal_p): Move to predicate::operator == in ipa-inline.h
+	(or_predicates): Turn to ...
+	(predicate::or_with): ... this one.
+	(evaluate_predicate): Turn to ...
+	(predicate::evaluate): ... this one.
+	(predicate_probability): Turn to ...
+	(predicate::probability): ... this one.
+	(dump_condition): Update.
+	(dump_predicate): Turn to ...
+	(predicate::dump): ... this one.
+	(account_size_time): Update.
+	(edge_set_predicate): Update.
+	(set_hint_predicate): UPdate.
+	(evaluate_conditions_for_known_args): Update.
+	(evaluate_properties_for_edge): Update.
+	(remap_predicate_after_duplication): Turn to...
+	(predicate::remap_after_duplication): ... this one.
+	(remap_hint_predicate_after_duplication): Update.
+	(inline_summary_t::duplicate): UPdate.
+	(dump_inline_edge_summary): Update.
+	(dump_inline_summary): Update.
+	(set_cond_stmt_execution_predicate): Update.
+	(set_switch_stmt_execution_predicate): Update.
+	(compute_bb_predicates): Update.
+	(will_be_nonconstant_expr_predicate): Update.
+	(will_be_nonconstant_predicate): Update.
+	(phi_result_unknown_predicate): Update.
+	(predicate_for_phi_result): Update.
+	(array_index_predicate): Update.
+	(estimate_function_body_sizes): Update.
+	(estimate_node_size_and_time): Update.
+	(estimate_ipcp_clone_size_and_time): Update.
+	(remap_predicate): Rename to ...
+	(predicate::remap_after_inlining): ... this one.
+	(remap_hint_predicate): Update.
+	(inline_merge_summary): Update.
+	(inline_update_overall_summary): Update.
+	(estimate_size_after_inlining): Update.
+	(read_predicate): Rename to ...
+	(predicate::stream_in): ... this one.
+	(read_inline_edge_summary): Update.
+	(write_predicate): Rename to ...
+	(predicate::stream_out): ... this one.
+	(write_inline_edge_summary): Update.
+	* ipa-inline.h (MAX_CLAUSES): Turn to predicate::max_clauses.
+	(clause_t): Turn to uint32_t
+	(predicate): Turn to class; implement constructor and operators
+	==, !=, &
+	(size_time_entry): Update.
+	(inline_summary): Update.
+	(inline_edge_summary): Update.
+
+2017-05-18  Marc Glisse  <marc.glisse@inria.fr>
+
+	* fold-const.c (fold_binary_loc): Move transformation...
+	* match.pd (C - X CMP X): ... here.
+
+2017-05-18  Sheldon Lobo  <sheldon.lobo@oracle.com>
+
+	* config/sparc/sparc.c (sparc_option_override): Set function
+	alignment for -mcpu=niagara7 to 64 to match the I$ line.
+	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch
+	latency to 1.
+	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch
+	latency to 2.
+	* config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo.
+
+2017-05-18  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80797
+	* ubsan.c (instrument_null): Unwrap ADDR_EXPRs.
+	(pass_ubsan::execute): Call gimple_assign_single_p instead of
+	gimple_assign_load_p.
+
+2017-05-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR middle-end/80692
+	* real.c (do_compare): Give decimal_do_compare preference over
+	comparing just the signs.
+
+2017-05-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	* doc/md.texi (Canonicalization of Instructions): Describe the
+	canonical form of instructions that inherently set a condition
+	code register.
+
+2017-05-17  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR middle-end/80775
+	* tree-cfg.c: Move deletion of unreachable case statements to after
+	the merging of consecutive case labels.
+
+2017-05-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Refer
+	readers to __gnu_cmse_nonsecure_call libcall for saving, clearing and
+	restoring of callee-saved registers.
+
+2017-05-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* compare-elim.c (equivalent_reg_at_start): Adjust outdated comment.
+	* config/visium/visium.c (single_set_and_flags): Likewise.
+	* config/visium/visium.md (Substitutions): Likewise.
+
+2017-05-17  Martin Liska  <mliska@suse.cz>
+
+	* cfg.c: Introduce dump_flags_t type and
+	use it instead of int type.
+	* cfg.h: Likewise.
+	* cfghooks.c: Likewise.
+	* cfghooks.h (struct cfg_hooks): Likewise.
+	* cfgrtl.c: Likewise.
+	* cfgrtl.h: Likewise.
+	* cgraph.c (cgraph_node::get_body): Likewise.
+	* coretypes.h: Likewise.
+	* domwalk.c: Likewise.
+	* domwalk.h: Likewise.
+	* dumpfile.c (struct dump_option_value_info): Likewise.
+	(dump_enable_all): Likewise.
+	(dump_switch_p_1): Likewise.
+	(opt_info_switch_p): Likewise.
+	* dumpfile.h (enum tree_dump_index): Likewise.
+	(struct dump_file_info): Likewise.
+	* genemit.c: Likewise.
+	* generic-match-head.c: Likewise.
+	* gengtype.c (open_base_files): Likewise.
+	* gimple-pretty-print.c: Likewise.
+	* gimple-pretty-print.h: Likewise.
+	* graph.c (print_graph_cfg): Likewise.
+	* graphite-scop-detection.c (dot_all_sese): Likewise.
+	* ipa-devirt.c (build_type_inheritance_graph): Likewise.
+	* loop-unroll.c (report_unroll): Likewise.
+	* passes.c (pass_manager::register_one_dump_file): Likewise.
+	* print-tree.c: Likewise.
+	* statistics.c: Likewise.
+	* tree-cfg.c: Likewise.
+	* tree-cfg.h: Likewise.
+	* tree-dfa.c: Likewise.
+	* tree-dfa.h: Likewise.
+	* tree-dump.c (dump_function): Likewise.
+	* tree-dump.h (struct dump_info): Likewise.
+	* tree-pretty-print.c: Likewise.
+	* tree-pretty-print.h: Likewise.
+	* tree-ssa-live.c: Likewise.
+	* tree-ssa-live.h: Likewise.
+	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
+	* tree-vect-loop.c: Likewise.
+	* tree-vect-slp.c: Likewise.
+
+2017-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
+	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/80457
+	* tree-vect-stmts.c (vect_model_simple_cost): Model the cost
+	of all arguments to a statement as scalar_to_vec operations.
+	(vectorizable_call): Adjust call to vect_model_simple_cost for
+	new parameter.
+	(vectorizable_conversion): Likewise.
+	(vectorizable_assignment): Likewise.
+	(vectorizable_shift): Likewise.
+	(vectorizable_operation): Likewise.
+	(vectorizable_comparison): Likewise.
+	(vect_is_simple_cond): Record the def types for operands.
+	(vectorizable_condition): Likewise, call vect_model_simple_cost.
+	* tree-vectorizer.h (vect_model_simple_cost): Add new parameter
+	for statement argument count.
+
+2017-05-16  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c: Add support for built-in functions
+	vector unsigned long long vec_bperm (vector unsigned long long,
+					     vector unsigned char)
+	vector signed long long vec_mule (vector signed int,
+					  vector signed int)
+	vector unsigned long long vec_mule (vector unsigned int,
+					    vector unsigned int)
+	vector signed long long vec_mulo (vector signed int,
+					  vector signed int)
+	vector unsigned long long vec_mulo (vector unsigned int,
+					    vector unsigned int)
+	vector signed char vec_sldw (vector signed char,
+				     vector signed char,
+				     const int)
+	vector unsigned char vec_sldw (vector unsigned char,
+				       vector unsigned char,
+				       const int)
+	vector signed short vec_sldw (vector signed short,
+				      vector signed short,
+				      const int)
+	vector unsigned short vec_sldw (vector unsigned short,
+					vector unsigned short,
+					const int)
+	vector signed int vec_sldw (vector signed int,
+				    vector signed int,
+				    const int)
+	vector unsigned int vec_sldw (vector unsigned int,
+				      vector unsigned int,
+				      const int)
+	vector signed long long vec_sldw (vector signed long long,
+					  vector signed long long,
+					  const int)
+	vector unsigned long long vec_sldw (vector unsigned long long,
+					    vector unsigned long long,
+					    const int)
+	* config/rs6000/rs6000-c: Add support for built-in functions
+	* config/rs6000/rs6000-builtin.def: Add definition for SLDW.
+	* config/rs6000/altivec.h: Add defintion for vec_sldw.
+	* doc/extend.texi: Update the built-in documentation for the
+	new built-in functions.
+
+2017-05-16  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80536
+	PR sanitizer/80386
+	* tree.c (save_expr): Don't fold the expression.
+
+2017-05-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*movsi_internal): Split (?rm,*y) alternative
+	to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r)
+	and (?*y,m).  Update insn attributes.
+
+2017-05-16  Martin Liska  <mliska@suse.cz>
+
+	* cgraph.c (cgraph_edge::resolve_speculation): Add default value for
+	flags argument of print_gimple_stmt, print_gimple_expr,
+	print_generic_stmt and print_generic_expr.
+	* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
+	* coretypes.h: Likewise.
+	* except.c (dump_eh_tree): Likewise.
+	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
+	* gimple-pretty-print.h: Likewise.
+	* gimple-ssa-backprop.c (dump_usage_prefix): Likewise.
+	(backprop::push_to_worklist): Likewise.
+	(backprop::pop_from_worklist): Likewise.
+	(backprop::process_use): Likewise.
+	(backprop::intersect_uses): Likewise.
+	(note_replacement): Likewise.
+	* gimple-ssa-store-merging.c
+	(pass_store_merging::terminate_all_aliasing_chains): Likewise.
+	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
+	(pass_store_merging::execute): Likewise.
+	* gimple-ssa-strength-reduction.c (dump_candidate): Likewise.
+	(ssa_base_cand_dump_callback): Likewise.
+	(dump_incr_vec): Likewise.
+	(replace_refs): Likewise.
+	(replace_mult_candidate): Likewise.
+	(create_add_on_incoming_edge): Likewise.
+	(create_phi_basis): Likewise.
+	(insert_initializers): Likewise.
+	(all_phi_incrs_profitable): Likewise.
+	(introduce_cast_before_cand): Likewise.
+	(replace_one_candidate): Likewise.
+	* gimplify.c (gimplify_expr): Likewise.
+	* graphite-isl-ast-to-gimple.c (is_valid_rename): Likewise.
+	(set_rename): Likewise.
+	(rename_uses): Likewise.
+	(copy_loop_phi_nodes): Likewise.
+	(add_close_phis_to_merge_points): Likewise.
+	(copy_loop_close_phi_args): Likewise.
+	(copy_cond_phi_args): Likewise.
+	(graphite_copy_stmts_from_block): Likewise.
+	(translate_pending_phi_nodes): Likewise.
+	* graphite-poly.c (print_pdr): Likewise.
+	(dump_gbb_cases): Likewise.
+	(dump_gbb_conditions): Likewise.
+	(print_scop_params): Likewise.
+	* graphite-scop-detection.c (build_cross_bb_scalars_def): Likewise.
+	(build_cross_bb_scalars_use): Likewise.
+	(gather_bbs::before_dom_children): Likewise.
+	* hsa-dump.c (dump_hsa_immed): Likewise.
+	* ipa-cp.c (print_ipcp_constant_value): Likewise.
+	(get_replacement_map): Likewise.
+	* ipa-inline-analysis.c (dump_condition): Likewise.
+	(estimate_function_body_sizes): Likewise.
+	* ipa-polymorphic-call.c (check_stmt_for_type_change): Likewise.
+	(ipa_polymorphic_call_context::get_dynamic_type): Likewise.
+	* ipa-prop.c (ipa_dump_param): Likewise.
+	(ipa_print_node_jump_functions_for_edge): Likewise.
+	(ipa_modify_call_arguments): Likewise.
+	(ipa_modify_expr): Likewise.
+	(ipa_dump_param_adjustments): Likewise.
+	(ipa_dump_agg_replacement_values): Likewise.
+	(ipcp_modif_dom_walker::before_dom_children): Likewise.
+	* ipa-pure-const.c (check_stmt): Likewise.
+	(pass_nothrow::execute): Likewise.
+	* ipa-split.c (execute_split_functions): Likewise.
+	* omp-offload.c (dump_oacc_loop_part): Likewise.
+	(dump_oacc_loop): Likewise.
+	* trans-mem.c (tm_log_emit): Likewise.
+	(tm_memopt_accumulate_memops): Likewise.
+	(dump_tm_memopt_set): Likewise.
+	(dump_tm_memopt_transform): Likewise.
+	* tree-cfg.c (gimple_verify_flow_info): Likewise.
+	(print_loop): Likewise.
+	* tree-chkp-opt.c (chkp_print_addr): Likewise.
+	(chkp_gather_checks_info): Likewise.
+	(chkp_get_check_result): Likewise.
+	(chkp_remove_check_if_pass): Likewise.
+	(chkp_use_outer_bounds_if_possible): Likewise.
+	(chkp_reduce_bounds_lifetime): Likewise.
+	* tree-chkp.c (chkp_register_addr_bounds): Likewise.
+	(chkp_mark_completed_bounds): Likewise.
+	(chkp_register_incomplete_bounds): Likewise.
+	(chkp_mark_invalid_bounds): Likewise.
+	(chkp_maybe_copy_and_register_bounds): Likewise.
+	(chkp_build_returned_bound): Likewise.
+	(chkp_get_bound_for_parm): Likewise.
+	(chkp_build_bndldx): Likewise.
+	(chkp_get_bounds_by_definition): Likewise.
+	(chkp_generate_extern_var_bounds): Likewise.
+	(chkp_get_bounds_for_decl_addr): Likewise.
+	* tree-chrec.c (chrec_apply): Likewise.
+	* tree-data-ref.c (dump_data_reference): Likewise.
+	(dump_subscript): Likewise.
+	(dump_data_dependence_relation): Likewise.
+	(analyze_overlapping_iterations): Likewise.
+	* tree-inline.c (expand_call_inline): Likewise.
+	(tree_function_versioning): Likewise.
+	* tree-into-ssa.c (dump_defs_stack): Likewise.
+	(dump_currdefs): Likewise.
+	(dump_names_replaced_by): Likewise.
+	(dump_update_ssa): Likewise.
+	(update_ssa): Likewise.
+	* tree-object-size.c (pass_object_sizes::execute): Likewise.
+	* tree-parloops.c (build_new_reduction): Likewise.
+	(try_create_reduction_list): Likewise.
+	(ref_conflicts_with_region): Likewise.
+	(oacc_entry_exit_ok_1): Likewise.
+	(oacc_entry_exit_single_gang): Likewise.
+	* tree-pretty-print.h: Likewise.
+	* tree-scalar-evolution.c (set_scalar_evolution): Likewise.
+	(get_scalar_evolution): Likewise.
+	(add_to_evolution): Likewise.
+	(get_loop_exit_condition): Likewise.
+	(analyze_evolution_in_loop): Likewise.
+	(analyze_initial_condition): Likewise.
+	(analyze_scalar_evolution): Likewise.
+	(instantiate_scev): Likewise.
+	(number_of_latch_executions): Likewise.
+	(gather_chrec_stats): Likewise.
+	(final_value_replacement_loop): Likewise.
+	(scev_const_prop): Likewise.
+	* tree-sra.c (dump_access): Likewise.
+	(disqualify_candidate): Likewise.
+	(create_access): Likewise.
+	(reject): Likewise.
+	(maybe_add_sra_candidate): Likewise.
+	(create_access_replacement): Likewise.
+	(analyze_access_subtree): Likewise.
+	(analyze_all_variable_accesses): Likewise.
+	(sra_modify_assign): Likewise.
+	(initialize_constant_pool_replacements): Likewise.
+	(find_param_candidates): Likewise.
+	(decide_one_param_reduction): Likewise.
+	(replace_removed_params_ssa_names): Likewise.
+	* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
+	* tree-ssa-copy.c (dump_copy_of): Likewise.
+	(copy_prop_visit_cond_stmt): Likewise.
+	* tree-ssa-dce.c (mark_operand_necessary): Likewise.
+	* tree-ssa-dom.c (pass_dominator::execute): Likewise.
+	(record_equivalences_from_stmt): Likewise.
+	* tree-ssa-dse.c (compute_trims): Likewise.
+	(delete_dead_call): Likewise.
+	(delete_dead_assignment): Likewise.
+	* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Likewise.
+	(forward_propagate_into_cond): Likewise.
+	(pass_forwprop::execute): Likewise.
+	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
+	* tree-ssa-loop-im.c (invariantness_dom_walker::before_dom_children):
+	Likewise.
+	(move_computations_worker): Likewise.
+	(execute_sm): Likewise.
+	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
+	(remove_exits_and_undefined_stmts): Likewise.
+	(remove_redundant_iv_tests): Likewise.
+	* tree-ssa-loop-ivopts.c (dump_use): Likewise.
+	(adjust_iv_update_pos): Likewise.
+	* tree-ssa-math-opts.c (bswap_replace): Likewise.
+	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Likewise.
+	(value_replacement): Likewise.
+	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
+	* tree-ssa-pre.c (print_pre_expr): Likewise.
+	(get_representative_for): Likewise.
+	(create_expression_by_pieces): Likewise.
+	(insert_into_preds_of_block): Likewise.
+	(eliminate_insert): Likewise.
+	(eliminate_dom_walker::before_dom_children): Likewise.
+	(eliminate): Likewise.
+	(remove_dead_inserted_code): Likewise.
+	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
+	* tree-ssa-reassoc.c (get_rank): Likewise.
+	(eliminate_duplicate_pair): Likewise.
+	(eliminate_plus_minus_pair): Likewise.
+	(eliminate_not_pairs): Likewise.
+	(undistribute_ops_list): Likewise.
+	(eliminate_redundant_comparison): Likewise.
+	(update_range_test): Likewise.
+	(optimize_range_tests_var_bound): Likewise.
+	(optimize_vec_cond_expr): Likewise.
+	(rewrite_expr_tree): Likewise.
+	(rewrite_expr_tree_parallel): Likewise.
+	(linearize_expr): Likewise.
+	(break_up_subtract): Likewise.
+	(linearize_expr_tree): Likewise.
+	(attempt_builtin_powi): Likewise.
+	(attempt_builtin_copysign): Likewise.
+	(transform_stmt_to_copy): Likewise.
+	(transform_stmt_to_multiply): Likewise.
+	(dump_ops_vector): Likewise.
+	* tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Likewise.
+	(print_scc): Likewise.
+	(set_ssa_val_to): Likewise.
+	(visit_reference_op_store): Likewise.
+	(visit_use): Likewise.
+	(sccvn_dom_walker::before_dom_children): Likewise.
+	(run_scc_vn): Likewise.
+	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr):
+	Likewise.
+	(expr_hash_elt::print): Likewise.
+	(const_and_copies::pop_to_marker): Likewise.
+	(const_and_copies::record_const_or_copy_raw): Likewise.
+	* tree-ssa-structalias.c (compute_dependence_clique): Likewise.
+	* tree-ssa-uninit.c (collect_phi_def_edges): Likewise.
+	(dump_predicates): Likewise.
+	(find_uninit_use): Likewise.
+	(warn_uninitialized_phi): Likewise.
+	(pass_late_warn_uninitialized::execute): Likewise.
+	* tree-ssa.c (verify_vssa): Likewise.
+	(verify_ssa): Likewise.
+	(maybe_optimize_var): Likewise.
+	* tree-vrp.c (dump_value_range): Likewise.
+	(dump_all_value_ranges): Likewise.
+	(dump_asserts_for): Likewise.
+	(register_edge_assert_for_2): Likewise.
+	(vrp_visit_cond_stmt): Likewise.
+	(vrp_visit_switch_stmt): Likewise.
+	(vrp_visit_stmt): Likewise.
+	(vrp_visit_phi_node): Likewise.
+	(simplify_cond_using_ranges_1): Likewise.
+	(fold_predicate_in): Likewise.
+	(evrp_dom_walker::before_dom_children): Likewise.
+	(evrp_dom_walker::push_value_range): Likewise.
+	(evrp_dom_walker::pop_value_range): Likewise.
+	(execute_early_vrp): Likewise.
+
+2017-05-16  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (loc_list_from_tree_1): Do not create
+	DW_OP_GNU_variable_value for DECL_IGNORED_P decls.
+
+2017-05-16  Richard Biener  <rguenther@suse.de>
+
+	* dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE
+	just generated.
+	(note_variable_value_in_expr): If we resolved the decl ref
+	do not push to the stack.
+
+2017-05-16  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/arm/arm_neon.h (vadd_f16): Use standard arithmetic
+	operations in fast-math mode.
+	(vaddq_f16): Likewise.
+	(vmul_f16): Likewise.
+	(vmulq_f16): Likewise.
+	(vsub_f16): Likewise.
+	(vsubq_f16): Likewise.
+	* config/arm/neon.md (add<mode>3): New.
+	(sub<mode>3): New.
+	(fma:<VH:mode>3): New.  Also remove outdated comment.
+	(mul<mode>3): New.
+
+2017-05-16  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/79849.
+	PR ipa/79850.
+	* ipa-devirt.c (warn_types_mismatch): Fix typo.
+	(odr_types_equivalent_p): Likewise.
+
+2017-05-15  Sylvestre Ledru  <sylvestre@debian.org>
+
+	* plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637).
+
+2017-05-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80425
+	* config/i386.i386.md (*zero_extendsidi2): Do not penalize
+	non-interunit SSE move alternatives with '?'.
+	(zero-extendsidi peephole2): New peephole to skip intermediate
+	general register in SSE zero-extend sequence.
+
+2017-05-15  Jeff Law  <law@redhat.com>
+
+	* reorg.c (relax_delay_slots): Create a new variable to hold
+	the temporary target rather than clobbering TARGET_LABEL.
+
+	* config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Add
+	missing argument to extract_bit_field call.
+	* config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.
+
+2017-05-15  Martin Liska  <mliska@suse.cz>
+
+	PR driver/31468
+	* gcc.c (process_command): Do not allow empty argument of -o option.
+
+2017-05-15  Renlin Li  <renlin.li@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_expand_call): Declare.
+	* config/aarch64/aarch64.c (aarch64_expand_call): Define.
+	* config/aarch64/constraints.md (Usf): Add long call check.
+	* config/aarch64/aarch64.md (call): Use aarch64_expand_call.
+	(call_value): Likewise.
+	(sibcall): Likewise.
+	(sibcall_value): Likewise.
+	(call_insn): New.
+	(call_value_insn): New.
+	(sibcall_insn): Update rtx pattern.
+	(sibcall_value_insn): Likewise.
+	(call_internal): Remove.
+	(call_value_internal): Likewise.
+	(sibcall_internal): Likewise.
+	(sibcall_value_internal): Likewise.
+	(call_reg): Likewise.
+	(call_symbol): Likewise.
+	(call_value_reg): Likewise.
+	(call_value_symbol): Likewise.
+
+2017-05-14  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+	PR target/80600
+	* config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.
+
+2017-05-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
+	compatible with CCGOCmode and with CCZmode.
+
+2017-05-14  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/77671
+	* gimple-fold.c (gimple_fold_builtin_sprintf): Make extern.
+	(gimple_fold_builtin_snprintf): Same.
+	* gimple-fold.h (gimple_fold_builtin_sprintf): Declare.
+	(gimple_fold_builtin_snprintf): Same.
+	* gimple-ssa-sprintf.c (get_format_string): Correct the detection
+	of character types.
+	(is_call_safe): New function.
+	(try_substitute_return_value): Call it.
+	(try_simplify_call): New function.
+	(pass_sprintf_length::handle_gimple_call): Call it.
+
+2017-05-14  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/80669
+	* builtins.c (expand_builtin_stpncpy): Simplify.
+
+2017-05-14  Daniel Santos  <daniel.santos@pobox.com>
+
+	* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues.
+	* config/i386/i386.h
+	(x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned.
+	(NUM_X86_64_MS_CLOBBERED_REGS): New macro.
+	(struct machine_function): Add new members call_ms2sysv,
+	call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs.
+	(struct machine_frame_state): New fields sp_realigned and
+	sp_realigned_offset.
+	* config/i386/i386.c
+	(enum xlogue_stub): New enum.
+	(enum xlogue_stub_sets): New enum.
+	(class xlogue_layout): New class.
+	(struct ix86_frame): New fields stack_realign_allocate_offset,
+	stack_realign_offset and outlined_save_offset.  Modify comments to
+	detail stack layout when using out-of-line stubs.
+	(ix86_target_string): Add -mcall-ms2sysv-xlogues option.
+	(ix86_option_override_internal): Add sorry() for TARGET_SEH and
+	-mcall-ms2sysv-xlogues.
+	(stub_managed_regs): New static variable.
+	(ix86_save_reg): Add new parameter ignore_outlined to optionally omit
+	registers managed by out-of-line stub.
+	(disable_call_ms2sysv_xlogues): New function.
+	(ix86_compute_frame_layout): Modify re-alignment calculations, disable
+	m->call_ms2sysv when appropriate and compute frame layout for
+	out-of-line stubs.
+	(sp_valid_at, fp_valid_at): New inline functions.
+	(choose_basereg): New function.
+	(choose_baseaddr): Add align parameter, use choose_basereg and modify
+	all callers.
+	(ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov):
+	Use align parameter of choose_baseaddr to generated aligned SSE movs
+	when possible.
+	(pro_epilogue_adjust_stack): Modify to track
+	machine_frame_state::sp_realigned.
+	(ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg.
+	(ix86_nsaved_sseregs): Likewise.
+	(ix86_emit_save_regs): Likewise.
+	(ix86_emit_save_regs_using_mov): Likewise.
+	(ix86_emit_save_sse_regs_using_mov): Likewise.
+	(get_scratch_register_on_entry): Likewise.
+	(gen_frame_set): New function.
+	(gen_frame_load): Likewise.
+	(gen_frame_store): Likewise.
+	(emit_outlined_ms2sysv_save): Likewise.
+	(emit_outlined_ms2sysv_restore): Likewise.
+	(ix86_expand_prologue): Modify stack re-alignment code and call
+	emit_outlined_ms2sysv_save when appropriate.
+	(ix86_emit_leave): Clear machine_frame_state::sp_realigned.  Add
+	parameter rtx_insn *insn, which allows the function to be used to only
+	generate the notes.
+	(ix86_expand_epilogue): Modify validity checks of frame and stack
+	pointers, and call emit_outlined_ms2sysv_restore when appropriate.
+	(ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate.
+	* config/i386/predicates.md
+	(save_multiple): New predicate.
+	(restore_multiple): Likewise.
+	* config/i386/sse.md
+	(save_multiple<mode>): New pattern.
+	(save_multiple_realign<mode>): Likewise.
+	(restore_multiple<mode>): Likewise.
+	(restore_multiple_and_return<mode>): Likewise.
+	(restore_multiple_leave_return<mode>): Likewise.
+	* Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp
+
+2017-05-14  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
+	* config/i386/i386-builtin.def (__builtin_ia32_xgetbv)
+	(__builtin_ia32_xsetbv): New builtins.
+	* config/i386/i386.c (ix86_expand_special_args_builtin):
+	Process new types.
+	(ix86_expand_builtin): Special expand for new intrinsics.
+	* config/i386/i386.md (UNSPECV_XGETBV, UNSPECV_XSETBV): New.
+	(xsetbv, xsetbv_rex64, xgetbv, xgetbv_rex64): New insn patterns.
+	* config/i386/xsaveintrin.h (_xsetbv, _getbv): New intrinsics.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfganal.c (inverted_post_order_compute): Change argument type
+	to vec *.
+	* cfganal.h (inverted_post_order_compute): Adjust prototype.
+	* df-core.c (rest_of_handle_df_initialize): Adjust.
+	(rest_of_handle_df_finish): Likewise.
+	(df_analyze_1): Likewise.
+	(df_analyze): Likewise.
+	(loop_inverted_post_order_compute): Change argument to be a vec *.
+	(df_analyze_loop): Adjust.
+	(df_get_n_blocks): Likewise.
+	(df_get_postorder): Likewise.
+	* df.h (struct df_d): Change field to be a vec.
+	* lcm.c (compute_laterin): Adjust.
+	(compute_available): Likewise.
+	* lra-lives.c (lra_create_live_ranges_1): Likewise.
+	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
+	* tree-ssa-pre.c (compute_antic): Likewise.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfganal.c (connect_infinite_loops_to_exit): Adjust.
+	(depth_first_search::depth_first_search): Change structure init
+	function to this constructor.
+	(depth_first_search::add_bb): Rename function to this member.
+	(depth_first_search::execute): Likewise.
+	(flow_dfs_compute_reverse_finish): Adjust.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* ddg.c (find_nodes_on_paths): Use auto_sbitmap.
+	(longest_simple_path): Likewise.
+	* shrink-wrap.c (spread_components): Likewise.
+	(disqualify_problematic_components): Likewise.
+	(emit_common_heads_for_components): Likewise.
+	(emit_common_tails_for_components): Likewise.
+	(insert_prologue_epilogue_for_components): Likewise.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a
+	auto_sbitmap.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* df-core.c (df_set_blocks): Start using auto_bitmap.
+	(df_compact_blocks): Likewise.
+	* df-problems.c (df_rd_confluence_n): Likewise.
+	* df-scan.c (df_insn_rescan_all): Likewise.
+	(df_process_deferred_rescans): Likewise.
+	(df_update_entry_block_defs): Likewise.
+	(df_update_exit_block_uses): Likewise.
+	(df_entry_block_bitmap_verify): Likewise.
+	(df_exit_block_bitmap_verify): Likewise.
+	(df_scan_verify): Likewise.
+	* lra-constraints.c (lra_constraints): Likewise.
+	(undo_optional_reloads): Likewise.
+	(lra_undo_inheritance): Likewise.
+	* lra-remat.c (calculate_gen_cands): Likewise.
+	(do_remat): Likewise.
+	* lra-spills.c (assign_spill_hard_regs): Likewise.
+	(spill_pseudos): Likewise.
+	* tree-ssa-pre.c (bitmap_set_and): Likewise.
+	(bitmap_set_subtract_values): Likewise.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* haifa-sched.c (estimate_shadow_tick): Replace manual bitmap
+	management with auto_bitmap.
+	(fix_inter_tick): Likewise.
+	(fix_recovery_deps): Likewise.
+	* ira.c (add_store_equivs): Likewise.
+	(find_moveable_pseudos): Likewise.
+	(split_live_ranges_for_shrink_wrap): Likewise.
+	* print-rtl.c (rtx_reuse_manager::rtx_reuse_manager): Likewise.
+	(rtx_reuse_manager::seen_def_p): Likewise.
+	(rtx_reuse_manager::set_seen_def): Likewise.
+	* print-rtl.h (class rtx_reuse_manager): Likewise.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap
+	lifetime.
+	(migrate_btr_def): Likewise.
+	* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
+	* df-core.c (loop_post_order_compute): Likewise.
+	(loop_inverted_post_order_compute): Likewise.
+	* hsa-common.h: Likewise.
+	* hsa-gen.c (hsa_bb::~hsa_bb): Likewise.
+	* init-regs.c (initialize_uninitialized_regs): Likewise.
+	* ipa-inline.c (resolve_noninline_speculation): Likewise.
+	(inline_small_functions): Likewise.
+	* ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
+	* ira.c (combine_and_move_insns): Likewise.
+	(build_insn_chain): Likewise.
+	* loop-invariant.c (find_invariants): Likewise.
+	* lower-subreg.c (propagate_pseudo_copies): Likewise.
+	* predict.c (tree_predict_by_opcode): Likewise.
+	(predict_paths_leading_to): Likewise.
+	(predict_paths_leading_to_edge): Likewise.
+	(estimate_loops_at_level): Likewise.
+	(estimate_loops): Likewise.
+	* shrink-wrap.c (try_shrink_wrapping): Likewise.
+	(spread_components): Likewise.
+	* tree-cfg.c (remove_edge_and_dominated_blocks): Likewise.
+	* tree-loop-distribution.c (rdg_build_partitions): Likewise.
+	* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
+	* tree-ssa-coalesce.c (coalesce_ssa_name): Likewise.
+	* tree-ssa-phionlycprop.c (pass_phi_only_cprop::execute): Likewise.
+	* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
+	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
+	* tree-ssa-threadupdate.c (compute_path_counts): Likewise.
+	(mark_threaded_blocks): Likewise.
+	(thread_through_all_blocks): Likewise.
+	* tree-ssa.c (verify_ssa): Likewise.
+	(execute_update_addresses_taken): Likewise.
+	* tree-ssanames.c (verify_ssaname_freelists): Likewise.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* cfganal.c (mark_dfs_back_edges): Replace manual stack with
+	auto_vec.
+	(post_order_compute): Likewise.
+	(inverted_post_order_compute): Likewise.
+	(pre_and_rev_post_order_compute_fn): Likewise.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* genrecog.c (int_set::int_set): Explicitly construct our
+	auto_vec base class.
+	* vec.h (auto_vec::auto_vec): New constructor.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* bitmap.h (class auto_bitmap): New constructor taking
+	bitmap_obstack * argument.
+
+2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* bitmap.h (class auto_bitmap): Change type of m_bits to
+	bitmap_head, and adjust ctor / dtor and member operators.
+
+2017-05-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* compare-elim.c (equivalent_reg_at_start): Return NULL_RTX
+	when returned register mode doesn't match original mode.
+
+2017-05-12  Jeff Law  <law@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* config/mn10300/mn10300.c (mn10300_match_ccmode): Fix where
+	we look for cc setter after the compare-elim changes.
+	* config/mn10300/mn10300.md (addsi3_flags): Fix order of patterns
+	within the vector to match what compare-elim now expects.
+	(subsi3_flags, andsi3_flags, iorsi3_flags): Likewise.
+	(xorsi3_flags, one_cmplsi2_flags): Likewise.
+
+	* config/rx/rx.c (rx_match_ccmode): Fix where we look cc setter
+	after the compare-elim changes.
+	* config/rx/rx.md (abssi2_flags): Fix order of patterns within
+	the vector to match what compare-elim now expects.
+	(addsi3_flags, adc_flags, addsi3_flags peepholes): Likewise.
+	(andsi3_flags, negsi2_flags, one_cmplsi2_flags): Likewise.
+	(iorsi3_flags, rotlsi3_flags, rotrsi3_flags): Likewise.
+	(ashrsi3_flags, lshrsi3_flags, ashlsi3_flags): Likewise.
+	(ssaddsi3, subsi3_flags, sbb_flags, xorsi3_flags): Likewise.
+
+	* config/visium/visium.c (single_set_and_flags): Fix where
+	we look for cc setter after the compare-elim changes.
+	* config/visium/visium.md (flags_subst_logic): Fix order of patterns
+	with the vector to match what compare-elim now expects.
+	(flags_subst_arith, add<mode>3_insn_set_carry): Likewise.
+	(add<mode>3_insn_set_overflow, addsi3_insn_set_carry): Likewise.
+	(addsi3_insn_set_overflow, sub<mode>3_insn_set_carry): Likewise.
+	(sub<mode>3_insn_set_overflow, subsi3_insn_set_carry): Likewise.
+	(subsi3_insn_set_overflow, negsi2_insn_set_carry): Likewise.
+	(neg<mode>2_insn_set_overflow): Likewise.
+
+2017-05-12  Jim Wilson  <jim.wilson@linaro.org>
+
+	PR middle-end/79794
+	* expmed.c (extract_bit_field_1): Add alt_rtl argument.  Before
+	maybe_expand_insn call, set ops[0].target.  If still set after call,
+	set alt_rtl.  Add extra arg to recursive calls.
+	(extract_bit_field): Add alt_rtl argument.  Pass to
+	extract_bit_field.
+	* expmed.h (extract_bit_field): Fix prototype.
+	* expr.c (emit_group_load_1, copy_blkmode_from_reg)
+	(copy_blkmode_to_reg, read_complex_part, store_field): Pass extra NULL
+	to extract_bit_field_calls.
+	(expand_expr_real_1): Pass alt_rtl to expand_expr_real instead of 0.
+	Pass alt_rtl to extract_bit_field calls.
+	* calls.c (store_unaligned_arguments_into_psuedos)
+	load_register_parameters): Pass extra NULL to extract_bit_field calls.
+	* optabs.c (maybe_legitimize_operand): Clear op->target when call
+	gen_reg_rtx.
+	* optabs.h (struct expand_operand): Add target bitfield.
+
+2017-05-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	* compare-elim.c (try_eliminate_compare): Canonicalize
+	operation with embedded compare to
+	[(set (reg:CCM) (compare:CCM (operation) (immediate)))
+	 (set (reg) (operation)].
+
+	* config/i386/i386.c (TARGET_FLAGS_REGNUM): New define.
+
+2017-05-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80723
+	* config/i386/i386.c (ix86_rtx_cost) [case PLUS]: Ignore the
+	cost of adding a carry flag for ADC instruction.
+	[case MINUS]: Ignore the cost of subtracting a carry flag
+	for SBB instruction.
+
+2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>
+
+	* config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h,
+	and x86intrin.h
+	* config/rs6000/bmiintrin.h: New file.
+	* config/rs6000/bmi2intrin.h: New file.
+	* config/rs6000/x86intrin.h: New file.
+
+2017-05-12  Jeff Law  <law@redhat.com>
+
+	* tree-vrp.c (vrp_dom_walker::before_dom_children): Push unwinding
+	markers.
+
+2017-05-12  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR middle-end/80707
+	* tree-cfg.c: Remove cfg edges of unreachable case statements.
+
+2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
+	early expansion of vector divide builtins.
+	(builtin_function_type): Add VSX_BUILTIN_UDIV_V2DI to the list of
+	builtins identified as having unsigned arguments.
+
+2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (gimple-fold.h): New #include.
+	(rs6000_gimple_fold_builtin): Add handling for early GIMPLE
+	expansion of vector logical operations (and, andc, or, xor,
+	nor, orc, nand).
+
+2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.
+	* gimple-fold.h (create_tmp_reg_or_ssa_name): New prototype.
+
+2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
+	early GIMPLE expansion of vector multiplies.
+
+2017-05-12  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
+
+	* config/arm/arm.md (movsi): Add TARGET_32BIT in addition to the
+	TARGET_HAVE_MOVT conditional.
+	(movt splitter): Likewise.
+
+2017-05-12  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-sccvn.h (has_VN_INFO): Declare.
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	Fold all stmts not inplace.
+
+2017-05-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80713
+	* tree-ssa-pre.c (remove_dead_inserted_code): Clear
+	inserted_exprs bit for not removed stmts.
+
+2017-05-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR middle-end/69921
+	* tree-parloops.c (create_parallel_loop): Set "oacc kernels
+	parallelized" attribute for parallelized OpenACC kernels.
+	* omp-offload.c (execute_oacc_device_lower): Use it.
+
+	* omp-expand.c (expand_omp_target) <GF_OMP_TARGET_KIND_OACC_KERNELS>:
+	Set "oacc kernels" attribute.
+	* omp-general.c (oacc_set_fn_attrib): Remove is_kernel formal
+	parameter.  Adjust all users.
+	(oacc_fn_attrib_kernels_p): Remove function.
+	* omp-offload.c (execute_oacc_device_lower): Look for "oacc
+	kernels" attribute instead of calling oacc_fn_attrib_kernels_p.
+	* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
+	* tree-parloops.c (create_parallel_loop): If oacc_kernels_p,
+	assert "oacc kernels" attribute is set.
+
+2017-05-11  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c: Add support for built-in functions
+	vector unsigned char vec_popcnt (vector signed char)
+	vector unsigned char vec_popcnt (vector unsigned char)
+	vector unsigned short vec_popcnt (vector signed short)
+	vector unsigned short vec_popcnt (vector unsigned short)
+	vector unsigned int vec_popcnt (vector signed int)
+	vector unsigned int vec_popcnt (vector unsigned int)
+	vector unsigned long long vec_popcnt (vector signed long long)
+	vector unsigned long long vec_popcnt (vector unsigned long long)
+	vector signed long long vec_slo (vector signed long long,
+					 vector signed char)
+	vector signed long long vec_slo (vector signed long long,
+					 vector unsigned char)
+	vector unsigned long long vec_slo (vector unsigned long long,
+					   vector signed char)
+	vector unsigned long long vec_slo (vector unsigned long long,
+					   vector unsigned char)
+	* config/rs6000/rs6000-builtin.def: Add definitions for VPOPCNTUB,
+	VPOPCNTUH, VPOPCNTUW, and VPOPCNTUD overloads.
+	* config/rs6000/altivec.h: Add define for vec_popcnt, vec_popcntb,
+	vec_popcnth, vec_popcntw and vec_popcntd built-in functions.
+	* doc/extend.texi: Update the built-in documentation file for the
+	new built-in functions.
+
+2017-05-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* attribs.h (sorted_attr_string): Move machine independent
+	functions for target clone support from the i386 port to common
+	code.  Rename ix86_function_versions to common_function_versions.
+	Rename make_name to make_unique_name.
+	(common_function_versions): Likewise.
+	(make_unique_name): Likewise.
+	(make_dispatcher_decl): Likewise.
+	(is_function_default_version): Likewise.
+	* attribs.c (attr_strcmp): Likewise.
+	(sorted_attr_string): Likewise.
+	(common_function_versions): Likewise.
+	(make_unique_name): Likewise.
+	(make_dispatcher_decl): Likewise.
+	(is_function_default_version): Likewise.
+	* config/i386/i386.c (attr_strcmp): Likewise.
+	(sorted_attr_string): Likewise.
+	(ix86_function_versions): Likewise.
+	(make_name): Likewise.
+	(make_dispatcher_decl): Likewise.
+	(is_function_default_version): Likewise.
+	(TARGET_OPTION_FUNCTION_VERSIONS): Update target function hook.
+
+2017-05-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/80695
+	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
+	Account for direct move costs for vec_construct of integer
+	vectors.
+
+2017-05-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80706
+	* config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec.
+	(UNSPEC_STX_ATOMIC): Ditto.
+	(loaddi_via_sse): New insn.
+	(storedi_via_sse): Ditto.
+	(atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse.
+	Update corresponding peephole2 patterns.
+	(atomic_storedi_fpu): Ditto.
+
+2017-05-11  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512fintrin.h (_mm_mask_rsqrt14_sd)
+	(_mm_maskz_rsqrt14_sd, _mm_mask_rsqrt14_ss, _mm_maskz_rsqrt14_ss):
+	New intrinsics.
+	* config/i386/i386-builtin.def (__builtin_ia32_rsqrt14sd_mask)
+	(__builtin_ia32_rsqrt14ss_mask): New builtins.
+	* config/i386/sse.md (rsqrt14_<mode>_mask): New pattern.
+
+2017-05-11  Nathan Sidwell  <nathan@acm.org>
+
+	* graphite-poly.c: Include dumpfile.h.
+
+	* dumpfle.h (dump_function): Declare here ...
+	* tree-dump.h (dump_function): ... not here.
+	* dumpfile.c: #include tree-cfg.h.
+	(dump_function): Move here from ...
+	* tree-dump.c (dump_function): ... here.
+	* gimplify.c: #include splay-tree.h, not tree-dump.h.
+	* graphite-poly.c: Don't include tree-dump.h.
+	* cgraphclones.c: Include dumpfile.h not tree-dump.h.
+	* print-tree.c: Likewise.
+	* stor-layout.c: Likewise.
+	* tree-nested.c: Likewise.
+
+	* dumpfile.c (dump_start): Use TDF_FLAGS.
+	(dump_enable_all): Fix TDF_KIND check thinko.
+
+2017-05-11  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	array entries to represent two legal parameterizations of the
+	overloaded __builtin_cmpb function, as represented by the
+	P6_OV_BUILTIN_CMPB constant.
+	(altivec_resolve_overloaded_builtin): Add special case handling
+	for the __builtin_cmpb function, as represented by the
+	P6_OV_BUILTIN_CMPB constant.
+	* config/rs6000/rs6000-builtin.def (BU_P6_2): New macro.
+	(BU_P6_64BIT_2): New macro.
+	(BU_P6_OVERLOAD_2): New macro
+	(CMPB_32): Add 32-bit compare-bytes support for 32-bit only targets.
+	(CMPB): Add 64-bit compare-bytes support for 32-bit and 64-bit targets.
+	(CMPB): Add overload support to represent both 32-bit and 64-bit
+	compare-bytes function.
+	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
+	support for TARGET_CMPB.
+	* config/rs6000/rs6000.h: Add support for RS6000_BTM_CMPB.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
+	documentation of the __builtin_cmpb overloaded built-in function.
+
+2017-05-11  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80705
+	* tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED
+	bases are not vectorizable.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (determine_set_costs): Skip non-interger
+	when counting register pressure.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (compare_cost_pair): New.
+	(iv_ca_more_deps): Renamed to ...
+	(iv_ca_compare_deps): ... this.
+	(iv_ca_extend): Extend iv_ca if NEW_CP is cheaper than OLD_CP.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (find_interesting_uses): Move inv vars dump
+	to ...
+	(determine_group_iv_costs): ... here.
+	(find_inv_vars_cb): Record inv var if it's not recorded before.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): Refine comments.
+	(get_shiftadd_cost): Ditto.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-address.c: Include header file.
+	(move_hint_to_base): Return TRUE if BASE_HINT is moved to memory
+	address.
+	(add_to_parts): Refactor.
+	(addr_to_parts): New parameter.  Update use of move_hint_to_base.
+	(create_mem_ref): Update use of addr_to_parts.  Re-associate addr
+	in new order.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/53090
+	* tree-ssa-loop-ivopts.c (enum comp_iv_rewrite): New enum value
+	COMP_IV_EXPR_2.
+	(extract_cond_operands): Detect condition with IV on both sides
+	and return COMP_IV_EXPR_2.
+	(find_interesting_uses_cond): Add iv_use for both IVs in condition.
+	(rewrite_use_compare): Simplify by removing call to function
+	extract_cond_operands.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (enum comp_iv_rewrite): New.
+	(extract_cond_operands): Detect condition comparing against non-
+	invariant bound and return appropriate enum value.
+	(find_interesting_uses_cond): Update use of extract_cond_operands.
+	Handle its return value accordingly.
+	(determine_group_iv_cost_cond, rewrite_use_compare): Ditto.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Re-associate
+	nonlinear iv_use computation in loop invariant sensitive way.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): New.
+	(find_iv_candidates): Call relate_compare_use_with_all_cands.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (struct iv_cand): New field inv_exprs.
+	(dump_cand): Support iv_cand.inv_exprs.
+	(add_candidate_1): Record invariant exprs in iv_cand.inv_exprs
+	for candidates.
+	(iv_ca_set_no_cp, iv_ca_set_cp, free_loop_data): Support
+	iv_cand.inv_exprs.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Move
+	from ...
+	* tree-ssa-address.c (multiplier_allowed_in_address_p): ... to here
+	as local function.  Include necessary header files.
+	* tree-ssa-loop-ivopts.h (multiplier_allowed_in_address_p): Delete.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (autoinc_possible_for_pair): Simplify.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Handle more
+	operators: TRUNC_DIV_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR, LSHIFT_EXPR,
+	RSHIFT_EXPR and BIT_NOT_EXPR.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_loop_invariant_expr): Simplify.
+	(adjust_setup_cost): New parameter supporting round up adjustment.
+	(struct address_cost_data): Delete.
+	(force_expr_to_var_cost): Don't bound cost with spill_cost.
+	(split_address_cost, ptr_difference_cost): Delete.
+	(difference_cost, compare_aff_trees, record_inv_expr): Delete.
+	(struct ainc_cost_data): New struct.
+	(get_address_cost_ainc): New function.
+	(get_address_cost, get_computation_cost): Reimplement.
+	(determine_group_iv_cost_address): Record inv_expr for all uses of
+	a group.
+	(determine_group_iv_cost_cond): Call get_loop_invariant_expr.
+	(iv_ca_has_deps): Reimplemented to ...
+	(iv_ca_more_deps): ... this.  Check if NEW_CP introduces more deps
+	than OLD_CP.
+	(iv_ca_extend): Call iv_ca_more_deps.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-address.c (struct mem_address): Move to header file.
+	(valid_mem_ref_p, move_fixed_address_to_symbol): Make it global.
+	* tree-ssa-address.h (struct mem_address): Move from C file.
+	(valid_mem_ref_p, move_fixed_address_to_symbol): Declare.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-affine.h (aff_combination_type): New interface.
+	(aff_combination_zero_p): Remove static.
+	(aff_combination_const_p): New interface.
+	(aff_combination_singleton_var_p): New interfaces.
+
+2017-05-11  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+	Skip unreachable blocks and destinations.
+	(eliminate): Move stmt removal and fixup ...
+	(fini_eliminate): ... here.  Skip inserted exprs.
+	(pass_pre::execute): Move fini_pre after fini_eliminate.
+	* tree-ssa-tailmerge.c: Include tree-cfgcleanup.h.
+	(tail_merge_optimize): Run cleanup_tree_cfg if requested by
+	PRE to get rid of dead code that has invalid SSA form and
+	split critical edges again.
+
+2017-05-11  Bin Cheng  <bin.cheng@arm.com>
+
+	* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
+
+2017-05-11  Richard Biener  <rguenther@suse.de>
+
+	* passes.c (execute_function_todo): Verify loops if they are
+	said to be up-to-date.
+	* cfgexpand.c (pass_expand::execute): Discard loops for -dx.
+	* trans-mem.c (pass_tm_edges::execute): Mark loops for fixup.
+
+2017-05-10  John David Anglin  <danglin@gcc.gnu.org>
+
+	PR target/80090
+	* config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF,
+	handle calling assemble_external ourself.
+
+	PR target/79027
+	* config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from
+	modes with zero size.  Enhance comment.
+
+2017-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8
+	built-ins for vec_xl and vec_xst with short and char pointer
+	arguments.
+
+2017-05-10  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* config/i386/avx512fintrin.h (_mm_mask_max_round_sd)
+	(_mm_maskz_max_round_sd, _mm_mask_max_round_ss)
+	(_mm_maskz_max_round_ss, _mm_mask_min_round_sd)
+	(_mm_maskz_min_round_sd, _mm_mask_min_round_ss)
+	(_mm_maskz_min_round_ss): New intrinsics.
+	* config/i386/i386-builtin-types.def (V2DF, V2DF, V2DF, V2DF, UQI, INT)
+	(V4SF, V4SF, V4SF, V4SF, UQI, INT): New function type aliases.
+	* config/i386/i386-builtin.def (__builtin_ia32_maxsd_mask_round)
+	(__builtin_ia32_maxss_mask_round, __builtin_ia32_minsd_mask_round)
+	(__builtin_ia32_minss_mask_round): New builtins.
+	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
+	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types.
+	* config/i386/sse.md (<sse>_vm<code><mode>3<round_saeonly_name>):
+	Rename to ...
+	(<sse>_vm<code><mode>3<mask_name><round_saeonly_name>): ... this.
+	(v<maxmin_float><ssescalarmodesuffix>\t{<round_saeonly_op3>%2, %1, %0|%0, %1, %<iptr>2<round_saeonly_op3>}):
+	Change to ...
+	(v<maxmin_float><ssescalarmodesuffix>\t{<round_saeonly_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_saeonly_mask_op3>}):
+	... this.
+
+2017-05-10  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* config/i386/avx512fintrin.h (_mm_mask_mul_round_sd)
+	(_mm_maskz_mul_round_sd, _mm_mask_mul_round_ss)
+	(_mm_maskz_mul_round_ss, _mm_mask_div_round_sd)
+	(_mm_maskz_div_round_sd, _mm_mask_div_round_ss)
+	(_mm_maskz_div_round_ss, _mm_mask_mul_sd, _mm_maskz_mul_sd)
+	(_mm_mask_mul_ss, _mm_maskz_mul_ss, _mm_mask_div_sd)
+	(_mm_maskz_div_sd, _mm_mask_div_ss, _mm_maskz_div_ss): New intrinsics.
+	* config/i386/i386-builtin-types.def (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
+	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): New function type aliases.
+	* config/i386/i386-builtin.def (__builtin_ia32_divsd_mask_round)
+	(__builtin_ia32_divss_mask_round, __builtin_ia32_mulsd_mask_round)
+	(__builtin_ia32_mulss_mask_round): New builtins.
+	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
+	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types.
+	* config/i386/sse.md (<sse>_vm<multdiv_mnemonic><mode>3<round_name>):
+	Rename to ...
+	(<sse>_vm<multdiv_mnemonic><mode>3<mask_name><round_name>): ... this.
+	(v<multdiv_mnemonic><ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|%0, %1, %<iptr>2<round_op3>}):
+	Change to ...
+	(v<multdiv_mnemonic><ssescalarmodesuffix>\t{<round_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}):
+	... this.
+
+2017-05-10  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avxintrin.h (_mm256_set_m128, _mm256_set_m128d)
+	(_mm256_set_m128i, _mm256_setr_m128, _mm256_setr_m128d)
+	(_mm256_setr_m128i): New intrinsics.
+
+2017-05-10  Julia Koval  <julia.koval@intel.com>
+
+	* config/i386/avx512fintrin.h (_mm_mask_rcp14_sd)
+	(_mm_maskz_rcp14_sd, _mm_mask_rcp14_ss)
+	(_mm_maskz_rcp14_ss): New intrinsics.
+	* config/i386/i386-builtin.def (__builtin_ia32_rcp14sd_mask)
+	(__builtin_ia32_rcp14ss_mask): New builtins.
+	* config/i386/sse.md (srcp14<mode>_mask): New pattern.
+
+2017-05-10  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR tree-optimization/51513
+	* tree-cfg.c (gimple_seq_unreachable_p): New function.
+	(assert_unreachable_fallthru_edge_p): Use it.
+	(group_case_labels_stmt): Likewise.
+	* tree-cfg.h: Prototype it.
+	* stmt.c: Include cfghooks.h and tree-cfg.h.
+	(emit_case_dispatch_table) <gap_label>: New local variable.
+	Use it to fill dispatch table gaps.
+	Test for default_label before updating probabilities.
+	(expand_case) <default_label>: Remove unneeded initialization.
+	Test for unreachable default case statement and remove its edge.
+	Set default_label accordingly.
+	* tree-ssa-ccp.c (optimize_unreachable): Update comment.
+
+2017-05-10  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c: Add support for built-in functions
+	vector signed char	vec_neg (vector signed char)
+	vector signed short int	vec_neg (vector short int)
+	vector signed int	vec_neg (vector signed int)
+	vector signed long long	vec_neg (vector signed long long)
+	vector float		vec_neg (vector float)
+	vector double		vec_neg (vector double)
+	* config/rs6000/rs6000-builtin.def: Add definitions for NEG function
+	overload.
+	* config/rs6000/altivec.h: Add define for vec_neg
+	* doc/extend.texi: Update the built-in documentation for the
+	new built-in functions.
+
+2017-05-10  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR tree-optimization/77644
+	* match.pd (sqrt(x) cmp sqrt(y) -> x cmp y): New pattern.
+
+2017-05-10  Nathan Sidwell  <nathan@acm.org>
+
+	* dumpfile.h (TDI_lang_all): New.
+	(TDF_KIND): New. Renumber others
+	(TDF_LANG, TDF_TREE, TDF_RTL, TDF_IPA): Enumerate value, rather
+	than bits.
+	* dumpfile.c (dump_files): Mark language dumps as TDF_LANG.  add
+	lang-all.
+	(get_dump_file_name): Adjust suffix generation.
+	(dump_enable_all): Use TDF_KIND.
+	* doc/invoke.texi (-fdump-lang-all): Document.
+
+	* dumpfile.h: Tabify.
+
+2017-05-10  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	PR target/80671
+	* config/aarch64/cortex-a57-fma-steering.c (merge_forest):
+	Move member access before delete.
+
+2017-05-10  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree-inline.c (expand_call_inline): Split block at stmt
+	before the call.
+
+2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/68163
+	* config/rs6000/rs6000.md (f32_lr): Delete mode attributes that
+	are now unused after splitting mov{sf,sd}_hardfloat.
+	(f32_lr2): Likewise.
+	(f32_lm): Likewise.
+	(f32_lm2): Likewise.
+	(f32_li): Likewise.
+	(f32_li2): Likewise.
+	(f32_lv): Likewise.
+	(f32_sr): Likewise.
+	(f32_sr2): Likewise.
+	(f32_sm): Likewise.
+	(f32_sm2): Likewise.
+	(f32_si): Likewise.
+	(f32_si2): Likewise.
+	(f32_sv): Likewise.
+	(f32_dm): Likewise.
+	(f32_vsx): Likewise.
+	(f32_av): Likewise.
+	(mov<mode>_hardfloat): Split into separate movsf and movsd pieces.
+	For movsf, order stores so the VSX stores occur before the GPR
+	store which encourages the register allocator to use a traditional
+	FPR instead of a GPR.  For movsd, order the stores so that the GPR
+	store comes before the VSX stores to allow the power6 to work.
+	This is due to the power6 not having a 32-bit integer store
+	instruction from a FPR.
+	(movsf_hardfloat): Likewise.
+	(movsd_hardfloat): Likewise.
+
+2017-05-09  Martin Sebor  <msebor@redhat.com>
+
+	PR translation/80280
+	* config/sol2-c.c (cmn_err_flag_specs): Initialize new data member
+	added in r247778.
+
+	PR translation/80280
+	* config/i386/msformat-c.c (ms_printf_flag_specs): Initialize new
+	data member added in r247778.
+	(ms_scanf_flag_specs, ms_strftime_flag_specs): Same.
+
+2017-05-09  Nathan Sidwell  <nathan@acm.org>
+
+	* tree.h (tree_fits_shwi_p, tree_fits_uhwi_p): Unconditionally pure.
+
+	* ipa-devirt.c (default_hash_traits<type_pair>): Skip struct-scope
+	typedefs.
+
+2017-05-09  Marek Polacek  <polacek@redhat.com>
+
+	* doc/invoke.texi: Fix typo.
+
+2017-05-09  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (vrp_val_is_max): Adjust comment.
+	(vrp_val_is_min): Likewise.
+	(set_value_range_to_value): Likewise.
+	(set_value_range_to_nonnegative): Likewise.
+	(gimple_assign_nonzero_p): Likewise.
+	(gimple_stmt_nonzero_p): Likewise.
+	(vrp_int_const_binop): Likewise.  Remove unreachable case.
+	(adjust_range_with_scev): Adjust comments.
+	(compare_range_with_value): Likewise.
+	(extract_range_from_phi_node): Likewise.
+	(test_for_singularity): Likewise.
+
+2017-05-09  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (get_single_symbol): Add assert that we don't
+	get overflowed constants as invariant part.
+	(compare_values_warnv): Add comment before the TREE_NO_WARNING
+	checks.  Use wi::cmp instead of recursing for integer constants.
+	(compare_values): Just ignore whether we assumed undefined
+	overflow instead of failing the compare.
+	(extract_range_for_var_from_comparison_expr): Add comment before the
+	TREE_NO_WARNING sets.
+	(test_for_singularity): Likewise.
+	(extract_range_from_comparison): Do not disable optimization
+	when we assumed undefined overflow.
+	(extract_range_basic): Remove init of unused var.
+
+2017-05-09  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (vrp_int_const_binop): Use wide-ints and simplify.
+	(extract_range_from_multiplicative_op_1): Adjust.
+	(extract_range_from_binary_expr_1): Use int_const_binop.
+
+2017-05-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR target/80101
+	* config/rs6000/power6.md: Replace store_data_bypass_p calls with
+	rs6000_store_data_bypass_p in seven define_bypass directives and
+	in several comments.
+	* config/rs6000/rs6000-protos.h: Add prototype for
+	rs6000_store_data_bypass_p function.
+	* config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New
+	function implements slightly different (rs6000-specific) semantics
+	than store_data_bypass_p, returning false rather than aborting
+	with assertion error when arguments do not satisfy the
+	requirements of store data bypass.
+	(rs6000_adjust_cost): Replace six calls of store_data_bypass_p with
+	rs6000_store_data_bypass_p.
+
+2017-05-08  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* config/xtensa/xtensa-protos.h
+	(xtensa_initial_elimination_offset): New declaration.
+	* config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
+	New function. Move its body from the INITIAL_ELIMINATION_OFFSET
+	macro definition, add case for FRAME_POINTER_REGNUM when
+	FRAME_GROWS_DOWNWARD.
+	* config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): New macro definition.
+	(INITIAL_ELIMINATION_OFFSET): Replace body with call to
+	xtensa_initial_elimination_offset.
+
+2017-05-08  Nathan Sidwell  <nathan@acm.org>
+
+	* doc/invoke.texi: Alphabetize -fdump options.
+
+2017-05-08  Martin Sebor  <msebor@redhat.com>
+
+	PR translation/80280
+	* config/sol2-c.c (solaris_pragma_align): Correct quoting.
+
+2017-05-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* target.def (compute_frame_layout): New optional target hook.
+	* doc/tm.texi.in (TARGET_COMPUTE_FRAME_LAYOUT): Add hook.
+	* doc/tm.texi (TARGET_COMPUTE_FRAME_LAYOUT): Add documentation.
+	* lra-eliminations.c (update_reg_eliminate): Call compute_frame_layout
+	target hook.
+	* reload1.c (verify_initial_elim_offsets): Likewise.
+	* config/arm/arm.c (TARGET_COMPUTE_FRAME_LAYOUT): Define.
+	(use_simple_return_p): Call arm_compute_frame_layout if needed.
+	(arm_get_frame_offsets): Split up into this ...
+	(arm_compute_frame_layout): ... and this function.
+
+2017-05-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* config/aarch64/constraints.md (Usa): New constraint.
+	* config/aarch64/aarch64.md (*movsi_aarch64, *movdi_aarch64): Use it.
+
+2017-05-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config.gcc (arm*-*-*): Set TM_MULTILIB_CONFIG from
+	with_multilib_list after it has been checked.
+
+2017-05-08  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (bitmap_set_and): Avoid bitmap copy.
+	(bitmap_set_subtract_values): Likewise.
+
+2017-05-08  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (gimple_assign_nonzero_warnv_p): Rename to ...
+	(gimple_assign_nonzero): ... this and remove strict_overflow_p
+	argument.
+	(gimple_stmt_nonzero_warnv_p): Rename to ...
+	(gimple_stmt_nonzero_p): ... this and remove strict_overflow_p
+	argument.
+	(vrp_stmt_computes_nonzero): Remove strict_overflow_p argument.
+	(extract_range_basic): Adjust, do not disable propagation on
+	strict overflow sensitive simplification.
+	(vrp_visit_cond_stmt): Likewise.
+
+2017-05-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (estimate_function_body_sizes): Recompute
+	body size unconditionally.
+
+2017-05-07  Jeff Law  <law@redhat.com>
+
+	Revert:
+	2017-05-06  Jeff Law  <law@redhat.com>
+	PR tree-optimization/78496
+	* tree-vrp.c (simplify_assert_expr_using_ranges): Remove debugging
+	code.
+
+	PR tree-optimization/78496
+	* tree-vrp.c (simplify_assert_expr_using_ranges): New function.
+	(simplify_stmt_using_ranges): Call it.
+	(vrp_dom_walker::before_dom_children): Extract equivalences
+	from an ASSERT_EXPR with an equality comparison against a
+	constant.
+
+2017-05-06  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/78496
+	* tree-vrp.c (simplify_assert_expr_using_ranges): Remove debugging
+	code.
+
+	PR tree-optimization/78496
+	* tree-vrp.c (simplify_assert_expr_using_ranges): New function.
+	(simplify_stmt_using_ranges): Call it.
+	(vrp_dom_walker::before_dom_children): Extract equivalences
+	from an ASSERT_EXPR with an equality comparison against a
+	constant.
+
+2017-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* lra-constraints.c (lra_copy_reg_equiv): New function.
+	(split_reg): Use it to copy equivalence information from the
+	original register to the spill register.
+
+2017-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	PR rtl-optimization/75964
+	* simplify-rtx.c (simplify_const_relational_operation): Remove
+	invalid handling of comparisons of integer ABS.
+
+2017-05-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ext_80387_constant_init): Do not explicitly
+	initialize to zero.
+	(init_regs): Remove declaration.
+	(function_arg_advance_32): Initialize error_p as boolean variable.
+
+2017-05-05  Nathan Sidwell  <nathan@acm.org>
+
+	* store-motion.c (remove_reachable_equiv_notes): Reformat long
+	lines.  Use for (;;).
+
+2017-05-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var.
+	(rs6000_init_cost): Initialize rs6000_vect_nonmem.
+	(rs6000_add_stmt_cost): Update rs6000_vect_nonmem.
+	(rs6000_finish_cost): Avoid vectorizing simple copy loops with
+	VF=2 that require versioning.
+
+2017-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic.h (CARET_LINE_MARGIN): Convert from macro to const
+	int.
+
+2017-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic.h (diagnostic_override_option_index): Convert from
+	macro to inline function.
+
+2017-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic.c (last_module_changed_p): New function.
+	(set_last_module): New function.
+	(diagnostic_report_current_module): Convert macro usage to
+	the above functions.
+	* diagnostic.h (diagnostic_context::last_module): Strengthen
+	from const line_map * to const line_map_ordinary *.
+	(diagnostic_last_module_changed): Delete macro.
+	(diagnostic_set_last_module): Delete macro.
+
+2017-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic.c (diagnostic_impl): Replace report_diagnostic
+	with diagnostic_report_diagnostic.
+	(diagnostic_n_impl_richloc): Likewise.
+	* diagnostic.h (report_diagnostic): Delete macro.
+	* rtl-error.c (diagnostic_for_asm): Replace report_diagnostic
+	with diagnostic_report_diagnostic.
+	* substring-locations.c (format_warning_va): Likewise.
+
+2017-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic.c (diagnostic_report_diagnostic): Eliminate
+	save/restor of format_spec.  Move option-printing code to...
+	(print_option_information): ...this new function, and
+	reimplement by simply printing to the pretty_printer,
+	rather than appending to the format string.
+
+2017-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic.c (diagnostic_report_diagnostic): Split out pragma
+	handling logic into...
+	(update_effective_level_from_pragmas): ...this new function.
+
+2017-05-04  Andrew Waterman  <andrew@sifive.com>
+
+	* config/riscv/riscv.opt (mstrict-align): New option.
+	* config/riscv/riscv.h (STRICT_ALIGNMENT): Use it.  Update comment.
+	(SLOW_UNALIGNED_ACCESS): Define.
+	(riscv_slow_unaligned_access): Declare.
+	* config/riscv/riscv.c (riscv_tune_info): Add slow_unaligned_access
+	field.
+	(riscv_slow_unaligned_access): New variable.
+	(rocket_tune_info): Set slow_unaligned_access to true.
+	(optimize_size_tune_info): Set slow_unaligned_access to false.
+	(riscv_cpu_info_table): Add entry for optimize_size_tune_info.
+	(riscv_valid_lo_sum_p): Use TARGET_STRICT_ALIGN.
+	(riscv_option_override): Set riscv_slow_unaligned_access.
+	* doc/invoke.texi: Add -mstrict-align to RISC-V.
+
+2017-05-04  Kito Cheng  <kito.cheng@gmail.com>
+
+	* config/riscv/riscv.md: Unify indentation.
+
+2017-05-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/79038
+	PR target/79202
+	PR target/79203
+	* config/rs6000/rs6000.md (u code attribute): Add FIX and
+	UNSIGNED_FIX.
+	(extendsi<mode>2): Add support for doing sign extension via
+	VUPKHSW and XXPERMDI if the value is in Altivec registers and we
+	don't have ISA 3.0 instructions.
+	(extendsi<mode>2 splitter): Likewise.
+	(fix_trunc<mode>si2): If we are at ISA 2.07 (VSX small integer),
+	generate the normal insns since SImode can now go in vector
+	registers.  Disallow the special UNSPECs needed for previous
+	machines to hide SImode being used.  Add new insns
+	fctiw{,w}_<mode>_smallint if SImode can go in vector registers.
+	(fix_trunc<mode>si2_stfiwx): Likewise.
+	(fix_trunc<mode>si2_internal): Likewise.
+	(fixuns_trunc<mode>si2): Likewise.
+	(fixuns_trunc<mode>si2_stfiwx): Likewise.
+	(fctiw<u>z_<mode>_smallint): Likewise.
+	(fctiw<u>z_<mode>_mem): New combiner pattern to prevent conversion
+	of floating point to 32-bit integer from doing a direct move to
+	the GPR registers to do a store.
+	(fctiwz_<mode>): Break long line.
+
+2017-05-05  Bin Cheng  <bin.cheng@arm.com>
+
+	* Makefile.in (GTFILES): Add tree-ssa-loop-ivopts.c.
+	* tree-ssa-loop-ivopts.c (compute_max_addr_offset): Delete.
+	(addr_list, addr_offset_valid_p): New.
+	(split_address_groups): Check offset validity with above function.
+	(gt-tree-ssa-loop-ivopts.h): Include header file.
+
+2017-05-05  Nathan Sidwell  <nathan@acm.org>
+
+	* config.gcc (arm*-*-*): Add missing 'fi'.
+
+2017-05-05  Steve Ellcey  <sellcey@cavium.com>
+
+	* doc/invoke.texi (-fopt-info): Explicitly say order of options
+	included in -fopt-info does not matter.
+	* doc/optinfo.texi (-fopt-info): Fix description of default
+	behavour. Explicitly say order of options included in -fopt-info
+	does not matter.
+
+2017-05-05  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config.gcc: Allow combinations of aprofile and rmprofile values for
+	--with-multilib-list.
+	* config/arm/t-multilib: New file.
+	* config/arm/t-aprofile: Remove initialization of MULTILIB_*
+	variables.  Remove setting of ISA and floating-point ABI in
+	MULTILIB_OPTIONS and MULTILIB_DIRNAMES.  Set architecture and FPU in
+	MULTI_ARCH_OPTS_A and MULTI_ARCH_DIRS_A rather than MULTILIB_OPTIONS
+	and MULTILIB_DIRNAMES respectively.  Add comment to introduce all
+	matches.  Add architecture matches for marvel-pj4 and generic-armv7-a
+	CPU options.
+	* config/arm/t-rmprofile: Likewise except for the matches changes.
+	* doc/install.texi (--with-multilib-list): Document the combination of
+	aprofile and rmprofile values and warn about pitfalls in doing that.
+
+2017-05-05  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (movsi_aarch64): Remove '*' from r=w.
+	(movdi_aarch64): Likewise.
+
+2017-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/80632
+	* tree-switch-conversion.c (struct switch_conv_info): Add target_vop
+	field.
+	(build_arrays): Initialize it for virtual phis.
+	(fix_phi_nodes): Use it for virtual phis.
+
+	PR tree-optimization/80558
+	* tree-vrp.c (extract_range_from_binary_expr_1): Optimize
+	[x, y] op z into [x op, y op z] for op & or | if conditions
+	are met.
+
+2017-05-05  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+	    Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
+
+	PR target/71607
+	* config/arm/arm.md (use_literal_pool): Remove.
+	(64-bit immediate split): No longer takes cost into consideration
+	if arm_disable_literal_pool is enabled.
+	* config/arm/arm.c (arm_tls_referenced_p): Add diagnostic if TLS is
+	used when arm_disable_literal_pool is enabled.
+	(arm_max_const_double_inline_cost): Remove use of
+	arm_disable_literal_pool.
+	(push_minipool_fix): Add assert.
+	(arm_reorg): Add return if arm_disable_literal_pool is enabled.
+	* config/arm/vfp.md (no_literal_pool_df_immediate): New.
+	(no_literal_pool_sf_immediate): New.
+
+2017-05-05  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR tree-optimization/80613
+	* tree-ssa-dce.c (propagate_necessity): Remove cases for
+	BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
+
+2017-05-05  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-pre.c (get_or_alloc_expr_for): Simplify.
+
+2017-05-05  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.md [flag_strict_overflow]: Remove any occurence
+	of this flag from insn conditions due to removal from r247495.
+
+2017-05-05  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/aarch-common.c (arm_early_load_addr_dep_ptr):
+	New function.
+	(arm_early_store_addr_dep_ptr): Likewise.
+	* config/arm/aarch-common-protos.h
+	(arm_early_load_addr_dep_ptr): Add prototype.
+	(arm_early_store_addr_dep_ptr): Likewise.
+	* config/arm/cortex-a53.md: Add new bypasses.
+
+2017-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree.c (next_type_uid): Change type to unsigned.
+	(type_hash_canon): Decrement back next_type_uid if
+	freeing a type node with the highest TYPE_UID.  For INTEGER_TYPEs
+	also ggc_free TYPE_MIN_VALUE, TYPE_MAX_VALUE and TYPE_CACHED_VALUES
+	if possible.
+
+2017-05-04  Martin Sebor  <msebor@redhat.com>
+
+	* builtins.c: Fix a trivial typo in a comment.
+
+	PR middle-end/79234
+	* builtins.c (check_sizes): Adjust to handle reading past the end.
+	Avoid printing excessive upper bound of ranges.  Use %E to print
+	tree nodes instead of converting them to %wu.
+	(expand_builtin_memchr): New function.
+	(compute_dest_size): Rename...
+	(compute_objsize): ...to this.
+	(expand_builtin_memcpy): Adjust.
+	(expand_builtin_mempcpy): Adjust.
+	(expand_builtin_strcat): Adjust.
+	(expand_builtin_strcpy): Adjust.
+	(check_strncat_sizes): Adjust.
+	(expand_builtin_strncat): Adjust.
+	(expand_builtin_strncpy): Adjust and simplify.
+	(expand_builtin_memset): Adjust.
+	(expand_builtin_bzero): Adjust.
+	(expand_builtin_memcmp): Adjust.
+	(expand_builtin): Handle memcmp.
+	(maybe_emit_chk_warning): Check strncat just once.
+
+2017-05-04  Martin Sebor  <msebor@redhat.com>
+
+	PR preprocessor/79214
+	PR middle-end/79222
+	PR middle-end/79223
+	* builtins.c (check_sizes): Add inlining context and issue
+	warnings even when -Wno-system-headers is set.
+	(check_strncat_sizes): Same.
+	(expand_builtin_strncat): Same.
+	(expand_builtin_memmove): New function.
+	(expand_builtin_stpncpy): Same.
+	(expand_builtin): Handle memmove and stpncpy.
+
+2017-05-04  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (struct cost_pair): Remove field inv_expr
+	which is not used any more.
+
+2017-05-04  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (generic_tunings): Update prefetch model.
+
+2017-05-04  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (cortexa35_tunings): Set jump alignment to 4.
+	(cortexa53_tunings): Likewise.
+	(cortexa57_tunings): Likewise.
+	(cortexa72_tunings): Likewise.
+	(cortexa73_tunings): Likewise.
+
+2017-05-04  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (generic_tunings): Set jump alignment to 4.
+	Set loop alignment to 8.
+
+2017-05-04  Martin Sebor  <msebor@redhat.com>
+
+	PR translation/80280
+	* builtins.c (expand_builtin_object_size): Add missing quoting to
+	%D and like directives.
+	* hsa-gen.c (hsa_type_for_scalar_tree_type): Same.
+	(hsa_type_for_tree_type): Same.
+	(verify_function_arguments): Same.
+	* symtab.c (symbol_table::change_decl_assembler_name): Same.
+	* varasm.c (get_section): Same.
+	(mark_weak): Same.
+
+2017-05-04  Martin Sebor  <msebor@redhat.com>
+
+	PR translation/80280
+	* config/i386/i386.c (ix86_function_versions): Quote a %D directive.
+
+2017-05-04  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (generic_addrcost_table):
+	Change HI/TI mode setting.
+
+2017-05-04  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/80622
+	* tree-sra.c (comes_initialized_p): New function.
+	(build_accesses_from_assign): Only set write lazily when
+	comes_initialized_p is false.
+	(analyze_access_subtree): Use comes_initialized_p.
+	(propagate_subaccesses_across_link): Assert !comes_initialized_p
+	instead of testing for PARM_DECL.
+
+2017-05-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.md (prefetch); Adjust predicate and
+	constraint on operand 0 to allow more general addressing modes.
+	Adjust output template.
+	* config/aarch64/aarch64.c (aarch64_address_valid_for_prefetch_p):
+	New function.
+	* config/aarch64/aarch64-protos.h
+	(aarch64_address_valid_for_prefetch_p): Declare prototype.
+	* config/aarch64/constraints.md (Dp): New address constraint.
+	* config/aarch64/predicates.md (aarch64_prefetch_operand): New
+	predicate.
+
+2017-05-04  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-cp.c (perform_estimation_of_a_value): Drop base_time parameter;
+	update use of estimate_ipcp_clone_size_and_time.
+	(estimate_local_effects): Update use of
+	estimate_ipcp_clone_size_and_time and perform_estimation_of_a_value.
+	* ipa-inline.h (estimate_ipcp_clone_size_and_time): Update prototype.
+	* ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time):
+	Return nonspecialized time.
+
+2017-05-04  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-alias.c (get_continuation_for_phi): Improve looking
+	for the last VUSE which def dominates the PHI.  Directly call
+	maybe_skip_until.
+	(get_continuation_for_phi_1): Remove.
+
+2017-05-04  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): Add commentary
+	to explain the use of truncating division.  Cap the number of
+	iterations to the maximum given by nb_iterations_upper_bound,
+	if defined.
+
+2017-05-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* configure.ac (--enable-mingw-wildcard): Add new configurable feature.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* config/i386/driver-mingw32.c: new file.
+	* config/i386/x-mingw32: Add rule to build driver-mingw32.o.
+	* config.host: Link driver-mingw32.o on MinGW host.
+	* doc/install.texi: Document new --enable-mingw-wildcard configure
+	option.
+
+2017-05-04  Marek Polacek  <polacek@redhat.com>
+
+	PR tree-optimization/80612
+	* calls.c (get_size_range): Check for INTEGRAL_TYPE_P.
+
+2017-05-04  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
+	    Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm.md (movsi): Change TARGET_32BIT to TARGET_HAVE_MOVT.
+	(movt splitter): Likewise.
+	* config/arm/arm.c (arm_option_check_internal): Change arm_arch_thumb2
+	to TARGET_HAVE_MOVT, and merge with -mslow-flash-data check.
+	(const_ok_for_arm): Change else to else if (TARGET_THUMB2) and add else
+	block for Thumb-1 with MOVT.
+	(thumb2_legitimate_address_p): Move code block ...
+	(can_avoid_literal_pool_for_label_p): ... into this new function.
+	(thumb1_legitimate_address_p): Add check for TARGET_HAVE_MOVT and
+	literal pool.
+	(thumb_legitimate_constant_p): Add conditional on TARGET_HAVE_MOVT
+	* doc/invoke.texi (-mpure-code): Change "ARMv7-M targets" for
+	"M-profile targets with the MOVT instruction".
+
+2017-05-04  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
+
+	* config/arm/arm-builtins.c (arm_init_builtins): Rename
+	__builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
+	__builtin_arm_stfscr to __builtin_arm_set_fpscr.
+
+2017-05-04  Martin Liska  <mliska@suse.cz>
+
+	* tree-vrp.c (simplify_cond_using_ranges_2): Remove unused
+	variable cond_code.
+
+2017-05-04  Richard Biener  <rguenther@suse.de>
+
+	* tree.c (array_at_struct_end_p): Handle arrays at struct
+	end with flexarrays more conservatively.  Refactor and treat
+	arrays of arrays or aggregates more strict.  Fix
+	VIEW_CONVERT_EXPR handling.  Remove allow_compref argument.
+	* tree.c (array_at_struct_end_p): Adjust prototype.
+	* emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust.
+	* gimple-fold.c (get_range_strlen): Likewise.
+	* tree-chkp.c (chkp_may_narrow_to_field): Likewise.
+
+2017-05-04  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/31130
+	* tree-vrp.c (needs_overflow_infinity): Remove as always returning
+	false.
+	(supports_overflow_infinity): Likewise.
+	(is_negative_overflow_infinity): Likewise.
+	(is_positive_overflow_infinity): Likewise.
+	(is_overflow_infinity): Likewise.
+	(stmt_overflow_infinity): Likewise.
+	(overflow_infinity_range_p): Likewise.
+	(usable_range_p): Remove as always returning true.
+	(make_overflow_infinity): Remove.
+	(negative_overflow_infinity): Likewise.
+	(positive_overflow_infinity): Likewise.
+	(avoid_overflow_infinity): Likewise.
+	(set_value_range): Adjust accordingly.
+	(set_value_range_to_nonnegative): Likewise, remove now unused
+	overflow_infinity arg.
+	(vrp_operand_equal_p): Adjust.
+	(update_value_range): Likewise.
+	(range_int_cst_singleton_p): Likewise.
+	(operand_less_p): Likewise.
+	(compare_values_warnv): Likewise.
+	(extract_range_for_var_from_comparison_expr): Likewise.
+	(vrp_int_const_binop): Likewise.
+	(zero_nonzero_bits_from_vr): Likewise.
+	(extract_range_from_multiplicative_op_1): Likewise.
+	(extract_range_from_binary_expr_1): Likewise.
+	(extract_range_from_unary_expr): Likewise.
+	(extract_range_from_comparison): Likewise.
+	(extract_range_basic): Likewise.
+	(adjust_range_with_scev): Likewise.
+	(compare_ranges): Likewise.
+	(compare_range_with_value): Likewise.
+	(dump_value_range): Likewise.
+	(test_for_singularity): Likewise, remove strict_overflow_p parameter
+	never used.
+	(simplify_cond_using_ranges): Adjust.
+
+2017-05-04  Pekka Jääskeläinen  <pekka.jaaskelainen@parmance.com>
+
+	* brig-builtins.def: Added a builtin for class_f64.
+	* builtin-types.def: Added a builtin type needed by class_f64.
+
+2017-05-03  Jason Merrill  <jason@redhat.com>
+
+	* timevar.def: Add TV_CONSTEXPR.
+
+2017-05-03  David Malcolm  <dmalcolm@redhat.com>
+
+	* common.opt (fdiagnostics-parseable-fixits): Fix typo.
+
+2017-05-03  Martin Jambor  <mjambor@suse.cz>
+
+	* ipa-prop.c (ipa_update_after_lto_read): Removed.
+	* ipa-prop.h (ipa_update_after_lto_read): Remove declaration.
+	* ipa-cp.c (ipcp_propagate_stage): Do not call
+	ipa_update_after_lto_read.
+	* ipa-inline.c (ipa_inline): Likewise.
+
+2017-05-03  Martin Jambor  <mjambor@suse.cz>
+
+	* ipa-prop.h (ipa_edge_args): Make a class.  Mark with for_user GTY
+	tag.  Added a default constructor and a destructor.
+	(ipa_edge_args_sum_t): New class;
+	(ipa_edge_args_sum): Declare.
+	(ipa_edge_args_vector): Remove declaration.
+	(IPA_EDGE_REF): Use ipa_edge_args_sum.
+	(ipa_free_edge_args_substructures): Remove declaration.
+	(ipa_check_create_edge_args): Use ipa_edge_args_sum.
+	(ipa_edge_args_info_available_for_edge_p): Likewise.
+	* ipa-prop.c (ipa_edge_args_vector): Removed.
+	(edge_removal_hook_holder): Likewise.
+	(edge_duplication_hook_holder): Likewise.
+	(ipa_edge_args_sum): New variable.
+	(ipa_propagate_indirect_call_infos): Test ipa_edge_args_sum instead of
+	ipa_edge_args_vector.
+	(ipa_free_edge_args_substructures): Likewise.
+	(ipa_free_all_edge_args): Free ipa_edge_args_sum instead of
+	ipa_edge_args_vector.
+	(ipa_edge_removal_hook): Turned into method
+	ipa_edge_args_sum_t::remove.
+	(ipa_edge_duplication_hook): Turned into method
+	ipa_edge_args_sum_t::duplicate.
+	(ipa_register_cgraph_hooks): Create ipa_edge_args_sum instead of
+	registering edge hooks.
+	(ipa_unregister_cgraph_hooks): Do not unregister edge hooks.
+	* ipa-inline-analysis.c (estimate_function_body_sizes): Test
+	ipa_edge_args_sum instead of ipa_edge_args_vector.
+	* ipa-profile.c (ipa_profile): Likewise.
+
+2017-05-03  Martin Jambor  <mjambor@suse.cz>
+
+	* symbol-summary.h (function_summary): New method exists.
+	(function_summary::symtab_removal): Deallocate through release.
+	(call_summary): New class.
+	(gt_ggc_mx): New overload.
+	(gt_pch_nx): Likewise.
+	(gt_pch_nx): Likewise.
+
+2017-05-03  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/78496
+	* tree-vrp.c (simplify_cond_using_ranges_1): Renamed
+	from simplify_cond_using_ranges.  Split off code to walk
+	backwards through casts into ...
+	(simplify_cond_using_ranges_2): New function.
+	(simplify_stmt_using_ranges): Call simplify_cond_using_ranges_1.
+	(execute_vrp): After identifying jump threads, call
+	simplify_cond_using_ranges_2.
+
+2017-05-03  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR bootstrap/80609
+	* ipa-inline.h (inline_summary): Add ctor.
+	(create_ggc): Do not use ggc_cleared_alloc.
+
+2017-05-03  Jeff Downs  <heydowns@somuchpressure.net>
+	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc.c (handle_braces): Support escaping in switch matching
+	text.
+	* doc/invoke.texi (Spec Files): Document it.
+	Remove superfluous @code markup in items.
+
+2017-05-03  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (struct column_range): New struct.
+	(get_affected_columns): New function.
+	(get_printed_columns): New function.
+	(struct correction): New struct.
+	(correction::ensure_capacity): New function.
+	(correction::ensure_terminated): New function.
+	(struct line_corrections): New struct.
+	(line_corrections::~line_corrections): New dtor.
+	(line_corrections::add_hint): New function.
+	(layout::print_trailing_fixits): Reimplement in terms of the new
+	classes.
+	(selftest::test_overlapped_fixit_printing): New function.
+	(selftest::diagnostic_show_locus_c_tests): Call it.
+
+2017-05-03  Nathan Sidwell  <nathan@acm.org>
+
+	Canonicalize canonical type hashing
+	* tree.h (type_hash_canon_hash): Declare.
+	* tree.c (type_hash_list, attribute_hash_list): Move into
+	type_hash_canon_hash.
+	(build_type_attribute_qual_variant): Break out hash code calc into
+	type_hash_canon_hash.
+	(type_hash_canon_hash): New.  Generic type hash computation.
+	(build_range_type_1, build_array_type_1, build_function_type,
+	build_method_type_directly, build_offset_type, build_complex_type,
+	make_vector_type): Call it.
+
+2017-05-03  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+	When all DRs have unknown misaligned do not always peel
+	when there is a store but apply the same costing model as if
+	there were only loads.
+
+2017-05-03  Richard Biener  <rguenther@suse.de>
+
+	Revert
+	PR tree-optimization/80492
+	* tree-ssa-alias.c (decl_refs_may_alias_p): Handle
+	compare_base_decls returning dont-know properly.
+
+2017-05-03  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/iterators.md (CCSI): New mode iterator.
+	(arch): New mode attribute.
+	* config/arm/sync.md (atomic_compare_and_swap<mode>_1): Rename into ...
+	(atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1): This and ...
+	(atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1): This.  Use CCSI
+	code iterator for success result mode.
+	* config/arm/arm.c (arm_expand_compare_and_swap): Adapt code to use
+	the corresponding new insn generators.
+
+2017-05-03  Bin Cheng  <bin.cheng@arm.com>
+
+	Revert r247509
+	2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+	* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
+
+2017-05-03  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* tree-data-ref.h (SUB_CONFLICTS_IN_A): Wrap SUB argument in brackets.
+	(SUB_CONFLICTS_IN_B, SUB_LAST_CONFLICT, SUB_DISTANCE): Likewise.
+	(DDR_A): Wrap DDR argument in brackets.
+	(DDR_B, DDR_AFFINE_P, DDR_ARE_DEPENDENT, DDR_SUBSCRIPTS): Likewise.
+	(DDR_LOOP_NEST, DDR_INNER_LOOP, DDR_SELF_REFERENCE): Likewise.
+	(DDR_REVERSED_P): Likewise.
+
+2017-05-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79472
+	* tree-switch-conversion.c (struct switch_conv_info): Add
+	contiguous_range and default_case_nonstandard fields.
+	(collect_switch_conv_info): Compute contiguous_range and
+	default_case_nonstandard fields, don't clear final_bb if
+	contiguous_range and only the default case doesn't have the required
+	structure.
+	(check_all_empty_except_final): Set default_case_nonstandard instead
+	of failing if contiguous_range and the default case doesn't have empty
+	block.
+	(check_final_bb): Add SWTCH argument, don't fail if contiguous_range
+	and only the default case doesn't have the required constants.  Skip
+	virtual phis.
+	(gather_default_values): Skip virtual phis.  Allow non-NULL CASE_LOW
+	if default_case_nonstandard.
+	(build_constructors): Build constant 1 just once.  Assert that default
+	values aren't inserted in between cases if contiguous_range.  Skip
+	virtual phis.
+	(build_arrays): Skip virtual phis.
+	(prune_bbs): Add DEFAULT_BB argument, don't remove that bb.
+	(fix_phi_nodes): Don't add e2f phi arg if default_case_nonstandard.
+	Handle virtual phis.
+	(gen_inbound_check): Handle default_case_nonstandard case.
+	(process_switch): Adjust check_final_bb caller.  Call
+	gather_default_values with the first non-default case instead of
+	default case if default_case_nonstandard.
+
+2017-05-02  Nathan Sidwell  <nathan@acm.org>
+
+	* ggc-page.c (move_ptes_to_front): Replace unsigned >0 with i--
+	check.  Fix formatting.
+
+2017-05-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline-analysis.c (estimate_node_size_and_time): Allow roundoff
+	errors when comparing specialized and unspecialized times.
+
+2017-05-02  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c
+	(layout::should_print_annotation_line_p): Make private.
+	(layout::print_annotation_line): Make private.
+	(layout::annotation_line_showed_range_p): Make private.
+	(layout::show_ruler): Make private.
+	(layout::print_source_line): Make private.  Pass in line and
+	line_width, rather than calling location_get_source_line.  Drop
+	returned value.
+	(layout::print_leading_fixits): New method.
+	(layout::print_any_fixits): Rename to...
+	(layout::print_trailing_fixits): ...this, and make private.
+	Don't print newline fixits.
+	(diagnostic_show_locus): Move logic for printing one row into...
+	(layout::print_line): ...this new function.  Move the
+	location_get_source_line call and error-handling from
+	print_source_line to here.  Call print_leading_fixits, and rename
+	print_any_fixits to print_trailing_fixits.
+	(selftest::test_fixit_insert_containing_newline): Update now that
+	newlines are partially supported.
+	(selftest::test_fixit_insert_containing_newline_2): New test.
+	(selftest::test_fixit_replace_containing_newline): Update comments.
+	(selftest::diagnostic_show_locus_c_tests): Call the new test.
+	* edit-context.c (class added_line): New class.
+	(class edited_line): Describe newline handling in comment.
+	(edited_line::actually_edited_p): New method.
+	(edited_line::print_content): Delete redundant decl.
+	(edited_line::m_predecessors): New field.
+	(edited_file::print_content): Call edited_line::print_content.
+	(edited_file::print_diff): Update to support newlines.
+	(edited_file::print_diff_hunk): Likewise.
+	(edited_file::print_run_of_changed_lines): New function.
+	(edited_file::print_diff_line): Convert to...
+	(print_diff_line): ...this.
+	(edited_file::get_effective_line_count): New function.
+	(edited_line::edited_line): Initialize new field m_predecessors.
+	(edited_line::~edited_line): Clean up m_predecessors.
+	(edited_line::apply_fixit): Handle newlines.
+	(edited_line::get_effective_line_count): New function.
+	(edited_line::print_content): New function.
+	(edited_line::print_diff_lines): New function.
+	(selftest::test_applying_fixits_insert_containing_newline): New
+	test.
+	(selftest::test_applying_fixits_replace_containing_newline): New
+	test.
+	(selftest::insert_line): New function.
+	(selftest::test_applying_fixits_multiple_lines): Add example of
+	inserting a line.
+	(selftest::edit_context_c_tests): Call the new tests.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at): Delete
+	parameter cand.  Update dump information.
+	(get_computation_cost): Update uses.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_computation_aff_1): New.
+	(get_computation_aff): Reorder parameters.  Use get_computation_aff_1.
+	(get_computation_at, rewrite_use_address): Update use of
+	get_computation_aff.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_computation_at): Reorder parameters.
+	(get_computation): Delete.
+	(get_computation_cost): Implement like get_computation_cost_at.
+	Use get_computation_at.
+	(get_computation_cost_at): Delete.
+	(rewrite_use_nonlinear_expr): Use get_computation_at.
+	(rewrite_use_compare, remove_unused_ivs): Ditto.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (rewrite_use_address): Simple refactor.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (struct iv_ca): Rename n_regs to n_invs.
+	(ivopts_global_cost_for_size): Rename parameter and update uses.
+	(iv_ca_recount_cost): Update uses.
+	(iv_ca_set_remove_invs, iv_ca_set_no_cp): Record invariants and
+	candidates seperately in n_invs and n_cands.
+	(iv_ca_set_add_invs, iv_ca_set_cp, iv_ca_new): Ditto.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (struct walk_tree_data): New.
+	(find_inv_vars_cb): New.
+	(find_depends): Renamed to ...
+	(find_inv_vars): ... this.
+	(add_candidate_1, force_var_cost): Call find_inv_vars.
+	(split_address_cost, determine_group_iv_cost_cond): Ditto.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (struct cost_pair): Rename depends_on to
+	inv_vars.  Add inv_exprs.
+	(struct iv_cand): Rename depends_on to inv_vars.
+	(struct ivopts_data): Rename max_inv_id/n_invariant_uses to
+	max_inv_var_id/n_inv_var_uses.  Move max_inv_expr_id around.
+	Refactor field used_inv_exprs from has_map to array n_inv_expr_uses.
+	(dump_cand): Dump inv_vars.
+	(tree_ssa_iv_optimize_init): Support inv_vars and inv_exprs.
+	(record_invariant, find_depends, add_candidate_1): Ditto.
+	(set_group_iv_cost, force_var_cost): Ditto.
+	(split_address_cost, ptr_difference_cost, difference_cost): Ditto.
+	(get_computation_cost_at, get_computation_cost): Ditto.
+	(determine_group_iv_cost_generic): Ditto.
+	(determine_group_iv_cost_address): Ditto.
+	(determine_group_iv_cost_cond, autoinc_possible_for_pair): Ditto.
+	(determine_group_iv_costs): Ditto.
+	(iv_ca_recount_cost): Update call to ivopts_global_cost_for_size.
+	(iv_ca_set_remove_invariants): Renamed to ...
+	(iv_ca_set_remove_invs): ... this.  Support inv_vars and inv_exprs.
+	(iv_ca_set_no_cp): Use iv_ca_set_remove_invs.
+	(iv_ca_set_add_invariants):  Renamed to ...
+	(iv_ca_set_add_invs): ... this.  Support inv_vars and inv_exprs.
+	(iv_ca_set_cp): Use iv_ca_set_add_invs.
+	(iv_ca_has_deps): Support inv_vars and inv_exprs.
+	(iv_ca_new, iv_ca_free, iv_ca_dump, free_loop_data): Ditto.
+	(create_new_ivs): Remove useless dump.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Remove pseudo
+	iv_cand code.
+	(determine_group_iv_cost_cond, determine_iv_cost): Ditto.
+	(iv_ca_set_no_cp, create_new_iv): Ditto.
+
+2017-05-02  Bin Cheng  <bin.cheng@arm.com>
+
+	* rtlanal.c (rtx_cost): Handle TRUNCATE between tieable modes.
+
+2017-05-02  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
+
+	* tree.h (EXPR_CILK_SPAWN): Use macro TREE_CHECK2 instead of
+	function tree_check2.
+
+2017-05-02  Martin Liska  <mliska@suse.cz>
+
+	* doc/gcov.texi: Add missing preposition.
+	* gcov.c (function_info::function_info): Properly fill up
+	all member variables.
+
+2017-05-02  Tamar Christina  <tamar.christina@arm.com>
+
+	* expr.c (expand_expr_real_2): Re-cost if previous costs are the same.
+
+2017-05-02  Tamar Christina  <tamar.christina@arm.com>
+
+	* simplify-rtx.c (simplify_binary_operation_1): Add LSHIFTRT case.
+
+2017-05-02  Martin Liska  <mliska@suse.cz>
+
+	PR lto/77954.
+	* lto-streamer-in.c (lto_read_tree_1): Remove
+	LTO_STREAMER_DEBUG.
+	* lto-streamer.c (struct tree_hash_entry): Likewise.
+	(struct tree_entry_hasher): Likewise.
+	(tree_entry_hasher::hash): Likewise.
+	(tree_entry_hasher::equal): Likewise.
+	(lto_streamer_init): Likewise.
+	(lto_orig_address_map): Likewise.
+	(lto_orig_address_get): Likewise.
+	(lto_orig_address_remove): Likewise.
+	* lto-streamer.h: Likewise.
+	* tree-streamer-in.c (streamer_alloc_tree): Likewise.
+	* tree-streamer-out.c (streamer_write_tree_header): Likewise.
+
+2017-05-02  Sebastian Peryt  <sebastian.peryt@intel.com>
+
+	* config/i386/avx512fintrin.h (_mm_mask_add_round_sd)
+	(_mm_maskz_add_round_sd, _mm_mask_add_round_ss)
+	(mm_maskz_add_round_ss, _mm_mask_sub_round_sd)
+	(mm_maskz_sub_round_sd, _mm_mask_sub_round_ss)
+	(mm_maskz_sub_round_ss, _mm_mask_add_sd)
+	(mm_maskz_add_sd, _mm_mask_add_ss, _mm_maskz_add_ss)
+	(mm_mask_sub_sd, _mm_maskz_sub_sd, _mm_mask_sub_ss)
+	(mm_maskz_sub_ss): New intrinsics.
+	* config/i386/i386-builtin-types.def (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
+	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): New function type aliases.
+	* config/i386/i386-builtin.def (__builtin_ia32_addsd_mask_round)
+	(__builtin_ia32_addss_mask_round, __builtin_ia32_subsd_mask_round)
+	(__builtin_ia32_subss_mask_round): New builtins.
+	* config/i386/i386.c (V2DF_FTYPE_V2DF_V2DF_V2DF_UQI_INT)
+	(V4SF_FTYPE_V4SF_V4SF_V4SF_UQI_INT): Handle new types.
+	* config/i386/sse.md (<sse>_vm<plusminus_insn><mode>3<round_name>):
+	Renamed to ...
+	(<sse>_vm<plusminus_insn><mode>3<mask_name><round_name>): ... this.
+	(v<plusminus_mnemonic><ssescalarmodesuffix>\t{<round_op3>%2, %1, %0|%0, %1, %<iptr>2<round_op3>}):
+	Changed to ...
+	(v<plusminus_mnemonic><ssescalarmodesuffix>\t{<round_mask_op3>%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %<iptr>2<round_mask_op3>}):
+	... this.
+
+2017-05-02  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/78687
+	* tree-sra.c (access): New field parent.
+	(process_subtree_disqualification): New function.
+	(disqualify_candidate): Call it.
+	(build_accesses_from_assign): Reset write flag if creating an
+	assighnment link.
+	(build_access_subtree): Fill in parent field and also prpagate
+	down grp_write flag.
+	(create_artificial_child_access): New parameter set_grp_write, set
+	grp_write to its value.
+	(propagate_subaccesses_across_link): Also propagate grp_write flag
+	values.
+	(propagate_all_subaccesses): Push the closest parent back to work
+	queue if add_access_to_work_queue returned true.
+
+2017-05-02  Richard Biener  <rguenther@suse.de>
+
+	* common.opt (fstrict-overflow): Alias negative to fwrapv.
+	* doc/invoke.texi (fstrict-overflow): Remove all traces of
+	-fstrict-overflow documentation.
+	* tree.h (TYPE_OVERFLOW_UNDEFINED): Do not test flag_strict_overflow.
+	(POINTER_TYPE_OVERFLOW_UNDEFINED): Test !flag_wrapv instead of
+	flag_strict_overflow.
+	* ipa-inline.c (can_inline_edge_p): Do not test flag_strict_overflow.
+	* lto-opts.c (lto_write_options): Do not stream it.
+	* lto-wrapper.c (merge_and_complain): Do not handle it.
+	* opts.c (default_options_table): Do not set -fstrict-overflow.
+	(finish_options): Likewise do not clear it when sanitizing.
+	* simplify-rtx.c (simplify_const_relational_operation): Do not
+	test flag_strict_overflow.
+
+2017-05-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha.md (*add<mode>3_ieee): Merge to add<mode>3
+	using enabled attribute.
+	(*sub<mode>3_ieee): Merge to sub<mode>3 using enabled attribute.
+	(*mul<mode>3_ieee): Merge to mul<mode>3 using enabled attribute.
+	(*div<mode>3_ieee): Merge to div<mode>3 using enabled attribute.
+	(*sqrt<mode>2_ieee): Merge to sqrt<mode>2 using enabled attribute.
+	(*fix_truncdfdi_ieee): Merge to *fix_truncdfdi2 using enabled attribute.
+	(*fix_truncsfdi_ieee): Merge to *fix_truncsfdi2 using enabled attribute.
+	(*floatdisf_ieee): Merge to floatdisf2 using enabled attribute.
+	(*floatdidf_ieee): Merge to floatdidf2 using enabled attribute.
+	(*truncdfsf2_ieee): Merge to truncdfsf2 using enabled attribute.
+	(*cmpdf_ieee): Merge to *cmpdf_internal using enabled attribute.
+
+2017-05-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_code_end): Use {FIRST,LAST}_INT_REG.
+
+2017-05-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80591
+	Revert
+	2017-04-10  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-structalias.c (find_func_aliases): Properly handle
+	asm inputs.
+
+2017-05-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80549
+	* tree-cfgcleanup.c (mfb_keep_latches): New helper.
+	(cleanup_tree_cfg_noloop): Create forwarders to known loop
+	headers if they do not have a preheader.
+
+2017-05-02  Martin Liska  <mliska@suse.cz>
+
+	PR other/80589
+	* common.opt: Fix typo.
+	* doc/invoke.texi: Likewise.
+
+2017-05-01  Jan Beulich  <jbeulich@suse.com>
+
+	* config/i386/sse.md (xop_vpermil2<mode>3): Do not allow operand
+	swapping, add (x,x,m,x,n) alternative.
+
+2017-05-01  Nathan Sidwell  <nathan@acm.org>
+
+	* calls.c (combine_pending_stack_adjustment_and_call): Remove
+	unnecessary unadjusted_alignment check.
+
+2017-05-01  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
+
+	PR c++/80038
+	* cilk_common.c (expand_builtin_cilk_detach): Move pedigree
+	operations here.
+	* gimplify.c (gimplify_cilk_detach): New function.
+	(gimplify_call_expr, gimplify_modify_expr): Call it as needed.
+	* tree-core.h: Document EXPR_CILK_SPAWN.
+	* tree.h (EXPR_CILK_SPAWN): Define.
+
+2017-05-01  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.c (layout::get_expanded_location): Rewrite
+	to use new fixit_hint representation, using the "replace" logic.
+	(get_line_span_for_fixit_hint): Likewise.
+	(layout::print_any_fixits): Likewise.
+	(selftest::test_one_liner_many_fixits): Rename to...
+	(selftest::test_one_liner_many_fixits_1): ...this, and update
+	comment and expected output to reflect that the multiple fix-it
+	hints are now consolidated into one insertion.
+	(selftest::test_one_liner_many_fixits_2): New test.
+	(selftest::test_diagnostic_show_locus_one_liner): Update for
+	above.
+	(selftest::test_fixit_consolidation): Update for fix-it API
+	change.
+	* diagnostic.c (print_parseable_fixits): Likewise.
+	* edit-context.c (edited_line::m_line_events): Convert from
+	auto_vec <line_event *> to auto_vec <line_event>.
+	(class line_event): Convert from abstract base class to a concrete
+	class, taking over the role of replace_event.
+	(class insert_event): Delete.
+	(class replace_event): Rename to class line_event.  Convert to
+	half-open range.
+	(edit_context::add_fixits): Reimplement.
+	(edit_context::apply_insert): Delete.
+	(edit_context::apply_replace): Rename to...
+	(edit_context::apply_fixit): ...this.  Convert to half-open range.
+	(edited_file::apply_insert): Delete.
+	(edited_file::apply_replace): Rename to...
+	(edited_file::apply_fixit): ...this.
+	(edited_line::~edited_line): Drop deletion of events.
+	(edited_line::apply_insert): Delete.
+	(edited_line::apply_replace): Rename to...
+	(edited_line::apply_fixit): ...this.  Convert to half-open range.
+	Update for change to type of m_line_events.
+	* edit-context.h (edit_context::apply_insert): Delete.
+	(edit_context::apply_replace): Rename to...
+	(edit_context::apply_fixit): ...this.
+
+2017-05-01  Martin Sebor  <msebor@redhat.com>
+
+	* gimple-ssa-sprintf.c (format_integer): Set knownrange when it's
+	known.
+
+2017-05-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/68491
+	* config/i386/cpuid.h (__get_cpuid): Always return 0 when
+	__get_cpuid_max returns 0.
+	(__get_cpuid_count): Ditto.
+
+2017-05-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree.c (substitute_in_expr) <tcc_vl_exp>: Also inline a call if the
+	replacement expression is another instance of one of its arguments.
+
+2017-05-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79430
+	* rtlanal.c (reg_set_p): If reg is a stack_pointer_rtx, also
+	check for stack push/pop autoinc.
+	* config/i386/i386.c (ix86_agi_dependent): Return false
+	if the only reason why modified_in_p returned true is that
+	addr is SP based and set_insn is a push or pop.
+
+2017-04-29  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-inline.c (compute_inlined_call_time): Remove now unnecesary
+	overflow check.
+
+2017-04-29  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/79224
+	* ipa-inline-analysis.c (dump_predicate): Add optional parameter NL.
+	(account_size_time): Use two predicates - exec_pred and
+	nonconst_pred_ptr.
+	(evaluate_conditions_for_known_args): Compute both clause and
+	nonspec_clause.
+	(evaluate_properties_for_edge): Evaulate both clause and nonspec_clause.
+	(inline_summary_t::duplicate): Update.
+	(estimate_function_body_sizes): Caluculate exec and nonconst predicates
+	separately.
+	(compute_inline_parameters): Likewise.
+	(estimate_edge_size_and_time): Update caluclation of time.
+	(estimate_node_size_and_time): Compute both time and nonspecialized
+	time.
+	(estimate_ipcp_clone_size_and_time): Update.
+	(inline_merge_summary): Update.
+	(do_estimate_edge_time): Update.
+	(do_estimate_edge_size): Update.
+	(do_estimate_edge_hints): Update.
+	(inline_read_section, inline_write_summary): Stream both new predicates.
+	* ipa-inline.c (compute_uninlined_call_time): Take uninlined_call_time
+	as argument.
+	(compute_inlined_call_time): Cleanup.
+	(big_speedup_p): Update.
+	(edge_badness): Update.
+	* ipa-inline.h (INLINE_TIME_SCALE): Remove.
+	(size_time_entry): Replace predicate by exec_predicate and
+	nonconst_predicate.
+	(edge_growth_cache_entry): Cache both time nad nonspecialized time.
+	(estimate_edge_time): Return also nonspec_time.
+	(reset_edge_growth_cache): Update.
+
+2017-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/80491
+	* ifcvt.c (noce_process_if_block): When looking for x setter
+	with missing else_bb, don't check only the insn right before
+	cond_earliest, but look for the last insn that x is modified in
+	within the same bb.
+
+	PR rtl-optimization/80491
+	* alias.c (memory_modified_in_insn_p): Return true for CALL_INSNs.
+
+2017-04-29  Marc Glisse  <marc.glisse@inria.fr>
+
+	PR tree-optimization/80487
+	* tree-ssa-alias.c (stmt_kills_ref_p): Handle stpncpy and strncpy.
+
+2017-04-29  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	PR tree-optimization/79697
+	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Check if callee
+	is BUILT_IN_STRDUP, BUILT_IN_STRNDUP, BUILT_IN_REALLOC.
+	(propagate_necessity): Check if def_callee is BUILT_IN_STRDUP or
+	BUILT_IN_STRNDUP.
+	* gimple-fold.c (gimple_fold_builtin_realloc): New function.
+	(gimple_fold_builtin): Call gimple_fold_builtin_realloc.
+
+2017-04-28  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/80523
+	* gimple-ssa-sprintf.c (target_to_host_charmap): New global variable.
+	(init_target_to_host_charmap, target_to_host, target_strtol10): New
+	functions.
+	(maybe_warn, format_directive, parse_directive): Use new functions.
+	(pass_sprintf_length::execute): Call init_target_to_host_charmap.
+
+2017-04-28  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (X+Z OP Y+Z, X-Z OP Y-Z, Z-X OP Z-Y): New transformations.
+
+2017-04-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* configure.ac (SYSTEM_HEADER_DIR, BUILD_SYSTEM_HEADER_DIR,
+	target_header_dir): Set correctly.
+	* configure: Regenerated.
+	* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
+	(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
+	instead of SYSTEM_HEADER_DIR.
+
+2017-04-28  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-cp.c (perform_estimation_of_a_value): Turn time to sreal.
+	(estimate_local_effects): Likewise.
+	* ipa-inline.c (compute_inlined_call_time, want_inline_small_function_p,
+	edge_badness, inline_small_functions, dump_overall_stats): LIkewise.
+	* ipa-inline.h (edge_growth_cache_entry, estimate_time_after_inlining,
+	estimate_ipcp_clone_size_and_time, do_estimate_edge_time,
+	do_estimate_edge_time, estimate_edge_time): Likewise.
+	* ipa-inline-analysis.c (estimate_node_size_and_time,
+	estimate_ipcp_clone_size_and_time, do_estimate_edge_time): Likewise.
+	(estimate_time_after_inlining): Remove.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	* doc/gcov.texi: Enhance documentation of gcov.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	* doc/gcov.texi: Sort options in alphabetic order.
+	* doc/gcov-dump.texi: Likewise.
+	* doc/gcov-tool.texi: Likewise.
+	* gcov.c (print_usage): Likewise.
+	* gcov-dump.c (print_usage): Likewise.
+	* gcov-tool.c (print_merge_usage_message): Likewise.
+	(print_rewrite_usage_message): Likewise.
+	(print_overlap_usage_message): Likewise.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/53915
+	* gcov.c (format_gcov): Print 'NAN %' when top > bottom.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/79891
+	* gcov.c (add_line_counts): Assign BBs to lines just if the BB
+	is marked by compiler as living on a line.
+	(get_cycles_count): Remove usage of the union.
+	(output_intermediate_file): Likewise.
+	(find_source): Fix GNU coding style.
+	(accumulate_line_counts): Remove old non-all block mode.
+	(output_lines): Remove usage of the union.
+	* profile.c (output_location): Include all BBs, even if
+	belonging to a same line (and file) as a previous BB.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (process_args): Handle new argument 'w'.
+	(read_graph_file): Assign ID to BBs.
+	(output_branch_count): Display BB # if verbose flag is set.
+	(output_lines): Likewise for arcs.
+	(print_usage): Add '--verbose' option help.
+	* doc/gcov.texi: Document --verbose (-w) option.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (struct block_location_info): New struct.
+	(process_file): Fill up the new structure.
+	(read_graph_file): Replace usage of encoding by the newly added
+	struct.
+	(add_line_counts): Likewise.
+	(accumulate_line_counts): Remove usage of the union.
+	(function_info::function_info): New function.
+	(function_info::~function_info): Likewise.
+	(process_file): Call delete instead of release_function.
+	(release_function): Release the function.
+	(release_structures): Call delete instead of release_function.
+	(solve_flow_graph): Replace usage of num_blocks.
+	(find_exception_blocks): Likewise.
+	(output_lines): Fix GNU coding style.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	PR driver/56469
+	* coverage.c (coverage_remove_note_file): New function.
+	* coverage.h: Declare the function.
+	* toplev.c (finalize): Clean if an error has been seen.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/80031
+	* gcov-dump.c (tag_blocks): Just print number of basic blocks.
+	* gcov-io.h (GCOV_TAG_BLOCKS_NUM): Remove unused macro.
+	* gcov.c (read_graph_file): Read just number of blocks.
+	* profile.c (branch_prob): Do not stream 0 flags per a basic
+	block.
+
+2017-04-28  Martin Liska  <mliska@suse.cz>
+
+	* gcov-dump.c (tag_*): Add new argument to declarations.
+	(dump_gcov_file): Likewise.
+	(tag_blocks): Add and use new argument depth.
+	(tag_arcs): Likewise.
+	(tag_lines): Likewise.
+	(tag_counters): Likewise.
+	(tag_summary): Likewise.
+	(dump_working_sets): Use depth to do a proper indentation.
+
+2017-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/80531
+	* cgraph.h (symtab_node::debug_symtab): No longer inline.
+	* symtab.c (symtab_node::debug_symtab): Move definition here.
+
+2017-04-28  Richard Biener  <rguenther@suse.de>
+
+	* lto-streamer.h (LTO_major_version): Bump to 7.
+
+2017-04-28  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (assert_info): New struct.
+	(add_assert_info): New helper.
+	(register_edge_assert_for_2): Refactor to add asserts to a vector
+	of assert_info.
+	(register_edge_assert_for_1): Likewise.
+	(register_edge_assert_for): Likewise.
+	(finish_register_edge_assert_for): New helper actually registering
+	asserts where live on edge.
+	(find_conditional_asserts): Adjust.
+	(find_switch_asserts): Likewise.
+	(evrp_dom_walker::try_find_new_range): Generalize.
+	(evrp_dom_walker::before_dom_children): Use register_edge_assert_for.
+
+2017-04-27  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80349
+	* fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Convert
+	arg10 and arg11 to itype.
+
+2017-04-27  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/extend.texi (Object Size Checking): Improve grammar.
+
+2017-04-27  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/80530
+	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure
+	that the logic for permitting reciprocal estimates matches that
+	in use_rsqrt_p.
+
+2017-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/80534
+	* tree.c (type_cache_hasher::equal): Only compare
+	TYPE_TYPELESS_STORAGE flag on non-aggregate element types.
+	(build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on
+	non-aggregate element types.
+	* tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details
+	about the flag on ARRAY_TYPEs in the comment, formatting fix.
+
+2017-04-27  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80533
+	* emit-rtl.c (set_mem_attributes_minus_bitpos): When
+	stripping ARRAY_REFs from MEM_EXPR make sure we're not
+	keeping a reference to a trailing array.
+
+2017-04-27  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80539
+	* tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
+	being in loop-closed SSA form conservatively.
+	(chrec_fold_multiply_poly_poly): Likewise.
+
+2017-04-27  Tamar Christina  <tamar.christina@arm.com>
+
+	PR middle-end/79665
+	* expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR,
+	CEIL_MOD_EXPR, ROUND_MOD_EXPR cases.
+
+2017-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77728
+	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove.
+	(aarch64_function_arg_alignment): Return unsigned int again, but still
+	ignore TYPE_FIELDS chain decls other than FIELD_DECLs.
+	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
+	Don't emit -Wpsabi note.
+	(aarch64_function_arg_boundary): Likewise.
+	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
+	caller.
+
+2017-04-26  Nathan Sidwell  <nathan@acm.org>
+
+	* tree.h (crc32_unsigned_n): Declare.
+	(crc32_unsigned, crc32_unsigned): Make inline.
+	* tree.c (crc32_unsigned_bits): Replace with ...
+	(crc32_unsigned_n): ... this.
+	(crc32_unsigned, crc32_byte): Remove.
+	(crc32_string): Remove unnecessary braces.
+
+2017-04-25  Jan Hubicka  <hubicka@ucw.cz>
+
+	* ipa-cp.c (estimate_local_effects): Convert sreal to int.
+	* ipa-inline-analysis.c (MAX_TIME): Remove.
+	(account_size_time): Use sreal for time.
+	(dump_inline_summary): Update.
+	(estimate_function_body_sizes): Update.
+	(estimate_edge_size_and_time): Update.
+	(estimate_calls_size_and_time): Update.
+	(estimate_node_size_and_time): Update.
+	(inline_merge_summary): Update.
+	(inline_update_overall_summary): Update.
+	(estimate_time_after_inlining): Update.
+	(inline_read_section): Update.
+	(inline_write_summary): Update.
+	* ipa-inline.c (compute_uninlined_call_time): Update.
+	(compute_inlined_call_time): Update.
+	(recursive_inlining): Update.
+	(inline_small_functions): Update.
+	(dump_overall_stats): Update.
+	* ipa-inline.h: Include sreal.h.
+	(size_time_entry): Turn time to sreal.
+	(inline_summary): Turn self_time nad time to sreal.
+
+2017-04-25  Jan Hubicka  <hubicka@ucw.cz>
+
+	* sreal.c: Include backend.h, tree.h, gimple.h, cgraph.h and
+	data-streamer.h
+	(sreal::stream_out, sreal::stream_in): New.
+	* sreal.h (sreal::stream_out, sreal::stream_in): Declare.
+
+2017-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
+	environment.
+
+2017-04-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70799
+	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
+	Handle ASHIFTRT.
+	(dimode_scalar_chain::compute_convert_gain): Ditto.
+	(dimode_scalar_chain::make_vector_copies): Ditto.
+	(dimode_scalar_chain::convert_reg): Ditto.
+	(dimode_scalar_chain::convert_insn): Ditto.
+	* config/i386/sse.md (VI24_AVX512BW_1): Remove mode iterator.
+	(VI248_AVX512BW_1): New mode iterator.
+	(<mask_codefor>ashr<mode>3<mask_name>): Merge insn pattern with
+	<mask_codefor>ashrv2di3<mask_name> insn using VI248_AVX512BW_1
+	mode iterator.
+
+2017-04-25  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/80497
+	* gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer
+	constants are representable in HOST_WIDE_INT.
+	(parse_directive): Ditto.
+
+2017-04-25  Martin Sebor  <msebor@redhat.com>
+
+	PR bootstrap/80486
+	* dominance.c (dom_info::m_n_basic_blocks): Change type to unsigned.
+	(new_zero_array): Adjust signature.
+	(dom_info::dom_init): Used unsigned rather that size_t.
+	(dom_info::dom_info): Same.
+
+2017-04-25  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77728
+	* config/arm/arm.c: Include gimple.h.
+	(aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
+	returns negative, increment ncrn only if it returned positive.
+	(arm_needs_doubleword_align): Return int instead of bool,
+	ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
+	members, but if there is any such non-FIELD_DECL
+	> PARM_BOUNDARY aligned decl, return -1 instead of false.
+	(arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
+	returns negative, increment nregs only if it returned positive.
+	(arm_setup_incoming_varargs): Likewise.
+	(arm_function_arg_boundary): Emit -Wpsabi note if
+	arm_needs_doubleword_align returns negative, return
+	DOUBLEWORD_ALIGNMENT only if it returned positive.
+
+2017-04-25  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80349
+	* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
+	first argument to type.
+
+2017-04-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
+
+	PR target/80482
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change
+	type checks to test for compatibility instead of equality.
+
+2017-04-25  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77728
+	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New
+	type.
+	(aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment
+	struct.  Ignore DECL_ALIGN of decls other than FIELD_DECL for
+	the alignment computation, but return their maximum in warn_alignment.
+	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
+	Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment
+	is smaller.
+	(aarch64_function_arg_boundary): Likewise.  Simplify using MIN/MAX.
+	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
+	caller.
+
+2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/simdext.md (dmpyh): Fix typo.
+
+2017-04-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80492
+	* alias.c (compare_base_decls): Handle registers with asm
+	specification conservatively.
+	* tree-ssa-alias.c (decl_refs_may_alias_p): Handle
+	compare_base_decls returning dont-know properly.
+
+2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (LEGITIMATE_OFFSET_ADDRESS_P): Delete macro.
+	(legitimate_offset_address_p): New function.
+	(arc_legitimate_address_p): Use above function.
+
+2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_output_mi_thunk): Emit PIC calls.
+
+2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_conditional_register_usage): Use ACCL,
+	ACCH registers whenever they are available.
+
+2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_conditional_register_usage): Make D0, D1
+	double regs fix when not used.
+
+2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.h (REGNO_OK_FOR_BASE_P): Consider also extension
+	core registers.
+	(REG_OK_FOR_INDEX_P_NONSTRICT): Likewise.
+	(REG_OK_FOR_BASE_P_NONSTRICT): Likewise.
+
+2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_output_addsi): Check for h-register class
+	when emitting short ADD instructions.
+
+2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (cmpsi_cc_insn_mixed): Use 'h' register
+	constraint.
+	(cmpsi_cc_c_insn): Likewise.
+	(cbranchsi4_scratch): Compute proper instruction length using
+	compact_hreg_operand.
+	* config/arc/predicates.md (compact_hreg_operand): New predicate.
+
+2017-04-25  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80509
+	* passes.c (pass_manager::pass_manager): Initialize
+	m_name_to_pass_map.
+
+2017-04-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79201
+	* tree-ssa-sink.c (statement_sink_location): Handle calls.
+
+2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/80464
+	* config/s390/vector.md: Split MEM->GPR vector moves for
+	non-s_operand addresses.
+
+2017-04-25  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/79895
+	* config/s390/predicates.md (reload_const_wide_int_operand): New
+	predicate.
+	* config/s390/s390.md ("movti"): Remove d/P alternative.
+	("movti_bigconst"): New pattern definition.
+
+2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR target/80080
+	* s390-protos.h (s390_expand_cs_hqi): Removed.
+	(s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes.
+	* config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer
+	modes as well as CCZ1mode and CCZmode.
+	(s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new
+	signature of s390_emit_compare_and_swap.
+	(s390_expand_cs_hqi): Likewise, make static.
+	(s390_expand_cs_tdsi): Generate an explicit compare before trying
+	compare-and-swap, in some cases.
+	(s390_expand_cs): Wrapper function.
+	(s390_expand_atomic_exchange_tdsi): New backend specific expander for
+	atomic_exchange.
+	(s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode.
+	* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Merge the
+	patterns for small and large integers.  Forbid symref memory operands.
+	Move expander to s390.c.  Require cc register.
+	("atomic_compare_and_swap<DGPR:mode><CCZZ1:mode>_internal")
+	("*atomic_compare_and_swap<TDI:mode><CCZZ1:mode>_1")
+	("*atomic_compare_and_swapdi<CCZZ1:mode>_2")
+	("*atomic_compare_and_swapsi<CCZZ1:mode>_3"): Use s_operand to forbid
+	symref memory operands.  Remove CC mode and call s390_match_ccmode
+	instead.
+	("atomic_exchange<mode>"): Allow and implement all integer modes.
+
+2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.md (define_peephole2): New peephole to help
+	combining the load-and-test pattern with volatile memory.
+
+2017-04-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal
+	with CCZmode for TARGET_Z196.
+
+2017-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/80501
+	* combine.c (make_compound_operation_int): Set subreg_code to SET
+	even for AND with mask of the sign bit of mode.
+
+	PR rtl-optimization/80500
+	* loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on
+	sum's initial value.
+
+2017-04-25  Julian Brown  <julian@codesourcery.com>
+	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/thunderx2t99.md (thunderx2t99_crc): New Reservation.
+
+2017-04-25  Marc Glisse  <marc.glisse@inria.fr>
+
+	* fold-const.c (tree_single_nonzero_warnv_p): Handle SSA_NAME.
+
+2017-04-25  Julian Brown  <julian@codesourcery.com>
+	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/thunderx2t99.md (thunderx2t99_aes): New Reservation.
+	(thunderx2t99_sha): New Reservation.
+
+2017-04-25  Julian Brown  <julian@codesourcery.com>
+	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Fix
+	type for 1-element load.
+
+2017-04-24  Marc Glisse  <marc.glisse@inria.fr>
+
+	* match.pd (X/[ex]C CMP Y/[ex]C): New transformation.
+
+2017-04-24  Martin Jambor  <mjambor@suse.cz>
+
+	PR tree-optimization/80293
+	* tree-sra.c (scalarizable_type_p): New parameter const_decl, make
+	char arrays not totally scalarizable if it is false.
+	(analyze_all_variable_accesses): Pass correct value in the new
+	parameter.  Add a statistics counter.
+
+2017-04-24  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/79931
+	* ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
+
+2017-04-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80494
+	* tree-scalar-evolution.c (analyze_scalar_evolution_1): Bail
+	out for complex types.
+
+2017-04-24  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-sccvn.h (run_scc_vn): Adjust prototype.
+	* tree-ssa-sccvn.c (print_scc): Print SCC size.
+	(extract_and_process_scc_for_name): Never fail but drop SCC to varying.
+	(DFS): Adjust and never fail.
+	(sccvn_dom_walker::fail): Remove.
+	(sccvn_dom_walker::before_dom_children): Adjust.
+	(run_scc_vn): Likewise and never fail.
+	* tree-ssa-pre.c (pass_pre::execute): Adjust.
+	(pass_fre::execute): Likewise.
+
+2017-04-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79725
+	* tree-ssa-sink.c (statement_sink_location): Return whether
+	failure reason was zero uses.  Move that check later.
+	(sink_code_in_bb): Deal with zero uses by removing the stmt
+	if possible.
+
+2017-04-24  Richard Biener  <rguenther@suse.de>
+
+	PR c++/2972
+	* tree-ssa-uninit.c (warn_uninitialized_vars): Handle some
+	pointer-based references.
+
+2017-04-24  Richard Biener  <rguenther@suse.de>
+
+	PR bootstrap/79814
+	* pass_manager.h (pass_manager::operator new): Remove.
+	(pass_manager::operator delete): Likewise.
+	* passes.c (pass_manager::operator new): Remove.
+	(pass_manager::operator delete): Likewise.
+	(pass_manager::pass_manager): Zero individual pass members.
+
+2017-04-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/70799
+	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p)
+	<case ASHIFT, case LSHIFTRT>: Also consider variable shifts.
+	Check "XEXP (src, 1)" operand here.
+	<case PLUS, case MINUS, case IOR, case XOR, case AND>:
+	Check "XEXP (src, 1)" operand here.
+	(dimode_scalar_chain::make_vector_copies): Detect count register
+	of a shift instruction.  Zero extend count register from QImode
+	to DImode to satisfy vector shift pattern count operand predicate.
+	Substitute vector shift count operand with a DImode copy.
+	(dimode_scalar_chain::convert_reg): Ditto, zero-extend from
+	vector register.
+
+2017-04-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*extzvqi_mem_rex64): Move above *extzv<mode>.
+	Remove UNSPEC_NOREX_MEM tag.  Update corresponding peephole2 pattern.
+	(*insvqi_1_mem_rex64): Move above insv<mode>_1.  Remove
+	UNSPEC_NOREX_MEM tag.  Update corresponding peephole2 pattern.
+	(UNSPEC_NOREX_MEM): Remove definition.
+
+2017-04-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79547
+	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
+	Handle strlen, strcmp, strncmp, strcasecmp, strncasecmp, memcmp,
+	bcmp, strspn, strcspn, __builtin_object_size and __builtin_constant_p
+	without any constraints.
+
+2017-04-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78847
+	* fold-const.c (split_tree): Handle POINTER_PLUS_EXPR.
+
+2017-04-21  Richard Biener  <rguenther@suse.de>
+
+	* tree.h (build_qualified_type): Annotate with CXX_MEM_STAT_INFO.
+	(build_distinct_type_copy): Likewise.
+	(build_variant_type_copy): Likewise.
+	* tree.c (build_qualified_type): Pass down mem-stat info.
+	(build_distinct_type_copy): Likewise.
+	(build_variant_type_copy): Likewise.
+
+2017-04-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80237
+	* tree-ssa-pre.c (find_leader_in_sets): Add third set argument,
+	defaulted to NULL.
+	(phi_translate_1): Also allow a leader in AVAIL_OUT of pred
+	for a simplified result.
+
+2016-04-21  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-loop-ivcanon.c (constant_after_peeling): Do not require
+	sth as strict as a simple_iv but a chrec without symbols and an
+	operand defined in the loop we are peeling (and not some subloop).
+	(propagate_constants_for_unrolling): Propagate all constants.
+
+2017-04-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/79804
+	* config/i386/i386.c (print_reg): Remove assert for disalowed
+	regno values, call output_operand_lossage instead.
+
+2017-04-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78090
+	* config/i386/constraints.md (Yc): New register constraint.
+	* config/i386/i386.md (*float<SWI48:mode><MODEF:mode>2_mixed):
+	Use Yc constraint for alternative 2 of operand 0.  Remove
+	preferred_for_speed attribute.
+
+2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
+
+	* omp-low.c (lower_lastprivate_clauses): Correct handling of linear and
+	lastprivate clauses in SIMT case.
+
+2017-04-20  Volker Reichelt  <v.reichelt@netcologne.de>
+
+	* doc/invoke.texi (-Wextra-semi): Document new warning option.
+
+2017-04-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/57796
+	* tree-vect-stmts.c (vect_model_store_cost): Cost scatters
+	as N scalar stores.
+	(vect_model_load_cost): Cost gathers as N scalar loads.
+
+2017-04-20  Richard Biener  <rguenther@suse.de>
+
+	* ggc-page.c (ggc_allocated_p): Rename to ...
+	(safe_lookup_page_table_entry): ... this and return the lookup
+	result.
+	(gt_ggc_m_S): Use safe_lookup_page_table_entry.
+
+2017-04-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80453
+	* tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
+	* tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
+	from the conditions.
+	(vn_phi_eq): Pass them down.
+	(vn_phi_lookup): Record them.
+	(vn_phi_insert): Likewise.
+
+2017-04-20  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* config/mips/mips.c (mips_expand_vec_perm_const): Re-fix
+	uninitialized variable warning to avoid buffer overrun.
+
+2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
+
+	PR other/71250
+	* doc/invoke.texi (-Wmissing-field-initializers): Mention that warning
+	is suppressed for '{ 0 }' in C.
+
+2017-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* BASE-VER: Set to 8.0.0.
+
+2017-04-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* config/arm/arm.c (arm_elf_asm_cdtor): Create non-default
+	priority .init_array and .fini_array section with SECTION_NOTYPE
+	flag.
+
+2017-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/80423
+	* tree.h (build_array_type): Add typeless_storage default argument.
+	* tree.c (type_cache_hasher::equal): Also compare
+	TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
+	(build_array_type): Add typeless_storage argument, set
+	TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
+	recursive call.
+	(build_nonshared_array_type): Adjust build_array_type_1 caller.
+	(build_array_type): Likewise.  Add typeless_storage argument.
+
+2017-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/80426
+	* tree-vrp.c (extract_range_from_binary_expr_1): For an additive
+	operation on symbolic operands, also compute the overflow for the
+	invariant part when the operation degenerates into a negation.
+
+2017-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/80461
+	* dwarf2out.c (modified_type_die, gen_type_die_with_usage):
+	Check for t with zero TYPE_QUALS_NO_ADDR_SPACE.
+
+	PR debug/80436
+	* tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses.
+
+2017-04-19  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/80462
+	* config/avr/avr.c (tree.h): Include it.
+	(cgraph.h): Include it.
+	(avr_encode_section_info): Don't warn for uninitialized progmem
+	variable if it's just an alias.
+
+2017-04-19  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/65972
+	* auto-profile.c (afdo_vpt_for_early_inline): Update SSA
+	when needed by AutoPGO.
+
+2017-04-19  Paulo J. Matos  <paulo@matos-sorge.com>
+
+	PR lto/50345
+	* doc/lto.texi: Remove an extra 'that'.
+
+2017-04-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/80429
+	* ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that
+	are only used in debug insns.
+
+2017-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+	    Vladimir Makarov  <vmakarov@redhat.com>
+
+	* config/sparc/predicates.md (input_operand): Add comment.  Return
+	true for any memory operand when LRA is in progress.
+	* config/sparc/sparc.c (sparc_expand_move): Minor formatting fix.
+
+2017-04-18  Jeff Law  <law@redhat.com>
+
+	PR target/74563
+	* mips.md ({return,simple_return}_internal): Do not overwrite
+	operands[0].
+
+2017-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/80443
+	* tree-vrp.c (intersect_ranges): For signed 1-bit precision type,
+	instead of adding 1, subtract -1 and similarly instead of subtracting
+	1 add -1.
+
+2017-04-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/80357
+	* haifa-sched.c (tmp_bitmap): New variable.
+	(model_recompute): Handle duplicate use records.
+	(alloc_global_sched_pressure_data): Initialize tmp_bitmap.
+	(free_global_sched_pressure_data): Free it.
+
+2017-04-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	Revert:
+	2017-02-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+	* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
+	(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
+	instead of SYSTEM_HEADER_DIR.
+
+2017-04-18  Jeff Law  <law@redhat.com>
+
+	PR middle-end/80422
+	* cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have
+	predecessors after walking up the insn chain.
+
+2017-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/80263
+	* dwarf2out.c (modified_type_die): Try harder not to emit internal
+	sizetype type into debug info.
+
+2017-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/80099
+	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate
+	unneeded test for TARGET_UPPER_REGS_SF.
+	* config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise.
+
+2017-04-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/80444
+	* sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb
+	instead of gsi_after_labels.
+
+2017-04-18  Jeff Law  <law@redhat.com>
+
+	* regcprop.c (maybe_mode_change): Avoid creating copies of the
+	stack pointer.
+
+	Revert:
+	2017-04-13  Jeff Law  <law@redhat.com>
+	* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
+	in operands[1] if it is a MEM and TARGET_MIPS16 is active.
+
+2017-04-18  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/79453
+	* config/avr/avr.c (intl.h): Include it.
+	(avr_pgm_check_var_decl) [reason]: Wrap	diagnostic snippets into _().
+
+2017-04-18  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/78783
+	* gcov-tool.c (gcov_output_files): Validate that destination
+	file is either removed by the tool or by a user.
+
+2017-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
+	    Guy Benyei  <guybe@mellanox.com>
+
+	* config/arc/arc.c (arc_reorg): Move loop_end_id into a more local
+	block, and do not negate it, the stored id is already negative.
+
+2017-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.
+
+2017-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/80098
+	* config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define
+	masks of options that should be turned off if the VSX vector
+	options are turned off.
+	(OTHER_P8_VECTOR_MASKS): Likewise.
+	(OTHER_VSX_VECTOR_MASKS): Likewise.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Call
+	rs6000_disable_incompatible_switches to validate no type switches
+	like -mvsx.
+	(rs6000_incompatible_switch): New function to disallow turning on
+	other vector options if -mno-vsx, -mno-power8-vector, or
+	-mno-power9-vector are specified.
+
+2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.
+
+2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
+	* config/arc/arc.c (arc_decl_pretend_args): Likewise.
+	* config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
+	(ARG_POINTER_CFA_OFFSET): Likewise.
+
+2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_mode_dependent_address_p): Relax
+	conditions to take advantage of various optimizations.
+
+2017-04-13  Jeff Law  <law@redhat.com>
+
+	* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
+	in operands[1] if it is a MEM and TARGET_MIPS16 is active.
+	(zero_extendsidi2_dext): Likewise.
+
+2017-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/80403
+	* fold-const.c (fold_ternary_loc): Revert
+	use op0 instead of fold_convert_loc (loc, type, arg0) part of
+	2017-04-12 change.
+
+2017-04-13  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/80343
+	* lra-remat.c (update_scratch_ops): Assign original hard reg to
+	new scratch pseudo.
+
+2017-04-13  Denis Khalikov <d.khalikov@partner.samsung.com>
+
+	PR sanitizer/80414
+	* ubsan.c (ubsan_expand_bounds_ifn): Pass original index
+	to ubsan_encode_value.
+
+2017-04-13  Jeff Law  <law@redhat.com>
+
+	* reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs
+	appearing in DEBUG_INSNs.
+
+2017-04-13  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/80413
+	* gcov-io.c (gcov_write_string): Copy to buffer just when
+	allocated size is greater than zero.
+
+2017-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/80321
+	* dwarf2out.c (decls_for_scope): Ignore declarations of
+	current_function_decl in BLOCK_NONLOCALIZED_VARS.
+
+2017-04-12  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR lto/69953
+	* ipa-visibility.c (non_local_p): Fix typos.
+	(localize_node): When localizing symbol in same comdat group,
+	dissolve the group only when we know external symbols are going
+	to be privatized.
+	(function_and_variable_visibility): Do not localize DECL_EXTERNAL.
+
+2017-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79390
+	* optabs.c (emit_conditional_move): If the preferred op2/op3 operand
+	order does not result in usable sequence, retry with reversed operand
+	order.
+
+	PR sanitizer/80403
+	PR sanitizer/80404
+	PR sanitizer/80405
+	* fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument
+	to fold_build2_loc.  Convert TREE_OPERAND (tem, 0) to type.  Use
+	op0 instead of fold_convert_loc (loc, type, arg0).
+
+2017-04-12  Jeff Law  <law@redhat.com>
+
+	* genattrtab.c (write_eligible_delay): Verify DELAY_INSN still
+	has a delay slot in the generated code.
+
+	* config/cris/cris.md (cris_preferred_reload_class): Return
+	GENNONACR_REGS rather than GENERAL_REGS.
+
+2017-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/80163
+	* expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND
+	vs. ZERO_EXTEND based on signedness of treeop0's type rather than
+	signedness of the result type.
+
+2017-04-12  Richard Biener  <rguenther@suse.de>
+	    Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/80359
+	* tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not
+	trim stores to TARGET_MEM_REFs.
+
+2017-04-12  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79390
+	* gimple-ssa-split-paths.c (is_feasible_trace): Restrict
+	threading case even more.
+
+2017-04-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/80382
+	* config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
+	for quad_address_p for TImode, instead of just not indexed_address.
+
+2017-04-12  Richard Biener  <rguenther@suse.de>
+	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR middle-end/79671
+	* alias.c (component_uses_parent_alias_set_from): Handle
+	TYPE_TYPELESS_STORAGE.
+	(get_alias_set): Likewise.
+	* tree-core.h (tree_type_common): Add typeless_storage flag.
+	* tree.h (TYPE_TYPELESS_STORAGE): New macro.
+	* stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE
+	for types containing members with TYPE_TYPELESS_STORAGE.
+	(place_field): Likewise.
+	(layout_type): Likewise for ARRAY_TYPE.
+	* lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE.
+	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream
+	TYPE_TYPELESS_STORAGE.
+	* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
+
+2017-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/80349
+	* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
+	first argument to type.
+
+2017-04-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/80376
+	PR target/80315
+	* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
+	CONST0_RTX (mode) rather than const0_rtx where appropriate.
+	(rs6000_expand_binop_builtin): Likewise.
+	(rs6000_expand_ternop_builtin): Likewise; also add missing
+	vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
+	vshasigma built-ins.
+	* doc/extend.texi: Document that vec_xxpermdi's third argument
+	must be a constant.
+
+2017-04-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
+	Use shift_const cost parameter when calculating gain of STV shifts.
+
+2017-04-11  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70478
+	* lra-constraints.c (process_alt_operands): Check memory for
+	disfavoring memory insn operand.
+
+2017-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/80100
+	* simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform
+	left shift in unsigned HOST_WIDE_INT type.
+
+	PR rtl-optimization/80385
+	* simplify-rtx.c (simplify_unary_operation_1): Don't transform
+	(not (neg X)) into (plus X -1) for complex or non-integral modes.
+
+	PR libgomp/80394
+	* omp-low.c (scan_omp_task): Don't optimize away empty tasks
+	if they have any depend clauses.
+
+2017-04-11  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/80212
+	* cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
+	* ipa-split.c (split_function): Create a local comdat symbol
+	if caller is in a comdat group.
+
+2017-04-11  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/80212
+	* ipa-cp.c (determine_versionability): Handle calls_comdat_local
+	flags.
+
+2017-04-11  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/80364
+	* gimple-ssa-sprintf.c (get_int_range): Remove second argument and
+	always use the int type.  Use INTEGRAL_TYPE_P() rather than testing
+	for INTEGER_TYPE.
+	(directive::set_width, directive::set_precision, format_character):
+	Adjust.
+	(parse_directive): Use INTEGRAL_TYPE_P() rather than testing for
+	INTEGER_TYPE.
+
+2017-04-11  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/80389
+	* config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch
+	conflict, set target->arch_name instead of target->cpu_name.
+
+2017-04-11  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80374
+	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use
+	build_zero_cst, remove fold_convertible_p check again.
+
+2017-04-11  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/70878
+	* ubsan.c (instrument_object_size): Do not instrument register
+	variables.
+
+2017-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/80381
+	* config/i386/i386-builtin-types.def
+	(V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT,
+	V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT,
+	V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT,
+	V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT,
+	V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT,
+	V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT,
+	V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT,
+	V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT,
+	V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT,
+	V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT,
+	V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT,
+	V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT,
+	V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT,
+	V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT,
+	V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT,
+	V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT,
+	V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT,
+	V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases.
+	* config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask,
+	__builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
+	__builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask,
+	__builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
+	__builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask,
+	__builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
+	__builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask,
+	__builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask,
+	__builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask,
+	__builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask,
+	__builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask,
+	__builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask,
+	__builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask,
+	__builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask,
+	__builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask,
+	__builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask,
+	__builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask,
+	__builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask,
+	__builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask,
+	__builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask,
+	__builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask,
+	__builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask,
+	__builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask,
+	__builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask,
+	__builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask,
+	__builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask,
+	__builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
+	__builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type
+	aliases.
+	* config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count
+	flag to second_arg_count, handle 4 argument function type _COUNT
+	aliases, handle second_arg_count on second argument rather than last.
+
+2017-04-10  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/80374
+	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
+	record anything if we can not convert integer_zero_node to the
+	desired type.
+
+2017-04-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR target/80108
+	* config/rs6000/rs6000.c (rs6000_option_override_internal):
+	Enhance special handling given to the TARGET_P9_MINMAX option in
+	relation to certain other options.
+
+2017-04-10  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/80153
+	* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and
+	remove POINTER_PLUS_EXPR's base part directly, rather than through
+	aff_tree.
+
+2017-04-10  Richard Biener  <rguenther@suse.de>
+	    Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/80153
+	* tree-affine.c (aff_combination_to_tree): Get base pointer from
+	the first element of pointer type aff_tree.  Build result expr in
+	aff_tree's type.
+	(add_elt_to_tree): Convert to type unconditionally.  Remove other
+	fold_convert calls.
+	* tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types.
+	(rewrite_use_nonlinear_expr): Check invariant using iv information.
+
+2017-04-10  Richard Biener  <rguenther@suse.de>
+
+	* tree-ssa-structalias.c (find_func_aliases): Properly handle
+	asm inputs.
+
+2017-04-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70478
+	* lra-constraints.c (curr_small_class_check): New.
+	(update_and_check_small_class_inputs): New.
+	(process_alt_operands): Update curr_small_class_check.  Disfavor
+	alternative insn memory operands.  Check available regs for small
+	class operands.
+
+2017-03-31  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	PR target/80057
+	* config/mips/mips.opt (-mvirt): Update description.
+	* doc/invoke.texi (-mvirt): Likewise.
+
+2017-04-10  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80362
+	* fold-const.c (fold_binary_loc): Look at unstripped ops when
+	looking for NEGATE_EXPR in -A / -B to A / B folding.
+
+2017-04-10  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/80224
+	* gcov.c (print_usage): Fix usage string.
+	(get_gcov_intermediate_filename): Remove.
+	(output_gcov_file): Use both for normal and intermediate format.
+	(generate_results): Do not initialize special file for
+	intermediate format.
+
+2017-04-10  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80304
+	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse
+	for safelen.
+
+2017-04-10  Nathan Sidwell  <nathan@acm.org>
+
+	PR target/79905
+	* config/rs6000/rs6000.c (rs6000_vector_type): New.
+	(rs6000_init_builtins): Use it.
+
+2016-04-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.md (<mrc>): Add mode to SET source.
+	(<mrrc>): Likewise.
+
+2017-04-10  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80344
+	* gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs.
+
+2017-04-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/80324
+	* config/i386/avx512fintrin.h (_mm512_reduce_add_epi32,
+	_mm512_reduce_mul_epi32, _mm512_reduce_and_epi32,
+	_mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32,
+	_mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32,
+	_mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32,
+	_mm512_reduce_max_epi32, _mm512_reduce_min_epu32,
+	_mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32,
+	_mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32,
+	_mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps,
+	_mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps,
+	_mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps,
+	_mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps,
+	_mm512_reduce_add_epi64, _mm512_reduce_mul_epi64,
+	_mm512_reduce_and_epi64, _mm512_reduce_or_epi64,
+	_mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64,
+	_mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64,
+	_mm512_reduce_min_epi64, _mm512_reduce_max_epi64,
+	_mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64,
+	_mm512_reduce_min_epu64, _mm512_reduce_max_epu64,
+	_mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64,
+	_mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd,
+	_mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd,
+	_mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics.
+
+2017-04-08  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70478
+	* lra-constraints.c: Reverse the last patch.
+
+2017-04-08  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
+	Add comment for WCHAR_T.
+
+2017-04-08  Martin Liska  <mliska@suse.cz>
+
+	Revert:
+	2017-04-07  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/80212
+	* ipa-split.c (split_function): Add function part to a same comdat
+	group.
+
+2017-04-08  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/80358
+	* config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.
+
+2017-04-07  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* rs6000/rs6000.c (vec_load_pendulum): Rename...
+	(vec_pairing): ...to this.
+	(power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
+	(rs6000_sched_init): Adjust for name change.
+	(struct rs6000_sched_context): Likewise.
+	(rs6000_init_sched_context): Likewise.
+	(rs6000_set_sched_context): Likewise.
+
+2017-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/80322
+	PR target/80323
+	PR target/80325
+	PR target/80326
+	* config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New
+	intrinsics.
+	* config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int,
+	_mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd,
+	_mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise.
+
+2017-04-07  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE.
+
+2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70703
+	* ira-color.c (update_conflict_hard_regno_costs): Use
+	int64_t instead of HOST_WIDE_INT.
+
+2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70478
+	* lra-constraints.c (process_alt_operands): Disfavor alternative
+	insn memory operands.
+
+2017-04-07  Jeff Law  <law@redhat.com>
+
+	* config/iq2000/iq2000.c (final_prescan_insn): Do not separate a
+	CALL and NOTE_INSN_CALL_ARG_LOCATION.
+
+2017-04-07  Martin Liska  <mliska@suse.cz>
+
+	PR target/79889
+	* config/aarch64/aarch64.c (aarch64_process_target_attr):
+	Show error message instead of an ICE.
+
+2017-04-07  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/80212
+	* ipa-split.c (split_function): Add function part to a same comdat
+	group.
+
+2017-04-07  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80341
+	* tree.c (get_unwidened): Also handle ! for_type case for
+	INTEGER_CSTs.
+	* convert.c (do_narrow): Split out from ...
+	(convert_to_integer_1): ... here.  Do not pass final truncation
+	type to get_unwidened for TRUNC_DIV_EXPR.
+
+2017-04-07  Richard Biener  <rguenther@suse.de>
+
+	* tree-affine.c (wide_int_ext_for_comb): Take type rather
+	than aff_tree.
+	(aff_combination_const): Adjust.
+	(aff_combination_scale): Likewise.
+	(aff_combination_add_elt): Likewise.
+	(aff_combination_add_cst): Likewise.
+	(aff_combination_convert): Likewise.
+	(add_elt_to_tree): Likewise.  Remove unused argument.
+	(aff_combination_to_tree): Adjust calls to add_elt_to_tree.
+
+2017-04-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
+	definition.
+	* config/arm/arm.c (arm_default_short_enums): Use
+	ARM_DEFAULT_SHORT_ENUMS.
+	* config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.
+
+2017-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/80234
+	* dwarf2out.c (gen_member_die): Handle C++17 inline static data
+	members with redundant out-of-class redeclaration.
+
+2017-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80286
+	* config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern.
+	* config/i386/i386.md (*zero_extendsidi2):
+	Add (?*x,*x) and (?*v,*v) alternatives.
+
+2017-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/79733
+	* config/i386/i386.c (ix86_expand_builtin)
+	<case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand
+	mode from insn data. Convert operands to insn operand mode.
+	Copy operands that don't satisfy insn predicate to a register.
+
+2017-04-06  Sam Thursfield  <sam.thursfield@codethink.co.uk>
+
+	* config/rs6000/x-aix: Increase memory limit for genautomata on AIX.
+	Update comments.
+
+2017-04-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80334
+	* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
+	preserve alignment of accesses.
+
+2017-04-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80262
+	* tree-sra.c (build_ref_for_offset): Preserve address-space
+	information.
+	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
+	Drop useless address-space information on MEM_REF offsets.
+
+2017-04-05  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type.
+
+2017-04-05  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70703
+	* ira-color.c (update_conflict_hard_regno_costs): Use
+	HOST_WIDE_INT instead of long.
+
+2017-04-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80298
+	* config/i386/mmintrin.h: Add -msse target option when __SSE__ is
+	not defined for x86_64 target.  Add -mmmx target option when __SSE2__
+	is not defined.
+	* config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined
+	for x86_64 target.  Handle -m3dnowa option.
+
+2017-04-05  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/70703
+	* ira-color.c (update_costs_from_allocno): Use the smallest mode.
+	(update_conflict_hard_regno_costs): Use long instead of unsigned
+	arithmetic for cost calculation.
+
+2017-04-05  Jakub Jelinek  <jakub@redhat.com>
+	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	PR sanitizer/80308
+	* asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value
+	for big endian.
+
+2017-04-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/78002
+	* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace
+	ptr_mode with Pmode throughout.
+	* config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename
+	into probe_stack_range and use DImode.
+
+2017-04-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR target/79890
+	* config/s390/s390.c (s390_register_info_gprtofpr): Return if
+	call_eh_return is true.
+
+2017-04-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-c.c (s390_resolve_overloaded_builtin):
+	Initialize last_match_fntype_index.
+
+2017-04-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/80310
+	* tree-nvr.c: Include internal-fn.h.
+	(pass_return_slot::execute): Ignore internal calls without
+	direct optab.
+
+2017-04-04  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR c++/80297
+	* genmatch.c (capture::gen_transform): For GENERIC unshare_expr
+	captures used multiple times, except for the last use.
+	* generic-match-head.c: Include gimplify.h.
+
+2017-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79390
+	* target.h (struct noce_if_info): Declare.
+	* targhooks.h (default_noce_conversion_profitable_p): Declare.
+	* target.def (noce_conversion_profitable_p): New target hook.
+	* ifcvt.h (struct noce_if_info): New type, moved from ...
+	* ifcvt.c (struct noce_if_info): ... here.
+	(noce_conversion_profitable_p): Renamed to ...
+	(default_noce_conversion_profitable_p): ... this.  No longer
+	static nor inline.
+	(noce_try_store_flag_constants, noce_try_addcc,
+	noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
+	noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p
+	instead of noce_conversion_profitable_p.
+	* config/i386/i386.c: Include ifcvt.h.
+	(ix86_option_override_internal): Don't override
+	PARAM_MAX_RTL_IF_CONVERSION_INSNS default.
+	(ix86_noce_conversion_profitable_p): New function.
+	(TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine.
+	* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment.
+	* doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add.
+	* doc/tm.texi: Regenerated.
+
+2017-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar
+	correction.
+
+2017-04-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	PR target/80307
+	* config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32
+	instructions for small multiply cores.
+
+2017-04-04  Jeff Law  <law@redhat.com>
+
+	* config/mips/mips.c (mips_multi_add): Zero initialize the newly
+	added member.
+	(mips_expand_vec_perm_const): Initialize elements in orig_perm
+	that are not set by the loop over the elements.
+
+2017-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/80286
+	* config/i386/i386.c (ix86_expand_args_builtin): If op has scalar
+	int mode, convert_modes it to mode as unsigned, otherwise use
+	lowpart_subreg to mode rather than SImode.
+	* config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>,
+	ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>):
+	Use DImode instead of SImode for the shift count operand.
+	* config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3):
+	Likewise.
+
+2017-04-04  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80281
+	* match.pd (A + (-B) -> A - B): Make sure to preserve unsigned
+	arithmetic done for the negate or the plus.  Simplify.
+	(A - (-B) -> A + B): Likewise.
+	* fold-const.c (split_tree): Make sure to not negate pointers.
+
+2017-04-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/60818
+	* simplify-rtx.c (simplify_binary_operation_1): Do not replace
+	a compare of comparisons with the thing compared if this results
+	in a different machine mode.
+
+2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
+
+	* alias.c (base_alias_check): Fix typo in comment.
+	* cgraph.h (class ipa_polymorphic_call_context): Likewise.
+	* cgraphunit.c (symbol_table::compile): Likewise.
+	* collect2.c (maybe_run_lto_and_relink): Likewise.
+	* config/arm/arm.c (arm_thumb1_mi_thunk): Likewise.
+	* config/avr/avr-arch.h (avr_arch_info_t): Likewise.
+	* config/avr/avr.c (avr_map_op_t): Likewise.
+	* config/cr16/cr16.h (DATA_ALIGNMENT): Likewise.
+	* config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise.
+	* config/epiphany/epiphany.md (movcc): Likewise.
+	* config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise.
+	* config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue):
+	Likewise.
+	* config/mips/mips.c (mips_save_restore_reg): Likewise.
+	* config/rx/rx.c (rx_is_restricted_memory_address): Likewise.
+	* config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise.
+	* config/sh/sh.c (sh_rtx_costs): Likewise.
+	* fold-const.c (fold_truth_andor): Likewise.
+	* genautomata.c (collapse_flag): Likewise.
+	* gengtype.h (struct type::u::s): Likewise.
+	* gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise.
+	* input.c (FORMAT_AMOUNT): Likewise.
+	* ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector)
+	(known_aggs_to_agg_replacement_list): Likewise.
+	* ipa-inline-analysis.c: Likewise.
+	* ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise.
+	* ipa-polymorphic-call.c
+	(ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
+	* loop-unroll.c (analyze_insn_to_expand_var): Likewise.
+	* lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos):
+	Likewise.
+	* modulo-sched.c (apply_reg_moves): Likewise.
+	* omp-expand.c (build_omp_regions_1): Likewise.
+	* trans-mem.c (struct tm_wrapper_hasher): Likewise.
+	* tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise.
+	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise.
+	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
+	* value-prof.c: Likewise.
+	* var-tracking.c (val_reset): Likewise.
+
+2017-04-03  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80275
+	* fold-const.c (split_address_to_core_and_offset): Handle
+	POINTER_PLUS_EXPR.
+
+2017-04-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-nested.c (get_descriptor_type): Make sure that the alignment of
+	descriptors is at least equal to that of functions.
+
+2017-04-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md (movdi_to_sse): Add missing DONE.
+
+2017-04-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80250
+	* config/i386/sse.md (mov<IMOD4:mode>): Remove insn pattern.
+	(mov<IMOD4:mode>): New expander.
+	(*mov<IMOD4:mode>_internal): New insn and split pattern.
+
+2017-03-31  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/79405
+	* fwprop.c (propagations_left): New variable.
+	(forward_propagate_into): Decrement it.
+	(fwprop_init): Initialize it.
+	(fw_prop): If the variable has reached zero, stop propagating.
+	(fwprop_addr): Ditto.
+
+2017-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/79255
+	* dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is
+	a FUNCTION_DECL, pass it as decl instead of origin to
+	process_scope_var.
+
+2017-03-31  Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/nvptx/nvptx.c (nvptx_output_softstack_switch): Correct format
+	string.
+
+2017-03-31  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR target/80107
+	* config/rs6000/rs6000.md (extendhi<mode>2): Add test for
+	TARGET_VSX_SMALL_INTEGER.
+
+2017-03-31  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions):	Add
+	reference to the OpenPOWER 64-Bit ELF V2 ABI Specification.
+
+2017-03-31  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* config/mips/mips-msa.md (msa_vec_extract_<msafmt_f>): Update
+	extraction from odd-numbered MSA register.
+
+2017-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/80173
+	* expmed.c (store_bit_field_1): Don't attempt to create
+	a word subreg out of hard registers wider than word if they
+	have HARD_REGNO_NREGS of 1 for their mode.
+
+	PR middle-end/80163
+	* varasm.c (initializer_constant_valid_p_1): Disallow sign-extending
+	conversions to integer types wider than word and pointer.
+
+	PR debug/80025
+	* cselib.h (rtx_equal_for_cselib_1): Add depth argument.
+	(rtx_equal_for_cselib_p): Pass 0 to it.
+	* cselib.c (cselib_hasher::equal): Likewise.
+	(rtx_equal_for_cselib_1): Add depth argument.  If depth
+	is 128, don't look up VALUE locs and punt.  Increment
+	depth in recursive calls when walking VALUE locs.
+
+2017-03-31  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
+	(make_gcov_file_name): Use the canonical path name for generating
+	the MD5 value.
+	(read_line): Fix handling of files with ascii null bytes.
+
+2017-03-30  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* config/mips/mips.c (mips_expand_vector_init): Create a const_vector
+	to initialise a vector register instead
+	of using a const_int.
+
+2017-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR translation/80189
+	* gimplify.c (omp_default_clause): Use %qs instead of %s in
+	diagnostic messages.
+
+2017-03-30  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR target/80246
+	* config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0.
+	(dfp_diex_<mode>): Update mode of operand 1.
+	* doc/extend.texi (dxex, dxexq): Document change to return type.
+	(diex, diexq): Document change to argument type.
+
+2017-03-30  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/77333
+	* cgraph.h (cgraph_build_function_type_skip_args): Declare.
+	* cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
+	it reflects the signature changes performed at the callee side.
+	* cgraphclones.c (build_function_type_skip_args): Make public, renamed
+	to cgraph_build_function_type_skip_args.
+	(build_function_decl_skip_args): Adjust call to the above function.
+
+2017-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/80206
+	* config/i386/sse.md
+	(<extract_type>_vextract<shuffletype><extract_suf>_mask): Use
+	register as dest whenever it is a MEM not rtx_equal_p to the
+	corresponding dup operand, and when forcing into reg move the
+	reg into the memory afterwards.
+	(<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask):
+	Likewise.  Use <ssehalfvecmode> instead of <ssequartermode>
+	for the force_reg mode.
+	(avx512vl_vextractf128<mode>): Use register as dest either
+	always when a MEM, or when it is a MEM not rtx_equal_p to the
+	corresponding dup operand, or even not when it is a CONST_VECTOR
+	depending on the mode and lo vs. hi.
+	(avx512dq_vextract<shuffletype>64x2_1_maskm): Remove extraneous
+	parens.
+	(avx512f_vextract<shuffletype>32x4_1_maskm): Likewise.
+	(<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>):
+	Likewise.  Require that operands[2] is even.
+	(<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>):
+	Remove extraneous parens.  Require that operands[2] is a multiple
+	of 4.
+	(vec_extract_lo_<mode><mask_name>): Don't bother testing if
+	operands[0] is a MEM if <mask_applied>, the predicates/constraints
+	disallow memory then.
+
+2017-03-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77498
+	* tree-ssa-pre.c (phi_translate_1): Do not allow simplifications
+	to non-constants over backedges.
+
+2017-03-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/80233
+	* combine.c (combine_instructions): Only take NONDEBUG_INSN_P insns
+	as last_combined_insn.  Do not test for BARRIER_P separately.
+
+2017-03-29  Andreas Schwab  <schwab@suse.de>
+
+	PR ada/80146
+	* calls.c (prepare_call_address): Convert funexp to Pmode before
+	copying to temp reg.
+
+2017-03-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/80158
+	* gimple-ssa-strength-reduction.c (replace_mult_candidate):
+	Handle possible future case of more than one alternate
+	interpretation.
+	(replace_rhs_if_not_dup): Likewise.
+	(replace_one_candidate): Likewise.
+
+2017-03-28  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/80193
+	* ira.c (ira): Do not check allocation for LRA.
+
+2017-03-28  Alexander Monakov  <amonakov@ispras.ru>
+
+	* config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare.
+	(nvptx_output_simt_exit): Declare.
+	* config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use
+	cfun->machine->unisimt_location.  Handle NULL unisimt_predicate.
+	(init_softstack_frame): Move initialization of crtl->is_leaf to...
+	(nvptx_declare_function_name): ...here.  Emit declaration of local
+	memory space buffer for omp_simt_enter insn.
+	(nvptx_output_unisimt_switch): New.
+	(nvptx_output_softstack_switch): New.
+	(nvptx_output_simt_enter): New.
+	(nvptx_output_simt_exit): New.
+	* config/nvptx/nvptx.h (struct machine_function): New fields
+	has_simtreg, unisimt_location, simt_stack_size, simt_stack_align.
+	* config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec.
+	(UNSPECV_SIMT_EXIT): Ditto.
+	(omp_simt_enter_insn): New insn.
+	(omp_simt_enter): New expansion.
+	(omp_simt_exit): New insn.
+	* config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option.
+
+	* internal-fn.c (expand_GOMP_SIMT_ENTER): New.
+	(expand_GOMP_SIMT_ENTER_ALLOC): New.
+	(expand_GOMP_SIMT_EXIT): New.
+	* internal-fn.def (GOMP_SIMT_ENTER): New internal function.
+	(GOMP_SIMT_ENTER_ALLOC): Ditto.
+	(GOMP_SIMT_EXIT): Ditto.
+	* target-insns.def (omp_simt_enter): New insn.
+	(omp_simt_exit): Ditto.
+	* omp-low.c (struct omplow_simd_context): New fields simt_eargs,
+	simt_dlist.
+	(lower_rec_simd_input_clauses): Implement SIMT privatization.
+	(lower_rec_input_clauses): Likewise.
+	(lower_lastprivate_clauses): Handle SIMT privatization.
+
+	* omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h.
+	(ompdevlow_adjust_simt_enter): New.
+	(find_simtpriv_var_op): New.
+	(execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER,
+	IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT.
+
+	* tree-inline.h (struct copy_body_data): New field dst_simt_vars.
+	* tree-inline.c (expand_call_inline): Handle SIMT privatization.
+	(copy_decl_for_dup_finish): Ditto.
+
+	* tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER.
+
+2017-03-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/53383
+	* config/i386/i386.c (ix86_option_override_internal): Always
+	allow -mpreferred-stack-boundary=3 for 64-bit targets.
+
+2017-03-28  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop.
+
+2017-03-28  Bin Cheng  <bin.cheng@arm.com>
+
+	* tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
+	mark new edge's irreducible flag accordign to it.
+	(vect_do_peeling): Check loop preheader edge's irreducible flag
+	and pass it to function slpeel_add_loop_guard.
+
+2017-03-28  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR tree-optimization/80218
+	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
+	Update block frequencies and counts.
+
+2017-03-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78644
+	* tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
+	of a simplification result we may not use it at all.
+
+2017-03-28  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/80205
+	* tree-inline.c (copy_phis_for_bb): Do not create PHI node
+	without arguments, generate default definition of a SSA name.
+
+2017-03-28  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80222
+	* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
+	TYPE_REF_CAN_ALIAS_ALL references.
+	* fold-const.c (fold_indirect_ref_1): Likewise.
+
+2017-03-28  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/80104
+	* cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
+	thunk call as DECL_GIMPLE_REG_P when vector or complex type.
+
+2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
+	    Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
+
+	* config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec.
+	(EXTRA_SPECS): Define.
+	(SUBTARGET_EXTRA_SPECS): Likewise.
+	(SUBTARGET_CPP_SPEC): Likewise.
+	* config/arc/elf.h (EXTRA_SPECS): Renamed to
+	SUBTARGET_EXTRA_SPECS.
+	* config/arc/linux.h (SUBTARGET_CPP_SPEC): Define.
+
+2017-03-28  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/simdext.md (vst64_insn): Update pattern.
+	(vld32wh_insn): Likewise.
+	(vld32wl_insn): Likewise.
+	(vld64_insn): Likewise.
+	(vld32_insn): Likewise.
+
+2017-03-28  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80067
+	* fold-const.c (fold_comparison): Use protected_set_expr_location
+	instead of SET_EXPR_LOCATION.
+
+2017-03-28  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* tree.c (add_expr): Avoid name lookup warning.
+
+2017-03-27  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/80216
+	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in
+	function name.  Limit recursion depth.
+	(record_temporary_equivalences): Corresponding changes.
+
+2017-03-27  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
+	covered first.
+
+2017-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/80102
+	* reg-notes.def (REG_CFA_NOTE): Define.  Use it for CFA related
+	notes.
+	* cfgcleanup.c (reg_note_cfa_p): New array.
+	(insns_have_identical_cfa_notes): New function.
+	(old_insns_match_p): Don't cross-jump in between /f
+	and non-/f instructions.  If both i1 and i2 are frame related,
+	verify all CFA notes, their order and content.
+
+2017-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78543
+	* config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap
+	HImode and SImode with zero extend to DImode to one insn.
+	(bswap<mode>2_extenddi): Likewise.
+	(bswapsi2_extenddi): Likewise.
+	(bswaphi2_extendsi): Likewise.
+	(bswaphi2): Combine bswap HImode and SImode into one insn.
+	Separate memory insns from swapping register.
+	(bswapsi2): Likewise.
+	(bswap<mode>2): Likewise.
+	(bswaphi2_internal): Delete, no longer used.
+	(bswapsi2_internal): Likewise.
+	(bswap<mode>2_load): Split bswap HImode/SImode into separate load,
+	store, and gpr<-gpr swap insns.
+	(bswap<mode>2_store): Likewise.
+	(bswaphi2_reg): Register only splitter, combine with the splitter.
+	(bswaphi2 splitter): Likewise.
+	(bswapsi2_reg): Likewise.
+	(bswapsi2 splitter): Likewise.
+	(bswapdi2): If we have the LDBRX and STDBRX instructions, split
+	the insns into load, store, and register/register insns.
+	(bswapdi2_ldbrx): Likewise.
+	(bswapdi2_load): Likewise.
+	(bswapdi2_store): Likewise.
+	(bswapdi2_reg): Likewise.
+
+2017-03-27  Gunther Nikl  <gnikl@users.sourceforge.net>
+
+	* system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case.
+	(HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise.
+
+2017-03-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR target/80103
+	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and
+	add comments.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+	special handling for target option conflicts between dform
+	options (-mpower9-dform, -mpower9-dform-vector,
+	-mpower9-dform-scalar) and -mno-direct-move.
+
+2017-03-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80181
+	* tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
+
+2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/predicates.md (move_double_src_operand): Replace the
+	call to move_double_src_operand with a call to address_operand.
+
+2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define.
+	* config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise.
+	* config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT.
+
+2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/predicates.md (long_immediate_loadstore_operand):
+	Consider scaled addresses cases.
+
+2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_epilogue_uses): BLINK should be also
+	restored when in interrupt.
+	* config/arc/arc.md (simple_return): ARCv2 rtie instruction
+	doesn't have delay slot.
+
+2017-03-27  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/79776
+	* tree-ssa-structalias.c (associate_varinfo_to_alias): Skip
+	inlined thunk clones.
+
+2017-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/80168
+	* asan.c (instrument_derefs): Copy over last operand from
+	original COMPONENT_REF to the new COMPONENT_REF with
+	DECL_BIT_FIELD_REPRESENTATIVE.
+	* ubsan.c (instrument_object_size): Likewise.
+
+2017-03-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80170
+	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make
+	sure DR/SCEV didnt fold in constants we do not see when looking
+	at the reference base alignment.
+
+2017-03-27  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80171
+	* gimple-fold.c (fold_ctor_reference): Properly guard against
+	NULL return value from canonicalize_constructor_val.
+
+2017-03-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80180
+	* config/i386/i386.c (ix86_expand_builtin)
+	<IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
+	flags reg setting and flags reg using instructions.
+	<IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto.  Use non-flags reg
+	clobbering instructions to zero extend op2.
+
+2017-03-25  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Configuration) <--with-aix-soname>:
+	Update link to AIX ld.
+
+2017-03-25  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/80160
+	PR rtl-optimization/80159
+	* lra-assigns.c (must_not_spill_p): Tighten new test to also take
+	reg_alternate_class into account.
+
+2017-03-24  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/80148
+	* lra-assigns.c (assign_by_spills): Add spilled non-reload pseudos
+	to consider in curr_insn_transform.
+
+2017-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* genrecog.c (validate_pattern): Add VEC_SELECT validation.
+	* genmodes.c (emit_min_insn_modes_c): Call emit_mode_nunits
+	and emit_mode_inner.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-builtins.def: Add VXE builtins.  Add a flags
+	argument to the overloaded builtin variants.  Use the new flag to
+	deprecate certain builtin variants.
+	* config/s390/s390-builtin-types.def: Add new builtin types.
+	* config/s390/s390-builtins.h: Support new flags field for
+	overloaded builtins.
+	* config/s390/s390-c.c (OB_DEF_VAR): New flags field.
+	(s390_macro_to_expand): Enable vector float data type.
+	(s390_cpu_cpp_builtins_internal): Indicate support of the new
+	builtins by incrementing the __VEC__ version number.
+	(s390_expand_overloaded_builtin): Support expansion of vec_xl and
+	vec_xst.
+	(s390_resolve_overloaded_builtin): Emit error messages depending
+	on the builtin flags.
+	* config/s390/s390.c (s390_expand_builtin): Support additional
+	flags argument.  Change error message to match the messages
+	emitted in s390-c.c.
+	* config/s390/s390.md: New UNSPEC_* constants.
+	(op_type): Add new instruction types.
+	* config/s390/vecintrin.h: Add new builtins and test data class
+	constants.
+	* config/s390/vx-builtins.md (V_HW_32_64): Add V4SF.
+	(V_HW_4, VEC_HW, VECF_HW): New mode iterators.
+	(VEC_INEXACT, VEC_NOINEXACT): New constants.
+	("vec_splats<mode>", "vec_insert<mode>", "vec_promote<mode>")
+	("vec_insert_and_zero<mode>", "vec_mergeh<mode>")
+	("vec_mergel<mode>"): V_HW -> VEC_HW.
+
+	("vlrlrv16qi", "vstrlrv16qi", "vbpermv16qi", "vec_msumv2di")
+	("vmslg", "*vftci<mode>_cconly", "vftci<mode>_intcconly")
+	("*vftci<mode>", "vftci<mode>_intcc", "vec_double_s64")
+	("vec_double_u64", "vfmin<mode>", "vfmax<mode>"): New definition.
+
+	("and_av2df3", "and_cv2df3", "vec_andc_av2df3")
+	("vec_andc_cv2df3", "xor_av2df3", "xor_cv2df3", "vec_nor_av2df3")
+	("vec_nor_cv2df3", "ior_av2df3", "ior_cv2df3", "vec_nabs")
+	("*vftcidb", "*vftcidb_cconly", "vftcidb"): Remove definition.
+
+	("vec_all_<fpcmpcc:code>v2df", "vec_any_<fpcmpcc:code>v2df")
+	("vec_scatter_elementv4si_DI", "vec_cmp<fpcmp:code>v2df")
+	("vec_di_to_df_s64", "vec_di_to_df_u64", "vec_df_to_di_u64")
+	("vfidb", "*vldeb", "*vledb", "*vec_cmp<insn_cmp>v2df_cconly")
+	("vec_cmpeqv2df_cc", "vec_cmpeqv2df_cc", "vec_cmphv2df_cc")
+	("vec_cmphev2df_cc", "*vec_cmpeqv2df_cc")
+	("*vec_cmphv2df_cc", "*vec_cmphev2df_cc"): Enable new modes as ...
+
+	("vec_all_<fpcmpcc:code><mode>", "vec_any_<fpcmpcc:code><mode>")
+	("vec_scatter_element<V_HW_4:mode>_DI")
+	("vec_cmp<fpcmp:code><mode>", "vcdgb", "vcdlgb", "vclgdb")
+	("vec_fpint<mode>", "vflls")
+	("vflrd", "*vec_cmp<insn_cmp><mode>_cconly", "vec_cmpeq<mode>_cc")
+	("vec_cmpeq<mode>_cc", "vec_cmph<mode>_cc", "vec_cmphe<mode>_cc")
+	("*vec_cmpeq<mode>_cc", "*vec_cmph<mode>_cc")
+	("*vec_cmphe<mode>_cc"): ... these.
+
+	("vec_ctd_s64", "vec_ctsl", "vec_ctul", "vec_st2f"): Use rounding
+	mode constant instead of magic value.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_vec_compare): Support other
+	vector floating point modes than just V2DF.
+	(s390_expand_vcond): Likewise.
+	(s390_hard_regno_mode_ok): Allow SFmode values in VRs.
+	(s390_cannot_change_mode_class): Prevent mode changes between TF
+	and V1TF in vector registers.
+	* config/s390/s390.md (DF, SF): New mode attributes.
+	("*cmp<mode>_ccs", "add<mode>3", "sub<mode>3", "mul<mode>3")
+	("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2"): Add
+	SFmode support for VRs.
+	* config/s390/vector.md (V_HW, V_HW2, VT_HW, ti*, nonvec): Add new
+	vector fp modes.
+	(VFT, VF_HW): New mode iterators.
+	(vw, sdx): New mode attributes.
+	("addv2df3", "subv2df3", "mulv2df3", "divv2df3", "sqrtv2df2")
+	("fmav2df4","fmsv2df4", "negv2df2", "absv2df2", "*negabsv2df2")
+	("smaxv2df3", "sminv2df3", "*vec_cmp<VFCMP_HW_OP:code>v2df_nocc")
+	("vec_cmpuneqv2df", "vec_cmpltgtv2df", "vec_orderedv2df")
+	("vec_unorderedv2df"): Adjust the v2df only patterns to support
+	also the new vector floating point modes.  Renaming to ...
+
+	("add<mode>3", "sub<mode>3", "mul<mode>3", "div<mode>3")
+	("sqrt<mode>2", "fma<mode>4", "fms<mode>4", "neg<mode>2")
+	("abs<mode>2", "negabs<mode>2", "smax<mode>3")
+	("smin<mode>3", "*vec_cmp<VFCMP_HW_OP:code><mode>_nocc")
+	("vec_cmpuneq<mode>", "vec_cmpltgt<mode>", "vec_ordered<mode>")
+	("vec_unordered<mode>"): ... these.
+
+	("neg_fma<mode>4", "neg_fms<mode>4", "*smax<mode>3_vxe")
+	("*smin<mode>3_vxe", "*sminv2df3_vx", "*vec_extendv4sf")
+	("*vec_extendv2df"): New insn definitions.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("*adddi3_sign", "*subdi3_sign", "mulditi3")
+	("mulditi3_2", "*muldi3_sign"): New patterns.
+	("muldi3", "*muldi3", "mulsi3", "*mulsi3"): Add an expander and
+	rename the pattern definition.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("indirect_jump"): Turn insn definition into
+	expander.
+	("*indirect_jump", "*indirect2_jump"): New pattern definitions.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_vec_init): Use vllezl
+	instruction if possible.
+	* config/s390/vector.md (vec_halfnumelts): New mode
+	attribute.
+	("*vec_vllezlf<mode>"): New pattern.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vector.md ("popcountv16qi2", "popcountv8hi2")
+	("popcountv4si2", "popcountv2di2"): Rename to ...
+	("popcount<mode>2", "popcountv8hi2_vx", "popcountv4si2_vx")
+	("popcountv2di2_vx"): ... these and add !TARGET_VXE to the
+	condition.
+	("popcount<mode>2_vxe"): New pattern.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* common/config/s390/s390-common.c (processor_flags_table): Add
+	arch12.
+	* config.gcc: Add arch12.
+	* config/s390/driver-native.c (s390_host_detect_local_cpu):
+	Default to arch12 for unknown CPU model numbers.
+	* config/s390/s390-builtins.def: Add B_VXE builtin flag.
+	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Adjust
+	PROCESSOR_max sanity check.
+	* config/s390/s390-opts.h (enum processor_type): Add
+	PROCESSOR_ARCH12.
+	* config/s390/s390.c (processor_table): Add arch12.
+	(s390_expand_builtin): Add check for B_VXE flag.
+	(s390_issue_rate): Add PROCESSOR_ARCH12.
+	(s390_get_sched_attrmask): Likewise.
+	(s390_get_unit_mask): Likewise.
+	(s390_sched_score): Enable z13 scheduling for arch12.
+	(s390_sched_reorder): Likewise.
+	(s390_sched_variable_issue): Likewise.
+	* config/s390/s390.h (enum processor_flags): Add PF_ARCH12 and
+	PF_VXE.
+	(s390_tune_attr): Use z13 scheduling also for arch12.
+	(TARGET_CPU_ARCH12, TARGET_CPU_ARCH12_P, TARGET_CPU_VXE)
+	(TARGET_CPU_VXE_P, TARGET_ARCH12, TARGET_ARCH12_P, TARGET_VXE)
+	(TARGET_VXE_P): New macros.
+	* config/s390/s390.md: Add arch12 to cpu attribute.  Add arch12
+	and vxe to cpu_facility.  Add arch12 and vxe to enabled attribute.
+	* config/s390/s390.opt: Add arch12 as processor_type.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md
+	("fixuns_truncdddi2", "fixuns_trunctddi2")
+	("fixuns_trunc<BFP:mode><GPR:mode>2"): Merge into ...
+	("fixuns_trunc<FP:mode><GPR:mode>2"): New expander.
+
+	("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2"):
+	Rename expanders to ...
+
+	("fixuns_trunc<BFP:mode><GPR:mode>2_emu")
+	("fixuns_truncdddi2_emu"): ... these.
+
+	("fixuns_trunc<mode>si2_emu"): New expander.
+
+	("*fixuns_truncdfdi2_z13"): Rename to ...
+	("*fixuns_truncdfdi2_vx"): ... this.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/2964.md: Remove the single element vector compare
+	instructions which are no longer used.
+	* config/s390/s390.c (s390_select_ccmode): Remove handling of
+	vector CCmodes.
+	(s390_canonicalize_comparison): Remove handling of DFmode
+	compares.
+	(s390_expand_vec_compare_scalar): Remove function.
+	(s390_emit_compare): Don't call s390_expand_vec_compare_scalar.
+	* config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly"): Remove
+	pattern.
+	("*cmp<mode>_ccs"): Add wfcdb instruction.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("mov<mode>_64dfp" DD_DF): Use vleig for loading a
+	FP zero.
+	("*mov<mode>_64" DD_DF): Remove the vector instructions. These
+	will anyway by matched by mov<mode>_64dfp.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("mov<mode>" SD_SF): Change vleg/vsteg to
+	vlef/vstef.  Add missing operand to vleif.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_vec_init): Enable vector load
+	pair for all vector types with 64 bit elements.
+	* config/s390/vx-builtins.md (V_HW_64): Move mode iterator to ...
+	* config/s390/vector.md (V_HW_64): ... here.
+	(V_128_NOSINGLE): New mode iterator.
+	("vec_init<V_HW:mode>"): Use V_128 as mode iterator.
+	("*vec_splat<mode>"): Use V_128_NOSINGLE mode iterator.
+	("*vec_tf_to_v1tf", "*vec_ti_to_v1ti"): New pattern definitions.
+	("*vec_load_pairv2di"): Change to ...
+	("*vec_load_pair<mode>"): ... this one.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/constraints.md: Add comments.
+	(jKK): Reject element sizes > 8 bytes.
+	* config/s390/s390.c (s390_split_ok_p): Enable splitting also for
+	s_operands.
+	* config/s390/s390.md: Add the s_operand checks formerly in
+	s390_split_ok_p to various splitters where they are still
+	required.
+	* config/s390/vector.md ("mov<mode>" V_128): Add GPR alternatives
+	for 128 bit vectors.  Plus two splitters.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md: Rename the cpu facilty vec to vx throughout
+	the file.
+
+2017-03-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/79893
+	* config/s390/s390-c.c (s390_adjust_builtin_arglist): Issue an
+	error if the boundary argument is not constant.
+
+2017-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/80112
+	* loop-doloop.c (doloop_condition_get): Don't check condition
+	if cmp isn't SET with IF_THEN_ELSE src.
+
+2017-03-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/80158
+	* gimple-ssa-strength-reduction.c (replace_mult_candidate): When
+	replacing a candidate statement, also replace it for the
+	candidate's alternate interpretation.
+	(replace_rhs_if_not_dup): Likewise.
+	(replace_one_candidate): Likewise.
+
+2017-03-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80167
+	* graphite-isl-ast-to-gimple.c
+	(translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs
+	properly.
+	(translate_isl_ast_to_gimple::get_rename): Likewise.
+
+2017-03-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Change
+	handling of certain combinations of target options, including the
+	combinations -mpower8-vector vs. -mno-vsx, -mpower9-vector vs.
+	-mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector.
+
+2017-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/71436
+	* config/arm/arm.md (*load_multiple): Add reload_completed to
+	matching condition.
+
+2017-03-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+	    Richard Biener  <rguenth@suse.de>
+
+	PR tree-optimization/79908
+	PR tree-optimization/80136
+	* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
+	been cast away, gimplify_and_add suffices.
+
+2017-03-23  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* tree-vrp.c (identify_jump_threads): Delete avail_exprs.
+
+2017-03-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80032
+	* gimplify.c (gimple_push_cleanup): Forced unconditional
+	cleanups still have to go to the conditional_cleanups
+	sequence.
+
+2017-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/80072
+	* tree-ssa-reassoc.c (struct operand_entry): Change id field type
+	to unsigned int.
+	(next_operand_entry_id): Change type to unsigned int.
+	(sort_by_operand_rank): Make sure to return the right return value
+	even if unsigned fields are bigger than INT_MAX.
+	(struct oecount): Change cnt and id type to unsigned int.
+	(oecount_hasher::equal): Formatting fix.
+	(oecount_cmp): Make sure to return the right return value
+	even if unsigned fields are bigger than INT_MAX.
+	(undistribute_ops_list): Change next_oecount_id type to unsigned int.
+
+	PR c++/80129
+	* gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
+	TREE_READONLY on result if writing it more than once.
+
+	PR sanitizer/80110
+	* doc/invoke.texi (-fsanitize=thread): Document that with
+	-fnon-call-exceptions atomics are not able to throw
+	exceptions.
+
+	PR sanitizer/80110
+	* tsan.c: Include tree-eh.h.
+	(instrument_builtin_call): Call maybe_clean_eh_stmt or
+	maybe_clean_or_replace_eh_stmt where needed.
+	(instrument_memory_accesses): Add cfg_changed argument.
+	Call gimple_purge_dead_eh_edges on each block and set *cfg_changed
+	if it returned true.
+	(tsan_pass): Adjust caller.  Return TODO_cleanup_cfg if cfg_changed.
+
+	PR rtl-optimization/63191
+	* config/i386/i386.c (ix86_delegitimize_address): Turn into small
+	wrapper function, moved the whole old content into ...
+	(ix86_delegitimize_address_1): ... this.  New inline function.
+	(ix86_find_base_term): Use ix86_delegitimize_address_1 with
+	true as last argument instead of ix86_delegitimize_address.
+
+2017-03-22  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (generic_branch_cost): Copy
+	cortexa57_branch_cost.
+
+2017-03-22  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (generic_tunings): Add AES fusion.
+
+2017-03-21  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/80123
+	* doc/md.texi (Constraints): Document wA constraint.
+	* config/rs6000/constraints.md (wA): New.
+	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
+	(rs6000_init_hard_regno_mode_ok): Init wA constraint.
+	* config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
+	* config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.
+
+2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
+
+	PR c++/80029
+	* gimplify.c (is_oacc_declared): New function.
+	(oacc_default_clause): Use it to set default flags for acc declared
+	variables inside parallel regions.
+	(gimplify_scan_omp_clauses): Strip firstprivate pointers for acc
+	declared variables.
+	(gimplify_oacc_declare): Gimplify the declare clauses.  Add the
+	declare attribute to any decl as necessary.
+
+2017-03-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	PR target/80082
+	* config/arm/arm-isa.h (isa_bit_lpae): New feature bit.
+	(ISA_ARMv7ve): Add isa_bit_lpae to the definition.
+	* config/arm/arm-protos.h (arm_arch7ve): Rename into ...
+	(arm_arch_lpae): This.
+	* config/arm/arm.c (arm_arch7ve): Rename into ...
+	(arm_arch_lpae): This.  Define it in term of isa_bit_lpae.
+	* config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
+	arm_arch_lpae.
+
+2017-03-22  Martin Liska  <mliska@suse.cz>
+
+	PR target/79906
+	* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
+	error message instead of an ICE.
+
+2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* doc/extend.texi (6.11 Additional Floating Types): Revise.
+
+2017-03-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
+	comments.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+	comments.
+
+2017-03-21  Martin Sebor  <msebor@redhat.com>
+
+	* doc/extend.texi: Use "cannot" instead of "can't."
+	* doc/hostconfig.texi: Same.
+	* doc/install.texi: Same.
+	* doc/invoke.texi: Same.
+	* doc/loop.texi: Same.
+	* doc/md.texi: Same.
+	* doc/objc.texi: Same.
+	* doc/rtl.texi: Same.
+	* doc/tm.texi: Same.
+	* doc/tm.texi.in: Same.
+	* doc/trouble.texi: Same.
+
+2017-03-21  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR debug/63238
+	* dwarf2out.c (struct checksum_attributes): Add at_alignment.
+	(collect_checksum_attributes): Set it.
+	(die_checksum_ordered): Use it.
+
+2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/79908
+	* tree-stdarg.c (expand_ifn_va_arg_1): Revert the following
+	change: For a VA_ARG whose LHS has been cast away, use
+	force_gimple_operand to construct the side effects.
+
+2017-03-21  David Malcolm  <dmalcolm@redhat.com>
+
+	PR translation/80001
+	* omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics
+	more amenable to translation.
+	(oacc_loop_auto_partitions): Likewise.
+
+2017-03-21  Marek Polacek  <polacek@redhat.com>
+	    Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/80109
+	* gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info
+	on INTEGRAL_TYPE_P.
+
+2017-03-21  Jakub Jelinek  <jakub@redhat.com>
+	    Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/80125
+	* combine.c (can_combine_p): Revert the 2017-03-20 change, only
+	check reg_used_between_p between insn and one of succ or succ2
+	depending on if succ is artificial insn not inserted into insn
+	stream.
+
+2017-03-21  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/80081
+	* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
+	* doc/gcc.texi: Include gcov-dump stuff.
+	* doc/gcov-dump.texi: New file.
+
+2017-03-21  Toma Tabacu  <toma.tabacu@imgtec.com>
+
+	PR rtl-optimization/79150
+	* config/mips/mips.c (mips_block_move_loop): Emit a NOP after the
+	conditional jump, if the jump is the last insn of the loop.
+
+2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+	    Richard Biener  <rguenth@suse.de>
+
+	PR tree-optimization/79908
+	* tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
+	been cast away, use force_gimple_operand to construct the side
+	effects.
+
+2017-03-21  Martin Liska  <mliska@suse.cz>
+
+	PR libfortran/79956
+	* simplify-rtx.c (simplify_immed_subreg): Initialize a variable
+	to NULL.
+
+2017-03-21  Brad Spengler <spender@grsecurity.net>
+
+	PR plugins/80094
+	* plugin.c (htab_hash_plugin): New function.
+	(add_new_plugin): Use it and adjust.
+	(parse_plugin_arg_opt): Adjust.
+	(init_one_plugin): Likewise.
+
+2017-03-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80032
+	* gimplify.c (gimple_push_cleanup): Add force_uncond parameter,
+	if set force the cleanup to happen unconditionally.
+	(gimplify_target_expr): Push inserted clobbers with force_uncond
+	to avoid them being removed by control-dependent DCE.
+
+2017-03-21  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80122
+	* tree-inline.c (copy_bb): Do not expans va-arg packs or
+	va_arg_pack_len when the inlined call stmt requires pack
+	expansion itself.
+	* tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
+
+2017-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/78158
+	* tsan.c (instrument_builtin_call): If the memory model argument
+	is not a constant, assume it is valid.
+
+	PR c/67338
+	* fold-const.c (round_up_loc): Negate divisor in unsigned type to
+	avoid UB.
+
+2017-03-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/79910
+	* combine.c (can_combine_p): Do not allow combining an I0 or I1
+	if its dest is used by an insn before I2 (other than the combined
+	insns themselves, which are properly handled already).
+
+2017-03-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	Revert:
+	2017-03-17  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* combine.c (record_used_regs): New static function.
+	(try_combine): Handle situations where there is an additional
+	instruction between I2 and I3 which needs to have a LOG_LINK
+	updated.
+
+	Revert:
+	2017-03-17  Jim Wilson  <jim.wilson@linaro.org>
+
+	* combine.c (try_combine): Delete redundant i1 test.  Call
+	prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
+
+2017-03-20  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/80083
+	* config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for
+	alternatives 13/14.
+
+2017-03-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR tree-optimization/80054
+	* gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail
+	the optimization if a PHI or any of its arguments is not dominated
+	by the candidate's basis.  Use gphi* rather than gimple* as
+	appropriate.
+	(replace_profitable_candidates): Clean up a gimple* variable that
+	should be a gphi* variable.
+
+2017-03-20  Martin Sebor  <msebor@redhat.com>
+
+	PR c++/52477
+	* doc/extend.texi (attribute constructor): Document present limitation.
+
+2017-03-20  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR target/79963
+	* config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and
+	__POWER9_VECTOR__ #ifdef control, change template definition to
+	use Power9-specific built-in function.
+	(vec_any_eq): Likewise.
+	* config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used
+	to control outcomes from this test.
+	(vector_ae_<mode>p): For VEC_F modes, likewise.
+
+2017-03-20  Ian Lance Taylor  <iant@google.com>
+
+	* config/i386/i386.c (ix86_function_regparm): Save an extra
+	register for -fsplit-stack with DECL_STATIC_CHAIN.
+
+2017-03-17  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	PR target/79912
+	* config/riscv/riscv.c (riscv_preferred_reload_class): Remove.
+	(TARGET_PREFERRED_RELOAD_CLASS): Likewise.
+
+2017-03-17  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* config/riscv/riscv.c (riscv_print_operand): Use "fence
+	iorw,ow".
+	* config/riscv/sync.mc (mem_thread_fence_1): Use "fence
+	iorw,iorw".
+
+2017-03-20  Marek Polacek  <polacek@redhat.com>
+
+	PR sanitizer/80063
+	* asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0).
+
+2017-03-20  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80113
+	* graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
+	allocate extra SSA name for PHI def.
+	(add_close_phis_to_outer_loops): Likewise.
+	(add_close_phis_to_merge_points): Likewise.
+	(copy_loop_close_phi_args): Likewise.
+	(copy_cond_phi_nodes): Likewise.
+
+2017-03-20  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/79753
+	* tree-chkp.c (chkp_build_returned_bound): Do not build
+	returned bounds for a LHS that's not a BOUNDED_P type.
+
+2017-03-20  Martin Liska  <mliska@suse.cz>
+
+	PR target/79769
+	PR target/79770
+	* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
+	COMPLEX_CST and VECTOR_CST.
+
+2017-03-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	PR target/78857
+	* config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the
+	target operand.  A new splitter adds the clobber statement in case
+	the target operand is dead anyway.
+
+2017-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific) <sparc-*-linux*>: No longer refer
+	to age-old versions of binutils and glibc.
+
+2017-03-18  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* doc/contrib.texi (Contributors): Remove duplicate entry for myself.
+
+2017-03-18  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/contrib.texi (Contributors): Add Segher Boessenkool.
+
+2017-03-18  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific) <arm-*-eabi>: Remove old
+	requirement for binutils 2.13.
+
+2017-03-17  Jim Wilson  <jim.wilson@linaro.org>
+
+	* combine.c (try_combine): Delete redundant i1 test.  Call
+	prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
+
+2017-03-17  Palmer Dabbelt  <palmer@dabbelt.com
+
+	* doc/install.texi (Specific) <riscv32-*-elf>: Add riscv32-*-elf,
+	riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of
+	contents.
+	<riscv64-*-elf>: Re-arrange section
+	<riscv32-*-elf>: Add a note about requiring binutils 2.28.
+	<riscv32-*-linux>: Likewise.
+	<riscv64-*-elf>: Likewise
+	<riscv64-*-linux>: Likewise.
+
+2017-03-17  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/80052
+	* aarch64.opt(verbose-cost-dump): Fix typo.
+
+2017-03-17  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR target/79951
+	* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
+	for VECTOR_UNIT_VSX_P (<MODE>mode) too.
+
+2017-03-17  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* reload.c (find_reloads): When reloading a nonoffsettable address,
+	use RELOAD_OTHER for it and its address reloads.
+
+	PR rtl-optimization/79910
+	* combine.c (record_used_regs): New static function.
+	(try_combine): Handle situations where there is an additional
+	instruction between I2 and I3 which needs to have a LOG_LINK
+	updated.
+
+2017-03-17  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71437
+	* tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the
+	conditional in the hash table first.
+	(vrp_dom_walker::before_dom_children): Extract condition from
+	ASSERT_EXPR.  Record condition, its inverion and any implied
+	conditions as well.
+
+2017-03-17  Marek Polacek  <polacek@redhat.com>
+	    Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR tree-optimization/80079
+	* gimple-ssa-store-merging.c (class pass_store_merging): Initialize
+	m_stores_head.
+
+2017-03-17  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80075
+	* tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns.
+	Properly verify the LHS before the RHS possibly claims to be
+	handled.
+	(stmt_could_throw_p): Hande gimple conds fully here.  Clobbers
+	do not throw.
+
+2017-03-17  Martin Jambor  <mjambor@suse.cz>
+
+	* doc/invoke.texi (Option Options): Include -fipa-vrp in the list.
+	(List of -O2 options): Likewise.
+	(-fipa-bit-cp): Replace "ipa" with "interprocedural."
+	(-fipa-vrp) New.
+
+2017-03-17  Tom de Vries  <tom@codesourcery.com>
+
+	* gcov-dump.c (print_usage): Print bug_report_url.
+
+2017-03-17  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/80050
+	* genmatch.c (parser::next): Remove pointless check for CPP_EOF.
+	(parser::peek): Likewise.
+
+2017-03-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80048
+	* sese.c (free_sese_info): Properly release rename_map and
+	copied_bb_map elements.
+
+2017-03-16  Alexandre Oliva  <aoliva@redhat.com>
+
+	* gimple-ssa-store-merging.c (struct imm_store_chain_info):
+	Add linked-list forward and backlinks.  Insert on
+	construction, remove on destruction.
+	(class pass_store_merging): Add m_stores_head field.
+	(pass_store_merging::terminate_and_process_all_chains):
+	Iterate over m_stores_head list.
+	(pass_store_merging::terminate_all_aliasing_chains):
+	Likewise.
+	(pass_store_merging::execute): Check for debug stmts first.
+	Push new chains onto the m_stores_head stack.
+
+2017-03-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71294
+	* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
+	SPLAT operation on ISA 2.07 64-bit systems that have direct move,
+	but no MTVSRDD support, by doing MTVSRD and XXPERMDI.
+
+2017-03-16  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71437
+	* tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
+	member function.  Implementation moved into after_dom_children
+	member function and into the threader's thread_outgoing_edges
+	function.
+	(dom_opt_dom_walker::after_dom_children): Simplify by moving
+	some code into new thread_outgoing_edges.
+	* tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
+	definition.  Simplify marker handling (do it here).   Assume we always
+	have the available expression and the const/copies tables.
+	(thread_outgoing_edges): New function extracted from tree-ssa-dom.c
+	and tree-vrp.c
+	* tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
+	* tree-vrp.c (equiv_stack): No longer file scoped.
+	(vrp_dom_walker): New class.
+	(vrp_dom_walker::before_dom_children): New member function.
+	(vrp_dom_walker::after_dom_children): Likewise.
+	(identify_jump_threads):  Setup domwalker.  Use it rather than
+	walking edges in a random order by hand.  Simplify setup/finalization.
+	(finalize_jump_threads): Remove.
+	(vrp_finalize): Do not call identify_jump_threads here.
+	(execute_vrp): Do it here instead and call thread_through_all_blocks
+	here too.
+
+	PR tree-optimization/71437
+	* tree-ssa-dom.c (pfn_simplify): Add basic_block argument.  All
+	callers changed.
+	(simplify_stmt_for_jump_threading): Add basic_block argument.  All
+	callers changed.
+	(lhs_of_dominating_assert): Moved from here into tree-vrp.c.
+	(dom_opt_dom_walker::thread_across_edge): Remove
+	handle_dominating_asserts argument.  All callers changed.
+	(record_temporary_equivalences_from_stmts_at_dest): Corresponding
+	changes.  Remove calls to lhs_of_dominating_assert.  Other
+	uses of handle_dominating_asserts turn into unconditional code
+	(simplify_control_stmt_condition_1): Likewise.
+	(simplify_control_stmt_condition): Likewise.
+	(thread_through_normal_block, thread_across_edge): Likewise.
+	* tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
+	* tree-vrp.c (lhs_of_dominating_assert): Move here.  Return original
+	object if it is not an SSA_NAME.
+	(simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
+	before calling into the VRP specific simplifiers.
+	(identify_jump_threads): Remove handle_dominating_asserts
+	argument.
+
+2017-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/79886
+	* tree-diagnostic.c (default_tree_printer): No longer static.
+	* tree-diagnostic.h (default_tree_printer): New prototype.
+
+2017-03-16  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
+	Change ins into fmov.
+
+2017-03-16  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
+	* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
+	Use h_con constraint for operand 1.
+	(*aarch64_fnma4_elt_from_dup<mode>): Likewise.
+	(*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.
+
+2017-03-15  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/71437
+	* tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
+	(record_temporary_equivalences): Use it.
+
+	PR tree-optimization/71437
+	* tree-ssa-dom.c (struct cond_equivalence): Moved from here into
+	tree-ssa-scopedtables.
+	(lookup_avail_expr, build_and_record_new_cond): Likewise.
+	(record_conditions, record_cond, vuse_eq): Likewise.
+	(record_edge_info): Adjust to API tweak of record_conditions.
+	(simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
+	(record_temporary_equivalences, optimize_stmt): Likewise.
+	(eliminate_redundant_computations): Likewise.
+	(record_equivalences_from_stmt): Likewise.
+	* tree-ssa-scopedtables.c: Include options.h and params.h.
+	(vuse_eq): New function, moved from tree-ssa-dom.c
+	(build_and_record_new_cond): Likewise.
+	(record_conditions): Likewise.  Accept vector of conditions rather
+	than edge_equivalence structure for first argument.
+	for the first argument.
+	(avail_exprs_stack::lookup_avail_expr): New member function, moved
+	from tree-ssa-dom.c.
+	(avail_exprs_stack::record_cond): Likewise.
+	* tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
+	from tree-ssa-dom.c.
+	(avail_exprs_stack): Add new member functions lookup_avail_expr
+	and record_cond.
+	(record_conditions): Declare.
+
+2017-03-15  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/80017
+	* lra-constraints.c (process_alt_operands): Increase reject for
+	reloading an input/output operand.
+
+2017-03-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/79038
+	* config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
+	insns to convert from signed/unsigned char/short to IEEE 128-bit
+	floating point.
+	(floatuns<QHI:mode><IEEE128:mode>2): Likewise.
+
+2017-03-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/80019
+	* config/i386/i386.c (ix86_vector_duplicate_value): Create
+	subreg of inner mode for values already in registers.
+
+2017-03-15  Bernd Schmidt  <bschmidt@redhat.com>
+
+	* config/c6x/c6x.c (hwloop_optimize): Handle case where the old
+	iteration reg is used after the loop.
+
+2017-03-14  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/79800
+	* gimple-ssa-sprintf.c (format_floating: Add argument.  Handle
+	precision in negative-positive range.
+	(format_floating): Call non-const overload with adjusted precision.
+
+2017-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/79947
+	* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
+	-mpowerpc-gfxopt.
+
+2017-03-14  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/80020
+	* builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
+	* builtins.def (aligned_alloc): Use it.
+
+	PR c/79936
+	* Makefile.in (GTFILES): Add calls.c.
+	* calls.c: Include "gt-calls.h".
+
+2017-03-14  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/79728
+	* regs.h (struct target_regs): New field
+	x_contains_allocatable_regs_of_mode.
+	(contains_allocatable_regs_of_mode): New macro.
+	* reginfo.c (init_reg_sets_1): Initialize it, and change
+	contains_reg_of_mode so it includes global regs as well.
+	* reload.c (push_reload): Use contains_allocatable_regs_of_mode
+	rather than contains_regs_of_mode.
+
+2017-03-14  Martin Liska  <mliska@suse.cz>
+
+	* doc/invoke.texi: Document options that can't be combined with
+	-fcheck-pointer-bounds.
+
+2017-03-14  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/79831
+	* doc/invoke.texi (-Wchkp): Document the option.
+
+2017-03-14  Martin Liska  <mliska@suse.cz>
+
+	* Makefile.in: Install gcov-dump.
+
+2017-03-14  Martin Liska  <mliska@suse.cz>
+
+	* multiple_target.c (expand_target_clones): Bail out for
+	an invalid attribute.
+
+2017-03-14  Richard Biener  <rguenther@suse.de>
+
+	* alias.c (struct alias_set_entry): Pack properly.
+	* cfgloop.h (struct loop): Likewise.
+	* cse.c (struct set): Likewise.
+	* ipa-utils.c (struct searchc_env): Likewise.
+	* loop-invariant.c (struct invariant): Likewise.
+	* lra-remat.c (struct cand): Likewise.
+	* recog.c (struct change_t): Likewise.
+	* rtl.h (struct address_info): Likewise.
+	* symbol-summary.h (function_summary): Likewise.
+	* tree-loop-distribution.c (struct partition): Likewise.
+	* tree-object-size.c (struct object_size_info): Likewise.
+	* tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
+	* tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
+	* tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
+	* tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
+	* tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
+	* tree-vectorizer.h (struct _loop_vec_info): Likewise.
+	(struct _stmt_vec_info): Likewise.
+
+2017-03-14  Martin Liska  <mliska@suse.cz>
+
+	PR target/79892
+	* multiple_target.c (create_dispatcher_calls): Check that
+	a target can create a function dispatcher.
+
+2017-03-14  Martin Liska  <mliska@suse.cz>
+
+	PR lto/66295
+	* multiple_target.c (expand_target_clones): Drop local.local
+	flag for default implementation.
+
+2017-03-14  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/80030
+	* tree-vect-stmts.c (vectorizable_store): Plug memleak.
+
+2017-03-13  Kito Cheng  <kito.cheng@gmail.com>
+
+	* config/riscv/riscv.c (riscv_emit_float_compare>: Use
+	gcc_fallthrough() instead of __attribute__((fallthrough));
+
+2017-03-13  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/gcc.texi: Remove "up" link to (DIR).
+	* doc/gccint.texi: Ditto.
+
+2017-03-13  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific) <avr>: Remove reference to
+	binutils 2.13.
+
+2017-03-13  Jeff Law  <law@redhat.com>
+
+	* config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
+	attribute rather than comments.
+
+	* config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to
+	match_scratch operand is highest.
+
+2017-03-13  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/78339
+	* ipa-pure-const.c (warn_function_noreturn): If the declarations
+	is a CHKP clone, use original declaration.
+
+2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_init): Use multiplier whenever we have it.
+	(arc_conditional_register_usage): Use a different allocation order
+	when optimizing for size.
+	* common/config/arc/arc-common.c (arc_option_optimization_table):
+	Section anchors default on when optimizing for size.
+
+2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (*tst_bitfield_tst): Fix pattern.
+
+2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_output_addsi): Emit code density adds.
+	* config/arc/arc.md (cpu_facility): Add cd variant.
+	(*movqi_insn): Add code density variant.
+	(*movhi_insn): Likewise.
+	(*movqi_insn): Likewise.
+	(*addsi3_mixed): Likewise.
+	(subsi3_insn): Likewise.
+
+2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.md (movsi_cond_exec): Update constraint.
+
+2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
+	expressions with MINUS and UNARY ops.
+
+2017-03-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/79911
+	* config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3):
+	Rename to...
+	(vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch
+	between vec_select and vector argument.
+	(vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to...
+	(vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise.
+	(vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to...
+	(vec_sel_widen_usum_lo<mode><V_half>3): ... This.
+	(vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to...
+	(vec_sel_widen_usum_hi<mode><V_half>3): ... This.
+
+2017-03-13  Richard Biener  <rguenther@suse.de>
+
+	PR other/79991
+	* params.def (vect-max-peeling-for-alignment): Fix typo.
+
+2017-03-12  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific) <mips-*-*>: Remove description of
+	issue that only occurred with binutils below 2.18.
+
+2017-03-12  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific) <cris-axis-elf>: No longer
+	refer to binutils 2.11/2.12 minimum.
+
+2017-03-12  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific) <powerpc-*-*>: Remove link to
+	ftp.kernel.org and simplify binutils requirement.
+
+2017-03-11  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/invoke.texi (Warning Options): Fix spelling of link-time
+	optimization.
+	(Optimize Options): Ditto.  Also remove redundancy.
+
+2017-03-10  David Malcolm  <dmalcolm@redhat.com>
+
+	PR translation/79848
+	* ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to
+	"%qs".
+	* ipa-pure-const.c (suggest_attribute): Likewise.  Convert _
+	to G_ to avoid double translation.
+
+2017-03-10  David Malcolm  <dmalcolm@redhat.com>
+
+	PR translation/79923
+	* auto-profile.c (get_combined_location): Convert leading
+	character of diagnostics to lower case and remove trailing period.
+	(read_profile): Likewise for various diagnostics.
+	* config/arm/arm.c (arm_option_override): Remove trailing period
+	from various diagnostics.
+	* config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise.
+	(msp430_expand_delay_cycles): Likewise.
+
+2017-03-10  David Malcolm  <dmalcolm@redhat.com>
+
+	PR target/79925
+	* config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the
+	full command-line argument, rather than just "str".
+	(aarch64_validate_march): Likewise.
+	(aarch64_validate_mtune): Likewise.
+
+2017-03-10  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/78911
+	* lra-assigns.c (must_not_spill_p): New function.
+	(spill_for): Use it.
+
+2017-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79981
+	* tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of
+	ATOMIC_COMPARE_EXCHANGE ifn result.
+	(stmt_interesting_for_vrp, vrp_visit_stmt): Handle
+	IFN_ATOMIC_COMPARE_EXCHANGE.
+
+2017-03-10  David Malcolm  <dmalcolm@redhat.com>
+
+	PR driver/79875
+	* opts.c (parse_sanitizer_options): Add missing question mark to
+	"did you mean" message.
+
+2017-03-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned
+	built-in.
+	(VMULEUH_UNS): Likewise.
+	(VMULOUB_UNS): Likewise.
+	(VMULOUH_UNS): Likewise.
+	* config/rs6000/rs6000.c (builtin_function_type): Remove
+	references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS.
+
+2017-03-10  David Malcolm  <dmalcolm@redhat.com>
+
+	PR bootstrap/79952
+	* read-rtl-function.c (function_reader::read_rtx_operand): Update
+	x with result of extra_parsing_for_operand_code_0.
+	(function_reader::extra_parsing_for_operand_code_0): Convert
+	return type from void to rtx, returning x.  When reading
+	SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the
+	larger size containing struct block_symbol.
+
+2017-03-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
+	-mfloat128-hardware without -m64.
+
+2017-03-10  Will Schmidt <will_schmidt@vnet.ibm.com>
+
+	PR target/79941
+	* config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB]
+	entries to the case statement that marks unsigned arguments to
+	overloaded functions.
+
+2017-03-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
+	two typographic errors in the handling of TARGET_UPPER_REGS_DI.
+
+2017-03-10  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR target/79907
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
+	TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
+
+2017-03-10  Martin Liska  <mliska@suse.cz>
+
+	PR target/65705
+	PR target/69804
+	* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
+	* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
+	FIELD != NULL.
+
+2017-03-10  Olivier Hainque  <hainque@adacore.com>
+
+	* tree-switch-conversion (array_value_type): Start by resetting
+	candidate type to it's main variant.
+
+2017-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/79909
+	* combine.c (try_combine): Use simplify_replace_rtx on individual
+	CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
+	of the whole CALL_INSN_FUNCTION_USAGE.
+
+	PR tree-optimization/79972
+	* gimple-ssa-warn-alloca.c (alloca_call_type): Only call
+	get_range_info on SSA_NAMEs.  Formatting fixes.
+
+2017-03-10  Richard Biener  <rguenther@suse.de>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/77975
+	* tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
+	edge to be constant.
+	(get_val_for): For constant x return it.  Formatting fix.
+	(loop_niter_by_eval): Avoid pointless looping if the next iteration
+	would use the same bases as the current one.
+
+2017-03-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
+	instead of vec_select for V1TImode.
+	* conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
+	longer needed.
+	(VSX_LE_128): Add V1TI to this mode iterator.
+	(*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
+	(*vsx_le_perm_store_<mode>): Likewise.
+	(pre-reload splitter for VSX stores): Likewise.
+	(post-reload splitter for VSX stores): Likewise.
+	(*vsx_xxpermdi2_le_<mode>): Likewise.
+	(*vsx_lxvd2x2_le_<mode>): Likewise.
+	(*vsx_stxvd2x2_le_<mode>): Likewise.
+
+2017-03-09  Michael Eager  <eager@eagercon.com>
+
+	Correct failures with --enable-checking=yes,rtl.
+
+	* config/microblaze/microblaze.c (microblaze_expand_shift):
+	Replace GET_CODE test with CONST_INT_P and INTVAL test with
+	test for const0_rtx.
+	* config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone,
+	lshrsi3_byone): Replace INTVAL with test for const1_rtx.
+
+2017-03-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79977
+	* graphite-scop-detection.c (scop_detection::merge_sese):
+	Handle the case of extra exits to blocks dominating the entry.
+
+2017-03-09  Toma Tabacu  <toma.tabacu@imgtec.com>
+
+	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
+	Document rdynamic.
+
+2017-03-09  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/79949
+	* lra-constraints.c (process_alt_operands): Check memory when
+	trying to predict a cycle.  Print about the overall increase.
+
+2017-03-09  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/79971
+	* gimple-expr.c (useless_type_conversion_p): Preserve
+	TYPE_SATURATING for fixed-point types.
+
+2017-03-09  Richard Biener  <rguenther@suse.de>
+
+	PR ipa/79970
+	* ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
+	alignment of BLKmode params.
+
+2017-03-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/79913
+	* config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator.
+	(VALL_NO_V2Q): Likewise.
+	(VDQF_DF): Delete.
+	* config/aarch64/aarch64-simd.md
+	(aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q
+	iterator.
+	(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use
+	VALL_NO_V2Q mode iterator.
+	(*aarch64_vgetfmulx<mode>): Use VDQF iterator.
+
+2017-03-09  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/79631
+	* tree-chkp-opt.c (chkp_is_constant_addr): Call
+	tree_int_cst_sign_bit just for INTEGER constants.
+
+2017-03-09  Martin Liska  <mliska@suse.cz>
+
+	PR target/65705
+	PR target/69804
+	* toplev.c (process_options): Disable -fcheck-pointer-bounds with
+	sanitizers.
+
+2017-03-09  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/79672
+	* tree.c (inchash::add_expr): Handle TREE_VEC.
+
+2017-03-09  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/79764
+	(chkp_narrow_size_and_offset): New function.
+	(chkp_parse_array_and_component_ref): Support BIT_FIELD_REF.
+	(void chkp_parse_bit_field_ref): New function.
+	(chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF.
+	(chkp_process_stmt): Use chkp_parse_bit_field_ref.
+
+2017-03-09  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/79761
+	* tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
+	(chkp_find_bounds_1): Remove gcc_unreachable.
+
+2017-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/79944
+	* asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
+	BUILT_IN_SYNC*, determine the access type from the size suffix and
+	always build a MEM_REF with that type.  Handle forgotten
+	BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.
+
+	PR target/79932
+	* config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
+	_mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
+	_mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
+	_mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
+	_mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
+	_mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
+	_mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
+	_mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
+	_mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
+	_mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
+	_mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
+	_mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
+	_mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
+	_mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
+	_mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
+	_mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
+	_mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
+	_mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
+	_mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
+	_mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
+	_mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
+	_mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
+	_mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
+	_mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
+	_mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
+	_mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
+	_mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
+	_mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
+	_mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
+	_mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
+	definitions outside of __OPTIMIZE__ guarded section.
+
+	PR target/79932
+	* config/i386/avx512bwintrin.h (_mm512_packs_epi32,
+	_mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
+	_mm512_packus_epi32, _mm512_maskz_packus_epi32,
+	_mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
+	guarded section.
+
+2017-03-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vx-builtins.md ("vfee<mode>", "vfeez<mode>")
+	("vfenez<mode>"): Add missing constraints.
+
+2017-03-08  Martin Sebor  <msebor@redhat.com>
+
+	PR target/79928
+	* config/nds32/nds32.c (nds32_option_override):
+	Fix misspelled diagnostic.
+
+2017-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/79940
+	* gimplify.c (gimplify_omp_for): Replace index var in outer
+	taskloop statement with an artificial variable and add
+	OMP_CLAUSE_PRIVATE clause for it.
+
+2017-03-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79955
+	* tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
+	for accesses that are completely outside of the variable.
+
+2017-03-08  Andrew Haley  <aph@redhat.com>
+
+	PR tree-optimization/79943
+	* tree-ssa-loop-split.c (compute_new_first_bound): When
+	calculating the new upper bound, (END-BEG) should be added, not
+	subtracted.
+
+2017-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/avr/avr.md (setmemhi): Make sure match_dup
+	operand number comes before match_scratch.
+
+2017-03-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79920
+	* tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline
+	with ncopies == 1 to ...
+	(vect_transform_slp_perm_load): ... here.  Properly compute
+	all element loads by iterating VF times over the group.  Do
+	not handle ncopies (computed in a broken way) in
+	vect_create_mask_and_perm.
+
+2017-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/79904
+	* internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1
+	is a uniform vector, use uniform_vector_p return value instead of
+	building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type.
+
+2017-03-07  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/79809
+	* gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT.
+	(alloca_call_type): Likewise.
+
+2017-03-07  Martin Liska  <mliska@suse.cz>
+
+	* gcov.c (process_args): Put comment to correct location.
+
+2017-03-07  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/68270
+	* tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref.
+	Use array_at_struct_end_p instead of DECL_CHAIN (field).
+	(chkp_narrow_bounds_for_field): Likewise.
+	(chkp_parse_array_and_component_ref): Pass one more argument to
+	call.
+
+2017-03-07  Richard Biener  <rguenther@suse.de>
+
+	* tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
+	preheaders.
+
+2017-03-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/i386/i386.c (ix86_local_alignment): Align most aggregates
+	of 16 bytes and more to 16 bytes, not those of 16 bits and more.
+
+2017-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR c/79855
+	* params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop
+	to end of description.
+	(PARAM_MAX_STORES_TO_MERGE): Likewise.
+
+2017-03-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/79901
+	* config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
+	...
+	(*avx512f_<code><mode>3<mask_name>): ... this.
+	(<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
+	iterator instead of VI8_AVX2_AVX512BW.
+
+	PR rtl-optimization/79901
+	* expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
+	min/max expander, expand it using expand_vec_cond_expr.
+
+	PR sanitizer/79897
+	* ubsan.c (ubsan_encode_value): Call mark_addressable on the
+	temporary.
+
+2017-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/79821
+	* dwarf2out.h (dw_vec_const): Change array type from unsigned char *
+	to void * for PCH reasons.
+	* dwarf2out.c (output_loc_operands, output_die): Cast
+	v.val_vec.array to unsigned char *.
+
+2017-03-06  John David Anglin  <danglin@gcc.gnu.org>
+
+	PR target/77850
+	* config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
+	vector types.
+
+2017-03-06  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/79571
+	* lra-constraints.c (process_alt_operands): Calculate static
+	reject and subtract it from overall when only addresses will be
+	reloaded.
+
+2017-03-06  Julia Koval  <julia.koval@intel.com>
+
+	PR target/79793
+	* config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set
+	incoming stack boundary to 128 for 64-bit targets.
+
+2017-03-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79894
+	* tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
+	to NULL after folding it.
+
+2017-03-06  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79824
+	* tree-vect-stmts.c (get_group_load_store_type): Fix alignment
+	check disabling peeling for gaps.
+
+2017-03-06  Toma Tabacu  <toma.tabacu@imgtec.com>
+
+	* doc/sourcebuild.texi (Effective-Target Keywords, Environment
+	attributes): Document gettimeofday.
+
+2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_option_override_internal): Set
+	PARAM_MIN_VECT_LOOP_BOUND
+
+2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
+	* config/s390/s390.md: Likewise.
+
+2017-03-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79812
+	* config/i386/sse.md (VI8F_256_512): Remove mode iterator.
+	(<avx2_avx512>_perm<mode>): Rename to ...
+	(avx2_perm<mode>): ... this.  Use VI8F_256 iterator instead
+	of VI8F_256_512.
+	(<avx512>_perm<mode>_mask): Rename to ...
+	(avx512vl_perm<mode>_mask): ... this.  Use VI8F_256 iterator instead
+	of VI8F_256_512.
+	(<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
+	(avx2_perm<mode>_1<mask_name): ... this.  Use VI8F_256 iterator
+	instead of VI8F_256_512.
+	(avx512f_perm<mode>): New define_expand.
+	(avx512f_perm<mode>_mask): Likewise.
+	(avx512f_perm<mode>_1<mask_name>): New define_insn.
+	(<avx512>_vec_dup<mode>_1): Fix up vec_select mode.
+
+2017-03-06  Prachi Godbole  <prachi.godbole@imgtec.com>
+
+	* config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
+	msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
+	if_then_else.
+	(smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.
+
+2017-03-06  Martin Liska  <mliska@suse.cz>
+
+	PR sanitize/79783
+	* asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
+	when having a SSA NAME w/o VAR_DECL assigned to it.
+
+2017-03-06  Prachi Godbole  <prachi.godbole@imgtec.com>
+
+	* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
+	msa_dpsub_<su>_d): Fix MODE for vec_select.
+
+2017-03-06  Prachi Godbole  <prachi.godbole@imgtec.com>
+
+	* config/mips/mips.c (mips_gen_const_int_vector): Change type of last
+	argument.
+	* config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
+
+2017-03-06  Richard Biener  <rguenther@suse.de>
+
+	* lto-streamer.c (lto_check_version): Use %qs in diagnostics.
+	* plugin.c (register_plugin_info): Likewise.
+	* tree-chkp.c (chkp_make_static_const_bounds): Likewise.
+
+2017-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/sse.md (sse_storehps, sse_storelps,
+	avx_<castmode><avxsizesuffix>_<castmode>,
+	avx512f_<castmode><avxsizesuffix>_<castmode>,
+	avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
+	in condition that at least one operand is not a MEM.
+
+2017-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/79805
+	* internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET,
+	ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove
+	ECF_NOTHROW.
+	* gimple-fold.c (fold_builtin_atomic_compare_exchange): Set
+	gimple_call_nothrow_p flag based on whether original builtin can throw.
+	If it can, emit following stmts on the fallthrough edge.
+	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except
+	don't create new bb if inserting just debug stmts on the edge, try to
+	insert them on the fallthru bb or just reset debug stmts.
+
+2017-03-03  Segher Boesssenkool  <segher@kernel.crashing.org>
+
+	PR target/43763
+	* config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and
+	restore recog_data (including the operand rtxes inside it) around
+	the call to get_insn_template.
+
+2017-03-03  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/79699
+	* context.c (context::~context): Free MPFR caches to avoid
+	a memory leak on program exit.
+
+2017-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_float_const_representable_p):
+	Use wide_int::ulow () instead of .elt (0).
+
+2017-03-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*pushtf): Change *roF constraint to *roC.
+	(*pushxf): Limit oF constraint to 32bit targets and add oC
+	constraint for 64bit targets.
+	(pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment.
+	(*pushdf): Change rmF constraint to rmC.
+
+2017-03-03  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute):
+	Remove unused variable.
+
+2017-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79807
+	* config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
+	is a memory operand, increase num_memory.
+	(ix86_expand_args_builtin): Likewise.
+
+2017-03-03  Jan Hubicka  <jh@suse.cz>
+
+	PR lto/79760
+	* ipa-devirt.c (maybe_record_node): Properly handle
+	__cxa_pure_virtual visibility.
+
+2017-03-03  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/79803
+	* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
+	assert.
+	(pass_loop_prefetch::execute): Disabled optimization if an
+	assumption about L1 cache size is not met.
+
+2017-03-03  Martin Liska  <mliska@suse.cz>
+
+	PR rtl-optimization/79574
+	* gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
+	(hash_scan_set): Likewise.
+	(dump_hash_table): Likewise.
+	(hoist_code): Likewise.
+
+2017-03-03  Richard Biener  <rguenther@suse.de>
+
+	* fixed-value.c (fixed_from_string): Restore use of elt (1)
+	in place of uhigh ().
+	(fixed_convert_from_real): Likewise.
+
+2017-03-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/79514
+	* config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.
+
+2017-03-03  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/79818
+	* match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing
+	TYPE_OVERFLOW_UNDEFINED check.
+
+2017-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
+	numbers.
+	(vector_ae_<mode>_p): Likewise.
+	(vector_nez_<mode>_p): Likewise.
+	(vector_ne_v2di_p): Likewise.
+	(vector_ae_v2di_p): Likewise.
+	(vector_ne_<mode>_p): Likewise.
+	* config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
+	numbers.
+	(vsx_tsqrt<mode>2_fe): Likewise.
+
+2017-03-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/79514
+	* config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
+
+2017-03-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/79780
+	* cprop.c (one_cprop_pass): When second and further conditional trap
+	in a single basic block is turned into an unconditional trap, turn it
+	into a deleted note to avoid RTL verification failures.
+
+2017-03-02  Richard Biener  <rguenther@suse.de>
+
+	* fold-const.c (const_binop): Use ulow () instead of elt (0).
+
+2017-03-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79345
+	PR c++/42000
+	* tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
+	param and abort the walk, returning -1 if it is hit.
+	(walk_aliased_vdefs): Take a limit param and pass it on.
+	* tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
+	defaulting to 0 and return a signed int.
+	* tree-ssa-uninit.c (struct check_defs_data): New struct.
+	(check_defs): New helper.
+	(warn_uninitialized_vars): Use walk_aliased_vdefs to warn
+	about uninitialized memory.
+	* fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
+	bogus uninitialized warning.
+	(fixed_convert_from_real): Likewise.
+
+2017-03-02  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/66768
+	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
+	iv_use if base object can't be determined.
+
+2017-03-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79345
+	* gensupport.h (struct pattern_stats): Add min_scratch_opno field.
+	* gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it.
+	(get_pattern_stats): Initialize it.
+	* genemit.c (gen_expand): Verify match_scratch numbers come after
+	match_operand/match_dup numbers.
+	* config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and
+	match_scratch numbers.
+	* config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>):
+	Likewise.
+	* config/s390/s390.md (trunctdsd2): Likewise.
+
+2017-03-02  Richard Biener  <rguenther@suse.de>
+
+	* wide-int.h (wide_int_storage::operator=): Implement in terms
+	of wi::copy.
+
+2017-03-02  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79777
+	* tree-ssa-pre.c (eliminate_insert): Give up if we simplify
+	the to insert expression to sth existing.
+
+2017-03-01  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/79692
+	* gimple-ssa-sprintf.c
+	(directive::known_width_and_precision): New function.
+	(format_integer): Use it.
+	(get_mpfr_format_length): Consider the full range of precision
+	when computing %g output with the # flag.  Set the likely byte
+	count to 3 rather than 1 when precision is indeterminate.
+	(format_floating): Correct the lower bound of precision.
+
+2017-03-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* doc/invoke.texi: Document default code model for 64-bit Linux.
+
+2017-03-01  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/79752
+	* config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
+	udiv rather than div since input pattern is unsigned.
+
+2017-03-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (print_reg): Warn for values of
+	unsupported size in integer register.
+
+2017-03-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/79439
+	* config/rs6000/predicates.md (current_file_function_operand): Do
+	not allow self calls to be local if the function is replaceable.
+
+2017-03-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR target/79395
+	* config/rs6000/altivec.h (vec_ctz and others): Change the
+	preprocessor macro that controls conditional compilation from
+	_ARCH_PWR9 to __POWER9_VECTOR__.
+	(vec_all_ne): Change parameterization of __altivec_scalar_pred
+	macro expansion under preprocessor #ifdef __POWER9_VECTOR__
+	control (instead of _ARCH_PWR9 control) so that template
+	definition uses power9-specific function.
+	(vec_any_eq): Likewise.
+	(vec_all_ne): Change macro definition to use a power9-specific
+	expansion under #ifdef __POWER9_VECTOR__ control (instead of
+	_ARCH_PWR9 control).
+	(vec_any_eq) Likewise.
+	* config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2
+	expansion for CMPNEF to remove support for xvcmpnesp instruction.
+	(CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove
+	support for xvcmpnedp instruction.
+	(VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2
+	macro expansion so that Power9 implementation of vec_all_ne does
+	not use the AltiVec predicate framework.
+	(VCMPNEH_P): Likewise.
+	(VCMPNEW_P): Likewise.
+	(VCMPNED_P): Likewise.
+	(VCMPNEFP_P): Likewise.
+	(VCMPNEDP_P): Likewise.
+	(VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change
+	implementation of vec_any_eq to not use AltiVec predicate
+	framework.
+	(VCMPAEH_P): Likewise.
+	(VCMPAEW_P): Likewise.
+	(VCMPAED_P): Likewise.
+	(VCMPAEFP_P): Likewise.
+	(VCMPAEDP_P): Likewise.
+	(VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with
+	BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does
+	not use the AltiVec predicate framework.
+	(VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation
+	of vec_any_eq to not use AltiVec predicate framework.
+	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
+	support for predefined __POWER9_VECTOR__ macro to indicate that
+	Power9 instruction selection is enabled.
+	(altivec_overloaded_builtins): Remove extraneous
+	ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded
+	function argument types RS6000_BTI_bool_V16QI and
+	RS6000_BTI_bool_V16QI.  Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE
+	entry for overloaded function argument types RS6000_BTI_bool_V4SI
+	andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB.  Remove
+	two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to
+	P9V_BUILTIN_CMPNEF to force use of instructions not specific to
+	Power9 for implementations of vec_cmpne.  Change the signature for
+	all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function
+	(representing vec_all_ne) to remove the previously described first
+	argument of type RS6000_BTI_INTSI, as this was an artifact of
+	reliance on the AltiVec predicate framework, which is no longer
+	used in the implementation of these functions.  Add
+	P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq
+	function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries
+	since, unlike the AltiVec predicate framework implementation, we
+	do not share function descriptors between vec_alle and vec_anyeq.
+	(altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the
+	set of modes that receive special treatment even when
+	TARGET_P9_VECTOR is true.  The special treatment emits code that
+	does not depend on Power9 instructions.
+	* config/rs6000/vector.md (vector_ne_<mode>_p): Change this
+	define_expand to not rely on AltiVec predicate framework.
+	(vector_ae_<mode>p): New define_expand to represent vec_any_eq
+	function.
+	(vector_ne_v2di_p): Change this define_expand to not rely on
+	AltiVec predicate framework.
+	(vector_ae_v2di_p): New define_expand to represent vec_any_eq
+	function.
+	(vector_ne_<mode>_p): Change this define_expand to not rely on
+	AltiVec predicate framework.
+	(vector_ae_<mode>p): New define_expand to represent vec_any_eq
+	function.
+	* config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I
+	(V16QI, V8HI, V4SI), correct a typo in the code emitted for this
+	define_insn pattern.
+	(*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this
+	define_insn pattern because the xvcmpne<VSs>. instruction is not
+	supported.
+	(vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs>
+	instruction is not supported.
+
+2017-03-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/nvptx/nvptx.c: Include intl.h.
+
+2017-03-01  Martin Jambor  <mjambor@suse.cz>
+
+	PR lto/78140
+	* ipa-prop.h (ipa_bits): Removed field known.
+	(ipa_jump_func): Removed field vr_known.  Changed fields bits and m_vr
+	to pointers.  Adjusted their comments to warn about their sharing.
+	(ipcp_transformation_summary): Change bits to a vector of pointers.
+	(ipa_check_create_edge_args): Moved to ipa-prop.c, declare.
+	(ipa_get_ipa_bits_for_value): Declare.
+	* tree-vrp.h (value_range): Mark as GTY((for_user)).
+	* ipa-prop.c (ipa_bit_ggc_hash_traits): New.
+	(ipa_bits_hash_table): Likewise.
+	(ipa_vr_ggc_hash_traits): Likewise.
+	(ipa_vr_hash_table): Likewise.
+	(ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr
+	being pointers and vr_known being removed.
+	(ipa_set_jf_unknown): Likewise.
+	(ipa_get_ipa_bits_for_value): New function.
+	(ipa_set_jfunc_bits): Likewise.
+	(ipa_get_value_range): New overloaded functions.
+	(ipa_set_jfunc_vr): Likewise.
+	(ipa_compute_jump_functions_for_edge): Use the above functions to
+	construct bits and vr parts of jump functions.
+	(ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate
+	ipa_bits_hash_table and ipa_vr_hash_table if they do not already
+	exist.
+	(ipcp_grow_transformations_if_necessary): Also allocate
+	ipa_bits_hash_table and ipa_vr_hash_table if they do not already
+	exist.
+	(ipa_node_params_t::duplicate): Do not copy bits, just pointers to
+	them.  Fix too long lines.
+	(ipa_write_jump_function): Adjust for bits and m_vr being pointers and
+	vr_known being removed.
+	(ipa_read_jump_function): Use new setter functions to construct bits
+	and vr parts of jump functions or set them to NULL.
+	(write_ipcp_transformation_info): Adjust for bits being pointers.
+	(read_ipcp_transformation_info): Likewise.
+	(ipcp_update_bits): Likewise.  Fix excessively long lines a trailing
+	space.
+	Include gt-ipa-prop.h.
+	* ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits
+	being pointers.
+	(ipcp_store_bits_results): Likewise.
+	(propagate_vr_across_jump_function): Adjust for m_vr being a pointer.
+	Do not write to existing jump functions but use a temporary instead.
+
+2017-03-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/79681
+	* fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
+	attempt to use its first operand as BIT_FIELD_REF base.
+
+2017-03-01  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/79721
+	* tree-chrec.c (chrec_evaluate): Perform computation of Newtons
+	interpolating formula in wrapping arithmetic.
+	(chrec_apply): Convert chrec_evaluate return value to wanted type.
+
+2017-03-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79734
+	* tree-vect-generic.c (expand_vector_condition): Optimize
+	AVX512 vector boolean VEC_COND_EXPRs into bitwise operations.
+	Handle VEC_COND_EXPR where comparison has different inner width from
+	type's inner width.
+
+2017-02-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (ARC Options): Copy-edit to fix punctuation,
+	markup, and similar issues.  Remove @opindex entries for things
+	that aren't options.  Add missing -mmpy-option entries.
+
+2017-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79737
+	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is
+	a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear
+	tmpbuf[byte_size - 1].  Call natice_encode_expr with byte_size - 1
+	instead of byte_size.  Formatting fix.
+	(shift_bytes_in_array_right): Formatting fix.
+
+2017-02-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/79749
+	* config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
+	condition on optimize for the leaf function test.
+
+2017-02-28  Martin Liska  <mliska@suse.cz>
+
+	PR lto/79625
+	* read-rtl-function.c (function_reader::handle_unknown_directive):
+	Bail out when one uses -flto.
+
+2017-02-28  Martin Liska  <mliska@suse.cz>
+
+	* common.opt: Replace space with tabular for options of <number>
+	type.
+	* config/i386/i386.opt: Show <number> value for
+	-mlarge-data-threshold.
+	* opts.c (print_filtered_help): Do not display number in hexadecimal
+	format.
+
+2017-02-28  Martin Liska  <mliska@suse.cz>
+
+	* common.opt: Fix --help=option -Q for options which are of
+	an enum type.
+
+2017-02-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (print_reg): Error out for values
+	of 8-bit size in invalid integer register.
+
+2017-02-28  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/79691
+	* passes.def (pass_all_optimizations_g): Enable pass_sprintf_length.
+
+2017-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79729
+	* config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
+	gcc_unreachable with output_operand_lossage.
+
+2017-02-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79740
+	* tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant
+	inserts.
+	(visit_nary_op): Insert the nary into the hashtable if we
+	pattern-matched sth.
+	* tree-ssa-pre.c (eliminate_insert): Robustify.
+
+2017-02-28  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/79731
+	* fold-const.c (decode_field_reference): Reject out-of-bound
+	accesses.
+
+2017-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c: Include intl.h.
+	(ix86_option_override_internal): Use cond ? G_("...") : G_("...")
+	instead of just cond ? "..." : "...".
+	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise.
+	* coverage.c (read_counts_file): Likewise.
+	* omp-offload.c: Include intl.h.
+	(oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead
+	of just cond ? "..." : "...".
+	* gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead
+	of just cond ? "..." : "...".
+
+2017-02-28  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/79742
+	* config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for'
+	entry, if present.
+	* config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct
+	'tune for' CPU name.
+	* config/arm/arm-cpu-data.h: Regenerated.
+
+2017-02-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79732
+	* tree-inline.c (expand_call_inline): Do not shadow var.
+
+2017-02-28  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79723
+	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve
+	address-space properly.
+
+2017-02-28  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* doc/optinfo.texi (Optimization groups): Fix option used for
+	OPTGROUP_ALL.
+	* doc/invoke.texi (-fopt-info): Document "omp".
+	* dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
+	(OPTGROUP_ALL): Add OPTGROUP_OMP.
+	* hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
+	* ipa-hsa.c (pass_data_ipa_hsa): Likewise.
+	* omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.
+
+	* dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP.  Adjust
+	all users.
+	* dumpfile.c (optgroup_options): Instead of "openmp", associate
+	OPTGROUP_OMP with "omp".
+
+2017-02-27  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR target/79544
+	* config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD
+	for arithmetic shift of unsigned V2DI.
+
+2017-02-27  Claudiu Zissulescu  <claziss@synopsys.com>
+
+	* config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and
+	arc/linux.h headers.
+	* config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove.
+	(LINK_SPEC): Likewise.
+	(ARC_TLS_EXTRA_START_SPEC): Likewise.
+	(EXTRA_SPECS): Likewise.
+	(STARTFILE_SPEC): Likewise.
+	(ENDFILE_SPEC): Likewise.
+	(LIB_SPEC): Likewise.
+	(TARGET_SDATA_DEFAULT): Likewise.
+	(TARGET_MMEDIUM_CALLS_DEFAULT): Likewise.
+	(MULTILIB_DEFAULTS): Likewise.
+	(DWARF2_UNWIND_INFO): Likewise.
+	* config/arc/big.h: New file.
+	* config/arc/elf.h: Likewise.
+	* config/arc/linux.h: Likewise.
+	* config/arc/t-uClibc: Remove.
+
+2017-02-27  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/77536
+	* tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function.
+	(tree_transform_and_unroll_loop): Use above function to compute the
+	estimated niter of unrolled loop and use it when scaling profile.
+	Also use count info rather than frequency if it's non-zero.
+	* tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration.
+	* tree-vect-loop.c (scale_profile_for_vect_loop): New function.
+	(vect_transform_loop): Call above function.
+
+2017-02-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/45397
+	* tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR.
+	* tree-ssa-sccvn.c (valueized_wider_op): New helper.
+	(visit_nary_op): Add pattern matching for CSEing sign-changed
+	or truncated operations with wider ones.
+
+2017-02-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79690
+	* tree-vect-stmts.c (vectorizable_store): Use vector type
+	built from the DR with address-space.
+
+2017-02-26  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/invoke.texi (Optimize Options): Refine the description
+	of asan-use-after-return.
+
+2017-02-25  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/79584
+	* lra-constraints.c (base_to_reg): Reload ad->base, the entire
+	base, not ad->base_term, the reg within base.  Remove assertion
+	that ad->base == ad->base_term.  Replace gen_int_mode using
+	bogus mode with const0_rtx.
+
+2017-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/79396
+	* tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
+	FMA_EXPR like tcc_binary or tcc_unary.
+
+	* tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
+
+	PR debug/77589
+	* dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value
+	bitfield.
+	(size_of_loc_descr): Handle DW_OP_GNU_variable_value.
+	(output_loc_operands): Handle DW_OP_call_ref and
+	DW_OP_GNU_variable_value.
+	(struct variable_value_struct): New type.
+	(struct variable_value_hasher): Likewise.
+	(variable_value_hash): New variable.
+	(string_types): Remove.
+	(copy_loc_descr): New function.
+	(add_loc_descr_to_each): Clarify comment.  Use copy_loc_descr.
+	(prepend_loc_descr_to_each): New function.
+	(add_loc_list): Fix comment typo.  Use prepend_loc_descr_to_each
+	instead of add_loc_descr_to_each if the first argument is single
+	location list and the second has multiple.
+	(resolve_args_picking_1): Handle DW_OP_GNU_variable_value.
+	(loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value
+	when looking for variable value which doesn't have other location info.
+	(loc_list_from_tree): Formatting fix.
+	(gen_array_type_die): Simplify DW_AT_string_length handling.
+	(adjust_string_types): Remove.
+	(gen_subprogram_die): Don't call adjust_string_types nor test/set
+	string_types.  Call resolve_variable_values.
+	(prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value.
+	(resolve_addr_in_expr): Likewise.  Add A argument.
+	(copy_deref_exprloc): Remove deref argument.  Adjust for the
+	original expression being DW_OP_GNU_variable_value with optionally
+	DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref
+	optionally after it.
+	(optimize_string_length): Rework for DW_OP_GNU_variable_value.
+	(resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr
+	callers.  Set remove_AT_byte_size if removing DW_AT_string_length.
+	(variable_value_hasher::hash, variable_value_hasher::equal): New
+	methods.
+	(resolve_variable_value_in_expr, resolve_variable_value,
+	resolve_variable_values, note_variable_value_in_expr,
+	note_variable_value): New functions.
+	(dwarf2out_early_finish): Call note_variable_value on all toplevel
+	DIEs.
+
+2017-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/79677
+	* opts.h (handle_generated_option): Add GENERATED_P argument.
+	* opts-common.c (handle_option): Adjust function comment.
+	(handle_generated_option): Add GENERATED_P argument, pass it to
+	handle_option.
+	(control_warning_option): Pass false to handle_generated_option
+	GENERATED_P.
+	* opts.c (maybe_default_option): Pass true to handle_generated_option
+	GENERATED_P.
+	* optc-gen.awk: Likewise.
+
+2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of
+	a REG, look at the REG it is a SUBREG of.
+	(splitter for cmpeqsi_t): Ditto.
+
+2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/pa/pa.c (pa_combine_instructions): Do not share RTL.  Make
+	the special USEs with the pattern of the insn, not the insn itself.
+
+2017-02-24  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	PR target/79473
+	* doc/invoke.texi: Document -mload-store-pairs.
+
+2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
+	    Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/nios2/nios2.c (nios2_simple_const_p): Returns false if the
+	argument isn't a CONST_INT.
+	(nios2_alternate_compare_const): Assert op is a CONST_INT.
+	(nios2_valid_compare_const_p): Assert op is a CONST_INT.
+	(nios2_validate_compare): Bypass alternate compare logic if *op2
+	is not a CONST_INT.
+	(ldstwm_operation_p): Return false if first_base is not a REG or
+	if first_offset is not a CONST_INT.
+
+2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/cris/cris.md: Use correct operand in a define_peephole2.
+
+2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.
+
+2017-02-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of
+	this_insn if it is an INSN or JUMP_INSN.
+	(force_offsettable): Look at base, not at addr.
+	* config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL
+	on things that aren't necessarily CONST_INTs.
+
+2017-02-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	* doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
+	-mfpmath=sse is the default also for x86-32 targets with SSE2
+	instruction set when @option{-ffast-math} is enabled
+
+2017-02-24  Jeff Law  <law@redhat.com>
+
+	PR rtl-optimizatoin/79286
+	* ira.c (update_equiv_regs): Drop may_trap_p exception to
+	dominance test.
+
+2017-02-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79389
+	* gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
+	debug insns.
+
+2017-02-24  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
+	function comment to reflect reality.
+	(loop_exits_before_overflow): Fix typo in function description.
+
+2017-02-24  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79389
+	* gimple-ssa-split-paths.c (is_feasible_trace): Verify more
+	properly that a threading opportunity exists.  Detect conditional
+	copy/constant propagation opportunities.
+
+2017-02-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/visium/visium.md (type): Add trap.
+	(b): New mode attribute.
+	(*btst): Rename into...
+	(*btst<mode>): ...this and adjust.
+	(*cbranchsi4_btst_insn): Rename into...
+	(*cbranch<mode>4_btst_insn): ...this and adjust.
+	(trap): New define_insn.
+
+2017-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79389
+	* ifcvt.c (struct noce_if_info): Add rev_cond field.
+	(noce_reversed_cond_code): New function.
+	(noce_emit_store_flag): Use rev_cond if non-NULL instead of
+	reversed_comparison_code.  Formatting fix.
+	(noce_try_store_flag): Test rev_cond != NULL in addition to
+	reversed_comparison_code.
+	(noce_try_store_flag_constants): Likewise.
+	(noce_try_store_flag_mask): Likewise.
+	(noce_try_addcc): Use rev_cond if non-NULL instead of
+	reversed_comparison_code.
+	(noce_try_cmove_arith): Likewise.  Formatting fixes.
+	(noce_try_minmax, noce_try_abs): Clear rev_cond.
+	(noce_find_if_block): Initialize rev_cond.
+	(find_cond_trap): Call noce_get_condition with then_bb == trap_bb
+	instead of false as last argument never attempt to reverse it
+	afterwards.
+
+2017-02-23  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/79663
+	* tree-predcom.c (combine_chains): Process refs in reverse order
+	only for ZERO length chains, and add explaining comment.
+
+2017-02-23  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/79578
+	* tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF
+	in call to operand_equal_p.
+
+2017-01-23  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR target/71017
+	* config/i386/cpuid.h: Fix another undefined behavior.
+
+2017-02-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79683
+	* tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite
+	vector types for data-refs.
+
+2017-02-23  Martin Liska  <mliska@suse.cz>
+
+	* params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0.
+
+2017-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/79665
+	* internal-fn.c (get_range_pos_neg): Moved to ...
+	* tree.c (get_range_pos_neg): ... here.  No longer static.
+	* tree.h (get_range_pos_neg): New prototype.
+	* expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments
+	are known to be in between 0 and signed maximum inclusive, try to
+	expand both unsigned and signed divmod and use the cheaper one from
+	those.
+
+2017-02-22  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/79578
+	* tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p
+	to compare base operands.
+
+2017-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/79211
+	* config/rs6000/rs6000.md (*fsel<SFDF:mode><SFDF2:mode>4): Use
+	gpc_reg_operand instead of fpr_reg_operand.
+
+2017-02-22  Sameera Deshpande  <sameera.deshpande@imgtec.com>
+
+	* config/mips/mips.c (mips_return_in_memory): Force FP
+	vector types to be returned in memory for o32 ABI.
+
+2017-02-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable
+	instead of DW_TAG_member for static data member declarations and don't
+	set no_linkage_name for static inline data members.
+	(gen_member_die): For -gdwarf-5 don't change DW_TAG_variable
+	to DW_TAG_member.
+
+2017-02-22  Martin Liska  <mliska@suse.cz>
+
+	* doc/invoke.texi: Replace inequality signs with square brackets
+	for -Wnormalized.
+
+2017-02-22  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	PR target/78660
+	* lra-constraints.c (simplify_operand_subreg): Handle
+	WORD_REGISTER_OPERATIONS targets.
+
+2017-02-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70465
+	* reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F))
+	and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1)
+	elimination by swapping fld*.
+
+2017-02-22  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79673
+	* tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to
+	convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off
+	irrelevant address-space qualifiers and avoiding a
+	ADDR_SPACE_CONVERT_EXPR from fold_convert.
+
+2017-02-22  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79666
+	* tree-vrp.c (extract_range_from_binary_expr_1): Make sure
+	to not symbolically negate if that may introduce undefined
+	overflow.
+
+2017-02-22  Martin Liska  <mliska@suse.cz>
+
+	PR lto/79587
+	* data-streamer-in.c (streamer_read_gcov_count): Remove assert.
+	* data-streamer-out.c (streamer_write_gcov_count_stream):
+	Likewise.
+	* value-prof.c (stream_out_histogram_value): Make assert more
+	precise based on type of counter.
+
+2017-02-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/79593
+	* config/i386/i386.md (standard_x87sse_constant_load splitter):
+	Use nonimmediate_operand instead of memory_operand for operand 1.
+	(float-extend standard_x87sse_constant_load splitter): Ditto.
+
+2017-02-21  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/79621
+	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore
+	blocks with edges to themselves.
+
+2017-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79633
+	* tree-chkp-opt.c (chkp_optimize_string_function_calls): Use
+	is_gimple_call instead of comparing gimple_code with GIMPLE_CALL.
+	Use gimple_call_builtin_p.
+
+	PR target/79570
+	* sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
+	on temporarily removed DEBUG_INSNs.
+
+	PR tree-optimization/79649
+	* tree-loop-distribution.c (classify_partition): Give up on
+	non-generic address space loads/stores.
+
+2017-02-21  Aldy Hernandez  <aldyh@redhat.com>
+
+	* doc/loop.texi (Loop manipulation): Remove nonexistent
+	tree_ssa_loop_version from the documentation.
+	* cfgloopmanip.c (loop_version): Document CONDITION_BB argument.
+
+2017-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79494
+	* config/i386/i386.c (ix86_expand_split_stack_prologue): Call
+	make_reg_eh_region_note_nothrow_nononlocal on call_insn.
+	* config/rs6000/rs6000.c: Include except.h.
+	(rs6000_expand_split_stack_prologue): Call
+	make_reg_eh_region_note_nothrow_nononlocal on the call insn.
+
+2017-02-21  Martin Jambor  <mjambor@suse.cz>
+
+	PR lto/79579
+	* ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
+	have been analyzed.
+
+2017-02-21  Martin Jambor  <mjambor@suse.cz>
+
+	* common.opt (-fipa-cp-alignment): Mark as ignored and preserved
+	for backward compatibility only.
+	* doc/invoke.texi (Option Summary): Remove all references to
+	-fipa-cp-alignment.
+
+2017-02-21  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	PR target/78660
+	Revert:
+	2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* lra-constraints.c (curr_insn_transform): Handle
+	WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
+
+2017-02-21  Martin Liska  <mliska@suse.cz>
+
+	* config/i386/i386.opt: Replace -masm-dialect with -masm.
+
+2017-02-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR translation/79638
+	* config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".
+
+2017-02-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/67205
+	* config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
+	(arm_function_ok_for_sibcall): Return false for an indirect call by
+	descriptor if all the argument registers are used.
+	(arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the
+	alignment of the function.
+
+2017-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/61441
+	* simplify-rtx.c (simplify_const_unary_operation): For
+	-fsignaling-nans and sNaN operand, return NULL_RTX rather than
+	the sNaN unmodified.
+
+2017-02-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
+	(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
+	instead of SYSTEM_HEADER_DIR.
+
+2017-02-20  Gerald Pfeifer  <gerald@pfeifer.com>
+	    Martin Liška  <mliska@suse.cz>
+
+	* doc/invoke.texi (use-after-scope-direct-emission-threshold):
+	Fix typos and grammar, use active voice, and clarify.
+
+2017-02-20  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/79537
+	* gimplify.c (gimplify_expr): Handle unused *&&L;.
+
+	PR sanitizer/79558
+	* ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
+
+2017-02-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79568
+	* config/i386/i386.c (ix86_expand_builtin): Handle
+	OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
+	ix86_builtins_isa[fcode].isa as a requirement of those
+	flags and any other flag in the bitmask.
+	(ix86_init_mmx_sse_builtins): Use 0 instead of
+	~OPTION_MASK_ISA_64BIT as mask.
+	* config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
+	__builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
+	__builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
+	__builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.
+
+2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	PR target/78012
+	* lra-constraints.c (split_reg): Check requested split mode
+	is supported by the register.
+
+2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* lra-constraints.c (simplify_operand_subreg): Remove early
+	return false.
+
+2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	PR target/78660
+	* lra-constraints.c (curr_insn_transform): Tighten condition
+	for converting SUBREG reloads from OP_OUT to OP_INOUT.
+
+2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	PR target/78660
+	* lra-constraints.c (curr_insn_transform): Handle
+	WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
+
+2017-02-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	Revert:
+	2016-05-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
+
+2017-02-19  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR c++/69523
+	* doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
+	description.
+
+2017-02-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
+	for FMA_EXPR.
+
+2017-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* final.c (last_columnnum, override_columnnum): New variables.
+	(final_start_function): Set last_columnnum, pass it to begin_prologue
+	hook and pass 0 to dwarf2out_begin_prologue.
+	(final_scan_insn): Update override_columnnum.  Pass last_columnnum
+	to source_line debug hook.
+	(notice_source_line): Compute last_columnnum and for debug_column_info
+	return true on column changes.
+	* debug.h (struct gcc_debug_hooks): Add column argument to
+	source_line and begin_prologue hooks.
+	(debug_nothing_int_charstar_int_bool): Remove prototype.
+	(debug_nothing_int_int_charstar,
+	debug_nothing_int_int_charstar_int_bool): New prototypes.
+	(dwarf2out_begin_prologue): Add column argument.
+	* debug.c (do_nothing_debug_hooks): Adjust source_line and
+	begin_prologue hooks.
+	(debug_nothing_int_charstar_int_bool): Remove.
+	(debug_nothing_int_int_charstar,
+	debug_nothing_int_int_charstar_int_bool): New functions.
+	* dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
+	through to dwarf2out_source_line.
+	(dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
+	(dwarf2out_source_line): Add column argument, emit it if requested.
+	* sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
+	arguments.
+	* xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
+	* xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
+	* vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
+	through to dwarf2out_begin_prologue.
+	(vmsdbgout_source_line): Add column argument, pass it through to
+	dwarf2out_source_line.
+	* dbxout.c (dbxout_begin_prologue): Add column argument, adjust
+	dbxout_source_line caller.
+	(dbxout_source_line): Add column argument.
+
+	* common.opt (gno-column-info, gcolumn-info): New options.
+	* dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
+	(check_die): Also test for multiple DW_AT_decl_column attributes.
+	(add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
+	DW_AT_decl_column if requested.
+	(gen_subprogram_die): Compare and/or add also DW_AT_decl_column
+	if requested.
+	(gen_variable_die): Likewise.
+	(add_call_src_coords_attributes): Add DW_AT_call_column if requested.
+	* doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.
+
+	PR target/79569
+	* config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
+	(ix86_handle_option): Handle OPT_m3dnowa.
+	* doc/invoke.texi (-m3dnowa): Document.
+	* doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
+	-m3dnowa instead of -m3dnow -march=athlon.
+
+	PR target/79559
+	* config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
+	instead of gcc_assert for K, r and R code checks.  Formatting fixes.
+
+2017-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/79261
+	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
+	support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
+	* config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
+	generator for vsx_xxpermdi_<mode>_be.
+	* config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
+	force big-endian semantics.
+	(vsx_xxpermdi_<mode>_be): New define_expand with same
+	implementation as previous version of vsx_xxpermdi_<mode>.
+
+2017-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79327
+	* gimple-ssa-sprintf.c (format_integer): Remove likely_adjust
+	variable, its initialization and use.
+
+2017-02-17  Julia Koval  <julia.koval@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
+	(OPTION_MASK_ISA_PKU_UNSET): New.
+	(ix86_handle_option): Handle -mrdpid.
+	* config/i386/cpuid.h (bit_RDPID): New.
+	* config/i386/driver-i386.c (host_detect_local_cpu):
+	Detect RDPID feature.
+	* config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
+	* config/i386/i386-c.c (ix86_target_macros_internal):
+	Handle RDPID flag.
+	* config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
+	(ix86_valid_target_attribute_inner_p): Add "rdpid".
+	(ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
+	* config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
+	* config/i386/i386.md (define_insn "rdpid"): New.
+	* config/i386/i386.opt Add -mrdpid.
+	* config/i386/immintrin.h (_rdpid_u32): New.
+
+2017-02-17  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/79541
+	* lra-constraints.c (curr_insn_transform): Remove wrong asm insn
+	instead of transforming it into USE.
+
+2017-02-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
+	If HONOR_SNANS (SFmode) force the input to a register.
+	(*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition.
+	(*extendsfdf2_snan): New pattern, used when using SNaNs; it generates
+	an frsp or similar insn.
+
+2017-02-17  Martin Liska  <mliska@suse.cz>
+
+	PR rtl-optimization/79577
+	* params.def (selsched-max-sched-times): Increase minimum to 1.
+
+2017-02-17  Martin Liska  <mliska@suse.cz>
+
+	PR rtl-optimization/79574
+	* gcse.c (want_to_gcse_p): Prevent integer overflow.
+
+2017-02-17  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/79529
+	* tree-ssa-loop-unswitch.c (is_maybe_undefined): Use
+	ssa_defined_default_def_p to handle cases which are implicitly
+	defined.
+	* tree-ssa.c (ssa_defined_default_def_p): New function.
+	(ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases
+	which are implicitly defined.
+	* tree-ssa.h (ssa_defined_default_def_p): Declare.
+
+2017-02-17  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/79576
+	* params.def (max-ssa-name-query-depth): Limit to 10.
+
+2017-02-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79552
+	* tree-ssa-structalias.c (visit_loadstore): Properly verify
+	default defs.
+
+2017-02-17  Richard Biener  <rguenther@suse.de>
+
+	PR bootstrap/79567
+	* genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2.
+
+2017-02-17  Marek Polacek  <polacek@redhat.com>
+
+	PR middle-end/79536
+	* fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
+	(fold_negate_expr): New wrapper.
+
+2017-02-16  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]: 
+	Correct terminology and de-emphasize pre-standard behavior.
+
+2017-02-16  Alan Modra  <amodra@gmail.com>
+
+	PR rtl-optimization/79286
+	* ira.c (def_dominates_uses): New function.
+	(update_equiv_regs): Don't create an equivalence for insns that
+	may trap where the register def does not dominate the use.
+
+2017-02-16  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR rtl-optimization/78127
+	* lra.c (lra): Call lra_eliminate before finish the loop after
+	lra_constraint.
+
+2017-02-16  Richard Biener  <rguenther@suse.de>
+
+	* graphite.h: Do not include isl/isl_val_gmp.h, instead include
+	isl/isl_val.h.
+	* graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
+	(gcc_expression_from_isl_expr_int): Use generic isl_val interface.
+	* graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
+	(isl_val_int_from_wi): New function.
+	(extract_affine_gmp): Rename to ...
+	(extract_affine_wi): ... this, take a widest_int.
+	(extract_affine_int): Just wrap extract_affine_wi.
+	(add_param_constraints): Use isl_val_int_from_wi.
+	(add_loop_constraints): Likewise, and extract_affine_wi.
+
+2017-02-15  Jeff Law  <law@redhat.com>
+
+	PR middle-end/79521
+	* ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling
+	ira_init_register_move_cost_if_necessary.
+
+2017-02-15  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/32003
+	* doc/invoke.texi (-fdump-final-insns): Replace option accidentally
+	removed in a prior commit.
+
+2017-02-15  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/79347
+	* tree-vect-loop-manip.c (vect_do_peeling): Maintain profile
+	counters during peeling.
+
+2017-02-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* Makefile.in (site.exp): Remove "set ISLVER".
+
+2017-02-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79487
+	* real.c (real_from_integer): Call real_convert even for decimal.
+
+2017-02-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR target/79421
+	* config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
+
+2017-02-14  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C"
+	cores and change the partno/implementer to be correct.
+	(thunderx2t99p1): New core which replaces thunderx2t99 and still has
+	the 'B" as the implementer.
+	* config/aarch64/aarch64-tune.md: Regenerate.
+
+2017-02-14  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000.c: Add case statement entry to make the
+	xvcvuxdsp built-in argument unsigned.
+	* config/rs6000/vsx.md: Fix the source and return operand types so they
+	match the instruction definitions from the ISA document.  Fix typo
+	in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
+	statement.
+
+2017-02-14  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/79282
+	* lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
+	member early_clobber_alts.
+	* lra-lives.c (reg_early_clobber_p): New.
+	(process_bb_lives): Use it.
+	* lra.c (new_insn_reg): New arg early_clobber_alts.  Use it.
+	(debug_operand_data): Initialize early_clobber_alts.
+	(setup_operand_alternative): Set up early_clobber_alts.
+	(collect_non_operand_hard_regs): Ditto.  Pass early clobber
+	alternatives to new_insn_reg.
+	(add_regs_to_insn_regno_info): Add arg early_clobber_alts.  Use
+	it.
+	(lra_update_insn_regno_info): Pass the new arg.
+
+2017-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/79505
+	* omp-offload.c (free_oacc_loop): Release loop->ifns vector.
+	(new_oacc_loop_raw): Don't clear already cleared fields.
+
+	PR target/79481
+	* config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
+	_mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
+	_mm512_prefetch_i64gather_ps): New inline functions and macros.
+
+2017-02-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/79495
+	* config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.
+
+2017-02-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/79498
+	* config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
+	the extra instruction to the right place to store 128-bit constant
+	when needed.
+
+2017-02-14  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/79448
+	* gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX
+	  warning for strings of unknown length.
+
+2017-02-13  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config.gcc (supported_defaults) [powerpc*-*-*]: Update.
+
+2017-02-14  Jeff Law  <law@redhat.com>
+
+	PR target/79404
+	* ira-costs.c (scan_one_insn): Initialize register move costs
+	for pseudos seen in USE/CLOBBER insns.
+
+	PR tree-optimization/79095
+	* tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
+	if the numerator has the range ~[0,0] make the resultant range ~[0,0].
+	(extract_range_from_binary_expr): For MINUS_EXPR with no derived range,
+	if the operands are known to be not equal, then the resulting range
+	is ~[0,0].
+	(intersect_ranges): If the new range is ~[0,0] and the old range is
+	wide, then prefer ~[0,0].
+	* tree-vrp.c (overflow_comparison_p_1): New function.
+	(overflow_comparison_p): New function.
+	* tree-vrp.c (register_edge_assert_for_2): Register additional asserts
+	if NAME is used in an overflow test.
+	(vrp_evaluate_conditional_warnv_with_ops): If the ops represent an
+	overflow check that can be expressed as an equality test, then adjust
+	ops to be that equality test.
+
+2017-02-14  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-builtin-types.def: Remove flags argument.
+	* config/s390/s390.c (s390_init_builtins): Likewise.
+
+2017-02-14  Martin Liska  <mliska@suse.cz>
+
+	* tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
+	vector.  Fix trailing white spaces.
+
+2017-02-14  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
+	HFmode.
+
+2017-02-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/68664
+	* config/arm/arm.c (arm_sched_can_speculate_insn):
+	New function.  Declare prototype.
+	(TARGET_SCHED_CAN_SPECULATE_INSN): Define.
+
+2017-02-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR rtl-optimization/68664
+	* config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn):
+	New function.
+	(TARGET_SCHED_CAN_SPECULATE_INSN): Define.
+
+2017-02-14  Amit Pawar  <amit.pawar@amd.com>
+
+	* config/i386/i386.c (znver1_cost): Fix the alignment for function and
+	max skip bytes for function, loop and jump.
+
+2017-02-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
+
+	* gimple-pretty-print.c (dump_unary_rhs): Adjust dump format for
+	ABS_EXPR for gimple dump.
+
+2017-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79462
+	* config/sh/sh.c (expand_cbranchdi4): Don't clear operands[4].
+
+	PR tree-optimization/79408
+	* tree-vrp.c (simplify_div_or_mod_using_ranges): Handle also the
+	case when on TRUNC_MOD_EXPR op0 is INTEGER_CST.
+	(simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
+	also if rhs1 is INTEGER_CST.
+
+2017-02-14  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/79432
+	* tree-into-ssa.c (insert_phi_nodes): When the function can
+	have abnormal edges rewrite SSA names with broken use-def
+	dominance out of SSA and register them for PHI insertion.
+
+2017-02-13  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/79496
+	* gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid
+	clearing info.nowrite flag when snprintf size argument is a range.
+
+2017-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* cprop.c (cprop_jump): Add missing space in string literal.
+	* tree-ssa-structalias.c (rewrite_constraints): Likewise.
+	(get_constraint_for_component_ref): Likewise.
+	* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
+	* tree-outof-ssa.c (insert_partition_copy_on_edge): Likewise.
+	* lra-constraints.c (process_alt_operands): Likewise.
+	* ipa-inline.c (inline_small_functions): Likewise.
+	* tree-ssa-sccvn.c (visit_reference_op_store): Likewise.
+	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
+	* trans-mem.c (diagnose_tm_1_op): Likewise.
+	* omp-grid.c (grid_find_single_omp_among_assignments): Likewise.
+	(grid_parallel_clauses_gridifiable): Likewise.
+
+	* config/nvptx/mkoffload.c (process): Add space in between
+	, and %d.
+
+	* config/i386/i386.h (REG_CLASS_NAMES): Add , in between
+	"MOD4_SSE_REGS" and "ALL_REGS".
+
+	* spellcheck.c (test_data): Add , in between "foo" and "food".
+
+2017-02-13  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/79449
+	* config/rs6000/rs6000.c (expand_block_compare): Make sure runtime
+	boundary crossing check and subsequent code generation agree.
+
+2017-02-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64.c (has_memory_op): Delete.
+	(aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of
+	has_memory_op.
+
+2017-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/79388
+	PR rtl-optimization/79450
+	* combine.c (distribute_notes): When removing TEM_INSN for which
+	corresponding dest has last value recorded, invalidate that last
+	value.
+
+2017-02-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead
+	of explicit '@'.  Add missing assembly comment marker on branch costs
+	printout.
+
+2017-02-13  Nathan Sidwell  <nathan@acm.org>
+
+	* gengtype-lex.l (<in_struct>): Add '/'.
+
+2017-02-13  Martin Liska  <mliska@suse.cz>
+
+	PR c/79471
+	* calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC.
+
+2017-02-13  Richard Biener  <rguenther@suse.de>
+
+	* configure.ac (HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS):
+	Remove.
+	* configure: Re-generate.
+	* config.in: Likewise.
+	* graphite-dependences.c: Simplify as if
+	HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS was defined.
+	* graphite-isl-ast-to-gimple.c: Likewise.
+	* graphite-optimize-isl.c: Likewise.
+	* graphite-poly.c: Likewise.
+	* graphite-sese-to-poly.c: Likewise.
+	* graphite.h: Likewise.
+	* toplev.c: Include isl/version.h and use isl_version () for
+	printing the ISL version.
+	* doc/install.texi: Update ISL requirement.
+
+2017-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/standards.texi (Standards): Update reference to
+	Objective-C 2.0.
+
+2017-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/extend.texi (Named Address Spaces): sourceware.org now
+	defaults to https.
+	* doc/install.texi (Binaries): Ditto.
+	(Specific): Ditto.
+
+2017-02-11  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/cpp.texi: Replace "stringify"/"stringification" with C
+	standard terminology "stringize"/"stringizing" throughout.
+	* doc/cppinternals.texi: Likewise.
+
+2017-02-11  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/extend.texi: Fix some spelling mistakes and typos.
+	* doc/invoke.texi: Likewise.
+
+2017-02-11  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/79224
+	* params.def (inline-min-speedup) Change from 10 to 8.
+
+2017-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to
+	4.5.
+
+2017-02-11  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/79224
+	* ipa-inline-analysis.c (get_minimal_bb): New function.
+	(record_modified): Use it.
+	(remap_edge_change_prob): Handle also ancestor functions.
+
+2017-02-11  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/contrib.texi (Contributors): Remove broken link into
+	the Mauve CVS repository.
+
+2017-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/79454
+	* internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise
+	result computation whenever lhs doesn't have vector mode, not
+	just when it has BLKmode.
+
+2017-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/makefile.texi (profiledbootstrap): Refer to the
+	installation instructions only in textual form.
+
+2017-02-10  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/79295
+	* config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints.
+
+2017-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific): Use https for blackfin.uclinux.org.
+	(Specific): Update mingw-w64 reference.
+	(Binaries): Ditto.
+	(Specific): Remove broken link to Renesas RX processor.
+
+2017-02-10  Richard Biener  <rguenther@suse.de>
+
+	* toplev.c (process_options): Do not mention obsolete graphite
+	options when printing sorry message about missing graphite support.
+	Mention -floop-nest-optimize.
+
+2017-02-10  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	* config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm.
+	(vtst_p16): Likewise.
+	(vtstq_p8): Likewise.
+	(vtstq_p16): Likewise.
+	(vtst_p64): New.
+	(vtstq_p64): Likewise.
+	* config/arm/arm_neon.h (vgetq_lane_p64): New.
+	(vset_lane_p64): New.
+	(vsetq_lane_p64): New.
+
+2017-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79411
+	* tree-ssa-reassoc.c (is_reassociable_op): Return false if
+	stmt operands are SSA_NAMEs used in abnormal phis.
+	(can_reassociate_p): Return false if op is SSA_NAME used in abnormal
+	phis.
+
+2017-02-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR ipa/70795
+	* cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
+	flag if needed.
+
+2017-02-09  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-loop-unswitch.c (hoist_guard): Update profile.
+
+2017-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
+	to avoid warning.
+
+	PR c/79413
+	* gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants,
+	not arbitrary TREE_CONSTANT.
+
+	PR c/79431
+	* gimplify.c (gimplify_adjust_omp_clauses): Ignore
+	"omp declare target link" attribute unless is_global_var.
+	* omp-offload.c (find_link_var_op): Likewise.
+
+2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
+	    Chung-Lin Tang  <cltang@codesourcery.com>
+
+	* gimplify.c (gimplify_scan_omp_clauses): No special handling for
+	OMP_CLAUSE_TILE.
+	(gimplify_adjust_omp_clauses): Don't delete TILE.
+	(gimplify_omp_for): Deal with TILE.
+	* internal-fn.c (expand_GOACC_TILE): New function.
+	* internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
+	(GOACC_TILE): New.
+	* omp-expand.c (struct oacc_collapse): Add tile and outer fields.
+	(expand_oacc_collapse_init): Add LOC paramter.  Initialize tile
+	element fields.
+	(expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
+	avoid DIV for outermost collapse var.
+	(expand_oacc_for): Insert tile element loop as needed.  Adjust.
+	Remove out of date comments, fix whitespace.
+	* omp-general.c (omp_extract_for_data): Deal with tiling.
+	* omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
+	adjust OLF_DIM_BASE value.
+	(struct omp_for_data): Add tiling field.
+	* omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
+	(lower_oacc_head_mark): Add OLF_TILE as appropriate.  Ensure 2 levels
+	for auto loops.  Remove default auto determining, moved to
+	oacc_loop_fixed_partitions.
+	* omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
+	stmts, add e_mask field.
+	(oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
+	(oacc_thread_numbers): Use oacc_dim_call.
+	(oacc_xform_tile): New.
+	(new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
+	(finish_oacc_loop): Adjust for ifns vector.
+	(oacc_loop_discover_walk): Append loop abstraction sites to list,
+	add case for GOACC_TILE fns.
+	(oacc_loop_xform_loop): Delete.
+	(oacc_loop_process): Iterate over call list directly, and add
+	handling for GOACC_TILE fns.
+	(oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
+	dump partitioning.
+	(oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
+	vector partitioning to outer loops.  Assign 2 partitions to loops
+	when available. Add TILE handling.
+	(oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
+	(execite_oacc_device_lower): Process GOACC_TILE fns,
+	ignore unknown specs.
+	* tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
+	* tree.c (omp_clause_num_ops): Adjust TILE ops.
+	* tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.
+
+2017-02-09  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* configure.ac (ACX_BUGURL): Update.
+	* configure: Regenerate.
+
+2017-02-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69823
+	* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
+	Properly enumerate all BBs in the region.  Use auto_vec/auto_bitmap.
+
+2017-02-09  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc-c.def: Add __NPS400__ definition.
+	* config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here.
+	(TARGET_NPS400): Define.
+
+2017-02-09  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in
+	file.
+	(arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t
+	pointer, arch_info.
+	(arc_cpu_types): Fill the arch_info field with a pointer into the
+	arc_arch_types table.
+	(arc_selected_cpu): Declare.
+	* config/arc/arc.c (arc_selected_cpu): Make global.
+	(arc_selected_arch): Delete.
+	(arc_base_cpu): Delete.
+	(arc_override_options): Remove references to deleted variables,
+	update access to arch information.
+	(ARC_OPT): Update access to arch information.
+	(ARC_OPTX): Likewise.
+	* config/arc/arc.h (arc_base_cpu): Remove declaration.
+	(TARGET_ARC600): Update access to arch information.
+	(TARGET_ARC601): Likewise.
+	(TARGET_ARC700): Likewise.
+	(TARGET_EM): Likewise.
+	(TARGET_HS): Likewise.
+	* config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch
+	information.
+
+2017-02-08  Pat Haugen  <pthaugen@us.ibm.com>
+
+	PR target/78604
+	* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert
+	condition/operands for integer GE/LE/GEU/LEU operations.
+
+2017-02-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR translation/79397
+	* config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
+	of AltiVec.
+
+2017-02-08  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/79375
+	* ipa-prop.c (ipa_alloc_node_params): Make static, return bool
+	whether allocation happened.
+	(ipa_initialize_node_params): Do not call ipa_alloc_node_params if
+	nothing was allocated.
+
+2017-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79408
+	* tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not
+	constant, but SSA_NAME with a known integer range, use the minimum
+	of that range instead of op1 to determine if modulo can be replaced
+	with its first operand.
+
+2016-02-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX.
+
+2017-02-08  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71824
+	* graphite-scop-detection.c (scop_detection::build_scop_breadth):
+	Check all loops contained in the merged region.
+
+2017-02-07  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64.md (popcount<mode>2): New pattern.
+
+2017-02-07  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-cores.def (thunderx): Disable LSE.
+	(thunderxt88): Likewise.
+	(thunderxt81): Disable LSE and change v8.1 to v8.
+	(thunderxt83): Likewise.
+
+2017-02-07  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/79399
+	* ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
+	type from int to size_t.
+	* ira-costs.c (struct_costs_size): Change type from int to size_t.
+
+2017-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/79386
+	* cprop.c (bypass_conditional_jumps): Initialize
+	bypass_last_basic_block already before splitting bbs after
+	unconditional traps...
+	(bypass_conditional_jumps): ... rather than here.
+
+	PR target/79299
+	* config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs.
+	(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2,
+	*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them,
+	fix -masm=intel patterns.
+
+2017-02-07  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79256
+	PR middle-end/79278
+	* builtins.c (get_object_alignment_2): Use min_align_of_type
+	to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT
+	and ADJUST_FIELD_ALIGN.
+
+	* doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional
+	type parameter.
+	* doc/tm.texi: Regenerate.
+	* stor-layout.c (layout_decl): Adjust.
+	(update_alignment_for_field): Likewise.
+	(place_field): Likewise.
+	(min_align_of_type): Likewise.
+	* config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust.
+	* config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise.
+	* config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise.
+	* config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise.
+	* config/frv/frv.c (frv_adjust_field_align): Likewise.
+	* config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise.
+	* config/i386/i386.c (x86_field_alignment): Likewise.
+	* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
+	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
+	* config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
+	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
+	* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise.
+	* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
+	 Likewise.
+
+	Revert
+	2017-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79256
+	* targhooks.c (default_builtin_vector_alignment_reachable): Honor
+	BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
+	alignment on TYPE.
+
+2017-02-07  Toma Tabacu  <toma.tabacu@imgtec.com>
+
+	* config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode
+	argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw
+	builtins to SImode and emit a zero-extend, if necessary.
+
+2017-02-06  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* docs/invoke.texi (RISC-V Options): Alphabetize.
+
+2017-02-06  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* doc/invoke.texi (RISC-V Options): Use two spaces to separate
+	options.
+
+2017-02-06  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* config/riscv/riscv.c: New file.
+	* common/config/riscv/riscv-common.c: Likewise.
+	* config.gcc: Likewise.
+	* config/riscv/constraints.md: Likewise.
+	* config/riscv/elf.h: Likewise.
+	* config/riscv/generic.md: Likewise.
+	* config/riscv/linux.h: Likewise.
+	* config/riscv/multilib-generator: Likewise.
+	* config/riscv/peephole.md: Likewise.
+	* config/riscv/pic.md: Likewise.
+	* config/riscv/predicates.md: Likewise.
+	* config/riscv/riscv-builtins.c: Likewise.
+	* config/riscv/riscv-c.c: Likewise.
+	* config/riscv/riscv-ftypes.def: Likewise.
+	* config/riscv/riscv-modes.def: Likewise.
+	* config/riscv/riscv-opts.h: Likewise.
+	* config/riscv/riscv-protos.h: Likewise.
+	* config/riscv/riscv.h: Likewise.
+	* config/riscv/riscv.md: Likewise.
+	* config/riscv/riscv.opt: Likewise.
+	* config/riscv/sync.md: Likewise.
+	* config/riscv/t-elf-multilib: Likewise.
+	* config/riscv/t-linux: Likewise.
+	* config/riscv/t-linux-multilib: Likewise.
+	* config/riscv/t-riscv: Likewise.
+	* configure.ac: Likewise.
+	* doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
+	Waterman as RISC-V maintainers.
+	* doc/install.texi: Add RISC-V entries.
+	* doc/invoke.texi: Add RISC-V options section.
+	* doc/md.texi: Add RISC-V constraints section.
+	* configure: Regenerated.
+
+2017-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/66144
+	* config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
+	false values to be constant vectors with all 0 or all 1 bits set.
+	(vcondu<mode><mode>): Likewise.
+	* config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
+	predicate.
+	(fpmask_comparison_operator): Update comment.
+	(vecint_comparison_operator): New predicate.
+	* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
+	vector conditionals when the true and false values are constant
+	vectors with all 0 bits or all 1 bits set.
+
+2017-02-06  Martin Sebor  <msebor@redhat.com>
+
+	PR  tree-optimization/79376
+	* gimple-fold.c (get_range_strlen): Set the minimum length to zero.
+
+2017-02-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md (vector modes -> vec_extract* splitter): Use
+	explicit subreg RTX with operand 1.  Use VECTOR_MODE_P predicate
+	to simplify split condition.
+
+2017-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-expand.c (oxpand_omp_atomic_fetch_op,
+	expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
+	false.
+
+2017-02-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/68664
+	* target.def (can_speculate_insn): New hook.
+	* doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
+	* doc/tm.texi: Regenerate.
+	* sched-rgn.c (can_schedule_ready_p): Use the new hook.
+	* config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
+	(rs6000_sched_can_speculate_insn): New function.
+
+2017-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79284
+	* tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
+	* tree-vect-stmts.c (vect_get_vec_def_for_operand,
+	vectorizable_mask_load_store, vectorizable_operation,
+	vect_is_simple_cond, get_same_sized_vectype): Use it instead
+	of comparing TREE_CODE of a type against BOOLEAN_TYPE.
+	* tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
+	vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
+	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
+	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
+	Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
+	is_gimple_assign (stmt).  Replace another such test with
+	is_gimple_assign (stmt).
+
+2017-02-06  Georg-Johann Lay  <avr@gjlay.de>
+
+	PR target/78883
+	* config/avr/avr.c (rtl-iter.h): Include it.
+	(TARGET_LEGITIMATE_COMBINED_INSN): New hook define...
+	(avr_legitimate_combined_insn): ...and implementation.
+
+2017-02-06  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/predicates.md ("larl_operand"): Use macros from hwint.h.
+	* config/s390/s390.c (s390_const_operand_ok)
+	(s390_canonicalize_comparison, s390_extract_part)
+	(s390_single_part, s390_contiguous_bitmask_nowrap_p)
+	(s390_contiguous_bitmask_p, s390_rtx_costs)
+	(legitimize_pic_address): Likewise.
+	* config/s390/s390.md ("clzdi2", "clztidi2"): Likewise.
+	* config/s390/vx-builtins.md ("vec_genbytemaskv16qi")
+	("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>")
+	("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT.
+	* config/s390/vector.md ("vec_vfenes<mode>"): Likewise.
+
+2017-02-06  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.md (*addhi3_zero_extend): Add alternative where
+	REGNO($0) == REGNO($1).
+
+2017-02-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/linux.h(SIZE_TYPE): Add comment.
+
+2017-02-06  Julian Brown  <julian@codesourcery.com>
+	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+	    Virendra Pathak  <virendra.pathak@broadcom.com>
+
+	* config/aarch64/aarch64-cores.def: Change the scheduler
+	to Thunderx2t99.
+	* config/aarch64/aarch64.md: Include thunderx2t99.md.
+	* config/aarch64/thunderx2t99.md: New file.
+
+2017-02-05  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/standards.texi (Go Language): Update link to language
+	standard.
+
+2017-02-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-eh.c (lower_resx): Sanitize profile.
+	(cleanup_empty_eh_move_lp): Likewise.
+
+2017-02-05  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR tree-ssa/79347
+	* cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add
+	ELSE_PROB.
+	* cfgloopmanip.h (loop_version): Update prototype.
+	* modulo-sched.c (sms_schedule): Update call of loop_version.
+	* tree-if-conv.c(version_loop_for_if_conversion): Likewise.
+	* tree-parloops.c (gen_parallel_loop): Likewise.
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
+	* tree-ssa-loop-split.c (split_loop): Likewise.
+	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise.
+	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
+
+2017-02-05  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/78985
+	* config/s390/s390.c (s390_gimplify_va_arg): Initialize local
+	variable to NULL.
+	(print_operand_address): Initialize a struct to zero.
+
+2017-02-05  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/contrib.texi (Contributors): Refer to Hans Boehm's
+	garbage collector only in textual form.
+
+2017-02-05  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/extend.texi (x86 specific memory model extensions for
+	transactional memory): Simplify a phrase.
+
+2017-02-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/79353
+	* config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with
+	'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32.
+	(atomic_storedi_1): Likewise.
+
+2017-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79338
+	* tree-parloops.c (gather_scalar_reductions): Don't call
+	vect_analyze_loop_form for loop->inner before destroying loop's
+	loop_vinfo.
+
+2017-02-03  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/79327
+	* gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix
+	when precision has resulted in leading zeros.
+	(format_integer): Adjust the likely counter to assume an unknown
+	argument that may be zero is non-zero.
+
+2017-02-03  Jason Merrill  <jason@redhat.com>
+
+	PR c++/78689
+	* tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to
+	avoid copying non-taken branch.
+
+2017-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79340
+	* tree-vect-loop.c (vectorizable_reduction): Release
+	vec_defs elements after safe_splicing them into other vectors.
+	Formatting fixes.
+
+	PR tree-optimization/79327
+	* gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning
+	true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of
+	dirtype.
+	(format_integer): Use wide_int_to_tree instead of build_int_cst
+	+ to_?hwi.  If argmin is NULL, just set argmin and argmax to
+	TYPE_{MIN,MAX}_VALUE of argtype.  Simplify and fix computation
+	of shortest and longest sequence.
+
+2017-02-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (dimode_scalar_chain::convert_reg):
+	Use pextrd for TARGET_SSE4_1 when creating scalar copy.
+
+2017-02-03  Walter Lee  <walt@tilera.com>
+
+	PR target/78862
+	* config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
+	after initial stackframe link reg save.
+	* config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
+
+2017-02-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79354
+	* config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of
+	wu for stxssp alternative.
+
+2017-02-03  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/79352
+	* gimple-fold.c (get_range_strlen): Add argument.
+	(get_range_strlen): Change return type to bool.
+	(get_maxval_strlen): Pass in a dummy argument.
+	* gimple-fold.h (get_range_strlen): Change return type to bool.
+	* gimple-ssa-sprintf.c (get_string_length): Set unlikely counter.
+	* tree.h (array_at_struct_end_p): Add argument.
+	* tree.c (array_at_struct_end_p): Handle it.
+
+2017-02-03  Martin Liska  <mliska@suse.cz>
+
+	PR lto/66295
+	* multiple_target.c (create_dispatcher_calls): Redirect edge
+	from a caller of a dispatcher.
+	(expand_target_clones): Make the clones local.
+	(ipa_target_clone): Do both target clones and resolvers.
+	(ipa_dispatcher_calls): Remove the pass.
+	(pass_dispatcher_calls::gate): Likewise.
+	(make_pass_dispatcher_calls): Likewise.
+	* passes.def (pass_target_clone): Put as very first IPA early
+	pass.
+
+2017-02-03  Martin Liska  <mliska@suse.cz>
+
+	* symtab.c (symtab_node::binds_to_current_def_p): Bail out
+	in case of a function with ifunc attribute.
+
+2017-02-03  Martin Liska  <mliska@suse.cz>
+
+	* cgraph.c (cgraph_node::dump): Dump function version info.
+	* symtab.c (symtab_node::dump_base): Add missing new line.
+
+2017-02-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	* tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function.
+	(ifcombine_ifandif): Use it.
+
+2017-02-03  Martin Liska  <mliska@suse.cz>
+
+	* doc/invoke.texi: Document default value for
+	use-after-scope-direct-emission-threshold.
+
+2017-02-03  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/79339
+	* gimple-ssa-sprintf.c (format_floating_max): Call mpfr_clear.
+	(format_floating): Likewise.
+
+2017-02-03  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/79337
+	* ipa-prop.c (ipa_node_params_t::insert): Remove current
+	implementation.
+	(ipa_node_params_t::remove): Likewise.
+	* ipa-prop.h (ipa_node_params::ipa_node_params): Make default
+	initialization from removed ipa_node_params_t::insert.
+	(ipa_node_params::~ipa_node_params): Move from removed
+	ipa_node_params_t::release.
+	* symbol-summary.h (symbol_summary::m_released): New member.
+	Do not release a summary twice.  Do not allow to call finalizer
+	for types of a summary that live in GGC memory.
+
+2017-02-02  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
+
+	* config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and
+	cmp_branch fusion.
+
+2017-02-02  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/79275
+	* gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero.
+	(format_string): Tighten up the range of output for non-constant
+	strings and correct the expected range for wide non-constant strings.
+
+2017-02-02  Martin Sebor  <msebor@redhat.com>
+
+	* doc/invoke.texi (-maccumulate-args): Fix bad grammar.
+
+	PR middle-end/32003
+	* doc/invoke.texi (-fdump-tree-): Remove pass-specific options from
+	index.
+	(-fdump-tree-@var): Add to index and document how to come up
+	with pass-specific option and dump file names.
+	(-fdump-passes): Clarify where to look for output.
+
+2017-02-02  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/77445
+	* tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump
+	statistics of the analyzed path; allow threading for speed when
+	any of BBs along the path are optimized for speed.
+
+2017-02-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR middle-end/78468
+	* emit-rtl.c (init_emit): Add ??? comment for problematic alignment
+	settings of the virtual registers.
+
+	Revert again
+	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.
+
+2017-02-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/vx-builtins.md ("vec_ceil", "vec_floor")
+	("vec_trunc", "vec_roundc", "vec_round"): Remove expanders.
+
+2017-02-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.md: Add missing comments with the expanded
+	mnemonics.
+	* config/s390/vector.md: Likewise.
+	* config/s390/vx-builtins.md: Likewise.
+
+2017-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/79197
+	* config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
+	(fixuns_trunc<mode>di2): ... this, remove previous expander.  Put all
+	conditions on a single line.
+
+2017-02-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
+	__S390_VX__ to __VX__.
+
+2017-02-01  Andrew Pinski  <apinski@cavium.com>
+
+	* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass
+	stmt_info to record_stmt_cost.
+	(vect_get_known_peeling_cost): Pass stmt_info if known to
+	record_stmt_cost.
+	* config/aarch64/aarch64-protos.h (cpu_vector_cost): Split
+	cpu_vector_cost field into
+	scalar_int_stmt_cost and scalar_fp_stmt_cost.  Split vec_stmt_cost
+	field into vec_int_stmt_cost and vec_fp_stmt_cost.
+	* config/aarch64/aarch64.c (generic_vector_cost): Update for the
+	splitting of scalar_stmt_cost and vec_stmt_cost.
+	(thunderx_vector_cost): Likewise.
+	(cortexa57_vector_cost): LIkewise.
+	(exynosm1_vector_cost): Likewise.
+	(xgene1_vector_cost): Likewise.
+	(thunderx2t99_vector_cost): Improve after the splitting of the two
+	fields.
+	(aarch64_builtin_vectorization_cost): Update for the splitting of
+	scalar_stmt_cost and vec_stmt_cost.
+
+2017-02-01  Torvald Riegel  <triegel@redhat.com>
+	    Richard Henderson  <rth@redhat.com>
+
+	* builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free"
+	conditional on existance of a fast atomic load.
+	* optabs-query.c (can_atomic_load_p): New function.
+	* optabs-query.h (can_atomic_load_p): Declare it.
+	* optabs.c (expand_atomic_exchange): Always delegate to libatomic if
+	no fast atomic load is available for the particular size of access.
+	(expand_atomic_compare_and_swap): Likewise.
+	(expand_atomic_load): Likewise.
+	(expand_atomic_store): Likewise.
+	(expand_atomic_fetch_op): Likewise.
+	* testsuite/lib/target-supports.exp
+	(check_effective_target_sync_int_128): Remove x86 because it provides
+	no fast atomic load.
+	(check_effective_target_sync_int_128_runtime): Likewise.
+
+2017-02-01  Richard Biener  <rguenther@suse.de>
+
+	* graphite.c: Include tree-vectorizer.h for find_loop_location.
+	(graphite_transform_loops): Provide opt-info for optimized nests.
+	* tree-parloop.c (parallelize_loops): Provide opt-info for
+	parallelized loops.
+
+2017-02-01  Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/79315
+	* tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it
+	was not set before.
+
+2017-02-01  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71824
+	* graphite-scop-detection.c (scop_detection::build_scop_breadth):
+	Verify the loops are valid in the merged SESE region.
+	(scop_detection::can_represent_loop_1): Check analyzing the
+	evolution of the number of iterations in the region succeeds.
+
+2017-01-31  Ian Lance Taylor  <iant@golang.org>
+
+	* config/i386/i386.c (ix86_expand_split_stack_prologue): Add
+	REG_ARGS_SIZE note to 32-bit push insns and call insn.
+
+2017-01-31  David Malcolm  <dmalcolm@redhat.com>
+
+	PR preprocessor/79210
+	* input.c (get_substring_ranges_for_loc): Replace line_width
+	assertion with error-handling.
+
+2017-01-31  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77318
+	* graphite-sese-to-poly.c (extract_affine): Fix assert.
+	(create_pw_aff_from_tree): Take loop parameter.
+	(add_condition_to_pbb): Pass loop of the condition to
+	create_pw_aff_from_tree.
+
+2017-01-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/s390/s390.c (s390_asan_shadow_offset): New function.
+	(TARGET_ASAN_SHADOW_OFFSET): Redefine.
+
+2017-01-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78597
+	PR target/79038
+	* config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete,
+	no longer used.
+	(convert_int_to_float128): Likewise.
+	* config/rs6000/rs6000.c (convert_float128_to_int): Likewise.
+	(convert_int_to_float128): Likewise.
+	* config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise.
+	(UNSPEC_IEEE128_CONVERT): Likewise.
+	(floatsi<mode>2, FLOAT128 iterator): Bypass calling
+	rs6000_expand_float128_convert if we have IEEE 128-bit hardware.
+	Use local variables for IBM extended format.
+	(fix_trunc<mode>si2, FLOAT128 iterator): Likewise.
+	(fix_trunc<mode>si2_fprs): Likewise.
+	(fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
+	(floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise.
+	(fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support
+	to know that we can now have integers of all sizes in vector
+	registers.
+	(fix<uns>_<mode>di2_hw): Likewise.
+	(float<uns>_<mode>si2_hw): Likewise.
+	(fix_<mode>si2_hw): Likewise.
+	(fixuns_<mode>si2_hw): Likewise.
+	(float<uns>_<mode>di2_hw): Likewise.
+	(float_<mode>di2_hw): Likewise.
+	(float_<mode>si2_hw): Likewise.
+	(floatuns_<mode>di2_hw): Likewise.
+	(floatuns_<mode>si2_hw): Likewise.
+	(xscvqp<su>wz_<mode>): Delete, no longer used.
+	(xscvqp<su>dz_<mode>): Likewise.
+	(xscv<su>dqp_<mode>): Likewise.
+	(ieee128_mfvsrd_64bit): Likewise.
+	(ieee128_mfvsrd_32bit): Likewise.
+	(ieee128_mfvsrwz): Likewise.
+	(ieee128_mtvsrw): Likewise.
+	(ieee128_mtvsrd_64bit): Likewise.
+	(ieee128_mtvsrd_32bit): Likewise.
+
+2017-01-31  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/79285
+	* ipa-prop.c (ipa_free_all_node_params): Call release method
+	instead of ~sumbol_summary to not to trigger double times
+	dtor of hash_map.
+
+2017-01-31  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR tree-optimization/71691
+	* bitmap.h (class auto_bitmap): New.
+	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call
+	is_maybe_undefined instead of ssa_undefined_value_p.
+
+2017-01-31  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
+	__S390_ARCH_LEVEL__ to __ARCH__.
+
+2017-01-31  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/79267
+	* value-prof.c (gimple_ic): Only drop lhs for noreturn calls
+	if should_remove_lhs_p is true.
+
+2017-01-30  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR debug/63238
+	* dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment.
+	(add_alignment_attribute): New.
+	(base_type_die): Add alignment attribute.
+	(subrange_type_die): Likewise.
+	(modified_type_die): Likewise.
+	(gen_array_type_die): Likewise.
+	(gen_descr_array_type_die: Likewise.
+	(gen_enumeration_type_die): Likewise.
+	(gen_subprogram_die): Likewise.
+	(gen_variable_die): Likewise.
+	(gen_field_die): Likewise.
+	(gen_ptr_to_mbr_type_die): Likewise.
+	(gen_struct_or_union_type_die): Likewise.
+	(gen_subroutine_type_die): Likewise.
+	(gen_typedef_die): Likewise.
+	(base_type_cmp): Compare alignment attribute.
+
+2017-01-30  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+	PR target/79170
+	* config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
+	(setb_unsigned) New pattern for setb with CCUNS.
+	* config/rs6000/rs6000.c (expand_block_compare): Use a different
+	subfc./subfe sequence to avoid overflow problems.  Generate a
+	shorter sequence with cmpld/setb for power9.
+	* config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
+	for generating subfc. instruction.
+	(cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
+	now uses this instruction.
+
+2017-01-30  Ian Lance Taylor  <iant@google.com>
+
+	PR debug/79289
+	* dwarf2out.c (gen_type_die_with_usage): When picking a variant
+	for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.
+
+2017-01-30  Martin Sebor  <msebor@redhat.com>
+
+	* gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision):
+	Move constant to the right of a relational operator.
+	(get_mpfr_format_length, format_character, format_string): Ditto.
+	(should_warn_p, maybe_warn): Same.
+
+	* doc/invoke.texi (-Wformat-truncation=1): Fix typo.
+
+2017-01-30  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR lto/79061
+	* asan.c (get_translation_unit_decl): Remove function.
+	(asan_add_global): Force has_dynamic_init to zero in LTO mode.
+
+2017-01-30  Martin Liska  <mliska@suse.cz>
+
+	PR gcov-profile/79259
+	* opts.c (common_handle_option): Enable flag_ipa_bit_cp w/
+	-fprofile-generate.
+
+2017-01-30  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/78985
+	* config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze):
+	Initialize variables with NULL value.
+
+2017-01-30  Richard Earnshaw  <rearnsh@arm.com>
+
+	PR target/79260
+	* config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to
+	tm_p_file.
+	* arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h.
+
+2017-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79276
+	* tree-vrp.c (process_assert_insertions): Properly adjust common
+	when removing a duplicate.
+
+2017-01-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79256
+	* targhooks.c (default_builtin_vector_alignment_reachable): Honor
+	BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
+	alignment on TYPE.
+	* tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
+
+2017-01-30  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	PR target/79240
+	* config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask")
+	("*r<noxa>sbg_<mode>_sll_bitmask")
+	("*extzv_<mode>_srl<clobbercc_or_nocc>")
+	("*extzv_<mode>_sll<clobbercc_or_nocc>"):
+	Use contiguous_bitmask_nowrap_operand.
+
+2017-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/79268
+	* config/rs6000/altivec.h (vec_xl): Revise #define.
+	(vec_xst): Likewise.
+
+2017-01-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
+
+2017-01-27  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/79194
+	* cprop.c (one_cprop_pass): Move deletion of code after unconditional
+	traps before call to bypass_conditional_jumps.
+
+2017-01-27  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR tree-optimization/71374
+	* lra-constraints.c (check_conflict_input_operands): New.
+	(match_reload): Use it.
+
+2017-01-27  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/79131
+	* lra-assigns.c (find_hard_regno_for_1): Take endianess for into
+	account to calculate conflict_set.
+
+2017-01-27  Bin Cheng  <bin.cheng@arm.com>
+
+	PR rtl-optimization/78559
+	* combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for
+	other_insn in combine.
+
+2017-01-27  Pekka Jääskeläinen  <pekka.jaaskelainen@parmance.com>
+
+	* builtin-types.def: Use unsigned_char_type_node for BT_UINT8.  Use
+	uint16_type_node for BT_UINT16.
+
+2017-01-27  David Malcolm  <dmalcolm@redhat.com>
+
+	* doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
+	"RTL Tests" to menu.
+	(GIMPLE Tests): New node.
+	(RTL Tests): New node.
+
+2017-01-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79245
+	* tree-loop-distribution.c (distribute_loop): Apply cost
+	modeling also to detected patterns.
+
+2017-01-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71433
+	* tree-vrp.c (register_new_assert_for): Revert earlier changes.
+	(compare_assert_loc): New function.
+	(process_assert_insertions): Sort and optimize assert locations
+	to remove duplicates and push down identical assertions on
+	edges to their destination block.
+
+2017-01-27  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79244
+	* tree-vrp.c (remove_range_assertions): Forcefully propagate
+	out SSA names even if abnormal.
+
+2017-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
+	* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
+	instead of MPFR_RNDN.
+
+2017-01-27  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/79239
+	* arm.c (arm_option_override): Don't call build_target_option_node
+	until after doing all option overrides.
+	(arm_valid_target_attribute_tree): Likewise.
+
+2017-01-27  Martin Liska  <mliska@suse.cz>
+
+	* doc/invoke.texi (-fprofile-arcs): Document profiling support
+	for {cd}tors and C++ {cd}tors.
+
+2017-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>
+
+	* config/s390/s390.md ("*setmem_long_and")
+	("*setmem_long_and_31z"): Use zero_extend instead of and.
+
+2017-01-26  Martin Sebor  <msebor@redhat.com>
+
+	* gimple-ssa-sprintf.c (format_floating): Simplify the computation
+	of precision.
+
+2017-01-26  Martin Sebor  <msebor@redhat.com>
+
+	* gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
+	HAVE_DFmode before using XFmode or DFmode.
+	(parse_directive): Avoid using the z length modifier to avoid
+	the ISO C++98 does not support the ‘z’ gnu_printf length modifier.
+
+	PR middle-end/78703
+	* gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
+	to accept adjustment as an array.
+	(get_int_range): New function.
+	(struct directive): Make width and prec arrays.
+	(directive::set_width, directive::set_precision): Call get_int_range.
+	(format_integer, format_floating): Handle width and precision ranges.
+	(format_string, parse_directive): Same.
+
+2017-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/79129
+	* dwarf2out.c (generate_skeleton_bottom_up): For children with
+	comdat_type_p set, just clone them, but keep the children in the
+	original DIE.
+
+	PR debug/78835
+	* dwarf2out.c (prune_unused_types): Mark all functions with DIEs
+	which have direct callers with -fvar-tracking-assignments enabled
+	in the current TU.
+	(resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
+	inside of type units.
+
+2017-01-26  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78703
+	* gimple-ssa-sprintf.c (struct result_range): Add likely and
+	unlikely counters.
+	(struct format_result): Replace number_chars, number_chars_min,
+	and number_chars_max with a single member of struct result_range.
+	Remove bounded.
+	(format_result::operator+=): Adjust.
+	(struct fmtresult): Remove bounded.  Handle likely and unlikely
+	counters.
+	(fmtresult::adjust_for_width_or_precision): New function.
+	(fmtresult:type_max_digits): New function.
+	(bytes_remaining): Handle likely and unlikely counters.
+	(min_bytes_remaining): Remove.
+	(format_percent): Simplify.
+	(format_integer, format_floating): Set likely and unlikely counters.
+	(get_string_length, format_character, format_string): Same.
+	(format_plain, should_warn_p): New function.
+	(maybe_warn): Call should_warn_p.  Update diagnostic messages
+	and handle those for all directives, including plain strings.
+	(format_directive): Handle likely and unlikely counters.
+	Remove unnecessary quoting from diagnostics.  Add an informational
+	note.
+	(add_bytes): Remove.
+	(pass_sprintf_length::compute_format_length): Simplify.
+	(try_substitute_return_value): Handle likely and unlikely counters.
+
+2017-01-26  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove
+	bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins
+
+2017-01-26  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/79131
+	* lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take
+	endianess for subregs into account.
+	* lra-constraints.c (lra_constraints): Do risky transformations
+	always on the first iteration.
+	* lra-lives.c (check_pseudos_live_through_calls): Add arg
+	last_call_used_reg_set.
+	(process_bb_lives): Define and use last_call_used_reg_set.
+	* lra.c (lra): Always continue after lra_constraints on the first
+	iteration.
+
+2017-01-26  Kirill Yukhin  <kirill.yukhin@gmail.com>
+
+	* gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long
+	constant.
+	* gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
+
+2017-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/avx512fintrin.h (_ktest_mask16_u8,
+	_ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ...
+	* config/i386/avx512dqintrin.h (_ktest_mask16_u8,
+	_ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here.
+	* config/i386/i386-builtin.def (__builtin_ia32_ktestchi,
+	__builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use
+	OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F.
+	* config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator.
+	(kadd<mode>, ktest<mode>): Use it instead of SWI1248_AVX512BWDQ.
+
+2017-01-26  Marek Polacek  <polacek@redhat.com>
+
+	PR c/79199
+	* fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL
+	for the third operand.
+
+2017-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/79236
+	* omp-low.c (struct omp_context): Add simt_stmt field.
+	(scan_omp_for): Return omp_context *.
+	(scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD
+	context to the _simt_ SIMD stmt.
+	(lower_omp_for): For combined SIMD with sibling _simt_
+	SIMD, make sure to use the same decls in _looptemp_
+	clauses as in the sibling.
+
+2017-01-26  David Sherwood  <david.sherwood@arm.com>
+
+	PR middle-end/79212
+	* gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in
+	all contexts.
+
+2017-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/70465
+	* reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1);
+	emit fld b; fld a; if possible.
+
+	* brig-builtins.def: Update copyright years.
+	* config/arm/arm_acle_builtins.def: Update copyright years.
+
+2017-01-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/79179
+	* config/rs6000/vsx.md (vsx_extract_<mode>_store): Use wY
+	constraint instead of o for the stxsd instruction.
+
+2017-01-25  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
+	of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD.
+
+2017-01-25  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/invoke.texi (C++ Dialect Options): Fix typo.
+
+2017-01-25  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/69264
+	* target.def (vector_alignment_reachable): Improve documentation.
+	* doc/tm.texi: Regenerate.
+	* targhooks.c (default_builtin_vector_alignment_reachable): Simplify
+	and add a comment.
+	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert
+	earlier changes with respect to TYPE_USER_ALIGN.
+	(vector_alignment_reachable_p): Likewise.  Improve dumping.
+
+2016-01-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/79145
+	* config/arm/arm.md (xordi3): Force constant operand into a register
+	for TARGET_IWMMXT.
+
+2016-01-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* doc/invoke.texi (-fstore-merging): Correct default optimization
+	levels at which it is enabled.
+	(-O): Move -fstore-merging from list to...
+	(-O2): ... Here.
+
+2017-01-25  Richard Biener  <rguenther@suse.de>
+
+	PR debug/78363
+	* omp-expand.c: Include debug.h.
+	(expand_omp_taskreg): Make sure to generate early debug before
+	outlining anything from a function.
+	(expand_omp_target): Likewise.
+	(grid_expand_target_grid_body): Likewise.
+
+2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR lto/79061
+	* asan.c (get_translation_unit_decl): New function.
+	(asan_add_global): Extract modules file name from globals
+	TRANSLATION_UNIT_DECL name.
+
+2017-01-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/77439
+	* config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
+	for long calls with APCS frame and VFP.
+
+2017-01-24  David Malcolm  <dmalcolm@redhat.com>
+
+	* cfg.c (original_copy_tables_initialized_p): New function.
+	* cfg.h (original_copy_tables_initialized_p): New decl.
+	* cfgrtl.c (relink_block_chain): Guard the call to
+	free_original_copy_tables with a call to
+	original_copy_tables_initialized_p.
+	* cgraph.h (symtab_node::native_rtl_p): New decl.
+	* cgraphunit.c (symtab_node::native_rtl_p): New function.
+	(symtab_node::needed_p): Don't assert for early assembly output
+	for __RTL functions.
+	(cgraph_node::finalize_function): Set "force_output" for __RTL
+	functions.
+	(cgraph_node::analyze): Bail out early for __RTL functions.
+	(analyze_functions): Update assertion to support __RTL functions.
+	(cgraph_node::expand): Bail out early for __RTL functions.
+	* final.c (rest_of_clean_state): Don't call delete_tree_ssa for
+	__RTL functions.
+	* function.h (struct function): Update comment for field
+	"pass_startwith".
+	* gimple-expr.c: Include "tree-pass.h".
+	(gimple_has_body_p): Return false for __RTL functions.
+	* Makefile.in (OBJS): Add run-rtl-passes.o.
+	* pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New
+	accessor.
+	(gcc::pass_manager::get_clean_slate): New accessor.
+	* passes.c: Include "insn-addr.h".
+	(should_skip_pass_p): Add logging.  Update logic for running
+	"expand" to be compatible with both __GIMPLE and __RTL.  Guard
+	property-provider override so it is only done for gimple passes.
+	Don't skip dfinit.
+	(skip_pass): New function.
+	(execute_one_pass): Call skip_pass when skipping passes.
+	* read-md.c (md_reader::read_char): Support filtering
+	the input to a subset of line numbers.
+	(md_reader::md_reader): Initialize fields
+	m_first_line and m_last_line.
+	(md_reader::read_file_fragment): New function.
+	* read-md.h (md_reader::read_file_fragment): New decl.
+	(md_reader::m_first_line): New field.
+	(md_reader::m_last_line): New field.
+	* read-rtl-function.c (function_reader::create_function): Only
+	create cfun if it doesn't already exist.  Set PROP_rtl on cfun's
+	curr_properties.  Set DECL_INITIAL to a dummy block.
+	(read_rtl_function_body_from_file_range): New function.
+	* read-rtl-function.h (read_rtl_function_body_from_file_range):
+	New decl.
+	* run-rtl-passes.c: New file.
+	* run-rtl-passes.h: New file.
+
+2017-01-24  Jeff Law  <law@redhat.com>
+
+	* config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase
+	buffer size.
+
+2017-01-24  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/79159
+	* tree-ssa-loop-niter.c (get_cst_init_from_scev): New function.
+	(record_nonwrapping_iv): Improve boundary using above function if no
+	value range information.
+
+2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
+	    Martin Jambor  <mjambor@suse.cz>
+
+	* brig-builtins.def: New file.
+	* builtins.def (DEF_HSAIL_BUILTIN): New macro.
+	(DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
+	(DEF_HSAIL_SAT_BUILTIN): Likewise.
+	(DEF_HSAIL_INTR_BUILTIN): Likewise.
+	(DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
+	* builtin-types.def (BT_INT8): New.
+	(BT_INT16): Likewise.
+	(BT_UINT8): Likewise.
+	(BT_UINT16): Likewise.
+	(BT_FN_ULONG): Likewise.
+	(BT_FN_UINT_INT): Likewise.
+	(BT_FN_UINT_ULONG): Likewise.
+	(BT_FN_UINT_LONG): Likewise.
+	(BT_FN_UINT_PTR): Likewise.
+	(BT_FN_ULONG_PTR): Likewise.
+	(BT_FN_INT8_FLOAT): Likewise.
+	(BT_FN_INT16_FLOAT): Likewise.
+	(BT_FN_UINT32_FLOAT): Likewise.
+	(BT_FN_UINT16_FLOAT): Likewise.
+	(BT_FN_UINT8_FLOAT): Likewise.
+	(BT_FN_UINT64_FLOAT): Likewise.
+	(BT_FN_UINT16_UINT32): Likewise.
+	(BT_FN_UINT32_UINT16): Likewise.
+	(BT_FN_UINT16_UINT16_UINT16): Likewise.
+	(BT_FN_INT_PTR_INT): Likewise.
+	(BT_FN_UINT_PTR_UINT): Likewise.
+	(BT_FN_LONG_PTR_LONG): Likewise.
+	(BT_FN_ULONG_PTR_ULONG): Likewise.
+	(BT_FN_VOID_UINT64_UINT64): Likewise.
+	(BT_FN_UINT8_UINT8_UINT8): Likewise.
+	(BT_FN_INT8_INT8_INT8): Likewise.
+	(BT_FN_INT16_INT16_INT16): Likewise.
+	(BT_FN_INT_INT_INT): Likewise.
+	(BT_FN_UINT_FLOAT_UINT): Likewise.
+	(BT_FN_FLOAT_UINT_UINT): Likewise.
+	(BT_FN_ULONG_UINT_UINT): Likewise.
+	(BT_FN_ULONG_UINT_PTR): Likewise.
+	(BT_FN_ULONG_ULONG_ULONG): Likewise.
+	(BT_FN_UINT_UINT_UINT): Likewise.
+	(BT_FN_VOID_UINT_PTR): Likewise.
+	(BT_FN_UINT_UINT_PTR: Likewise.
+	(BT_FN_UINT32_UINT64_PTR): Likewise.
+	(BT_FN_INT_INT_UINT_UINT): Likewise.
+	(BT_FN_UINT_UINT_UINT_UINT): Likewise.
+	(BT_FN_UINT_UINT_UINT_PTR): Likewise.
+	(BT_FN_UINT_ULONG_ULONG_UINT): Likewise.
+	(BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise.
+	(BT_FN_LONG_LONG_UINT_UINT): Likewise.
+	(BT_FN_ULONG_ULONG_UINT_UINT): Likewise.
+	(BT_FN_VOID_UINT32_UINT64_PTR): Likewise.
+	(BT_FN_VOID_UINT32_UINT32_PTR): Likewise.
+	(BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise.
+	(BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise.
+	(BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise.
+	* doc/frontends.texi: List BRIG FE.
+	* doc/install.texi (Testing): Add BRIG tesring requirements.
+	* doc/invoke.texi (Overall Options): Mention BRIG.
+	* doc/standards.texi (Standards): Doucment BRIG HSA version.
+
+2017-01-24  Richard Biener  <rguenther@suse.de>
+
+	PR translation/79208
+	* ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic.
+
+2017-01-24  Martin Jambor  <mjambor@suse.cz>
+
+	PR bootstrap/79198
+	* ipa-prop.c (ipa_free_all_node_params): Call summary destructor.
+	* ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts
+	and known_contexts.
+
+2017-01-24  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR middle-end/79123
+	* gimple-ssa-warn-alloca.c (alloca_call_type): Make sure
+	casts from signed to unsigned really don't have a range.
+
+2017-01-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
+	GMP_RNDx for compatiblity.
+
+2017-01-24  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/79132
+	* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert
+	that would prevent us to call alloca with -1 as argument.
+
+2017-01-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (output_compilation_unit_header, output_file_names):
+	Avoid -Wformat-security warning.
+
+2017-01-23  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve
+	cost table.
+
+2017-01-23  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78703
+	* gimple-ssa-sprintf.c (warn_level): New global.
+	(format_integer): Use it here and throughout the rest of the file.
+	Use the same switch to compute sign as base.
+	(maybe_warn): New function.
+	(format_directive): Factor out warnings into maybe_warn.
+	Add debugging output.  Use warn_level.
+	(add_bytes): Use warn_level.
+	(pass_sprintf_length::compute_format_length): Add debugging output.
+	(try_substitute_return_value): Same.
+	(pass_sprintf_length::handle_gimple_call): Set and use warn_level.
+
+	PR middle-end/78703
+	* gimple-ssa-sprintf.c (struct format_result): Remove constant member.
+	(struct fmtresult, format_integer, format_floating): Adjust.
+	(fmtresult::fmtresult): Set max correctly in two argument ctor.
+	(get_string_length, format_string,format_directive): Same.
+	(pass_sprintf_length::compute_format_length): Same.
+	(try_substitute_return_value): Simplify slightly.
+
+	PR middle-end/78703
+	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
+	(fmtresult::operator+=): Outlined.
+	(struct fmtresult): Add ctors.
+	(struct conversion_spec): Rename...
+	(struct directive): ...to this.  Add and remove data members.
+	(directive::set_width, directive::set_precision): New functions.
+	(format_percent): Use fmtresult ctor.
+	(get_width_and_precision): Remove.
+	(format_integer): Make naming changes.  Avoid computing width and
+	precision.
+	(format_floating): Same.  Adjust indentation.
+	(format_character, format_none): New functions.
+	(format_string): Moved character handling to format_character.
+	(format_directive): Remove arguments, change return type.
+	(parse_directive): New function.
+	(pass_sprintf_length::compute_format_length): Move directive
+	parsing to parse_directive.
+
+2017-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree.h (assign_assembler_name_if_neeeded): Rename to ...
+	(assign_assembler_name_if_needed): ... this.
+	* tree.c (assign_assembler_name_if_neeeded): Rename to ...
+	(assign_assembler_name_if_needed): ... this.
+	(free_lang_data_in_cgraph): Adjust callers.
+	* cgraphunit.c (cgraph_node::analyze): Likewise.
+	* omp-expand.c (expand_omp_taskreg, expand_omp_target):
+	Likewise.
+
+2017-01-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79088
+	PR tree-optimization/79188
+	* tree-ssa-threadupdate.c (mark_threaded_blocks): Move code
+	resetting loop bounds after last path deletion.  Reset loop
+	bounds of the target loop, make code match the comments.
+	* tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute):
+	Make sure loops need no fixups.
+
+2017-01-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	* config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert
+	exponent support with double type for first argument.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed
+	type returned by __builtin_vec_extract_sig,
+	__builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp
+	functions from "vector int" to "vector unsigned int" or from
+	"vector long long int" to "vector unsigned long long int".
+	Changed type returned by __builtin_vec_extract_exp,
+	__builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp
+	functions from "vector int" to "vector unsigned int" or from
+	"vector long long int" to "vector unsigned long long int".
+	Changed return type of __builtin_vec_test_data_class,
+	__builtin_vec_test_data_class_sp, and
+	__builtin_vec_test_data_class_dp from "vector int" to
+	"vector bool int" or from "vector long long int" to "vector bool
+	long long int" and changed second argument type from "unsigned
+	int" to "int".  Added new overloaded function forms "vector float
+	__builtin_vec_insert_exp (vector float, vector unsigned int)" and
+	"vector float __builtin_vec_insert_exp_sp (vector float, vector
+	unsigned int)" and "vector double __builtin_vec_insert_exp (vector
+	double, vector unsigned long long int)" and "vector double
+	__builtin_vec_insert_exp_dp (vector double, vector unsigned long
+	long int)".  Changed return type of
+	__builtin_scalar_test_data_class and
+	__builtin_scalar_test_data_class_sp and
+	__builtin_scalar_test_data_class_dp from "unsigned int" to "bool
+	int" and changed second argument from "unsigned int" to "int".
+	Changed type returned by __builtin_scalar_test_neg,
+	__builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp
+	from "int" to "bool int".  Added new overloaded function form
+	"double __builtin_scalar_insert_exp (double, unsigned long long int)".
+	* config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert
+	exponent double-precision with floating point first argument.
+	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
+	documentation of scalar_test_data_class, scalar_test_neg,
+	scalar_extract_sig, scalar_extract_exp, scalar_insert_exp,
+	vector_extract_exp, vec_extract_sig, vec_insert_exp, and
+	vec_test_data_class built-in functions to reflect refinements in
+	their type signatures.
+
+2017-01-23  Andreas Tobler  <andreast@gcc.gnu.org>
+
+	* config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase
+	size of buf.
+	(aarch64_elf_asm_destructor): Likewise.
+
+2017-01-23  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/78634
+	* config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function.
+	(TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define.
+	* ifcvt.c (noce_try_cmove): Add missing cost check.
+
+	PR rtl-optimization/71724
+	* combine.c (if_then_else_cond): Look for situations where it is
+	beneficial to undo the work of one of the recursive calls.
+
+2017-01-23  Bin Cheng  <bin.cheng@arm.com>
+
+	PR tree-optimization/70754
+	* tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
+	(reassociate_to_the_same_stmt): New parameter INSERT_BEFORE.  Insert
+	combined stmt before it if not NULL.
+	(combine_chains): Process refs reversely and compute dominance point
+	for root ref.
+
+2017-01-23  Martin Liska  <mliska@suse.cz>
+
+	PR tree-optimization/79196
+	* tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ...
+	(fold_strstr_to_strncmp): ... this.  Fold the pattern to strncmp
+	instead of memcmp.
+	(strlen_optimize_stmt): Call the renamed function.
+
+2017-01-23  Michael Matz  <matz@suse.de>
+
+	PR tree-optimization/78384
+	* tree-ssa-loop-split.c (patch_loop_exit): Use correct edge.
+
+2017-01-23  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79186
+	* tree-vrp.c (register_new_assert_for): Make sure we've seen
+	both incoming edges before moving an assert.
+
+2017-01-23  Martin Jambor  <mjambor@suse.cz>
+
+	* ipa-prop.c (load_from_param_1): Removed.
+	(load_from_unmodified_param): Bits from load_from_param_1 put back
+	here.
+	(load_from_param): Removed.
+	(compute_complex_assign_jump_func): Removed stmt2 and just replaced it
+	with stmt.  Reverted back to use of load_from_unmodified_param.
+
+2017-01-23  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/79108
+	* ipa-prop.h (ipa_param_descriptor): Anotate with with GTY(()).
+	(ipa_node_params): Annotate with GTY((for_user)).  Make descriptors
+	field a pointer to garbage collected vector, mark lattices and
+	ipcp_orig_node with GTY((skip)).
+	(ipa_get_param_count): Adjust to descriptors being a pointer.
+	(ipa_get_param): Likewise.
+	(ipa_get_type): Likewise.
+	(ipa_get_param_move_cost): Likewise.
+	(ipa_set_param_used): Likewise.
+	(ipa_get_controlled_uses): Likewise.
+	(ipa_set_controlled_uses): Likewise.
+	(ipa_is_param_used): Likewise.
+	(ipa_node_params_t): Move into garbage collector.  New methods insert
+	and remove.
+	(ipa_node_params_sum): Annotate wth GTY(()).
+	(ipa_check_create_node_params): Adjust to ipa_node_params_sum being
+	garbage collected.
+	(ipa_load_from_parm_agg): Adjust declaration.
+	* ipa-icf.c (param_used_p): Adjust to descriptors being a pointer.
+	* ipa-profile.c (ipa_profile): Likewise.
+	* ipa-prop.c (ipa_get_param_decl_index_1): Likewise.
+	(ipa_populate_param_decls): Make descriptors parameter garbage
+	collected.
+	(ipa_dump_param): Adjust to descriptors being a pointer.
+	(ipa_alloc_node_params): Likewise.
+	(ipa_initialize_node_params): Likewise.
+	(load_from_param_1): Make descriptors parameter garbage collected.
+	(load_from_unmodified_param): Likewise.
+	(load_from_param): Likewise.
+	(ipa_load_from_parm_agg): Likewise.
+	(ipa_node_params::~ipa_node_params): Removed.
+	(ipa_free_all_node_params): Remove call to delete operator.
+	(ipa_node_params_t::insert): New.
+	(ipa_node_params_t::remove): Likewise.
+	(ipa_node_params_t::duplicate): Adjust to descriptors being a pointer,
+	copy known_csts and known_contexts vectors.
+	(ipa_read_node_info): Adjust to descriptors being a pointer.
+	(ipcp_modif_dom_walker): Make m_descriptors field garbage
+	collected.
+	(ipcp_transform_function): Make descriptors variable garbage
+	collected.
+
+2017-01-23  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.
+	* config/i386/avx512dqintrin.h: Ditto.
+	* config/i386/avx512fintrin.h: Ditto.
+	* config/i386/i386.c: Handle new builtins.
+	* config/i386/i386-builtin.def: Add new builtins.
+	* config/i386/sse.md (ktest<mode>, kortest<mode>): New.
+	(UNSPEC_KORTEST, UNSPEC_KTEST): New.
+
+2017-01-23  Jakub Jelinek  <jakub@redhat.com>
+	    Martin Liska  <mliska@suse.cz>
+
+	* asan.h: Define ASAN_USE_AFTER_SCOPE_ATTRIBUTE.
+	* asan.c (asan_expand_poison_ifn): Support stores and use
+	appropriate ASAN report function.
+	* internal-fn.c (expand_ASAN_POISON_USE): New function.
+	* internal-fn.def (ASAN_POISON_USE): Declare.
+	* tree-into-ssa.c (maybe_add_asan_poison_write): New function.
+	(maybe_register_def): Create ASAN_POISON_USE when sanitizing.
+	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove
+	ASAN_POISON calls w/o LHS.
+	* tree-ssa.c (execute_update_addresses_taken): Create clobber
+	for ASAN_MARK (UNPOISON, &x, ...) in order to prevent usage of a LHS
+	from ASAN_MARK (POISON, &x, ...) coming to a PHI node.
+	* gimplify.c (asan_poison_variables): Add attribute
+	use_after_scope_memory to variables that really needs to live
+	in memory.
+	* tree-ssa.c (is_asan_mark_p): Do not rewrite into SSA when
+	having the attribute.
+
+2017-01-23  Martin Liska  <mliska@suse.cz>
+
+	* asan.c (create_asan_shadow_var): New function.
+	(asan_expand_poison_ifn): Likewise.
+	* asan.h (asan_expand_poison_ifn): New declaration.
+	* internal-fn.c (expand_ASAN_POISON): Likewise.
+	* internal-fn.def (ASAN_POISON): New builtin.
+	* sanopt.c (pass_sanopt::execute): Expand
+	asan_expand_poison_ifn.
+	* tree-inline.c (copy_decl_for_dup_finish): Make function
+	external.
+	* tree-inline.h (copy_decl_for_dup_finish): Likewise.
+	* tree-ssa.c (is_asan_mark_p): New function.
+	(execute_update_addresses_taken): Rewrite local variables
+	(identified just by use-after-scope as addressable) into SSA.
+
+2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Specific): opensource.apple.com uses https
+	now. Remove trailing slash.
+
+2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* README.Portability: Remove note on an Irix compatibility issue.
+
+2017-01-22  Dimitry Andric <dim@FreeBSD.org>
+
+	* gcov.c (INCLUDE_ALGORITHM): Define.
+	(INCLUDE_VECTOR): Define.
+	No longer include <vector> and <algorithm> directly.
+
+2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/extend.texi (Thread-Local): Change www.akkadia.org reference
+	to https.
+	* doc/invoke.texi (Code Gen Options): Ditto.
+
+2017-01-21  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR lto/78407
+	* cfg.c (update_bb_profile_for_threading): Fix updating of probablity.
+
+2017-01-21  Bernd Schmidt  <bschmidt@redhat.com>
+
+	rtl-optimization/79125
+	* cprop.c (local_cprop_pass): Handle cases where we make an
+	unconditional trap.
+
+2017-01-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/61729
+	PR target/77850
+	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
+	read from, for big endian.
+
+2017-01-20  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
+	register pauth builtins for LP64 only.
+
+2017-01-20  Marek Polacek  <polacek@redhat.com>
+
+	PR c/79152
+	* gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive
+	non-case labels.
+
+2017-01-20  Alexander Monakov  <amonakov@ispras.ru>
+
+	* omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless
+	of safelen status.
+	* omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev.
+	* passes.c (dump_properties): Handle PROP_gimple_lomp_dev.
+	* tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev.
+
+2017-01-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	PR target/71270
+	* config/arm/arm.c (neon_valid_immediate): Reject vector constants
+	in big-endian mode when they are not a single duplicated value.
+
+2017-01-20  Richard Biener  <rguenther@suse.de>
+
+	* BASE-VER: Bump to 7.0.1.
+
+2017-01-20  Alexander Monakov  <amonakov@ispras.ru>
+
+	* omp-low.c (omplow_simd_context): New struct.  Use it...
+	(lower_rec_simd_input_clauses): ...here and...
+	(lower_rec_input_clauses): ...here to hold common data.  Adjust all
+	references to idx, lane, max_vf, is_simt.
+
+2017-01-20  Graham Markall  <graham.markall@embecosm.com>
+
+	* config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when
+	mcpu=nps400.
+
+2017-01-20  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa.h: Renaed to hsa-common.h.  Adjusted a comment.
+	* hsa.c: Renaed to hsa-common.c.  Change include of gt-hsa.h to
+	gt-hsa-common.h.
+	* Makefile.in (OBJS): Rename hsa.o to hsa-common.o.
+	(GTFILES): Rename hsa.c to hsa-common.c.
+	* hsa-brig.c: Change include of hsa.h to hsa-common.h.
+	* hsa-dump.c: Likewise.
+	* hsa-gen.c: Likewise.
+	* hsa-regalloc.c: Likewise.
+	* ipa-hsa.c: Likewise.
+	* omp-expand.c: Likewise.
+	* omp-low.c: Likewise.
+	* toplev.c: Likewise.
+
+2017-01-20  Marek Polacek  <polacek@redhat.com>
+
+	PR c/64279
+	* doc/invoke.texi: Document -Wduplicated-branches.
+	* fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR,
+	COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR,
+	POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT,
+	STATEMENT_LIST, and RETURN_EXPR.  For non-pure non-const functions
+	return 0 only when not OEP_LEXICOGRAPHIC.
+	(fold_build_cleanup_point_expr): Use the expression
+	location when building CLEANUP_POINT_EXPR.
+	* tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC.
+	* tree.c (add_expr): Handle error_mark_node.
+
+2017-01-20  Martin Liska  <mliska@suse.cz>
+
+	PR lto/69188
+	* tree-profile.c (init_ic_make_global_vars): Do not call
+	finalize_decl.
+	(gimple_init_gcov_profiler): Likewise.
+
+2017-01-20  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/71190
+	* cgraph.h (maybe_create_reference): Remove argument and
+	update comment.
+	* cgraphclones.c (cgraph_node::create_virtual_clone): Remove one
+	argument.
+	* ipa-cp.c (create_specialized_node): Likewise.
+	* symtab.c (symtab_node::maybe_create_reference): Handle
+	VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type.
+
+2017-01-20  Martin Liska  <mliska@suse.cz>
+
+	* read-rtl-function.c (function_reader::create_function): Use
+	build_decl instread of build_decl_stat.
+
+2017-01-20  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics.
+	* config/i386/avx512dqintrin.h: Ditto.
+	* config/i386/avx512fintrin.h: Ditto.
+	* config/i386/i386-builtin-types.def: Add new types.
+	* config/i386/i386.c: Handle new types.
+	* config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi)
+	(__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi)
+	(__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi)
+	(__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi)
+	(__builtin_ia32_kshiftridi): New.
+	* config/i386/sse.md (k<code><mode>): Rename *k<code><mode>.
+
+2017-01-19  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/78875
+	PR target/79140
+	* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally
+	define to rs6000_init_stack_protect_guard.
+	(rs6000_init_stack_protect_guard): New function.
+
+2017-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
+	    Yunqiang Su  <yunqiang.su@imgtec.com>
+
+	* config.gcc (supported_defaults): Add madd4.
+	(with_madd4): Add validation.
+	(all_defaults): Add madd4.
+	* config/mips/mips.opt (mmadd4): New option.
+	* config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
+	mmadd4.
+	(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
+	__mips_no_madd4.
+	(ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
+	(ISA_HAS_FUSED_MADD4): Likewise.
+	* doc/invoke.texi (-mmadd4): Document the new option.
+	* doc/install.texi (--with-madd4): Document the new option.
+
+2017-01-19  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New
+	entries for AARCH64_PAUTH_BUILTIN_XPACLRI,
+	AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716.
+	(aarch64_init_pauth_hint_builtins): New.
+	(aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins.
+	(aarch64_expand_builtin): Expand new builtins.
+
+2017-01-19  Jiong Wang  <jiong.wang@arm.com>
+
+	* reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note.
+	* combine-stack-adj.c (no_unhandled_cfa): Handle
+	REG_CFA_TOGGLE_RA_MANGLE.
+	* dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE.
+	* config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF
+	info for return address signing.
+	(aarch64_expand_epilogue): Likewise.
+
+2017-01-19  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-opts.h (aarch64_function_type): New enum.
+	* config/aarch64/aarch64-protos.h
+	(aarch64_return_address_signing_enabled): New declaration.
+	* config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
+	New function.
+	(aarch64_expand_prologue): Sign return address before it's pushed onto
+	stack.
+	(aarch64_expand_epilogue): Authenticate return address fetched from
+	stack.
+	(aarch64_override_options): Sanity check for ILP32 and ISA level.
+	(aarch64_attributes): New function attributes for "sign-return-address".
+	* config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP,
+	UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs.
+	("*do_return"): Generate combined instructions according to key index.
+	("<pauth_mnem_prefix>sp", "<pauth_mnem_prefix1716", "xpaclri"): New.
+	* config/aarch64/iterators.md (PAUTH_LR_SP, PAUTH_17_16): New integer
+	iterators.
+	(pauth_mnem_prefix, pauth_hint_num_a): New integer attributes.
+	* config/aarch64/aarch64.opt (msign-return-address=): New.
+	* doc/extend.texi (AArch64 Function Attributes): Documents
+	"sign-return-address=".
+	* doc/invoke.texi (AArch64 Options): Documents "-msign-return-address=".
+
+2017-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* doc/invoke.texi: Add missing -mlxc1-sxc1 options to
+	overall option summary.
+
+2017-01-19  Jiong Wang  <jiong.wang@arm.com>
+
+	* config/aarch64/aarch64-arches.def: New entry for "armv8.3-a".
+	* config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3,
+	AARCH64_ISA_V8_3, TARGET_ARMV8_3): New.
+	* doc/invoke.texi (AArch64 Options): Document "armv8.3-a".
+
+2017-01-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable
+	-mpower9-minmax by default for -mcpu=power9.
+	(ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE
+	128-bit floating point.
+
+2017-01-20  Alan Modra  <amodra@gmail.com>
+
+	* config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if
+	optimizing for size.
+
+2017-01-20  Alan Modra  <amodra@gmail.com>
+
+	PR target/79144
+	* config/rs6000/rs6000.c (expand_strn_compare): Get the asm name
+	for strcmp and strncmp from corresponding builtin decl.
+
+2017-01-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config.gcc (x86_64-*-rtems*): Use i386/rtemself.h
+	instead of i386/rtems-64.h.
+	* config/i386/rtems-64.h: Remove.
+
+2017-01-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78478
+	Revert:
+	2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.
+
+2017-01-19  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
+	Change int to HOST_WIDE_INT.
+	* config/aarch64/aarch64-protos.h
+	(aarch64_simd_gen_const_vector_dup): Likewise.
+	* config/aarch64/aarch64-simd.md: Add copysign<mode>3.
+
+2017-01-19  David Malcolm  <dmalcolm@redhat.com>
+
+	* langhooks-def.h (lhd_type_for_size): New decl.
+	(LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size.
+	* langhooks.c (lhd_type_for_size): New function, taken from
+	lto_type_for_size.
+
+2017-01-19  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add
+	define_bypass for CR latency.
+	(power9-cracked-alu): Update bypass latency and remove power9-branch.
+	(power9-alu2): Add define_bypass for CR latency.
+	(power9-cmp): New.
+	(power9-mul): Update insn latency.
+	(power9-mul-compare): Update insn latency, bypass latency and remove
+	power9-branch.
+
+2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
+	Delete.
+	* config/aarch64/aarch64.md
+	(aarch64_reload_movcp<GPF_TF:mode><P:mode>): Delete reference to
+	aarch64_nopcrelative_literal_loads.
+	(aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
+
+2017-01-19  Chenghua Xu  <paul.hua.gm@gmail.com>
+
+	* config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
+	TARGET_LOONGSON_3A.
+	(ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.
+
+2017-01-19  Doug Gilmore  <doug.gilmore@imgtec.com>
+
+	PR target/78176
+	* config.gcc (supported_defaults): Add lxc1-sxc1.
+	(with_lxc1_sxc1): Add validation.
+	(all_defaults): Add lxc1-sxc1.
+	* config/mips/mips.opt (mlxc1-sxc1): New option.
+	* config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
+	mlxc1-sxc1.
+	(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
+	__mips_no_lxc1_sxc1.
+	(ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1.
+	* doc/invoke.texi (-mlxc1-sxc1): Document the new option.
+	* doc/install.texi (--with-lxc1-sxc1): Document the new option.
+
+2017-01-19  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/72488
+	* tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
+	sure to restore SSA info.
+	* tree-ssa.c (verify_ssa): Verify SSA info is not shared.
+
+2017-01-19  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR rtl-optimization/79121
+	* expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
+	of the inner type when shifting an extended value.
+
+2017-01-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR lto/78407
+	* symtab.c (symtab_node::equal_address_to): Fix comparing of
+	interposable aliases.
+
+2017-01-18  Peter Bergner  <bergner@vnet.ibm.com>
+
+	PR target/78516
+	* config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints.
+	Use the evmergelohi instruction.
+	(mov_si<mode>_e500_subreg4_2_le): Likewise.
+	(mov_sitf_e500_subreg8_2_be): Likewise.
+	(mov_sitf_e500_subreg12_2_le): Likewise.
+	(mov_si<mode>_e500_subreg0_2_le): Fix constraints.
+	(mov_si<mode>_e500_subreg4_2_be): Likewise.
+	(mov_sitf_e500_subreg8_2_le): Likewise.
+	(mov_sitf_e500_subreg12_2_be): Likewise.
+
+2017-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.md (altivec_vbpermq): Change "type"
+	attribute from vecsimple to vecperm.
+	(altivec_vbpermq2): Likewise.
+
+2017-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/79040
+	* config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz.
+
+2017-01-18  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+	* config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg.
+	* config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand
+	strcmp. Fix bug where comparison didn't stop with zero byte. Fix
+	case where N arg is SIZE_MAX.
+	* config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare.
+	(cmpstrsi): Add pattern.
+
+2017-01-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+	__builtin_vec_revb builtins.
+	* config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
+	built-in functions to support generation of the ISA 3.0 XXBR<x>
+	vector byte reverse instructions.
+	(P9V_BUILTIN_XXBRQ_V1TI): Likewise.
+	(P9V_BUILTIN_XXBRD_V2DI): Likewise.
+	(P9V_BUILTIN_XXBRD_V2DF): Likewise.
+	(P9V_BUILTIN_XXBGW_V4SI): Likewise.
+	(P9V_BUILTIN_XXBGW_V4SF): Likewise.
+	(P9V_BUILTIN_XXBGH_V8HI): Likewise.
+	(P9V_BUILTIN_VEC_REVB): Likewise.
+	* config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
+	generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
+	(p9_xxbrq_v16qi): Likewise.
+	(p9_xxbrd_<mode>, VSX_D iterator): Likewise.
+	(p9_xxbrw_<mode>, VSX_W iterator): Likewise.
+	(p9_xxbrh_v8hi): Likewise.
+	* config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
+	* doc/extend.texi (RS/6000 Altivec Built-ins): Document the
+	vec_revb built-in functions.
+
+2017-01-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/78952
+	* config/i386/i386.md (any_extract): New code iterator.
+	(*insvqi_2): Use any_extract for source operand.
+	(*insvqi_3): Use any_shiftrt for source operand.
+
+2017-01-18  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
+	New function.
+	(TARGET_SCHED_ADJUST_PRIORITY): Define target hook.
+
+2017-01-18  Matthias Klose  <doko@ubuntu.com>
+
+	* doc/install.texi: Allow default for --with-target-bdw-gc-include.
+
+2016-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.h (vec_bperm): Change #define.
+	* config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
+	(altivec_vbpermq2): New define_insn.
+	(altivec_vbpermd): Likewise.
+	* config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
+	function interface.
+	(VBPERMD): Likewise.
+	(VBPERM): New polymorphic function interface.
+	* config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
+	Add entries for P9V_BUILTIN_VEC_VBPERM.
+	* doc/extend.texi: Add interfaces for vec_bperm.
+
+2017-01-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
+	first letter of error messages.
+	(s390_resolve_overloaded_builtin): Likewise.
+	* config/s390/s390.c (s390_expand_builtin): Likewise.
+	(s390_invalid_arg_for_unprototyped_fn): Likewise.
+	(s390_valid_target_attribute_inner_p): Likewise.
+	* config/s390/s390.md ("tabort"): Likewise.
+
+2017-01-18  Toma Tabacu  <toma.tabacu@imgtec.com>
+
+	* config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
+	(ISA_AVOID_DIV_HILO): New macro.
+	(ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
+	(ISA_HAS_DDIV): Likewise.
+
+2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* doc/invoke.texi (fabi-version): Correct number of occurrences.
+
+2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	* doc/invoke.texi (fabi-version): Spelling fix.
+
+2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR c++/70182
+	* doc/invoke.texi (fabi-version): Mention mangling fix for
+	operator names.
+
+2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
+
+	PR c++/77489
+	* doc/invoke.texi (fabi-version): Document discriminator mangling.
+
+2017-01-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/78875
+	* config/rs6000/rs6000-opts.h (stack_protector_guard): New enum.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Handle
+	the new options.
+	* config/rs6000/rs6000.md (stack_protect_set): Handle the new more
+	flexible settings.
+	(stack_protect_test): Ditto.
+	* config/rs6000/rs6000.opt (mstack-protector-guard=,
+	mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
+	options.
+	* doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]:
+	Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
+	-mstack-protector-guard-offset=.
+	(RS/6000 and PowerPC Options): Ditto.
+
+2017-01-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (MASK_CLASS_P): New define.
+	* config/i386/i386.c (inline_secondary_memory_needed): Ensure that
+	there are no registers from different register sets also when
+	mask registers are used.  Update function comment.
+	* config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative
+	to (*k/*r) and (*k/*km) alternatives.
+
+2017-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
+	* config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
+	(EH_RETURN_HANDLER_RTX): New define.
+	* config/aarch64/aarch64.c (aarch64_frame_pointer_required):
+	Force frame pointer in EH return functions.
+	(aarch64_expand_epilogue): Add barrier for eh_return.
+	(aarch64_final_eh_return_addr): Remove.
+	(aarch64_eh_return_handler_rtx): New function.
+	* config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
+	Remove.
+	(aarch64_eh_return_handler_rtx): New prototype.
+
+2017-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/altivec.h (vec_rlmi): New #define.
+	(vec_vrlnm): Likewise.
+	(vec_rlnm): Likewise.
+	* config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value.
+	(UNSPEC_VRLNM): Likewise.
+	(VIlong): New mode iterator.
+	(altivec_vrl<VI_char>mi): New define_insn.
+	(altivec_vrl<VI_char>nm): Likewise.
+	* config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic
+	function entry.
+	(VRLDNM): Likewise.
+	(RLNM): New polymorphic function entry.
+	(VRLWMI): New monomorphic function entry.
+	(VRLDMI): Likewise.
+	(RLMI): New polymorphic function entry.
+	* config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add
+	new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM.
+	* doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and
+	vec_vrlnm.
+
+2017-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/78839
+	* dwarf2out.c (field_byte_offset): Restore the
+	PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
+	and DECL_FIELD_BIT_OFFSET.  Use fold_build2 instead of build2 + fold.
+	(analyze_variants_discr, gen_variant_part): Use fold_build2 instead
+	of build2 + fold.
+
+2017-01-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/67205
+	* config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define
+
+2017-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/71669
+	* dwarf2out.c (add_data_member_location_attribute): For constant
+	offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute
+	instead of DW_AT_data_member_location, DW_AT_bit_offset and
+	DW_AT_byte_size attributes.
+
+2017-01-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference
+	after forcing to constant memory when the code model is medium.
+
+2017-01-17  Julia Koval  <julia.koval@intel.com>
+
+	PR target/76731
+	* config/i386/avx512fintrin.h
+	(_mm512_i32gather_ps): Change __addr type to void const*.
+	(_mm512_mask_i32gather_ps): Ditto.
+	(_mm512_i32gather_pd): Ditto.
+	(_mm512_mask_i32gather_pd): Ditto.
+	(_mm512_i64gather_ps): Ditto.
+	(_mm512_mask_i64gather_ps): Ditto.
+	(_mm512_i64gather_pd): Ditto.
+	(_mm512_mask_i64gather_pd): Ditto.
+	(_mm512_i32gather_epi32): Ditto.
+	(_mm512_mask_i32gather_epi32): Ditto.
+	(_mm512_i32gather_epi64): Ditto.
+	(_mm512_mask_i32gather_epi64): Ditto.
+	(_mm512_i64gather_epi32): Ditto.
+	(_mm512_mask_i64gather_epi32): Ditto.
+	(_mm512_i64gather_epi64): Ditto.
+	(_mm512_mask_i64gather_epi64): Ditto.
+	(_mm512_i32scatter_ps): Change __addr type to void*.
+	(_mm512_mask_i32scatter_ps): Ditto.
+	(_mm512_i32scatter_pd): Ditto.
+	(_mm512_mask_i32scatter_pd): Ditto.
+	(_mm512_i64scatter_ps): Ditto.
+	(_mm512_mask_i64scatter_ps): Ditto.
+	(_mm512_i64scatter_pd): Ditto.
+	(_mm512_mask_i64scatter_pd): Ditto.
+	(_mm512_i32scatter_epi32): Ditto.
+	(_mm512_mask_i32scatter_epi32): Ditto.
+	(_mm512_i32scatter_epi64): Ditto.
+	(_mm512_mask_i32scatter_epi64): Ditto.
+	(_mm512_i64scatter_epi32): Ditto.
+	(_mm512_mask_i64scatter_epi32): Ditto.
+	(_mm512_i64scatter_epi64): Ditto.
+	(_mm512_mask_i64scatter_epi64): Ditto.
+	* config/i386/avx512pfintrin.h
+	(_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*.
+	(_mm512_mask_prefetch_i32gather_ps): Ditto.
+	(_mm512_mask_prefetch_i64gather_pd): Ditto.
+	(_mm512_mask_prefetch_i64gather_ps): Ditto.
+	(_mm512_prefetch_i32scatter_pd): Change __addr type to void*.
+	(_mm512_prefetch_i32scatter_ps): Ditto.
+	(_mm512_mask_prefetch_i32scatter_pd): Ditto.
+	(_mm512_mask_prefetch_i32scatter_ps): Ditto.
+	(_mm512_prefetch_i64scatter_pd): Ditto.
+	(_mm512_prefetch_i64scatter_ps): Ditto.
+	(_mm512_mask_prefetch_i64scatter_pd): Ditto.
+	(_mm512_mask_prefetch_i64scatter_ps): Ditto.
+	* config/i386/avx512vlintrin.h
+	(_mm256_mmask_i32gather_ps): Change __addr type to void const*.
+	(_mm_mmask_i32gather_ps): Ditto.
+	(_mm256_mmask_i32gather_pd): Ditto.
+	(_mm_mmask_i32gather_pd): Ditto.
+	(_mm256_mmask_i64gather_ps): Ditto.
+	(_mm_mmask_i64gather_ps): Ditto.
+	(_mm256_mmask_i64gather_pd): Ditto.
+	(_mm_mmask_i64gather_pd): Ditto.
+	(_mm256_mmask_i32gather_epi32): Ditto.
+	(_mm_mmask_i32gather_epi32): Ditto.
+	(_mm256_mmask_i32gather_epi64): Ditto.
+	(_mm_mmask_i32gather_epi64): Ditto.
+	(_mm256_mmask_i64gather_epi32): Ditto.
+	(_mm_mmask_i64gather_epi32): Ditto.
+	(_mm256_mmask_i64gather_epi64): Ditto.
+	(_mm_mmask_i64gather_epi64): Ditto.
+	(_mm256_i32scatter_ps): Change __addr type to void*.
+	(_mm256_mask_i32scatter_ps): Ditto.
+	(_mm_i32scatter_ps): Ditto.
+	(_mm_mask_i32scatter_ps): Ditto.
+	(_mm256_i32scatter_pd): Ditto.
+	(_mm256_mask_i32scatter_pd): Ditto.
+	(_mm_i32scatter_pd): Ditto.
+	(_mm_mask_i32scatter_pd): Ditto.
+	(_mm256_i64scatter_ps): Ditto.
+	(_mm256_mask_i64scatter_ps): Ditto.
+	(_mm_i64scatter_ps): Ditto.
+	(_mm_mask_i64scatter_ps): Ditto.
+	(_mm256_i64scatter_pd): Ditto.
+	(_mm256_mask_i64scatter_pd): Ditto.
+	(_mm_i64scatter_pd): Ditto.
+	(_mm_mask_i64scatter_pd): Ditto.
+	(_mm256_i32scatter_epi32): Ditto.
+	(_mm256_mask_i32scatter_epi32): Ditto.
+	(_mm_i32scatter_epi32): Ditto.
+	(_mm_mask_i32scatter_epi32): Ditto.
+	(_mm256_i32scatter_epi64): Ditto.
+	(_mm256_mask_i32scatter_epi64): Ditto.
+	(_mm_i32scatter_epi64): Ditto.
+	(_mm_mask_i32scatter_epi64): Ditto.
+	(_mm256_i64scatter_epi32): Ditto.
+	(_mm256_mask_i64scatter_epi32): Ditto.
+	(_mm_i64scatter_epi32): Ditto.
+	(_mm_mask_i64scatter_epi32): Ditto.
+	(_mm256_i64scatter_epi64): Ditto.
+	(_mm256_mask_i64scatter_epi64): Ditto.
+	(_mm_i64scatter_epi64): Ditto.
+	(_mm_mask_i64scatter_epi64): Ditto.
+	* config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
+	(V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
+	(V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
+	(V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
+	(V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
+	(V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
+	(V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
+	(V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
+	(V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
+	(V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
+	(V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
+	(V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
+	(V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
+	(VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
+	(VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
+	(VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
+	(VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
+	(VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
+	(VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
+	(VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
+	(VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
+	(VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
+	(VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
+	(VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
+	(VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
+	(VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
+	(VOID_QI_V8DI_PCINT_INT_INT): Remove.
+	(V16SF_V16SF_PCVOID_V16SI_HI_INT,  V8DF_V8DF_PCVOID_V8SI_QI_INT)
+	(V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
+	(V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
+	(V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
+	(VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
+	(VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
+	(VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
+	(VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
+	(V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
+	(V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
+	(V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
+	(V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
+	(V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
+	(V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
+	(V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
+	(V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
+	(VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
+	(VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
+	(VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
+	(VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
+	(VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
+	(VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
+	(VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
+	(VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
+	(VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
+	(VOID_QI_V8DI_PCVOID_INT_INT): Add.
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
+	definitions accordingly.
+
+2017-01-17  Kito Cheng  <kito.cheng@gmail.com>
+	    Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+	PR target/79079
+	* internal-fn.c (expand_mul_overflow): Use convert_modes instead of
+	gen_lowpart.
+
+2017-01-17  Vladimir Makarov  <vmakarov@redhat.com>
+
+	PR target/79058
+	* ira-conflicts.c (ira_build_conflicts): Update total conflict
+	hard regs for inner regno.
+
+2017-01-17  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/71207
+	* ipa-polymorphic-call.c (contains_type_p): Fix wrong
+	assumption and add comment.
+
+2017-01-17  Nathan Sidwell  <nathan@acm.org>
+
+	* ipa-visibility.c (localize_node): New function, broken out of ...
+	(function_and_variable_visibility): ... here. Call it.
+
+2017-01-17  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/77445
+	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
+	correctly set frequency of oudgoing edge.
+	(duplicate_thread_path): Fix profile updating.
+
+2017-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR other/79046
+	* configure.ac: Add GCC_BASE_VER.
+	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
+	version from BASE-VER file.
+	(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
+	(gcc.o): Depend on $(BASEVER).
+	* common.opt (dumpfullversion): New option.
+	* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
+	* doc/invoke.texi: Document -dumpfullversion.
+	* doc/install.texi: Document --with-gcc-major-version-only.
+	* configure: Regenerated.
+
+2017-01-17  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/71433
+	* tree-vrp.c (register_new_assert_for): Merge same asserts
+	on all incoming edges.
+	(process_assert_insertions_for): Handle insertions at the
+	beginning of BBs.
+
+2017-01-17  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* config/i386/cygwin.h (LIBGCJ_SONAME): Remove.
+	* config/i386/mingw32.h (LIBGCJ_SONAME): Remove.
+
+2017-01-17  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/78633
+	* config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid
+	RTL sharing.
+
+2017-01-17  Alan Modra  <amodra@gmail.com>
+
+	PR target/79066
+	* config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic.
+	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow
+	symbolic stack limit when pic.
+
+2017-01-16  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/78608
+	* gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN.
+
+2017-01-16  Jeff Law  <law@redhat.com>
+
+	Revert:
+	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.
+
+	PR tree-optimization/79090
+	PR tree-optimization/33562
+	PR tree-optimization/61912
+	PR tree-optimization/77485
+	* tree-ssa-dse.c (compute_trims): Accept STMT argument.  Dump STMT
+	and computed trims into the dump file.
+
+2017-01-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove.
+
+2017-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/79089
+	* gimplify.c (gimplify_init_constructor): If want_value and
+	object == lhs, unshare lhs to avoid invalid tree sharing.  Formatting
+	fix.
+
+	PR target/79080
+	* loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on
+	sequence.  Formatting fixes.
+	(doloop_optimize): Formatting fixes.
+
+	PR driver/49726
+	* gcc.c (debug_level_greater_than_spec_func): New function.
+	(static_spec_functions): Add debug-level-gt spec function.
+	(ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of
+	!g0.
+	* config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
+	* config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
+	* common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames,
+	gpubnames, ggnu-pubnames, gno-record-gcc-switches,
+	grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs,
+	gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag.
+
+2017-01-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and
+	QImode fixups to general and mask registers only.
+
+2017-01-16  Carl Love  <cel@us.ibm.com>
+
+	* config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support
+	for built-in functions
+	vector signed char vec_nabs (vector signed char)
+	vector signed short vec_nabs (vector signed short)
+	vector signed int vec_nabs (vector signed int)
+	vector signed long long vec_nabs (vector signed long long)
+	vector float vec_nabs (vector float)
+	vector double vec_nabs (vector double)
+	* config/rs6000/rs6000-builtin.def: Add definitions for NABS functions
+	and NABS overload.
+	* config/rs6000/altivec.md: New define_expand nabs<mode>2 types
+	* config/rs6000/altivec.h: New define for vec_nabs built-in function.
+	* doc/extend.texi: Update the documentation file for the new built-in
+	functions.
+
+2017-01-16  Martin Sebor  <msebor@redhat.com>
+
+	* gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning
+	message.
+
+2017-01-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rtx_is_swappable_p): Change
+	UNSPEC_VSX__XXSPLTD to require special splat handling.
+
+2017-01-16  David Malcolm  <dmalcolm@redhat.com>
+
+	PR bootstrap/78616
+	* system.h: Poison strndup.
+
+2017-01-16  Alan Modra  <amodra@gmail.com>
+
+	PR target/79098
+	* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't
+	use a switch.
+
+2017-01-16  Georg-Johann Lay  <avr@gjlay.de>
+
+	* config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4.
+
+2017-01-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_legitimate_combined_insn): Do not
+	call recog here.  Assert that INSN_CODE (insn) is non-negative.
+
+2017-01-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR target/72749
+	* cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the
+	fallthrough.
+	* haifa-sched.c (dump_insn_stream): Don't crash if there is a label
+	in the currently scheduled RTL fragment.
+
+2017-01-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	PR rtl-optimization/78751
+	* ifcvt.c (find_cond_trap): If we generated a non-existing insn,
+	give up.
+
+2017-01-14  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/79090
+	* tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and
+	variable length stores.
+	(compute_trims): Delete dead assignment to *trim_tail.
+	(dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with
+	zero length.
+
+2017-01-14  Bernd Schmidt  <bschmidt@redhat.com>
+
+	PR rtl-optimization/78626
+	PR rtl-optimization/78727
+	* cprop.c (one_cprop_pass): Collect unconditional traps in the middle
+	of a block, and split such blocks after everything else is finished.
+
+2017-01-14  Alan Modra  <amodra@gmail.com>
+
+	PR target/72749
+	* combine.c (recog_for_combine_1): Set INSN_CODE before calling
+	target legitimate_combined_insn.
+	* config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define.
+	(rs6000_legitimate_combined_insn): New function.
+	* config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove
+	all uses.
+	(ctr<mode>_internal3): Rename from *ctr<mode>_internal5.
+	(ctr<mode>_internal4): Rename from *ctr<mode>_internal6.
+	(ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name.
+
+2017-01-14  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/frontends.texi (G++ and GCC): Remove references to Java.
+
+2017-01-13  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/33562
+	PR tree-optimization/61912
+	PR tree-optimization/77485
+	* tree-ssa-dse.c (delete_dead_call): Accept gsi rather than
+	a statement.
+	(delete_dead_assignment): Likewise.
+	(dse_dom_walker::dse_optimize_stmt): Pass in the gsi rather than
+	statement to delete_dead_call and delete_dead_assignment.
+
+2017-01-13  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c/78304
+	* substring-locations.c (format_warning_va): Strengthen case 1 so
+	that both endpoints of the substring must be within the format
+	range for just the substring to be printed.
+
+2017-01-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.opt (msgx): Use ix86_isa_flags2 variable.
+	* config/i386/i386.c (ix86_target_string): Add missing options
+	to isa_opts and reorder options by implied ISAs.  Rename isa_opts2 to
+	isa2_opts, ix86_flag_opts to flag2_opts, ix86_target_other to
+	flags_other and ix86_target_other to flags2_other.  Display unknown
+	isa2 options.
+	(ix86_valid_target_attribute_inner_p): Add missing options and
+	reorder options by implied ISAs, as in ix86_target_string.
+
+2017-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* hash-table.h (hash_table::too_empty_p): New function.
+	(hash_table::expand): Use it.
+	(hash_table::traverse): Likewise.
+	(hash_table::empty_slot): Use sizeof (value_type) instead of
+	sizeof (PTR) to convert bytes to elements.  Shrink the table
+	if the current size is excessive for the current number of
+	elements.
+
+2017-01-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+	* ira-costs.c (record_reg_classes): Break from the inner loop
+	early once alt_fail is known to be true.  Update outer loop
+	handling accordingly.
+
+2017-01-13  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-dse.c (decrement_count): New function.
+	(increment_start_addr, maybe_trim_memstar_call): Likewise.
+	(dse_dom_walker::optimize_stmt): Call maybe_trim_memstar_call directly
+	when we know the partially dead statement is a mem* function.
+
+	PR tree-optimization/61912
+	PR tree-optimization/77485
+	* tree-ssa-dse.c: Include expr.h.
+	(maybe_trim_constructor_store): New function.
+	(maybe_trim_partially_dead_store): Call maybe_trim_constructor_store.
+
+	PR tree-optimization/33562
+	PR tree-optimization/61912
+	PR tree-optimization/77485
+	* doc/invoke.texi: Document new dse-max-object-size param.
+	* params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM.
+	* tree-ssa-dse.c: Include params.h.
+	(dse_store_status): New enum.
+	(initialize_ao_ref_for_dse): New, partially extracted from
+	dse_optimize_stmt.
+	(valid_ao_ref_for_dse, normalize_ref): New.
+	(setup_live_bytes_from_ref, compute_trims): Likewise.
+	(clear_bytes_written_by, maybe_trim_complex_store): Likewise.
+	(maybe_trim_partially_dead_store): Likewise.
+	(maybe_trim_complex_store): Likewise.
+	(dse_classify_store): Renamed from dse_possibly_dead_store_p.
+	Track what bytes live from the original store.  Return tri-state
+	for dead, partially dead or live.
+	(dse_dom_walker): Add constructor, destructor and new private members.
+	(delete_dead_call, delete_dead_assignment): New extracted from
+	dse_optimize_stmt.
+	(dse_optimize_stmt): Make a member of dse_dom_walker.
+	Use initialize_ao_ref_for_dse.
+
+	PR tree-optimization/33562
+	PR tree-optimization/61912
+	PR tree-optimization/77485
+	* sbitmap.h (bitmap_count_bits): Prototype.
+	(bitmap_clear_range, bitmap_set_range): Likewise.
+	* sbitmap.c (bitmap_clear_range): New function.
+	(bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise.
+
+2017-01-13  Martin Liska  <mliska@suse.cz>
+
+	PR ipa/79043
+	* function.c (set_cfun): Add new argument force.
+	* function.h (set_cfun): Likewise.
+	* ipa-inline-transform.c (inline_call): Use the function when
+	strict alising from is dropped for function we inline to.
+
+2017-01-13  Richard Biener  <rguenther@suse.de>
+
+	* tree-pretty-print.c (dump_generic_node): Fix inverted condition
+	for dumping GIMPLE INTEGER_CSTs.
+
+2017-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__
+	to 201112L since C++17.
+
+2017-01-13  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR sanitizer/78887
+	* asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators
+	if -fsanitize=kernel-address is present.
+
+2017-01-13  Richard Biener  <rguenther@suse.de>
+
+	* tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs
+	as _Literal ( type ) number in case usual suffixes do not
+	preserve all information.
+
+2017-01-13  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/77283
+	* gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h
+	and ssa-iterators.h.
+	(is_feasible_trace): Implement a cost model based on joiner
+	PHI node uses.
+
+2017-01-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/79004
+	* config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting
+	char or short to __float128/_Float128 directly.
+
+2017-01-12  Martin Sebor  <msebor@redhat.com>
+
+	to -Wformat-overflow.
+	* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
+	(min_bytes_remaining): Same.
+	(get_string_length): Same.
+	(format_string): Same.
+	(format_directive): Same.
+	(add_bytes): Same.
+	(pass_sprintf_length::handle_gimple_call): Same.
+
+2017-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* gimple-ssa-sprintf.c (try_substitute_return_value): Remove
+	info.nowrite calls with no lhs that can't throw.  Return bool
+	whether gsi_remove has been called or not.
+	(pass_sprintf_length::handle_gimple_call): Return bool whether
+	try_substitute_return_value called gsi_remove.  Formatting fix.
+	(pass_sprintf_length::execute): Don't use gsi_remove if
+	handle_gimple_call returned true.
+
+	PR bootstrap/79069
+	* cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't
+	be removed due to side-effects, don't remove following barrier nor
+	turn the successor edge into fallthru edge.
+
+2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+	PR target/79044
+	* config/rs6000/rs6000.c (insn_is_swappable_p): Mark
+	element-reversing loads and stores as not swappable.
+
+2017-01-12  Nathan Sidwell  <nathan@acm.org>
+	    Nicolai Stange  <nicstange@gmail.com>
+
+	* combine.c (try_combine): Don't ignore result of overlap checking
+	loop.  Combine overlap & asm check into single loop.
+
+2017-01-12  Richard Biener  <rguenther@suse.de>
+
+	* tree-pretty-print.c (dump_generic_node): Provide -gimple
+	variant for MEM_REF.  Sanitize INTEGER_CST for -gimple.
+
+2017-01-12  Richard Biener  <rguenther@suse.de>
+
+	* tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION
+	and TS_TARGET_OPTION directly derive from TS_BASE.
+	* tree-core.h (tree_optimization_option): Derive from tree_base.
+	(tree_target_option): Likewise.
+
+2017-01-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (memory_address_length): Increase len
+	only when rip_relative_addr_p returns false.
+
+2017-01-11  Julia Koval  <julia.koval@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New.
+	(OPTION_MASK_ISA_SGX_SET): New.
+	(ix86_handle_option): Handle OPT_msgx.
+	* config.gcc: Added sgxintrin.h.
+	* config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__.
+	* config/i386/i386.c (ix86_target_string): Add -msgx.
+	(PTA_SGX): New.
+	(ix86_option_override_internal): Handle new options.
+	(ix86_valid_target_attribute_inner_p): Add sgx.
+	* config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New.
+	* config/i386/i386.opt: Add msgx.
+	* config/i386/sgxintrin.h: New file.
+	* config/i386/x86intrin.h: Add sgxintrin.h.
+
+2017-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/71537
+	* fold-const.c (maybe_nonzero_address): Return 1 for function
+	local objects.
+	(tree_single_nonzero_warnv_p): Don't handle function local objects
+	here.
+
+	PR c++/72813
+	* gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps
+	of c-header.
+
+2017-01-11  David Malcolm  <dmalcolm@redhat.com>
+
+	PR driver/78877
+	* opts.c: Include "spellcheck.h"
+	(struct string_fragment): New struct.
+	(struct edit_distance_traits<const string_fragment &>): New
+	struct.
+	(get_closest_sanitizer_option): New function.
+	(parse_sanitizer_options): Offer suggestions for unrecognized arguments.
+
+2017-01-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease
+	by 12.
+	(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always
+	DWARF_COMPILE_UNIT_HEADER_SIZE plus 12.
+	(DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define.
+	(calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE
+	for initial die_offset if dwarf_split_debug_info.
+	(output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for
+	initial next_die_offset if dwo_id is non-NULL.  Don't emit padding
+	fields.
+	(output_skeleton_debug_sections): Formatting fix.  Use
+	DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of
+	DWARF_COMPILE_UNIT_HEADER_SIZE.  Don't emit padding.
+
+2017-01-11  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* config/arm/cortex-a53.md: Add bypasses for
+	cortex_a53_r2f_cvt.
+	(cortex_a53_r2f): Only use for transfers.
+	(cortex_a53_f2r): Likewise.
+	(cortex_a53_r2f_cvt): Add reservation for conversions.
+	(cortex_a53_f2r_cvt): Likewise.
+
+2017-01-11  Tamar Christina  <tamar.christina@arm.com>
+
+	* config/arm/arm_neon.h: Add __artificial__ and gnu_inline
+	to all inlined functions, change static to extern.
+
+2017-01-11  Christophe Lyon  <christophe.lyon@linaro.org>
+
+	PR target/78253
+	* config/arm/arm.c (legitimize_pic_address): Handle reference to
+	weak symbol.
+	(arm_assemble_integer): Likewise.
+
+2017-01-11  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config.gcc: Use new awk script to check CPU, FPU and architecture
+	parameters for --with-... options.
+	* config/arm/parsecpu.awk: New file
+	* config/arm/arm-cpus.in: New file.
+	* config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def
+	files.
+	* config/arm/arm.c: Include arm-cpu-data.h instead of processing .def
+	files.
+	* config/arm/t-arm: Update dependency rules.
+	* common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead
+	of processing .def files.
+	* config/arm/genopt.sh: Deleted.
+	* config/arm/gentune.sh: Deleted.
+	* config/arm/arm-cores.def: Deleted.
+	* config/arm/arm-arches.def: Deleted.
+	* config/arm/arm-fpus.def: Deleted.
+	* config/arm/arm-tune.md: Regenerated.
+	* config/arm/arm-tables.opt: Regenerated.
+	* config/arm/arm-cpu.h: New generated file.
+	* config/arm/arm-cpu-data.h: New generated file.
+	* config/arm/arm-cpu-cdata.h: New generated file.
+
+2017-01-11  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR lto/79042
+	* lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
+	bit.
+	(input_varpool_node): Unpack dynamically_initialized bit.
+
+2017-01-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR rtl-optimization/79032
+	* lra-constraints.c (simplify_operand_subreg): In the MEM case, test
+	the alignment of the adjusted memory reference against that of MODE,
+	instead of the alignment of the original memory reference.
+
+2017-01-11  Martin Jambor  <mjambor@suse.cz>
+
+	* hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
+	test.
+	* ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
+	decorated functions.
+
+2017-01-11  Richard Biener  <rguenther@suse.de>
+
+	* tree-vrp.c (evrp_dom_walker::before_dom_children): Also
+	set range/nonnull info for PHI results.  Do not set it on
+	stmts marked for removal.
+
+2017-01-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* expr.c (store_field): In the bitfield case, fetch the return value
+	from the registers before applying a single big-endian adjustment.
+	Always do a final load for a BLKmode value not larger than a word.
+
+2017-01-10  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c++/77949
+	* input.c (selftest::test_accessing_ordinary_linemaps): Verify
+	that we correctly handle column numbers greater than
+	LINE_MAP_MAX_COLUMN_NUMBER.
+
+2017-01-10  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/78245
+	* gimple-ssa-sprintf.c (get_destination_size): Call
+	{init,fini}object_sizes.
+	* tree-object-size.c (addr_object_size): Adjust.
+	(pass_through_call): Adjust.
+	(pass_object_sizes::execute): Adjust.
+	* tree-object-size.h (fini_object_sizes): Declare.
+
+2017-01-10  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/78775
+	* builtins.c (get_size_range): Move...
+	* calls.c: ...to here.
+	(alloc_max_size): Accept zero argument.
+	(operand_signed_p): Remove.
+	(maybe_warn_alloc_args_overflow): Call get_size_range.
+	* calls.h (get_size_range): Declare.
+
+2017-01-10  Joe Seymour  <joe.s@somniumtech.com>
+
+	* config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data
+	from TI's devices.csv file as of September 2016.
+	* config/msp430/msp430.c (msp430_mcu_data): Likewise.
+
+2017-01-10  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/extend.texi: Tweak formatting to fix overfull hbox warnings.
+	* doc/invoke.texi: Likewise.
+	* doc/md.texi: Likewise.
+	* doc/objc.texi: Likewise.
+
+2017-01-10  Joshua Conner  <joshconner@google.com>
+
+	* config/arm/fuchsia-elf.h: New file.
+	* config/fuchsia.h: New file.
+	* config.gcc (*-*-fuchsia*): Set native_system_header_dir.
+	(aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to
+	targets.
+	* config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts.
+
+2016-01-10  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/79034
+	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
+	Propagate out degenerate PHIs in the joiner.
+
+2017-01-10  Martin Liska  <mliska@suse.cz>
+
+	* ipa-icf.c (sort_sem_items_by_decl_uid): New function.
+	(sort_congruence_classes_by_decl_uid): Likewise.
+	(sort_congruence_class_groups_by_decl_uid): Likewise.
+	(sem_item_optimizer::merge_classes): Sort class, groups in these
+	classes and members in the groups by DECL_UID of declarations.
+	This would make merge operations stable.
+
+2017-01-10  Martin Liska  <mliska@suse.cz>
+
+	* ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove
+	usage of m_classes_vec.
+	(sem_item_optimizer::~sem_item_optimizer):  Likewise.
+	(sem_item_optimizer::get_group_by_hash): Likewise.
+	(sem_item_optimizer::subdivide_classes_by_equality): Likewise.
+	(sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise.
+	(sem_item_optimizer::verify_classes): Likewise.
+	(sem_item_optimizer::process_cong_reduction): Likewise.
+	(sem_item_optimizer::dump_cong_classes): Likewise.
+	(sem_item_optimizer::merge_classes): Likewise.
+	* ipa-icf.h (congruence_class_hash): Rename from
+	congruence_class_group_hash.  Remove declaration of m_classes_vec.
+
+2017-01-10  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
+	OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
+	* config.gcc: Add avx512vpopcntdqintrin.h.
+	* config/i386/avx512vpopcntdqintrin.h: New.
+	* config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
+	* config/i386/i386-builtin-types.def: Add new types.
+	* config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
+	__builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
+	__builtin_ia32_vpopcountq_v8di_mask): New.
+	* config/i386/i386-c.c (ix86_target_macros_internal): Define
+	__AVX512VPOPCNTDQ__.
+	* config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
+	(PTA_AVX512VPOPCNTDQ): Define.
+	* config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
+	TARGET_AVX512VPOPCNTDQ_P): Define.
+	* config/i386/i386.opt: Add mavx512vpopcntdq.
+	* config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
+	* config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.
+
+2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/77484
+	* predict.def (PRED_CALL): Set to 67.
+
+2017-01-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* expr.c (store_field): In the bitfield case, if the value comes from
+	a function call and is of an aggregate type returned in registers, do
+	not modify the field mode; extract the value in all cases if the mode
+	is BLKmode and the size is not larger than a word.
+
+2017-01-09  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR target/71017
+	* config/i386/cpuid.h: Fix undefined behavior.
+
+2017-01-04  Jeff Law  <law@redhat.com>
+
+	PR tree-optimization/79007
+	PR tree-optimization/67955
+	* tree-ssa-alias.c (same_addr_size_stores_p): Only need to be
+	conservative for pt.null when flag_non_call_exceptions is on.
+
+2017-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR translation/79019
+	PR translation/79020
+	* params.def (PARAM_INLINE_MIN_SPEEDUP,
+	PARAM_IPA_CP_SINGLE_CALL_PENALTY,
+	PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos
+	in descriptions.
+	* config/avr/avr.opt (maccumulate-args): Likewise.
+	* config/msp430/msp430.opt (mwarn-mcu): Likewise.
+	* common.opt (freport-bug): Likewise.
+	* cif-code.def (CIF_FINAL_ERROR): Likewise.
+	* doc/invoke.texi (ipa-cp-single-call-penalty): Likewise.
+	* config/s390/s390.c (s390_invalid_binary_op): Fix spelling in
+	translatable string.
+	* config/i386/i386.c (function_value_32): Likewise.
+	* config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise.
+	* config/msp430/msp430.c (msp430_option_override, msp430_attr):
+	Likewise.
+	* config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise.
+	* common/config/msp430/msp430-common.c (msp430_handle_option):
+	Likewise.
+	* symtab.c (symtab_node::verify_base): Likewise.
+	* opts.c (set_debug_level): Likewise.
+	* tree.c (verify_type_variant): Likewise.  Fix typo in comment.
+	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
+	missing whitespace to translatable strings.
+	* config/avr/avr.md (bswapsi2): Fix typo in comment.
+	* config/sh/superh.h: Likewise.
+	* config/i386/xopintrin.h: Likewise.
+	* config/i386/znver1.md: Likewise.
+	* config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise.
+	* ipa-inline-analysis.c (compute_inline_parameters): Likewise.
+	* double-int.h (struct double_int): Likewise.
+	* double-int.c (div_and_round_double): Likewise.
+	* wide-int.cc: Likewise.
+	* tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
+	* tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
+	* cfgcleanup.c (crossjumps_occured): Renamed to ...
+	(crossjumps_occurred): ... this.
+	(try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg):
+	Adjust all uses.
+
+	PR tree-optimization/78899
+	* tree-if-conv.c (version_loop_for_if_conversion): Instead of
+	returning bool return struct loop *, NULL for failure and the new
+	loop on success.
+	(versionable_outer_loop_p): Don't version outer loop if it has
+	dont_vectorized bit set.
+	(tree_if_conversion): When versioning outer loop, ensure
+	tree_if_conversion is performed also on the inner loop of the
+	non-vectorizable outer loop copy.
+	* tree-vectorizer.c (set_uid_loop_bbs): Formatting fix.  Fold
+	LOOP_VECTORIZED in inner loop of the scalar outer loop and
+	prevent vectorization of it.
+	(vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure
+	the outer loop vectorization of the non-scalar version is attempted
+	before vectorization of the inner loop in scalar version.  If
+	outer LOOP_VECTORIZED guarded loop is not vectorized, prevent
+	vectorization of its inner loop.
+	* tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop
+	has 2 inner loops, rename also on edges from bb whose single pred
+	is outer_loop->header.  Fix typo in function comment.
+
+2017-01-09  Martin Sebor  <msebor@redhat.com>
+
+	PR bootstrap/79033
+	* asan.c (asan_emit_stack_protection): Increase local buffer size
+	to avoid snprintf truncation warning.
+
+2017-01-09  Andrew Pinski  <apinski@cavium.com>
+
+	* config/aarch64/aarch64-cores.def: Add thunderx2t99.  Change vulcan
+	to reference thunderx2t99 for the tuning structure
+	* config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs):
+	Rename to ...
+	(thunderx2t99_extra_costs): This.
+	* config/aarch64/aarch64-tune.md: Regenerate.
+	* config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ...
+	(vulcan_addrcost_table): This.
+	(vulcan_regmove_cost): Rename to ...
+	(thunderx2t99_regmove_cost): This.
+	(vulcan_vector_cost): Rename to ...
+	(thunderx2t99_vector_cost): this.
+	(vulcan_branch_cost): Rename to ...
+	(thunderx2t99_branch_cost): This.
+	(vulcan_tunings): Rename to ...
+	(thunderx2t99_tunings): This and s/vulcan/thunderx2t99 .
+	* doc/invoke.texi (AARCH64/mtune): Add thunderx2t99.
+
+2017-01-09  Martin Jambor  <mjambor@suse.cz>
+
+	PR ipa/78365
+	PR ipa/78599
+	* ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr.
+	* ipa-cp.c (ipa_vr_operation_and_type_effects): New function.
+	(propagate_vr_accross_jump_function): Use the above function for all
+	value range computations for pass-through jump functions and type
+	converasion from explicit value range values.
+	(ipcp_propagate_stage): Do not attempt to deduce types of formal
+	parameters from TYPE_ARG_TYPES.
+	* ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace.
+	(ipa_write_node_info): Stream type of the actual argument.
+	(ipa_read_node_info): Likewise. Also remove trailing whitespace.
+
+2017-01-09  Martin Liska  <mliska@suse.cz>
+
+	PR pch/78970
+	* gcc.c (driver_handle_option): Handle OPT_E and set have_E.
+	(lookup_compiler): Do not show error message with have_E.
+
+2017-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78938
+	* tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR
+	where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use
+	BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of
+	{EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR.  Formatting
+	fixes.
+
+2017-01-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* tree-ssa-address.c (gen_addr_rtx): Don't handle index if it
+	is const0_rtx.
+
+2017-01-09  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/78997
+	* tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA
+	name condition properly.
+
+2017-01-09  Richard Biener  <rguenther@suse.de>
+
+	PR debug/79000
+	* dwarf2out.c (is_cxx): New overload with context.
+	(is_naming_typedef_decl): Use it.
+
+2017-01-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* invoke.texi (Option Summary): Correct spacing in option lists
+	and add line breaks to fix over-long lines.
+
+2017-01-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR middle-end/17660
+
+	* extend.texi (Common Variable Attributes): Add xref to GCC
+	Internals manual to explain mode attribute keywords.
+
+2017-01-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR other/16519
+	* doc/invoke.texi (Option Summary): Move -pthread to Linker Options
+	and Preprocessor Options.
+	(Options for Linking): Document -pthread here....
+	(RS/6000 and PowerPC Options): ...not here.
+	(Solaris 2 Options): ...or here.
+	* doc/cppopts.texi: Document -pthread.
+
+2017-01-08  Martin Sebor  <msebor@redhat.com>
+
+	PR middle-end/77708
+	* doc/invoke.texi (Warning Options): Document -Wformat-truncation.
+	* gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt):
+	New member functions.
+	(format_directive): Used them.
+	(add_bytes): Same.
+	(pass_sprintf_length::handle_gimple_call): Same.
+	* graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size
+	to avoid truncation for any argument.
+	(extract_affine_mul): Same.
+	* tree.c (get_file_function_name): Same.
+
+2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/77484
+	* predict.def (PRED_INDIR_CALL): Set to 86.
+
+2017-01-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR preprocessor/54124
+	* doc/cppopts.texi: Reformat -d subtable to list the full name
+	of the options.  Add cross-reference to the docs for the general
+	compiler -d options.
+	* doc/invoke.texi (Developer Options): Add cross-reference to the
+	preprocessor-specific -d option documentation.
+
+2017-01-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR preprocessor/13498
+	* doc/cpp.texi (Search Path): Rewrite to remove obsolete and
+	redudant material, and reflect new command-line options.
+	(System Headers): Likewise.
+
+2017-01-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* doc/cppdiropts.texi: Merge documentation of -I, -iquote,
+	-isystem, and -idirafter.  Copy-edit.
+	* doc/cppopts.texi: Copy-edit.  Remove contradiction about
+	default for -ftrack-macro-expansion.  Delete obsolete and
+	badly-formatted implementation details about -fdebug-cpp output.
+	* doc/cppwarnopts.texi: Copy-edit.
+
+2017-01-07  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c++/72803
+	* input.c (selftest::test_accessing_ordinary_linemaps): Verify
+	that the transition from a max line width >= 1<<10 to narrower
+	lines works correctly.
+
+2017-01-07  Alexandre Oliva  <aoliva@redhat.com>
+
+	* doc/options.texi (PerFunction): New.
+	* opt-functions.awk (switch_flags): Map both Optimization and
+	PerFunction to CL_OPTIMIZATION.
+	* opth-gen.awk: Test for PerFunction flag along with
+	Optimization.
+	* optc-save-gen.awk: Likewise.  Introduce var_opt_hash and set
+	it only when the latter is present.  Skip those that don't in
+	the hash function generator.
+	* common.opt (fvar-tracking): Mark as PerFunction instead of
+	Optimization.
+	(fvar-tracking-assignments): Likewise.
+	(fvar-tracking-assignments-toggle): Likewise.
+	(fvar-tracking-uninit): Likewise.
+
+2017-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR translation/79018
+	* params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between
+	the and store.
+
+2017-01-06  Mikael Pettersson  <mikpelinux@gmail.com>
+
+	PR target/57583
+	* config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option.
+	* config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle
+	TARGET_LONG_JUMP_TABLE_OFFSETS.
+	* config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
+	* config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
+	* config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise.
+	(ASM_OUTPUT_ADDR_DIFF_ELF): Likewise.
+	* config/m68k/m68k.md (tablejump expander): Likewise.
+	(*tablejump_pcrel_hi): Renamed from unnamed insn, reject
+	TARGET_LONG_JUMP_TABLE_OFFSETS.
+	(*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS.
+	* doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets.
+
+2017-01-06  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
+	    David Holsgrove <david.holsgrove@xilinx.com>
+
+	* common/config/microblaze/microblaze-common.c
+	(TARGET_EXCEPT_UNWIND_INFO): Remove.
+	* config/microblaze/microblaze-protos.h (microblaze_eh_return):
+	New prototype.
+	* config/microblaze/microblaze.c (microblaze_must_save_register)
+	(microblaze_expand_epilogue, microblaze_return_addr): Handle
+	calls_eh_return.
+	(microblaze_eh_return): New function.
+	* config/microblaze/microblaze.h (RETURN_ADDR_OFFSET)
+	(EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM)
+	(EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros.
+	* config/microblaze/microblaze.md (eh_return): New pattern.
+
+2017-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP,
+	GCC_DIAGNOSTIC_STRINGIFY): Define.
+
+	* read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare warning.
+
+2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm.md (<mcrr>): New.
+	(<mrrc>): New.
+	* config/arm/arm.c (arm_arch5te): New.
+	(arm_option_override): Set arm_arch5te.
+	(arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc
+	and mrrc2.
+	* config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to...
+	(arm_mcrr_qualifiers): ... this. New.
+	(MRRC_QUALIFIERS): Define to...
+	(arm_mrrc_qualifiers): ... this. New.
+	* config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc,
+	__arm_mrrc2): New.
+	* config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New.
+	* config/arm/iterators.md (MCRRI, mcrr, MCRR): New.
+	(MRRCI, mrrc, MRRC): New.
+	* config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC,
+	VUNSPEC_MRRC2): New.
+
+2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm.md (<mcr>): New.
+	(<mrc>): New.
+	* config/arm/arm.c (arm_coproc_builtin_available): Add
+	support for mcr, mrc, mcr2 and mrc2.
+	* config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to...
+	(arm_mcr_qualifiers): ... this. New.
+	(MRC_QUALIFIERS): Define to ...
+	(arm_mrc_qualifiers): ... this. New.
+	(MCR_QUALIFIERS): Define to ...
+	(arm_mcr_qualifiers): ... this. New.
+	* config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2,
+	__arm_mrc2): New.
+	* config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New.
+	* config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New.
+	* config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC,
+	VUNSPEC_MRC2): New.
+
+2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm.md (*ldc): New.
+	(*stc): New.
+	(<ldc>): New.
+	(<stc>): New.
+	* config/arm/arm.c (arm_coproc_builtin_available): Add
+	support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l.
+	(arm_coproc_ldc_stc_legitimate_address): New.
+	* config/arm/arm-builtins.c (arm_type_qualifiers): Add
+	'qualifier_const_pointer'.
+	(LDC_QUALIFIERS): Define to...
+	(arm_ldc_qualifiers): ... this. New.
+	(STC_QUALIFIERS): Define to...
+	(arm_stc_qualifiers): ... this. New.
+	* config/arm/arm-protos.h
+	(arm_coproc_ldc_stc_legitimate_address): New.
+	* config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc,
+	__arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New.
+	* config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc,
+	stc2, stcl, stc2l): New.
+	* config/arm/constraints.md (Uz): New.
+	* config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New.
+	* config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL,
+	VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL,
+	VUNSPEC_STC2L): New.
+
+2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm.md (<cdp>): New.
+	* config/arm/arm.c (neon_const_bounds): Rename this ...
+	(arm_const_bounds): ... this.
+	(arm_coproc_builtin_available): New.
+	* config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase.
+	(arm_type_qualifiers): Add 'qualifier_unsigned_immediate'.
+	(CDP_QUALIFIERS): Define to...
+	(arm_cdp_qualifiers): ... this. New.
+	(void_UP): Define.
+	(arm_expand_builtin_args): Add case for 6 arguments.
+	* config/arm/arm-protos.h (neon_const_bounds): Rename this ...
+	(arm_const_bounds): ... this.
+	(arm_coproc_builtin_available): New.
+	* config/arm/arm_acle.h (__arm_cdp): New.
+	(__arm_cdp2): New.
+	* config/arm/arm_acle_builtins.def (cdp): New.
+	(cdp2): New.
+	* config/arm/iterators.md (CDPI,CDP,cdp): New.
+	* config/arm/neon.md: Rename all 'neon_const_bounds' to
+	'arm_const_bounds'.
+	* config/arm/types.md (coproc): New.
+	* config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New.
+	* doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics.
+	* doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok,
+	arm_coproc3_ok, arm_coproc4_ok): Document new effective targets.
+
+2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New.
+	(UBINOP_QUALIFIERS): New.
+	(si_UP): Define.
+	(acle_builtin_data): New. Change comment.
+	(arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H,
+	ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH,
+	ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include
+	arm_acle_builtins.def.
+	(ARM_BUILTIN_ACLE_PATTERN_START): Define.
+	(arm_init_acle_builtins): New.
+	(CRC32_BUILTIN): Remove.
+	(bdesc_2arg): Remove entries for crc32b, crc32h, crc32w,
+	crc32cb, crc32ch and crc32cw.
+	(arm_init_crc32_builtins): Remove.
+	(arm_init_builtins): Use arm_init_acle_builtins rather
+	than arm_init_crc32_builtins.
+	(arm_expand_acle_builtin): New.
+	(arm_expand_builtin): Use 'arm_expand_acle_builtin'.
+	* config/arm/arm_acle_builtins.def: New.
+
+2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+	* config/arm/arm-builtins.c (neon_builtin_datum): Rename to ..
+	(arm_builtin_datum): ... this.
+	(arm_init_neon_builtin): Rename to ...
+	(arm_init_builtin): ... this. Add a new parameters PREFIX
+	and USE_SIG_IN_NAME.
+	(arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with
+	'arm_init_builtin'. Replace type 'neon_builtin_datum' with
+	'arm_builtin_datum'.
+	(arm_init_vfp_builtins): Likewise.
+	(builtin_arg): Rename enum's replacing 'NEON_ARG' with
+	'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY.
+	(arm_expand_neon_args): Rename to ...
+	(arm_expand_builtin_args): ... this. Rename builtin_arg
+	enum values and differentiate between ARG_BUILTIN_MEMORY
+	and ARG_BUILTIN_NEON_MEMORY.
+	(arm_expand_neon_builtin_1): Rename to ...
+	(arm_expand_builtin_1): ... this. Rename builtin_arg enum
+	values, arm_expand_builtin_args and add bool parameter NEON.
+	(arm_expand_neon_builtin): Use arm_expand_builtin_1.
+	(arm_expand_vfp_builtin): Likewise.
+	(NEON_MAX_BUILTIN_ARGS): Remove, it was unused.
+
+2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/77484
+	* predict.def (PRED_POLYMORPHIC_CALL): Set to 59.
+	* predict.c (tree_estimate_probability_bb): Reverse direction of
+	polymorphic call predictor.
+
+2017-01-06  David Malcolm  <dmalcolm@redhat.com>
+
+	* passes.c (execute_one_pass): Split out pass-skipping logic into...
+	(determine_pass_name_match): ...this new function and...
+	(should_skip_pass_p): ...this new function.
+
+2017-01-06  Nathan Sidwell  <nathan@acm.org>
+
+	* ipa-visibility.c (function_and_variable_visibility): Reformat
+	comments and long lines.  Remove extrneous if.
+	* symtab.c (symtab_node::make_decl_local): Fix code format.
+	(symtab_node::set_section_for_node): Fix comment typo.
+
+2017-01-06  Martin Liska  <mliska@suse.cz>
+
+	PR bootstrap/79003
+	* lra-constraints.c: Rename invariant to lra_invariant.
+	* predict.c (set_even_probabilities): Initialize e to NULL.
+
+2017-01-05  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/78910
+	* gimple-ssa-sprintf.c (tree_digits): Add an argument.
+	(format_integer): Correct off-by-one error in the handling
+	of precision with negative numbers in signed conversions..
+
+2017-01-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry.
+
+2017-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71016
+	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to
+	factor_out_conditional_conversion.  Formatting fix.
+	(factor_out_conditional_conversion): Add cond_stmt argument.
+	If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of
+	cond_stmt and if arg0_def_stmt is not the only stmt in its bb.
+	Formatting fix.
+
+2017-01-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* Makefile.in (OBJS): Add read-md.o, read-rtl.o,
+	read-rtl-function.o, and selftest-rtl.o.
+	* config/aarch64/aarch64.c: Include selftest.h and selftest-rtl.h.
+	(selftest::aarch64_test_loading_full_dump): New function.
+	(selftest::aarch64_run_selftests): New function.
+	(TARGET_RUN_TARGET_SELFTESTS): Wire it up to
+	selftest::aarch64_run_selftests.
+	* config/i386/i386.c
+	(selftest::ix86_test_loading_dump_fragment_1): New function.
+	(selftest::ix86_test_loading_call_insn): New function.
+	(selftest::ix86_test_loading_full_dump): New function.
+	(selftest::ix86_test_loading_unspec): New function.
+	(selftest::ix86_run_selftests): Call the new functions.
+	* emit-rtl.c (maybe_set_max_label_num): New function.
+	* emit-rtl.h (maybe_set_max_label_num): New decl.
+	* function.c (instantiate_decls): Guard call to
+	instantiate_decls_1 with if (DECL_INITIAL (fndecl)).
+	* function-tests.c (selftest::verify_three_block_rtl_cfg): Remove
+	"static".
+	* gensupport.c (gen_reader::gen_reader): Pass "false"
+	for new "compact" param of rtx_reader.
+	* print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)"
+	rather than an empty string for NULL strings.
+	* read-md.c: Potentially include config.h rather than bconfig.h.
+	Wrap include of errors.h with #ifdef GENERATOR_FILE.
+	(have_error): New global, copied from errors.c.
+	(md_reader::read_name): Rename to...
+	(md_reader::read_name_1): ...this, adding "out_loc" param,
+	and converting "missing name or number" to returning false, rather
+	than failing.
+	(md_reader::read_name): Reimplement in terms of read_name_1.
+	(md_reader::read_name_or_nil): New function.
+	(md_reader::read_string): Handle "(nil)" by returning NULL.
+	(md_reader::md_reader): Add new param "compact".
+	(md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE.
+	(md_reader::read_file): New method.
+	* read-md.h (md_reader::md_reader): Add new param "compact".
+	(md_reader::read_file): New method.
+	(md_reader::is_compact): New accessor.
+	(md_reader::read_name): Convert return type from void to file_location.
+	(md_reader::read_name_or_nil): New decl.
+	(md_reader::read_name_1): New decl.
+	(md_reader::m_compact): New field.
+	(noop_reader::noop_reader): Pass "false" for new "compact" param
+	of rtx_reader.
+	(rtx_reader::rtx_reader): Add new "compact" param.
+	(rtx_reader::read_rtx_operand): Make virtual and convert return
+	type from void to rtx.
+	(rtx_reader::read_until): New decl.
+	(rtx_reader::handle_any_trailing_information): New virtual function.
+	(rtx_reader::postprocess): New virtual function.
+	(rtx_reader::finalize_string): New virtual function.
+	(rtx_reader::m_in_call_function_usage): New field.
+	(rtx_reader::m_reuse_rtx_by_id): New field.
+	* read-rtl-function.c: New file.
+	* selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function.
+	* selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro.
+	(selftest::verify_three_block_rtl_cfg): New decl.
+	* read-rtl-function.h: New file.
+	* read-rtl.c: Potentially include config.h rather than bconfig.h.
+	For host, include function.h, memmodel.h, and emit-rtl.h.
+	(one_time_initialization): New function.
+	(struct compact_insn_name): New struct.
+	(compact_insn_names): New array.
+	(find_code): Handle insn codes in compact dumps.
+	(apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE.
+	(bind_subst_iter_and_attr): Likewise.
+	(add_condition_to_string): Likewise.
+	(add_condition_to_rtx): Likewise.
+	(apply_attribute_uses): Likewise.
+	(add_current_iterators): Likewise.
+	(apply_iterators): Likewise.
+	(initialize_iterators): Guard usage of apply_subst_iterator with
+	#ifdef GENERATOR_FILE.
+	(read_conditions): Wrap with #ifdef GENERATOR_FILE.
+	(md_reader::read_mapping): Likewise.
+	(add_define_attr_for_define_subst): Likewise.
+	(add_define_subst_attr): Likewise.
+	(read_subst_mapping): Likewise.
+	(check_code_iterator): Likewise.
+	(rtx_reader::read_rtx): Likewise.  Move one-time initialization
+	logic to...
+	(one_time_initialization): New function.
+	(rtx_reader::read_until): New method.
+	(read_flags): New function.
+	(parse_reg_note_name): New function.
+	(rtx_reader::read_rtx_code): Initialize "iterator" to NULL.
+	Handle reuse_rtx ids.
+	Wrap iterator lookup within #ifdef GENERATOR_FILE.
+	Add parsing support for RTL dumps, mirroring the special-cases in
+	print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID
+	values, and calling handle_any_trailing_information.
+	(rtx_reader::read_rtx_operand): Convert return type from void
+	to rtx, returning return_rtx.  Handle case 'e'.  Call
+	finalize_string on XSTR and XTMPL fields.
+	(rtx_reader::read_nested_rtx):  Handle dumps in which trailing
+	 "(nil)" values were omitted.  Call the postprocess vfunc on the
+	return_rtx.
+	(rtx_reader::rtx_reader): Add new "compact" param and pass to base
+	class ctor.  Initialize m_in_call_function_usage.  Call
+	one_time_initialization.
+	* rtl-tests.c (selftest::test_uncond_jump): Call
+	set_new_first_and_last_insn.
+	* rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE.
+	* selftest-rtl.c: New file.
+	* selftest-rtl.h (class selftest::rtl_dump_test): New class.
+	(selftest::get_insn_by_uid): New decl.
+	* selftest-run-tests.c (selftest::run_tests): Call
+	read_rtl_function_c_tests.
+	* selftest.h  (selftest::read_rtl_function_c_tests): New decl.
+	* tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function
+	dumps.
+
+2017-01-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*testqi_ext_3): No need to handle memory
+	operands in a special way.  Assert that pos+len <= mode precision.
+
+2017-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* common.opt (fvect-cost-model): Remove RejectNegative flag, use
+	3 argument Alias with unlimited for the negative form.
+	(fno-vect-cost-model): Removed.
+
+2017-01-05  Martin Liska  <mliska@suse.cz>
+
+	* hsa-gen.c (gen_hsa_divmod): New function.
+	(gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD.
+
+2017-01-05  Martin Liska  <mliska@suse.cz>
+
+	PR pch/78970
+	* gcc.c (lookup_compiler): Reject '-' filename for a precompiled
+	header.
+
+2017-01-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_setmem): Unroll the loop for
+	small constant length operands.
+
+2017-01-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes
+	between loop iterations.
+
+2017-01-05  Martin Liska  <mliska@suse.cz>
+
+	PR sanitizer/78815
+	* gimplify.c (gimplify_decl_expr): Compare to
+	asan_poisoned_variables instread of checking flags.
+	(gimplify_target_expr): Likewise.
+	(gimplify_expr): Likewise.
+	(gimplify_function_tree): Conditionally initialize
+	asan_poisoned_variables.
+
+2017-01-04  Jeff Law  <law@redhat.com>
+
+	PR tree-optimizatin/78812
+	* rtl.h (contains_mem_rtx_p): Prototype.
+	* ifcvt.c (containts_mem_rtx_p): Move from here to...
+	* rtlanal.c (contains_mem_rtx_p): Here and remove static linkage.
+	* gcse.c (prune_expressions): Use contains_mem_rtx_p to discover
+	and prune MEMs that are not at the toplevel of a SET_SRC rtx.  Look
+	through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs.
+
+2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* input.c (assert_char_at_range): Default-initialize actual_range.
+
+2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* df-scan.c (df_ref_create_structure): Make regno unsigned,
+	to match the caller.
+
+2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* cfgexpand.c (expand_gimple_basic_block): Disregard debug
+	insns after final jump in test to emit dummy move.
+
+2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* gimple-iterator.h (gsi_one_nondebug_before_end_p): New.
+	* tree-eh.c (cleanup_empty_eh): Skip more debug stmts.
+
+2017-01-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* multiple_target.c (create_dispatcher_calls): Init e_next.
+	* tree-ssa-loop-split.c (split_loop): Init border.
+	* tree-vect-loop.c (vect_determine_vectorization_factor): Init
+	scalar_type.
+
+2017-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/71977
+	PR target/70568
+	PR target/78823
+	* config/rs6000/predicates.md (sf_subreg_operand): New predicate.
+	(altivec_register_operand): Do not return true if the operand
+	contains a SUBREG mixing SImode and SFmode.
+	(vsx_register_operand): Likewise.
+	(vsx_reg_sfsubreg_ok): New predicate.
+	(vfloat_operand): Do not return true if the operand contains a
+	SUBREG mixing SImode and SFmode.
+	(vint_operand): Likewise.
+	(vlogical_operand): Likewise.
+	(gpc_reg_operand): Likewise.
+	(int_reg_operand): Likewise.
+	* config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration.
+	* config/rs6000/rs6000.c (valid_sf_si_move): New function to
+	determine if a MOVSI or MOVSF operation contains SUBREGs that mix
+	SImode and SFmode.
+	(rs6000_emit_move_si_sf_subreg): New helper function.
+	(rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily
+	fixup SUBREGs involving SImode and SFmode.
+	* config/rs6000/vsx.md (SFBOOL_*): New constants that are operand
+	numbers for the new peephole2 optimization.
+	(peephole2 for SFmode unions): New peephole2 to optimize cases in
+	the GLIBC math library that do AND/IOR/XOR operations on single
+	precision floating point.
+	* config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal
+	target macros to say whether we need to avoid SUBREGs mixing
+	SImode and SFmode.
+	(TARGET_ALLOW_SF_SUBREG): Likewise.
+	* config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs.
+	(UNSPEC_SI_FROM_SF): Likewise.
+	(iorxor): Change spacing.
+	(and_ior_xor): New iterator for AND, IOR, and XOR.
+	(movsi_from_sf): New insns for SImode/SFmode SUBREG support.
+	(movdi_from_sf_zero_ext): Likewise.
+	(mov<mode>_hardfloat, FMOVE32 iterator): Use register_operand
+	instead of gpc_reg_operand.  Add SImode/SFmode SUBREG support.
+	(movsf_from_si): New insn for SImode/SFmode SUBREG support.
+	(fma<mode>4): Use gpc_reg_operand instead of register_operand.
+	(fms<mode>4): Likewise.
+	(fnma<mode>4): Likewise.
+	(fnms<mode>4): Likewise.
+	(nfma<mode>4): Likewise.
+	(nfms<mode>4): Likewise.
+
+2017-01-04  Marek Polacek  <polacek@redhat.com>
+
+	PR c++/64767
+	* doc/invoke.texi: Document -Wpointer-compare.
+
+2017-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without
+	RejectNegative.
+
+	* dwarf2out.c (output_loc_list): Don't throw away 64K+ location
+	descriptions for -gdwarf-5 and emit them as uleb128 instead of
+	2-byte data.
+
+2017-01-04  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+	PR target/78056
+	* doc/sourcebuild.texi (PowerPC-specific attributes): Add
+	documentation of the powerpc_popcntb_ok attribute.
+	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
+	code to issue warning messages if a requested CPU configuration is
+	not supported by the binary (assembler and loader) toolchain.
+	(spe_init_builtins): Add two assertions to prevent ICE if attempt is
+	made to define a built-in function that has been disabled.
+	(paired_init_builtins): Add assertion to prevent ICE if attempt is
+	made to define a built-in function that has been disabled.
+	(altivec_init_builtins): Add comment explaining why definition
+	of the DST built-in functions is not preceded by an assertion
+	check.  Add assertions to prevent ICE if attempts are made to
+	define an altivec predicate or an abs* built-in function that has
+	been disabled.
+	(htm_init_builtins): Add comment explaining why definition of the
+	htm built-in functions is not preceded by an assertion check.
+
+2017-01-04  Jeff Law  <law@redhat.com>
+
+	PR tree-optimizatin/67955
+	* tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first.
+	Allow any SSA_VAR_P as the base objects.  Use integer_zerop.  Verify
+	the points-to solution does not include pt_null.  Use DECL_PT_UID
+	unconditionally.
+
+2017-01-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (HI/SImode test with imm to QImode splitters):
+	Use gen_int_mode instead of gen_lopwart for const_int operands.
+
+2017-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/71563
+	* match.pd: Simplify X << Y into X if Y is known to be 0 or
+	out of range value - has low bits known to be zero.
+
+2017-01-04  Alan Modra  <amodra@gmail.com>
+
+	* Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+2017-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/77569
+	* input.c (ebcdic_execution_charset::on_error): Don't use strstr for
+	a substring of the message, but strcmp with the whole message.  Ifdef
+	ENABLE_NLS, translate the message first using dgettext.
+
+2017-01-03  Jeff Law  <law@redhat.com>
+
+	PR tree-optimizatin/78856
+	* tree-ssa-threadupdate.c: Include tree-vectorizer.h.
+	(mark_threaded_blocks): Remove code to truncate thread paths that
+	cross multiple loop headers.  Instead invalidate the cached loop
+	iteration information and handle case of a thread path walking
+	into an irreducible region.
+
+2017-01-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR target/78900
+	* config/rs6000/rs6000.c (rs6000_split_signbit): Change some
+	assertions.  Add support for doing the signbit if the IEEE 128-bit
+	floating point value is in a GPR.
+	* config/rs6000/rs6000.md (Fsignbit): Delete.
+	(signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
+	Update the length attribute if the value is in a GPR.
+	(signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
+	the sign or zero extension instruction, since the value is always 0/1.
+	(signbit<mode>2_dm2): Delete using <Fsignbit>.
+
+	PR target/78953
+	* config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
+	extracting SImode to a GPR register so that we can generate a
+	store, limit the vector to be in a traditional Altivec register
+	for the vextuwrx instruction.
+
+2017-01-03  Ian Lance Taylor  <iant@google.com>
+
+	* godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE.
+
+2017-01-03  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/78696
+	* gimple-ssa-sprintf.c (format_floating): Correct handling of
+	precision.  Use MPFR for %f for greater fidelity.  Correct handling
+	of %g.
+	(pass_sprintf_length::compute_format_length): Set width and precision
+	specified by asrerisk to void_node for vararg functions.
+	(try_substitute_return_value): Adjust dump output.
+
+2017-01-03  David Edelsohn  <dje.gcc@gmail.com>
+
+	* doc/invoke.texi (RS6000 options): LRA is enabled by default.
+
+2017-01-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/invoke.texi (SPARC options): Document -mlra as the default.
+	* config/sparc/sparc.c (sparc_option_override): Force LRA unless
+	-mlra/-mno-lra was passed to the compiler.
+
+2017-01-03  James Cowgill  <James.Cowgill@imgtec.com>
+
+	PR rtl-optimization/65618
+	* emit-rtl.c (try_split): Move initialization of "before" and
+	"after" to just before the call to emit_insn_after_setloc.
+
+2017-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/md.texi (Standard Names): Remove reference to Java frontend.
+
+2017-01-03  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* dwarf2out.c (gen_enumeration_type_die): When
+	-gno-strict-dwarf, add a DW_AT_encoding attribute.
+
+2017-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/78965
+	* gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
+	Change first argument from const call_info & to call_info &.  For %n
+	set info.nowrite to false.
+
+	PR middle-end/78901
+	* gimple-ssa-sprintf.c (try_substitute_return_value): Don't change
+	possibly throwing calls.
+
+	* genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME
+	and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs
+	and fns handling, rather than in a separate case SSA_NAME.
+
+2017-01-02  Jeff Law  <law@redhat.com>
+
+	* config/darwin-driver.c (darwin_driver_init): Const-correctness
+	fixes for first_period and second_period variables.
+
+2017-01-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/78967
+	* config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
+	(*insvqi_1): New insn pattern.
+	(*insvqi_1_mem_rex64): Ditto.
+	(*insvqi_2): Ditto.
+	(*insvqi_3): Rename from *insvqi.
+
+	(*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.
+
+2017-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/cfg.texi (Edges): Remove reference to Java.
+	(Maintaining the CFG): Ditto.
+
+2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/77674
+	* symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
+	transparent aliases.
+
+2017-01-01  Jan Hubicka  <hubicka@ucw.cz>
+
+	PR middle-end/77484
+	* predict.def (PRED_CALL): Update hitrate.
+	(PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
+	* predict.c (tree_estimate_probability_bb): Split CALL predictor
+	into direct/indirect/polymorphic variants.
+
+2017-01-01  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.
+
+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
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index e724844c73e2..cc8c0c57a7be 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,12772 +1,9 @@
-2017-12-21  Eric Botcazou  <ebotcazou@adacore.com>
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
 
-	PR ada/83535
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always take
-	into account the Esize if it is known.
-
-2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/trans.c (Attribute_to_gnu): Track polynomial
-	offsets and sizes.
-	* gcc-interface/utils2.c (build_unary_op): Likewise.
-
-2017-12-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Loop_Statement_to_gnu): Use IN_RANGE macro.
-	* gcc-interface/misc.c (gnat_get_array_descr_info): Likewise.
-	(default_pass_by_ref): Likewise.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
-
-2017-12-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/trans.c (Loop_Statement_to_gnu): Replace Yoda
-	conditions with typical order conditions.
-	* gcc-interface/misc.c (gnat_get_array_descr_info): Likewise.
-	(default_pass_by_ref): Likewise.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
-	* adaint.c (__gnat_tmp_name): Likewise.
-
-2017-12-19  Arnaud Charlet  <charlet@adacore.com>
-
-	PR ada/66205
-	* bindgen.adb (Gen_AdaFinal): Revert previous change.
-
-2017-12-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/utils.c (gnat_internal_attribute_table): Swap
-	affects_type_identity and handler fields, adjust comments.
-
-2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Use Component_Size of
-	the innermost array instead of Esize of its component type to exclude
-	inappropriate array types, including packed array types.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Input_Item): Allow concurrent types to appear
-	within the input list of Initializes. Remove the uses of Input_OK.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Expand_N_In): Do not replace a membership test on a
-	scalar type with a validity test when the membership appears in a
-	predicate expression, to prevent a spurious error when predicate is
-	specified static.
-	* sem_ch13.adb (Build_Predicate_Functions): Add warning if a static
-	predicate, after constant-folding, reduces to True and is this
-	redundant.
-	* par-ch4.adb: Typo fixes and minor reformattings.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Ensure_Prior_Elaboration_Static): Mark the generated
-	with clause as being implicit for an instantiation in order to
-	circumvent an issue with 'W' and 'Z' line encodings in ALI files.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Is_Potentially_Unevaluated): Detect further cases of
-	misuse of 'Old that appear within an expression that is potentially
-	unevaluated, when the prefix of the attribute does not statically
-	designate an object (e.g. a function call).
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Conformking_Types): Two incomplete types are conforming
-	when one of them is used as a generic actual, but only within an
-	instantiation.
-	* einfo.ads: Clarify use of flag Used_As_Generic_Actual.
-
-2017-12-15  Justin Squirek  <squirek@adacore.com>
-
-	* sem_attr.adb (Resolve_Attribute): Modify check for aliased view on
-	prefix to use the prefix's original node to avoid looking at expanded
-	conversions for certain array types.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Membership_Op): Add warning on a membership
-	operation on a scalar type for which there is a user-defined equality
-	operator.
-
-2017-12-15  Yannick Moy  <moy@adacore.com>
-
-	* doc/gnat_rm/implementation_defined_pragmas.rst: Add Ghost assertion
-	policy.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Initialization_Item): Remove the specialized
-	processing for a null initialization item. Such an item is always
-	illegal.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-	* types.ads, types.h, libgnat/a-except.adb, exp_ch11.adb
-	(PE_Build_In_Place_Mismatch): New reason code for raising when the
-	BIPalloc formal parameter is incorrect. This can happen if a compiler
-	bug causes a mismatch of build-in-place between caller and callee.
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Use
-	PE_Build_In_Place_Mismatch.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.ads, exp_ch4.adb (Expand_N_Reduction_Expression): New
-	procedure.
-	* exp_util.adb (Insert_Actions): Handle N_Reduction_Expression.
-	* expander.adb (Expand): Call Expand_N_Reduction_Expression
-	* par-ch4.adb (P_Reduction_Expression): New procedure.
-	(P_Iterated_Component_Assoc_Or_Reduction): New precedure, extension of
-	P_Iterated_Component_Association.
-	(OK_Reduction_Expression_Parameter): New procedure.
-	(P_Aggregate_Or_Paren_Expr): Improve error message for malformed delta
-	aggregate.
-	* sem.adb (Analyze): Call Analyze_Reduction_Expression and
-	Analyze_Reduction_Expression_Parameter
-	* sinfo.ads, sinfo.adb: New node kinds N_Reduction_Expression and
-	N_Reduction_Expression_Parameter.
-	* sem_ch4.ads, sem_ch4.adb (Analyze_Reduction_Expression,
-	Analyze_Reduction_Expression_Parameter): New procedures.
-	* sem_res.adb (Resolve): Handle Reduction_Expression and
-	Reduction_Expression_Parameter
-	* sem_spark.adb: Dummy entries for Reduction_Expression and
-	Reduction_Expression_Parameter
-	* sprint.adb (Sprint_Node_Actual): Print Reduction_Expression,
-	Reduction_Expression_Parameter
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-	* einfo.ads: Comment fix.
-
-2017-12-15  Piotr Trojanek  <trojanek@adacore.com>
-
-	* s-vercon.adb: Minor style fixes.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Freeze_Expr_Types): Do not emit a freeze node for an
-	itype that is the type of a discriminant-dependent component.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Part_Of): The context-specific portion of the
-	analysis is now directed to several specialized routines.
-	(Check_Part_Of_Abstract_State): New routine.
-	(Check_Part_Of_Concurrent_Type): New routine. Reimplement the checks
-	involving the item, the single concurrent type, and their respective
-	contexts.
-	* sem_res.adb (Resolve_Entity_Name): Potential constituents of a single
-	concurrent type are now recorded regardless of the SPARK mode.
-	* sem_util.adb (Check_Part_Of_Reference): Split some of the tests in
-	individual predicates.  A Part_Of reference is legal when it appears
-	within the statement list of the object's immediately enclosing
-	package.
-	(Is_Enclosing_Package_Body): New routine.
-	(Is_Internal_Declaration_Or_Body): New routine.
-	(Is_Single_Declaration_Or_Body): New routine.
-	(Is_Single_Task_Pragma): New routine.
-
-2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
-
-	* gnat_ugn.texi: Regenerate.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-	* gnatvsn.ads: Minor comment fixes.
-
-2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
-
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Update section "Dynamic
-	Stack Usage Analysis" to include more details about GNAT_STACK_LIMIT.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Add_Own_DIC): Ensure that the expression of the pragma
-	is available (Is_Verifiable_DIC_Pragma): Moved from Sem_Util.
-	* sem_util.adb (Has_Full_Default_Initialization):
-	Has_Fully_Default_Initializing_DIC_Pragma is now used to determine
-	whether a type has full default initialization due to pragma
-	Default_Initial_Condition.
-	(Has_Fully_Default_Initializing_DIC_Pragma): New routine.
-	(Is_Verifiable_DIC_Pragma): Moved to Exp_Util.
-	* sem_util.ads (Has_Fully_Default_Initializing_DIC_Pragma): New
-	routine.
-	(Is_Verifiable_DIC_Pragma): Moved to Exp_Util.
-	* sem_warn.adb (Is_OK_Fully_Initialized):
-	Has_Fully_Default_Initializing_DIC_Pragma is now used to determine
-	whether a type has full default initialization due to pragma
-	Default_Initial_Condition.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Match_Constituent): Do not quietly accept constants as
-	suitable constituents.
-	* exp_util.adb: Minor reformatting.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_aggr.adb (In_Place_Assign_OK): Extend the predicate to recognize
-	an array aggregate in an allocator, when the designated type is
-	unconstrained and the upper bound of the aggregate belongs to the base
-	type of the index.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement,
-	Expand_Simple_Function_Return): Assert that the b-i-p-ness of the
-	caller and callee match.  Otherwise, we would need some substantial
-	changes to allow b-i-p calls non-b-i-p, and vice versa.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_unst.adb (Unnest_Subprograms): Nothing to do if the main unit is
-	a generic package body. Unnesting is only an issue when generating
-	code, and if the main unit is generic then nested instance bodies have
-	not been created and analyzed, and unnesting will crash in the absence
-	of those bodies,
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* inline.adb (Add_Inlined_Body): Do not add a function which is
-	completed by an expression function defined in the same context as the
-	initial declaration because the completing body is not in a package
-	body.
-	(Is_Non_Loading_Expression_Function): New routine.
-
-2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb: Move the functionality of -gnatdL to -gnatd_i. Restore
-	the behavior of -gnatdL from before revision 255412.
-	* sem_elab.adb: Update the section of compiler switches.
-	(Build_Call_Marker): Do not create a marker for a call which originates
-	from an expanded spec or body of an instantiated gener, does not invoke
-	a generic formal subprogram, the target is external to the instance,
-	and -gnatdL is in effect.
-	(In_External_Context): New routine.
-	(Process_Conditional_ABE_Activation_Impl): Update the uses of -gnatdL
-	and associated flag.
-	(Process_Conditional_ABE_Call): Update the uses of -gnatdL and
-	associated flag.
-	* switch-c.adb (Scan_Front_End_Switches): Switch -gnatJ now sets switch
-	-gnatd_i.
-	* exp_unst.adb: Minor typo fixes and edits.
-
-2017-12-15  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Possible_Freeze): Do not set Delayed_Freeze on an
-	subprogram instantiation, now that the enclosing wrapper package
-	carries an explicit freeze node. THis prevents freeze nodes for the
-	subprogram for appearing in the wrong scope. This is relevant when the
-	generic subprogram has a private or incomplete formal type and the
-	instance appears within a package that declares the actual type for the
-	instantiation, and that type has itself a delayed freeze.
-
-2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
-
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Removed references to
-	the environment variable GNAT_STACK_LIMIT from the Stack Overflow
-	Checking section as it is no longer used by any of our supported
-	targets.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): If the
-	Init_Assignment is rewritten, we need to set Assignment_OK on the new
-	node.  Otherwise, we will get spurious errors when initializing via
-	assignment statement.
-
-2017-12-15  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_unst.adb (Visit_Node): Refine handling of 'Access to ignore non
-	relevant nodes.
-	(Has_Non_Null_Statements): Moved to sem_util for later reuse.
-
-2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Fix comment.
-	* libgnat/s-fatgen.adb (Model): Use Machine attribute.
-	(Truncation): Likewise.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-	* exp_ch7.adb (Expand_Cleanup_Actions): Make sure the block and handled
-	statement sequence generated for certain extended return statements
-	have a Sloc that is not No_Location. Otherwise, the back end doesn't
-	set any location and ends up reading uninitialized variables.
-
-2017-12-15  Bob Duff  <duff@adacore.com>
-
-	* types.ads, exp_ch6.adb, libgnat/s-regexp.ads, opt.ads: Partly revert
-	r255414, committed by mistake.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Makefile.in: Generalize support for symbolic traces.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (default_pass_by_ref): Minor tweak.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Call_to_gnu): Set DECL_DISREGARD_INLINE_LIMITS
-	to 0 on the callee if the call is recursive.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_field): Do not set the alignment
-	of the enclosing record type if it is not already set.
-
-2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (pad_type_has_rm_size): Declare.
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build
-	a padding type for the alignment before validating the size.
-	Flip conditional construct and add a comment.
-	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Make sure to
-	apply the exception for padded objects to the type of the object.
-	* gcc-interface/utils.c (hash_pad_type): New static function.
-	(lookup_and_insert_pad_type): Rename into...
-	(canonicalize_pad_type): ...this.  Call hash_pad_type, do only one
-	lookup with insertion and always return the canonical type.
-	(maybe_pad_type): Adjust to above changes.  Set debug type later.
-	(pad_type_has_rm_size): New predicate.
-	(set_reverse_storage_order_on_pad_type): Adjust to above changes.
-
-2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Initialize locus.
-
-2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (process_freeze_entity): Be prepared for a
-	package without body.
-
-2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Robustify test for types
-	descendant of System.Address.
-	(gnat_to_gnu_subprog_type): Likewise.
-
-2017-12-08  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/utils.c (gnat_internal_attribute_table): Add
-	exclusions to the comment.
-
-2017-12-07  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81544
-	* gcc-interface/utils.c (gnat_internal_attribute_table): Initialize
-	new member of struct attribute_spec.
-
-2017-12-06  Simon Wright  <simon@pushface.org>
-
-	PR ada/66205
-	* bindgen.adb (Gen_AdaFinal): If the restriction No_Task_Termination is
-	set, generate a null body.
-
-2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_util.adb (Contains_Refined_State): Remove.
-
-2017-12-05  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications, case Predicate): A
-	predicate cannot apply to a formal type.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_unst.ads: Fix typos.
-
-2017-12-05  Jerome Lambourg  <lambourg@adacore.com>
-
-	* libgnarl/s-taprop__qnx.adb: Better detect priority ceiling bug in
-	QNX.  At startup, the first mutex created has a non-zero ceiling
-	priority whatever its actual policy. This makes some tests fail
-	(c940013 for example).
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-	* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Call
-	Expand_Cleanup_Actions for N_Extended_Return_Statement.
-	* exp_ch7.adb (Expand_Cleanup_Actions): Handle
-	N_Extended_Return_Statement by transforming the statements into a
-	block, and (indirectly) calling Expand_Cleanup_Actions on the block.
-	It's too hard for Expand_Cleanup_Actions to operate directly on the
-	N_Extended_Return_Statement, because it has a different structure than
-	the other node kinds that Expand_Cleanup_Actions.
-	* exp_util.adb (Requires_Cleanup_Actions): Add support for
-	N_Extended_Return_Statement.  Change "when others => return False;" to
-	"when others => raise ...;" so it's clear what nodes this function
-	handles.  Use named notation where appropriate.
-	* exp_util.ads: Mark incorrect comment with ???.
-
-2017-12-05  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch9.adb (Install_Private_Data_Declarations): Add missing
-	Debug_Info_Needed decoration of internally generated discriminal
-	renaming declaration.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_unst.adb (Unnest_Subprogram): Add handling of 'Access on
-	nested subprograms.
-
-2017-12-05  Sergey Rybin  <rybin@adacore.com>
-
-	* doc/gnat_ugn/gnat_utility_programs.rst: Add description of '--ignore'
-	option for gnatmetric, gnatpp, gnat2xml, and gnattest.
-
-2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_util.adb (Contains_Refined_State): Remove.
-
-2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
-
-	* rtsfind.ads: Add new enumeration literals: RE_Clock_Time (for
-	Ada.Real_Time.Clock_Time) and RO_CA_Clock_Time (for
-	Ada.Calendar.Clock_Time).
-
-2017-12-05  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Is_Private_Overriding): If the candidate private
-	subprogram is overloaded, scan the list of homonyms in the same
-	scope, to find the inherited operation that may be overridden
-	by the candidate.
-	* exp_ch11.adb, exp_ch7.adb: Minor reformatting.
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): If the
-	Init_Assignment is rewritten, we need to set Assignment_OK on the new
-	node.  Otherwise, we will get spurious errors when initializing via
-	assignment statement.
-
-2017-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb: Update the terminology and switch sections.
-	(Check_SPARK_Model_In_Effect): New routine.
-	(Check_SPARK_Scenario): Verify the model in effect for SPARK.
-	(Process_Conditional_ABE_Call_SPARK): Verify the model in effect for
-	SPARK.
-	(Process_Conditional_ABE_Instantiation_SPARK): Verify the model in
-	effect for SPARK.
-	(Process_Conditional_ABE_Variable_Assignment_SPARK): Verify the model
-	in effect for SPARK.
-
-2017-12-05  Nicolas Setton  <setton@adacore.com>
-
-	* terminals.c (__gnat_setup_child_communication): As documented,
-	__gnat_setup_child_communication should not terminate - it is intended
-	to be used as the child process of a call to fork().  However, execvp
-	might actually return in some cases, for instance when attempting to
-	run a 32-bit binary on a 64-bit Linux distribution when the
-	compatibility packages are not installed. In these cases, exit the
-	program to conform to the documentation.
-
-2017-12-05  Olivier Hainque  <hainque@adacore.com>
-
-	* libgnat/s-tsmona.adb: Fix for oversight in the tsmona interface
-	update.
-
-2017-12-05  Gary Dismukes  <dismukes@adacore.com>
-
-	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Minor typo fix
-	and reformatting.
-	* gnat_ugn.texi: Regenerate.
-
-2017-12-05  Olivier Hainque  <hainque@adacore.com>
-
-	* sem_util.adb (Set_Convention): Always clear Can_Use_Internal_Rep
-	on access to subprogram types with foreign convention.
-
-2017-12-05  Yannick Moy  <moy@adacore.com>
-
-	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix User's
-	Guide description of default settings of warnings.
-
-2017-12-05  Olivier Hainque  <hainque@adacore.com>
-
-	* s-dwalin.adb (Read_And_Execute_Isn): Adjust test checking for the end
-	of section. Add comments explaining the rationale of the computation.
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-	* exp_ch11.adb: Minor refactoring.
-
-2017-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb: Add debug switches d_a, d_e, and d_p, along with
-	documentation.
-	(Set_Underscored_Debug_Flag): New routine.
-	* debug.ads: Add the flags for all underscore switches.
-	(Set_Underscored_Debug_Flag): New routine.
-	* einfo.adb: Flag303 is now Suppress_Elaboration_Warnings.
-	(Suppress_Elaboration_Warnings): New routine.
-	(Set_Suppress_Elaboration_Warnings): New routine.
-	(Write_Entity_Flags): Add output for Suppress_Elaboration_Warnings.
-	* einfo.ads: Add new flag Suppress_Elaboration_Warnings.
-	(Suppress_Elaboration_Warnings): New routine along with pragma Inline.
-	(Set_Suppress_Elaboration_Warnings): New routine along with pragma
-	Inline.
-	* exp_ch3.adb (Build_Init_Procedure): Restore the behavior of the
-	legacy elaboration model.
-	(Default_Initialize_Object): Restore the behavior of the legacy
-	elaboration model.
-	* exp_ch9.adb: Add with and use clause for Sem_Elab.
-	(Build_Task_Activation_Call): Restore the behavior of the legacy
-	elaboration model.
-	* frontend.adb (Frontend): Restore the behavior of the legacy
-	elaboration model.
-	* opt.ads: Add new flags Legacy_Elaboration_Checks and
-	Relaxed_Elaboration_Checks, along with documentation.
-	* sem_attr.adb (Analyze_Access_Attribute): Restore the behavior of the
-	legacy elaboration model.
-	* sem_ch5.adb (Analyze_Assignment): Restore the behavior of the legacy
-	elaboration model.
-	* sem_ch7.adb (Analyze_Package_Declaration): Restore the behavior of
-	the legacy elaboration model.
-	* sem_ch8.adb (Attribute_Renaming): Restore the behavior of the legacy
-	elaboration model.
-	* sem_ch12.adb (Analyze_Instance_And_Renamings): Restore the behavior
-	of the legacy elaboration model.
-	(Analyze_Package_Instantiation): Restore the behavior of the legacy
-	elaboration model.
-	(Analyze_Subprogram_Instantiation): Restore the behavior of the legacy
-	elaboration model.
-	* sem_elab.adb: Update the documentation of the Processing phase.
-	Update the documentation on elaboration-related compilation
-	switches.  Update the documentation on adding a new target.  Add
-	Processing_Attributes which represent the state of the Processing
-	phase.  Resurrect the previous elaboration model as "legacy elaboration
-	model".
-	(Build_Call_Marker): This routine does not function when the legacy
-	elaboration model is in effect. Do not consider entry calls and requeue
-	statements when debug flag d_e is in effect. Do not consider calls to
-	subprograms which verify the runtime semantics of certain assertion
-	pragmas when debug flag d_p is in effect.
-	(Build_Variable_Reference_Marker): This routine does not function when
-	the legacy elaboration model is in effect.
-	(Check_Elaboration_Scenarios): This routine does not function when the
-	legacy elaboration model is in effect.
-	(Ensure_Prior_Elaboration): The various flags have now been replaced
-	with a state. Do not generate implicit Elaborate[_All] pragmas when
-	their creation has been suppressed.
-	(Ensure_Prior_Elaboration_Static): The with clause is marked based on
-	the requested pragma, not on the nature of the scenario.
-	(In_External_Context): Removed.
-	(Is_Assertion_Pragma_Target): New routine.
-	(Is_Potential_Scenario): Stop the traversal of a task body when
-	reaching an accept or select statement, and debug switch d_a is in
-	effect.
-	(Kill_Elaboration_Scenario): This routine does not function when the
-	legacy elaboration model is in effect.
-	(Process_Activation_Generic): The various flags have now been replaced
-	with a state.
-	(Process_Conditional_ABE): The various flags have now been replaced
-	with a state.
-	(Process_Conditional_ABE_Access): The various flags have now been
-	replaced with a state.
-	(Process_Conditional_ABE_Activation_Impl): The various flags have now
-	been replaced with a state. Do not process an activation call which
-	activates a task whose type is defined in an external instance, and
-	debug switch dL is in effect. Suppress the generation of implicit
-	Elaborate[_All] pragmas once a conditional ABE check has been
-	installed.
-	(Process_Conditional_ABE_Call): The various flags have now been
-	replaced with a state. Do not process a call which invokes a subprogram
-	defined in an external instance, and debug switch dL is in effect.
-	(Process_Conditional_ABE_Call_Ada): The various flags have now been
-	replaced with a state. Suppress the generation of implicit
-	Elaborate[_All] pragmas once a conditional ABE check has been
-	installed.
-	(Process_Conditional_ABE_Call_SPARK): The various flags have now been
-	replaced with a state.
-	(Process_Conditional_ABE_Instantiation): The various flags have now
-	been replaced with a state.
-	(Process_Conditional_ABE_Instantiation_Ada): The various flags have now
-	been replaced with a state. Suppress the generation of implicit
-	Elaborate[_All] pragmas once a conditional ABE check has been
-	installed.
-	(Process_Conditional_ABE_Instantiation_SPARK): The various flags have
-	now been replaced with a state.
-	(Process_Guaranteed_ABE_Activation_Impl): The various flags have now
-	been replaced with a state.
-	(Process_Single_Activation): The various flags have now been replaced
-	with a state.
-	(Record_Elaboration_Scenario): This routine does not function when the
-	legacy elaboration model is in effect.
-	(Traverse_Body): The various flags have now been replaced with a state.
-	* sem_elab.ads: Resurrect the pre-18.x elaboration model as "legacy
-	elaboration model".
-	* sem_prag.adb (Analyze_Pragma): Restore the behavior of the legacy
-	elaboration model.
-	* sem_res.adb (Resolve_Call): Restore the behavior of the legacy
-	elaboration model.
-	(Resolve_Entity_Name): Restore the behavior of the legacy elaboration
-	model.
-	* sem_util.adb (Mark_Elaboration_Attributes): This routine does not
-	function when the legacy elaboration model is in effect.
-	* sinfo.adb (Is_Known_Guaranteed_ABE): Update the assertion check.
-	(No_Elaboration_Check): New routine.
-	(Set_Is_Known_Guaranteed_ABE): Update the assertion check.
-	(Set_No_Elaboration_Check): New routine.
-	* sinfo.ads: Update the documentation of flag Is_Known_Guaranteed_ABE
-	along with occurrences in nodes.  Add new flag No_Elaboration_Check
-	along with occurrences in nodes.
-	* switch-c.adb (Scan_Front_End_Switches): Add processing for debug
-	switches with underscores.  Add processing for switches -gnatH and
-	-gnatJ.
-	* usage.adb (Usage): Add output for switches -gnatH and -gnatJ.
-	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the
-	documentation to include the legacy and relaxed elaboration models.
-	* gnat_ugn.texi: Regenerate.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/gnat_ugn/platform_specific_information.rst: Minor edit.
-	Improve doc on required packages for linux 32bits.
-
-2017-12-05  Doug Rupp  <rupp@adacore.com>
-
-	* tracebak.c (ppc64-vx7): USE_GCC_UNWINDER for 64bit.
-
-2017-12-05  Javier Miranda  <miranda@adacore.com>
-
-	* checks.adb (Generate_Range_Check): Force evaluation of the node in
-	more cases.  This patch was written to improve the code generated by
-	the CCG compiler but it is enabled for all targets since double
-	evaluation is always a potential source of inefficiency.
-
-2017-12-05  Gary Dismukes  <dismukes@adacore.com>
-
-	* doc/gnat_ugn/gnat_utility_programs.rst: Remove reference to obsolete
-	-fdump-xref switch.
-
-2017-12-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use the SLOC of the
-	iteration scheme throughout, except for the new loop statement(s).
-
-2017-12-05  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_aggr.adb (Gen_Assign): Do not analyze the expressionn of the
-	assignment if it is part of an Iterated_Component_Association: the
-	analysis needs to take place once the loop structure is analyzed and
-	the loop parameter made visible, because references to it typically
-	appear in the corresponding expression.  This is necessary if the
-	expression is an aggregate, because previous pre-analysis of the
-	expression does not handle nested aggregates properly.
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-	* sem_res.adb (Resolve_Allocator): Avoid coextension processing for an
-	allocator that is the expansion of a build-in-place function call.
-
-2017-12-05  Olivier Hainque  <hainque@adacore.com>
-
-libgnat/
-	* s-trasym__dwarf.adb (spec of Module_Name.Get): Instead of
-	possibly adjusting the lookup address by a load address, expect
-	a extra argument through which the load address can be conveyed
-	separately.
-	(Multi_Module_Symbolic_Traceback): Adjust accordingly. Pass the
-	retrieved load address to Init_Module.
-	* s-tsmona__linux.adb (Get): Honor the new interface.
-	* s-tsmona__mingw.adb (Get): Likewise.
-	* s-dwalin.ads: Adjust comments to be explicit about which
-	addresses are from module info and which are run-time addresses,
-	offsetted by the module load address.
-	* s-dwalin.adb (Set_Load_Address): Simply set C.Load_Slide.
-	Do not alter the module Low and High (relative) addresses.
-	(Is_Inside): Improve documentation regarding the kinds of addresses
-	at hand and correct the test.
-	(Symbolic_Traceback): Use separate variables with explicit names
-	for the address in traceback (run-time value) and the address to
-	lookup within the shared object (module-relative). Adjust the
-	computation of address passed to Symbolic_Address for symbolization.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-	* opt.ads (Expand_Nonbinary_Modular_Ops): New flag.
-	* exp_ch4.adb (Expand_Nonbinary_Modular_Op): Use
-	Expand_Nonbinary_Modular_Ops instead of Modify_Tree_For_C, so that
-	other back-ends can also benefit from the front-end expansion. Remove
-	test for Modify_Tree_For_C in all callers to better share code.
-	* gnat1drv.adb (Adjust_Global_Switches): Set
-	Expand_Nonbinary_Modular_Ops when generating C code.
-
-2017-12-05  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Expand_Formal_Container_Loop): Ensure that the loop
-	parameter becomes invisible after analyzing the loop, which has been
-	rewritten as a while-loop.
-
-2017-12-05  Doug Rupp  <rupp@adacore.com>
-
-	* vxaddr2line.adb: Revise and enhance for new ports, remove dead ports,
-	and update for 64bit ports.
-
-2017-12-05  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Build_In_Place_Formal): Search for the formal by suffix
-	instead of the full name.
-	* sem_ch6.adb (Create_Extra_Formals): Make sure there are extra formals
-	in the case of an instance of a generic.
-
-2017-12-05  Arnaud Charlet  <charlet@adacore.com>
-
-	(Adjust_Global_Switches): Create an alias GNAT_Annotate to map to
-	pragma Annotate.
-
-2017-12-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* gcc-interface/Makefile.in (RTEMS): Define EH_MECHANISM.
-
-2017-12-04  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* gcc-interface/Makefile.in (RTEMS): Use s-osprim__rtems.adb.
-	* libgnat/s-osprim__rtems.adb: New file.
-	* libgnarl/s-osinte__rtems.adb (pthread_cond_t): Fix alignment.
-	(pthread_mutexattr_t): Likewise.
-	(pthread_rwlockattr_t): Likewise.
-	(pthread_rwlock_t): Likewise.
-	(time_t): Use 64-bit integer.
-
-2017-12-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* libgnarl/s-osinte__rtems.ads (pthread_cond_t): Use correct size and
-	alignment.
-	(pthread_mutex_t): Likewise.
-	(pthread_rwlock_t): Likewise.
-
-2017-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/trans.c (Case_Statement_to_gnu): Build SWITCH_EXPR
-	using build2 instead of build3.
-
-2017-11-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/83091
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not build a variant
-	type for the implementation type of a packed array.
-
-2017-11-23  Mike Stump  <mikestump@comcast.net>
-            Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (gnat_gimplify_stmt) <LOOP_STMT>: Pass 3rd
-	operand to ANNOTATE_EXPR and also pass unrolling hints.
-
-2017-11-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/83016
-	* gnatlink.adb (Process_Args): Accept multiple switches for --LINK.
-	(Usage): Adjust.
-	* gcc-interface/Makefile.in (GCC_LINK): Remove $(ADA_INCLUDES).
-	(common-tools): Pass $(CC) as --GCC= and $(GCC_LINK) as --LINK= in
-	the invocations of $(GNATLINK).
-	(../../gnatdll$(exeext)): Likewise.
-	(../../vxaddr2line$(exeext)): Likewise.
-	(gnatmake-re): Likewise.
-	(gnatlink-re): Likewise.
-
-2017-11-16  Doug Rupp  <rupp@adacore.com>
-
-	* gcc-interface/Makefile.in: Merge Aarch64 and ARM "ifeq" blocks.
-
-2017-11-16  Steve Baird  <baird@adacore.com>
-
-	* debug.adb: Update another comment to indicate gnat2scil's use of the
-	-gnatd.7 switch.
-
-2017-11-16  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Avoid creating a transient scope in
-	the case of nested build-in-place calls.
-
-2017-11-16  Joel Brobecker  <brobecker@adacore.com>
-
-	* doc/gnat_ugn/gnat_utility_programs.rst: Document the switches
-	available in gnatsymbolize.
-
-2017-11-16  Steve Baird  <baird@adacore.com>
-
-	* debug.adb: Update comment to indicate gnat2scil's use of the -gnatd.7
-	switch.
-
-2017-11-16  Gary Dismukes  <dismukes@adacore.com>
-
-	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst, sem_ch6.adb,
-	sem_elab.adb: Minor editorial corrections.
-	* gnat_ugn.texi: Regenerate.
-
-2017-11-16  Joel Brobecker  <brobecker@adacore.com>
-
-	* doc/gnat_ugn/gnat_utility_programs.rst (GNAT UGN): Add
-	gnatsymbolize documentation.
-	* gnat_ugn.texi: Regenerate.
-
-2017-11-16  Steve Baird  <baird@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Record_Type): Replace all uses of
-	"Scope (Parent_Type)" with "Scope (Parent_Base)".
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* opt.ads: Elaboration warnings are now on by default. Add a comment
-	explaining why this is needed.
-	* sem_ch9.adb (Analyze_Requeue): Preserve the status of elaboration
-	warnings.
-	* sem_ch12.adb (Analyze_Package_Instantiation): Preserve the status of
-	elaboration warnings.
-	(Analyze_Subprogram_Instantiation): Preserve the status of elaboration
-	warnings.
-	* sem_elab.adb: Update the structure of Call_Attributes and
-	Instantiation_Attributes.
-	(Build_Call_Marker): Propagate the status of elaboration warnings from
-	the call to the marker.
-	(Extract_Call_Attributes): Extract the status of elaboration warnings.
-	(Extract_Instantiation_Attributes): Extract the status of elaboration
-	warnings.
-	(Process_Conditional_ABE_Activation_Impl): Elaboration diagnostics are
-	now dependent on the status of elaboration warnings.
-	(Process_Conditional_ABE_Call_Ada): Elaboration diagnostics are now
-	dependent on the status of elaboration warnings.
-	(Process_Conditional_ABE_Instantiation_Ada): Elaboration diagnostics
-	are now dependent on the status of elaboration warnings.
-	(Process_Guaranteed_ABE_Activation_Impl): Remove pragma Unreferenced
-	for formal Call_Attrs. Elaboration diagnostics are now dependent on the
-	status of elaboration warnings.
-	(Process_Guaranteed_ABE_Call): Elaboration diagnostics are now
-	dependent on the status of elaboration warnings.
-	(Process_Guaranteed_ABE_Instantiation): Elaboration diagnostics are now
-	dependent on the status of elaboration warnings.
-	* sem_prag.adb (Analyze_Pragma): Remove the unjustified warning
-	concerning pragma Elaborate.
-	* sem_res.adb (Resolve_Call): Preserve the status of elaboration
-	warnings.
-	(Resolve_Entry_Call): Propagate flag Is_Elaboration_Warnings_OK_Node
-	from the procedure call to the entry call.
-	* sem_util.adb (Mark_Elaboration_Attributes): Add formal parameter
-	Warnings.
-	(Mark_Elaboration_Attributes_Node): Preserve the status of elaboration
-	warnings
-	* sem_util.ads (Mark_Elaboration_Attributes): Add formal parameter
-	Warnings. Update the comment on usage.
-	* sinfo.adb (Is_Dispatching_Call): Update to use Flag6.
-	(Is_Elaboration_Warnings_OK_Node): New routine.
-	(Set_Is_Dispatching_Call): Update to use Flag6.
-	(Set_Is_Elaboration_Warnings_OK_Node): New routine.
-	* sinfo.ads: Attribute Is_Dispatching_Call now uses Flag6. Add new
-	attribute Is_Elaboration_Warnings_OK_Node along with occurrences
-	in nodes.
-	(Is_Elaboration_Warnings_OK_Node): New routine along with pragma
-	Inline.
-	(Set_Is_Elaboration_Warnings_OK_Node): New routine along with pragma
-	Inline.
-	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update various
-	sections to indicate how to suppress elaboration warnings.  Document
-	switches -gnatwl and -gnatwL.
-	* gnat_ugn.texi: Regenerate.
-
-2017-11-16  Sylvain Dailler  <dailler@adacore.com>
-
-	* sem_util.adb (Get_Enum_Lit_From_Pos): Add a condition for Pos
-	lower than 0.
-
-2017-11-16  Bob Duff  <duff@adacore.com>
-
-	* sem_ch13.adb (Check_Expr_Constants): Avoid error message in case of
-	System'To_Address.
-
-2017-11-16  Yannick Moy  <moy@adacore.com>
-
-	* sem_elab.adb (Include): Fix mode of parameter Curr to out.
-
-2017-11-16  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Is_CCT_Instance): Allow calls where
-	Context_Id denotes a record type.
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch8.adb (Check_SPARK_Primitive_Operation): Enable the check in
-	instantiations.
-
-2017-11-16  Doug Rupp  <rupp@adacore.com>
-
-	Initial gnat port to aarch64-wrs-vxworks7
-	* libgnarl/s-vxwork__aarch64.ads,
-	libgnat/system-vxworks7-aarch64-rtp-smp.ads,
-	libgnat/system-vxworks7-aarch64.ads: New files
-	* sigtramp-vxworks-target.inc (aarch64): New section.
-	* tracebak.c (USE_ARM_UNWINDING): Disable for ARMARCH8A.
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Include): Including a node which is also a compilation
-	unit terminates the search because there are no more lists to examine.
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): Ensure that a renaming
-	declaration does not define a primitive operation of a tagged type for
-	SPARK.
-	(Check_SPARK_Primitive_Operation): New routine.
-
-2017-11-16  Arnaud Charlet  <charlet@adacore.com>
-
-	* libgnat/a-elchha.adb (Last_Chance_Handler): Display Argv (0) in
-	message when using -E binder switch.
-
-2017-11-16  Piotr Trojanek  <trojanek@adacore.com>
-
-	* errout.ads: Fix minor typo in comment.
-
-2017-11-16  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Process_Subtype): If the subtype indication does not
-	syntactically denote a type, return Any_Type to prevent subsequent
-	compiler crashes or infinite loops.
-
-2017-11-16  Steve Baird  <baird@adacore.com>
-
-	* lib-writ.adb: Fix bug which causes Program_Error to be raised in some
-	cases when writing out a .ali file when a Rename_Pragma pragma is in
-	effect.
-	* lib-writ.adb (Write_Unit_Information): Replace call to
-	Pragma_Name_Unmapped with call to Pragma_Name.
-
-2017-11-16  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_elab.adb: Minor typo fixes.
-
-2017-11-16  Justin Squirek  <squirek@adacore.com>
-
-	* sem_res.adb (Resolve_Allocator): Correct warning messages and make
-	them more explicit.
-
-2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* atree.ads (Nkind_In): Add 10 and 11 parameter versions.
-	* checks.adb (Install_Primitive_Elaboration_Check): Mark the setting of
-	the elaboration flag as elaboration code.
-	* einfo.adb (Contract): Update the comments.
-	(Ignore_SPARK_Mode_Pragmas): Update the comments.
-	(SPARK_Aux_Pragma): Update the comments.
-	(SPARK_Aux_Pragma_Inherited): Update the comments.
-	(SPARK_Pragma): Update the comments. The attribute now applies
-	to all types and abstract states.
-	(SPARK_Pragma_Inherited): Update the comments. The attribute now
-	applies to all types and abstract states.
-	(Set_Contract): Update the comments.
-	(Set_Ignore_SPARK_Mode_Pragmas): Update the comments.
-	(Set_SPARK_Aux_Pragma): Update the comments.
-	(Set_SPARK_Aux_Pragma_Inherited): Update the comments.
-	(Set_SPARK_Pragma): Update the comments. The attribute now applies to
-	all types and abstract states.
-	(Set_SPARK_Pragma_Inherited): Update the comments. The attribute now
-	applies to all types and abstract states.
-	(Write_Field40_Name): Add output for SPARK_Pragma when it appears on a
-	type and abstract states.
-	* einfo.ads: Update the documentation of attributes SPARK_Pragma and
-	SPARK_Pragma_Inherited.  Both of them now apply to all types and
-	abstract states.
-	* exp_util.adb (Set_Elaboration_Flag): Mark the setting of the
-	elaboration flag as elaboration code.
-	* sem_ch3.adb: Add with and use clauses for Sem_Elab.
-	(Analyze_Full_Type_Declaration): Set the SPARK_Mode of the type. Record
-	a derived type for later processing by the ABE mechanism.
-	(Analyze_Incomplete_Type_Decl): Set the SPARK_Mode of the type.
-	(Analyze_Private_Extension_Declaration): Set the SPARK_Mode of the
-	type.
-	* sem_ch7.adb (Analyze_Private_Type_Declaration): Set the SPARK_Mode of
-	the type.
-	* sem_elab.adb: Define the term "early call region".  Update the
-	terminology for "scenario" and "target".  Update the architecture of
-	the ABE mechanism.  Update the steps which must be taken when adding a
-	new scenario.  Update the section on debugging ABE issues.  Add new
-	hash tables Early_Call_Regions and Recorded_SPARK_Scenarios.  Add new
-	table SPARK_Scenarios.  Hash table Elaboration_Context is now
-	Elaboration_Statuses.  The majority of Process_xxx routines have been
-	updated to better reflect their role.
-	(Add_Unit): Reimplemented.
-	(Check_Elaboration_Constituent): New routine.
-	(Check_Elaboration_Scenarios): Verify previously recorded scenarios for
-	conditional ABE issues. Verify previously recorded SPARK scenarios.
-	(Check_SPARK_Derived_Type): New routine.
-	(Check_SPARK_Instantiation): New routine.
-	(Check_SPARK_Scenario): New routine.
-	(Check_SPARK_Refined_State_Pragma): New routine.
-	(Early_Call_Region): New routine.
-	(Elaboration_Status): New routine.
-	(Ensure_Prior_Elaboration): Add new formal parameter Prag_Nam. The
-	implicit Elabotate[_All] pragma is now specified via Prag_Nam.
-	(Find_Early_Call_Region): New routine.
-	(Info_Scenario): Add output for refinement constituents.
-	(Is_Recorded_SPARK_Scenario): New routine.
-	(Is_Suitable_SPARK_Derived_Type): New routine.
-	(Is_Suitable_SPARK_Instantiation): New routine.
-	(Is_Suitable_SPARK_Refined_State_Pragma): New routine.
-	(Is_Visited_Body): New routine.
-	(Kill_Elaboration_Scenario): Reimplemented.
-	(Output_Active_Scenarios): Add output for pragma Refined_State.
-	(Output_SPARK_Refined_State_Pragma): New routine.
-	(Process_Conditional_ABE_Call): Remove the use of -gnatd.v. The effect
-	is now achieved by different means.
-	(Process_Conditional_ABE_Call_SPARK): Verify that a call which precedes
-	the subprogram body appears within the early call region of the body.
-	Either ensure the prior elaboration of external subprograms or verify
-	that the context meets the suitable elaboration requirement.
-	(Process_Conditional_ABE_Instantiation_SPARK): New routine.
-	(Record_Elaboration_Scenario): Reimplement the portion which enforces
-	the level restrictions of the static model. Add support for SPARK
-	scenarios.
-	(Record_SPARK_Elaboration_Scenario): New routine.
-	(Reset_Visited_Bodies): New routine.
-	(Set_Early_Call_Region): New routine.
-	(Set_Elaboration_Status): New routine.
-	(Set_Is_Recorded_SPARK_Scenario): New routine.
-	(Update_Elaboration_Scenario): Reimplemented.
-	* sem_elab.ads: Add new subtype Library_Or_Instantiation_Level.
-	* sem_prag.adb (Analyze_Refined_State_In_Decl_Part): Save the pragma
-	for examination by the ABE Processing phase.
-	(Create_Abstract_State): Save the SPARK_Mode from the context.
-	* sem_util.adb (Is_Non_Preelaborable_Construct): New routine.
-	* sem_util.ads (Is_Non_Preelaborable_Construct): New routine.
-	* sinfo.adb (Is_Elaboration_Code): New routine.
-	(Set_Is_Elaboration_Code): New routine.
-	(Nkind_In): Add 10 and 11 parameter versions.
-	* sinfo.ads: Add new attribute Is_Elaboration_Code along with
-	occurrences in nodes.
-	(Is_Elaboration_Code): New routine along with pragma Inline.
-	(Set_Is_Elaboration_Code): New routine along with pragma Inline.
-	(Nkind_In): Add 10 and 11 parameter versions.
-
-2017-11-16  Justin Squirek  <squirek@adacore.com>
-
-	* sem.adb (Analyze): Remove requirement that the original node of N be
-	an operator in the case that analysis on the node yields the relevant
-	operator - so prefer it instead.
-
-2017-11-16  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Create_Extra_Formals): The type of the BIP_Object_Access
-	formal must not have a designated type that is the full view coming
-	from a limited-with'ed package.
-	* sem_util.adb,sem_util.ads (Incomplete_View_From_Limited_With): New
-	function called from sem_ch6.
-	* sem_ch5.adb (Analyze_Assignment): Treat user-defined concatenation
-	specially for b-i-p cases.
-
-2017-11-10  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81117
-	* adadecode.c (__gnat_decode): Use memcpy instead of strncpy.
-	* argv.c (__gnat_fill_arg, __gnat_fill_env): Likewise.
-
-2017-11-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (convert) <RECORD_TYPE>: Add comment and do
-	not fall through to the next case.
-	<ARRAY_TYPE>: Deal specially with a dereference from another array
-	type with the same element type.
-
-2017-11-09  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, freeze.adb: Minor reformatting.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-	* gcc-interface/Makefile.in: Add rules to build aarch64-qnx runtimes.
-
-2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu): Add processing for
-	N_Variable_Reference_Marker nodes.
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Handle properly
-	the pragma Compile_Time_Error when it appears in a generic package
-	declaration and uses an expanded name to denote the current unit.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-	* libgnarl/s-taprop__qnx.adb: Fix incorrect casing for pthread_self.
-	* tracebak.c: Add support for tracebacks in QNX.
-
-2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_aggr.adb (Aggr_Size_OK): Bump base limit from 50000 to 500000.
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-	* erroutc.adb, set_targ.adb: Remove pragma Annotate for CodePeer
-	justification.
-
-2017-11-09  Joel Brobecker  <brobecker@adacore.com>
-
-	* doc/gnat_ugn/platform_specific_information.rst: Document packages
-	needed on GNU/Linux by GNAT.
-	* gnat_ugn.texi: Regenerate.
-
-2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* contracts.adb (Analyze_Contracts): Remove the three parameter
-	version. This routine now only analyzes contracts and does not perform
-	any freezing actions.
-	(Analyze_Previous_Contracts): Removed.
-	(Freeze_Previous_Contracts): New routine.
-	* contracts.ads (Analyze_Previous_Contracts): Removed.
-	(Freeze_Previous_Contracts): New routine.
-	* sem_ch3.adb (Analyze_Declarations): Analyze the contract of an
-	enclosing package spec regardless of whether the list denotes the
-	visible or private declarations.  Fix the removal of partial state
-	refinements when the context is a package spec.
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Freeze previous
-	contracts.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Freeze previous contracts.
-	* sem_ch9.adb (Analyze_Entry_Body): Freeze previous contracts.
-	(Analyze_Protected_Body): Freeze previous contracts.
-	(Analyze_Task_Body): Freeze previous contracts.
-	* sem_prag.adb: Comment reformatting.
-
-2017-11-09  Bob Duff  <duff@adacore.com>
-
-	* libgnarl/g-thread.ads, libgnarl/g-thread.adb: (Make_Independent):
-	Export this so users can use it without importing
-	System.Tasking.Utilities.
-	* libgnarl/s-tassta.adb (Vulnerable_Complete_Task): Relax assertion
-	that fails when Make_Independent is called on a user task.
-	* libgnarl/s-taskin.ads (Master_Of_Task): Avoid unusual
-	capitalization style ((style) bad casing of "Master_of_Task").
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Correct use of
-	uninitialized variable uncovered by Codepeer.
-
-2017-11-09  Arnaud Charlet  <charlet@adacore.com>
-
-	* namet.adb: Replace pragma Assume by pragma Assert to fix bootstrap.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
-	(Static_Dispatch_Tables): Minor rewording.
-	* gnat_rm.texi: Regenerate.
-
-2017-11-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Analyze_Use_Package): Remove forced installation of
-	use_clauses within instances.
-	(Use_One_Package): Add condition to check for "hidden" open scopes to
-	avoid skipping over packages that have not been properly installed even
-	though they are visible.
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): Reject properly a call to a
-	private operation of a protected type, when the type has no visible
-	operations.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-	* rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_HT_Link.
-	* exp_disp.adb (Make_DT): Initialize the HT_Link field of the TSD only
-	if available.
-
-2017-11-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch4.adb, exp_ch9.adb, exp_prag.adb, par-ch3.adb, sem_aggr.adb,
-	sem_ch12.adb, sem_ch13.adb, sem_ch4.adb, sem_disp.adb, sem_prag.adb,
-	sem_res.adb, sem_util.adb: Get rid of warnings about uninitialized
-	variables.
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-	* exp_disp.adb (Make_DT): Default initialize Ifaces_List and
-	Ifaces_Comp_List.
-
-2017-11-09  Pascal Obry  <obry@adacore.com>
-
-	* libgnarl/s-taprop__mingw.adb: On Windows, initialize the thead handle
-	only for foreign threads.  We initialize the thread handle only if not
-	yet initialized. This happens in Enter_Task for foreign threads only.
-	But for native threads (Ada tasking) we do want to keep the real
-	handle (from Create_Task) to be able to free the corresponding
-	resources in Finalize_TCB (CloseHandle).
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute): Default initialize P_Type,
-	P_Base_Type.
-	(Error_Attr_P): Fix name in pragma No_Return.
-	(Unexpected_Argument): Add pragma No_Return.
-	(Placement_Error): Add pragma No_Return.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-	* exp_disp.adb (Elab_Flag_Needed): Elaboration flag not needed when the
-	dispatch table is statically built.
-	(Make_DT): Declare constant the Interface_Table object associated with
-	an statically built dispatch table. For this purpose the Offset_To_Top
-	value of each interface is computed using the dummy object.
-	* exp_ch3.adb (Build_Init_Procedure): Do not generate code initializing
-	the Offset_To_Top field of secondary dispatch tables when the dispatch
-	table is statically built.
-	(Initialize_Tag): Do not generate calls to Register_Interface_Offset
-	when the dispatch table is statically built.
-	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
-	Document the new GNAT restriction Static_Dispatch_Tables.
-	* gnat_rm.texi: Regenerate.
-
-2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reorder declarations
-	to avoid a dormant bug.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-	* init.c: Define missing __gnat_alternate_stack for QNX. Set it to 0,
-	as such capability is not available on the OS.
-	* link.c: Make sure linker options for QNX are correct.
-	* libgnarl/s-osinte__qnx.ads: Add some missing bindings to pthread.
-	* libgnarl/s-taprop__qnx.adb: New, derived from s-taprop__posix.adb. This brings
-	in particular a workaround with locks priority ceiling where a higher
-	priority task is allowed to lock a lower ceiling priority lock. This
-	also fixes the scheduling of FIFO tasks when the priority of a task is
-	lowered.
-	* libgnat/system-qnx-aarch64.ads: Fix priority ranges.
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-	* erroutc.adb (Output_Error_Msgs): Justify CodePeer false positive
-	message.
-	* gnatbind.adb (Scan_Bind_Arg): Simplify test to remove always true
-	condition.
-	* namet.adb (Copy_One_Character): Add assumption for static analysis,
-	as knowledge that Hex(2) is in the range 0..255 is too complex for
-	CodePeer.
-	(Finalize): Add assumption for static analysis, as the fact that there
-	are symbols in the table depends on a global invariant at this point in
-	the program.
-	* set_targ.adb (Check_Spaces): Justify CodePeer false positive message.
-	* stylesw.adb (Save_Style_Check_Options): Rewrite to avoid test always
-	true.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-	* libgnat/s-rident.ads (Static_Dispatch_Tables): New restriction name.
-	* exp_disp.adb (Building_Static_DT): Check restriction.
-	(Building_Static_Secondary_DT): Check restriction.
-	(Make_DT): Initialize the HT_Link to No_Tag.
-	* opt.ads (Static_Dispatch_Tables): Rename flag...
-	(Building_Static_Dispatch_Tables): ... into this.  This will avoid
-	conflict with the restriction name.
-	* gnat1drv.adb: Update.
-	* exp_aggr.adb (Is_Static_Dispatch_Table_Aggregate): Update.
-	* exp_ch3.adb (Expand_N_Object_Declaration): Update.
-
-2017-11-09  Pascal Obry  <obry@adacore.com>
-
-	* libgnarl/s-taprop__mingw.adb: Minor code clean-up.  Better using a
-	named number.
-
-2017-11-09  Yannick Moy  <moy@adacore.com>
-
-	* binde.adb (Diagnose_Elaboration_Problem): Mark procedure No_Return.
-	* checks.adb (Apply_Scalar_Range_Check): Rescope variable OK closer to
-	use.  Default initialize Hi, Lo.
-	(Selected_Range_Checks): Retype Num_Checks more precisely.
-	(Determine_Range, Determine_Range_R): Default initialize Hi_Right,
-	Lo_Right.
-	* contracts.adb (Process_Contract_Cases): Mark parameter Stmts as
-	Unmodified.
-	(Process_Postconditions): Mark parameter Stmts as Unmodified.
-	* exp_attr.adb (Expand_Loop_Entry_Attribute): Default initialize Blk.
-	* exp_ch4.adb (Expand_N_Allocator): Default initialize Typ.
-	(Expand_Concatenate): Default initialize High_Bound.
-	(Optimize_Length_Comparison): Default initialize Ent, Index.
-	* exp_ch5.adb (Expand_Predicated_Loop): Default initialize L_Hi and
-	L_Lo.
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Default initialize
-	Return_Stmt.
-	* exp_ch9.adb (Expand_Entry_Barrier): Default initialize Func_Body and
-	remove pragma Warnings(Off).
-	* exp_imgv.adb (Expand_Image_Attribute): Default initialize Tent.
-	* exp_util.adb (Find_Interface_Tag): Default initialize AI_Tag.
-	* freeze.adb (Check_Component_Storage_Order): Default initialize
-	Comp_Byte_Aligned rather than silencing messages with pragma
-	Warnings(Off), which does not work for CodePeer initialization
-	messages, and given that here the possible read of an unitialized value
-	depends on a proper use of parameters by the caller.
-	* inline.adb (Expand_Inlined_Call): Default initialize Lab_Decl, Targ.
-	* sem_ch12.adb (Build_Operator_Wrapper): Default initialize Expr.
-	* sem_ch3.adb (Build_Derived_Array_Type): Default initialize
-	Implicit_Base.
-	* sem_ch4.adb (List_Operand_Interps): Default initialize Nam and remove
-	pragma Warnings(Off).
-	(Analyze_Case_Expression): Rescope checking block within branch where
-	Others_Present is set by the call to Check_Choices.
-	* sem_ch5.adb (Analyze_Assignment): Default initialize
-	Save_Full_Analysis.
-	* sem_ch6.adb (Analyze_Function_Return): Default initialize Obj_Decl,
-	and restructure code to defend against previous errors, so that, in
-	that case, control does not flow to the elsif condition which read an
-	uninitialized Obj_Decl.
-	* sem_ch9.adb (Analyze_Requeue): Default initialize Synch_Type.
-	(Check_Interfaces): Default initialize Full_T_Ifaces and Priv_T_Ifaces,
-	which seem to be left uninitialized and possibly read in some cases.
-	* sem_dim.adb (Analyze_Aspect_Dimension_System): Retype Position more
-	precisely.  This requires to exchange the test for exiting in case of
-	too many positions and the increment to Position, inside the loop.
-	* sem_eval.adb (Eval_Concatenation): Default initialize Folded_Val,
-	which cannot be read uninitialized, but the reasons for that are quite
-	subtle.
-	* sem_intr.adb (Check_Intrinsic_Call): Default initialize Rtyp.
-	* sem_prag.adb (Collect_Subprogram_Inputs_Outputs): Default initialize
-	Spec_Id.
-	* sem_res.adb (Make_Call_Into_Operator): Default initialize Opnd_Type,
-	and test for presence of non-null Opnd_Type before testing its scope,
-	in a test which would read its value uninitialized, and is very rarely
-	exercized (it depends on the presence of an extension of System).
-	* sem_spark.ads: Update comment to fix name of main analysis procedure.
-	* sem_warn.adb (Warn_On_Known_Condition): Default initialize
-	Test_Result.
-	* set_targ.adb (FailN): Mark procedure with No_Return.
-	* stylesw.adb (Save_Style_Check_Options): Delete useless code to
-	initialize all array Options to white space, as there is already code
-	doing the same for the remaining positions in Options at the end of the
-	procedure.
-
-2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch11.adb (Possible_Local_Raise): Do not issue the warning for
-	generic instantiations either.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_prag.adb (Analyze_Part_Of): Reword error message.
-	(Get_SPARK_Mode_Type): Do not raise Program_Error in case pragma
-	SPARK_Mode appears with an illegal mode, treat this as a non-existent
-	mode.
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Call): Reject a call to a function that returns
-	a limited view of a type T declared in unit U1, when the function is
-	declared in another unit U2 and the call appears in a procedure within
-	another unit.
-
-2017-11-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Analyze_Use_Package): Force installation of use_clauses
-	when processing generic instances.
-
-2017-11-09  Bob Duff  <duff@adacore.com>
-
-	* namet.ads, namet.adb (Valid_Name_Id): New subtype that excludes
-	Error_Name and No_Name.  Use this (versus Name_Id) to indicate which
-	objects can have those special values. Valid_Name_Id could usefully be
-	used all over the compiler front end, but that's too much trouble for
-	now. If we did that, we might want to rename:
-	Name_Id --> Optional_Name_Id, Valid_Name_Id --> Name_Id.
-	For parameters of type Valid_Name_Id, remove some redundant tests,
-	including the ones found by CodePeer.  Use Is_Valid_Name instead of
-	membership test when appropriate.
-	(Error_Name_Or_No_Name): Delete this; it's no longer needed.
-	* sem_ch2.adb (Analyze_Identifier): Use "not Is_Valid_Name" instead of
-	"in Error_Name_Or_No_Name".
-	(Check_Parameterless_Call): Use "not Is_Valid_Name" instead of "in
-	Error_Name_Or_No_Name".
-
-2017-11-09  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Suppress warnings in codepeer
-	mode here unless -gnateC is specified.
-	* switch-c.adb (Scan_Front_End_Switches): Do not suppress warnings with
-	-gnatC here.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* lib-writ.adb (Write_ALI): Remove processing of the frontend xrefs as
-	part of the ALI writing; they are now processed directly from memory
-	when requested by the backend.
-	* lib-xref.ads (Collect_SPARK_Xrefs): Remove.
-	(Iterate_SPARK_Xrefs): New routine for iterating over frontend xrefs.
-	* lib-xref-spark_specific.adb (Traverse_Compilation_Unit): Remove.
-	(Add_SPARK_File): Remove.
-	(Add_SPARK_Xref): Refactored from removed code; filters xref entries
-	that are trivially uninteresting to the SPARK backend.
-	* spark_xrefs.ads: Remove code that is no longer needed.
-	* spark_xrefs.adb (dspark): Adapt to use Iterate_SPARK_Xrefs.
-
-2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb: Update the documentation on adding a new elaboration
-	schenario. Add new hash table Recorded_Top_Level_Scenarios.
-	(Is_Check_Emitting_Scenario): Removed.
-	(Is_Recorded_Top_Level_Scenario): New routine.
-	(Kill_Elaboration_Scenario): Reimplemented.
-	(Record_Elaboration_Scenario): Mark the scenario as recorded.
-	(Set_Is_Recorded_Top_Level_Scenario): New routine.
-	(Update_Elaboration_Scenario): Reimplemented.
-	* sinfo.adb (Is_Recorded_Scenario): Removed.
-	(Set_Is_Recorded_Scenario): Removed.
-	* sinfo.ads: Remove attribute Is_Recorded_Scenario along with
-	occurrences in nodes.
-	(Is_Recorded_Scenario): Removed along with pragma Inline.
-	(Set_Is_Recorded_Scenario): Removed along with pragma Inline.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_prag.adb (Analyze_Part_Of): Change "designate" to "denote" in
-	error message.
-
-2017-11-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_res.adb (Resolve_Allocator): Add warning messages corresponding
-	to the allocation of an anonymous access-to-controlled object.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-	* sigtramp-qnx.c: Fix obvious typo.
-
-2017-11-09  Doug Rupp  <rupp@adacore.com>
-
-	* libgnarl/s-taprop__linux.adb (Monotonic_Clock): Minor reformatting.
-
-2017-11-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve): If expression is an entity whose type has
-	implicit dereference, generate reference to it, because no reference is
-	generated for an overloaded entity during analysis, given that its
-	identity may not be known.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-	* exp_disp.adb (Expand_Interface_Thunk): Replace substraction of
-	offset-to-top field by addition.
-	(Make_Secondary_DT): Initialize the offset-to-top field with a negative
-	offset.
-	* exp_ch3.adb (Build_Offset_To_Top_Function): Build functions that
-	return a negative offset-to-top value.
-	(Initialize_Tag): Invoke runtime services Set_Dynamic_Offset_To_Top and
-	Set_Static_Offset_To_Top passing a negative offet-to-top value;
-	initialize also the offset-to-top field with a negative offset.
-	* libgnat/a-tags.adb (Base_Address): Displace the pointer by means of
-	an addition since the offset-to-top field is now a negative value.
-	(Displace): Displace the pointer to the object means of a substraction
-	since it is now a negative value.
-	(Set_Dynamic_Offset_to_top): Displace the pointer to the object by
-	means of a substraction since it is now a negative value.
-
-2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Call Errout.Finalize (Last_Call => True)
-	before Errout.Output_Messages also in the case of compilation errors.
-
-2017-11-09  Javier Miranda  <miranda@adacore.com>
-
-	* doc/gnat_ugn/the_gnat_compilation_model.rst (Interfacing with C++ at
-	the Class Level): Fix error interfacing with C strings.
-	* gnat_ugn.texi: Regenerate.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-	* system-qnx-aarch64.ads: Fix the priority constants.
-	* s-osinte__qnx.ads: Fix constants for handling the locking protocols
-	and scheduling.
-	* s-osinte__qnx.adb: New file , prevents the use of priority 0 that
-	corresponds to an idle priority on QNX.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_prag.adb, sem_util.adb, sem_elab.adb: Fix minor typos in
-	comments.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Ignore loop parameters
-	in expression funtions that are expanded into variables.
-
-2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_util.adb: Minor whitespace cleanup.
-
-2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
-
-	* libgnarl/s-taprop__qnx.adb: Refine aarch64-qnx. Use the POSIX
-	s-taprop version rather than a custom one.
-	* sigtramp-qnx.c (aarch64-qnx): Implement the signal trampoline.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* lib-xref.ads, lib-xref-spark_specific.adb
-	(Traverse_Compilation_Unit): Move declaration to package body.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_N_Object_Renaming_Declaration): Obtain
-	the type of the renaming from its defining entity, rather then the
-	subtype mark as there may not be a subtype mark.
-
-2017-11-08  Jerome Lambourg  <lambourg@adacore.com>
-
-	* adaint.c, s-oscons-tmplt.c, init.c, libgnat/system-qnx-aarch64.ads,
-	libgnarl/a-intnam__qnx.ads, libgnarl/s-intman__qnx.adb,
-	libgnarl/s-osinte__qnx.ads, libgnarl/s-qnx.ads,
-	libgnarl/s-taprop__qnx.adb, s-oscons-tmplt.c, sigtramp-qnx.c,
-	terminals.c: Initial port of GNAT for aarch64-qnx
-
-2017-11-08  Elisa Barboni  <barboni@adacore.com>
-
-	* exp_util.adb (Find_DIC_Type): Move...
-	* sem_util.ads, sem_util.adb (Find_DIC_Type): ... here.
-
-2017-11-08  Justin Squirek  <squirek@adacore.com>
-
-	* sem_res.adb (Resolve_Allocator): Add info messages corresponding to
-	the owner and corresponding coextension.
-
-2017-11-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Delta_Aggregate): Divide into the
-	following separate procedures.
-	(Resolve_Delta_Array_Aggregate): Previous code form
-	Resolve_Delta_Aggregate.
-	(Resolve_Delta_Record_Aggregate): Extend previous code to cover latest
-	ARG decisions on the legality rules for delta aggregates for records:
-	in the case of a variant record, components from different variants
-	cannot be specified in the delta aggregate, and this must be checked
-	statically.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* spark_xrefs.ads (SPARK_Scope_Record): Remove File_Num component.
-	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Skip initialization of
-	removed component.
-
-2017-11-08  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch4.adb: Minor typo fix.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* spark_xrefs.ads (SPARK_Scope_Record): Remove Spec_File_Num and
-	Spec_Scope_Num components.
-	* spark_xrefs.adb (dspark): Skip pretty-printing to removed components.
-	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Skip initialization of
-	removed components.
-	(Collect_SPARK_Xrefs): Skip setting proper values of removed
-	components.
-
-2017-11-08  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Type_Conversion): Add test that the selector
-	name is a discriminant in check for unconditional accessibility
-	violation within instances.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Remove special-case
-	for constants (with variable input).
-	(Is_Constant_Object_Without_Variable_Input): Remove.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb, sem_disp.adb, sem_util.adb: Minor reformatting.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* spark_xrefs.ads (Rtype): Remove special-casing of constants for SPARK
-	cross-references.
-	(dspark): Remove hardcoded table bound.
-
-2017-11-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Aggregate): For Ada2020 delta aggregates, use
-	the type of the base of the construct to determine the type (or
-	candidate interpretations) of the delta aggregate. This allows the
-	construct to appear in a context that expects a private extension.
-	* sem_res.adb (Resolve): Handle properly a delta aggregate with an
-	overloaded base.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* spark_xrefs.ads (SPARK_Xref_Record): Replace file and scope indices
-	with Entity_Id of the reference.
-	* spark_xrefs.adb (dspark): Adapt pretty-printing routine.
-	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Store Entity_Id of the
-	reference, not the file and scope indices.
-
-2017-11-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* errout.ads (Current_Node): New.
-	* errout.adb (Error_Msg): Use Current_Node.
-	* par-ch6.adb, par-ch7.adb, par-ch9.adb, par-util.adb: Set Current_Node
-	when relevant.
-	* style.adb: Call Error_Msg_N when possible.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* spark_xrefs.ads (SPARK_Scope_Record): Rename Scope_Id component to
-	Entity.
-	* lib-xref-spark_specific.adb, spark_xrefs.adb: Propagate renaming of
-	the Scope_Id record component.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* spark_xrefs.ads (SPARK_File_Record): Remove string components.
-	* spark_xrefs.adb (dspark): Remove pretty-printing of removed
-	SPARK_File_Record components.
-	* lib-xref-spark_specific.adb (Add_SPARK_File): Do not store string
-	representation of files/units.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* lib-xref.ads, lib-xref-spark_specific.adb (Traverse_Declarations):
-	Remove Inside_Stubs parameter.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* spark_xrefs.ads (SPARK_Xref_Record): Referenced object is now
-	represented by Entity_Id.
-	(SPARK_Scope_Record): Referenced scope (e.g. subprogram) is now
-	represented by Entity_Id; this information is not repeated as
-	Scope_Entity.
-	(Heap): Moved from lib-xref-spark_specific.adb, to reside next to
-	Name_Of_Heap_Variable.
-	* spark_xrefs.adb (dspark): Adapt debug routine to above changes in
-	data types.
-	* lib-xref-spark_specific.adb: Adapt routines for populating SPARK
-	scope and xrefs tables to above changes in data types.
-
-2017-11-08  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Mark_Use_Clauses): Add condition to always mark the
-	primitives of generic actuals.
-	(Mark_Use_Type): Add recursive call to properly mark class-wide type's
-	base type clauses as per ARM 8.4 (8.2/3).
-
-2017-11-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Generic_Subprobram_Body): Validate
-	categorization dependency of the body, as is done for non-generic
-	units.
-	(New_Overloaded_Entity, Visible_Part_Type): Remove linear search
-	through declarations (Simple optimization, no behavior change).
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* spark_xrefs.ads (SPARK_Xref_Record): Remove inessential components.
-	(SPARK_Scope_Record): Remove inessential components.
-	* spark_xrefs.adb (dspark): Remove pretty-printing of removed record
-	components.
-	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Remove setting of
-	removed record components.
-	(Add_SPARK_Xrefs): Remove setting of removed record components.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Remove dead check for
-	empty entities.
-
-2017-11-08  Javier Miranda  <miranda@adacore.com>
-
-	* sem_disp.adb (Is_Inherited_Public_Operation): Extend the
-	functionality of this routine to handle multiple levels of derivations.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb: Elist36 is now used as Nested_Scenarios.
-	(Nested_Scenarios): New routine.
-	(Set_Nested_Scenarios): New routine.
-	(Write_Field36_Name): New routine.
-	* einfo.ads: Add new attribute Nested_Scenarios along with occurrences
-	in entities.
-	(Nested_Scenarios): New routine along with pragma Inline.
-	(Set_Nested_Scenarios): New routine along with pragma Inline.
-	* sem_elab.adb (Find_And_Process_Nested_Scenarios): New routine.
-	(Process_Nested_Scenarios): New routine.
-	(Traverse_Body): When a subprogram body is traversed for the first
-	time, find, save, and process all suitable scenarios found within.
-	Subsequent traversals of the same subprogram body utilize the saved
-	scenarios.
-
-2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
-
-	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Remove detection of
-	protected operations.
-	(Add_SPARK_Xrefs): Simplify detection of empty entities.
-	* get_spark_xrefs.ads, get_spark_xrefs.adb, put_spark_xrefs.ads,
-	put_spark_xrefs.adb, spark_xrefs_test.adb: Remove code for writing,
-	reading and testing SPARK cross-references stored in the ALI files.
-	* lib-xref.ads (Output_SPARK_Xrefs): Remove.
-	* lib-writ.adb (Write_ALI): Do not write SPARK cross-references to the
-	ALI file.
-	* spark_xrefs.ads, spark_xrefs.adb (pspark): Remove, together
-	with description of the SPARK xrefs ALI format.
-	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove get_spark_refs.o
-	and put_spark_refs.o.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch4.adb (Apply_Accessibility_Check): Do not finalize the object
-	when the associated access type is subject to pragma
-	No_Heap_Finalization.
-	* exp_intr.adb (Expand_Unc_Deallocation): Use the available view of the
-	designated type in case it comes from a limited withed unit.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Expand_N_Object_Declaration): Save and restore relevant
-	SPARK-related flags.  Add ??? comment.
-	* exp_util.adb (Insert_Actions): Add an entry for node
-	N_Variable_Reference_Marker.
-	* sem.adb (Analyze): Add an entry for node N_Variable_Reference_Marker.
-	* sem_ch8.adb (Find_Direct_Name): Add constant Is_Assignment_LHS. Build
-	and record a variable reference marker for the current name.
-	(Find_Expanded_Name): Add constant Is_Assignment_LHS. Build and record
-	a variable reference marker for the current name.
-	* sem_elab.adb (Build_Variable_Reference_Marker): New routine.
-	(Extract_Variable_Reference_Attributes): Reimplemented.
-	(Info_Scenario): Add output for variable references and remove output
-	for variable reads.
-	(Info_Variable_Read): Removed.
-	(Info_Variable_Reference): New routine.
-	(Is_Suitable_Scenario): Variable references are now suitable scenarios
-	while variable reads are not.
-	(Output_Active_Scenarios): Add output for variable references and
-	remove output for variable reads.
-	(Output_Variable_Read): Removed.
-	(Output_Variable_Reference): New routine.
-	(Process_Variable_Read): Removed.
-	(Process_Variable_Reference): New routine.
-	(Process_Variable_Reference_Read): New routine.
-	* sem_elab.ads (Build_Variable_Reference_Marker): New routine.
-	* sem_res.adb (Resolve_Actuals): Build and record a variable reference
-	marker for the current actual.
-	* sem_spark.adb (Check_Node): Add an entry for node
-	N_Variable_Reference_Marker.
-	* sem_util.adb (Within_Subprogram_Call): Moved to the library level.
-	* sem_util.ads (Within_Subprogram_Call): Moved to the library level.
-	* sinfo.adb (Is_Read): New routine.
-	(Is_Write): New routine.
-	(Target): Updated to handle variable reference markers.
-	(Set_Is_Read): New routine.
-	(Set_Is_Write): New routine.
-	(Set_Target): Updated to handle variable reference markers.
-	* sinfo.ads: Add new attributes Is_Read and Is_Write along with
-	occurrences in nodes. Update attribute Target. Add new node
-	kind N_Variable_Reference_Marker.
-	(Is_Read): New routine along with pragma Inline.
-	(Is_Write): New routine along with pragma Inline.
-	(Set_Is_Read): New routine along with pragma Inline.
-	(Set_Is_Write): New routine along with pragma Inline.
-	* sprint.adb (Sprint_Node_Actual): Add an entry for node
-	N_Variable_Reference_Marker.
-
-2017-11-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Subprogram_Name): Append suffix for overloaded
-	subprograms.
-
-2017-11-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch8.adb (Use_One_Type, Update_Use_Clause_Chain): Do not report
-	about unused use-type or use-package clauses inside inlined bodies.
-
-2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Ensure_Prior_Elaboration): Add new parameter
-	In_Partial_Fin along with a comment on its usage. Do not guarantee the
-	prior elaboration of a unit when the need came from a partial
-	finalization context.
-	(In_Initialization_Context): Relocated to Process_Call.
-	(Is_Partial_Finalization_Proc): New routine.
-	(Process_Access): Add new parameter In_Partial_Fin along with a comment
-	on its usage.
-	(Process_Activation_Call): Add new parameter In_Partial_Fin along with
-	a comment on its usage.
-	(Process_Activation_Conditional_ABE_Impl): Add new parameter
-	In_Partial_Fin along with a comment on its usage. Do not emit any ABE
-	diagnostics when the activation occurs in a partial finalization
-	context.
-	(Process_Activation_Guaranteed_ABE_Impl): Add new parameter
-	In_Partial_Fin along with a comment on its usage.
-	(Process_Call): Add new parameter In_Partial_Fin along with a comment
-	on its usage. A call is within a partial finalization context when it
-	targets a finalizer or primitive [Deep_]Finalize, and the call appears
-	in initialization actions. Pass this information down to the recursive
-	steps of the Processing phase.
-	(Process_Call_Ada): Add new parameter In_Partial_Fin along with a
-	comment on its usage. Remove the guard which suppresses the generation
-	of implicit Elaborate[_All] pragmas. This is now done in
-	Ensure_Prior_Elaboration.
-	(Process_Call_Conditional_ABE): Add new parameter In_Partial_Fin along
-	with a comment on its usage. Do not emit any ABE diagnostics when the
-	call occurs in a partial finalization context.
-	(Process_Call_SPARK): Add new parameter In_Partial_Fin along with a
-	comment on its usage.
-	(Process_Instantiation): Add new parameter In_Partial_Fin along with a
-	comment on its usage.
-	(Process_Instantiation_Ada): Add new parameter In_Partial_Fin along
-	with a comment on its usage.
-	(Process_Instantiation_Conditional_ABE): Add new parameter
-	In_Partial_Fin along with a comment on its usage. Do not emit any ABE
-	diagnostics when the instantiation occurs in a partial finalization
-	context.
-	(Process_Instantiation_SPARK): Add new parameter In_Partial_Fin along
-	with a comment on its usage.
-	(Process_Scenario): Add new parameter In_Partial_Fin along  with a
-	comment on its usage.
-	(Process_Single_Activation): Add new parameter In_Partial_Fin along
-	with a comment on its usage.
-	(Traverse_Body): Add new parameter In_Partial_Fin along with a comment
-	on its usage.
-
-2017-11-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch13.adb: Add optional parameter to Error_Msg.
-
-2017-11-08  Jerome Lambourg  <lambourg@adacore.com>
-
-	* fname.adb (Is_Internal_File_Name): Do not check the 8+3 naming schema
-	for the Interfaces.* hierarchy as longer unit names are now allowed.
-
-2017-11-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Subprogram_Name): Emit sloc for the enclosing
-	subprogram as well.  Support more cases of entities.
-	(Append_Entity_Name): Add some defensive code.
-
-2017-11-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (gnat_post_options): Clear warn_return_type.
-
-2017-10-31  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/82785
-	* gcc-interface/Makefile.in (m68k/Linux): Fix typo.
-
-2017-10-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Makefile.in: Remove bogus settings for VxWorks.
-
-2017-10-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (pad_type_hash): Use hashval_t for hash value.
-	(convert): Do not use an unchecked conversion for converting from a
-	type to another type padding it.
-
-2017-10-20  Doug Rupp  <rupp@adacore.com>
-
-	* libgnarl/s-osinte__linux.ads (Relative_Timed_Wait): Add variable
-	needed for using monotonic clock.
-	* libgnarl/s-taprop__linux.adb: Revert previous monotonic clock
-	changes.
-	* libgnarl/s-taprop__linux.adb, s-taprop__posix.adb: Unify and factor
-	out monotonic clock related functions body.
-	(Timed_Sleep, Timed_Delay, Montonic_Clock, RT_Resolution,
-	Compute_Deadline): Move to...
-	* libgnarl/s-tpopmo.adb: ... here. New separate package body.
-
-2017-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Is_Controlling_Limited_Procedure): Handle properly the
-	case where the controlling formal is an anonymous access to interface
-	type.
-	* exp_ch9.adb (Extract_Dispatching_Call): If controlling actual is an
-	access type, handle properly the the constructed dereference that
-	designates the object used in the rewritten synchronized call.
-	(Parameter_Block_Pack): If the type of the actual is by-copy, its
-	generated declaration in the parameter block does not need an
-	initialization even if the type is a null-excluding access type,
-	because it will be initialized with the value of the actual later on.
-	(Parameter_Block_Pack): Do not add controlling actual to parameter
-	block when its type is by-copy.
-
-2017-10-20  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Update_Use_Clause_Chain): Add sanity check to verify
-	scope stack traversal into the context clause.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* sinfo.ads: Fix a comment typo.
-
-2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (-flto): Add
-	warning against usage in conjunction with -gnatn.
-	(-fdump-xref): Delete entry.
-	* doc/gnat_ugn/gnat_utility_programs.rst (--ext): Remove mention of
-	-fdump-xref switch.
-	* gnat_ugn.texi: Regenerate.
-
-2017-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_type.adb, exp_util.adb, sem_util.adb, sem_dim.adb, sem_elab.adb:
-	Minor reformatting.
-
-2017-10-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_Binary_Op): Accept with a warning to
-	compare a dimensioned expression with a literal.
-	(Dim_Warning_For_Numeric_Literal): Do not issue a warning for the
-	special value zero.
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Update description of
-	dimensionality system in GNAT.
-	* gnat_ugn.texi: Regenerate.
-
-2017-10-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function.Freeze_Expr_Types): Remove
-	inadequate silencing of errors.
-	* sem_util.adb (Check_Part_Of_Reference): Do not issue an error when
-	checking the subprogram body generated from an expression function,
-	when this is done as part of the preanalysis done on expression
-	functions, as the subprogram body may not yet be attached in the AST.
-	The error if any will be issued later during the analysis of the body.
-	(Is_Aliased_View): Trivial rewrite with Is_Formal_Object.
-
-2017-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch8.adb (Update_Chain_In_Scope): Add missing [-gnatwu] marker for
-	warning on ineffective use clause.
-
-2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch11.ads (Warn_If_No_Local_Raise): Declare.
-	* exp_ch11.adb (Expand_Exception_Handlers): Use Warn_If_No_Local_Raise
-	to issue the warning on the absence of local raise.
-	(Possible_Local_Raise): Do not issue the warning for Call_Markers.
-	(Warn_If_No_Local_Raise): New procedure to issue the warning on the
-	absence of local raise.
-	* sem_elab.adb: Add with and use clauses for Exp_Ch11.
-	(Record_Elaboration_Scenario): Call Possible_Local_Raise in the cases
-	where a scenario could give rise to raising Program_Error.
-	* sem_elab.adb: Typo fixes.
-	* fe.h (Warn_If_No_Local_Raise): Declare.
-	* gcc-interface/gigi.h (get_exception_label): Change return type.
-	* gcc-interface/trans.c (gnu_constraint_error_label_stack): Change to
-	simple vector of Entity_Id.
-	(gnu_storage_error_label_stack): Likewise.
-	(gnu_program_error_label_stack): Likewise.
-	(gigi): Adjust to above changes.
-	(Raise_Error_to_gnu): Likewise.
-	(gnat_to_gnu) <N_Goto_Statement>: Set TREE_USED on the label.
-	(N_Push_Constraint_Error_Label): Push the label onto the stack.
-	(N_Push_Storage_Error_Label): Likewise.
-	(N_Push_Program_Error_Label): Likewise.
-	(N_Pop_Constraint_Error_Label): Pop the label from the stack and issue
-	a warning on the absence of local raise.
-	(N_Pop_Storage_Error_Label): Likewise.
-	(N_Pop_Program_Error_Label): Likewise.
-	(push_exception_label_stack): Delete.
-	(get_exception_label): Change return type to Entity_Id and adjust.
-	* gcc-interface/utils2.c (build_goto_raise): Change type of first
-	parameter to Entity_Id and adjust.  Set TREE_USED on the label.
-	(build_call_raise): Adjust calls to get_exception_label and also
-	build_goto_raise.
-	(build_call_raise_column): Likewise.
-	(build_call_raise_range): Likewise.
-	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (-gnatw.x):
-	Document actual default behavior.
-
-2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
-
-	* einfo.ads: Minor consistent punctuation in comment.  All numbered
-	items in the comment of Is_Internal are now terminated with a period.
-
-2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
-
-	* exp_util.adb (Build_Temporary): Mark created temporary entity as
-	internal.
-
-2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_type.adb (In_Generic_Actual): Simplified.
-
-2017-10-20  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch12.adb (Check_Formal_Package_Instance): Add sanity check to
-	verify a renaming exists for a generic formal before comparing it to
-	the actual as defaulted formals will not have a renamed_object.
-
-2017-10-20  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Replace_Returns): Fix wrong management of
-	N_Block_Statement nodes.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* exp_aggr.adb (Initialize_Array_Component): Avoid adjusting a
-	component of an array aggregate if it is initialized by a
-	build-in-place function call.
-	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Use -gnatd.9 to disable
-	bip for nonlimited types.
-	* debug.adb: Document -gnatd.9.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* sem_ch12.adb: Remove redundant setting of Parent.
-
-2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch4.adb (Find_Concatenation_Types): Filter out operators if one
-	of the operands is a string literal.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* einfo.ads: Comment fix.
-
-2017-10-20  Clement Fumex  <fumex@adacore.com>
-
-	* switch-c.adb: Remove -gnatwm from the switches triggered by -gnateC.
-
-2017-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Extract_Power): Accept dimension values that are not
-	non-negative integers when the dimensioned base type is an Integer
-	type.
-
-2017-10-20  Bob Duff  <duff@adacore.com>
-
-	* sinfo.ads, sinfo.adb (Alloc_For_BIP_Return): New flag to indicate
-	that an allocator came from a b-i-p return statement.
-	* exp_ch4.adb (Expand_Allocator_Expression): Avoid adjusting the return
-	object of a nonlimited build-in-place function call.
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Set the
-	Alloc_For_BIP_Return flag on generated allocators.
-	* sem_ch5.adb (Analyze_Assignment): Move Assert to where it can't fail.
-	If the N_Assignment_Statement has been transformed into something else,
-	then Should_Transform_BIP_Assignment won't work.
-	* exp_ch3.adb (Expand_N_Object_Declaration): A previous revision said,
-	"Remove Adjust if we're building the return object of an extended
-	return statement in place." Back out that part of the change, because
-	the Alloc_For_BIP_Return flag is now used for that.
-
-2017-10-19  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Fix silly bug -- "Typ"
-	should be "T".  Handle case of a subtype of a class-wide type.
-
-2017-10-19  Bob Duff  <duff@adacore.com>
-
-	* exp_util.adb: (Process_Statements_For_Controlled_Objects): Clarify
-	which node kinds can legitimately be ignored, and raise Program_Error
-	for others.
-
-2017-10-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Compilation_Unit): Handle the case of a subprogram
-	instantiation that acts as a compilation unit.
-	(Find_Code_Unit): Reimplemented.
-	(Find_Top_Unit): Reimplemented.
-	(Find_Unit_Entity): New routine.
-	(Process_Instantiation_SPARK): Correct the elaboration requirement a
-	package instantiation imposes on a unit.
-
-2017-10-19  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Enable build-in-place
-	for a narrow set of controlled types.
-
-2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sinput.ads (Line_Start): Add pragma Inline.
-	* widechar.ads (Is_Start_Of_Wide_Char): Likewise.
-
-2017-10-19  Bob Duff  <duff@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference): Disable
-	Make_Build_In_Place_Call_... for F(...)'Old, where F(...) is a
-	build-in-place function call so that the temp is declared in the right
-	place.
-
-2017-10-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (gnat_tree_size): Move around.
-
-	* gcc-interface/utils.c (max_size): Deal with SSA names.
-
-2017-10-17  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/misc.c (gnat_tree_size): New function.
-	(LANG_HOOKS_TREE_SIZE): Redefine.
-
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (In_Preelaborated_Context): A generic package subject to
-	Remote_Call_Interface is not a suitable preelaboratd context when the
-	call appears in the package body.
-
-2017-10-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* layout.ads (Set_Elem_Alignment): Add Align parameter defaulted to 0.
-	* layout.adb (Set_Elem_Alignment): Likewise.  Use M name as maximum
-	alignment for consistency.  If Align is non-zero, use the minimum of
-	Align and M for the alignment.
-	* cstand.adb (Build_Float_Type): Use Set_Elem_Alignment instead of
-	setting the alignment directly.
-
-2017-10-14  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Check): Defer evaluation of the
-	optional string in an Assert pragma until the expansion of the pragma
-	has rewritten it as a conditional statement, so that the string
-	argument is only evaluaed if the assertion fails. This is mandated by
-	RM 11.4.2.
-
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb: Switch -gnatd.v and associated flag are now used to
-	enforce the SPARK rules for elaboration in SPARK code.
-	* sem_elab.adb: Describe switch -gnatd.v.
-	(Process_Call): Verify the SPARK rules only when -gnatd.v is in effect.
-	(Process_Instantiation): Verify the SPARK rules only when -gnatd.v is
-	in effect.
-	(Process_Variable_Assignment): Clarify why variable assignments are
-	processed reglardless of whether -gnatd.v is in effect.
-	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the
-	sections on elaboration code and compilation switches.
-	* gnat_ugn.texi: Regenerate.
-
-2017-10-14  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, freeze.adb, sem_aggr.adb, sem_util.ads, sem_util.adb,
-	sem_warn.adb: Minor reformattings.
-
-2017-10-14  Ed Schonberg  <schonberg@adacore.com>
-
-	* doc/gnat_rm/implementation_defined_aspects.rst: Add documentation
-	for reverse iteration over formal containers.
-	* gnat_rm.texi: Regenerate.
-
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Ensure_Dynamic_Prior_Elaboration): Renamed to
-	Ensure_Prior_Elaboration_Dynamic for consistency reasons.
-	(Ensure_Static_Prior_Elaboration): Renamed to
-	Ensure_Prior_Elaboration_Static for consistency reasons.
-	(Info_Variable_Reference): Renamed to Info_Variable_Read in order to
-	reflect its new purpose.
-	(Is_Initialized): New routine.
-	(Is_Suitable_Variable_Reference): Renamed to Is_Suitable_Variable_Read
-	in order to reflect its new purpose.
-	(Is_Variable_Read): New routine.
-	(Output_Variable_Reference): Renamed to Output_Variable_Read in order
-	to reflect its new purpose.
-	(Process_Variable_Assignment): This routine now acts as a top level
-	dispatcher for variable assignments.
-	(Process_Variable_Assignment_Ada): New routine.
-	(Process_Variable_Assignment_SPARK): New routine.
-	(Process_Variable_Reference): Renamed to Process_Variable_Read in order
-	to reflects its new purpose. A reference to a variable is now suitable
-	for ABE processing only when it is a read. The logic in the routine now
-	reflects the latest SPARK elaboration rules.
-
-2017-10-14  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): Modify condition that
-	triggers marking on formal subprograms.
-
-2017-10-14  Javier Miranda  <miranda@adacore.com>
-
-	* checks.adb (Ensure_Valid): Do not skip adding the validity check on
-	renamings of objects that come from the sources.
-
-2017-10-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* cstand.adb (Build_Float_Type): Move down Siz parameter, add Align
-	parameter and set the alignment of the type to Align.
-	(Copy_Float_Type): Adjust call to Build_Float_Type.
-	(Register_Float_Type): Add pragma Unreferenced for Precision.  Adjust
-	call to Build_Float_Type and do not set RM_Size and Alignment.
-
-2017-10-14  Patrick Bernardi  <bernardi@adacore.com>
-
-	* Makefile.rtl (GNATRTL_NONTASKING_OBJ): Add s-soliin to
-	GNATRTL_NONTASKING_OBJ.
-
-2017-10-14  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Include code for
-	enabling b-i-p for nonlimited controlled types (but disabled).
-
-2017-10-14  Justin Squirek  <squirek@adacore.com>
-
-	* sem_elab.adb (Is_Suitable_Variable_Assignment): Replace call to
-	Has_Warnings_Off with Warnings_Off.
-
-2017-10-14  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sinfo.ads (Generic_Parent): Remove wrong (possibly obsolete) comment.
-
-2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Analyze the contract of an
-	enclosing package at the end of the visible declarations.
-	* sem_prag.adb (Analyze_Initialization_Item): Suppress the analysis of
-	an initialization item which is undefined due to some illegality.
-
-2017-10-14  Patrick Bernardi  <bernardi@adacore.com>
-
-	* ali.adb: Add new ALI line 'T' to read the number of tasks contain
-	within each unit that require a default-sized primary and secondary
-	stack to be generated by the binder.
-	(Scan_ALI): Scan new 'T' lines.
-	* ali.ads: Add Primary_Stack_Count and Sec_Stack_Count to Unit_Record.
-	* bindgen.adb (Gen_Output_File): Count the number of default-sized
-	stacks within the closure that are to be created by the binder.
-	(Gen_Adainit, Gen_Output_File_Ada): Generate default-sized secondary
-	stacks and record these in System.Secodnary_Stack.
-	(Resolve_Binder_Options): Check if System.Secondary_Stack is in the
-	closure of the program being bound.
-	* bindusg.adb (Display): Add "-Q" switch. Remove rouge "--RTS" comment.
-	* exp_ch3.adb (Count_Default_Sized_Task_Stacks): New routine.
-	(Expand_N_Object_Declaration): Count the number of default-sized stacks
-	used by task objects contained within the object whose declaration is
-	being expanded.  Only performed when either the restrictions
-	No_Implicit_Heap_Allocations or No_Implicit_Task_Allocations are in
-	effect.
-	* exp_ch9.adb (Create_Secondary_Stack_For_Task): New routine.
-	(Expand_N_Task_Type_Declaration): Create a secondary stack as part of
-	the expansion of a task type if the size of the stack is known at
-	run-time and the restrictions No_Implicit_Heap_Allocations or
-	No_Implicit_Task_Allocations are in effect.
-	(Make_Task_Create_Call): If using a restricted profile provide
-	secondary stack parameter: either the statically created stack or null.
-	* lib-load.adb (Create_Dummy_Package_Unit, Load_Unit,
-	Load_Main_Source): Include Primary_Stack_Count and Sec_Stack_Count in
-	Unit_Record initialization expressions.
-	* lib-writ.adb (Add_Preprocessing_Dependency,
-	Ensure_System_Dependency): Include Primary_Stack_Count and
-	Sec_Stack_Count in Unit_Record initialization expression.
-	(Write_ALI): Write T lines.
-	(Write_Unit_Information): Do not output 'T' lines if there are no
-	stacks for the binder to generate.
-	* lib-writ.ads: Updated library information documentation to include
-	new T line entry.
-	* lib.adb (Increment_Primary_Stack_Count): New routine.
-	(Increment_Sec_Stack_Count): New routine.
-	(Primary_Stack_Count): New routine.
-	(Sec_Stack_Count): New routine.
-	* lib.ads: Add Primary_Stack_Count and Sec_Stack_Count components to
-	Unit_Record and updated documentation.
-	(Increment_Primary_Stack_Count): New routine along with pragma Inline.
-	(Increment_Sec_Stack_Count): New routine along with pragma Inline.
-	(Primary_Stack_Count): New routine along with pragma Inline.
-	(Sec_Stack_Count): New routine along with pragma Inline.
-	* opt.ads: New constant No_Stack_Size.	Flag Default_Stack_Size
-	redefined.  New flag Default_Sec_Stack_Size and
-	Quantity_Of_Default_Size_Sec_Stacks.
-	* rtfinal.c Fixed erroneous comment.
-	* rtsfind.ads: Moved RE_Default_Secondary_Stack_Size from
-	System.Secondary_Stack to System.Parameters.  Add RE_SS_Stack.
-	* sem_util.adb (Number_Of_Elements_In_Array): New routine.
-	* sem_util.ads (Number_Of_Elements_In_Array): New routine.
-	* switch-b.adb (Scan_Binder_Switches): Scan "-Q" switch.
-	* libgnarl/s-solita.adb (Get_Sec_Stack_Addr): Removed routine.
-	(Set_Sec_Stack_Addr): Removed routine.
-	(Get_Sec_Stack): New routine.
-	(Set_Sec_Stack): New routine.
-	(Init_Tasking_Soft_Links): Update System.Soft_Links reference to
-	reflect new procedure and global names.
-	* libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
-	libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__solaris.adb,
-	libgnarl/s-taprop__vxworks.adb (Register_Foreign_Thread): Update
-	parameter profile to allow the secondary stack size to be specified.
-	* libgnarl/s-tarest.adb (Create_Restricted_Task): Update the parameter
-	profile to include Sec_Stack_Address.  Update Tasking.Initialize_ATCB
-	call to remove Secondary_Stack_Size reference.  Add secondary stack
-	address and size to SSL.Create_TSD call.
-	(Task_Wrapper): Remove secondary stack creation.
-	* libgnarl/s-tarest.ads (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Update parameter profile to include
-	Sec_Stack_Address and clarify the Size parameter.
-	* libgnarl/s-taskin.adb (Initialize_ATCB): Remove Secondary_Stack_Size
-	from profile and body.
-	(Initialize): Remove Secondary_Stack_Size from Initialize_ATCB call.
-	* libgnarl/s-taskin.ads: Removed component Secondary_Stack_Size from
-	Common_ATCB.
-	(Initialize_ATCB): Update the parameter profile to remove
-	Secondary_Stack_Size.
-	* libgnarl/s-tassta.adb (Create_Task): Updated parameter profile and
-	call to Initialize_ATCB.  Add secondary stack address and size to
-	SSL.Create_TSD call, and catch any storage exception from the call.
-	(Finalize_Global_Tasks): Update System.Soft_Links references to reflect
-	new subprogram and component names.
-	(Task_Wrapper): Remove secondary stack creation.
-	(Vulnerable_Complete_Master): Update to reflect TSD changes.
-	* libgnarl/s-tassta.ads: Reformat comments.
-	(Create_Task): Update parameter profile.
-	* libgnarl/s-tporft.adb (Register_Foreign_Thread): Update parameter
-	profile to include secondary stack size. Remove secondary size
-	parameter from Initialize_ATCB call and add it to Create_TSD call.
-	* libgnat/s-parame.adb, libgnat/s-parame__rtems.adb,
-	libgnat/s-parame__vxworks.adb (Default_Sec_Stack_Size): New routine.
-	* libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
-	libgnat/s-parame__hpux.ads, libgnat/s-parame__vxworks.ads: Remove type
-	Percentage.  Remove constants Dynamic, Sec_Stack_Percentage and
-	Sec_Stack_Dynamic.  Add constant Runtime_Default_Sec_Stack_Size and
-	Sec_Stack_Dynamic.
-	(Default_Sec_Stack_Size): New routine.
-	* libgnat/s-secsta.adb, libgnat/s-secsta.ads: New implementation. Is
-	now Preelaborate.
-	* libgnat/s-soflin.adb: Removed unused with-clauses.  With
-	System.Soft_Links.Initialize to initialize non-tasking TSD.
-	(Create_TSD): Update parameter profile. Initialize the TSD and
-	unconditionally call SS_Init.
-	(Destroy_TSD): Update SST.SS_Free call.
-	(Get_Sec_Stack_Addr_NT, Get_Sec_Stack_Addr_Soft, Set_Sec_Stack_Addr_NT,
-	Set_Sec_Stack_Addr_Soft): Remove routines.
-	(Get_Sec_Stack_NT, Get_Sec_Stack_Soft, Set_Sec_Stack_NT,
-	Set_Sec_Stack_Soft): Add routines.
-	(NT_TSD): Move to private part of package specification.
-	* libgnat/s-soflin.ads: New types Get_Stack_Call and Set_Stack_Call
-	with suppressed access checks.  Renamed *_Sec_Stack_Addr_* routines and
-	objects to *_Sec_Stack_*.  TSD: removed warning suppression and
-	component intialization. Changed Sec_Stack_Addr to Sec_Stack_Ptr.
-	(Create_TSD): Update parameter profile.
-	(NT_TSD): Move to private section from body.
-	* libgnat/s-soliin.adb, libgnat/s-soliin.ads: New files.
-	* libgnat/s-thread.ads (Thread_Body_Enter): Update parameter profile.
-	* libgnat/s-thread__ae653.adb (Get_Sec_Stack_Addr, Set_Sec_Stack_Addr):
-	Remove routine.
-	(Get_Sec_Stack, Set_Sec_Stack): Add routine.
-	(Thread_Body_Enter): Update parameter profile and body to adapt to new
-	System.Secondary_Stack.
-	(Init_RTS): Update body for new System.Soft_Links names.
-	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
-	s-soliin.o.
-
-2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gcc-interface/decl.c (annotate_value): Use wi::to_wide when
-	operating on trees as wide_ints.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_unit.adb (Find_Enclosing_Scope): Do not treat a block statement
-	as a scoping construct when it is byproduct of exception handling.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sinfo.ads: Update table Is_Syntactic_Field to reflect the nature of
-	semantic field Target of node N_Call_Marker.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Allocator): Reject properly an allocator that
-	attempts to copy a limited value, when the allocator is the expression
-	in an expression function.
-
-2017-10-09  Joel Brobecker  <brobecker@adacore.com>
-
-	* doc/share/conf.py: Tell the style checker that this is a Python
-	fragment, and therefore that pyflakes should not be run to validate
-	this file.
-
-2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* einfo.ads (Is_Boolean_Type): Add pragma Inline.
-	(Is_Entity_Name): Likewise.
-	(Is_String_Type): Likewise.
-	* sem_type.adb (Full_View_Covers): Do not test Is_Private_Type here
-	and remove useless comparisons on the base types.
-	(Covers): Use simple tests for Standard_Void_Type.  Move up cheap tests
-	on T2.  Always test Is_Private_Type before Full_View_Covers.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch4.adb: Minor refactoring.
-
-2017-10-09  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Replace_Components): Browse the list of discriminants,
-	not components.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Static_Elaboration_Checks): Elaboration requirements
-	are verified only in the static model.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Iterator_Specification,
-	Check_Reverse_Iteration): Check that the domain of iteration supports
-	reverse iteration when it is a formal container.  This requires the
-	presence of a Previous primitive in the Iterable aspect.
-	* sem_ch13.adb (Resolve_Iterable_Operation): Verify legality of
-	primitives Last and Previous to support reverse iteration over formal
-	containers.
-	(Validate_Iterable_Aspect): Add check for reverse iteration operations.
-	* exp_ch5.adb (Build_Formal_Container_Iteration): Add proper expansion
-	for reverse iteration using primitives Last and Previous in generated
-	loop.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Subprogram_Name): If this is a child unit, use the name
-	of the Defining_Program_Unit_Name, which is an identifier, in order to
-	construct the string for the fully qualified name.
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb: Rename Uses_Unseen_Priv into
-	Contains_Lib_Incomplete_Type.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, sem_spark.adb, adabkend.adb, exp_ch5.adb, frontend.adb,
-	sem_ch12.adb, fmap.adb, exp_ch6.adb, exp_spark.adb, lib-load.adb,
-	exp_ch9.adb, osint.adb, exp_disp.adb, sem_ch8.adb, sem_ch8.ads,
-	prepcomp.adb, gnat1drv.adb, atree.adb, sinput-l.adb, targparm.adb,
-	sem_ch10.adb, par-ch8.adb: Minor reformatting.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Is_Suitable_Access): This scenario is now only relevant
-	in the static model.
-	(Is_Suitable_Variable_Assignment): This scenario is now only relevant
-	in the static model.
-	(Is_Suitable_Variable_Reference): This scenario is now only relevant in
-	the static model.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): In ASIS mode, resolve aspect
-	expressions when the enclosing scope is a subprogram body and the next
-	declaration is a body that freezes entities previously declared in the
-	scope.
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Analyze_Use_Package): Remove checking of mixture between
-	ghost packages and living packages in use clauses.
-	(Use_One_Type, Note_Redundant_Use): Correct warning messages
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* osint.ads: Document new parameter FD for Read_Source_File.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Make_Predicate_Call): If the type of the expression to
-	which the predicate check applies is tagged, convert the expression to
-	that type. This is in most cases a no-op, but is relevant if the
-	expression is clas-swide, because the predicate function being invoked
-	is not a primitive of the type and cannot take a class-wide actual.
-
-2017-10-09  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_disp.adb: Minor reformatting.
-
-2017-10-09  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix typo.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Install_ABE_Check): Do not generate an ABE check for
-	GNATprove.
-	(Install_ABE_Failure): Do not generate an ABE failure for GNATprove.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Return
-	immediately if the call has already been processed (by a previous call
-	to Make_Build_In_Place_Call_In_Anonymous_Context).
-	* sem_elab.adb: Minor typo fixes.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Replace_Type_Ref): In the expression for a dynamic
-	predicate, do not replace an identifier that matches the type if the
-	identifier is a selector in a selected component, because this
-	indicates a reference to some homograph of the type itself, and  not to
-	the current occurence in the predicate.
-
-2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* repinfo.adb (List_Record_Layout): Tweak formatting.
-	(Write_Val): Remove superfluous spaces in back-end layout mode.
-
-2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_res.adb (Property_Error): Remove.
-	(Resolve_Actuals): check for SPARK RM 7.1.3(10) rewritten to match the
-	current wording of the rule.
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Add check for ghost packages
-	before analyzing a given scope due to an expression function.
-	(Uses_Unseen_Lib_Unit_Priv): Rename to Uses_Unseen_Priv.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
-	Defining_Identifier (Obj_Decl) in two places, because it might have
-	changed.
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Deal with cases
-	involving 'Input on (not visibly) derived types.
-
-2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* atree.adb: Add new soft link Rewriting_Proc.
-	(Rewrite): Invoke the subprogram attached to the rewriting soft link.
-	(Set_Rewriting_Proc): New routine.
-	* attree.ads: Add new access-to-subprogram type Rewrite_Proc.
-	(Set_Rewriting_Proc): New routine.
-	* checks.adb (Install_Primitive_Elaboration_Check): Use 'E' character
-	for *E*laboration flag to maintain consistency with other elaboration
-	flag generating subprograms.
-	* debug.adb: Document the new usage of flag -gnatdL.
-	* einfo.adb: Node19 is now used as Receiving_Entry.  Node39 is now used
-	as Protected_Subprogram.  Flag148 is now used as
-	Is_Elaboration_Checks_OK_Id.  Flag302 is now used as
-	Is_Initial_Condition_Procedure.
-	(Is_Elaboration_Checks_OK_Id): New routine.
-	(Is_Initial_Condition_Procedure): New routine.
-	(Protected_Subprogram): New routine.
-	(Receiving_Entry): New routine.
-	(SPARK_Pragma): Update assertion.
-	(SPARK_Pragma_Inherited): Update assertion.
-	(Suppress_Elaboration_Warnings): Removed.
-	(Set_Is_Elaboration_Checks_OK_Id): New routine.
-	(Set_Is_Initial_Condition_Procedure): New routine.
-	(Set_Protected_Subprogram): New routine.
-	(Set_Receiving_Entry): New routine.
-	(Set_SPARK_Pragma): Update assertion.
-	(Set_SPARK_Pragma_Inherited): Update assertion.
-	(Write_Entity_Flags): Update the output for Flag148 and Flag302.
-	(Write_Field19_Name): Add output for Receiving_Entry.
-	(Write_Field39_Name): Add output for Protected_Subprogram.
-	(Write_Field40_Name): Update the output for SPARK_Pragma.
-	* einfo.ads: New attributes Is_Elaboration_Checks_OK_Id,
-	Is_Initial_Condition_Procedure, Protected_Subprogram, Receiving_Entry.
-	Remove attribute Suppress_Elaboration_Warnings.  Update the stricture
-	of various entities.
-	(Is_Elaboration_Checks_OK_Id): New routine along with pragma Inline.
-	(Is_Initial_Condition_Procedure): New routine along with pragma Inline.
-	(Protected_Subprogram): New routine along with pragma Inline.
-	(Receiving_Entry): New routine along with pragma Inline.
-	(Suppress_Elaboration_Warnings): Removed.
-	(Set_Is_Elaboration_Checks_OK_Id): New routine along with pragma
-	Inline.
-	(Set_Is_Initial_Condition_Procedure): New routine along with pragma
-	Inline.
-	(Set_Protected_Subprogram): New routine along with pragma Inline.
-	(Set_Receiving_Entry): New routine along with pragma Inline.
-	(Set_Suppress_Elaboration_Warnings): Removed.
-	* exp_ch3.adb (Build_Init_Procedure): Use name _Finalizer to maintain
-	consistency with other finalizer generating subprograms.
-	(Default_Initialize_Object): Mark the block which wraps the call to
-	finalize as being part of initialization.
-	* exp_ch7.adb (Expand_N_Package_Declaration): Directly expand pragma
-	Initial_Condition.
-	(Expand_N_Package_Body): Directly expand pragma Initial_Condition.
-	(Next_Suitable_Statement): Update the comment on usage. Skip over call
-	markers generated by the ABE mechanism.
-	* exp_ch9.adb (Activation_Call_Loc): New routine.
-	(Add_Accept): Link the accept procedure to the original entry.
-	(Build_Protected_Sub_Specification): Link the protected or unprotected
-	version to the original subprogram.
-	(Build_Task_Activation_Call): Code cleanup. Use a source location which
-	is very close to the "begin" or "end" keywords when generating the
-	activation call.
-	* exp_prag.adb (Expand_Pragma_Initial_Condition): Reimplemented.
-	* exp_spark.adb (Expand_SPARK): Use Expand_SPARK_N_Loop_Statement to
-	process loops.
-	(Expand_SPARK_N_Loop_Statement): New routine.
-	(Expand_SPARK_N_Object_Declaration): Code cleanup. Partially insert the
-	call to the Default_Initial_Condition procedure.
-	(Expand_SPARK_Op_Ne): Renamed to Expand_SPARK_N_Op_Ne.
-	* exp_util.adb (Build_DIC_Procedure_Body): Capture the SPARK_Mode in
-	effect.
-	(Build_DIC_Procedure_Declaration): Capture the SPARK_Mode in effect.
-	(Insert_Actions): Add processing for N_Call_Marker.
-	(Kill_Dead_Code): Explicitly kill an elaboration scenario.
-	* exp_util.ads (Make_Invariant_Call): Update the comment on usage.
-	* frontend.adb: Initialize Sem_Elab. Process all saved top level
-	elaboration scenarios for ABE issues.
-	* gcc-interface/trans.c (gnat_to_gnu): Add processing for N_Call_Marker
-	nodes.
-	* lib.adb (Earlier_In_Extended_Unit): New variant.
-	* sem.adb (Analyze): Ignore N_Call_Marker nodes.
-	(Preanalysis_Active): New routine.
-	* sem.ads (Preanalysis_Active): New routine.
-	* sem_attr.adb (Analyze_Access_Attribute): Save certain
-	elaboration-related attributes. Save the scenario for ABE processing.
-	* sem_ch3.adb (Analyze_Object_Declaration): Save the SPARK mode in
-	effect. Save certain elaboration-related attributes.
-	* sem_ch5.adb (Analyze_Assignment): Save certain elaboration-related
-	attributes. Save the scenario for ABE processing.
-	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Save the SPARK
-	mode in effect. Save certain elaboration-related attributes.
-	(Analyze_Subprogram_Body_Helper): Skip N_Call_Marker nodes when
-	locating the first real statement.
-	(Analyze_Subprogram_Declaration): Save the SPARK mode in effect. Save
-	certain elaboration-related attributes.
-	* sem_ch7.adb (Analyze_Package_Declaration): Do not suppress
-	elaboration warnings.
-	* sem_ch8.adb (Attribute_Renaming): Mark a subprogram body which was
-	generated for purposes of wrapping an attribute used as a generic
-	actual.
-	(Find_Direct_Name): Save certain elaboration-related attributes. Save
-	the scenario for ABE processing.
-	(Find_Expanded_Name): Save certain elaboration-related attributes. Save
-	the scenario for ABE processing.
-	* sem_ch9.adb (Analyze_Entry_Declaration): Save certain
-	elaboration-related attributes.
-	(Analyze_Requeue): Save certain elaboration-related attributes. Save
-	the scenario for ABE processing.
-	(Analyze_Single_Task_Declaration): Save certain elaboration-related
-	attributes.
-	(Analyze_Task_Type_Declaration): Save certain elaboration-related
-	attributes.
-	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Save certain
-	elaboration-related attributes.
-	(Analyze_Generic_Subprogram_Declaration): Save the SPARK mode in
-	effect. Save certain elaboration-related attributes.
-	(Analyze_Package_Instantiation): Save certain elaboration-related
-	attributes.  Save the scenario for ABE processing. Create completing
-	bodies in case the instantiation results in a guaranteed ABE.
-	(Analyze_Subprogram_Instantiation): Save certain elaboration-related
-	attributes Save the scenario for ABE processing. Create a completing
-	body in case the instantiation results in a guaranteed ABE.
-	(Provide_Completing_Bodies): New routine.
-	* sem_elab.ads: Brand new implementation.
-	* sem_prag.adb (Analyze_Pragma, cases Elaborate, Elaborate_All,
-	Elaborate_Body): Do not suppress elaboration warnings.
-	* sem_res.adb (Make_Call_Into_Operator): Set the parent field of the
-	operator.
-	(Resolve_Call): Save certain elaboration-related attributes. Save the
-	scenario for ABE processing.
-	(Resolve_Entity_Name): Do not perform any ABE processing here.
-	(Resolve_Entry_Call): Inherit certain attributes from the original call.
-	* sem_util.adb (Begin_Keyword_Location): New routine.
-	(Defining_Entity): Update the parameter profile. Add processing for
-	concurrent subunits that are rewritten as null statements.
-	(End_Keyword_Location): New routine.
-	(Find_Enclosing_Scope): New routine.
-	(In_Instance_Visible_Part): Code cleanup.
-	(In_Subtree): Update the parameter profile. Add new version.
-	(Is_Preelaborable_Aggregate): New routine.
-	(Is_Preelaborable_Construct): New routine.
-	(Mark_Elaboration_Attributes): New routine.
-	(Scope_Within): Update the parameter profile.
-	(Scope_Within_Or_Same): Update the parameter profile.
-	* sem_util.ads (Begin_Keyword_Location): New routine.
-	(Defining_Entity): Update the parameter profile and the comment on
-	usage.
-	(End_Keyword_Location): New routine.
-	(Find_Enclosing_Scope): New routine.
-	(In_Instance_Visible_Part): Update the parameter profile.
-	(In_Subtree): Update the parameter profile. Add new version.
-	(Is_Preelaborable_Aggregate): New routine.
-	(Is_Preelaborable_Construct): New routine.
-	(Mark_Elaboration_Attributes): New routine.
-	(Scope_Within): Update the parameter profile and the comment on usage.
-	(Scope_Within_Or_Same): Update the parameter profile and the comment on
-	usage.
-	* sem_warn.adb (Check_Infinite_Loop_Warning): Use Has_Condition_Actions
-	to determine whether a loop has meaningful condition actions.
-	(Has_Condition_Actions): New routine.
-	* sinfo.adb (ABE_Is_Certain): Removed.
-	(Is_Declaration_Level_Node): New routine.
-	(Is_Dispatching_Call): New routine.
-	(Is_Elaboration_Checks_OK_Node): New routine.
-	(Is_Initialization_Block): New routine.
-	(Is_Known_Guaranteed_ABE): New routine.
-	(Is_Recorded_Scenario): New routine.
-	(Is_Source_Call): New routine.
-	(Is_SPARK_Mode_On_Node): New routine.
-	(No_Elaboration_Check): Removed.
-	(Target): New routine.
-	(Was_Attribute_Reference): New routine.
-	(Set_ABE_Is_Certain): Removed.
-	(Set_Is_Declaration_Level_Node): New routine.
-	(Set_Is_Dispatching_Call): New routine.
-	(Set_Is_Elaboration_Checks_OK_Node): New routine.
-	(Set_Is_Initialization_Block): New routine.
-	(Set_Is_Known_Guaranteed_ABE): New routine.
-	(Set_Is_Recorded_Scenario): New routine.
-	(Set_Is_Source_Call): New routine.
-	(Set_Is_SPARK_Mode_On_Node): New routine.
-	(Set_No_Elaboration_Check): Removed.
-	(Set_Target): New routine.
-	(Set_Was_Attribute_Reference): New routine.
-	* sinfo.ads: Remove attribute ABE_Is_Certain.  Attribute
-	Do_Discriminant_Check now utilizes Flag3.  Attribute
-	No_Side_Effect_Removal now utilizes Flag17.  Add new node
-	N_Call_Marker.  Update the structure of various nodes.
-	(ABE_Is_Certain): Removed along with pragma Inline.
-	(Is_Declaration_Level_Node): New routine along with pragma Inline.
-	(Is_Dispatching_Call): New routine along with pragma Inline.
-	(Is_Elaboration_Checks_OK_Node): New routine along with pragma Inline.
-	(Is_Initialization_Block): New routine along with pragma Inline.
-	(Is_Known_Guaranteed_ABE): New routine along with pragma Inline.
-	(Is_Recorded_Scenario): New routine along with pragma Inline.
-	(Is_Source_Call): New routine along with pragma Inline.
-	(Is_SPARK_Mode_On_Node): New routine along with pragma Inline.
-	(No_Elaboration_Check): Removed along with pragma Inline.
-	(Target): New routine along with pragma Inline.
-	(Was_Attribute_Reference): New routine along with pragma Inline.
-	(Set_ABE_Is_Certain): Removed along with pragma Inline.
-	(Set_Is_Declaration_Level_Node): New routine along with pragma Inline.
-	(Set_Is_Dispatching_Call): New routine along with pragma Inline.
-	(Set_Is_Elaboration_Checks_OK_Node): New routine along with pragma
-	Inline.
-	(Set_Is_Initialization_Block): New routine along with pragma Inline.
-	(Set_Is_Known_Guaranteed_ABE): New routine along with pragma Inline.
-	(Set_Is_Recorded_Scenario): New routine along with pragma Inline.
-	(Set_Is_Source_Call): New routine along with pragma Inline.
-	(Set_Is_SPARK_Mode_On_Node): New routine along with pragma Inline.
-	(Set_No_Elaboration_Check): Removed along with pragma Inline.
-	(Set_Target): New routine along with pragma Inline.
-	(Set_Was_Attribute_Reference): New routine along with pragma Inline.
-	* sprint.adb (Sprint_Node_Actual): Add an entry for N_Call_Marker.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch7.adb (Create_Finalizer): Suppress checks within the finalizer.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* freeze.ads: Minor comment fixed.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Take
-	care of unchecked conversions in addition to regular conversions. This
-	takes care of a case where a type is derived from a private untagged
-	type that is completed by a tagged controlled type.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Build_Class_Wide_Check, Replace_Formals): When
-	rewriting a class-wide condition, handle properly the case where the
-	controlling argument of the operation to which the condition applies is
-	an access to a tagged type, and the condition includes a dispatching
-	call with an implicit dereference.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Remove
-	the code at the end of this procedure that was setting the type of a
-	class-wide object to the specific type returned by a function call.
-	Treat this case as indefinite instead.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Try_Class_Wide_Operation, Traverse_Homonyms):
-	Suppress spurious ambiguity error when two traversals of the homonym
-	chain (first directly, and then through an examination of relevant
-	interfaces) retrieve the same operation, when other irrelevant homonyms
-	of the operatioh are also present.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Object_Access_Level): If the object is the return
-	statement of an expression function, return the level of the function.
-	This is relevant when the object involves an implicit conversion
-	between access types and the expression function is a completion, which
-	forces the analysis of the expression before rewriting it as a body, so
-	that freeze nodes can appear in the proper scope.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* atree.adb: Make nnd apply to everything "interesting", including
-	Rewrite.  Remove rrd.
-
-2017-10-09  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch3.adb (Expand_N_Object_Declaration): Avoid never-ending loop
-	processing the declaration of the dummy object internally created by
-	Make_DT to compute the offset to the top of components referencing
-	secondary dispatch tables.
-	(Initialize_Tag): Do not initialize the offset-to-top field if it has
-	been initialized initialized.
-	* exp_disp.ads (Building_Static_Secondary_DT): New subprogram.
-	* exp_disp.adb (Building_Static_Secondary_DT): New subprogram.
-	(Make_DT): Create a dummy constant object if we can statically build
-	secondary dispatch tables.
-	(Make_Secondary_DT): For statically allocated secondary dispatch tables
-	use the dummy object to compute the offset-to-top field value by means
-	of the attribute 'Position.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Add self-checking
-	code so if BIPAlloc is not passed in, it will likely raise
-	Program_Error instead of cause miscellaneous chaos.
-	(Is_Build_In_Place_Result_Type): Return False if not Expander_Active,
-	as for the other Is_B-I-P... functions.
-	* sem_aggr.adb (Resolve_Extension_Aggregate): For an extension
-	aggregate whose ancestor part is a build-in-place call returning a
-	nonlimited type, transform the assignment to the ancestor part to use a
-	temp.
-	* sem_ch3.adb (Build_Itype_Reference): Handle the case where we're
-	creating an Itype for a library unit entity.
-	(Check_Initialization): Avoid spurious error message on
-	internally-generated call.
-	* sem_ch5.adb (Analyze_Assignment): Handle the case where the
-	right-hand side is a build-in-place call. This didn't happen when b-i-p
-	was only for limited types.
-	* sem_ch6.adb (Create_Extra_Formals): Remove assumption that b-i-p
-	implies >= Ada 2005.
-	* sem_ch7.adb (Scan_Subprogram_Refs): Avoid traversing the same nodes
-	repeatedly.
-	* sem_util.adb (Next_Actual): Handle case of build-in-place call.
-
-2017-10-09  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Minor edit.
-
-2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* libgnarl/s-taprob.adb: Minor whitespace fix.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* namet.ads: Minor comment fix.
-
-2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_aux.adb (Unit_Declaration_Node): Detect protected declarations,
-	just like other program units listed in Ada RM 10.1(1).
-
-2017-10-09  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Update_Chain_In_Scope): Modify warning messages.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations, Check_Generic_Parent): If an
-	actual for a formal package is an instantiation of a child unit, create
-	a freeze node for the instance of the parent if it appears in the same
-	scope and is not frozen yet.
-
-2017-10-09  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_atag.ads, libgnat/a-tags.adb, libgnat/a-tags.ads: Enhance
-	in-source documentation for tagged types's Offset_To_Top.
-
-2017-10-09  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb (Build_Assignment): Parameter name N was somewhat
-	confusing.  Same for N_Loc.  Remove assumption that b-i-p implies
-	limited.  This is for the case of a function call that occurs as the
-	default for a record component.
-	(Expand_N_Object_Declaration): Deal with the case where expansion has
-	created an object declaration initialized with something like
-	F(...)'Reference.
-	* exp_ch3.adb: Minor reformatting.
-
-2017-10-09  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_attr.adb (Expand_Attribute_Reference, case 'Valid): The prefix of
-	the attribute is an object, but it may appear within a conversion. The
-	object itself must be retrieved when generating the range test that
-	implements the validity check on a scalar type.
-
-2017-10-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/82393
-	* mingw32.h (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Delete.
-	* sysdep.c (__gnat_set_mode ): Use DJGPP version for Cygwin.
-
-2017-10-02  Eric Botcazou  <ebotcazou@adacore.com>
-            Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	PR ada/82384
-	* libgnarl/s-linux__x32.ads (suseconds_t): New subtype.
-	(time_t): Change from derived type to subtype.
-	(timeval): Use suseconds_t for tv_usec.
-	* libgnarl/s-osinte__x32.adb (To_Timespec): Remove use type clause.
-
-2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gcc-interface/decl.c (annotate_value): Use wi::to_widest when
-	handling the form (plus/mult (convert @0) @1).
-
-2017-09-29  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Replace with code more similar to
-	what we had before.
-	(Make_Build_In_Place_Call_In_Object_Declaration): Back out previous
-	change. Set the Etype in the class-wide case. This fixes a regression
-	in the libadalang test suite.
-
-2017-09-29  Joel Brobecker  <brobecker@adacore.com>
-
-	* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-	doc/gnat_ugn/the_gnat_compilation_model.rst: Avoid use of single colon
-	in comment markup.
-	* gnat_ugn.texi: Regenerate.
-
-2017-09-29  Justin Squirek  <squirek@adacore.com>
-
-	* ali-util.adb, comperr.adb, cprint.adb, errout.adb, fmap.adb,
-	fname-sf.adb, frontend.adb, lib-xref-spark_specific.adb, gnat1drv.adb,
-	gnatls.adb, lib.adb, lib-load.adb, lib-writ.adb, prepcomp.adb,
-	sinput-d.adb, sinput-l.adb, sprint.adb, targparm.adb: Update comparison
-	for checking source file status and error message and/or call to
-	Read_Source_File.
-	* libgnat/s-os_lib.ads: Add new potential value constant for
-	uninitialized file descriptors.
-	* osint.adb, osint.ads (Read_Source_File): Add extra parameter to
-	return result of IO to encompass a read access failure in addition to a
-	file-not-found error.
-
-2017-09-29  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place
-	functions returning nonlimited types. Allow for qualified expressions
-	and type conversions.
-	(Expand_N_Extended_Return_Statement): Correct the computation of
-	Func_Bod to allow for child units.
-	(Expand_Simple_Function_Return): Remove assumption that b-i-p implies
-	limited (initialization of In_Place_Expansion), and implies >= Ada
-	2005.
-	(Is_Build_In_Place_Result_Type): New function to accompany
-	Is_Build_In_Place_Function and Is_Build_In_Place_Function_Call, because
-	sometimes we just have the type on our hands, not the function.  For
-	now, does the same thing as the old version, so build-in-place is
-	disabled for nonlimited types, except that you can use -gnatd.9 to
-	enable it.
-	* exp_ch6.ads (Is_Build_In_Place_Result_Type): New function to
-	accompany Is_Build_In_Place_Function and
-	Is_Build_In_Place_Function_Call, because sometimes we just have the
-	type on our hands, not the function.
-	(Make_Build_In_Place_Call_In_...): Handle nonlimited build-in-place
-	cases.
-	(Make_Build_In_Place_Call_In_Object_Declaration): Remove the
-	questionable code at the end that was setting the Etype.
-	* exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): New function to
-	determine whether "return (...agg...);" is returning from a
-	build-in-place function.
-	(Initialize_Ctrl_Array_Component, Initialize_Ctrl_Record_Component):
-	Remove assumption that b-i-p implies limited (initialization of
-	In_Place_Expansion).
-	(Build_Record_Aggr_Code): AI-287: fix comment; it can't be wrapped in
-	an unchecked conversion.  Add assertions.
-	(Convert_Aggr_In_Object_Decl): Establish_Transient_Scope -- no need for
-	secondary stack here, just because the type needs finalization.  That
-	code is obsolete.
-	(Convert_To_Assignments): Only set Unc_Decl if Nkind (N) = N_Aggregate.
-	For "return (...agg...);" don't assume b-i-p implies limited.
-	Needs_Finalization does not imply secondary stack.
-	(Expand_Array_Aggregate): Named notation.  Reverse the sense of
-	Component_OK_For_Backend -- more readability with fewer double
-	negatives.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Remove assumptions that
-	b-i-p implies >= Ada 2005.
-	* exp_ch3.adb (Expand_N_Object_Declaration): Remove assumptions that
-	b-i-p implies >= Ada 2005.  Remove Adjust if we're building the return
-	object of an extended return statement in place.
-	* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Indexed_Component,
-	Expand_N_Selected_Component, Expand_N_Slice): Remove assumptions that
-	b-i-p implies >= Ada 2005.
-	* exp_ch5.adb (Expand_N_Assignment_Statement): Remove assumption that
-	b-i-p implies >= Ada 2005.
-	* exp_ch7.adb: Comment fix.
-	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Remove
-	assumptions that b-i-p implies >= Ada 2005.
-	* exp_disp.adb (Expand_Interface_Actuals): Remove assumptions that
-	b-i-p implies >= Ada 2005.
-	* exp_util.adb (Build_Allocate_Deallocate_Proc): Look at Storage_Pool
-	(Expr), in case Pool_Id is not set.
-	(Initialized_By_Aliased_BIP_Func_Call): Handle case where the call is
-	qualified or converted.
-	(Is_Secondary_Stack_BIP_Func_Call): Don't check if Nkind (Selector_Name
-	(Param)) = N_Identifier; that's all it could be.
-	* sinfo.ads: Comment fixes.
-	* snames.ads-tmpl: Comment fixes.
-	* debug.adb: Add flag gnatd.9, to enable the build-in-place machinery.
-
-2017-09-29  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Mark_Use_Clauses): Add recursive call to properly handle
-	all cases related to marking entity identifiers.
-
-2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* adaint.c (win32_wait): Properly handle error and take into account
-	the WIN32 limitation on the number of simultaneous wait objects.
-
-2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* cal.c: Minor proofreading.
-
-2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* doc/gnat_ugn/gnat_utility_programs.rst: Minor formatting fix.
-	* gnat_ugn.texi: Regenerate.
-
-2017-09-29  Bob Duff  <duff@adacore.com>
-
-	* lib-xref.ads: Comment fix.
-
-2017-09-29  Bob Duff  <duff@adacore.com>
-
-	* exp_aggr.adb: Remove calls to Set_No_Ctrl_Actions for discriminants.
-	Discriminants can't need finalization.
-
-2017-09-29  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Do not emit freeze nodes
-	for types in expression if the function is within a generic unit.
-	* sem_res.adb (Resolve): In a generic context do not freeze an
-	expression, unless it is an entity. This exception is solely for the
-	purpose of detecting illegal uses of deferred constants in generic
-	units.
-	* sem_res.adb: Minor reformatting.
-
-2017-09-29  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch8.adb (Note_Redundant_Use): Add guard to protect against false
-	redundant warnings.
-
-2017-09-29  Yannick Moy  <moy@adacore.com>
-
-	* sinput-c.adb: Remove unused with-clause on Ada.Unchecked_Conversion.
-
-2017-09-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Minor rewording.
-	* doc/gnat_rm/implementation_defined_pragmas.rst (Optimize_Alignment):
-	Document the effect of pragma Optimize_Alignment (Space) on non-packed
-	record types.
-	* gnat_rm.texi: Regenerate.
-
-2017-09-25  Justin Squirek  <squirek@adacore.com>
-
-	* aspects.adb, bindgen.adb, clean.adb, erroutc.adb, exp_ch13.adb,
-	exp_dbug.adb, exp_unst.adb, exp_util.adb, frontend.adb, gnat1drv.adb,
-	gnatdll.adb, gnatlink.adb, gnatls.adb, gnatname.adb, gnatxref.adb,
-	gnatfind.adb, libgnat/a-cfhama.ads, libgnat/a-exetim__mingw.adb,
-	libgnat/a-strmap.adb, libgnat/a-teioed.adb, libgnat/g-alvety.ads,
-	libgnat/g-expect.adb, libgnat/g-regist.adb, libgnat/g-socket.adb,
-	libgnat/g-socthi__mingw.ads, libgnat/s-stausa.adb,
-	libgnat/s-tsmona__linux.adb, libgnat/s-tsmona__mingw.adb,
-	libgnarl/s-taenca.adb, libgnarl/s-tassta.adb, libgnarl/s-tarest.adb,
-	libgnarl/s-tpobop.adb, make.adb, makeusg.adb, namet.adb, output.ads,
-	put_scos.adb, repinfo.adb, rtsfind.adb, scn.ads, sem_attr.adb,
-	sem_aux.ads, sem_warn.ads, targparm.adb, xr_tabls.adb, xref_lib.adb:
-	Removal of ineffective use-clauses.
-	* exp_ch9.adb (Is_Simple_Barrier_Name): Check for false positives with
-	constant folded barriers.
-	* ghost.adb, sprint.adb, sem_ch10.adb, sem_warn.adb: Change access to
-	Subtype_Marks and Names list in use-clause nodes to their new singular
-	counterparts (e.g. Subtype_Mark, Name).
-	* par.adb, par-ch8.adb (Append_Use_Clause): Created to set
-	Prev_Ids and More_Ids in use-clause nodes.
-	(P_Use_Clause): Modify to take a list as a parameter.
-	(P_Use_Package_Clause, P_Use_Type_Clause): Divide names and
-	subtype_marks within an aggregate use-clauses into individual clauses.
-	* par-ch3.adb, par-ch10.adb, par-ch12.adb: Trivally modify call to
-	P_Use_Clause to match its new behavior.
-	* sem.adb (Analyze): Mark use clauses for non-overloaded entities.
-	* sem_ch4.adb (Try_One_Interp): Add sanity check to handle previous
-	errors.
-	* sem_ch6.adb (Analyze_Generic_Subprogram_Body,
-	Analyze_Subprogram_Body_Helper): Update use clause chain at the end of
-	the declarative region.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Update use clause chain
-	after analysis (Analyze_Package_Specification): Update use clause chain
-	when there is no body.
-	* sem_ch8.ads, sem_ch8.adb (Analyze_Use_Package, Analyze_Use_Type): Add
-	parameter to determine weither the installation of scopes should also
-	propagate on the use-clause "chain".
-	(Mark_Use_Clauses): Created to traverse use-clause chains and determine
-	what constitutes a valid "use" of a clause.
-	(Update_Use_Clause_Chain): Created to aggregate common machinary used
-	to clean up use-clause chains (and warn on ineffectiveness) at the end
-	of declaritive regions.
-	* sem_ch8.adb (Analyze_Package_Name): Created to perform analysis on a
-	package name from a use-package clause.
-	(Analyze_Package_Name_List): Created to perform analysis on a list of
-	package names (similar to Analyze_Package_Name).
-	(Find_Most_Prev): Created to traverse to the beginning of a given
-	use-clause chain.
-	(Most_Decendant_Use_Clause): Create to identify which clause from a
-	given set is highest in scope (not always the most prev).
-	(Use_One_Package, Use_One_Type): Major cleanup and reorganization to
-	handle the new chaining algorithm, also many changes related to
-	redundant clauses. A new parameter has also been added to force
-	installation to handle certain cases.
-	* sem_ch9.adb (Analyze_Entry_Body, Analyze_Protected_Body,
-	Analyze_Task_Body): Mark use clauses on relevant entities.
-	* sem_ch10.adb, sem_ch10.ads (Install_Context_Clauses,
-	Install_Parents): Add parameter to determine weither the installation
-	of scopes should also propagate on the use-clause "chain".
-	* sem_ch12.adb (Inline_Instance_Body): Add flag in call to
-	Install_Context to avoid redundant chaining of use-clauses.
-	* sem_ch13.adb: Minor reformatting.
-	* sem_res.adb (Resolve): Mark use clauses on operators.
-	(Resolve_Call, Resolve_Entity_Name): Mark use clauses on relevant
-	entities.
-	* sinfo.adb, sinfo.ads (Is_Effective_Use_Clause,
-	Set_Is_Effective_Use_Clause): Add new flag to N_Use_Clause nodes to
-	represent any given clause's usage/reference/necessity.
-	(Prev_Use_Clause, Set_Prev_Use_Clause): Add new field to N_Use_Clause
-	nodes to allow loose chaining of redundant clauses.
-	(Set_Used_Operations, Set_Subtype_Mark, Set_Prev_Ids, Set_Names,
-	Set_More_Ids, Set_Name): Modify set procedure calls to reflect
-	reorganization in node fields.
-	* types.ads (Source_File_Index): Adjust index bounds.
-	(No_Access_To_Source_File): New constant.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_One_Aspect): In ASIS mode make a full copy of
-	the expression to be used in the generated attribute specification
-	(rather than relocating it) to avoid resolving a potentially malformed
-	tree when the expression is resolved through an ASIS-specific call to
-	Resolve_Aspect_Expressions.  This manifests itself as a crash on a
-	function with parameter associations.
-
-2017-09-25  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Indexed_Component,
-	Expand_SPARK_Selected_Component): New procedures to insert explicit
-	dereference if required.
-	(Expand_SPARK): Call the new procedures.
-
-2017-09-25  Patrick Bernardi  <bernardi@adacore.com>
-
-	* libgnat/a-stwiun.adb, libgnat/s-stchop__vxworks.adb,
-	libgnat/g-socthi__vxworks.ads, libgnat/a-stzunb.adb,
-	libgnat/a-strunb.adb, libgnarl/s-osinte__lynxos178.adb,
-	libgnarl/s-intman__vxworks.adb, libgnarl/s-osinte__darwin.adb,
-	libgnarl/a-exetim__darwin.adb: Removed ineffective use-clauses.
-
-2017-09-25  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* adaint.c (win32_wait): Properly handle error and take into account
-	the WIN32 limitation on the number of simultaneous wait objects.
-
-2017-09-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch3.adb (Constant_Redeclaration): Do not insert a call to the
-	invariant procedure in GNATprove mode.
-	* sem_ch5.adb (Analyze_Assignment): Likewise.
-
-2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
-
-	* adabkend.adb (Call_Back_End): Fix wording of "front-end" and
-	"back-end" in comments.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): The extra accessibility check in a
-	call that appears in a classwide precondition and that mentions an
-	access formal of the subprogram, must use the accessibility level of
-	the actual in the call. This is one case in which a reference to a
-	formal parameter appears outside of the body of the subprogram.
-
-2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Replace_Actual_Discriminants): Replace a discriminant
-	for GNATprove.
-	(Resolve_Entry): Clean up predicate
-
-2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Constituent): Raise Unrecoverable_Error rather
-	than Program_Error because U_E is more in line with respect to the
-	intended behavior.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Resolve_Aspect_Expressions): The expression for aspect
-	Storage_Size does not freeze, and thus can include references to
-	deferred constants.
-
-2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Do not process a
-	reference when it appears within a pragma of no significance to SPARK.
-	(In_Insignificant_Pragma): New routine.
-	* sem_prag.ads: Add new table Pragma_Significant_In_SPARK.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations, case N_Formal_Package): If the
-	actual is a renaming, indicate that it is the renamed package that must
-	be frozen before the instantiation.
-
-2017-09-25  Yannick Moy  <moy@adacore.com>
-
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo in description
-	of dimensionality system in GNAT UG.
-	* gnat_ugn.texi: Regenerate.
-
-2017-09-25  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb: Call Check_Safe_Pointers from the frontend in
-	GNATprove_Mode when switch -gnatdF used.
-
-2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
-
-	* adabkend.adb (Call_Back_End): Reset Current_Error_Node when starting
-	the backend.
-
-2017-09-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_imgv.adb (Expand_Image_Attribute): Disable the optimized
-	expansion of user-defined enumeration types when the generation of
-	names for enumeration literals is suppressed.
-
-2017-09-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* libgnarl/s-taprop__linux.adb: Minor reformatting.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Resolve_Aspect_Expressions): Do not resolve identifiers
-	that appear as selector names of parameter associations, as these are
-	never resolved by visibility.
-
-2017-09-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_res.adb (Resolve_Entry): Generate reference for index entities.
-
-2017-09-25  Doug Rupp  <rupp@adacore.com>
-
-	* libgnarl/s-taprop__linux.adb (Compute_Base_Monotonic_Clock): Refine.
-
-2017-09-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_imgv.adb (Is_User_Defined_Enumeration_Type): New subprogram.
-	(Expand_User_Defined_Enumeration_Image): New subprogram.
-	(Expand_Image_Attribute): Enable speed-optimized expansion of
-	user-defined enumeration types when we are compiling with optimizations
-	enabled.
-
-2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
-
-	* sem_util.adb (Has_Null_Abstract_State): Remove, as an exactly same
-	routine is already provided by Einfo.
-	* einfo.adb (Has_Null_Abstract_State): Replace with the body from
-	Sem_Util, which had better comments and avoided double calls to
-	Abstract_State.
-
-2017-09-25  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb: Rename Comp_Type_Simple to be Comp_Simple_Init.
-
-2017-09-25  Doug Rupp  <rupp@adacore.com>
-
-	* libgnarl/s-taprop__linux.adb (Base_Monotonic_Clock): New variable.
-	(Compute_Base_Monotonic_Clock): New function.
-	(Timed_Sleep): Adjust to use Base_Monotonic_Clock.
-	(Timed_Delay): Likewise.
-	(Monotonic_Clock): Likewise.
-	* s-oscons-tmplt.c (CLOCK_MONOTONIC): Use on Linux.
-
-2017-09-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Save_References_In_Aggregate): Small correction to
-	previous change.
-
-2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, sem_ch4.adb, sem_ch13.adb, sem_attr.adb, exp_ch3.adb:
-	Minor reformatting.
-
-2017-09-20  Alexandre Oliva <aoliva@redhat.com>
-
-	* gcc-interface/lang.opt (gant, gnatO, gnat): Add RejectNegative.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* sem_ch4.adb (Complete_Object_Operation): Do not insert 'Access for
-	reference types in the access-to-access case.
-
-2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_attr.adb (Analyze_Access_Attribute): Move check for the presence
-	of the "aliased" keyword on the prefix from here to...
-	(Resolve_Attribute) <Attribute_Access>: ...here.  Remove useless call
-	to Check_No_Implicit_Aliasing.
-	* sinfo.ads (Non_Aliased_Prefix): Delete.
-	(Set_Non_Aliased_Prefix): Likewise.
-	* sinfo.adb (Non_Aliased_Prefix): Delete.
-	(Set_Non_Aliased_Prefix): Likewise.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* exp_ch5.adb (Build_Formal_Container_Iteration,
-	Expand_Formal_Container_Element_Loop): Convert the container to the
-	root type before passing it to the iteration operations, so it will be
-	of the right type.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* einfo.ads, validsw.ads, treepr.ads, sem_util.ads: Comment fixes.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb (Build_Array_Init_Proc): If validity checking is enabled,
-	and it's a bit-packed array, pass False to the Consider_IS parameter of
-	Needs_Simple_Initialization.
-
-2017-09-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Check_Inline_Pragma): Link the newly generated spec to
-	the preexisting body.
-	* sem_prag.adb (Check_Inline_Always_Placement): New routine.
-	(Process_Inline): Verify the placement of pragma Inline_Always. The
-	pragma must now appear on the initial declaration of the related
-	subprogram.
-
-2017-09-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): In ASIS mode,  At the end of the
-	declarative list in a subprogram body, analyze aspext specifications to
-	provide basic semantic information, because otherwise the aspect
-	specifications might only be snalyzed during expansion, when related
-	subprograms are generated.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* exp_ch9.adb (Is_Simple_Barrier_Name): Follow Original_Node, in case
-	validity checks have rewritten the tree.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* sem_util.adb: Comment fixes, and remove redundant Is_Itype check.
-
-2017-09-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Save_References_In_Aggregate): When constructing a
-	qualified exxpression for an aggregate in a generic unit, verify that
-	the scope of the type is itself visible and not hidden, so that the
-	qualified expression is correctly resolved in any instance.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	* sem_ch4.adb (Analyze_Qualified_Expression): Give an error if the type
-	mark refers to the current instance. Set the type to Any_Type in that
-	case, to avoid later crashes.
-
-2017-09-18  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Replace_Discriminant_References): New procedure,
-	subsidiary of Build_Assignment, used to handle the initialization code
-	for a mutable record component whose default value is an aggregate that
-	sets the values of the discriminants of the components.
-
-2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Address>: Mark
-	the entity as being volatile for an overlay that toggles the scalar
-	storage order.
-
-2017-09-18  Fedor Rybin  <frybin@adacore.com>
-
-	* doc/gnat_ugn/gnat_utility_programs.rst: Document that gnattest
-	options -U main and --harness-only are not compatible.
-
-2017-09-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* freeze.adb, sem_ch6.adb, sem_res.adb: Minor reformatting.
-
-2017-09-18  Piotr Trojanek  <trojanek@adacore.com>
-
-	* einfo.ads (Is_Imported): Update comment, as this
-	routine also applies to constants.
-
-2017-09-18  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Find_Placement_In_State_Space): Allow generic package
-	holding state.
-
-2017-09-18  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Is_Non_Significant_Pragma_Reference): Change the
-	constant indication for Pragma_Linker_Section.
-
-2017-09-18  Bob Duff  <duff@adacore.com>
-
-	Alternate fix for PR ada/71358
-	* libgnat/g-comlin.adb (Getopt): Remove manual null access checks.
-	Instead, make a local copy of Config, and if it's null, allocate an
-	empty Command_Line_Configuration_Record, so we won't crash on null
-	pointer dereference.
-
-2017-09-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* libgnarl/a-intnam__rtems.ads: Update copyright date.
-	* libgnarl/s-interr__hwint.adb: Likewise.
-	* libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
-	* libgnarl/s-osinte__rtems.adb: Likewise.
-	* libgnarl/s-osinte__rtems.ads: Likewise.
-
-2017-09-13  Nicolas Roche  <roche@adacore.com>
-
-	* Make-lang.in: In the fallback mechanim, parse the associated .ali
-	file and try to guess the locations of dependencies.
-
-2017-09-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch13.adb (Register_Address_Clause_Check): New procedure to save
-	the suppression status of Alignment_Check on the current scope.
-	(Alignment_Checks_Suppressed): New function to use the saved instead of
-	the current suppression status of Alignment_Check.
-	(Address_Clause_Check_Record): Add Alignment_Checks_Suppressed field.
-	(Analyze_Attribute_Definition_Clause): Instead of manually appending to
-	the table, call Register_Address_Clause_Check.
-	(Validate_Address_Clauses): Call Alignment_Checks_Suppressed on the
-	recorded address clause instead of its entity.
-
-2017-09-13  Jerome Guitton  <guitton@adacore.com>
-
-	* libgnarl/s-tpopsp__vxworks-tls.adb,
-	libgnarl/s-tpopsp__vxworks-rtp.adb, libgnarl/s-tpopsp__vxworks.adb
-	(Self): Register thread if task id is null.
-
-2017-09-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* libgnat/s-htable.adb, libgnat/s-htable.ads: Minor style tuning.
-
-2017-09-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-xref-spark_specific.adb (Scopes): simplify hash map; now it maps
-	from an entity to only scope index, as a mapping from an entity to the
-	same entity was useless.
-	(Get_Scope_Num): refactor as a simple renaming; rename parameter from N
-	to E.
-	(Set_Scope_Num): refactor as a simple renaming; rename parameter from N
-	to E.
-	(Is_Constant_Object_Without_Variable_Input): remove local "Result"
-	variable, just use return statements.
-
-2017-09-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* libgnarl/s-vxwext__kernel-smp.adb,
-	libgnarl/s-tpopsp__vxworks-rtp.adb, libgnarl/s-vxwext__noints.adb:
-	New file.
-
-2017-09-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb: Flag42 is now Is_Controlled_Active.
-	(Is_Controlled): This attribute is now synthesized.
-	(Is_Controlled_Active): This attribute is now an explicit flag rather
-	than a synthesized attribute.	(Set_Is_Controlled): Removed.
-	(Set_Is_Controlled_Active): New routine.
-	(Write_Entity_Flags): Update the output for Flag42.
-	* einfo.ads: Update the documentation of the following attributes:
-	Disable_Controlled, Is_Controlled, Is_Controlled_Active, Is_Controlled
-	and Is_Controlled_Active have swapped their functionality.
-	(Is_Controlled): Renamed to Is_Controlled_Active.
-	(Is_Controlled_Active): Renamed to Is_Controlled.
-	(Set_Is_Controlled): Renamed to Set_Is_Controlled_Active.
-	* exp_ch3.adb (Expand_Freeze_Record_Type): Restore the original use of
-	Is_Controlled.
-	* exp_util.adb (Has_Some_Controlled_Component): Code clean up.
-	(Needs_Finalization): Code clean up. Remove the tests for
-	Disable_Controlled because a) they were incorrect as they would reject
-	a type which is sublect to the aspect, but may contain controlled
-	components, and b) they are no longer necessary.
-	* exp_util.ads (Needs_Finalization): Update comment on documentation.
-	* freeze.adb (Freeze_Array_Type): Restore the original use of
-	Is_Controlled.
-	(Freeze_Record_Type): Restore the original use of Is_Controlled.
-	* sem_ch3.adb (Analyze_Object_Declaration): Restore the original use of
-	Is_Controlled.
-	(Array_Type_Declaration): Restore the original use of Is_Controlled.
-	(Build_Derived_Private_Type): Restore the original use of
-	Is_Controlled.
-	(Build_Derived_Record_Type): Set the Is_Controlled_Active flag of a
-	type derived from Ada.Finalization.[Limited_]Controlled.
-	(Build_Derived_Type): Restore the original use of Is_Controlled.
-	(Record_Type_Definition): Restore the original use of Is_Controlled.
-	* sem_ch7.adb (Preserve_Full_Attributes): Restore the original use of
-	Is_Controlled.
-	* sem_ch13.adb (Analyze_Aspect_Disable_Controlled): New routine.
-	(Analyze_Aspect_Specifications): Use routine
-	Analyze_Aspect_Disable_Controlled to process aspect Disable_Controlled.
-
-2017-09-13  Vincent Celier  <celier@adacore.com>
-
-	* clean.adb (Gnatclean): Fix error when looking for target
-	of <target>-gnatclean
-
-2017-09-13  Javier Miranda  <miranda@adacore.com>
-            Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Find_Expanded_Name): Complete code that identifies an
-	expanded name that designates the current instance of a child unit in
-	its own body and appears as the prefix of a reference to an entity
-	local to the child unit.
-
-2017-09-12  Bob Duff  <duff@adacore.com>
-
-	* sem_warn.adb: Minor comment.
-
-2017-09-12  Bob Duff  <duff@adacore.com>
-
-	* libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
-	libgnat/a-cbmutr.adb, libgnat/a-cborma.adb: Rename New_Item to
-	be Default_Initialized_Item, and apply pragma Unmodified to it,
-	to suppress the warning.
-
-2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Add early return
-	for access types.
-
-2017-09-12  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Consider Refined_Global
-	together with Global when ignoring one in CodePeer mode.
-
-2017-09-12  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): In nested
-	package declarations that have a private part enable missing check
-	of the RM rule 13.1.1(11/3): usage names in aspect definitions are
-	resolved at the end of the immediately enclosing declaration list.
-
-2017-09-12  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Initialize Def_Id to
-	Empty.
-
-2017-09-12  Georges-Axel Jaloyan  <jaloyan@adacore.com>
-
-	* debug.adb: Reserving flag -gnatdF for safe pointer checking.
-	* gnat1drv.adb (gnat1drv): Adding the call to the analysis on
-	dF flag.
-	* sem_spark.adb, sem_spark.ads: Implementation of the analysis,
-	in preparation for the evolution of the SPARK language that
-	includes a pointer analysis for checking non-aliasing of access
-	types. The Check_Safe_Pointers function is the entry point, and
-	will traverse the AST and raise compile-time errors everytime
-	it detects non-begign aliasing.  Detailed comments are present
-	in the sem_spark.ads file.
-	* sem_util.adb, sem_util.ads (First_Global, Next_Global): New
-	functions to iterate over the list of globals of a subprogram.
-	* libgnat/system.ads: Add restriction No_Finalization.
-	* gcc-interface/Make-lang.in: Add new file sem_spark.adb and
-	dependency on g-dynhta.adb.
-
-2017-09-12  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Call
-	Check_Dynamically_Tagged_Expression.
-	* sem_util.adb (Check_Dynamically_Tagged_Expression): Remove
-	"and then Is_Tagged_Type (Typ)" because there is an earlier
-	"Assert (Is_Tagged_Type (Typ))".
-
-2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/Makefile.in (SPARC/Solaris): Remove obsolete stuff.
-
-2017-09-11  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/gnat_ugn/the_gnat_compilation_model.rst: Fix sphinx warning.
-	* doc/gnat_ugn/platform_specific_information.rst: Remove doc
-	for no longer supported platforms.
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Added detailed
-	description of the semantics for dimensionality analysis.
-	* gnat_ugn.texi: Regenerated.
-
-2017-09-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Has_Incomplete_Compoent): Delete.
-	(Freeze_Profile):
-	Do not inhibit the freezing of the profile of an expression
-	function here.
-	(Freeze_Subprogram): Do not re-create extra formals.
-	* sem_ch6.adb (Analyze_Expression_Function): Always
-	pre-analyze the expression if the function is not a completion.
-	(Analyze_Subprogram_Body_Helper): For the body generated
-	from an expression function that is not a completion, do
-	not freeze the profile and temporary mask the types declared
-	outside the expression that are not yet frozen.
-	* sem_res.adb (Rewrite_Renamed_Operator): Also bail out if invoked
-	during the pre-analysis of an expression function.
-
-2017-09-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (enum standard_datatypes): Minor tweak.
-	(gigi): Likewise.
-
-2017-09-11  Yannick Moy  <moy@adacore.com>
-
-	* lib-xref-spark_specific.adb: Minor rewrite.
-
-2017-09-11  Jerome Lambourg  <lambourg@adacore.com>
-
-        * libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__*
-        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Take this
-	renaming into account.
-
-2017-09-11  Jerome Lambourg  <lambourg@adacore.com>
-
-	* libgnarl: Rename ?-[a-z]*-* into ?-[a-z]*__*
-	* gcc-interface/Makefile.in: Take this renaming into account.
-
-2017-09-11  Arnaud Charlet  <charlet@adacore.com>
-
-	* s-auxdec-empty.ads, s-auxdec-empty.adb, 9drpc.adb: Removed, no
-	longer used.
-
-2017-09-11  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Check_Result_And_Post_State):
-	Do not issue a warning about missing reference to an outcome if
-	the subprogram is ghost and has no outputs.
-	* lib-xref-spark_specific.adb, sem_aggr.adb, sem_aux.ads: Minor
-        reformatting.
-
-2017-09-11  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Set
-	Check_Validity_Of_Parameters to False in GNATprove mode.
-	* opt.ads (Check_Validity_Of_Parameters): Document switch to
-	set option.
-
-2017-09-09  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Don't
-	generate debug info for inner record types if -fgnat-encodings=minimal.
-	(gnat_to_gnu_entity) <E_Record_Subtype>: Use the ultimate base record
-	type as the debug type.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (components_to_record): Do not reorder in non-
-	packed record types if pragma Optimize_Alignment (Space) is enabled.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Disregard inlining
-	limits for expression functions.
-	(gnat_to_gnu) <N_Object_Declaration>: Fix formatting.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Copy the
-	layout of the record from the parent type only if both are or are not
-	unchecked unions.
-	(is_stored_discriminant): Return false for an unchecked union.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils2.c (build_allocator): In type_annotate_only mode
-	return NULL_EXPR.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (promote_object_alignment): New function taken
-	from...
-	(gnat_to_gnu_entity) <E_Variable>: ...here.  Invoke it.
-	(gnat_to_gnu_field): If the field is Atomic or VFA, invoke it and
-	create a padding type on success before doing the atomic check.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Apply the
-	promotion to static memory earlier in the processing.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK
-	and TYPE_BY_REFERENCE_P flags on types after various promotions.
-	* gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
-	Consider all kinds of entities.
-
-2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (convert): When converting to a padding type,
-	reuse an existing CONSTRUCTOR if it has got the right size.
-
-2017-09-08  Nicolas Roche  <roche@adacore.com>
-
-	* gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Find runtime
-	source in libgnat/
-	* a-lfztio.ads, g-timsta.ads, g-sercom-linux.adb, s-osprim-solaris.adb,
-	a-inteio.ads, s-stchop-rtems.adb, s-casuti.adb, s-pack39.adb,
-	i-vxwork-x86.ads, a-strbou.adb, a-stzmap.adb, s-assert.adb,
-	a-sfecin.ads, a-cohama.adb, s-casuti.ads, a-suenco.adb, s-pack39.ads,
-	a-stzmap.ads, a-strbou.ads, s-stalib.adb, s-trasym.adb, g-comver.adb,
-	s-assert.ads, s-vector.ads, g-cgi.adb, a-cohama.ads, s-wchcnv.adb,
-	a-titest.adb, s-pack48.adb, a-suenco.ads, a-strunb.adb, s-stalib.ads,
-	s-trasym.ads, a-nudira.adb, g-comver.ads, a-nuflra.adb, g-cgi.ads,
-	a-chacon.adb, s-wchcnv.ads, a-excach.adb, s-pack48.ads, a-titest.ads,
-	a-strunb.ads, s-dwalin.adb, a-nudira.ads, a-chtgbo.adb, s-resfil.adb,
-	a-scteio.ads, a-nuflra.ads, g-soliop-mingw.ads, s-pack57.adb,
-	a-chacon.ads, s-bytswa.ads, s-pooloc.adb, g-os_lib.adb, s-dwalin.ads,
-	a-szuzha.adb, s-resfil.ads, a-chtgbo.ads, s-spsufi.adb, s-pack57.ads,
-	s-pooloc.ads, g-os_lib.ads, a-stfiha.ads, a-lcteio.ads, a-wtcoau.adb,
-	a-szuzha.ads, s-mmosin-unix.adb, a-stmaco.ads, s-spsufi.ads,
-	s-stchop-limit.ads, a-wtcoau.ads, a-exctra.adb, s-mmosin-unix.ads,
-	s-sequio.adb, s-conca2.adb, g-table.adb, s-imglli.adb,
-	a-numaux-x86.adb, a-strsea.adb, s-wchstw.adb, a-clrefi.adb,
-	a-wwboio.adb, a-exctra.ads, s-sequio.ads, s-conca2.ads, a-wwunio.ads,
-	system-linux-hppa.ads, g-table.ads, s-dimkio.ads, s-imglli.ads,
-	a-cofove.adb, a-numaux-x86.ads, s-wchstw.ads, a-strsea.ads,
-	a-clrefi.ads, a-wwboio.ads, s-stratt-xdr.adb, s-crc32.adb,
-	s-excmac-arm.adb, g-busora.adb, a-cofove.ads, s-osprim-unix.adb,
-	g-io.adb, s-pack49.adb, s-crc32.ads, s-excmac-arm.ads, a-fzteio.ads,
-	g-busora.ads, s-stausa.adb, system-linux-mips.ads, sequenio.ads,
-	g-exctra.adb, g-rewdat.adb, a-cgaaso.adb, g-io.ads, s-pack49.ads,
-	a-wtflau.adb, a-undesu.adb, s-stausa.ads, a-ztenau.adb, g-enutst.ads,
-	calendar.ads, s-pack58.adb, g-rewdat.ads, g-exctra.ads, s-ststop.adb,
-	a-cgaaso.ads, a-strfix.adb, a-comlin.adb, a-strunb-shared.adb,
-	a-wtflau.ads, a-undesu.ads, a-cbhase.adb, a-ztenau.ads, s-os_lib.adb,
-	a-coorse.adb, a-chlat1.ads, s-pack58.ads, s-ststop.ads, a-strfix.ads,
-	a-comlin.ads, a-strunb-shared.ads, a-nscefu.ads, s-valboo.adb,
-	directio.ads, a-chtgke.adb, a-cbhase.ads, a-wtinau.adb,
-	system-linux-alpha.ads, s-os_lib.ads, a-coorse.ads,
-	system-linux-s390.ads, s-imgwiu.adb, a-chtgop.adb, s-valboo.ads,
-	a-chtgke.ads, a-tienio.adb, s-conca3.adb, a-wtinau.ads,
-	system-darwin-ppc.ads, i-c.adb, s-expllu.adb, g-expect.adb,
-	g-sha256.ads, s-vallld.adb, s-imgwiu.ads, a-chtgop.ads, a-strmap.adb,
-	a-tienio.ads, s-conca3.ads, s-imgint.adb, i-c.ads, s-expllu.ads,
-	s-osprim-darwin.adb, a-cogeso.adb, g-expect.ads, a-iwteio.ads,
-	s-vallld.ads, a-coinho-shared.adb, g-shsh64.adb, a-strmap.ads,
-	g-comlin.adb, a-excpol.adb, s-imgint.ads, a-ztdeau.adb, a-cogeso.ads,
-	a-coinho-shared.ads, g-shsh64.ads, g-comlin.ads, a-stzsup.adb,
-	a-rbtgbk.adb, a-wtmoau.adb, a-ztdeau.ads, s-exnlli.adb, g-tty.adb,
-	g-heasor.adb, g-socthi-dummy.adb, s-llflex.ads, a-zchara.ads,
-	a-stzsup.ads, a-ztcstr.adb, a-rbtgbk.ads, a-sfwtio.ads, a-wtmoau.ads,
-	a-sulcin.adb, s-exnlli.ads, system-freebsd.ads, a-stunha.adb,
-	a-charac.ads, g-tty.ads, g-heasor.ads, s-exctra.adb,
-	g-socthi-dummy.ads, a-coboho.adb, a-ztcstr.ads, a-tideio.adb,
-	a-sulcin.ads, a-wrstfi.adb, g-alleve.adb, s-pack59.adb, a-ngrear.adb,
-	a-stboha.adb, a-stunau-shared.adb, a-stunha.ads, a-lfwtio.ads,
-	s-fileio.adb, s-exctra.ads, a-coboho.ads, a-ioexce.ads, a-tideio.ads,
-	a-ngrear.ads, a-wrstfi.ads, s-pack59.ads, g-alleve.ads, a-stboha.ads,
-	s-poosiz.adb, g-traceb.adb, g-rannum.adb, machcode.ads, s-purexc.ads,
-	s-fileio.ads, a-cfinve.adb, a-crbtgk.adb, system-solaris-x86.ads,
-	s-poosiz.ads, g-rannum.ads, g-traceb.ads, a-except.adb, s-conca4.adb,
-	a-stream.adb, a-cfinve.ads, a-crbtgk.ads, s-wchwts.adb,
-	system-mingw.ads, a-except.ads, s-conca4.ads, a-chzla9.ads,
-	s-valenu.adb, s-soflin.adb, a-stream.ads, a-cgarso.adb, s-valllu.adb,
-	g-crc32.adb, s-wchwts.ads, s-fatflt.ads, s-imguns.adb, s-strcom.adb,
-	g-decstr.adb, s-valenu.ads, s-soflin.ads, a-cgarso.ads, a-cwila1.ads,
-	s-valllu.ads, g-crc32.ads, s-imguns.ads, g-spipat.adb, s-valwch.adb,
-	s-strcom.ads, g-decstr.ads, text_io.ads, g-debuti.adb, s-stchop.adb,
-	g-spipat.ads, s-valwch.ads, a-string.ads, s-exnint.adb, g-awk.adb,
-	g-tasloc.adb, s-wwdenu.adb, s-boustr.adb, a-zchuni.adb, s-stchop.ads,
-	g-debuti.ads, s-stopoo.adb, system-dragonfly-x86_64.ads,
-	system-linux-x86.ads, s-exnint.ads, g-awk.ads, a-stzhas.adb,
-	g-tasloc.ads, s-wwdenu.ads, g-debpoo.adb, g-except.ads,
-	g-sse.ads, s-boustr.ads, a-zchuni.ads, s-bitops.adb, s-wwdwch.adb,
-	s-stopoo.ads, a-catizo.adb, a-stzhas.ads, a-nlcefu.ads, g-debpoo.ads,
-	i-vxwoio.adb, s-bitops.ads, g-io-put-vxworks.adb, s-wwdwch.ads,
-	g-sehamd.adb, a-ssicst.adb, a-catizo.ads, s-mmap.adb, g-string.adb,
-	s-traceb.adb, a-swunau.adb, s-rannum.adb, a-ticoau.adb, i-vxwoio.ads,
-	g-sehamd.ads, a-stwiun.adb, a-ssicst.ads, s-conca5.adb, a-ssitio.ads,
-	s-mmap.ads, a-zttest.adb, g-string.ads, g-sercom.adb, a-cdlili.adb,
-	a-swunau.ads, s-traceb.ads, s-rannum.ads, a-ticoau.ads, system-aix.ads,
-	a-cforma.adb, a-stwiun.ads, s-conca5.ads, s-carsi8.adb, a-zttest.ads,
-	g-sercom.ads, a-cdlili.ads, a-cihama.adb, g-sptain.ads, a-cforma.ads,
-	s-maccod.ads, s-carsi8.ads, a-strsup.adb, g-sha1.adb, a-cihama.ads,
-	g-stseme.adb, s-traent.adb, s-valcha.adb, g-curexc.ads, a-strsup.ads,
-	g-sha1.ads, a-sflcin.ads, s-traent.ads, s-pack10.adb, s-valcha.ads,
-	a-coteio.ads, s-tasloc.adb, g-utf_32.adb, a-suteio.adb, s-except.adb,
-	a-direct.adb, g-stsifd-sockets.adb, a-numaux-vxworks.ads, s-winext.ads,
-	s-pack10.ads, a-ztexio.adb, a-tiflau.adb, system-vxworks-arm.ads,
-	s-tasloc.ads, a-suteio.ads, g-utf_32.ads, s-except.ads,
-	a-direct.ads, a-swbwha.adb, g-hesorg.adb, s-wwdcha.adb, a-wtedit.adb,
-	a-ztexio.ads, a-wtcoio.adb, a-tiflau.ads, a-ssizti.ads, s-casi32.adb,
-	a-swbwha.ads, s-veboop.adb, g-hesorg.ads, s-parame-rtems.adb,
-	s-wwdcha.ads, a-wtedit.ads, a-stuten.adb, a-coinve.adb, a-wtcoio.ads,
-	s-casi32.ads, s-string.adb, a-tiinau.adb, a-cusyqu.adb, s-conca6.adb,
-	s-veboop.ads, a-cgcaso.adb, a-numaux-darwin.adb, a-envvar.adb,
-	a-stuten.ads, s-secsta.adb, a-coinve.ads, s-string.ads, a-cusyqu.ads,
-	a-tiinau.ads, s-osprim-vxworks.adb, s-conca6.ads, g-spchge.adb,
-	s-parint.adb, a-cuprqu.adb, a-cgcaso.ads, a-numaux-darwin.ads,
-	a-envvar.ads, s-secsta.ads, g-spchge.ads, s-parint.ads, a-cuprqu.ads,
-	a-swuwti.adb, a-flteio.ads, a-sbhcin.adb, a-coprnu.adb, g-u3spch.adb,
-	s-atocou.adb, g-ctrl_c.adb, a-swuwti.ads, a-calend.adb, a-sbhcin.ads,
-	a-coprnu.ads, g-dirope.adb, g-sha512.ads, g-u3spch.ads, s-atocou.ads,
-	g-ctrl_c.ads, a-timoau.adb, a-witeio.adb, s-pack11.adb, a-strhas.adb,
-	a-wtflio.adb, g-spitbo.adb, a-calend.ads, a-ztenio.adb, g-dirope.ads,
-	a-slcain.adb, g-sechas.adb, a-timoau.ads, a-witeio.ads, s-pack11.ads,
-	s-shasto.adb, s-traceb-mastop.adb, a-ciorse.adb, s-utf_32.adb,
-	a-strhas.ads, a-wtflio.ads, g-spitbo.ads, a-ztenio.ads, a-slcain.ads,
-	g-sechas.ads, s-gearop.adb, a-siztio.ads, s-pack20.adb, s-shasto.ads,
-	a-ciorse.ads, s-utf_32.ads, s-crtl.ads, a-wtinio.adb, s-elaall.adb,
-	s-explli.adb, s-chepoo.ads, s-gearop.ads, a-einuoc.adb, s-pack20.ads,
-	system-linux-ia64.ads, a-swunau-shared.adb, a-wtinio.ads, g-alvety.ads,
-	a-liztio.ads, g-calend.adb, s-conca7.adb, s-elaall.ads, s-explli.ads,
-	a-einuoc.ads, s-widboo.adb, s-imgdec.adb, a-cbhama.adb, g-calend.ads,
-	s-conca7.ads, a-llitio.ads, i-cexten.ads, a-coorma.adb, s-widboo.ads,
-	s-diflio.adb, g-souinf.ads, s-imgdec.ads, g-strhas.ads, a-cbhama.ads,
-	g-shshco.adb, a-ztdeio.adb, s-gloloc.adb, a-coorma.ads, g-wispch.adb,
-	s-pack03.adb, g-eacodu.adb, s-casi16.adb, s-diflio.ads, a-colien.adb,
-	g-shshco.ads, a-wtmoio.adb, a-rbtgbo.adb, a-ztdeio.ads,
-	system-rtems.ads, s-gloloc.ads, a-csquin.ads, a-cofuse.adb,
-	g-wispch.ads, s-pack03.ads, s-casi16.ads, s-io.adb, a-colien.ads,
-	g-alveop.adb, gnat.ads, s-diinio.adb, a-cfdlli.adb, g-pehage.adb,
-	a-wtmoio.ads, a-stwiha.adb, a-locale.adb, a-tirsfi.adb, a-nscoty.ads,
-	a-rbtgbo.ads, s-pack12.adb, a-cofuse.ads, a-sfteio.ads, s-io.ads,
-	g-alveop.ads, a-cfdlli.ads, s-diinio.ads, a-stwiha.ads, g-pehage.ads,
-	a-locale.ads, a-tirsfi.ads, s-pack12.ads, s-valuti.adb, g-cppexc.adb,
-	system-vxworks-ppc.ads, g-memdum.adb, a-lfteio.ads, s-pack21.adb,
-	s-unstyp.ads, s-valuti.ads, g-cppexc.ads, system-hpux-ia64.ads,
-	g-memdum.ads, g-soccon.ads, g-altive.ads, a-crbtgo.adb, s-pack21.ads,
-	a-llizti.ads, a-numaux-libc-x86.ads, s-expint.adb, s-conca8.adb,
-	a-crbtgo.ads, s-pack30.adb, s-vallli.adb, s-geveop.adb, s-expint.ads,
-	a-direio.adb, s-conca8.ads, a-widcha.ads, s-pack30.ads, s-vallli.ads,
-	s-strhas.adb, s-geveop.ads, g-md5.adb, a-direio.ads, a-numaux.ads,
-	s-ransee.adb, a-szbzha.adb, i-cobol.adb, g-busorg.adb, s-strhas.ads,
-	g-md5.ads, s-widenu.adb, s-ransee.ads, s-widllu.adb, a-szbzha.ads,
-	a-ststio.adb, i-cobol.ads, g-busorg.ads, g-regpat.adb, s-widenu.ads,
-	a-secain.adb, s-widllu.ads, s-pack13.adb, g-encstr.adb, a-ztcoau.adb,
-	a-ststio.ads, s-widwch.adb, g-regpat.ads, s-atacco.adb, a-cborse.adb,
-	a-secain.ads, s-pack13.ads, g-encstr.ads, a-ztcoau.ads, s-widwch.ads,
-	g-io_aux.adb, s-atacco.ads, a-ncelfu.ads, interfac.ads, a-cborse.ads,
-	g-regexp.adb, s-pack22.adb, a-szuzti.adb, g-io_aux.ads, s-caun32.adb,
-	a-nselfu.ads, g-regexp.ads, s-pack22.ads, a-ticoio.adb, a-szuzti.ads,
-	g-diopit.adb, s-caun32.ads, s-conca9.adb, a-tags.adb, a-swmwco.ads,
-	a-sbecin.adb, s-pack31.adb, s-expuns.adb, a-ticoio.ads, s-valint.adb,
-	s-conca9.ads, g-diopit.ads, a-tags.ads, a-nllcef.ads, a-izteio.ads,
-	a-sbecin.ads, s-expuns.ads, s-pack31.ads, g-dyntab.adb, s-powtab.ads,
-	s-flocon-none.adb, s-valint.ads, a-ssiwti.ads, s-mmosin-mingw.adb,
-	s-pack40.adb, s-pack05.adb, a-ztflau.adb, g-dyntab.ads,
-	a-szuzti-shared.adb, g-alvevi.ads, a-stwise.adb, s-mmosin-mingw.ads,
-	s-pack40.ads, a-diocst.adb, a-ztflau.ads, s-pack05.ads, a-nlcoty.ads,
-	a-contai.ads, a-stwisu.adb, g-byorma.adb, a-siwtio.ads, a-stwise.ads,
-	s-regpat.adb, g-mbdira.adb, s-pack14.adb, a-diocst.ads, g-flocon.ads,
-	g-mbflra.adb, a-ztinau.adb, s-dim.ads, s-mantis.adb, a-stwisu.ads,
-	g-byorma.ads, s-atopri.adb, g-wistsp.ads, a-uncdea.ads, s-widcha.adb,
-	a-caldel.adb, s-regpat.ads, g-mbdira.ads, a-tiflio.adb, s-pack14.ads,
-	s-parame.adb, a-liwtio.ads, s-memory.adb, g-mbflra.ads, a-ztinau.ads,
-	a-wtgeau.adb, s-direio.adb, s-mantis.ads, s-atopri.ads, s-widcha.ads,
-	a-caldel.ads, s-pack23.adb, a-unccon.ads, a-tiflio.ads, s-parame.ads,
-	a-llftio.ads, s-memory.ads, s-regexp.adb, a-wtgeau.ads, a-exexda.adb,
-	s-direio.ads, s-pack23.ads, g-stheme.adb, a-tiinio.adb, g-sestin.ads,
-	s-regexp.ads, a-wtfiio.adb, a-comutr.adb, a-exexpr.adb, a-tiinio.ads,
-	a-ztmoau.adb, a-cohata.ads, a-wtfiio.ads, s-imgrea.adb, ada.ads,
-	a-szunau-shared.adb, a-comutr.ads, s-valuns.adb, a-ztmoau.ads,
-	system-linux-arm.ads, s-osprim-x32.adb, s-pack41.adb, s-pack06.adb,
-	s-imgrea.ads, s-valuns.ads, s-finroo.adb, s-caun16.adb, s-pooglo.adb,
-	a-zrstfi.adb, a-suenst.adb, s-pack41.ads, g-binenv.adb, s-pack06.ads,
-	a-calari.adb, a-nlcoar.ads, s-finroo.ads, a-timoio.adb, s-caun16.ads,
-	s-flocon.adb, a-suenst.ads, a-zrstfi.ads, s-pooglo.ads, s-wchcon.adb,
-	s-traceb-hpux.adb, s-pack50.adb, i-fortra.adb, s-pack15.adb,
-	a-ngcefu.adb, g-sptavs.ads, g-binenv.ads, s-wchjis.adb, a-calari.ads,
-	a-timoio.ads, a-decima.adb, s-flocon.ads, s-wchcon.ads, a-llfzti.ads,
-	i-fortra.ads, s-pack50.ads, s-pack15.ads, a-ngcefu.ads, a-cfhase.adb,
-	s-wchjis.ads, g-soliop.ads, a-decima.ads, a-chlat9.ads, s-pack24.adb,
-	a-nlelfu.ads, a-cfhase.ads, g-locfil.adb, s-atocou-builtin.adb,
-	s-memcop.ads, a-szunau.adb, s-pack24.ads, s-imgllb.adb, s-auxdec.adb,
-	g-locfil.ads, s-pack33.adb, a-szunau.ads, s-parame-vxworks.adb,
-	s-imgllb.ads, a-ciorma.adb, s-auxdec.ads, a-cobove.adb, s-dsaser.ads,
-	a-elchha.adb, s-pack33.ads, a-cofuve.adb, s-parame-vxworks.ads,
-	a-ciorma.ads, system-darwin-x86.ads, s-multip.adb, a-stwiun-shared.adb,
-	a-wichun.adb, a-cobove.ads, s-imgbiu.adb, s-tsmona-mingw.adb,
-	a-coormu.adb, a-siocst.adb, s-win32.ads, a-elchha.ads, s-pack42.adb,
-	s-pack07.adb, a-cofuve.ads, system-hpux.ads, a-teioed.adb,
-	a-convec.adb, g-speche.adb, s-multip.ads, a-stwiun-shared.ads,
-	a-wichun.ads, s-imgbiu.ads, a-numeri.ads, a-siocst.ads, a-coormu.ads,
-	a-lliwti.ads, s-pack42.ads, s-pack07.ads, a-teioed.ads, a-convec.ads,
-	g-speche.ads, g-socthi.adb, a-nucoty.ads, a-szmzco.ads, s-pack51.adb,
-	s-osprim-mingw.adb, s-casi64.adb, g-strspl.ads, g-socthi.ads,
-	g-socket-dummy.adb, s-pack51.ads, s-dimmks.ads, s-casi64.ads,
-	a-wtenau.adb, s-stchop-vxworks.adb, s-pack60.adb,
-	system-solaris-sparc.ads, s-pack25.adb, g-socket-dummy.ads,
-	a-exstat.adb, a-cofuma.adb, s-tsmona-linux.adb, a-wtenau.ads,
-	s-pack60.ads, s-pack25.ads, i-cstrea.adb, a-cofuma.ads, g-exptty.adb,
-	a-chzla1.ads, s-pack34.adb, i-cstrea.ads, s-excdeb.adb, a-iteint.ads,
-	g-exptty.ads, i-pacdec.adb, s-pack34.ads, s-rident.ads, s-sopco3.adb,
-	i-vxwork.ads, s-excdeb.ads, system-linux-ppc.ads, a-swuwti-shared.adb,
-	s-widlli.adb, s-pack43.adb, i-pacdec.ads, a-cwila9.ads, s-sopco3.ads,
-	a-fwteio.ads, s-widlli.ads, s-pack43.ads, a-suhcin.adb, a-wtdeau.adb,
-	g-allein.ads, a-suezst.adb, a-dirval-mingw.adb, g-zspche.adb,
-	s-bignum.adb, a-ztedit.adb, g-regist.adb, a-nllefu.ads, a-ztcoio.adb,
-	s-pack52.adb, a-llctio.ads, a-nucoar.ads, s-pack17.adb, a-suhcin.ads,
-	a-wtdeau.ads, a-suezst.ads, a-dirval.adb, g-zspche.ads, g-regist.ads,
-	a-ztedit.ads, s-bignum.ads, a-wtcstr.adb, system.ads, s-pack52.ads,
-	a-ztcoio.ads, s-pack17.ads, s-imgboo.adb, a-rbtgso.adb, a-dirval.ads,
-	a-cohase.adb, s-pack61.adb, a-wtcstr.ads, s-pack26.adb, s-osprim.ads,
-	a-tigeau.adb, s-imgboo.ads, a-nuelfu.ads, a-swfwha.ads, s-commun.adb,
-	g-socthi-vxworks.adb, a-rbtgso.ads, a-cohase.ads, g-zstspl.ads,
-	s-pack61.ads, s-pack26.ads, a-intnam-dragonfly.ads, s-imglld.adb,
-	a-tigeau.ads, s-commun.ads, g-socthi-vxworks.ads, a-cborma.adb,
-	a-stwifi.adb, g-moreex.adb, s-pack35.adb, s-imglld.ads, s-valdec.adb,
-	a-tifiio.adb, a-cborma.ads, g-moreex.ads, a-stwifi.ads, s-pack35.ads,
-	s-sopco4.adb, g-sha224.ads, g-socket.adb, a-intnam-rtems.ads,
-	s-finmas.adb, s-valdec.ads, s-addima.adb, a-finali.adb, a-tifiio.ads,
-	s-rpc.adb, a-ztflio.adb, s-pack44.adb, s-pack09.adb, a-sblcin.adb,
-	s-sopco4.ads, a-textio.adb, g-socket.ads, g-sptabo.ads, s-finmas.ads,
-	g-shsh32.adb, s-addima.ads, a-finali.ads, s-mmauni-long.ads, s-rpc.ads,
-	a-ztflio.ads, system-djgpp.ads, s-stache.adb, s-pack44.ads,
-	s-pack09.ads, a-sblcin.ads, a-textio.ads, a-cidlli.adb, g-shsh32.ads,
-	a-chtgbk.adb, a-tiocst.adb, s-pack53.adb, s-pack18.adb, s-stache.ads,
-	a-zchhan.adb, s-fatlfl.ads, a-ztinio.adb, s-strops.adb, a-siteio.ads,
-	a-cidlli.ads, a-chtgbk.ads, g-ssvety.ads, a-tiocst.ads, s-pack53.ads,
-	s-parame-hpux.ads, s-pack18.ads, a-zchhan.ads, s-strops.ads,
-	a-ztinio.ads, a-wichha.adb, a-stwima.adb, a-nlrear.ads, a-liteio.ads,
-	s-pack62.adb, s-pack27.adb, s-fore.adb, s-vercon.adb, a-wichha.ads,
-	a-stwima.ads, s-pack62.ads, system-linux-sparc.ads, s-pack27.ads,
-	g-dynhta.adb, s-fore.ads, s-vercon.ads, a-cofuba.adb, a-cimutr.adb,
-	i-cpoint.adb, s-imgenu.adb, a-stwibo.adb, s-pack36.adb, i-cstrin.adb,
-	s-imgllu.adb, a-suteio-shared.adb, g-excact.adb, s-stoele.adb,
-	s-addope.adb, g-dynhta.ads, a-cofuba.ads, a-ztmoio.adb, a-llfwti.ads,
-	a-cimutr.ads, i-cpoint.ads, s-imgenu.ads, a-stwibo.ads, a-wttest.adb,
-	s-pack36.ads, a-tgdico.ads, s-sopco5.adb, s-scaval.adb, i-cstrin.ads,
-	s-imgllu.ads, g-excact.ads, s-stoele.ads, g-deutst.ads, s-addope.ads,
-	s-imgwch.adb, g-sha384.ads, a-ztmoio.ads, s-pack45.adb, a-wttest.ads,
-	s-sopco5.ads, s-excmac-gcc.adb, s-scaval.ads, a-storio.adb,
-	a-coinho.adb, a-btgbso.adb, s-imgwch.ads, s-carun8.adb, memtrack.adb,
-	s-pack45.ads, a-sfhcin.ads, s-excmac-gcc.ads, a-storio.ads,
-	a-coinho.ads, a-btgbso.ads, s-stratt.adb, s-carun8.ads, a-shcain.adb,
-	s-pack54.adb, s-pack19.adb, a-colire.adb, a-tigeli.adb, s-caun64.adb,
-	s-stratt.ads, s-fatgen.adb, a-shcain.ads, a-stzunb-shared.adb,
-	s-pack54.ads, s-pack19.ads, a-colire.ads, a-calcon.adb, s-caun64.ads,
-	s-fatgen.ads, s-pack63.adb, g-arrspl.adb, a-stzunb-shared.ads,
-	s-pack28.adb, a-nllrar.ads, a-zzboio.adb, a-zzunio.ads, a-stunau.adb,
-	a-calcon.ads, g-cgideb.adb, s-objrea.adb, s-mastop.adb, a-tienau.adb,
-	g-altcon.adb, g-arrspl.ads, s-pack63.ads, s-restri.adb, s-pack28.ads,
-	a-zzboio.ads, a-stunau.ads, g-cgideb.ads, g-htable.adb, g-sothco.adb,
-	s-objrea.ads, g-soliop-solaris.ads, s-mastop.ads, a-tienau.ads,
-	system-linux-m68k.ads, g-altcon.ads, s-dmotpr.ads, s-memory-mingw.adb,
-	g-cgicoo.adb, s-pack37.adb, s-restri.ads, s-fatllf.ads, s-expmod.adb,
-	a-swuwha.adb, a-exextr.adb, a-cfhama.adb, s-gloloc-mingw.adb,
-	a-tiboio.adb, g-forstr.adb, g-sothco.ads, a-stzbou.adb, a-nllcty.ads,
-	a-suecin.adb, g-htable.ads, s-exctab.adb, a-tiunio.ads, g-cgicoo.ads,
-	s-osprim-posix.adb, s-pack37.ads, a-ciormu.adb, s-atocou-x86.adb,
-	a-swuwha.ads, s-expmod.ads, a-cfhama.ads, s-ficobl.ads, a-ngcoty.adb,
-	g-forstr.ads, a-tiboio.ads, a-calfor.adb, a-stzbou.ads, a-suecin.ads,
-	a-conhel.adb, a-crbltr.ads, s-exctab.ads, a-dhfina.ads, s-imgcha.adb,
-	s-pack46.adb, a-ciormu.ads, system-linux-sh4.ads, a-chahan.adb,
-	a-ngcoty.ads, a-stzunb.adb, a-szfzha.ads, a-calfor.ads, a-cbdlli.adb,
-	a-conhel.ads, s-imgcha.ads, s-pack46.ads, a-assert.adb, a-chahan.ads,
-	a-stzunb.ads, a-crdlli.adb, s-pack55.adb, a-cbdlli.ads, a-tideau.adb,
-	a-assert.ads, ioexcept.ads, s-boarop.ads, g-hesora.adb, a-crdlli.ads,
-	s-pack55.ads, a-tideau.ads, g-bubsor.adb, a-wtenio.adb, a-cbsyqu.adb,
-	g-hesora.ads, s-pack29.adb, a-nurear.ads, g-catiio.adb, s-stposu.adb,
-	g-bubsor.ads, a-wtenio.ads, a-cbsyqu.ads, a-suewst.adb,
-	system-vxworks-x86.ads, s-pack29.ads, a-cbmutr.adb, a-cbprqu.adb,
-	s-imenne.adb, g-sothco-dummy.adb, g-casuti.adb, g-catiio.ads,
-	s-stposu.ads, a-stzsea.adb, s-pack38.adb, a-suewst.ads, s-imgllw.adb,
-	a-cbprqu.ads, a-cbmutr.ads, s-imenne.ads, g-sothco-dummy.ads,
-	g-casuti.ads, s-htable.adb, s-fatsfl.ads, g-trasym.adb, unchconv.ads,
-	a-stzsea.ads, s-arit64.adb, s-pack38.ads, a-nllcar.ads, s-valrea.adb,
-	s-imgllw.ads, s-htable.ads, a-sequio.adb, g-trasym.ads, a-ngcoar.adb,
-	s-exnllf.adb, s-pack47.adb, s-arit64.ads, g-sercom-mingw.adb,
-	s-valrea.ads, g-socthi-mingw.adb, g-bytswa.adb, g-sehash.adb,
-	unchdeal.ads, a-sequio.ads, a-ngcoar.ads, s-exnllf.ads, a-wtdeio.adb,
-	s-pack47.ads, g-socthi-mingw.ads, a-excpol-abort.adb, a-ztgeau.adb,
-	g-bytswa.ads, g-sehash.ads, s-pack56.adb, a-wtdeio.ads, a-ngelfu.adb,
-	a-ztgeau.ads, a-cforse.adb, s-filatt.ads, a-stzfix.adb, a-cihase.adb,
-	s-pack56.ads, a-sfztio.ads, a-ngelfu.ads, s-trasym-dwarf.adb,
-	a-cforse.ads, a-ztfiio.adb, g-timsta.adb, a-stzfix.ads, a-cihase.ads,
-	a-ztfiio.ads, system-darwin-arm.ads: Move non-tasking runtime sources
-	to libgnat subdirectory.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_aux.adb, sem_aux.ads (Get_Called_Entity): New function to
-	return the entity associated with the call.
-	* sem_util.adb, sem_util.ads (Check_Function_Writable_Actuals):
-	Replace the internal Get_Function_Id with the new
-	Sem_Aux.Get_Called_Entity.
-	(Iterate_Call_Parameters): New
-	procedure to iterate on formals and actuals at the same time.
-	* sem_ch12.adb (Analyze_Subprogram_Instantiation):
-	Set SPARK_Mode from spec when set, for analysis
-	of instance. Restore after analysis of instance.
-	(Instantiate_Subprogram_Body): Set SPARK_Mode from body when
-	set, for analysis of body instance. Restored automatically at
-	the end of the subprogram.
-	* gnat1drv.adb (Adjust_Global_Switches): Set
-	Check_Validity_Of_Parameters to False in GNATprove mode.
-	* opt.ads (Check_Validity_Of_Parameters): Document switch to
-	set option.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_util.adb (NCT_Tables_In_Use): Move to library level from...
-	(New_Copy_Tree): ...there.  Reset the hash tables only if they
-	were used in the previous invocation.
-	* s-htable.adb: Fix typo.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-ssicst.adb (Open): Set File.Last_Op to the appropriate value.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_aggr.adb: minor style fix.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* sprint.adb (Write_Corresponding_Source): Ignore if there is
-	no current source file.
-	(Write_Name_With_Col_Check, Write_Name_With_Col_Check_Sloc):
-	Print something helpful in case N is invalid.
-	* sprint.ads: Minor comment fix.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_aggr.adb: (Aggr_Assignment_OK_For_Backend): Add early return for
-	access types.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* par-prag.adb, sem_prag.adb, snames.ads-tmpl: Implement pragma
-	Ada_2020, along the same lines as the other Ada version pragmas.
-
-2017-09-08  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch12.adb: Minor typo fixes and reformatting.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_aggr.adb (Resolve_Record_Aggregate):
-	Rewrite bounds of aggregate subexpressions which may depend on
-	discriminants of the enclosing aggregate.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch5.adb: Prevent assertion failure on illegal code.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs.Is_SPARK_Scope): Avoid
-	calling Renamed_Entity on an entity which cannot be a renaming.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_aggr.adb: Add with & use clause for Urealp.
-	(Aggr_Assignment_OK_For_Backend): Accept (almost all)
-	elementary types instead of just discrete types.
-	* sem_eval.adb (Expr_Value): Deal with N_Null for access types.
-	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
-	Be prepared for the FP zero value in the memset case.  Add small
-	guard.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* s-htable.adb (Static_HTable.Reset): Use aggregate instead
-	of loop.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb (Expand_Array_Aggregate): Use New_Copy_Tree instead
-	of New_Copy because the latter leaves the syntactic structure of
-	the tree inconsistent (a child is accessible through two parents)
-	and prevents proper replication of itypes by subsequent calls
-	to New_Copy_Tree.
-	* exp_ch4.adb (Expand_Concatenate): Use New_Copy_Tree instead of
-	New_Copy because the latter leaves the syntactic structure of the
-	tree inconsistent (a child is accessible through two parents)
-	and prevents proper replication of itypes by subsequent calls
-	to New_Copy_Tree.
-	* sem_util.adb (In_Subtree): New routine.
-	(New_Copy_Tree): Reimplemented.
-	* sem_util.ads (In_Subtree): New routine.
-	(New_Copy_Tree): Reimplemented.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Resolve_Aspect_Expressions): The expression
-	for aspect Default_Value is a static scalar value, but it does
-	not freeze the type. Yhis allows for subsequent representation
-	clauses for the type.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch8.adb (Find_Direct_Name.Undefined): Do
-	not add entries into the undefined reference table when we are
-	compiling with errors ignored.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Check_Formal_Packages): Do not apply conformance
-	check if the instance is within an enclosing instance body. The
-	formal package was legal in the enclosing generic, and is
-	legal in the enclosing instantiation.  This optimisation may be
-	applicable elsewhere, and it also removes spurious errors that
-	may arise with on-the-fly processing  of instantiations that
-	contain Inline_Always subprograms.
-
-2017-09-08  Vincent Celier  <celier@adacore.com>
-
-	* gnatcmd.adb: Disregard empty argument of GNAT driver.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Manually decorate
-	the generated temporary for range valdity checks.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* usage.adb (Usage): Document new -gnatw.q/-gnatw.Q switches.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* switch-c.adb (Scan_Front_End_Switches): Add new warning switch
-	case to handle underscore flags.
-	* warnsw.adb, warnsw.ads (Set_Underscore_Warning_Switch): Create
-	new procedure to handle underscores.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Op_Divide): Reordering code that handles
-	divisions with fixed point results to avoid generating twice
-	the runtime check on divide by zero.
-	* checks.adb (Apply_Divide_Checks): Ensure that operands are
-	not evaluated twice (once for their runtime checks and once for
-	their regular computation).
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Part_Of): Add missing
-	return statements after issuing errors.  Add detection of
-	out-of-order item and single concurrent type.
-
-2017-09-08  Nicolas Roche  <roche@adacore.com>
-
-	* gcc-interface/Makefile.in, a-extiti.ads, s-taprop-linux.adb,
-	s-osinte-solaris.adb, a-intnam.ads, s-osinte-solaris.ads,
-	s-tpobop.adb, s-intman-android.adb, s-tasinf.adb, s-tpobop.ads,
-	s-tasinf.ads, i-vxinco.adb, a-exetim-posix.adb, i-vxinco.ads,
-	a-astaco.adb, a-astaco.ads, s-tporft.adb, s-tpoaal.adb, a-taside.adb,
-	a-taside.ads, s-tpopsp-posix.adb, s-tasdeb.adb, s-tasdeb.ads,
-	s-tpoben.adb, a-dinopr.ads, s-inmaop-vxworks.adb, s-tpoben.ads,
-	s-interr-vxworks.adb, s-interr-dummy.adb, s-tassta.adb,
-	a-intnam-mingw.ads, s-tassta.ads, s-taasde.adb, a-stcoed.ads,
-	s-taasde.ads, s-osinte-darwin.adb, s-proinf.adb, s-taprop-dummy.adb,
-	s-osinte-darwin.ads, s-proinf.ads, s-linux.ads, a-intnam-linux.ads,
-	s-tasren.adb, s-tasren.ads, s-mudido.adb, g-semaph.adb, s-mudido.ads,
-	s-taprop-posix.adb, g-semaph.ads, s-osinte-mingw.ads, s-vxwork-x86.ads,
-	s-tposen.adb, s-linux-sparc.ads, s-taprop-vxworks.adb, s-tasini.adb,
-	s-tposen.ads, s-tasini.ads, a-etgrbu.ads, s-interr-hwint.adb,
-	s-osinte-linux.ads, s-taprop.ads, s-tasque.adb, s-tasque.ads,
-	s-taenca.adb, s-taspri-vxworks.ads, s-taenca.ads, a-dynpri.adb,
-	s-tpopsp-solaris.adb, a-dynpri.ads, s-taprop-hpux-dce.adb,
-	a-interr.adb, a-intnam-freebsd.ads, s-tarest.adb, a-interr.ads,
-	s-intman-susv3.adb, a-synbar.adb, a-intnam-dummy.ads, s-tadeca.adb,
-	s-osinte-vxworks.adb, s-tarest.ads, s-taskin.adb, a-synbar.ads,
-	s-taspri-hpux-dce.ads, s-tadeca.ads, s-osinte-vxworks.ads,
-	s-taskin.ads, s-intman-solaris.adb, a-sytaco.adb, s-vxwext-kernel.adb,
-	s-mudido-affinity.adb, a-sytaco.ads, s-vxwext-kernel.ads, s-taprob.adb,
-	s-intman-mingw.adb, s-taprob.ads, s-osinte-kfreebsd-gnu.ads,
-	s-osinte-dummy.ads, s-osinte-gnu.adb, s-osinte-rtems.adb, s-interr.adb,
-	s-inmaop.ads, s-vxwext-rtp.adb, s-osinte-gnu.ads, s-osinte-rtems.ads,
-	a-synbar-posix.adb, s-interr.ads, s-taspri-posix-noaltstack.ads,
-	s-vxwext-rtp.ads, a-synbar-posix.ads, a-extiin.ads, s-osinte-posix.adb,
-	s-tpinop.adb, s-tasres.ads, s-tpinop.ads, a-disedf.ads, a-diroro.ads,
-	s-linux-alpha.ads, a-tasatt.adb, s-solita.adb, a-intnam-solaris.ads,
-	a-tasatt.ads, s-solita.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
-	s-vxwork-arm.ads, s-tpopsp-posix-foreign.adb, s-intman-dummy.adb,
-	s-intman.ads, s-stusta.adb, s-stusta.ads, s-intman-posix.adb,
-	s-tpopsp-vxworks.adb, s-inmaop-dummy.adb, s-taspri-mingw.ads,
-	a-intnam-darwin.ads, s-osinte-aix.adb, s-osinte-dragonfly.adb,
-	s-osinte-aix.ads, s-tasinf-mingw.adb, s-osinte-dragonfly.ads,
-	s-linux-hppa.ads, s-osinte-x32.adb, s-inmaop-posix.adb,
-	s-tasinf-mingw.ads, s-intman-vxworks.adb, s-linux-mips.ads,
-	s-intman-vxworks.ads, s-osinte-android.adb, s-tasinf-linux.adb,
-	s-osinte-android.ads, s-vxwork-ppc.ads, s-tasinf-linux.ads,
-	a-dispat.adb, a-dispat.ads, s-tadert.adb, g-thread.adb, s-tadert.ads,
-	g-thread.ads, a-intnam-hpux.ads, s-linux-android.ads, s-tataat.adb,
-	a-exetim.ads, s-tataat.ads, a-reatim.adb, a-reatim.ads, thread.c,
-	g-boubuf.adb, s-osinte-freebsd.adb, g-boubuf.ads, s-osinte-freebsd.ads,
-	s-tasuti.adb, s-taspri-dummy.ads, a-exetim-mingw.adb, s-linux-x32.ads,
-	s-tasuti.ads, g-signal.adb, a-exetim-mingw.ads, s-interr-sigaction.adb,
-	g-signal.ads, s-osinte-hpux.ads, a-intnam-vxworks.ads,
-	s-osinte-hpux-dce.adb, s-taspri-posix.ads, s-osinte-hpux-dce.ads,
-	s-tasinf-vxworks.ads, g-tastus.ads, s-tpopsp-tls.adb,
-	s-taprop-solaris.adb, a-retide.adb, a-exetim-darwin.adb, a-retide.ads,
-	s-vxwext.adb, s-vxwext.ads, a-rttiev.adb, a-rttiev.ads, g-boumai.ads,
-	a-exetim-default.ads, s-taprop-mingw.adb, s-taspri-solaris.ads,
-	a-intnam-aix.ads: Move libgnarl sources to libgnarl subdir.
-
-2017-09-08  Arnaud Charlet <charlet@adacore.com>
-
-	* doc/share/conf.py, doc/share/latex_elements.py,
-	doc/share/ada_pygments.py, doc/Makefile: Improve support for Ada
-	highlighting.
-
-2017-09-08  Arnaud Charlet <charlet@adacore.com>
-
-	* gnat_rm.texi, gnat_ugn.texi,
-	doc/gnat_ugn/the_gnat_compilation_model.rst,
-	doc/gnat_ugn/getting_started_with_gnat.rst,
-	doc/gnat_ugn/inline_assembler.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/example_of_binder_output.rst,
-	doc/gnat_ugn/gnat_and_program_execution.rst,
-	doc/gnat_ugn/gnat_utility_programs.rst,
-	doc/gnat_rm/implementation_of_specific_ada_features.rst,
-	doc/gnat_rm/interfacing_to_other_languages.rst,
-	doc/gnat_rm/implementation_defined_aspects.rst,
-	doc/gnat_rm/intrinsic_subprograms.rst,
-	doc/gnat_rm/implementation_defined_characteristics.rst,
-	doc/gnat_rm/implementation_advice.rst,
-	doc/gnat_rm/implementation_defined_attributes.rst,
-	doc/gnat_rm/compatibility_and_porting_guide.rst,
-	doc/gnat_rm/standard_library_routines.rst,
-	doc/gnat_rm/the_gnat_library.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_rm/obsolescent_features.rst,
-	doc/gnat_rm/about_this_guide.rst,
-	doc/gnat_rm/the_implementation_of_standard_i_o.rst,
-	doc/gnat_rm/implementation_of_ada_2012_features.rst,
-	doc/gnat_ugn.rst,
-	doc/gnat_rm.rst: Update documentation.
-
-2017-09-08  Arnaud Charlet <charlet@adacore.com>
-
-	* s-dwalin.ads, s-dwalin.adb, s-trasym-dwarf.adb, s-objrea.ads,
-	s-objrea.adb, s-tsmona-linux.adb, s-tsmona-mingw.adb: New.
-	* gcc-interface/Makefile.in: Enable s-trasym-dwarf.adb on x86*linux.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* s-ststop.ads, s-ststop.adb, rtsfind.ads (String_Input_Tag):
-	New routine to read the Tag robustly.
-	* exp_attr.adb (Input): Change the expansion of 'Input,
-	in the class-wide case, to call String_Input_Tag instead of
-	String_Input_Blk_IO.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* s-rident.ads (Restriction_Id): reorder enum
-	literals, so that Pure_Barriers is no longer in range of the
-	Cunit_Boolean_Restrictions subtype.
-
-2017-09-08  Nicolas Roche  <roche@adacore.com>
-
-	* a-taster.ads, a-taster.adb: Move to libgnarl
-	* gcc-interface/Makefile.in: Remove obsolete targets. Code cleanups.
-	Add support for files in libgnarl.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Type_Conversion): Do not apply
-	accessibility check to an interface conversion, whose purpose
-	is to perform a pointer adjustment in a dispatching call.
-	* exp_ch6.adb (Expand_Call_JHelper): Add accessibility checks
-	when the actual is a construct that involves a dereference of an
-	expression that includes a formal of the enclosing subprogram,
-	In such cases, the accessibility level of the actual is that of
-	the corresponding formal, which is passed in as an additional
-	actual in the outer call.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* exp_intr.adb (Add_Source_Info): Do not decode
-	file names; they were not encoded in the first place.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-tags.adb (Internal_Tag): Unsuppress checks, so we get
-	exceptions instead of crashes. Check for absurdly long strings
-	and empty strings. Empty strings cause trouble because they can
-	have super-null ranges (e.g. 100..10), which causes Ext_Copy to
-	be empty, which causes an array index out of bounds.
-	* s-ststop.adb (Input): Unsuppress checks, so we get exceptions
-	instead of crashes.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Is_CCT_Instance): allow use in
-	the context of protected types.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-tigeli.adb: minor remove extra whitespace.
-
-2017-09-08  Gary Dismukes  <dismukes@adacore.com>
-
-	* par-ch4.adb: Reformatting of an error message.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Resolve_Name): Under ASIS mode analyze overloaded
-	identifiers to ensure their correct decoration of names on
-	aspect expressions.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* exp_attr.adb (Expand_Loop_Entry_Attribute): Do
-	not skip a loop coming from source which is rewritten into a loop.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Wrap_Imported_Subprogram): Indicate that the
-	wrapper has convention Ada, to prevent spurious warnings on
-	unconstrained array parameters.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_prag.adb (Check_Variant): Use First_Non_Pragma/Next_Non_Pragma.
-	(Analyze_Pragma) <Pragma_Unchecked_Union>: Likewise.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch6.adb (Freeze_Expr_Types): Rename Spec_Id into Def_Id.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_intr.adb (Append_Entity_Name): Move to ...
-	* sem_util.ads, sem_util.adb: ... here to share it.
-	(Subprogram_Name): New subprogram, to compute the name of the enclosing
-	subprogram/entity.
-	* errutil.adb (Error_Msg): Fill new field Node.
-	* erroutc.ads (Subprogram_Name_Ptr): New.
-	(Error_Msg_Object): New field Node.
-	* erroutc.adb (dmsg, Output_Msg_Text): Take new field Node into account.
-	* errout.adb (Error_Msg): New variant with node id parameter.
-	Fill new parameter Node when emitting messages. Revert previous
-	changes for Include_Subprogram_In_Messages.
-	* sem_ch5.adb (Check_Unreachable_Code): Supply Node parameter when
-	generating warning message.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* par-ch4.adb (P_Iterated_Component_Association): Place construct
-	under -gnat2020 flag, given that it is a future feature of
-	the language.
-	* sem_aggr.adb (Resolve_Iterated_Component_Association): Mark
-	defining identifier as referenced to prevent spurious warnings:
-	corresponding loop is expanded into one or more loops whose
-	variable has the same name, and the expression uses those names
-	and not the original one.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Check_A_Call): Do not consider
-	references to internal variables for SPARK semantics.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* inline.adb (In_Package_Spec): refine type of
-	the parameter from Node_Id to Entity_Id.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch5.adb (Expand_Formal_Container_Loop):
-	Reset the scope of the loop parameter after it is reanalyzed.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_util.ads (Set_Rep_Info): New inline procedure.
-	* sem_util.adb (Set_Rep_Info): Implement it.
-	* sem_ch3.adb (Process_Subtype): If the case of a constraint present,
-	always copy the representation aspects onto the subtype.
-
-2017-09-08  Georges-Alex Jaloyan  <jaloyan@adacore.com>
-
-	* g-dynhta.adb, g-dynhta.ads (Get_First_Key, Get_Next_key):
-	Correction of the return type from access type to option type.
-	(Simple_HTable): Moving the Instance_Data to ads file.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb: Use System.Case_Util.To_Lower to simplify code.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* opt.ads (Include_Subprogram_In_Messages): New variable.
-	* errout.ads (Current_Subprogram_Ptr): New variable.
-	* errout.adb (Error_Msg): Prepend current subprogram info
-	in messages if Include_Subprogram_In_Messages is set.
-	* sem_util.adb (elab code): Initialize Current_Subprogram_Ptr to
-	Current_Subprogram.
-	* gnat1drv.adb (Adjust_Global_Switches): Set
-	Include_Subprogram_In_Messages when -gnatdJ is set.
-	* debug.adb: Document and reserve -gnatdJ.
-
-2017-09-08  Georges-Axel Jaloyan  <jaloyan@adacore.com>
-
-	* g-dynhta.adb, g-dynhta.ads (Get_First_Key, Get_Next_Key): New
-	functions to iterate over simple hastables.
-	(Load_Factor_HTable): Remove obsolete and inefficient implementation.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Unqual_BIP_Function_Call): Adding
-	missing checks on the presence of Entity() before checking the
-	entity attributes.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Reorder some
-	statements, use local variable and remove unnecessary processing.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.ads (Make_Build_In_Place_Iface_Call_In_Allocator): New
-	subprogram.
-	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context): New subprogram.
-	(Make_Build_In_Place_Iface_Call_In_Object_Declaration): New
-	subprogram.
-	(Unqual_BIP_Iface_Function_Call): New subprogram.
-	* exp_ch6.adb (Replace_Renaming_Declaration_Id): New
-	subprogram containing code that was previously inside
-	Make_Build_In_Place_Call_In_Object_Declaration since it is also
-	required for one of the new subprograms.
-	(Expand_Actuals):
-	Invoke Make_Build_In_Place_Iface_Call_In_Anonymous_Context
-	(Expand_N_Extended_Return_Statement): Extend the
-	cases covered by an assertion on expected BIP object
-	declarations.
-	(Make_Build_In_Place_Call_In_Assignment):
-	Removing unused code; found working on this ticket.
-	(Make_Build_In_Place_Call_In_Object_Declaration): Move the code
-	that replaces the internal name of the renaming declaration
-	into the new subprogram Replace_Renaming_Declaration_Id.
-	(Make_Build_In_Place_Iface_Call_In_Allocator): New subprogram.
-	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context):
-	New subprogram.
-	(Make_Build_In_Place_Iface_Call_In_Object_Declaration): New
-	subprogram.
-	(Unqual_BIP_Iface_Function_Call): New subprogram.
-	* exp_ch3.adb (Expand_N_Object_Declaration): Invoke the new
-	subprogram Make_Build_In_Place_Iface_Call_In_Object_Declaration.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Invoke the new
-	subprogram Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-	* exp_ch4.adb (Expand_Allocator_Expression): Invoke the new
-	subprogram Make_Build_In_Place_Iface_Call_In_Allocator.
-	(Expand_N_Indexed_Component): Invoke the new subprogram
-	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-	(Expand_N_Selected_Component): Invoke the new subprogram
-	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-	(Expand_N_Slice): Invoke the new subprogram
-	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration):
-	Invoke the new subprogram
-	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* exp_disp.adb (Expand_Interface_Conversion): Fix handling of
-	access to interface types.  Remove also the accessibility check.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch6.adb (Freeze_Expr_Types): Really freeze
-	all the types that are referenced by the expression.
-	(Analyze_Expression_Function): Call Freeze_Expr_Types for
-	a completion instead of manually freezing the type of the
-	expression.
-	(Analyze_Subprogram_Body_Helper): Do not call Freeze_Expr_Types here.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_prag.adb (Replace_Discriminals_Of_Protected_Op):
-	New procedure, auxiliary to Expand_Pragma_Check, to handle
-	references to the discriminants of a protected type within a
-	precondition of a protected operation. This is needed because
-	the original precondition has been analyzed in the context of
-	the protected declaration, but in the body of the operation
-	references to the discriminants have been replaved by references
-	to the discriminants of the target object, and these references
-	are only created when expanding the protected body.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Issue more precise error messages on
-	Loop_Variant.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_attr.adb (Build_Record_VS_Func): If the record is an
-	unchecked union, do not emit checks for its (non-existent)
-	discriminants, or for variant parts that depend on them.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch4.adb (Find_Equality_Types.Try_One_Interp,
-	Find_Comparison_Type.Try_One_Interp): Add check for generic
-	instances.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch3.adb, layout.adb, layout.ads, exp_attr.adb, debug.adb,
-	exp_pakd.adb, sem_prag.adb, gnat1drv.adb, targparm.adb, targparm.ads,
-	repinfo.adb, exp_ch6.adb, exp_aggr.adb, sem_eval.adb, sem_ch13.adb,
-	exp_ch3.adb: Remove references to Frontend_Layout_On_Target and
-	remaining references to AAMP_On_Target.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* style.adb: Fix typo.
-
-2017-09-08  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.adb (Underlying_Type): Add missing support for class-wide
-	types that come from the limited view.
-	* exp_attr.adb (Attribute_Address): Check class-wide type
-	interfaces using the underlying type to handle limited-withed
-	types.
-	(Attribute_Tag): Check class-wide type interfaces using
-	the underlying type to handle limited-withed types.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Expand_Predicated_Loop): Handle properly a loop
-	over a subtype of a type with a static predicate, taking into
-	account the predicate function of the parent type and the bounds
-	given in the loop specification.
-	* sem_ch3.adb (Inherit_Predicate_Flags): For qn Itype created for
-	a loop specification that is a subtype indication whose type mark
-	is a type with a static predicate, inherit predicate function,
-	used to build case statement for rewritten loop.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* lib-load.adb: Modify printing of error message to exclude file
-	line number.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode):
-	don't inline subprograms declared in both visible and private
-	parts of a package.
-	(In_Package_Spec): previously In_Package_Visible_Spec; now
-	detects subprograms declared both in visible and private parts
-	of a package spec.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Build_Invariant_Procedure_Declaration): If
-	the type is an anonymous array in an object declaration, whose
-	component type has an invariant, use the object declaration
-	as the insertion point for the invariant procedure, given that
-	there is no explicit type declaration for an anonymous array type.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-cbprqu.ads, a-cbdlli.adb: Suppress warnings.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-strfix.adb (Trim): Compute Low and High only if needed.
-
-2017-09-08  Justin Squirek  <squirek@adacore.com>
-
-	* lib-load.adb (Load_Main_Source): Add error output in the case a
-	source file is missing.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-PR ada/80888
-	* a-textio.adb, a-witeio.adb, a-ztexio.adb (Set_WCEM): Use
-	Default_WCEM by default (i.e. if the encoding is not specified
-	by the Form string).
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* s-trasym.ads (Hexa_Traceback): If
-	Suppress_Hex is True, print "..." instead of a hexadecimal
-	address.
-	* s-trasym.adb: Ignore No_Hex in this version.
-	Misc cleanup.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* debug.adb: Minor reformatting.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* a-cbdlli.adb, a-cohama.adb, a-cohase.adb (Copy): Rewrite the
-	code so it doesn't trigger an "uninit var" warning.
-
-2017-09-08  Nicolas Roche  <roche@adacore.com>
-
-	* s-hibaen.ads: Remove obsolete file.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-locale.ads: Add comment explaining the state of this package.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Is_CCT_Instance): Allow calls in the context
-	of packages.
-	* sem_prag.ads, sem_prag.adb (Find_Related_Declaration_Or_Body):
-	allow calls in the context of package spec (for pragma
-	Initializes) and bodies (for pragma Refined_State).
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Copy the Do_Range_Check flag to the
-	new Exp.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* debug.adb (dA): Adjust comment.
-	* gnat1drv.adb (Gnat1drv): Likewise.
-	* opt.ads (List_Representation_Info_Extended): New variable.
-	* repinfo.adb (List_Record_Info): Split implementation into...
-	(Compute_Max_Length): ...this.	Recurse on records if requested.
-	(List_Record_Layout): Likewise.
-	* switch-c.adb (Scan_Front_End_Switches) <'R'>: Use case
-	statement, accept '0' and set List_Representation_Info_Extended
-	on 'e'.
-	* usage.adb (Usage): Document new -gnatRe variant.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
-	Do not save the given entity in the global variable Default_Pool
-	if the pragma appears within a generic unit.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* errout.adb (Delete_Warning): Do not
-	decrement Warnings_Treated_As_Errors. This is called before
-	Warnings_Treated_As_Errors has been incremented to account for
-	this warning. Decrementing it here can lead to negative values
-	of Warnings_Treated_As_Errors, raising Constraint_Error in
-	checks-on builds, and causing the compiler to return an error
-	code in checks-off builds.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Is_CCT_Instance): Only expect
-	entities of named concurrent types as Ref_Id and not of anonymous
-	concurrent objects (because callers already know when a conversion
-	is necessary and can easily do it); also, do not expect protected
-	types or protected objects as Context_Id (because no flow-related
-	SPARK pragmas are attached there); reflect these changes in a
-	more precise comment.
-
-2017-09-08  Olivier Hainque  <hainque@adacore.com>
-
-	* g-altive.ads: Add documentation.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* sem_util.ads, debug.adb: Minor comment fix.
-	* erroutc.ads: Comment fix.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Validate_Array_Type_Instance): Suppress check
-	for compatibility of component types of formal and actual in an
-	instantiation of a child unit,	when the component type of the
-	formal is itself a formal of an enclosing generic.
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Is_CCT_Instance): moved from
-	sem_prag.adb to make it available for GNATprove; for concurrent
-	types replace custom scope climbing with Scope_Same_Or_Within; for
-	single concurrent objects add scope climbing (with Scope_Within),
-	which was not there (that's the primary semantic change of this
-	commit); also, when comparing a single concurrent object with
-	its corresponding concurrent type rely on equality of types,
-	not of objects (because that's simpler to code).
-	* sem_prag.adb (Is_CCT_Instance): lifted to sem_util.ads.
-	(Analyze_Global_Item): adjust special-casing of references to the
-	current instance of a concurrent unit in the Global contracts
-	of task types and single tasks objects; similar for references
-	in the protected operations and entries of protected types and
-	single protected objects (in all these cases the current instance
-	behaves as an implicit parameter and must not be mentioned in
-	the Global contract).
-
-2017-09-08  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Introduce temporary for
-	function calls returning a record within a subprogram call,
-	for C generation.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Find_Expanded_Name): Handle properly an expanded
-	name that designates the current instance of a child unit in its
-	own body and appears as the prefix of a reference to an entity
-	local to the child unit.
-	* exp_ch6.adb, freeze.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb:
-	Minor reformatting.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Equality_Op): Do not warn on comparisons that
-	may be intentional.
-
-2017-09-08  Tristan Gingold  <gingold@adacore.com>
-
-	* sem_warn.adb (Check_Unused_Withs): Remove test that disabled
-	warnings on internal units in configurable run time mode.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Private_Type): Inherit
-	representation items from interfaces that the derived type
-	implements, not just from the parent type.
-	* sem_util.ads, sem_util.adb (Abstract_Interface_List): Change
-	this to return an empty list when there are no interfaces.
-	* einfo.ads, sem_ch13.adb: Minor comment fixes.
-	* sem_attr.adb: Minor comment fix.
-
-2017-09-08  Doug Rupp  <rupp@adacore.com>
-
-	* sigtramp-vxworks.c [i386]: Adjust the kernel context for
-	x86-vx7.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Allocator): Generate a
-	call to Allocate_Any_Controlled when the allocation does not
-	require any initialization.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb (Copy_Node_With_Replacement):
-	Update the Renamed_Object field of a replicated object renaming
-	declaration.
-
-2017-09-08  Patrick Bernardi  <bernardi@adacore.com>
-
-	* exp_ch9.adb (Is_Pure_Barrier): Allow type
-	conversions and components of objects. Simplified the detection
-	of the Count attribute by identifying the corresponding run-time
-	calls.
-
-2017-09-08  Yannick Moy  <moy@adacore.com>
-
-	* exp_ch9.adb, exp_disp.adb, repinfo.adb, sem_ch12.adb, sem_dim.adb,
-	sem_type.adb, sinfo.ads: Minor reformatting.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Has_Incomplete_Compoent): New predicate, subsidiary
-	of Freeze_Profile, used to inhibit the freezing of the profile
-	of an expression function declared within a nested package, when
-	some type in the profile depends on a private type declared in
-	an enclosing package.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Do not set the Force_ALI_Tree_File flag in
-	the subunit case. It's still OK to set it in the "missing subunits"
-	case, because that won't cause the obsolete .ali files that cause
-	confusion.
-
-2017-09-08  Bob Duff  <duff@adacore.com>
-
-	* sinput-l.adb: Remove unused "with Unchecked_Conversion;". It's
-	unclear why this didn't cause a warning.
-	* a-uncdea.ads, a-unccon.ads: Add "Ada." to names in the
-	pragmas. It's unclear why this didn't cause an error.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_N_Object_Renaming_Declaration):
-	Reimplemented.
-	(Expand_SPARK_Potential_Renaming): Code clean up.
-	* sem_prag.adb (Analyze_Initialization_Item): Add a guard in case
-	the item does not have a proper entity.
-	(Analyze_Input_Item): Add a guard in case the item does not have a
-	proper entity.
-	(Collect_States_And_Objects): Include object renamings in the
-	items being collected.
-	(Resolve_State): Update the documentation of this routine.
-	* sem_util.adb (Entity_Of): Add circuitry to handle
-	renamings of function results.
-	(Remove_Entity): New routine.
-	(Remove_Overloaded_Entity): Take advantage of factorization.
-	* sem_util.ads (Entity_Of): Update the documentation
-	of this routine.
-	(Remove_Entity): New routine.
-	(Remove_Overloaded_Entity): Update the documentation of this
-	routine.
-
-2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* repinfo.adb (List_Record_Info): During first loop,
-	do not override the normalized position and first bit
-	if they have already been set.	Move fallback code
-	for the packed case to the case where it belongs.
-	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
-	Also adjust the normalized position of components.
-	(Adjust_Record_For_Reverse_Bit_Order_Ada_95): Likewise.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Make_DT, Set_All_DT_Position): Handle properly
-	the placement of a primitive operation O that renames an operation
-	R declared in an inner package, and which is thus not a primitive
-	of the dispatching type of O. In this case O is a new primitive
-	and does not inherit its dispatch table position from R (which
-	has none).
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_If_Expression,
-	Analyze_Dimension_Case_Expression): new subprograms to verify
-	the dimensional correctness of Ada2012 conditional expressions,
-	and set properly the dimensions of the construct.
-	* sem_res.adb (Resolve_If_Expression, Resolve_Case_Expression)):
-	call Analyze_Dimension.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_type.adb (Expand_Interface_Conversion): Prevent an infinite
-	loop on an interface declared as a private extension of another
-	synchronized interface.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Check_Generic_Parent): New procedure within
-	Analyze_Associations, to handle actual packages that depend on
-	previous instances.  If a package IAP that is an instantiation is
-	used as an actual in a subsequent instantiation SI in the same
-	scope, and IAP has a body, IAP must be frozen before SI. If
-	the generic parent of IAP is itself declared in a previous
-	instantiation in the same scope, that instantiation must also
-	be frozen before SI.
-	(Install_Body): Prevent double insertion of freeze node for
-	instance.
-
-2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Resolve_State): Update the
-	comment on documentation. Generate a reference to the state once
-	resolution takes place.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications, case
-	Linker_Section): If the aspect applies to an object declaration
-	with explicit initialization, do not delay the freezing of the
-	object, to prevent access-before-elaboration in the generated
-	initialization code.
-
-2017-09-08  Ed Schonberg  <schonberg@adacore.com>
-
-	* a-wtdeio.adb (Put, all versions): Use Long_Long_Integer
-	(Integer_Value (Item)) when the size of the fixed decimal type
-	is larger than Integer.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/82127
-	* gcc-interface/decl.c (copy_and_substitute_in_layout): Put the fields
-	in order of increasing position in more cases.
-
-2017-09-07  Yannick Moy  <moy@adacore.com>
-
-	* a-exetim-mingw.ads: Add contract Global=>null
-	on all operations that are modeled as having no read or write
-	of global variables in SPARK.
-
-2017-09-07  Raphael Amiard  <amiard@adacore.com>
-
-	* a-chtgop.adb, a-chtgop.ads (Generic_Iteration_With_Position): Added
-	to Hmaps.Generic_Ops.
-	* a-cohama.adb (Ada.Containers.Hmaps.Iterate): Pass proper position in
-	cursors.
-	* a-cihama.adb (Ada.Containers.Indefinite_Hmaps.Iterate): Pass pos in
-	cursors.
-	* a-cohase.adb (Ada.Containers.Hashed_Sets.Iterate): Pass proper
-	position in cursors.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* sem_elab.adb (Check_Task_Activation): Adding switch -gnatd.y to
-	allow disabling the generation of implicit pragma Elaborate_All
-	on task bodies.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* exp_disp.adb (Make_Tags): Avoid suffix counter
-	in the external name of the elaboration flag. Required to fix
-	the regressions introduced by the initial version of this patch.
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* sem_ch6.adb (Analyze_Function_Return): Do not
-	insert an explicit conversion to force the displacement of the
-	"this" pointer to reference the secondary dispatch table in the
-	case where the return statement is returning a raise expression,
-	as in "return raise ...".
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_disp.adb (Is_User_Defined_Equality): Removed procedure.
-	* sem_util.ads, sem_util.adb (Is_User_Defined_Equality): Copied
-	procedure from sem_disp.adb.
-	* sem_ch12.ads (Get_Unit_Instantiation_Node): rename Package
-	with Unit.
-	* sem_ch12.adb (Get_Unit_Instantiation_Node): function extended to
-	return the instantiation node for subprograms. Update references
-	to Get_Unit_Instantiation_Node.
-	* sem_ch7.adb (Install_Parent_Private_Declarations): update
-	reference to Get_Unit_Instantiation_Node.
-	* exp_dist.adb (Build_Package_Stubs): update reference to
-	Get_Unit_Instantiation_Node.
-	* sem_ch9.adb: minor typo in comment.
-	* lib-xref-spark_specific.adb
-	(Traverse_Declaration_Or_Statement): traverse into task type
-	definition.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_Type_Conversion): New procedure
-	to handle properly various cases of type conversions where the
-	target type and/or the expression carry dimension information.
-	(Dimension_System_Root); If a subtype carries dimension
-	information, obtain the source parent type that carries the
-	Dimension aspect.
-
-2017-09-07  Dmitriy Anisimkov  <anisimko@adacore.com>
-
-	* g-socket.adb, g-socket.ads (GNAT.Sockets.To_Ada): New routine.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained):
-	If the prefix is a reference to an object, rewrite it as an
-	explicit dereference, as required by 3.7.2 (2) and as is done
-	with most other attributes whose prefix is an access value.
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* par-ch13.adb: Set the Inside_Depends flag if we are inside a
-	Refined_Depends aspect.
-	* par-ch2.adb: Set the Inside_Depends flag if we are inside a
-	Refined_Depends pragma.
-	* scans.ads: Fix documentation of Inside_Depends flag.
-	* styleg.adb, styleg.ads: Minor reformatting and comment fixes.
-
-2017-09-07  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Insert_Actions_In_Scope_Around):
-	Account for the case where the are no lists to insert, but the
-	secondary stack still requires management.
-	* a-chtgop.adb, a-cihama.adb, a-cohama.adb, a-cohase.adb, a-tags.adb,
-	comperr.adb, einfo.adb, exp_aggr.adb, exp_ch3.adb, exp_disp.adb,
-	lib-xref.adb, lib-xref-spark_specific.adb, sem_ch12.adb, sem_ch13.adb,
-	sem_ch6.adb, sem_dim.adb, sem_dim.ads, sem_elab.adb, sem_prag.adb:
-	Minor reformatting.
-
-2017-09-07  Vincent Celier  <celier@adacore.com>
-
-	* clean.adb: Do not get the target parameters before calling
-	gprclean.
-
-2017-09-07  Nicolas Roche  <roche@adacore.com>
-
-	* s-osinte-solaris-posix.ads: Removed.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Collect_States_And_Objects): Detect also instances of
-	single concurrent objects.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* s-regexp.ads: Fix documentation of the globbing grammar.
-
-2017-09-07  Gary Dismukes  <dismukes@adacore.com>
-
-	* a-tags.ads, einfo.ads, exp_disp.ads: Minor reformatting.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Enable pragma Ignore_Pragma (Global)
-	in CodePeer mode, to support more legacy code automatically.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Replace_Formals): If thr formal is classwide,
-	and thus not a controlling argument, preserve its type after
-	rewriting because it may appear in an nested call with a classwide
-	parameter.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* comperr.adb (Delete_SCIL_Files): Handle case of
-	N_Package_Instantiation.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch10.adb (Remove_Private_With_Clause): If a private with
-	clause for a unit U appears in a context that includes a regular
-	with_clause on U, rewrite the redundant private clause into a null
-	statement, rather than removing it altogether from the context,
-	so that ASIS tools can reconstruct the original source.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Check_Aspect_At_Freeze_Point): The expression
-	for aspect Small can be of any real type (not only a universal
-	real literal) as long as it is a static constant.
-
-2017-09-07  Thomas Quinot  <quinot@adacore.com>
-
-	* par_sco.adb: Minor reformatting.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* s-parame-ae653.ads: Removed.
-
-2017-09-07  Nicolas Roche  <roche@adacore.com>
-
-	* s-traces-default.adb, s-trafor-default.adb, s-trafor-default.ads,
-	s-traces.adb, s-traces.ads, s-tratas-default.adb, s-tfsetr-default.adb,
-	s-tfsetr-vxworks.adb, s-tratas.adb, s-tratas.ads, s-tasuti.adb,
-	s-parame-hpux.ads, s-tassta.adb, s-taasde.adb, s-tasren.adb,
-	s-taprob.adb, a-caldel.adb, s-parame.ads, Makefile.rtl, s-tpobop.adb,
-	s-taenca.adb, s-parame-vxworks.ads: Remove support for System.Traces.
-
-2017-09-07  Yannick Moy  <moy@adacore.com>
-
-	* a-ngelfu.ads Add preconditions to all functions
-	listed in Ada RM A.5.1(19-33) as having constraints on inputs.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-xref.adb (Generate_Reference): ignore
-	references to entities which are Part_Of single concurrent
-	objects.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Hide_Public_Entities): Add paragraph to main
-	comment.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-taside.adb (Activation_Is_Complete): Raise Program_Error if
-	Null_Task_Id is passed.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.ads, einfo.adb (Access_Disp_Table_Elab_Flag): New
-	attribute. Defined for record types and subtypes.
-	* exp_ch3.ads (Init_Secondary_Tags): Adding new formal
-	(Init_Tags_List) to facilitate generating separate code in the
-	IP routine to initialize the object components and for completing
-	the elaboration of dispatch tables.
-	* exp_ch3.adb (Build_Init_Procedure): Improve the code
-	generated in the IP routines by means of keeping separate
-	the initialization of the object components from the
-	initialization of its dispatch tables.	(Init_Secondary_Tags):
-	Adding new formal (Init_Tags_List) and adjusting calls to
-	Ada.Tags.Set_Dynamic_Offset_To_Top since it has a new formal;
-	adjusting also calls to Ada.Tags.Register_Interface_Offset
-	because the type of one of its formals has been changed.
-	* a-tags.ads, a-tags.adb (Register_Interface_Offset): Profile
-	modified. Instead of receiving a pointer to an object this
-	routine receives now a primary tag.
-	(Set_Dyanic_Offset_To_Top): Profile modified. This routine receives an
-	additional formal: the tag of the primary dispatch table.
-	* exp_disp.ads (Elab_Flag_Needed): New subprogram.
-	* exp_disp.adb (Elab_Flag_Needed): New subprogram.
-	(Make_Tags): Adding the declaration of the elaboration flag (if needed).
-	* exp_aggr.adb (Build_Record_Aggr_Code): Adding actual of new
-	formal in calls to Init_Secondary_Tags.
-
-2017-09-07  Javier Miranda  <miranda@adacore.com>
-
-	* ghost.adb (Mark_And_Set_Ghost_Instantiation.Check_Ghost_Actuals): New
-	subprogram.
-	* sem_prag.adb (Pragma_Ghost): Add missing support for ghost
-	applied to generic subprograms.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Check_Part_Of_Reference): rename Conc_Typ to Conc_Obj
-	(because it refers to the anonymous concurrent object, not its type);
-	fix condition for emitting error message about task/protected type,
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Debug_Flag_Old): If both -do and -dp
-	are specified, behave as if just -do was specified, rather than
-	using a mixture.
-
-2017-09-07  Nicolas Roche  <roche@adacore.com>
-
-	* system-vxworks-sparcv9.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
-	system-vxworks-m68k.ads, system-vxworks-mips.ads: Removed.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Find_Role): The Global_Seen flag
-	is now consulted not only for abstract states and variables,
-	but for all kinds of items.
-	(Collect_Subprogram_Inputs_Outputs): Do not process formal
-	generic parameters, because unlike ordinary formal parameters,
-	generic formals only act as input/ outputs if they are explicitly
-	mentioned in a Global contract.
-
-2017-09-07  Yannick Moy  <moy@adacore.com>
-
-	* ghost.adb (Check_Ghost_Context): Do not err on ghost code inside
-	predicate procedure. Check predicate pragma/aspect with Ghost entity.
-	* exp_ch6.adb, par-ch6.adb, sem_ch13.adb, sem_prag.adb; Minor
-	reformatting.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb: Move New_Copy_Tree_And_Dimensions to sem_dim
-	(code cleanup);
-	* sem_ch3.adb (Build_Derived_Record_Type):i Call
-	Copy_Dimensions_Of_Components after creating the copy of the
-	record declaration.
-	* sem_dim.ads, sem_dim.adb (Copy_Dimensions_Of_Components): For a
-	derived recor type, copy the dikensions if any of each component
-	of the parent record to the corresponding component declarations
-	of the derived record. These expressions are used among other
-	things as default values in aggregates with box associations.
-	* a-dirval-mingw.adb, g-cgi.adb, gnatcmd.adb, lib-xref.adb,
-	repinfo.adb, sem_attr.adb, sem_ch10.adb, sem_ch6.adb, sem_prag.adb:
-	Minor reformatting.
-
-2017-09-07  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb: Remove extra space after THEN.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Has_Referencer): For a subprogram renaming,
-	also mark the renamed subprogram as referenced.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* par-ch6.adb (P_Subprogram): Improve error message on null
-	procedure with misplaced aspect specification, which the parser
-	first attempts to interpret as a malformed expression function.
-
-2017-09-07  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute_Old_Result):
-	Allow attributes Result and Old in the case of an expression
-	function.
-
-2017-09-07  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Propagate
-	Volatile to subcomponents.
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* exp_ch7.adb (Find_Last_Init): Check for the
-	case where a build-in-place function call has been replaced by a
-	'Reference attribute reference.
-
-2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Has_Referencer): Recurse on Actions of freeze
-	nodes.
-
-2017-09-07  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration,
-	Make_Build_In_Place_Call_In_Anonymous_Context): Do not use the
-	secondary stack for all functions that return limited tagged
-	types -- just do it for dispatching calls.  Misc cleanup.
-	* sem_util.ads, sem_util.adb (Unqual_Conv): New function to
-	remove qualifications and type conversions. Fix various bugs
-	where only a single level of qualification or conversion was
-	removed, so e.g. "T1'(T2'(X))" would incorrectly return "T2'(X)"
-	instead of "X".
-	* checks.adb, exp_util.ads, exp_util.adb, sem_res.adb: Misc related
-	cleanup.
-
-2017-09-07  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (setr_Actual_Subtypes): Within a predicate function
-	do not create actual subtypes that may generate further predicate
-	functions.
-	* sem_ch13.adb (Build_Predicate_Functions): Indicate that entity
-	of body is a predicate function as well.
-	(Resolve_Aspect_Expressions, Resolve_Name): For a component
-	association, only the expression needs resolution, not the name.
-	(Resolve_Aspect_Expressions, case Predicates): Construct and
-	analyze the predicate function declaration in the scope of the
-	type, before making the type and its discriminants visible.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (warn_on_field_placement): Issue the warning
-	only if the record type itself comes from source.
-
-2017-09-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch5.adb: Minor reformatting and a typo fix
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sinput-l.ads: minor remove extra period at the end of comment
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Add_Item_To_Name_Buffer): remove support for
-	E_Discriminant.
-	(Find_Role): remove support for E_Discriminant.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Expand_Simple_Function_Return):
-	Add missing implicit type conversion to force displacement of the
-	"this" pointer.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, sem_aux.adb, sem_res.adb: Minor reformatting.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch12.adb (Analyze_Instance_And_Renamings): Refactor to set
-	global variable Ignore_SPARK_Mode_Pragmas_In_Instance only once.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_ch8.adb: Change Assert to be consistent with
-	other similar ones.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Find_Elab_Order): Do not run Elab_Old unless
-	requested. Previously, the -do switch meant "run Elab_New and
-	Elab_Old and use the order chosen by Elab_Old, possibly with
-	debugging printouts comparing the two orders."	Now it means
-	"do not run Elab_New." This is of use if there are bugs that
-	cause Elab_New to crash.
-	(Elab_Position, Num_Chosen): Change type to Nat, to avoid various
-	type conversions.
-	* ali.ads (Elab_Position): Change type to Nat, to avoid various
-	type conversions.
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Fix
-	reference to SPARK RM.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* layout.adb: Use SSU short hand consistently throughout the file.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Freeze_Record_Type)
-	<Sized_Component_Total_Round_RM_Size>: New local variable to
-	accumulate the rounded RM_Size of components.  Update it for
-	every component whose RM_Size is statically known.  Add missing
-	guard to check that bit packing is really required before issuing
-	the error about packing.  Swap condition for clarity's sake.
-	* sem_prag.adb (Usage_Error): Fix reference to SPARK RM in comment.
-
-2017-09-06  Fedor Rybin  <frybin@adacore.com>
-
-	* makeutl.adb, makeutl.ads, mlib.adb, mlib.ads, mlib-fil.adb,
-	mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads,
-	mlib-tgt-specific.adb, mlib-tgt-specific.ads,
-	mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
-	mlib-tgt-specific-hpux.adb, mlib-tgt-specific-linux.adb,
-	mlib-tgt-specific-mingw.adb, mlib-tgt-specific-solaris.adb,
-	mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb, mlib-utl.adb,
-	mlib-utl.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
-	prj-attr-pm.adb, prj-attr-pm.ads, prj-com.ads, prj-conf.adb,
-	prj-conf.ads, prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
-	prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb,
-	prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
-	prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb,
-	prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
-	prj-util.adb, prj-util.ads, sinput-p.adb, sinput-p.ads: Remove obsolete
-	project manager sources.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Assigment): If the left-hand side is an
-	entity of a mutable type and the right-hand side is a conditional
-	expression, resolve the alternatives of the conditional using
-	the base type of the target entity, because the alternatives
-	may have distinct subtypes. This is particularly relevant if
-	the alternatives are aggregates.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* checks.adb (Apply_Predicate_Check): If the expression is an
-	aggregate that is the RHS of an assignment, apply the check to
-	the LHS after the assignment, rather than to the aggregate. This
-	is more efficient than creating a temporary for the aggregate,
-	and prevents back-end crashes when the aggregate includes a
-	dynamic "others' association.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch12.adb (Analyze_Instance_And_Renamings):
-	Set variable to ignore SPARK_Mode in instance before the analysis
-	of the generated package declaration.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Do not issue a
-	message for calls inside expression function, unless body was
-	seen and is candidate for inlining.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aux.adb (Is_Generic_Formal): Handle properly formal packages.
-	* sem_ch3.adb (Analyze_Declarations): In a generic subprogram
-	body. do not freeze the formals of the generic unit.
-
-2017-09-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* errout.adb (Error_Msg): Separate the
-	treatment for warning vs. style messages in inlinings and
-	instantiations. Prevents blowups on calls to Warn_Insertion for
-	style messages, which should not be called in that case because
-	Warning_Msg_Char is not set.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Check_VFA_Conflicts): Created
-	to group all Volatile_Full_Access checks relating to other
-	representation pragmas (Mark_Component_Or_Object): Created
-	to centeralize the flagging of attributes for the record type
-	component case, a pragma applied individually to a component, and
-	the object case.
-	(Process_Atomic_Independent_Shared_Volatile):
-	Add propagation of certain pragmas to record components and move
-	evaluation of VFA checks
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram):
-	Do not warn on conditions that are not obeyed for Inline_Always
-	subprograms, when assertions are not enabled.
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Unique_Entity): For abstract states return their
-	non-limited view.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_ch12.adb (Copy_Generic_Node): When we copy a node
-	that is a proper body corresponding to a stub, we defer the
-	adjustment of the sloc until after the correct adjustment has
-	been computed. Otherwise, Adjust_Instantiation_Sloc will ignore
-	the adjustment, because it will be outside the range in (the old,
-	incorrect) S_Adjustment.
-	* inline.adb: Use named notation for readability and uniformity.
-	* sinput-l.adb: Minor improvements to debugging output printed
-	for Debug_Flag_L.
-	* sinput-l.ads (Create_Instantiation_Source): Minor comment
-	correction.
-
-2017-09-06  Vincent Celier  <celier@adacore.com>
-
-	* make.adb: Do not invoke gprbuild for -bargs -P.
-
-2017-09-06  Sylvain Dailler  <dailler@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Adding a
-	case when Op is of kind N_Qualified_Expression. In this case,
-	the function is called recursively on the subexpression like in
-	other cases.
-	* make.adb: Minor reformatting
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* einfo.adb (Set_Linker_Section_Pragma): Modify
-	Set_Linker_Section_Pragma to be consistant with the "getter"
-	Linker_Section_Pragma.
-	* exp_ch5.adb (Expand_Formal_Container_Loop): Add proper error
-	checking for container loops so that the index cursor is not
-	directly changable by the user with the use of E_Loop_Parameter.
-	* sem_ch5.adb (Analyze_Block_Statement): Revert previous change.
-	* sem_warn.adb (Check_References): Revert previous change.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* exp_util.adb (Is_Displace_Call): Make sure it works for indirect
-	calls and the like.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Depends_Global): Reinforce test on object
-	declarations to only consider valid uses of Global/Depends those on
-	single concurrent objects.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch13.adb (Check_Record_Representation_Clause): Give an
-	error as soon as one of the specified components overlaps the
-	parent field.
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.ads: minor fix typo in comment.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch5.adb (Analyze_Block_Statement): Verify a block comes
-	from source before checking source references.
-	* sem_warn.adb (Check_References): Add check for internal block
-	before recursing.
-
-2017-09-06  Vincent Celier  <celier@adacore.com>
-
-	* make.adb, makeusg.adb, switch-m.adb, switch-m.ads, make_util.adb,
-	make_util.ads, sinput.adb, sinput.ads, clean.adb, gnatls.adb,
-	gnatname.adb: Remove the Project Manager from the GNAT tools.
-	* gcc-interface/Makefile.in: ditto.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_util.ads: Minor comment fix.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations, case of Formal_Package):
-	Generate a freeze node for the actual of a formal package, if
-	the actual is declared in the same unit and has a corresponding
-	body, to prevent the current instance from being frozen before
-	the actual is.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Entity_Table_Size): Change to nearest prime number.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_warn.adb: Minor refactoring.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.ads, einfo.adb (Get_Classwwide_Pragma): New utility,
-	to retrieve the inherited classwide precondition/postcondition
-	of a subprogram.
-	* freeze.adb (Freeze_Entity): Use Get_Classwide_Pragma when
-	freezing a subprogram, to complete the generation of the
-	corresponding checking code.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Is_Controlled_Indexing): New routine.
-	(Is_Displace_Call): Use routine Strip to remove indirections.
-	(Is_Displacement_Of_Object_Or_Function_Result): Code clean up. Add a
-	missing case of controlled generalized indexing.
-	(Is_Source_Object): Use routine Strip to remove indirections.
-	(Strip): New routine.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sysdep.c (__gnat_has_cap_sys_nice): If HAVE_CAPABILITY is defined,
-	we include the proper header. Otherwise, we just declare the necessary
-	things from the capabilities library. This is so we can build on
-	machines without that library, while still enabling that library.
-	At run time, we're using weak symbols, so __gnat_has_cap_sys_nice will
-	simply return 0 if the library is not present, or not included
-	in the link.
-
-2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_dbug.adb (Debug_Renaming_Declaration): Do not create an encoding
-	for renamings that involve function calls in prefix form.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_ch3.adb (Analyze_Subtype_Declaration):
-	Set Has_Delayed_Freeze on a subtype of an incomplete type.
-
-2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* par_sco.adb (Extend_Statement_Sequence): When the accept statement
-	has no parameter specification and no entry index, use the entry name
-	as the end of the generated SCO statement.
-
-2017-09-06  Steve Baird  <baird@adacore.com>
-
-	* exp_util.adb (Side_Effect_Free): For CodePeer (only) treat
-	uses of 'Image and related attributes as having side effects in
-	order to avoid replicating such uses.
-	* pprint.ads (Expression_Image) Add new generic formal flag
-	Hide_Temp_Derefs.  The flag defaults to False; CodePeer will
-	(eventually) override the default.
-	* pprint.adb (Expression_Image) If the new flag is set, then
-	suppress the ".all" suffix when displaying a dereference whose
-	prefix is a use of a value-capturing compiler temp of the sort
-	generated by Expr_Util.Remove_Side_Effects .
-	* exp_attr.adb, g-catiio.adb, inline.adb, sem_attr.adb, sem_ch13.adb,
-	sem_ch7.adb, sem_dim.adb, sem_util.adb, sem_util.ads, sem_warn.adb:
-	Minor reformatting.
-	* inline.adb: Minor wording change.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb: Update comment.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* einfo.adb, einfo.ads (Is_Subprogram_Or_Entry): New predicate.
-	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Use new function.
-	* sem_util.adb, sem_util.ads (Within_Protected_Type): Renaming
-	with slight modification from Is_Subp_Or_Entry_Inside_Protected,
-	so that applies to any entity.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch3.adb (Derived_Type_Declaration): Use
-	Incomplete_Or_Partial_View rather than local Find_Partial_View.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* g-catiio.ads, g-catiio.adb (Value): Extended to parse an UTC time
-	following ISO-8861.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension): In an instance, a type
-	conversion takes its dimensions from the expression, not from
-	the context type.
-	(Dimensions_Of_Operand): Ditto.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Do not optimize calls to
-	null procedures when GNAT coverage is used, so that their (empty)
-	bodies are properly covered.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_ch13.adb (Resolve_Aspect_Expressions): If
-	the entity is a type with discriminants, make the discriminants
-	directly visible in aspect clauses.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Arithmentic_Op): If both operands are
-	Universal_Real and the context is a floating-point type, resolve
-	both operands to the target type.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* a-comlin.adb, exp_aggr.adb, exp_ch6.adb, frontend.adb, gnatbind.adb,
-	sem_ch3.adb, sem_util.adb: Minor reformatting.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* freeze.adb (Check_Inherited_Conditions): Rewriting
-	of inherited preconditions and postconditions should only occur
-	in GNATprove mode, that is, when GNATprove_Mode is True, not to
-	be confused with SPARK_Mode being On.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_warn.adb (Check_References): Take into
-	account possibility of attribute reference as original node.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference): Protect against invalid
-	use of attribute.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* inline.adb (Split_Unconstrained_Function): Also set Is_Inlined
-	on the procedure created to encapsulate the body.
-	* sem_ch7.adb: Add with clause for GNAT.HTable.
-	(Entity_Table_Size): New constant.
-	(Entity_Hash): New function.
-	(Subprogram_Table): New instantiation of GNAT.Htable.Simple_HTable.
-	(Is_Subprogram_Ref): Rename into...
-	(Scan_Subprogram_Ref): ...this. Record references to subprograms in
-	the table instead of bailing out on them. Scan the value of constants
-	if it is not known at compile time.
-	(Contains_Subprograms_Refs): Rename into...
-	(Scan_Subprogram_Refs): ...this.
-	(Has_Referencer): Scan the body of all inlined subprograms. Reset the
-	Is_Public flag on subprograms if they are not actually referenced.
-	(Hide_Public_Entities): Beef up comment on the algorithm.
-	Reset the table of subprograms on entry.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb: Add comments to Can_Be_Inlined_In_GNATprove_Mode.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Component_Not_OK_For_Backend): The C backend
-	cannot handle a type conversion of an array as an aggregate
-	component.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* g-comlin.adb (Try_Help): Remove ".exe" so we
-	get the same results on windows and unix.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* exp_imgv.adb (Expand_Image_Attribute),
-	(Expand_Wide_Image_Attribute), (Expand_Wide_Wide_Image_Attribute):
-	Added case to handle new-style 'Image expansion
-	(Rewrite_Object_Image): Moved from exp_attr.adb
-	* exp_attr.adb (Expand_N_Attribute_Reference): Modified Image
-	attribute cases so that the relevant subprograms in exp_imgv.adb
-	handle all expansion.
-	(Rewrite_Object_Reference_Image): Moved to exp_imgv.adb
-	* sem_attr.adb (Analyze_Attribute): Modified Image attribute
-	cases to call common function Analyze_Image_Attribute.
-	(Analyze_Image_Attribute): Created as a common path for all
-	image attributes (Check_Object_Reference_Image): Removed
-	* sem_util.ads, sem_util.adb (Is_Image_Applied_To_Object):
-	Removed and refactored into Is_Object_Image (Is_Object_Image):
-	Created as a replacement for Is_Image_Applied_To_Object
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Add continuation
-	message for missing input.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Prevent inlining
-	of protected subprograms and entries.
-	* sem_util.adb, sem_util.ads (Is_Subp_Or_Entry_Inside_Protected):
-	New function to detect when a subprogram of entry is defined
-	inside a protected object.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sysdep.c (__gnat_has_cap_sys_nice): New function to determine
-	whether the current process has the CAP_SYS_NICE capability.
-	* s-taprop-linux.adb (Get_Ceiling_Support): Update this to allow
-	ceiling priorities if the current process has the CAP_SYS_NICE
-	capability.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* a-comlin.ads, a-comlin.adb (Argument): Move the constraint
-	check back to the body, because SPARK is not yet ready for
-	"or else raise Constraint_Error".
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): Replace call to null
-	procedure by a single null statement, after evaluating the
-	actuals that require it.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Backend_Processing_Possible.Component_Check):
-	Generating C code improve the code that checks the use of nested
-	aggregates to initialize object declarations.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch3.adb (Derived_Type_Declaration): Detect
-	violations of new rule SPARK RM 3.4(1).  Also refactor existing
-	check to use the new function Find_Partial_View.
-
-2017-09-06  Vincent Celier  <celier@adacore.com>
-
-	* gnatcmd.adb: gnat ls -V -P... invokes gprls -V -P...	The code
-	from the Prj hierarchy has been removed from the GNAT driver.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_type.adb (Interface_Present_In_Ancestor): Within an
-	expression function, or within a spec expression (default value,
-	etc) a reference to an incomplete type is legal: legality of
-	the operation will be checked when some related entity (type,
-	object or subprogram) is frozen.
-
-2017-09-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch5.adb, s-diinio.ads, sem_ch4.adb, s-diflio.ads: Minor spelling
-	adjustments and a typo fix.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Do not issue info
-	message about inlining of calls to functions in assertions,
-	for functions whose body has not been seen yet.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* a-comlin.ads, a-comlin.adb (Argument): Simplify the code, now that
-	we can use modern Ada in this package.
-	* s-resfil.ads, s-resfil.adb, a-clrefi.ads, a-clrefi.adb:
-	Move Ada.Command_Line.Response_File to System.Response_File,
-	and make Ada.Command_Line.Response_File into a rename of
-	System.Response_File. This is to avoid having gnatbind depend
-	Ada.Command_Line, which would damage the bootstrap process now
-	that Ada.Command_Line contains modern Ada (the raise expression).
-	* gnatbind.adb: Avoid dependence on
-	Ada.Command_Line. Depend on System.Response_File instead
-	of Ada.Command_Line.Response_File. Change one call to
-	Ada.Command_Line.Command_Name to use Fill_Arg.	Change one call
-	to Ada.Command_Line.Argument_Count to use Arg_Count.
-	* gcc-interface/Make-lang.in, Makefile.rtl: Take note of the new files.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* frontend.adb (Frontend): Skip -gnatec=gnat.adc
-	switch, because we've already read gnat.adc by default.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* exp_ch5.adb (Get_Default_Iterator): Replace
-	"Assert(False)" with "return Iter", because if an iterable
-	type is derived from a noniterable one, then we won't find an
-	overriding or inherited default iterator.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_warn.adb (Warn_On_Suspicious_Index): Improve warning when the
-	literal index used to access a string is null or negative.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb (Status_Flag_Or_Transient_Decl): The attribute is now
-	allowed on loop parameters.
-	(Set_Status_Flag_Or_Transient_Decl): The attribute is now allowed
-	on loop parameters.
-	(Write_Field15_Name): Update the output for
-	Status_Flag_Or_Transient_Decl.
-	* einfo.ads: Attribute Status_Flag_Or_Transient_Decl now applies
-	to loop parameters. Update the documentation of the attribute
-	and the E_Loop_Parameter entity.
-	* exp_ch7.adb (Process_Declarations): Remove the bogus guard
-	which assumes that cursors can never be controlled.
-	* exp_util.adb (Requires_Cleanup_Actions): Remove the bogus
-	guard which assumes that cursors can never be controlled.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb, sem_util.adb, sem_attr.adb, sem_ch6.adb, sem_ch8.adb,
-	sem_warn.adb: Minor reformatting.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_warn.adb (Warn_On_Overlapping_Actuals): Refine previous
-	fix and preserve older GNAT warning on overlapping actuals that
-	are not elementary types.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_attr.adb: Comment correction.
-
-2017-09-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.adb: Minor reformatting.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* a-comlin.ads (Argument): Add precondition for analysis.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve): Update message for function call as statement.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Check_Returns): Clean up warnings coming from
-	generated bodies for renamings that are completions, when renamed
-	procedure is No_Return.
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality
-	rule in 6.5.1 (7/2): if a renaming is a completion of a subprogram
-	with No_Return, the renamed entity must be No_Return as well.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, freeze.adb, exp_ch4.adb, exp_ch6.adb, lib-xref.adb:
-	Minor reformatting.
-
-2017-09-06  Justin Squirek  <squirek@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference): Modified Image
-	attribute cases (Rewrite_Object_Reference_Image): Created to
-	aid the rewriting of new-style 'Image attributes.
-	* sem_attr.adb (Analyze_Attribute): Modified Image attribute cases
-	(Check_Object_Reference_Image): Created to handle verification of
-	'Image with object-references as prefixes.
-	* sem_util.ads, sem_util.adb (Is_Image_Applied_To_Object):
-	Create predicate to identify cases where an 'Image attribute's
-	prefix applies to an object reference.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Freeze_Entity): Do not generate a freeze
-	node for a generic unit, even if it includes delayed aspect
-	specifications. Freeze nodes for generic entities must never
-	appear in the tree that reaches the back-end of the compiler.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* treepr.adb (Print_Entity_Info): Do not print empty Elist.
-
-2017-09-06  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not consider calls
-	to subprograms in other units as possibly inlined.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Freeze_Entity): For a derived type that has no
-	explicit delayed aspects but may inherit delayed aspects from its
-	parent type, analyze aspect at freeze point for proper capture
-	of an inherited aspect.
-
-2017-09-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* lib-xref.adb (Get_Through_Renamings): Get through subprogram
-	renamings; also, avoid repeated calls to Renamed_Object when getting
-	through object renamings.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Array_Type_Declaration): Handle properly an
-	array type declaration in a private part, when an index is a
-	subtype indication of a discrete type with a private partial view.
-
-2017-09-06  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch4.adb (Expand_Modular_Op): Force generating
-	temporary to improve the generated code.
-
-2017-09-06  Tristan Gingold  <gingold@adacore.com>
-
-	* s-fatgen.adb: Minor typo fix in comment.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Make_Field_Assign): If the type
-	of the right-hand side has stored constraint, use its values
-	(except for those that are renamings of parent discriminants)
-	to produce additional assignments for the discriminants of the
-	left-hand side, which are invisible in the righ-hand side and
-	not retrievable as selected components.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Needs_One_Formal): The first formal of such a
-	function must be a controlling formal, so that Obj.F (X, Y)
-	can have the interpretation F(Obj)(X, Y).
-	* sem_util.ads: Clarify documentation.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* table.ads, table.adb: Restore original implementation.
-	* namet.h (Names_Ptr): Adjust back.
-	(Name_Chars_Ptr): Likewise.
-	* uintp.h (Uints_Ptr): Likewise.
-	(Udigits_Ptr): Likewise.
-	* g-table.ads: Remove pragma Compiler_Unit_Warning.
-	* par_sco.adb: Do not with GNAT.Table and use Table consistently.
-	* scos.ads: Replace GNAT.Table with Table and adjust instantiations.
-	* spark_xrefs.ads: Likewise.
-	* scos.h: Undo latest changes.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Propagate
-	No_Return flag to instance if pragma applies to generic unit. This
-	must be done explicitly because the pragma does not appear
-	directly in the generic declaration (unlike the corresponding
-	aspect specification).
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Has_Referencer): Move up and expand comment
-	explaining the test used to detect inlining.  Use same test
-	in second occurrence.
-	(Analyze_Package_Body_Helper): Minor formatting fixes.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Handle_Changed_Representation): For an untagged
-	derived type with a mixture of renamed and constrained parent
-	discriminants, the constraint for the target must obtain the
-	discriminant values from both the operand and from the stored
-	constraint for it, given that the constrained discriminants are
-	not visible in the object.
-	* exp_ch5.adb (Make_Field_Assign): The type of the right-hand
-	side may be derived from that of the left-hand side (as in the
-	case of an assignment with a change of representation) so the
-	discriminant to be used in the retrieval of the value of the
-	component must be the entity in the type of the right-hand side.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, sem_ch7.adb, sem_util.adb, g-debpoo.adb, sem_ch4.adb,
-	sem_ch6.adb, sem_ch8.adb: Minor reformatting.
-	* exp_util.adb (Is_Source_Object): Account for
-	the cases where the source object may appear as a dereference
-	or within a type conversion.
-	* exp_ch6.adb: Fix missing space in error message.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb: Update description of Eliminate.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Loop_Entry): Handle
-	properly an attribute reference 'Loop_Entry that appears in the
-	list of indices of an indexed expression, to prevent an infinite
-	loop in the compiler.
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* s-fileio.adb (Name): Do not raise Use_Error for temp files.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Set_Membership):  If an alternative
-	in a set membership is an overloaded enumeration literal, and
-	the type of the alternative is resolved from a previous one,
-	replace the entity of the alternative as well as the type,
-	to prevent inconsistencies between the entity and the type.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* ali.ads (ALIs_Record): Add No_Component_Reordering component.
-	(No_Component_Reordering_Specified): New switch.
-	* ali.adb (Initialize_ALI): Set No_Component_Reordering_Specified.
-	(Scan_ALI): Set No_Component_Reordering and deal with NC marker.
-	* bcheck.adb (Check_Consistent_No_Component_Reordering):
-	New check.
-	(Check_Configuration_Consistency): Invoke it.
-	* debug.adb (d.r): Toggle the effect of the switch.
-	(d.v): Change to no-op.
-	* einfo.ads (Has_Complex_Representation):
-	Restrict to record types.
-	(No_Reordering): New alias for Flag239.
-	(OK_To_Reorder_Components): Delete.
-	(No_Reordering): Declare.
-	(Set_No_Reordering): Likewise.
-	(OK_To_Reorder_Components): Delete.
-	(Set_OK_To_Reorder_Components): Likewise.
-	* einfo.adb (Has_Complex_Representation): Expect record types.
-	(No_Reordering): New function.
-	(OK_To_Reorder_Components): Delete.
-	(Set_Has_Complex_Representation): Expect base record types.
-	(Set_No_Reordering): New procedure.
-	(Set_OK_To_Reorder_Components): Delete.
-	(Write_Entity_Flags): Adjust to above change.
-	* fe.h (Debug_Flag_Dot_R): New macro and declaration.
-	* freeze.adb (Freeze_Record_Type): Remove conditional code setting
-	OK_To_Reorder_Components on record types with convention Ada.
-	* lib-writ.adb (Write_ALI): Deal with NC marker.
-	* opt.ads (No_Component_Reordering): New flag.
-	(No_Component_Reordering_Config): Likewise.
-	(Config_Switches_Type): Add No_Component_Reordering component.
-	* opt.adb (Register_Opt_Config_Switches): Copy
-	No_Component_Reordering onto No_Component_Reordering_Config.
-	(Restore_Opt_Config_Switches): Restore No_Component_Reordering.
-	(Save_Opt_Config_Switches): Save No_Component_Reordering.
-	(Set_Opt_Config_Switches): Set No_Component_Reordering.
-	* par-prag.adb (Prag): Deal with Pragma_No_Component_Reordering.
-	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Also set the
-	No_Reordering flag from the default.
-	(Build_Derived_Private_Type): Likewise.
-	(Build_Derived_Record_Type): Likewise.	Then inherit it
-	for untagged types and clean up handling of similar flags.
-	(Record_Type_Declaration): Likewise.
-	* sem_ch13.adb (Same_Representation): Deal with No_Reordering and
-	remove redundant test on Is_Tagged_Type.
-	* sem_prag.adb (Analyze_Pragma): Handle No_Component_Reordering.
-	(Sig_Flags): Likewise.
-	* snames.ads-tmpl (Name_No_Component_Reordering): New name.
-	(Pragma_Id): Add Pragma_No_Component_Reordering value.
-	* warnsw.adb (Set_GNAT_Mode_Warnings): Enable -gnatw.q as well.
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>:
-	Copy the layout of the parent type only if the No_Reordering
-	settings match.
-	(components_to_record): Reorder record types with
-	convention Ada by default unless No_Reordering is set or -gnatd.r
-	is specified and do not warn if No_Reordering is set in GNAT mode.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Check_Previous_Null_Procedure):
-	new predicate to reject declarations that can be completions,
-	when there is a visible prior homograph that is a null procedure.
-	* sem_ch6.adb (Analyze_Null_Procedure): use it.
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): ditto.
-
-2017-09-06  Thomas Quinot  <quinot@adacore.com>
-
-	* s-regpat.adb (Compile.Parse_Literal): Fix handling of literal
-	run of 253 characters or more.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.adb (Designated_Type): Use Is_Incomplete_Type to handle
-	properly incomplete subtypes that may be created by explicit or
-	implicit declarations.
-	(Is_Base_Type): Take E_Incomplete_Subtype into account.
-	(Subtype_Kind): Ditto.
-	* sem_ch3.adb (Build_Discriminated_Subtype): Set properly the
-	Ekind of a subtype of a discriminated incomplete type.
-	(Fixup_Bad_Constraint): Use Subtype_Kind in all cases, including
-	incomplete types, to preserve error reporting.
-	(Process_Incomplete_Dependents): Do not create a subtype
-	declaration for an incomplete subtype that is created internally.
-	* sem_ch7.adb (Analyze_Package_Specification): Handle properly
-	incomplete subtypes that do not require a completion, either
-	because they are limited views, of they are generic actuals.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Remove the
-	suspicious manipulation of the Do_Range_Check flag as ths is
-	no linger needed. Suppress validity check when analysing the
-	validation variable.
-
-2017-09-06  Philippe Gil  <gil@adacore.com>
-
-	* g-debpoo.adb: adapt GNAT.Debug_Pools to allow safe thread
-	GNATCOLL.Memory
-
-2017-09-06  Bob Duff  <duff@adacore.com>
-
-	* sem_elim.adb: Minor comment fix.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Is_Object_Reference): A function call is an
-	object reference, and thus attribute references for attributes
-	that are functions (such as Pred and Succ) as well as predefined
-	operators are legal in contexts that require an object, such as
-	the prefix of attribute Img and the Ada2020 version of 'Image.
-
-2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, einfo.adb, sem_attr.adb, exp_ch4.adb, gnatls.adb,
-	exp_ch3.adb, xoscons.adb: Minor reformatting.
-
-2017-09-06  Raphael Amiard  <amiard@adacore.com>
-
-	* a-chtgop.ads, a-chtgop.adb: Add versions of First and Next with
-	Position parameter. If supplied, use it to provide efficient iteration.
-	* a-cohase.ads, a-cohase.adb, a-cihama.ads, a-cihama.adb,
-	a-cohama.ads, a-cohama.adb: Add/Use Position to provide efficient
-	iteration.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Build_Allocate_Deallocate_Proc): If the
-	designated type is class-wide and the expression is an unchecked
-	conversion, preserve the conversion when checking the tag of the
-	designated object, to prevent spurious semantic errors when the
-	expression in the conversion has an untagged type (for example
-	an address attribute).
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Entry_Call): Check whether a protected
-	operation is subject to a pragma Eliminate.
-
-2017-09-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_elim.ads, exp_ch4.adb: Minor reformatting.
-
-2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* fe.h (Eliminate_Error_Msg): Remove.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gcc-interface/utils.c (make_packable_type): Update call to
-	mode_for_size_tree.
-
-2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* gcc-interface/utils2.c (build_load_modify_store):
-	Use int_mode_for_size.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/62235
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
-	for Itypes that are E_Record_Subtype with a cloned subtype.
-	<E_Record_Subtype>: Use the DECL of the cloned type directly, if any.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (convert_with_check): Use a custom base type
-	if the base type of the expression has a different machine mode.
-	Rename a couple of parameters and local variable.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Address>: Do not strip
-	conversions around prefixes that are not references.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (unchecked_convert): When the result type is a
-	non-biased integral type with size 0, set the result to 0 directly.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (renaming_from_generic_instantiation_p): Turn to
-	(renaming_from_instantiation_p): ...this.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Use inline predicate
-	instead of explicit tests on kind of entities.  Adjust for renaming.
-	(gnat_to_gnu_profile_type): Likewise.
-	(gnat_to_gnu_subprog_type): Likewise.
-	* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
-	(Case_Statement_to_gnu): Likewise.
-	(gnat_to_gnu): Likewise.
-	(process_freeze_entity): Likewise.
-	(process_type): Likewise.
-	(add_stmt_with_node): Adjust for renaming.
-	* gcc-interface/utils.c (gnat_pushdecl): Adjust for renaming.
-	(renaming_from_generic_instantiation_p): Rename to...
-	(renaming_from_instantiation_p): ...this.  Use inline predicate.
-	(pad_type_hasher::keep_cache_entry): Fold.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (adjust_for_implicit_deref): New function.
-	(gnat_to_gnu) <N_Explicit_Dereference>: Translate result type first.
-	(N_Indexed_Component): Invoke adjust_for_implicit_deref on the prefix.
-	(N_Slice): Likewise.
-	(N_Selected_Component): Likewise.  Do not try again to translate it.
-	(N_Free_Statement): Invoke adjust_for_implicit_deref on the expression.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* repinfo.ads: Document new treatment of dynamic values.
-	(TCode): Bump upper bound to 29.
-	(Dynamic_Val): New constant set to 29.
-	* repinfo.adb (Print_Expr) <Dynamic_Val>: New case.
-	(Rep_Value)  <Dynamic_Val>: Likewise.
-	* repinfo.h (Dynamic_Val): New macro.
-	* gcc-interface/decl.c (annotate_value): Tidy up and cache result for
-	DECL_P nodes too.
-	<INTEGER_CST>: Set TCODE instead of recursing.
-	<COMPONENT_REF>: Set TCODE instead of calling Create_Node manually.
-	<VAR_DECL>: New case.
-	<MULT_EXPR, PLUS_EXPR>: Fold conversions into inner operations.
-	<BIT_AND_EXPR>: Adjust.
-	<CALL_EXPR>: Do not fall through.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Call_to_gnu): If this is a function call and
-	there is no target, do not create a temporary for the return value for
-	an allocator either.
-
-2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (pos_to_constructor): Skip conversions to an
-	unconstrained array type.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/decl.c (validate_size): Use NARROWEST_INT_MODE
-	instead of GET_CLASS_NARROWEST_MODE (MODE_INT).
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/decl.c (check_ok_for_atomic_type): Use
-	is_a <scalar_int_mode>.
-	* gcc-interface/trans.c (Pragma_to_gnu): Likewise.
-	* gcc-interface/utils.c (gnat_type_for_mode): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Use int_mode_for_size
-	instead of mode_for_size.
-	(gnat_to_gnu_subprog_type): Likewise.
-	* gcc-interface/utils.c (make_type_from_size): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/misc.c (fp_prec_to_size): Use opt_scalar_float_mode.
-	(fp_size_to_prec): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/utils.c (gnat_type_for_mode): Use is_a
-	<scalar_float_mode> instead of SCALAR_FLOAT_MODE_P.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/decl.c (validate_size): Update use of
-	GET_MODE_WIDER_MODE, forcing a wider mode to exist.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-            Alan Hayward  <alan.hayward@arm.com>
-            David Sherwood  <david.sherwood@arm.com>
-
-	* gcc-interface/misc.c (fp_prec_to_size): Use new mode iterators.
-	(fp_size_to_prec): Likewise.
-
-2017-08-29  Martin Liska  <mliska@suse.cz>
-
-	PR other/39851
-	* gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL.
-
-2017-08-08  Martin Liska  <mliska@suse.cz>
-
-	* gcc-interface/trans.c: Include header files.
-
-2017-07-29  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/utils.c (gnat_write_global_declarations): Pass false
-	as new argument to the imported_module_or_decl debug hook.
-
-2017-07-25  Javier Miranda  <miranda@adacore.com>
-
-	* checks.adb (Apply_Divide_Checks): Ensure that operands are not
-	evaluated twice. 
-
-2017-07-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE,
-	TYPE_GCC_MIN_VALUE): Use TYPE_MIN_VALUE_RAW instead of TYPE_MINVAL.
-	(TYPE_GCC_MAX_VALUE): Use TYPE_MAX_VALUE_RAW instead of TYPE_MAXVAL.
-
-2017-07-18  Mike Frysinger  <vapier@chromium.org>
-
-	* gcc-interface/Makefile.in (../../gnatmake$(exeext)): Delete $(P).
-	(../../gnatlink$(exeext)): Likewise.
-
-2017-07-15  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
-
-	PR ada/81446
-	* system-linux-m68k.ads: Add pragma No_Elaboration_Code_All.
-	(Backend_Overflow_Checks): Set to True.
-
-2017-06-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu): Initialize sync to false.
-
-2017-06-21  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/ada-tree.h (DECL_FUNCTION_IS_DEF): Update copyright
-	notice.  New macro.
-	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Tag the subprogram
-	as a definition.
-	(Compilation_Unit_to_gnu): Tag the elaboration procedure as a
-	definition.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Tag declarations of
-	imported subprograms for the current compilation unit as
-	definitions.  Disable debug info for references to variables.
-	* gcc-interface/gigi.h (create_subprog_decl): Update declaration.
-	* gcc-interface/utils.c (gnat_pushdecl): Add external DECLs that are
-	not built-in functions to their binding scope.
-	(create_subprog_decl): Add a DEFINITION parameter.  If it is true, tag
-	the function as a definition.  Update all callers.
-	(gnat_write_global_declarations): Emit debug info for imported
-	functions.  Filter out external variables for which debug info
-	is disabled.
-
-2017-06-15  Nicolas Boulenguez  <nicolas.boulenguez@free.fr>
-
-	PR ada/81105
-	* gcc-interface/Makefile.in (x86 kfreebsd): Adjust system.ads setting.
-	(i[3456]86-pc-gnu): Likewise.
-	(x86_64 kfreebsd): Likewise.
-
-2017-06-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR bootstrap/80897
-	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Use Positive index.
-
-2017-06-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/81070
-	* s-interr-hwint.adb: Reinstate.
-	* gcc-interface/Makefile.in (RTEMS): Use it again.
-
-2017-06-08  Olivier Hainque  <hainque@adacore.com>
-
-	* vx_crtbegin_auto.c: Update year in copyright notice.
-	* vx_crtbegin.c: Likewise.
-	* vx_crtbegin.inc: Likewise. 
-	* vx_crtend.c:  Likewise.
-
-2017-06-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
-
-	* Makefile.in (rtems): Use TLS implementation for s-tpopsp.adb.
-	* s-tpopsp-rtems.adb: Delete.
-
-2017-06-02  Olivier Hainque  <hainque@adacore.com>
-
-	* vx_crtbegin_auto.c: New file.
-	* vx_crtbegin.c: New file.
-	* vx_crtbegin.inc: New file.
-	* vx_crtend.c: New file.
-
-2017-05-25  Jonathan Wakely  <jwakely@redhat.com>
-
-	* gcc-interface/utils2.c (compare_elmt_bitpos): Remove redundant
-	const qualifiers that cause -Wignored-qualifiers warnings.
-
-2017-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
-	for Itypes that are E_Access_Subtype.
-	<E_Access_Subtype>: Use the DECL of the base type directly.
-
-2017-05-22  Ed Schonberg  <schonberg@adacore.com>
-            Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a
-	limited view may appear in the profile of a function, and a call to
-	that function in another unit in which the full view is available must
-	use this full view to spurious type errors at the point of call.
-	* inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading
-	of parent body with a with clause for the main unit.
-	* gcc-interface/decl.c (defer_limited_with_list): Document new usage.
-	(gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment
-	types declared in external units like types from limited with clauses.
-	Adjust final processing of defer_limited_with_list accordingly.
-	* gcc-interface/trans.c (gnat_to_gnu) < N_Selected_Component>: Try
-	again to translate the prefix after the field if it is incomplete.
-
-2017-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_field): Do not enforce strict
-	alignment for simple volatile fields and remove associated errors.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/gigi.h (get_elaboration_procedure): Delete.
-	* gcc-interface/trans.c (get_elaboration_procedure): Make static.
-
-2017-05-15  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/utils.c (can_materialize_object_renaming_p):
-	Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration:
-	process Original_Node instead of expanded names.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the
-	addressability check in the constrained case.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
-	types not coming from a limited context.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
-	the inlined list that are not public.
-	* gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if
-	there is a pragma Inline_Always on the subprogram.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
-	<N_Allocator>: Use properly typed constants.
-	(extract_values): Move around.
-	(pos_to_constructor): Minor tweaks.
-	(Sloc_to_locus): Fix formatting.
-	* gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks.
-	* gcc-interface/gigi.h (MARK_VISITED): Remove blank line.
-	(Gigi_Equivalent_Type): Adjust head comment.
-	* gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise.
-
-2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
-	is a representation clause on an extension, propagate the alignment of
-	the parent type only if the platform requires strict alignment.
-
-2017-05-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
-	instead of Word_Size.
-
-	Revert
-	2017-03-28  Andreas Schwab  <schwab@suse.de>
-
-	PR ada/80117
-	* system-linux-aarch64-ilp32.ads: New file.
-	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
-	from LIBGNAT_TARGET_PAIRS.
-	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
-	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
-	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
-	or -mabi=ilp32, resp.
-
-2017-05-10  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR ada/80626
-	* system-linux-x86.ads (Memory_Size): Use Long_Integer'Size
-	instead of Word_Size.
-
-2017-05-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* raise-gcc.c (exception_class_eq): Make ec parameter const.
-
-2017-05-02  Richard Biener  <rguenther@suse.de>
-
-	* gcc-interface/misc.c (gnat_post_options): Do not set
-	-fstrict-overflow.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (assoc_to_constructor): Make sure
-	Corresponding_Discriminant is only called on discriminants.
-	Skip the saving of the result only for them.
-	(gnat_to_gnu) <N_Selected_Component>: Likewise.
-	<N_Unchecked_Type_Conversion>: Translate the result type first.
-	(gigi): Set TREE_NOTHROW on Begin_Handler.
-	(stmt_list_cannot_raise_p): New predicate.
-	(Exception_Handler_to_gnu_gcc): Emit a simple final call instead of
-	a cleanup if the statements of the handler cannot raise.
-	(process_freeze_entity): Use Is_Record_Type.
-	(process_type): Likewise.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* einfo.ads (Corresponding_Record_Component): New alias
-	for Node21 used for E_Component and E_Discriminant.
-	* einfo.adb (Corresponding_Record_Component): New function.
-	(Set_Corresponding_Record_Component): New procedure.
-	(Write_Field21_Name): Handle Corresponding_Record_Component.
-	* sem_ch3.adb (Inherit_Component): Set
-	Corresponding_Record_Component for every component in
-	the untagged case.  Clear it afterwards for non-girder
-	discriminants.
-	* gcc-interface/decl.c (gnat_to_gnu_entity)
-	<E_Record_Type>: For a derived untagged type with discriminants
-	and constraints, apply the constraints to the layout of the
-	parent type to deduce the layout.
-	(field_is_aliased): Delete.
-	(components_to_record): Test DECL_ALIASED_P directly.
-	(annotate_rep): Check that fields are present except for
-	an extension.
-	(create_field_decl_from): Add DEBUG_INFO_P
-	parameter and pass it in recursive and other calls.  Add guard
-	for the manual CSE on the size.
-	(is_stored_discriminant): New predicate.
-	(copy_and_substitute_in_layout): Consider only
-	stored discriminants and check that original fields are present
-	in the old type.  Deal with derived types.  Adjust call to
-	create_variant_part_from.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Call_Helper): When locating the
-	accessibility entity created for an access parameter, handle
-	properly a reference to a formal of an enclosing subprogram. if
-	the reference appears in an inherited class-wide condition, it
-	is the rewriting of the reference in the ancestor expression,
-	but the accessibility entity must be that of the current formal.
-
-2017-05-02  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch4.adb (Expand_Non_Binary_Modular_Op): New subprogram.
-	(Expand_N_Op_Add, Expand_N_Op_Divide, Expand_N_Op_Minus,
-	Expand_N_Op_Multiply, Expand_N_Op_Or, Expand_N_Op_Subtract):
-	Call Expand_Non_Binary_Modular_Op.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Private_Type): If the parent type
-	has discriminants, do not override the Stored_Constraint list of
-	the full view of the derived type with that of the derived type.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Attribute_Enum_Rep): Disallow T'Enum_Rep.
-
-2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* s-os_lib.ads: Minor typo fix.
-
-2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* gnatls.adb: Merge and refactor code from Prj.Env and remove
-	this deprecated dependency.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.ads: minor comment addition.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Record_Type): Fix a few typos and
-	pastos in part #3 of the head comment.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Freeze_Type): Do not generate an invariant
-	procedure body for a local (sub)type declaration within a
-	predicate function. Invariant checks do not apply to these, and
-	the expansion of the procedure will happen in the wrong scope,
-	leading to misplaced freeze nodes.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Insert_Library_Level_Action): Use proper scope
-	to analyze generated actions.  If the main unit is a body,
-	the required scope is that of the corresponding unit declaration.
-
-2017-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* einfo.adb (Declaration_Node): flip branches of
-	an IF statement to avoid repeated negations in its condition;
-	no change in semantics, only to improve readability.
-
-2017-05-02  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_case.adb: Remove extra spaces in parameter declarations.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* usage.adb: Replace space with hyphen ("run time" -> "run-time")
-	in usage line for new -gnatwE switch.
-
-2017-05-02  Claire Dross  <dross@adacore.com>
-
-	* a-cofuve.ads (Remove): Remove unnecessary
-	conditions in precondition.
-
-2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* a-stream.ads, exp_imgv.adb, sem_ch10.adb,
-	sem_attr.adb, s-finmas.ads, osint.adb: Minor typo fix.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch4.adb (Analyze_Case_Expression): Add check for valid
-	alternative expression.
-	* sem_res.adb (Resolve_Case_Expression): Ditto.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Set_All_DT_Position, In_Predef_Prim_DT):
-	Refine predicate for the case where the primitive operation
-	is a renaming of equality.  An overriding operation that is
-	a user-defined renaming of predefined equality inherits its
-	slot from the overridden operation. Otherwise it is treated
-	as a predefined op and occupies the same predefined slot as
-	equality. A call to it is transformed into a call to its alias,
-	which is the predefined equality. A dispatching call thus uses
-	the proper slot if operation is further inherited and called
-	with class-wide arguments.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* errout.adb (Set_Msg_Text): Add a case to switch the message
-	type when the character '[' is detected signifying a warning
-	about a run-time exception.
-	* opt.ads Add a new Warning_Mode value for new switch
-	* switch-b.adb (Scan_Binder_Switches): Add case for the binder
-	to handle new warning mode
-	* usage.adb (Usage): Add usage entry for -gnatwE
-	* warnsw.adb (Set_Warning_Switch): Add case for the new switch
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Process_Conversion): Reject an intrinsic operator
-	declaration that operates on some fixed point type.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* a-crbtgo.adb, s-taasde.adb: Remove unused use-type clauses.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Null_Procedure): Revert previous change.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch4.adb (Analyze_Case_Expression): Add check for valid
-	expression (Analyze_If_Expression): Add check for valid condition
-	* sem_eval.adb (Eval_Case_Expression): Add check for error posted
-	on case-expression
-	* sem_res.adb (Resolve_If_Expression): Add check for valid
-	condition and then-expression.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Build_Initialization_Call): Generate a null
-	statement if the initialization call is a null procedure, as
-	can happen with a controlled type with no explicit Initialize
-	procedure, or an array of such.
-	* exp_ch7.adb (Process_Object_Declaration): For a type with
-	controlled components that has a trivial Initialize procedure,
-	insert declaration for finalization counter after object
-	declaration itself.
-	(Make_Deep_Array_Body, Build_Initialize_statements): Do not create
-	finalization block and attendant declarations if component has
-	a trivial Initialize procedure.
-	(Make_Init_Call): Do not generate a call if controlled type has
-	a trivial Initialize procedure.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* g-forstr.ads (Data): Move Format component last.
-	* g-forstr.adb ("+"): Adjust for above change.
-	* g-rewdat.ads (Buffer): Move Buffer, Current, Pattern and Value last.
-	* g-sechas.ads (Context): Move Key last.
-	* g-socket.ads (Service_Entry_Type): Move Aliases last.
-	* s-fileio.adb (Temp_File_Record): Move Name last.
-	* s-regexp.adb (Regexp_Value): Move Case_Sensitive last.
-	* xr_tabls.ads (Project_File): Move Src_Dir and Obj_Dir last.
-
-2017-05-02  Jerome Lambourg  <lambourg@adacore.com>
-
-	* bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: Remove the -nognarl
-	switch introduced recently. finally not needed.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Null_Procedure): Set the
-	Corresponding_Body link for a null procedure declaration.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* atree.h (Flag290): Add missing terminating parenthesis.
-	* einfo.adb (Is_Class_Wide_Clone): Use Flag290.
-	(Set_Is_Class_Wide_Clone): Likewise.
-	* einfo.ads (Is_Class_Wide_Clone): Likewise.
-
-2017-05-02  Gary Dismukes  <dismukes@adacore.com>
-
-	* checks.ads (Null_Exclusion_Static_Checks): Add Boolean
-	parameter Array_Comp to indicate the case of an array object
-	with null-excluding components.
-	* checks.adb (Null_Exclusion_Static_Checks):
-	Call Compile_Time_Constraint_Error instead of
-	Apply_Compile_Time_Constraint_Error in the component case. Also
-	call that when Array_Comp is True, with an appropriate warning for
-	the array component case. Only create an explicit initialization
-	by null in the case of an object of a null-excluding access type
-	(and no longer do that in the component case).
-	* sem_ch3.adb (Check_Component): Add a Boolean parameter
-	Array_Comp defaulted to False.	Pass Empty for the Comp
-	actual when calling Null_Exclusion_Static_Checks in the case
-	where Comp_Decl matches Object_Decl, because we don't have a
-	component in that case. In the case of an object or component
-	of an array type, pass True for Array_Comp on the recursive call
-	to Check_Component.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* s-taprop-linux.adb (Prio_To_Linux_Prio): New function to correctly
-	compute the linux priority from the Ada priority. Call this everywhere
-	required. In particular, the previous version was not doing this
-	computation when setting the ceiling priority in various places. It
-	was just converting to C.int, which results in a ceiling that is off
-	by 1.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb: Comment predicate inheritance.
-
-2017-05-02  Tristan Gingold  <gingold@adacore.com>
-
-	* s-trasym.ads: Add comment.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb, sem_elab.ads: Minor comment fixes.
-	* sem_ch4.adb: Minor reformatting.
-	* s-taprop-linux.adb, s-taspri-posix.ads: Code refactoring.
-	* s-taspri-posix-noaltstack.ads: Minor refactoring.
-	* sinput.ads: Minor typo fix.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch9.adb (Discriminated_Size): Moved to sem_util.
-	* sem_util.ads, sem_util.adb (Discriminated_Size): Predicate moved
-	here from exp_ch9, to recognize objects whose creation requires
-	dynamic allocation, so that the proper warning can be emitted
-	when restriction No_Implicit_Heap_Allocation is in effect.
-	* sem_ch3.adb (Analyze_Object_Declaration): Use Discriminated_Size
-	to emit proper warning when an object that requires dynamic
-	allocation is declared.
-
-2017-05-02  Tristan Gingold  <gingold@adacore.com>
-
-	* s-trasym.ads, s-trasym.adb (Enable_Cache): New.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Find_Equality_Types, Try_One_Interp): The same relaxed
-	visibility rules for equality operators that apply within an
-	instantiation apply within an inlined body.
-	* sem_type.adb (Add_One_Interp): ditto.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Forbid pragma Contract_Cases on null
-	procedures.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* snames.ads-tmpl
-	(Name_Assume, Name_Attribute_Definition, Name_Loop_Optimize,
-	Name_No_Tagged_Streams): Move to regular pragmas.  Add
-	placeholders for Default_Scalar_Storage_Order, Dispatching_Domain,
-	and Secondary_Stack_Size.
-	(Pragma_Id): Move Pragma_Assume,
-	Pragma_Attribute_Definition, Pragma_Loop_Optimize and
-	Pragma_No_Tagged_Streams to second part.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb: Minor reformatting.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): Improve error
-	detection for illegal references to private components or
-	operations of a protected type in the body of the type.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* opt.ads: Add missing GNAT markers in comments.
-	* opt.adb (Set_Opt_Config_Switches): Do not override earlier
-	settings of Optimize_Alignment at the end.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Apply_Constraint_Check): Do not apply
-	a discriminant check when the associated type is a constrained
-	subtype created for an unconstrained nominal type.
-	* exp_attr.adb: Minor reformatting.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* sem_ch3.adb (OK_For_Limited_Init_In_05): Handle correctly
-	the N_Raise_Expression case.
-	* sem_ch6.adb (Check_Limited_Return): Minor: clarify comment,
-	and add assertions.
-
-2017-05-02  Yannick Moy  <moy@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Op_Ne): Do not bump parenthese level and
-	optimize length comparison in GNATprove mode.
-	* exp_spark.adb (Expand_SPARK_Op_Ne): New function to rewrite
-	operator /= into negation of operator = when needed.
-	(Expand_SPARK): Call new
-	function to expand operator /=.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_fixd.adb (Expand_Divide_Fixed_By_Fixed_Giving_Fixed):
-	Simplify the expression for a fixed-fixed division to remove
-	divisions by constants whenever possible, as an optimization
-	for restricted targets.
-
-2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb, sem_ch3.adb, sem_ch6.adb: Minor reformatting.
-
-2017-05-02  Bob Duff  <duff@adacore.com>
-
-	* exp_attr.adb (Callable, Identity, Terminated): Use Find_Prim_Op
-	to find primitive ops, instead of using an Identifier that will
-	later be looked up. This is necessary because these ops are not
-	necessarily visible at all places where we need to call them.
-	* exp_util.ads: Minor comment fix.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Fully_Conformant_Expressions): Two entity
-	references are fully conformant if they are both expansions
-	of the discriminant of a protected type, within one of the
-	protected operations. One occurrence may be expanded into a
-	constant declaration while the other is an input parameter to
-	the corresponding generated subprogram.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Check_For_Null_Excluding_Components): Created for
-	recursivly searching composite-types for null-excluding access
-	types and verifying them.
-	(Analyze_Object_Declaration): Add a
-	call to Check_Null_Excluding_Components for static verification
-	of non-initialized objects.
-	* checks.adb, checks.ads (Null_Exclusion_Static_Checks): Added
-	a parameter for a composite-type's component and an extra case
-	for printing component information.
-
-2017-05-02  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch10.adb (Analyze_Subunit): Take
-	configuration pragma into account when restoring appropriate
-	pragma for analysis of subunit.
-
-2017-05-02  Justin Squirek  <squirek@adacore.com>
-
-	* s-tasren.adb, s-tasini.adb, s-taprop-linux.adb,
-	s-mudido-affinity.adb,, a-exetim-posix.adb, a-direio.adb,
-	g-socket.adb, s-taenca.adb, s-fileio.adb: Remove unused use-type
-	clauses from the runtime.
-
-2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Check_Component_Storage_Order): Do not treat bit-packed
-	array components specially.
-
-2017-05-02  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Premature_Usage): If the premature usage of
-	an entity is as the expression in its own object decaration,
-	rewrite the reference as Any_Id to prevent cascaded errors or
-	compiler loops when such an entity is used in an address clause.
-
-2017-05-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (components_to_record): Add missing guard.
-
-2017-05-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (components_to_record): Add more comments.
-	Put back pending fields onto the regular list if the misalignment
-	happens to cancel itself.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Complete_Object_Operation): When rewriting the
-	controlling actual in a prefixed call, preserve the original node
-	information if the prefix itself has been rewritten, for ASIS use.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb (Insert_Post_Call_Actions):
-	Code clean up. Insert the post-call actions after an enclosing
-	procedure call when N denotes a function call and appears as an
-	actual parameter in the procedure call.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* freeze.adb (Check_Component_Storage_Order): If there is a clause
-	for the component, also reject the attribute if the component
-	doesn't end on a byte boundary and its scalar storage order is
-	different from that of the enclosing record type.
-
-2017-04-28  Javier Miranda  <miranda@adacore.com>
-
-	* atree.ads (Info_Messages): Removed.
-	(Warning_Info_Messages): New counter.
-	(Report_Info_Messages): New counter.
-	* err_vars.ads Update documentation.
-	* errout.adb (Delete_Warning_And_Continuations): Update
-	Info_Message occurrences.
-	(Error_Msg_Internal): Update Info_Message occurrences.
-	(Delete_Warning): Update Info_Message occurrences.
-	(Write_Error_Summary): Update Info_Message occurrences.
-	(Output_Messages): Update Info_Message occurrences.
-	(To_Be_Removed): Update Info_Message occurrences.
-	(Reset_Warnings): Update Info_Message occurrences.
-	* errutil.adb (Error_Msg): Update Info_Message occurrences.
-	(Finalize): Update Info_Message occurrences.
-	(Initialize): Update Info_Message occurrences.
-	* erroutc.adb (Delete_Msg): Update Info_Message occurrences.
-	(Compilation_Errors): Update Info_Message_Occurences.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-        * exp_ch3.adb (Build_Init_Statements): Likewise on Nam.
-        * freeze.adb (Check_Component_Storage_Order): And on Comp_Byte_Aligned.
-        * sem_aggr.adb (Resolve_Record_Aggregate): Initialize Box_Node.
-        * sem_attr.adb (Loop_Entry): Initialize Encl_Loop.
-        * sem_ch12.adb (Build_Operator_Wrapper): Add pragma Warnings on Expr.
-        * sem_ch13.adb (Validate_Address_Clauses): Initialize Y_Alignment and
-        Y_Size.
-        * sem_eval.adb (Why_Not_Static): Initialize Typ.
-        * sem_prag.adb (Analyze_Pragma): Add pragma Warnings on Str.
-
-2017-04-28  Bob Duff  <duff@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Might_Raise): New function
-	that replaces Is_Exception_Safe, but has the opposite
-	sense. Is_Exception_Safe was missing various cases -- calls inside
-	a pragma Debug, calls inside an 'if' or assignment statement,
-	etc. Might_Raise now walks the entire subtree looking for things
-	that can raise.
-	* exp_ch9.adb (Is_Exception_Safe): Remove.
-	(Build_Protected_Subprogram_Body): Replace call to
-	Is_Exception_Safe with "not Might_Raise". Misc cleanup (use
-	constants where possible).
-	* exp_ch7.adb: Rename Is_Protected_Body -->
-	Is_Protected_Subp_Body. A protected_body is something different
-	in the grammar.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* inline.adb (Expand_Inlined_Call): Initialize Targ1 variable.
-	* par-ch3.adb (P_Component_Items): Initialize Decl_Node variable.
-	(P_Discrete_Choice_List): Initialize Expr_Node variable.
-	* par-ch9.adb (P_Task): Initialize Aspect_Sloc variable.
-	(P_Protected): Likewise.
-	* sem_case.adb (Check_Duplicates):
-	Add pragma Warnings on variable.
-	* sem_ch12.adb (Preanalyze_Actuals): Initialize Vis variable.
-	* sem_ch4.adb (List_Operand_Interps):  Add pragma Warnings on variable.
-	* sem_ch5.adb (Analyze_Assignment): Initialize Save_Full_Analysis.
-	(Analyze_Exit_Statement): Initialize Scope_Id variable.
-	(Analyze_Iterator_Specification): Initialize Bas variable.
-	* sem_ch9.adb (Allows_Lock_Free_Implementation): Initialize
-	Error_Count (Satisfies_Lock_Free_Requirements): Likewise.
-	(Analyze_Accept_Statement): Initialize Task_Nam.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Install_Primitive_Elaboration_Check):
-	Do not generate an elaboration check if all checks have been
-	suppressed.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications, case
-	Interrupt_Handler and Attach_Handler): Generate reference
-	to protected operation to prevent spurious warnings about
-	unreferenced entities. Previous scheme failed with style checks
-	enabled.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Relocate_Pragmas_To_Body): A pragma Warnings
-	that follows an expression function must not be relocated to
-	the generated body, because it applies to the code that follows.
-
-2017-04-28  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test
-	Relaxed_RM_Semantics to avoid having CodePeer issue errors on
-	code that might violate the more stringent checking for 'Access
-	introduced in Ada 2005.
-
-2017-04-28  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-cforse.adb: minor style fix in comment.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Also
-	initialize Block_Decls variable.
-	(Expand_Entry_Barrier): Add pragma Warnings on Func_Body variable.
-	(Build_Dispatching_Requeue): Add pragma Warnings on Op variable.
-	* exp_disp.adb (Expand_Interface_Actuals): Initialize
-	Formal_DDT and Actual_DDT variables.
-	(Expand_Interface_Thunk): Initialize Iface_Formal.
-	(Make_DT): Initialize Size_Comp.
-	(Make_Select_Specific_Data_Table): Initialize Decls.
-	* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
-	Also initialize more RPC_Receiver_* variables.
-	(Build_To_Any_Function): Initialize Cstr_Formal.
-	* exp_prag.adb (Expand_Pragma_Contract_Cases): Initialize Msg_Str.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Freeze_Type_Refs): For an interface conversion
-	node between access types, freeze the designated type as well,
-	so that dispatch table pointers are created in the proper scope,
-	and not in the constructed body of the expression function.
-
-2017-04-28  Bob Duff  <duff@adacore.com>
-
-	* alloc.ads (Nodes_Initial): Go back to previous value. The large
-	value makes large compilations faster, but small compilations slower.
-
-2017-04-28  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb: minor typos in Is_Child_Or_Sibling.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* erroutc.adb (Compilation_Errors): Do not consider info messages
-	as suitable warnings when warnings must be treated as errors.
-	* sem_ch7.adb (Analyze_Package_Specification): Do not consider
-	internally-generated packages when outputting completion
-	information.
-	* errout.adb (Output_Messages): Do not consider info messages as
-	suitable warnings when warnings must be treated as errors.
-	* errutil.adb (Finalize): Do not consider info messages as
-	suitable warnings when warnings must be treated as errors.
-
-2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* warnsw.ads: Minor fix for incorrect wording in comment.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (In_Instance_Code): New predicate in
-	Valid_Conversion, to determine whether a type conversion appears
-	as (or within) an actual for a formal object.  Type conversions
-	in instances are not rechecked in Valid_Conversion because
-	visibility changes between generic location andi instance may
-	lead to spurious errors, but conversions within an actual must be
-	fully checked, and they are not fully resolved when pre-analyzing
-	the actuals.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Use
-	New_Copy_Tree instead of Relocate_Node as any subsequent copies
-	of the relocated node will have mangled Parent pointers.
-	* sem_util.adb (Build_NCT_Hash_Tables): Reset both hash
-	tables used in conjunction with entity and itype replication.
-	(Visit_Entity): Rewrite the restriction on which entities
-	require duplication.  The restriction now includes all types.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* a-cofuse.ads, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfinve.adb,
-	a-cfinve.ads, a-cforma.adb, a-cforma.ads, a-cofuma.adb, a-cofuma.ads,
-	a-cfhama.adb, a-cfhama.ads, a-cforse.adb: Minor reformatting and code
-	cleanups.
-
-2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, g-dyntab.adb, par-ch4.adb, sem_util.adb, sem_attr.adb,
-	gnat1drv.adb, exp_disp.adb, namet.adb, alloc.ads: Minor reformatting.
-
-2017-04-28  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb: Minor reformatting.
-
-2017-04-28  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb: Fix copy/pasto.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* gcc-interface/Make-lang.in: Define EH_MECHANISM while building
-	raise-gcc.c. Fix include search path for raise-gcc.c
-
-2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* fe.h (Warn_On_Questionable_Layout): Declare.
-	* warnsw.ads (Warn_On_Record_Holes): Move down.
-	(Warn_On_Questionable_Layout): New boolean variable.
-	(Warning_Record): Add Warn_On_Questionable_Layout field.
-	* warnsw.adb (All_Warnings): Set Warn_On_Questionable_Layout.
-	(Restore_Warnings): Likewise.
-	(Save_Warnings): Likewise.
-	(Set_Dot_Warning_Switch): Handle 'q' and 'Q' letters.
-	* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to
-	components_to_record.
-	(gnu_field_to_gnat): New function.
-	(warn_on_field_placement): Likewise.
-	(components_to_record): Add GNAT_RECORD_TYPE and remove REORDER
-	parameters.  Rename local variables and adjust recursive call.
-	Rework final scan of the field list and implement warnings on the
-	problematic placement of specific sorts of fields.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* errout.adb, exp_aggr.adb, exp_attr.adb, exp_code.adb, fname.adb,
-	* fname.ads, freeze.adb, inline.adb, lib.adb, lib.ads, lib-list.adb,
-	* lib-load.adb, lib-writ.adb, par.adb, restrict.adb, rtsfind.adb,
-	* sem.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb,
-	* sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb,
-	* sem_intr.adb, sem_res.adb, sem_util.adb, sem_warn.adb, sprint.adb:
-	For efficiency, cache results of Is_Internal_File_Name and
-	Is_Predefined_File_Name in the Units table. This avoids a lot
-	of repeated text processing.
-
-2017-04-27  Emmanuel Briot  <briot@adacore.com>
-
-	* g-comlin.adb (Sort_Sections): remove useless test.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfhase.adb, a-cfhase.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions that are
-	used in subprogram contracts.
-	(Current_To_Last): Removed, model functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Strict_Equal): Removed, model functions should be used instead.
-	(No_Overlap): Removed, model functions should be used instead.
-	(Equivalent_Keys): Functions over cursors are removed. They were
-	awkward with explicit container parameters.
-	* a-cforse.adb, a-cforse.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions that
-	are used in subprogram contracts.
-	(Current_To_Last): Removed, model functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Strict_Equal): Removed, model functions should be used instead.
-	(No_Overlap): Removed, model functions should be used instead.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb: Code cleanup.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Replace_Entity): The prefix of a 'Result
-	attribute reference in a post- condition is the subprogram to
-	which the condition applies. If the condition is inherited
-	by a type extension, the prefix becomes a reference to the
-	inherited operation, but there is no need to create a wrapper
-	for this operation, because 'Result is expanded independently
-	when elaborating the postconditions.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* sinput.adb: Minor code cleanup.
-	* namet.adb (Append): Create faster versions of
-	Append(String) and Append(Name_Id) by using slice assignment
-	instead of loops.
-	* sem_util.adb (In_Instance): Speed this up by removing
-	unnecessary tests; Is_Generic_Instance is defined for all
-	entities.
-	* sem_util.ads, sem_util.adb (In_Parameter_Specification):
-	Remove unused function.
-	* alloc.ads (Nodes_Initial): Use a much larger value, because
-	the compiler was spending a lot of time copying the nodes table
-	when it grows. This number was chosen in 1996, so is rather out
-	of date with current memory sizes. Anyway, it's virtual memory.
-	Get rid of Orig_Nodes_...; use Node_... instead.
-	* atree.adb (Lock): Do not release the Nodes tables; it's a
-	waste of time.
-	Orig_Nodes_ ==> Nodes_
-	* nlists.adb: Orig_Nodes_ ==> Nodes_
-	* g-table.adb: Remove unused "with" clause.
-	* g-table.ads, table.ads: Remove Big_Table_Type, which should
-	not be used by clients.
-	* g-dyntab.adb (Last_Allocated): New function
-	to encapsulate T.P.Last_Allocated, which I'm thinking of changing.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_eval.adb (Subtypes_Statically_Compatible): Remove duplicated
-	check.
-	(Subtypes_Statically_Match): Remove duplicate check.
-	* sem_prag.adb (Check_Arg_Is_External_Name): Remove duplicate check.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb (Replace_Type): Remove the special processing
-	for selected components.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Merge the
-	processing for attributes Fixed_Value and Integer_Value.
-	* exp_util.adb (Side_Effect_Free): Merge the processing for
-	qualified expressions, type conversions, and unchecked type
-	conversions.
-	* g-comlin.adb (Is_In_Config): Merge the processing for No_Space
-	and Optional.
-	* par-ch3.adb (P_Declarative_Items): Merge the processing for
-	tokens function, not, overriding, and procedure.
-	* sem_ch6.adb (Fully_Conformant_Expressions): Merge the processing
-	for qualified expressions, type conversions, and unchecked
-	type conversions.
-	* sem_util.adb (Compile_Time_Constraint_Error): Merge the
-	processing for Ada 83 and instances.
-	(Object_Access_Level): Merge the processing for indexed components
-	and selected components.
-	* uname.adb (Add_Node_Name): Merge the processing for stubs.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Install_Primitive_Elaboration_Check):
-	Do not generate the check when restriction No_Elaboration_Code
-	is in effect.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_disp.adb (Build_Class_Wide_Check): New subsidiary
-	of Expand_Dispatching_Call. If the denoted subprogram has a
-	class-wide precondition, this is the only precondition that
-	applies to the call, rather that the class-wide preconditions
-	that may apply to the body that is executed. (This is specified
-	in AI12-0195).
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Issue
-	a warning in GNATprove mode if the runtime library does not
-	support IEEE-754 floats.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Inherit_Class_Wide_Pre): If the parent operation
-	is itself inherited it does not carry any contract information,
-	so examine its parent operation which is its Alias.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Image): In Ada2012 the
-	prefix can be an object reference in which case Obj'Image (X)
-	can only be interpreted as an indexing of the parameterless
-	version of the attribute.
-	* par-ch4.adb (P_Name): An attribute reference can be the prefix of
-	an indexing or a slice operation if the attribute does not require
-	parameters. In Ada2012 'Image also belongs in this category,
-	and A'Image (lo .. hi) is legal and must be parsed as a slice.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_ch4.adb: Minor reformatting.
-	* gnat1drv.adb (Adjust_Global_Switches): When in GNATprove mode,
-	disable the CodePeer and C generation modes. Similar to the
-	opposite actions done in CodePeer mode.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb: Remove duplicate code.
-	* sem_attr.adb: Delete duplicate code.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.adb: Reduce the amount of copying in
-	Release. No need to copy items past Last.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb Add with and use clauses for Sem_Disp.
-	(Install_Primitive_Elaboration_Check): New routine.
-	* checks.ads (Install_Primitive_Elaboration_Check): New routine.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Clean up the
-	processing of 'Elaborated.
-	* exp_ch6.adb (Expand_N_Subprogram_Body): Install a primitive
-	elaboration check.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.ads, g-dyntab.adb, g-table.ads: Remove incorrect assertion.
-	If the table grows and then shrinks back to empty, we won't necessarily
-	point back to the empty array. Code cleanups.
-	* sinput.ads: Add 'Base to Size clause to match the declared
-	component subtypes.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cforma.adb, a-cforma.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions that
-	are used in subprogram contracts.
-	(Current_To_Last): Removed, model functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Strict_Equal): Removed, model functions should be used instead.
-	(No_Overlap): Removed, model functions should be used instead.
-	* a-cofuma.adb, a-cofuma.ads (Enable_Handling_Of_Equivalence)
-	Boolean generic parameter to disable contracts for equivalence
-	between keys.
-	(Witness): Create a witness of a key that is used for handling of
-	equivalence between keys.
-	(Has_Witness): Check whether a witness is contained in a map.
-	(W_Get): Get the element associated to a witness.
-	(Lift_Equivalent_Keys): Removed, equivalence between keys is handled
-	directly.
-	* a-cofuse.adb, a-cofuse.ads (Enable_Handling_Of_Equivalence)
-	Boolean generic parameter to disable contracts for equivalence
-	between keys.
-	* a-cfhama.adb, a-cfhama.ads (Formal_Model.P) Disable handling
-	of equivalence on functional maps.
-	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model.P) Disable handling
-	of equivalence on functional maps.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb (Expand_Entry_Barrier): Code
-	cleanup. Do not perform the optimization which removes the
-	declarations of the discriminant and component renamings when
-	validity checks on operands and attributes are in effect.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb, exp_util.adb, sem_ch7.adb, g-dyntab.adb, g-dyntab.ads,
-	freeze.adb, a-cfinve.ads, a-cofuma.adb, a-cofuma.ads, a-cfhama.adb,
-	a-cfhama.ads, a-cofove.ads: Minor reformatting.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* g-debpoo.adb (Dump_Gnatmem): Protect against a possible null
-	pointer dereference.
-	* g-spipat.adb (Dump): Code clean up. Protect against a possible
-	null pointer dereference.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.ads, g-dyntab.adb: Default for Table_Low_Bound.
-	Rename Empty --> Empty_Table_Ptr, and don't duplicate code for it.
-	Free renames Init, since they do the same thing.
-	* g-table.ads: Default for Table_Low_Bound.
-	* table.ads: Default for Table_Low_Bound, Table_Initial, and
-	Table_Increment.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.ads, g-dyntab.adb: Add assertions to subprograms that
-	can reallocate.
-	* atree.adb, elists.adb, fname-uf.adb, ghost.adb, inline.adb,
-	* lib.adb, namet.adb, nlists.adb, sem.adb, sinput.adb, stringt.adb:
-	Reorder code so that above assertions do not fail.
-	* table.ads: Remove obsolete comment on Locked.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.ads: Code cleanup.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Freeze_Type): Build a DIC procedure
-	when needed for proof.	(Expand_SPARK): Call the new procedure.
-	* exp_util.ads Fix typo.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* a-cofuma.ads, a-cfhama.ads: Minor reformatting, grammar, and typo
-	fixes.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb Add new type Visited_Element
-	and update the contents of table Elab_Visited.	Various code clean up.
-	(Check_Elab_Call): Determine whether a prior call to
-	the same subprogram was already examined within the same context.
-	(Check_Internal_Call_Continue): Register the subprogram being
-	called as examined within a particular context. Do not suppress
-	elaboration warnings.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* xoscons.adb, osint.ads: Minor reformatting.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.ads, g-dyntab.adb: Misc cleanup. Rename
-	Table_Count_Type --> Table_Last_Type, because the name
-	was confusing (a "count" usually starts at zero).  Add
-	functionality supported or needed by other tables packages
-	(Move, Release_Threshold).
-	* g-table.ads, g-table.adb: This is now just a thin wrapper
-	around g-dyntab.ads/g-dyntab.adb.  Add functionality supported
-	or needed by other tables packages (Save, Restore).
-	* table.ads, table.adb: This is now just a thin wrapper around
-	* g-table.ads/g-table.adb.
-	* namet.h, scos.h, uintp.h: These files are reaching into the
-	private data of some instances of g-table, whose names changed,
-	so the above change requires some adjustment here. It now uses
-	public interfaces.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* namet.adb, namet.ads: Minor: remove unused procedures.
-
-2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* checks.adb (Apply_Scalar_Range_Check): Initialize Ok variable too.
-	(Minimize_Eliminate_Overflows): Initialize Llo and Lhi.
-	Add pragma Warnings on Rtype variable in nested block.	*
-	* exp_ch3.adb (Build_Init_Statements): Initialize VAR_LOC.
-	* exp_ch4.adb (Expand_Concatenate): Initialize 3 variables.
-	(Size_In_Storage_Elements): Add pragma Warnings on Res variable.
-	* exp_ch7.adb (Build_Adjust_Statements): Initialize Bod_Stmts.
-	(Process_Component_List_For_Finalize): Initialize Counter_Id.
-	(Build_Finalize_Statements): Initialize Bod_Stmts.
-	* exp_disp.adb (Expand_Dispatching_Call): Initialize SCIL_Node.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfhama.adb, a-cfhamai.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions that are
-	used in subprogram contracts.
-	(Current_To_Last): Removed, model
-	functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Strict_Equal): Removed, model functions should be used instead.
-	(No_Overlap): Removed, model functions should be used instead.
-	(Equivalent_Keys): Functions over cursors are removed. They were
-	awkward with explicit container parameters.
-	* a-cofuma.adb, a-cofuma.ads (Lift_Equivalent_Keys): New lemma
-	(proof only) procedure to help GNATprove when equivalence over
-	keys is not equality.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, a-cfdlli.adb, a-cfdlli.ads, exp_ch9.adb, g-dyntab.adb,
-	sem_dim.adb, a-cfinve.adb, a-cfinve.ads, a-cofove.adb, a-cofove.ads:
-	Minor reformatting and code cleanups.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Build_Inherited_Condition_Pragmas): New procedure,
-	subsidiary of Check_Inherited_Conditions, to build pragmas for an
-	operation whose ancestor has classwide pre/postconditions. This
-	is used both to check the legality of the inheritance in Ada
-	and in SPARK, and to determine whether a wrapper is needed for
-	an inherited operation.
-	* exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
-	Improve placement of error message for inherited classwide
-	conditions that become illegal on type derivation.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Set
-	SPARK_Mode from context on generic package.
-	* sem_ch7.adb (Analyze_Package_Declaration): Simplify code to remove
-	useless test.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cofuve.ads (Range_Shifted): Rewrite precondition to avoid
-	overflows in computations.
-	* a-cofove.ads (Capacity_Range): Rewrite last bound to avoid
-	overflows in computations.
-	(Insert): Rewrite precondition to avoid overflows in computations.
-	* a-cfinve.ads (Capacity_Range): Rewrite last bound to avoid
-	overflows in computations.
-	(Insert): Rewrite precondition to avoid overflows in computations.
-
-2017-04-27  Steve Baird  <baird@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Asynchronous_Select): Initialize the Cancel
-	flag when it is declared in order to avoid confusing CodePeer about
-	the possibility of an uninitialized variable read.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_Object_Declaration): There is
-	no dimensionality error if the subtype of the expression is
-	identical to the nominal subtype in the declaration, even though
-	the expression itself may have been constant-folded and lack a
-	dimension vector.
-	* sem_dim.ads: Add comments on setting of dimension vectors and
-	its interaction with node rewritings and side-effect removal.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* debug.adb: Minor comment correction.
-	* sem_dim.ads: Minor reformatting and typo fixes.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-table.adb, g-table.adsa, scos.h: From the C side, access First and
-	Last of the tables via function calls, rather than relying on layout
-	of data structures.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb: No wrapper in GNATprove mode.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Comparison_Op): Always
-	evaluate comparisons between values of universal types.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Check_Internal_Call_Continue): Do not generate
-	an elaboration counter nor a check when in GNATprove mode.
-	* sem_util.adb (Build_Elaboration_Entity): Do not create an
-	elaboration counter when in GNATprove mode.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb: copy-paste typo.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (Analyze_Pre_Post_In_Decl_Part):
-	Use correct test to detect call in GNATprove mode instead of
-	compilation.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model.M_Elements_In_Union):
-	New property function expressing that the element of a
-	sequence are contained in the union of two sequences.
-	(Formal_Model.M_Elements_Included): New property function
-	expressing that the element of a sequence are another sequence.
-	(Generic_Sorting): Use new property functions to state that
-	elements are preserved by Sort and Merge.
-	* a-cofove.adb, a-cofove.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions
-	that are used in subprogram contracts.	(Capacity):
-	On unbounded containers, return the maximal capacity.
-	(Current_To_Last): Removed, model functions should be used instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Append): Default parameter value replaced
-	by new wrapper to allow more precise contracts.
-	(Insert): Subprogram restored, it seems it was useful to users even if
-	it is inefficient.
-	(Delete): Subprogram restored, it seems it was useful to users even if
-	it is inefficient.
-	(Prepend): Subprogram restored, it seems it was useful to users even
-	if it is inefficient.
-	(Delete_First): Subprogram restored, it seems it
-	was useful to users even if it is inefficient.	(Delete_Last):
-	Default parameter value replaced by new wrapper to allow more
-	precise contracts.
-	(Generic_Sorting.Merge): Subprogram restored.
-	* a-cfinve.adb, a-cfinve.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Formal_Model): Ghost package containing model functions
-	that are used in subprogram contracts.	(Capacity):
-	On unbounded containers, return the maximal capacity.
-	(Current_To_Last): Removed, model functions should be used
-	instead.
-	(First_To_Previous): Removed, model functions should be used instead.
-	(Append): Default parameter value replaced
-	by new wrapper to allow more precise contracts.
-	(Insert): Subprogram restored, it seems it was useful to users even if
-	it is inefficient.
-	(Delete): Subprogram restored, it seems it was useful to users even if
-	it is inefficient.
-	(Prepend): Subprogram restored, it seems it was useful to users even
-	if it is inefficient.
-	(Delete_First): Subprogram restored, it seems it
-	was useful to users even if it is inefficient.	(Delete_Last):
-	Default parameter value replaced by new wrapper to allow more
-	precise contracts.
-	(Generic_Sorting.Merge): Subprogram restored.
-	(Vector): Do not reuse formal vectors, as it is no longer possible
-	to supply them with an equality function over elements.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* g-dyntab.adb (Release): When allocating the new
-	table, use the correct slice of the old table to initialize it.
-
-2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* einfo.ads: Minor fixes in comments.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb: disable clones in SPARK_Mode.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.ads, contracts.adb: Minor reformatting.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb, sem_util.ads (Build_Class_Wide_Clone_Body):
-	Build body of subprogram that has a class-wide condition that
-	contains calls to other primitives.
-	(Build_Class_Wide_Clone_Call); Build a call to the common
-	class-wide clone of a subprogram with classwide conditions. The
-	body of the subprogram becomes a wrapper for a call to the
-	clone. The inherited operation becomes a similar wrapper to which
-	modified conditions apply, and the call to the clone includes
-	the proper conversion in a call the parent operation.
-	(Build_Class_Wide_Clone_Decl (Spec_Id : Entity_Id): For a
-	subprogram that has a classwide condition that contains calls to
-	other primitives, build an internal subprogram that is invoked
-	through a type-specific wrapper for all inherited subprograms
-	that may have a modified condition.
-	* sem_prag.adb (Check_References): If subprogram has a classwide
-	condition, create entity for corresponding clone, to be invoked
-	through wrapper subprograns.
-	(Analyze_Pre_Post_Condition_In_Decl_Part): Do not emit error
-	message about placement if pragma isi internally generated.
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If subprogram has
-	a classwide clone, build body of clone as copy of original body,
-	and rewrite original body as a wrapper as a wrapper for a call to
-	the clone, so that it incorporates the original pre/postconditions
-	of the subprogram.
-	* freeze.adb (Check_Inherited_Conditions): For an inherited
-	subprogram that inherits a classwide condition, build spec and
-	body of corresponding wrapper so that call to inherited operation
-	gets the modified conditions.
-	* contracts.adb (Analyze_Contracts): If analysis of classwide
-	condition has created a clone for a primitive operation, analyze
-	declaration of clone.
-
-2017-04-27  Steve Baird  <baird@adacore.com>
-
-	* exp_util.adb (Build_Allocate_Deallocate_Proc):
-	Add "Suppress => All_Checks" to avoid generating unnecessary
-	checks.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* debug.adb: Reserve debug flag 'm' for no inlining in GNATprove.
-	* sem_ch6.adb (Anayze_Subprogram_Body_Helper): Skip creation of
-	inlining body in GNATprove mode when switch -gnatdm used.
-	* sem_res.adb (Resolve_Call): Skip detection of lack of inlining
-	in GNATprove mode when switch -gnatdm used.
-
-2017-04-27  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause
-	[Attribute_Address]): Call Set_Address_Taken when ignoring rep
-	clauses, so that we keep an indication of the address clause
-	before removing it from the tree.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_util.ads, exp_util.adb (Evaluate_Name): Force evaluation
-	of expression being qualified, when not an object name, or else
-	evaluate the underlying name.
-
-2017-04-27  Jerome Lambourg  <lambourg@adacore.com>
-
-	* bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: add -nognarl switch.
-
-2017-04-27  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch7.adb (Build_Finalize_Statements): Move Num_Comps to
-	Process_Component_List_For_Finalization as a local variable.
-	(Process_Component_For_Finalize): Add an extra parameter to avoid
-	global references.
-	(Process_Component_List_For_Finalization): Correct calls to
-	Process_Component_For_Finalize to take Num_Comps as a parameter.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch8.adb (Find_Direct_Name): Account for the case where
-	a use-visible entity is defined within a nested scope of an
-	instance when giving priority to entities which were visible in
-	the original generic.
-	* sem_util.ads, sem_util.adb (Nearest_Enclosing_Instance): New routine.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* raise-gcc.c: Don't use unwind.h while compiling
-	for the frontend, but mimic host behavior.
-
-2017-04-27  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Build_Discriminated_Subtype):
-	Propagate Has_Pragma_Unreferenced_Objects to the built subtype.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Global_Item):
-	Do not consider discriminants because they are not "entire
-	objects". Remove the discriminant-related checks because they are
-	obsolete.
-	(Analyze_Input_Output): Do not consider discriminants
-	because they are not "entire objects".
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not
-	perform check if the current scope does not come from source,
-	as is the case for a rewritten task body, because check has
-	been performed already, and may not be doable because of changed
-	visibility.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* a-cofuse.adb, a-cfdlli.adb, a-cofuse.ads, a-cfdlli.ads, a-cofuve.adb,
-	a-cofuve.ads, a-cofuma.adb, a-cofuma.ads, sem_eval.adb, a-cofuba.adb:
-	Minor reformatting.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Call): If the return type of a function
-	is incomplete in an context in which the full view is available,
-	replace the type of the call by the full view, to prevent spurious
-	type errors.
-	* exp_disp.adb (Check_Premature_Freezing): Disable check on an
-	abstract subprogram so that compiler does not reject a parameter
-	of a primitive operation of a tagged type being frozen, when
-	the untagged type of that parameter cannot be frozen.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Compute_Type_Key): Don't walk
-	representation items for irrelevant types, which could be in a
-	different source file.
-
-2017-04-27  Steve Baird  <baird@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference):
-	Don't expand Image, Wide_Image, Wide_Wide_Image attributes
-	for CodePeer.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_unst.ads: Fix typos in comments.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_eval.adb (Choice_Matches): Handle properly a real literal
-	whose type has a defined static predicate.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch4.adb (Insert_Dereference_Action):
-	Do not adjust the address of a controlled object when the
-	associated access type is subject to pragma No_Heap_Finalization.
-	Code reformatting.
-
-2017-04-27  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* gcc-interface/utils.c (gnat_type_for_size): Set
-        TYPE_ARTIFICIAL on created types.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to
-	modifications in functional containers.
-	* a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat
-	to improve readablity. Subprograms are separated between basic
-	operations, constructors and properties. Universally quantified
-	formulas in contracts are factorized in independant functions
-	with a name and a comment.  Names of parameters are improved.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Resolve_Type_Conversion): Do not
-	install a predicate check here since this is already done during
-	the expansion phase. Verify whether the operand satisfies the
-	static predicate (if any) of the target type.
-	* sem_ch3.adb (Analyze_Object_Declaration): Do
-	not install a predicate check if the object is initialized by
-	means of a type conversion because the conversion is subjected
-	to the same check.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* raise.c (__gnat_builtin_longjmp): Remove.
-	(__gnat_bracktrace):
-	Add a dummy definition for the compiler (__gnat_eh_personality,
-	__gnat_rcheck_04, __gnat_rcheck_10) (__gnat_rcheck_19,
-	__gnat_rcheck_20, __gnat_rcheck_21) (__gnat_rcheck_30,
-	__gnat_rcheck_31, __gnat_rcheck_32): Likewise.
-	* a-exexpr.adb: Renamed from a-exexpr-gcc.adb
-	* a-except.ads, a-except.adb: Renamed from a-except-2005.ads
-	and a-except-2005.adb.
-	* raise-gcc.c: Allow build in compiler, compiled as a C++
-	file.
-	(__gnat_Unwind_ForcedUnwind): Adjust prototype.
-	(db): Constify msg_format.
-	(get_call_site_action_for): Don't use void arithmetic.
-	* system.ads (Frontend_Exceptions): Set to False.
-	(ZCX_By_Default): Set to True.
-	(GCC_ZC_Support): Set to True.
-	* gcc-interface/Makefile.in: No more variants for a-exexpr.adb and
-	a-except.ad[sb].
-	* gcc-interface/Make-lang.in: Add support for backend zcx exceptions
-	in gnat1 and gnatbind.
-	* gnat1, gnatbind: link with raise-gcc.o, a-exctra.o, s-addima.o,
-	s-excmac.o, s-imgint.o, s-traceb.o, s-trasym.o, s-wchstw.o
-	* s-excmac.ads, s-excmac.adb: Copy of variants.
-	* a-except.o: Adjust preequisites.
-	Add handling of s-excmac-arm.adb and s-excmac-gcc.adb.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to
-	modifications in functional containers.
-	* a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat
-	to improve readablity. Subprograms are separated between basic
-	operations, constructors and properties. Universally quantified
-	formulas in contracts are factorized in independant functions
-	with a name and a comment.  Names of parameters are improved.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Resolve_Type_Conversion): Do not
-	install a predicate check here since this is already done during
-	the expansion phase. Verify whether the operand satisfies the
-	static predicate (if any) of the target type.
-	* sem_ch3.adb (Analyze_Object_Declaration): Do
-	not install a predicate check if the object is initialized by
-	means of a type conversion because the conversion is subjected
-	to the same check.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* a-except.ads, a-except.adb, a-exexpr.adb: Removed (will be
-	replaced by their variants).
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_prag.adb, a-cofuse.adb, a-cofuse.ads, einfo.adb, sem_prag.adb,
-	cstand.adb, par-prag.adb, a-cofuve.adb, a-cofuve.ads, a-cofuma.adb,
-	a-cofuma.ads, a-cofuba.adb, a-cofuba.ads: Minor reformatting.
-
-2017-04-27  Tristan Gingold  <gingold@adacore.com>
-
-	* s-excmac-gcc.ads, s-excmac-gcc.adb,
-	s-excmac-arm.ads, s-excmac-arm.adb (New_Occurrence): Rewrite it in
-	Ada95.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Establish_Transient_Scope): Rewrite
-	the loop which detects potential enclosing transient scopes. The
-	loop now terminates much earlier as transient scopes are bounded
-	by packages and subprograms.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cfdlli.adb, a-cfdlli.ads (=): Generic parameter removed to
-	allow the use of regular equality over elements in contracts.
-	(Cursor): Type is now public so that it can be used in
-	model functions.
-	(Formal_Model): Ghost package containing
-	model functions that are used in subprogram contracts.
-	(Current_To_Last): Removed, model functions should be used
-	instead.
-	(First_To_Previous): Removed, model functions should
-	be used instead.
-	(Strict_Equal): Removed, model functions
-	should be used instead.
-	(Append): Default parameter value
-	replaced by new wrapper to allow more precise contracts.
-	(Insert): Default parameter value replaced by new wrapper to
-	allow more precise contracts.
-	(Delete): Default parameter
-	value replaced by new wrapper to allow more precise contracts.
-	(Prepend): Default parameter value replaced by new wrapper to
-	allow more precise contracts.
-	(Delete_First): Default parameter
-	value replaced by new wrapper to allow more precise contracts.
-	(Delete_Last): Default parameter value replaced by new wrapper
-	to allow more precise contracts.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK): Perform specialized expansion
-	for object declarations.
-	(Expand_SPARK_N_Object_Declaration): New routine.
-	* sem_elab.adb (Check_A_Call): Include calls to the
-	Default_Initial_Condition procedure of a type under the SPARK
-	elaboration checks umbrella.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem.adb (Analyze): Diagnose an illegal iterated component
-	association.
-	* sem_util.ads, sem_util.adb
-	(Diagnose_Iterated_Component_Association): New routine.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* adaint.c (__gnat_get_current_dir): Return 0 in length if
-	getcwd fails.
-	* a-direct.adb, g-dirope.adb, osint.adb, s-os_lib.adb: Raise
-	exception if getcwd failed.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* exp_dbug.adb, exp_dbug.ads (Get_External_Name): Prefix ghost
-	entities with special prefix.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb Change the documentation of switch -gnatd.s.
-	* exp_ch7.adb (Make_Transient_Block): Transient blocks do not need
-	to manage the secondary stack when an enclosing scope already
-	performs this functionality (aka relaxed management). Switch
-	-gnatd.s may be used to force strict management in which case
-	the block will manage the secondary stack unconditionally. Add
-	a guard to stop the traversal when encountering a package or a
-	subprogram scope.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Refine further the handling of
-	limited views of return types in function calls. If the function
-	that returns a limited view appears in the current unit,
-	we do not replace its type by the non-limited view because
-	this transformation is performed int the back-end. However,
-	the type of the call itself must be the non-limited view, to
-	prevent spurious resolution errors.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo,ads, einfo.adb (Class_Wide_Preconds, Class_Wide_Postconds):
-	Removed, proposed implementation using generics for class-wide
-	preconditions proved impractical.
-	(Class_Wide_Clone): New attribute of subprogram. Designates
-	subprogram created for primitive operations with class-wide
-	pre/postconditions that contain calls to other primitives. The
-	clone holds the body of the original primitive, but the
-	pre/postonditions do not apply to it. The original body is
-	rewritten as a wrapper for a call to the clone.
-	(Is_Class_Wide_Clone): New flag to identify a Class_Wide_Clone. If
-	the flag is set, no code for the corresponding pre/postconditions
-	is inserted into its body.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* exp_prag.adb, par-prag.adb, sem_ch13.adb: Ignore
-	Scalar_Storage_Order if -gnatI is given.
-	* sem_prag.adb (Analyze_Pragma): Ignore
-	Default_Scalar_Storage_Order if -gnatI is given.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cofuba.ads (Add): Take as an additional input parameter
-	the position where the element should be inserted.
-	(Remove): New function that removes an element from the container.
-	* a-cofuma.ads (Add): Adapt to the new API of Base.Add.
-	* a-cofuse.ads (Add): Adapt to the new API of Base.Add.
-	(Remove): New function that removes an element from a set.
-	* a-cofuve.ads (Add): Adapt to the new API of Base.Add.
-	(Remove): New function that removes an element from a sequence.
-	(Insert): New function that adds anywhere in a sequence.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Generate_Range_Check): Revert previous change.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.adb: Minor reformatting/rewording.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref.adb (Generate_Reference): The use
-	of attribute 'Result is not considered a violation of pragma
-	Unreferenced.
-
-2017-04-27  Justin Squirek  <squirek@adacore.com>
-
-	* cstand.adb (Create_Standard): Correctly set
-	Directly_Designated_Type for Any_Access.
-	* sem_type.adb (Covers): Minor grammar fixes.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb: Minor cleanup.
-
-2017-04-27  Claire Dross  <dross@adacore.com>
-
-	* a-cofuba.ads, a-cofuba.adb (Ada.Containers.Functional_Base): New
-	private child of Ada.Containers used to implement all functional
-	containers.
-	* a-cofuma.ads, a-cofuma.adb (Ada.Containers.Functional_Maps): New
-	child of Ada.Containers. It provides functional indefinite unbounded
-	maps which can be used as high level models for specification
-	of data structures.
-	* a-cofuse.ads, a-cofuse.adb (Ada.Containers.Functional_Sets): New
-	child of Ada.Containers. It provides functional indefinite unbounded
-	sets which can be used as high level models for specification
-	of data structures.
-	* a-cofuve.ads, a-cofuve.adb (Ada.Containers.Functional_Vectors): New
-	child of Ada.Containers.  It provides functional indefinite unbounded
-	vectors which can be used as high level models for specification
-	of data structures.
-	* Makefile.rtl: Add new packages.
-	* impunit.adb: Add new packages.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch4.adb: Minor reformatting.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Analyze_Associations): minor reformatting.
-	(Check_Fixed_Point_Actual): Do not emit a warning on a fixed
-	point type actual that has user-defined arithmetic primitives,
-	when there is a previous actual for a formal package that defines
-	a fixed-point type with the parent user-defined operator.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Generate_Range_Check): Reinstate part of previous change.
-	* sem_attr.adb (Resolve_Attribute): Generate a range check when
-	the component type allows range checks.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aux.adb (Is_Generic_Formal): Use original node to locate
-	corresponding declaration, because formal derived types are
-	rewritten as private extensions.
-
-2017-04-27  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension_Binary_Op): Do not check
-	dimensions of operands if node has been analyzed already, because
-	previous analysis and dimension checking will have removed the
-	dimension information from the operands.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* debug.adb: Document the use of switch -gnatd.s.
-	* einfo.ads Update the documentation on attribute
-	Sec_Stack_Needed_For_Return and attribute Uses_Sec_Stack. Remove
-	the uses of these attributes from certain entities.
-	* exp_ch7.adb (Make_Transient_Block): Reimplement the circuitry
-	which determines whether the block should continue to manage
-	the secondary stack.
-	(Manages_Sec_Stack): New routine.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* atree.ads: Minor edit.
-
-2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sinfo.ads: Update the section on Ghost mode. Add
-	a section on SPARK mode. Update the placement of section on
-	expression functions.
-
-2017-04-27  Bob Duff  <duff@adacore.com>
-
-	* sinput.adb (Get_Source_File_Index): Don't
-	assert that S is in the right range in the case where this is
-	a .dg file under construction.
-
-2017-04-27  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Check_Result_And_Post_State):
-	Handle more precisely each conjunct in expressions formed by
-	and'ing sub-expressions.
-
-2017-04-27  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch4.adb, sem_ch4.adb: Minor typo fix and reformatting.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat_rm.texi, gnat_ugn.texi,
-	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-	doc/gnat_ugn/platform_specific_information.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/the_gnat_library.rst,
-	doc/gnat_rm/implementation_defined_pragmas.rst,
-	doc/gnat_rm/representation_clauses_and_pragmas.rst,
-	doc/gnat_rm/implementation_of_specific_ada_features.rst,
-	doc/gnat_rm/implementation_defined_aspects.rst,
-	doc/gnat_rm/implementation_defined_characteristics.rst: Update
-	documentation.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Case_Expression): Emit error message when
-	generating C code on complex case expressions.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Generate a warning instead
-	of silently ignoring pragma Ada_xxx in Latest_Ada_Only mode.
-	* directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Use
-	Ada_2012 instead of Ada_2005 to be compatible with the above
-	change.
-	* bindgen.adb: Silence new warning on pragma Ada_95.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Generate_Range_Check): Revert part of previous change.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Try_Container_Indexing): Handle properly a
-	container indexing operation that appears as a an actual in a
-	parameter association in a procedure call.
-
-2017-04-25  Olivier Ramonat  <ramonat@adacore.com>
-
-	* prj-proc.adb, sem_util.adb, s-stposu.adb, sem_attr.adb, prj-conf.ads:
-	Fix spelling mistakes.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* types.ads, osint.adb, sinput-c.adb, sinput-d.adb, sinput-l.adb,
-	* sinput-p.adb: Use regular fat pointers, with bounds checking,
-	for source buffers.  Fix misc obscure bugs.
-	* sinput.ads, sinput.adb: Use regular fat pointers, with bounds
-	checking, for source buffers.  Modify representation clause for
-	Source_File_Record as appropriate.  Move Source_File_Index_Table
-	from spec to body, because it is not used outside the body.
-	Move Set_Source_File_Index_Table into the private part, because
-	it is used only in the body and in children.  Use trickery to
-	modify the dope in the generic instantiation case.  It's ugly,
-	but not as ugly as the previous method.  Fix documentation.
-	Remove obsolete code.
-	* fname-sf.adb, targparm.adb: Fix misc out-of-bounds
-	indexing in source buffers.
-	* fmap.adb: Avoid conversions from one string type to another.
-	Remove a use of global name buffer.
-	* osint.ads, sfn_scan.ads, sfn_scan.adb, sinput-c.ads: Comment
-	fixes.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, exp_ch4.adb: Minor reformatting.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb: Code clean up in various routines.
-	(Generate_Range_Check): Do not generate a range check when the
-	expander is not active or when index/range checks are suppressed
-	on the target type.
-	(Insert_List_After_And_Analyze, Insert_List_Before_And_Analyze):
-	Remove variants that include a Supress parameter. These routines
-	are never used, and were introduced before the current scope-based
-	check suppression method.
-
-2017-04-25  Vasiliy Fofanov  <fofanov@adacore.com>
-
-	* prj-part.adb, cstreams.c, osint.adb, osint.ads: Remove VMS specific
-	code and some subprogram calls that are now noop.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Case_Expression): Take
-	Minimize_Expression_With_Actions into account when possible.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Known_Non_Null): Moved to Sem_Util.
-	(Known_Null): Moved to Sem_Util.
-	* exp_util.ads (Known_Non_Null): Moved to Sem_Util.
-	(Known_Null): Moved to Sem_Util.
-	* sem_util.adb Add new enumeration type Null_Status_Kind.
-	(Known_Non_Null): Moved from Exp_Util. Most of the logic in
-	this routine is now carried out by Null_Status.
-	(Known_Null): Moved from Exp_Util. Most of the logic in this routine
-	is now carried out by Null_Status.
-	(Null_Status): New routine.
-	* sem_util.ads (Known_Non_Null): Moved from Exp_Util.
-	(Known_Null): Moved from Exp_Util.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Do not report an
-	error on the return type of an expression function that is a
-	completion, if the type is derived from a generic formal type.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Dimensions_Of_Operand): The dimensions of a type
-	conversion are those of the target type.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* a-clrefi.adb: Minor cleanup.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, exp_util.ads, types.ads: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* err_vars.ads, fmap.adb, fmap.ads, comperr.adb, fname-sf.adb,
-	types.adb, types.ads, types.h, sinput-l.adb, targparm.adb,
-	errout.adb, sinput.adb, sinput.ads, cstand.adb, scn.adb,
-	scn.ads, gnatls.adb: Eliminate the vestigial Internal_Source_File and
-	the Internal_Source buffer. This removes the incorrect call to "="
-	the customer noticed.
-	Wrap remaining calls to "=" in Null_Source_Buffer_Ptr. We
-	eventually need to eliminate them altogether. Or else get rid
-	of zero-origin addressing.
-
-2017-04-25  Claire Dross  <dross@adacore.com>
-
-	* exp_util.ads (Expression_Contains_Primitives_Calls_Of): New
-	function used in GNATprove to know if an expression contains
-	non-dispatching calls on primitives of a tagged type.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* rtsfind.adb (Initialize): Initialize
-	First_Implicit_With. Building the compiler with Normalize_Scalars
-	and validity checking finds this being used as an uninitialized
-	variable.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
-	Add a warning about SPARK mode management. The routine now
-	saves and restores both the mode and associated pragma.
-	(Analyze_Entry_Or_Subprogram_Contract): Add a warning about
-	SPARK mode management. The routine now saves and restores both
-	the mode and associated pragma.
-	(Analyze_Object_Contract):
-	Add a warning about SPARK mode management. The routine
-	now saves and restores both the mode and associated pragma.
-	(Analyze_Package_Body_Contract): Add a warning about SPARK mode
-	management.  The routine now saves and restores both the mode
-	and associated pragma.	(Analyze_Package_Contract): Add a warning
-	about SPARK mode management. The routine now saves and restores
-	both the mode and associated pragma.
-	(Analyze_Task_Contract):
-	Add a warning about SPARK mode management. The routine now saves
-	and restores both the mode and associated pragma.
-	* expander.adb (Expand): Change the way the Ghost mode is saved
-	and restored.
-	* exp_ch3.adb (Freeze_Type): Change the way the Ghost mode is
-	saved and restored.
-	* exp_disp.adb (Make_DT): Change the way the Ghost mode is saved
-	and restored.
-	* exp_util.adb (Build_DIC_Procedure_Body):
-	Change the way the Ghost mode is saved and restored.
-	(Build_DIC_Procedure_Declaration): Change the way the Ghost
-	mode is saved and restored.
-	(Build_Invariant_Procedure_Body):
-	Change the way the Ghost mode is saved and restored.
-	(Build_Invariant_Procedure_Declaration): Change the way the Ghost
-	mode is saved and restored.
-	(Make_Predicate_Call): Change the
-	way the Ghost mode is saved and restored.
-	* freeze.adb (Freeze_Entity): Change the way the Ghost mode is
-	saved and restored.
-	* ghost.adb (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
-	and its assignment.
-	(Mark_And_Set_Ghost_Body): Remove parameter
-	Mode and its assignment.
-	(Mark_And_Set_Ghost_Completion):
-	Remove parameter Mode and its assignment.
-	(Mark_And_Set_Ghost_Declaration): Remove parameter Mode and its
-	assignment.
-	(Mark_And_Set_Ghost_Instantiation): Remove parameter
-	Mode and its assignment.
-	(Mark_And_Set_Ghost_Procedure_Call):
-	Remove parameter Mode and its assignment.
-	(Set_Ghost_Mode):
-	Remove parameter Mode and its assignment.
-	* ghost.ads (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
-	and update the comment on usage.
-	(Mark_And_Set_Ghost_Body):
-	Remove parameter Mode and update the comment on usage.
-	(Mark_And_Set_Ghost_Completion): Remove parameter Mode and
-	update the comment on usage.
-	(Mark_And_Set_Ghost_Declaration):
-	Remove parameter Mode and update the comment on usage.
-	(Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and
-	update the comment on usage.
-	(Mark_And_Set_Ghost_Procedure_Call):
-	Remove parameter Mode and update the comment on usage.
-	(Set_Ghost_Mode): Remove parameter Mode and update the comment
-	on usage.
-	* lib.ads Remove obsolete fields SPARK_Mode_Pragma from various
-	types.
-	* lib-load.adb (Create_Dummy_Package_Unit): Remove the assignment
-	of obsolete field SPARK_Mode_Pragma.
-	(Load_Main_Source): Remove
-	the assignment of obsolete field SPARK_Mode_Pragma.
-	(Load_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma.
-	* lib-writ.adb (Add_Preprocessing_Dependency): Remove
-	the assignment of obsolete field SPARK_Mode_Pragma.
-	(Ensure_System_Dependency): Remove the assignment of obsolete
-	field SPARK_Mode_Pragma.
-	* rtsfind.adb (Load_RTU): Add a warning about Ghost and SPARK
-	mode management. Change the way Ghost and SPARK modes are saved
-	and restored.
-	* sem.adb (Analyze): Change the way the Ghost mode is saved
-	and restored.
-	* sem_ch3.adb (Analyze_Object_Declaration): Change the way the
-	Ghost mode is saved and restored.
-	(Process_Full_View): Change
-	the way the Ghost mode is saved and restored.
-	* sem_ch5.adb (Analyze_Assignment): Change the way the Ghost
-	mode is saved and restored.
-	* sem_ch6.adb (Analyze_Procedure_Call): Change the way the Ghost
-	mode is saved and restored.
-	(Analyze_Subprogram_Body_Helper):
-	Change the way the Ghost mode is saved and restored.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Change the way the
-	Ghost mode is saved and restored.
-	* sem_ch10.adb (Analyze_Subunit): Add a warning about SPARK mode
-	management. Save the SPARK mode-related data prior to any changes
-	to the scope stack and contexts. The mode is then reinstalled
-	before the subunit is analyzed in order to restore the original
-	view of the subunit.
-	* sem_ch12.adb (Analyze_Package_Instantiation): Update the
-	warning on region management.  Change the way the Ghost and
-	SPARK modes are saved and restored.
-	(Inline_Instance_Body):
-	Add a warning about SPARK mode management. Code clean up.
-	(Analyze_Subprogram_Instantiation): Update the warning on region
-	management.  Change the way the Ghost and SPARK modes are saved
-	and restored.
-	(Instantiate_Package_Body): Update the warning
-	on region management. Change the way the Ghost and SPARK modes
-	are saved and restored.
-	(Instantiate_Subprogram_Body): Update
-	the warning on region management. Change the way the Ghost and
-	SPARK modes are saved and restored.
-	(Set_Instance_Env): Add a
-	warning about SPARK mode management. Change the way SPARK mode
-	is saved and restored.
-	* sem_ch13.adb (Build_Predicate_Functions):
-	Change the way the Ghost mode is saved and restored.
-	(Build_Predicate_Function_Declaration): Change the way the Ghost
-	mode is saved and restored.
-	* sem_elab.adb (Check_Elab_Calls): Add a warning about SPARK
-	mode management. Change the way SPARK mode is saved and restored.
-	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
-	Change the way the Ghost mode is saved and restored.
-	(Analyze_Initial_Condition_In_Decl_Part): Change the way
-	the Ghost mode is saved and restored.
-	(Analyze_Pragma):
-	Change the way the Ghost mode is saved and restored.
-	(Analyze_Pre_Post_Condition_In_Decl_Part): Change the way the
-	Ghost mode is saved and restored.
-	* sem_util.adb (Install_SPARK_Mode): New routine.
-	(Restore_SPARK_Mode): New routine.
-	(Save_SPARK_Mode_And_Set): Removed.
-	(Set_SPARK_Mode): New routine.
-	* sem_util.ads (Install_SPARK_Mode): New routine.
-	(Restore_SPARK_Mode): New routine.
-	(Save_SPARK_Mode_And_Set): Removed.
-	(Set_SPARK_Mode): New routine.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb, sem_util.ads (From_Nested_Package): New predicate
-	to determine whether a type is declared in a local package that
-	has not yet been frozen.
-	* freeze.adb (Freeze_Before): Use new predicate to determine
-	whether a local package must be installed on the scope stack
-	in order to evaluate in the proper scope actions generated by
-	aspect specifications, such as Predicate
-	* sem_ch13.adb: Simplify code in Analyze_Aspects_At_Freeze_Point
-	using new predicate.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not consider
-	comparisons between non- scalar expressions expressions because
-	their values cannot be invalidated.
-	* sem_warn.ads (Warn_On_Constant_Valid_Condition): Update the
-	comment on usage.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* par_sco.adb: Minor reformatting.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): If entity
-	is a type from an unfrozen local package, install package to
-	complete the analysis of delayed aspects of the type.
-
-2017-04-25  Tristan Gingold  <gingold@adacore.com>
-
-	* bingen.adb (System_Version_Control_Used): New variable.
-	(Resolve_Binder_Options): Set the above variable.
-	(Gen_Output_File_Ada): Conditionally call Gen_Versions.
-	(Gen_Elab_Order): Emit blank line before.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_cat.adb (Validate_RT_RAT_Component): Added
-	an extra check to ignore incomplete types.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma, case Pragma_Check): Remove
-	bogus circuitry for the case where Name is Predicate.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* par_sco.adb(Traverse_Declarations_Or_Statements.Traverse_Aspects):
-	Create SCOs for Predicate aspects in disabled
-	state initially, to be enabled later on by...
-	* sem_ch13.adb (Build_Predicate_Functions.Add_Predicates): Mark
-	SCO for predicate as enabled.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* comperr.adb (Compiler_Abort): Remove now obsolete pair of
-	pragmas Warnings Off / On.
-	* namet.adb (Finalize): Remove now obsolete pair of pragmas
-	Warnings Off / On.
-	* output.adb: Remove now obsolete pair of pragmas Warnings Off / On.
-	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
-	consider comparisons between static expressions because their
-	values cannot be invalidated.
-	* urealp.adb (Tree_Read): Remove now obsolete pair of pragmas
-	Warnings Off / On.
-	(Tree_Write): Remove now obsolete pair of pragmas Warnings Off / On.
-	* usage.adb Remove now obsolete pair of pragmas Warnings Off / On.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb (In_Task_Activation): Trace internal calls in
-	task bodies.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_prag.adb, sem_warn.adb, sem_eval.adb: Minor reformatting and
-	typo fixes.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* comperr.adb (Compiler_Abort): Add a pair of pragma Warnings
-	On/Off to defend against a spurious warning in conditional
-	compilation.
-	* exp_ch4.adb (Rewrite_Comparison): Reimplemented.
-	* namet.adb (Finalize): Add a pair of pragma Warnings On/Off to
-	defend against a spurious warning in conditional compilation.
-	* output.adb Add a pair of pragma Warnings On/Off to defend
-	against a spurious warning in conditional compilation.
-	* sem_eval.adb (Eval_Relational_Op): Major code clean up.
-	(Fold_General_Op): New routine.
-	(Fold_Static_Real_Op): New routine.
-	(Test_Comparison): New routine.
-	* sem_eval.ads (Test_Comparison): New routine.
-	* sem_warn.adb (Is_Attribute_Constant_Comparison): New routine.
-	(Warn_On_Constant_Valid_Condition): New routine.
-	(Warn_On_Known_Condition): Use Is_Attribute_Constant_Comparison
-	to detect a specific case.
-	* sem_warn.adb (Warn_On_Constant_Valid_Condition): New routine.
-	* urealp.adb (Tree_Read): Add a pair of pragma Warnings On/Off
-	to defend against a spurious warning in conditional compilation.
-	(Tree_Write): Add a pair of pragma Warnings On/Off to defend
-	against a spurious warning in conditional compilation.
-	* usage.adb Add a pair of pragma Warnings On/Off to defend
-	against a spurious warning in conditional compilation.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* sinfo.ads, sem_ch13.adb: Update comment.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb (Is_Post_State): A reference to a
-	generic in out parameter is considered a change in the post-state
-	of a subprogram.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch12.adb (Load_Parent_Of_Generic); When retrieving the
-	declaration of a subprogram instance within its wrapper package,
-	skip over null statements that may result from the rewriting of
-	ignored pragmas.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_attr.adb (Expand_Attribute_Reference, case 'Read):
-	If the type is an unchecked_union, replace the attribute with
-	a Raise_Program_Error (rather than inserting such before the
-	attribute reference) to handle properly the case where we are
-	processing a component of a larger record, and we need to prevent
-	further expansion for the unchecked union.
-	(Expand_Attribute_Reference, case 'Write): If the type is
-	an unchecked_union, check whether enclosing scope is a Write
-	subprogram. Replace attribute with a Raise_Program_Error if the
-	discriminants of the unchecked_union type have not default values
-	because such a use is erroneous..
-
-2017-04-25  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Task_Type_Declaration):
-	Add relative_deadline to task record on edf profile.
-	(Make_Initialize_Protection): Pass deadline_floor value on edf profile.
-	(Make_Task_Create_Call): Pass relative_deadline value.
-	* par-prag.adb (Prag): Handle Pragma_Deadline_Floor.
-	* s-rident.ads (Profile_Name): Add GNAT_Ravenscar_EDF.
-	(Profile_Info): Add info for GNAT_Ravenscar_EDF.
-	* sem_prag.adb (Set_Ravenscar_Profile): Handle
-	GNAT_Ravenscar_EDF (set scheduling policy).
-	(Analyze_Pragma): Handle GNAT_Ravenscar_EDF profile and Deadline_Floor
-	pragma.
-	(Sig_Flags): Add choice for Pragma_Deadline_Floor.
-	* snames.ads-tmpl (Name_Deadline_Floor, Name_Gnat_Ravenscar_EDF):
-	New names.
-	(Pragma_Deadline_Floor): New pragma.
-	* targparm.adb (Get_Target_Parameters): Recognize
-	GNAT_Ravenscar_EDF profile.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* gnatvsn.ads (Library_Version): Bump to 8. Update comment.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aux.adb (Nearest_Ancestor): Use original node of type
-	declaration to locate nearest ancestor, because derived
-	type declarations for record types are rewritten as record
-	declarations.
-	* sem_ch13.adb (Add_Call): Use an unchecked conversion to handle
-	properly derivations that are completions of private types.
-	(Add_Predicates): If type is private, examine rep. items of full
-	view, which may include inherited predicates.
-	(Build_Predicate_Functions): Ditto.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree.Visit_Entity): Extend previous change
-	to generate new entities for subtype declarations located in
-	Expression_With_Action nodes.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_elab.adb (Check_A_Call): Remove
-	local variables Is_DIC_Proc and Issue_In_SPARK. Verify the
-	need for Elaborate_All when SPARK elaboration checks are
-	required. Update the checks for instances, variables, and calls
-	to Default_Initial_Condition procedures.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* aspects.ads, aspects.adb: Make the GNAT-specific pragma No_Inline
-	into a boolean aspect, in analogy with the Ada aspect No_Return.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb, sem_ch13.adb, sem_ch6.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_res.adb (Resolve_Actuals): Under -gnatd.q, reset
-	Is_True_Constant for an array variable that is passed to a
-	foreign function as an 'in' parameter.
-	* debug.adb: Document -gnatd.q.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): If expression function
-	is completion and return type is an access type do not freeze
-	designated type: this will be done in the process of freezing
-	the expression if needed.
-	(Freeze_Expr_Types): Check whether type is complete before
-	creating freeze node, to provide a better error message if
-	reference is premature.
-	* sem_ch13.adb (Check_Indexing_Functions): Ignore inherited
-	functions created by type derivations.
-
-2017-04-25  Pascal Obry  <obry@adacore.com>
-
-	* g-sercom.ads: Add simple usage of GNAT.Serial_Communication.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_res.adb (Resolve_Type_Conversion):
-	When resolving against any fixed type, set the type of the
-	operand as universal real when the operand is a multiplication
-	or a division where both operands are of any fixed type.
-	(Unique_Fixed_Point_Type): Add local variable ErrN. Improve the
-	placement of an error message by pointing to the operand of a
-	type conversion rather than the conversion itself.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_ch13.adb (Build_Predicate_Function_Declaration): Set
-	Needs_Debug_Info when producing SCOs.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
-	Always pass a null finalization master for a library level named access
-	type to which a pragme No_Heap_Finalization applies.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	PR ada/78845
-
-	* a-ngcoar.adb, a-ngrear.adb (Inverse): call Unit_Matrix with First_1
-	set to A'First(2) and vice versa.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* freeze.adb (Freeze_Record_Type): Remove obsolete
-	rule on volatile tagged record restriction on SPARK code.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_prag.adb (minor) Fix SPARK RM reference.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb, sem_util.ads (Unique_Defining_Entity): Update
-	comment to reflect which entity is chosen as unique entity.
-	(Unique_Entity): Return full view instead of private spec for
-	protected type or task type. Fix possible incorrect access when
-	called on entry.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_res.adb (Set_Slice_Subtype): Treat specially bit-packed
-	array types only instead of all packed array types.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Conforming_Types): If type of formal as a specified
-	dimension system, verify that dimensions of both match.
-	(Check_Conformance): Add error message in case of dimension
-	mismatch.
-	* sem_dim.ads, sem_dim.adb (Dimensions_Match): New utility
-	predicate.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* gnatxref.adb, gnatfind.adb: Avoid using the term project file,
-	confusing.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb: Minor refactoring.
-	* freeze.adb (Freeze_Record_Type): Fix checking of SPARK RM 7.1.3(5).
-
-2017-04-25  Claire Dross  <dross@adacore.com>
-
-	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Go to
-	ultimate alias when accessing overridden operation. Indeed, if the
-	overridden operation is itself inherited, it won't have any explicit
-	contract.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_warn.adb (Warn_On_Overlapping_Actuals): There can be no
-	overlap if the two formals have different types, because formally
-	the corresponding actuals cannot designate the same objects.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Dimensions_Of_Operand): minot cleanups: a) If
-	dimensions are present from context, use them.	b) If operand is
-	a static constant rewritten as a literal, obtain the dimensions
-	from the original declaration, otherwise use dimensions of type
-	established from context.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Is_Effectively_Volatile): Protect against base type
-	of array that is private.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch3.adb, exp_util.adb, sem_prag.adb, exp_ch4.adb: Minor
-	reformatting.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* a-ngelfu.adb, a-ngelfu.ads: Add SPARK_Mode On on spec, Off
-	on body.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_disp.adb (Check_Dispatching_Context): Add guard to refine
-	the check that recognizes a call to a private overridding and
-	replaces the called subprogram with its alias.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb: Minor reformatting.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch3.adb (Freeze_Type): Add condition to always treat
-	interface types as a partial view of a private type for the
-	generation of invariant procedure bodies.
-	* exp_util.adb, exp_util.ads (Add_Inherited_Invariants):
-	Add a condition to get the Corresponding_Record_Type for
-	concurrent types, add condition to return in the absence of a
-	class in the pragma, remove call to Replace_Type_References,
-	and add call to Replace_References.
-	(Add_Interface_Invariatns),
-	(Add_Parent_Invariants): Modify call to Add_Inherited_Invariants
-	to including the working type T.
-	(Add_Own_Invariants): Remove
-	legacy condition for separate units, remove dispatching for ASIS
-	and save a copy of the expression in the pragma expression.
-	(Build_Invariant_Procedure_Body): Default initalize vars,
-	remove return condition on interfaces, always use the
-	private type for interfaces, and move the processing of types
-	until after the processing of invariants for the full view.
-	(Build_Invariant_Procedure_Declaration): Remove condition
-	to return if an interface type is encountered and add
-	condition to convert the formal parameter to its class-wide
-	counterpart if Work_Typ is abstract.
-	(Replace_Type): Add call to Remove_Controlling_Arguments.
-	(Replace_Type_Ref): Remove class-wide dispatching for the current
-	instance of the type.
-	(Replace_Type_References): Remove parameter "Derived"
-	(Remove_Controlling_Arguments): Created in order to removing
-	the controlliong argument from calls to primitives in the case
-	of the formal parameter being an class-wide abstract type.
-	* sem_ch3.adb (Build_Assertion_Bodies_For_Type): Almost identical
-	to the change made to Freeze_Type in exp_ch3. Add a condition
-	to treat interface types as a partial view.
-	* sem_prag.adb (Analyze_Pragma): Modify parameters in the call
-	to Build_Invariant_Procedure_Declaration to properly generate a
-	"partial" invariant procedure when Typ is an interface.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* a-numeri.ads: Go back to using brackets encoding for the Greek
-	letter pi.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Derive_Subprogram): Implement rule in RM 6.1.1
-	(10-15): if derived type T with progenitors is abstract,
-	and primitive P of this type inherits non-trivial classwide
-	preconditions from both a parent operation and from an interface
-	operation, then the inherited operation is abstract if the parent
-	operation is not null.
-	* sem_disp.ads, sem_disp.adb: replace function Covers_Some_Interface
-	with Covered_Interface_Op to yield the actual interface operation
-	that is implemented by a given inherited operation.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Op_Expon): Relocate left
-	and right operands after performing the validity checks. Required
-	because validity checks may remove side effects from the operands.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_attr.adb (Attribute_Unrestricted_Access):
-	Do not disable implicit type conversion.  Required to generate
-	code that displaces the pointer to reference the secondary
-	dispatch table.
-
-2017-04-25  Pascal Obry  <obry@adacore.com>
-
-	* prj-attr.adb, snames.ads-tmpl: Add package Install's
-	Required_Artifacts attribute.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.adb (Same_Value): String literals are compile-time
-	values, and comparing them must use Expr_Value_S.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Complete_Object_Interpretation): If an explicit
-	dereference is introduced for the object, and the object is
-	overloaded, do not check whether it is aliased, because it may
-	include an implicit dereference.
-	* sem_type.adb (Disambiguate): If two interpretations are access
-	attribute types with the same designated type keep either of
-	them and do not report an ambiguity.  A true ambiguity will be
-	reported elsewhere.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* a-numeri.ads: Change the encoding of Greek letter Pi from
-	brackets encoding to UTF-8.  Use pragma Wide_Character_Encoding
-	to indicate the encoding. We considered using a byte order mark
-	(BOM), but that causes various trouble (misc software eats the
-	BOM, if you have a patch with a BOM, then it's not at the start
-	of the patch, so it's not a BOM, the BOM affects with-ing files,
-	etc.).
-	* scng.adb, s-wchcnv.adb: Minor.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, sem_ch8.adb, sem_disp.adb: Minor reformatting.
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Add_Internal_Interface_Entities): Move
-	Has_Non_Trivial_Precondition to sem_util. for use elsewhere.
-	Improve error message on operations that inherit non-conforming
-	classwide preconditions from ancestor and progenitor.
-	* sem_util.ads, sem_util.adb (Has_Non_Trivial_Precondition):
-	moved here from sem_ch3.
-	* sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality
-	check given in RM 6.1.1 (17) concerning renamings of overriding
-	operations that inherits class-wide preconditions from ancestor
-	or progenitor.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Code cleanup.
-	(Build_Adjust_Statements): Code cleanup.
-	(Build_Finalizer): Update the initialization of
-	Exceptions_OK.
-	(Build_Finalize_Statements): Code cleanup.
-	(Build_Initialize_Statements): Code cleanup.
-	(Make_Deep_Array_Body): Update the initialization of
-	Exceptions_OK.
-	(Make_Deep_Record_Body): Update the initialization of Exceptions_OK.
-	(Process_Object_Declaration): Generate a null exception handler only
-	when exceptions are allowed.
-	(Process_Transients_In_Scope): Update the initialization of
-	Exceptions_OK.
-	* exp_util.ads, exp_util.adb (Exceptions_In_Finalization_OK): New
-	routine.
-	* sem_ch11.adb (Analyze_Exception_Handlers): Do not check any
-	restrictions when the handler is internally generated and the
-	mode is warnings.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Has_Non_Trivial_Precondition): New predicate to
-	enforce legality rule on classwide preconditions inherited from
-	both an ancestor and a progenitor (RM 6.1.1 (10-13).
-	* sem_disp.adb (Check_Dispatching_Context): A call to an abstract
-	subprogram need not be dispatching if it appears in a precondition
-	for an abstract or null subprogram.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch10.adb: Minor typo fix.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* gcc-interface/Makefile.in: Cleanup VxWorks targets.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* fname.adb (Is_Internal_File_Name): Arrange for the slices to
-	have a length which is a power of 2.
-	(Is_Predefined_File_Name): Likewise. Adjust comment.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* exp_aggr.adb (Component_Count): Protect the
-	arithmetic from attempting to convert a value >= 2**31 to Int,
-	which would otherwise raise Constraint_Error.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* opt.ads (Locking_Policy): Fix incorrect documentation. The
-	first character of the policy name is not unique.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-fileio.adb (Name): Raise Use_Error if the file is a temp file.
-	* s-ficobl.ads (Is_Temporary_File): Remove incorrect comment
-	about this flag not being used. It was already used, and it is
-	now used more.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb Flag301 is now known as Ignore_SPARK_Mode_Pragmas.
-	(Ignore_SPARK_Mode_Pragmas): New routine.
-	(Set_Ignore_SPARK_Mode_Pragmas): New routine.
-	(Write_Entity_Flags): Add an entry for Ignore_SPARK_Mode_Pragmas.
-	* einfo.ads Add new attribute Ignore_SPARK_Mode_Pragmas and update
-	related entities.
-	(Ignore_SPARK_Mode_Pragmas): New routine
-	along with pragma Inline.
-	(Set_Ignore_SPARK_Mode_Pragmas): New routine along with pragma Inline.
-	* opt.ads Rename flag Ignore_Pragma_SPARK_Mode to
-	Ignore_SPARK_Mode_Pragmas_In_Instance.
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
-	Save and restore the value of global flag
-	Ignore_SPARK_Mode_Pragmas_In_Instance. Set or reinstate the value
-	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when either
-	the corresponding spec or the body must ignore all SPARK_Mode
-	pragmas found within.
-	(Analyze_Subprogram_Declaration): Mark
-	the spec when it needs to ignore all SPARK_Mode pragmas found
-	within to allow the body to infer this property in case it is
-	instantiated or inlined later.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Save and restore the
-	value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set
-	the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance
-	when the corresponding spec also ignored all SPARK_Mode pragmas
-	found within.
-	(Analyze_Package_Declaration): Mark the spec when
-	it needs to ignore all SPARK_Mode pragmas found within to allow
-	the body to infer this property in case it is instantiated or
-	inlined later.
-	* sem_ch12.adb (Analyze_Formal_Package_Declaration):
-	Save and restore the value of flag
-	Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the
-	formal spec when it needs to ignore all SPARK_Mode
-	pragmas found within to allow the body to infer this
-	property in case it is instantiated or inlined later.
-	(Analyze_Package_Instantiation): Save and restore the value
-	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark
-	the instance spec when it needs to ignore all SPARK_Mode
-	pragmas found within to allow the body to infer this
-	property in case it is instantiated or inlined later.
-	(Analyze_Subprogram_Instantiation): Save and restore the value
-	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the
-	instance spec and anonymous package when they need to ignore
-	all SPARK_Mode pragmas found within to allow the body to infer
-	this property in case it is instantiated or inlined later.
-	(Instantiate_Package_Body): Save and restore the value of global
-	flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set the value of
-	global flag Ignore_SPARK_Mode_Pragmas_In_Instance when the
-	corresponding instance spec also ignored all SPARK_Mode pragmas
-	found within.
-	(Instantiate_Subprogram_Body): Save and restore the
-	value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set
-	the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance
-	when the corresponding instance spec also ignored all SPARK_Mode
-	pragmas found within.
-	* sem_prag.adb (Analyze_Pragma): Update the reference to
-	Ignore_Pragma_SPARK_Mode.
-	* sem_util.adb (SPARK_Mode_Is_Off): A construct which ignored
-	all SPARK_Mode pragmas defined within yields mode "off".
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* bindgen.adb, exp_dbug.adb, errout.adb, fname.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* exp_atag.adb (Build_CW_Membership): Add "Suppress =>
-	All_Checks" to avoid generating unnecessary checks.
-	* exp_ch4.adb (Expand_N_In, Make_Tag_Check): Add "Suppress =>
-	All_Checks".
-	* sem.ads: Fix comment.
-	* expander.ads: Fix comment.
-	* exp_atag.ads: Fix comment: "Index = 0" should be
-	"Index >= 0".
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* s-taprop-linux.adb: Minor editorial fixes.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree): Put back the declarations of the
-	hash tables at library level.  Reinstate the NCT_Hash_Tables_Used
-	variable and set it to True whenever the main hash table is
-	populated.  Short- circuit the Assoc function if it is false
-	and add associated guards.
-
-2017-04-25  Olivier Hainque  <hainque@adacore.com>
-
-	* bindgen.adb (Gen_Elab_Calls): Also update counter of lone
-	specs without elaboration code that have an elaboration counter
-	nevertheless, e.g.  when compiled with -fpreserve-control-flow.
-	* sem_ch10.adb (Analyze_Compilation_Unit):
-	Set_Elaboration_Entity_Required when requested to preserve
-	control flow, to ensure the unit elaboration is materialized at
-	bind time, resulting in the inclusion of the unit object file
-	in the executable closure at link time.
-
-2017-04-25  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_dbug.adb: In Debug_Renaming_Declaration,
-	when dealing with indexed component, accept to produce a renaming
-	symbol when the index is an IN parameter or when it is a name
-	defined in an outer scope.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* errout.adb (Error_Msg): Adapt continuation
-	message in instantiations and inlined bodies for info messages.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* fname.adb (Has_Internal_Extension): Add pragma Inline.
-	Use direct 4-character slice comparisons.
-	(Has_Prefix): Add
-	pragma Inline.	(Has_Suffix): Delete.
-	(Is_Internal_File_Name):
-	Test Is_Predefined_File_Name first.
-	(Is_Predefined_File_Name):
-	Use direct slice comparisons as much as possible and limit all
-	comparisons to at most 8 characters.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Code cleanup.
-	* exp_ch6.adb (Add_Validation_Call_By_Copy_Code): New routine.
-	(Expand_Actuals): Generate proper copy-back for a validation
-	variable when it acts as the argument of a type conversion.
-	* sem_util.adb (Is_Validation_Variable_Reference): Augment the
-	predicate to operate on type qualifications.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb, exp_ch6.adb, binde.adb, sem_disp.adb, s-fileio.adb:
-	Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb (No_Return): Give an error if the pragma applies
-	to a body. Specialize the error for the specless body case,
-	as is done for (e.g.) pragma Convention.
-	* debug.adb: Add switch -gnatd.J to disable the above legality
-	checks. This is mainly for use in our test suite, to avoid
-	rewriting a lot of illegal (but working) code.	It might also
-	be useful to customers. Under this switch, if a pragma No_Return
-	applies to a body, and the procedure raises an exception (as it
-	should), the pragma has no effect. If the procedure does return,
-	execution is erroneous.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* exp_ch6.adb (Expand_Actuals): This is the
-	root of the problem. It took N as an 'in out' parameter, and in
-	some cases, rewrote N, but then set N to Original_Node(N). So
-	the node returned in N had no Parent. The caller continued
-	processing of this orphaned node. In some cases that caused a
-	crash (e.g. Remove_Side_Effects climbs up Parents in a loop,
-	and trips over the Empty Parent). The solution is to make N an
-	'in' parameter.  Instead of rewriting it, return the list of
-	post-call actions, so the caller can do the rewriting later,
-	after N has been fully processed.
-	(Expand_Call_Helper): Move most of Expand_Call here. It has
-	too many premature 'return' statements, and we want to do the
-	rewriting on return.
-	(Insert_Post_Call_Actions): New procedure to insert the post-call
-	actions in the appropriate place. In the problematic case,
-	that involves rewriting N as an Expression_With_Actions.
-	(Expand_Call): Call the new procedures Expand_Call_Helper and
-	Insert_Post_Call_Actions.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Inherits_Class_Wide_Pre): Cleanup code, handle
-	properly type derived from generic formal types, to handle
-	properly modified version of ACATS 4.1B B611017.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_unst.adb (Subp_Index): Adding missing
-	support for renamings and functions that return a constrained
-	array type (i.e. functions for which the frontend built a
-	procedure with an extra out parameter).
-
-2017-04-25  Pascal Obry  <obry@adacore.com>
-
-	* s-string.adb: Minor code clean-up.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-os_lib.ads, s-os_lib.adb (Non_Blocking_Wait_Process): New
-	procedure.
-	* adaint.h, adaint.c (__gnat_portable_no_block_wait): C support
-	function for Non_Blocking_Wait_Process.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* prep.adb (Preprocess): Remove incorrect
-	Assert. Current character can be ASCII.CR.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Set_Convention_From_Pragma): Cleanup code for
-	convention Stdcall, which has a number of exceptions. Convention
-	is legal on a component declaration whose type is an anonymous
-	access to subprogram.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch4.adb: sem_ch4.adb Various reformattings.
-	(Try_One_Prefix_Interpretation): Use the base type when dealing
-	with a subtype created for purposes of constraining a private
-	type with discriminants.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.ads, einfo.adb (Has_Private_Extension): new attribute.
-	* warnsw.ads, warnsw.adb (All_Warnings): Set warning on late
-	dispatching primitives (Restore_Warnings): Restore warning on
-	late dispatching primitives (Save_Warnings): Save warning on late
-	dispatching primitives (Do_Warning_Switch): Use -gnatw.j/-gnatw.J
-	to enable/disable this warning.
-	(WA_Warnings): Set warning on late dispatching primitives.
-	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Remember
-	that its parent type has a private extension.
-	* sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
-	New subprogram.
-	* usage.adb: Document -gnatw.j and -gnatw.J.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch7.adb, checks.adb, sem_prag.adb, eval_fat.adb: Minor
-	reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Validate): Do not pass dynamic strings
-	to pragma Assert, because older compilers do not support that.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-fileio.adb (Close): When a temp file is
-	closed, delete it and clean up its Temp_File_Record immediately,
-	rather than waiting until later.
-	(Temp_File_Record): Add File
-	component, so Close can know which Temp_File_Record corresponds
-	to the file being closed.
-	(Delete): Don't delete temp files,
-	because they are deleted by Close.
-	(Open): Set the File component
-	of Temp_File_Record. This requires moving the creation of the
-	Temp_File_Record to the end, after the AFCB has been created.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Do not generate
-	a validity check when inside a generic.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Type_Conversion): Fix bad logic.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* snames.ads-tmpl (Snames): More names for detecting predefined
-	potentially blocking subprograms.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Analyze_Pre_Post_Condition): The rules
-	concerning inheritance of class-wide preconditions do not apply
-	to postconditions.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-ficobl.ads: Minor comment fix.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* checks.adb (Apply_Scalar_Range_Check): Analyze precisely
-	conversions from float to integer in GNATprove mode.
-	(Apply_Type_Conversion_Checks): Make sure in GNATprove mode
-	to call Apply_Type_Conversion_Checks, so that range checks
-	are properly positioned when needed on conversions, including
-	when converting from float to integer.	(Determine_Range): In
-	GNATprove mode, take into account the possibility of conversion
-	from float to integer.
-	* sem_res.adb (Resolve_Type_Conversion): Only enforce range
-	check on conversions from fixed-point to integer, not anymore
-	on conversions from floating-point to integer, when in GNATprove
-	mode.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* checks.adb (Determine_Range_R): Special case type conversions
-	from integer to float in order to get bounds in that case too.
-	* eval_fat.adb (Machine): Avoid issuing warnings in GNATprove
-	mode, for computations involved in interval checking.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Partially reimplement validity
-	checks.
-	* einfo.adb Node36 is now used as Validated_Object.
-	(Validated_Object): New routine.
-	(Set_Validated_Object): New routine.
-	(Write_Field36_Name): Add an entry for Validated_Object.
-	* einfo.ads Add new attribute Validated_Object along with
-	usage in entities.
-	(Validated_Object): New routine along with pragma Inline.
-	(Set_Validated_Object): New routine along with pragma Inline.
-	* exp_attr.adb (Make_Range_Test): Add processing for validation
-	variables to avoid extra reads and copies of the prefix.
-	* exp_ch6.adb (Expand_Actuals): Add copy-back for validation
-	variables in order to reflect any changes done in the variable
-	back into the original object.
-	* sem_util.adb (Is_Validation_Variable_Reference): New routine.
-	* sem_util.ads (Is_Validation_Variable_Reference): New routine.
-
-2017-04-25  Steve Baird  <baird@adacore.com>
-
-	* exp_ch7.adb (Build_Array_Deep_Procs,
-	Build_Record_Deep_Procs, Make_Finalize_Address_Body): Don't
-	generate Finalize_Address routines for CodePeer.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Inherits_Class_Wide_Pre): subsidiary of
-	Analyze_Pre_Post_Condition, to implement the legality checks
-	mandated by AI12-0131: Pre'Class shall not be specified for an
-	overriding primitive subprogram of a tagged type T unless the
-	Pre'Class aspect is specified for the corresponding primitive
-	subprogram of some ancestor of T.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_ch8.adb (Use_One_Type): If a use_type_clause
-	is redundant, set its Used_Operations to empty. This is only
-	necessary for use clauses that appear in the parent of a generic
-	child unit, because those use clauses get reanalyzed when we
-	instantiate the generic, and we don't want the Used_Operations
-	carried over from the original context (where it was probably
-	not redundant).
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
-	Use Source_Index (Current_Sem_Unit) to find the correct casing.
-	* exp_prag.adb (Expand_Pragma_Check): Use Source_Index
-	(Current_Sem_Unit) to find the correct casing.
-	* par.adb (Par): Null out Current_Source_File, to ensure that
-	the above bugs won't rear their ugly heads again.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch8.adb (Find_Type): For an attribute reference
-	'Class, if prefix type is synchronized and previous errors
-	have suppressed the creation of the corresponding record type,
-	create a spurious class-wide for the synchonized type itself,
-	to catch other misuses of the attribute
-
-2017-04-25  Steve Baird  <baird@adacore.com>
-
-	* exp_ch6.adb (Expand_Simple_Function_Return): if CodePeer_Mode
-	is True, then don't generate the accessibility check for the
-	tag of a tagged result.
-	* exp_intr.adb (Expand_Dispatching_Constructor_Call):
-	if CodePeer_Mode is True, then don't generate the
-	tag checks for the result of call to an instance of
-	Ada.Tags.Generic_Dispatching_Constructor (i.e., both the "is a
-	descendant of" check and the accessibility check).
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb: Code cleanups.
-	* a-strbou.ads: minor whitespace fix in Trim for bounded strings.
-	* sem_ch8.ads: Minor comment fix.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* exp_ch4.adb (Library_Level_Target): New function.
-	(Expand_Concatenate): When optimization is enabled, also expand
-	the operation out-of-line if the concatenation is present within
-	the expression of the declaration of a library-level object and
-	not only if it is the expression of the declaration.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* freeze.adb (Freeze_Object_Declaration): Do
-	not Remove_Side_Effects if there is a pragma Linker_Section,
-	because in that case we want static initialization in the
-	appropriate section.
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_dbug.adb: Minor rewording and reformatting.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Statically_Denotes_Object): New predicate, to
-	handle the proposed changes to rules concerning potentially
-	unevaluated expressions, to include selected components that
-	do not depend on discriminants, and indexed components with
-	static indices.
-	* sem_util.adb (Is_Potentially_Unevaluated): Add check for
-	predicate in quantified expression, and fix bugs in the handling
-	of case expressions and membership test.
-	(Analyze_Attribute_Old_Result): use new predicate.
-	(Analyze_Attribute, case Loop_Entry): ditto.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-secsta.adb (SS_Info): Add a comment
-	explaining why we don't need to walk all the chunks in order to
-	compute the total size.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* namet.ads, namet.adb (Global_Name_Buffer): Increase the length
-	of the global name buffer to 4*Max_Line_Length.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): When creating a
-	renaming entity for debug information, mark the entity as needing debug
-	info if it comes from sources.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove the
-	restriction converning the use of 'Address where the prefix is
-	of a controlled type.
-
-2017-04-25  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* exp_dbug.adb: In Debug_Renaming_Declaration,
-	skip slices that are made redundant by an indexed component
-	access.
-	* atree.h: New definition for Original_Node.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb, sem_prag.ads: Minor reformatting.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Check_Entry_Contract): Call
-	Preanalyze_Spec_Expression so that resolution takes place as well.
-	* sem_util.adb (Check_Internal_Protected_Use): Reject properly
-	internal calls that appear in preconditions of protected
-	operations, in default values for same, and in contract guards
-	for contract cases in SPARK.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* a-numaux.ads: Fix description of a-numaux-darwin
-	and a-numaux-x86.
-	(Double): Define to Long_Float.
-	* a-numaux-vxworks.ads (Double): Likewise.
-	* a-numaux-darwin.ads
-	(Double): Likewise.
-	* a-numaux-libc-x86.ads (Double): Define to Long_Long_Float.
-	* a-numaux-x86.ads: Fix package description.
-	* a-numaux-x86.adb (Is_Nan): Minor tweak.
-	(Reduce): Adjust and complete description. Call Is_Nan instead of
-	testing manually. Use an integer temporary to hold rounded value.
-	* a-numaux-darwin.adb (Reduce): Likewise.
-	(Is_Nan): New function.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): Additional refinement
-	on analysis of prefix whose type is a current instance of a
-	synchronized type, but where the prefix itself is an entity that
-	is an object.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Replace_Target): When rewriting the RHS, preserve
-	the identity of callable entities therein, because they have been
-	properly resolved, and prefixed calls may have been rewritten
-	as normal calls.
-
-2017-04-25  Patrick Bernardi  <bernardi@adacore.com>
-
-	* exp_ch3.adb (Build_Init_Statements): Convert
-	the expression of the pragma/aspect Secondary_Stack_Size to
-	internal type System.Parameters.Size_Type before assigning
-	it to the Secondary_Stack_Size component of the task type's
-	corresponding record.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal
-	(etc) optimizations when the type is modular and the offsets
-	are equal.
-
-2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* s-osinte-freebsd.ads: Minor comment tweaks
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* urealp.adb (UR_Write): Reverse previous patch
-	adding documentation on why we generate multiplications instead
-	of divisions (needed to avoid expressions whose computation with
-	large numbers may cause division by 0).
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* erroutc.adb (Set_Specific_Warning_Off,
-	Set_Warnings_Mode_Off): Use the correct source file for
-	Stop. Was using Current_Source_File, which is only valid during
-	parsing. Current_Source_File will have a leftover value from
-	whatever file happened to be parsed last, because of a with_clause
-	or something.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* lib.ads, lib.adb (In_Internal_Unit): New functions similar
-	to In_Predefined_Unit, but including GNAT units.
-	* sem_util.ads, sem_util.adb (Should_Ignore_Pragma): Replace
-	with Should_Ignore_Pragma_Par and Should_Ignore_Pragma_Sem,
-	because Should_Ignore_Pragma was not working reliably outside
-	the parser, because Current_Source_File is not valid.
-	* sem_prag.adb, exp_prag.adb: Call Should_Ignore_Pragma_Sem.
-	* par-prag.adb: Call Should_Ignore_Pragma_Par.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* gnat1drv.adb (Gnat1Drv): Disable Generate_Processed_File in
-	codepeer mode.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* urealp.adb (UR_Write): Fix output of constants with a base other
-	that 10.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch13.adb (Get_Interfacing_Aspects): Moved to sem_util.adb.
-	* sem_prag.adb (Analyze_Pragma, Process_Import_Or_Interface):
-	Add extra parameter for Process_Interface_Name.
-	(Process_Interface_Name): Add parameter for pragma to analyze
-	corresponding aspect.
-	* sem_util.ads, sem_util.adb (Get_Interfacing_Aspects): Added
-	from sem_ch13.adb
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch7.adb, einfo.ads, sem_prag.adb: Minor reformatting and typo
-	correction.
-
-2017-04-25  Yannick Moy  <moy@adacore.com>
-
-	* sem_res.adb (Resolve_Comparison_Op): Do not
-	attempt evaluation of relational operations inside assertions.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* exp_util.adb (Add_Interface_Invariants):
-	Restored, code moved back from Build_Invariant_Procedure_Body.
-	(Add_Parent_Invariants): Restored, code moved back from
-	Build_Invariant_Procedure_Body.
-	(Build_Invariant_Procedure_Body):
-	Remove refactored calls and integrated code from
-	Add_Parent_Invariants and Add_Interface_Invariants.
-
-2017-04-25  Johannes Kanig  <kanig@adacore.com>
-
-	* errout.adb (Output_Messages): Adjust computation of total
-	errors
-	* erroutc.adb (Error_Msg): In statistics counts, deal
-	correctly with informational messages that are not warnings.
-	* errutil.adb (Finalize): adjust computation of total errors.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* terminals.c (__gnat_terminate_pid): New.
-	* g-exptty.ads (Terminate_Process): New. Update comments.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* a-cfinve.ads, a-cofove.ads (Empty_Vector): add Global contract.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Minor
-	correction to comments, move out large conditional and scope
-	traversal into a predicate.
-	(Uses_Unseen_Lib_Unit_Priv): Predicate function made from extracted
-	logic.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Selected_Component): Refine analysis
-	of prefix whose type is a current instance of a synchronized
-	type. If the prefix is an object this is an external call (or
-	requeue) that can only access public operations of the object. The
-	previous predicate was too restrictive, and did not allow public
-	protected operations, only task entries.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch5.adb, fname.adb: Minor reformatting.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb (Is_Anonymous_Access_Type): New routine.
-	* einfo.ads Update the placement of
-	E_Anonymous_Access_Subprogram_Type along with all subtypes that
-	mention the ekind.
-	(Is_Anonymous_Access_Type): New routine.
-	* exp_ch7.adb (Allows_Finalization_Master): Do not generate a
-	master for an access type subject to pragma No_Heap_Finalization.
-	* exp_util.adb (Build_Allocate_Deallocate_Proc): An object being
-	allocated or deallocated does not finalization actions if the
-	associated access type is subject to pragma No_Heap_Finalization.
-	* opt.ads Add new global variable No_Heap_Finalization_Pragma.
-	* par-prag.adb Pragma No_Heap_Finalization does not need special
-	processing from the parser.
-	* sem_ch6.adb (Check_Return_Subtype_Indication): Remove ancient
-	??? comments. Use the new predicate Is_Anonymous_Access_Type.
-	* sem_prag.adb Add an entry in table Sig_Flags for pragma
-	No_Heap_Finalization.
-	(Analyze_Pragma): Add processing for
-	pragma No_Heap_Finalization. Update various error messages to
-	use Duplication_Error.
-	* sem_util.ads, sem_util.adb (No_Heap_Finalization): New routine.
-	* snames.ads-tmpl: Add new predefined name No_Heap_Finalization
-	and corresponding pragma id.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* freeze.adb (Freeze_Record_Type): Use the
-	underlying type of the component type to determine whether it's
-	elementary. For representation clause purposes, a private type
-	should behave the same as its full type.
-	* fname.ads, fname.adb (Is_Predefined_File_Name):
-	Make sure things like "system.ali" are recognized as predefined.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* debug.adb: Update documentation of -gnatd.6.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Preanalyze_Range): Handle properly an Ada2012
-	element iterator when the name is an overloaded function call,
-	one of whose interpretations yields an array.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* uname.ads, uname.adb (Is_Predefined_Unit_Name,
-	Is_Internal_Unit_Name): New functions for operating on unit
-	names, as opposed to file names. There's some duplicated code
-	with fname.adb, which is unfortunate, but it seems like we don't
-	want to add dependencies here.
-	* fname-uf.adb (Get_File_Name): Change Is_Predefined_File_Name
-	to Is_Predefined_Unit_Name; the former was wrong, because Uname
-	is not a file name at all.
-	* fname.ads, fname.adb: Document the fact that
-	Is_Predefined_File_Name and Is_Internal_File_Name can be called
-	for ALI files, and fix the code so it works properly for ALI
-	files. E.g. these should return True for "system.ali".
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* exp_util.adb (Add_Invariant): Removed,
-	code moved to Add_Invariant_Check, Add_Inherited_Invariant,
-	and Add_Own_Invariant.	(Add_Invariant_Check): Used
-	for adding runtime checks from any kind of invariant.
-	(Add_Inherited_Invariant): Generates invariant checks for
-	class-wide invariants (Add_Interface_Invariants): Removed, code
-	moved to Build_Invariant_Procedure_Body (Add_Own_Invariant):
-	Create a types own invariant procedure (Add_Parent_Invariants):
-	Removed, code moved to Build_Invariant_Procedure_Body
-	(Build_Invariant_Procedure_Body): Add refactored calls
-	and integrated code from Add_Parent_Invariants and
-	Add_Interface_Invariants.
-	(Process_Type): Removed, the
-	relavant code was inlined into both Add_Own_Invariant and
-	Add_Inherited_Invariant.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* make.adb, par-ch2.adb, sem_util.adb, scans.ads, sem_ch8.adb,
-	scn.adb, osint.adb, fname.adb: Minor reformatting.
-
-2017-04-25  Pascal Obry  <obry@adacore.com>
-
-	* s-taprop-mingw.adb: Do not check for CloseHandle in
-	Finalize_TCB.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_util.adb (Check_Part_Of_Reference):
-	Continue to examine the context if the reference appears within
-	an expression function.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch7.adb, exp_ch7.ads Remove Build_Invariant_Procedure_Body
-	and Build_Invariant_Procedure_Declaration.
-	* exp_util.ads, exp_util.adb Add Build_Invariant_Procedure_Body
-	and Build_Invariant_Procedure_Declaration from exp_ch7
-	and break-out Is_Untagged_Private_Derivation from
-	Build_Invariant_Procedure_Body.
-	(Replace_Type_References):
-	Append an extra parameter to allow for dispatching replacements
-	and add the corrasponding logic.
-	(Type_Invariant): Remove
-	Replace_Typ_Refs and replace its references with calls to
-	Replace_Type_References.
-	* sem_ch3.adb, sem_prag.adb: Remove with and use of exp_ch7.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Should_Ignore_Pragma): New function
-	that returns True when appropriate.
-	* par-prag.adb, exp_prag.adb, sem_prag.adb: Do not ignore pragmas
-	when compiling predefined files.
-	* fname.ads, fname.adb (Is_Predefined_File_Name): Fix bug:
-	"gnat.adc" should not be considered a predefined file name.
-	That required (or at least encouraged) a lot of cleanup of global
-	variable usage. We shouldn't be communicating information via
-	the global name buffer.
-	* bindgen.adb, errout.adb, fname-uf.adb, lib-load.adb, make.adb,
-	* restrict.adb, sem_ch10.adb, sem_ch6.adb, sem_ch8.adb: Changes
-	required by the above-mentioned cleanup.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* osint.adb (Find_File): Handle properly a request for a
-	configuration file whose name is a directory.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_attr.adb, sem_ch5.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* types.ads: Minor: Fix '???' comment.
-	* sem_ch8.adb: Minor comment fix.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb: Remove suspicious uses of Name_Buf.
-	* stringt.ads, stringt.adb, exp_dbug.adb, sem_dim.adb: Remove
-	Add_String_To_Name_Buffer, to avoid using the global Name_Buf.
-	Add String_To_Name with no side effects.
-
-2017-04-25  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Add
-	additional condition for edge case.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* par-ch2.adb, scans.ads, scn.adb: Do not give an error for
-	reserved words inside pragmas. This is necessary to allow the
-	pragma name Interface to be used in pragma Ignore_Pragma.
-	* par.adb: Minor comment fix.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* a-tags.ads, a-tags.adb (Type_Is_Abstract): Renamed as Is_Abstract.
-	* rtsfind.ads (RE_Type_Is_Abstract): Renamed as Is_Abstract.
-	* exp_disp.adb (Make_DT): Update occurrences of RE_Type_Is_Abstract.
-	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Update
-	occurrences of RE_Type_Is_Abstract
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Build_Chain): Account for ancestor
-	subtypes while traversing the derivation chain.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb: minor reformatting.
-
-2017-04-25  Doug Rupp  <rupp@adacore.com>
-
-	* sigtramp-vxworks-target.inc [PPC64]: Add a .localentry pseudo-op.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Assignment): Reset Full_Analysis flag on
-	the first pass over an assignment statement with target names,
-	to prevent the generation of subtypes (such as discriminated
-	record components)that may carry the target name outside of the
-	tree for the assignment. The subtypes will be generated when
-	the assignment is reanalyzed in full.
-	(Analyze_Target_Name): Handle properly class-wide types.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* elists.ads, elists.adb (Prepend_Unique_Elmt): New routine.
-	* exp_ch3.adb (Freeze_Type): Signal the DIC body is created for
-	the purposes of freezing.
-	* exp_util.adb Update the documentation and structure of the
-	type map used in class-wide semantics of assertion expressions.
-	(Add_Inherited_Tagged_DIC): There is really no need to preanalyze
-	and resolve the triaged expression because all substitutions
-	refer to the proper entities.  Update the replacement of
-	references.
-	(Build_DIC_Procedure_Body): Add formal parameter
-	For_Freeze. Add local variable Build_Body. Inherited DIC pragmas
-	are now only processed when freezing occurs.  Build a body only
-	when one is needed.
-	(Entity_Hash): Removed.
-	(Map_Types): New routine.
-	(Replace_Object_And_Primitive_References): Removed.
-	(Replace_References): New routine.
-	(Replace_Type_References): Moved to the library level of Exp_Util.
-	(Type_Map_Hash): New routine.
-	(Update_Primitives_Mapping): Update the mapping call.
-	(Update_Primitives_Mapping_Of_Types): Removed.
-	* exp_util.ads (Build_DIC_Procedure_Body): Add formal
-	parameter For_Freeze and update the comment on usage.
-	(Map_Types): New routine.
-	(Replace_References): New routine.
-	(Replace_Type_References): Moved to the library level of Exp_Util.
-	(Update_Primitives_Mapping_Of_Types): Removed.
-	* sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC
-	properties of the private type to the full view in case the full
-	view derives from a parent type and inherits a DIC pragma.
-	* sem_prag.adb (Analyze_Pragma): Guard against a case where a
-	DIC pragma is placed at the top of a declarative region.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* a-tasatt.adb: Complete previous change and use an unsigned
-	int to avoid overflow checks.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute, case 'Access): Specialize
-	the error message when the attribute reference is an actual in
-	a call to a subprogram inherited from a generic formal type with
-	unknown discriminants, which makes the subprogram and its formal
-	parameters intrinsic (see RM 6.3.1 (8) and (13)).
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, inline.adb, einfo.adb, einfo.ads, scng.adb,
-	sem_prag.adb: Minor reformatting.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_attr.adb (Type_Key): Add code in the
-	recursive Compute_Type_Key to protect against fetching the source
-	code for Standard, in case a component of the type is declared
-	in Standard. There was already code to do this for the original
-	type, but not for its components.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch3.adb (Build_Initialization_Call): Handle
-	subtypes of private types when searching for the underlying full
-	view of a private type.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Set_Mixed_Mode_Operand): A universal
-	real conditional expression can appear in a fixed-type context
-	and must be resolved with that context to facilitate the code
-	generation to the backend.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.adb, einfo.ads (Body_Needed_For_Inlining): New flag,
-	to indicate whether during inline processing, when some unit U1
-	appears in the context of a unit U2 compiled for instantiation
-	or inlining purposes, the body of U1 needs to be compiled as well.
-	* sem_prag.adb (Process_Inline): Set Body_Needed_For_Inlining if
-	context is a package declaration.
-	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration,
-	Analyze_Generic_Package_Declaration): ditto.
-	* inline.adb (Analyze_Inlined_Bodies): Check
-	Body_Needed_For_Inlining.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* par.adb (Current_Assign_Node): Global variable use to record
-	the presence of a target_name in the right hand side of the
-	assignment being parsed.
-	* par-ch4.adb (P_Name): If the name is a target_name, mark the
-	enclosing assignment node accordingly.
-	* par-ch5.adb (P_Assignment_Statement): Set Current_Assign_Node
-	appropriately.
-	* sem_ch5.adb (Analyze_Assignment): Disable expansion before
-	analyzing RHS if the statement has target_names.
-	* sem_aggr.adb (Resolve_Iterated_Component_Association): Handle
-	properly choices that are subtype marks.
-	* exp_ch5.adb: Code cleanup.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-memory.adb: Add a comment regarding efficiency.
-	* atree.adb: Fix the assertion, and combine 2 assertions into one,
-	"the source has an extension if and only if the destination does."
-	* sem_ch3.adb, sem_ch13.adb: Address ??? comments.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
-
-	* a-tasatt.adb (Set_Value): Fix handling of 32bits -> 64bits
-	conversion.
-
-2017-04-25  Doug Rupp  <rupp@adacore.com>
-
-	* init.c (__gnat_error_handler) [vxworks]: Turn on sigtramp
-	handling for ppc64-vx7.
-	* sigtramp-vxworks-target.inc
-	[SIGTRAMP_BODY]: Add section for ppc64-vx7.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* ada_get_targ.adb: New file.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* uintp.adb (Most_Sig_2_Digits): In case Direct (Right), fetch
-	Direct_Val (Right), instead of the incorrect Direct_Val (Left).
-	(UI_GCD): Remove ??? comment involving possible efficiency
-	improvements. This just isn't important after all these years.
-	Also minor cleanup.
-	* uintp.ads: Minor cleanup.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb, exp_util.ads, sem_ch7.adb, sem_prag.adb, exp_ch3.adb:
-	Revert previous changes.
-	* scng.adb: Minor reformatting.
-	* s-stratt.ads: Fix unbalanced parens in comment.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, exp_util.adb, sem_prag.adb, freeze.adb, sem_util.adb:
-	Minor reformatting.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* scng.adb (Scan): Handle '@' appropriately.
-	* sem_ch5.adb: Code cleanup.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* freeze.adb (Check_Expression_Function): Do not check for the
-	use of deferred constants if the freezing of the expression
-	function is triggered by its generated body, rather than a
-	premature use.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* exp_attr.adb (Rewrite_Stream_Proc_Call): Handle
-	subtypes of private types when performing the view conversion.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Freeze_Type): Signal the DIC body is created for
-	the purposes of freezing.
-	* exp_util.adb Update the documentation and structure of the
-	type map used in class-wide semantics of assertion expressions.
-	(Add_Inherited_Tagged_DIC): There is really no need to preanalyze
-	and resolve the triaged expression because all substitutions
-	refer to the proper entities.  Update the replacement of
-	references.
-	(Build_DIC_Procedure_Body): Add formal parameter
-	For_Freeze. Add local variable Build_Body. Inherited DIC pragmas
-	are now only processed when freezing occurs.  Build a body only
-	when one is needed.
-	(Entity_Hash): Removed.
-	(Map_Types): New routine.
-	(Replace_Object_And_Primitive_References): Removed.
-	(Replace_References): New routine.
-	(Replace_Type_References): Moved to the library level of Exp_Util.
-	(Type_Map_Hash): New routine.
-	(Update_Primitives_Mapping): Update the mapping call.
-	(Update_Primitives_Mapping_Of_Types): Removed.
-	* exp_util.ads (Build_DIC_Procedure_Body): Add formal
-	parameter For_Freeze and update the comment on usage.
-	(Map_Types): New routine.
-	(Replace_References): New routine.
-	(Replace_Type_References): Moved to the library level of Exp_Util.
-	(Update_Primitives_Mapping_Of_Types): Removed.
-	* sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC
-	properties of the private type to the full view in case the full
-	view derives from a parent type and inherits a DIC pragma.
-	* sem_prag.adb (Analyze_Pragma): Guard against a case where a
-	DIC pragma is placed at the top of a declarative region.
-
-2017-04-25  Tristan Gingold  <gingold@adacore.com>
-
-	* s-mmap.ads (Data): Add pragma Inline.
-
-2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Do not use
-	a renaming to alias a volatile name because this will lead to
-	multiple evaluations of the volatile name. Use a constant to
-	capture the value instead.
-
-2017-04-25  Doug Rupp  <rupp@adacore.com>
-
-	* init.c [VxWorks Section]: Disable sigtramp for ppc64-vx7.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb, exp_util.ads (Build_Class_Wide_Expression):
-	Add out parameter to indicate to caller that a wrapper must
-	be constructed for an inherited primitive whose inherited
-	pre/postcondition has called to overridden primitives.
-	* freeze.adb (Check_Inherited_Conditions): Build wrapper body
-	for inherited primitive that requires it.
-	* sem_disp.adb (Check_Dispatching_Operation): Such wrappers are
-	legal primitive operations and belong to the list of bodies
-	generated after the freeze point of a type.
-	* sem_prag.adb (Build_Pragma_Check_Equivalent): Use new signature
-	of Build_Class_Wide_Expression.
-	* sem_util.adb, sem_util.ads (Build_Overriding_Spec): New procedure
-	to construct the specification of the wrapper subprogram created
-	for an inherited operation.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* s-osinte-linux.ads (pthread_mutexattr_setprotocol,
-	pthread_mutexattr_setprioceiling): Add new interfaces for these
-	pthread operations.
-	* s-taprop-linux.adb (Initialize_Lock, Initialize_TCB): Set
-	protocols as appropriate for Locking_Policy 'C' and 'I'.
-	* s-taprop-posix.adb: Minor reformatting to make it more similar
-	to s-taprop-linux.adb.
-
-2017-04-25  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Get_Discriminant_Value, Search_Derivation_Levels):
-	Handle properly a multi- level derivation involving both renamed
-	and constrained parent discriminants, when the type to be
-	constrained has fewer discriminants that the ultimate ancestor.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* sem_util.adb (Is_Object_Reference): In the
-	case of N_Explicit_Dereference, return False if it came from a
-	conditional expression.
-
-2017-04-25  Bob Duff  <duff@adacore.com>
-
-	* par-ch4.adb (P_Case_Expression): If a semicolon
-	is followed by "when", assume that ";" was meant to be ",".
-
-2017-04-25  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch9.adb, sem_ch10.adb, sem_util.adb: Minor reformatting and typo
-	fixes.
-
-2017-04-25  Arnaud Charlet  <charlet@adacore.com>
-
-	* rtsfind.ads (SPARK_Implicit_Load): New procedure for forced
-	loading of an entity.
-	* rtsfind.adb (SPARK_Implicit_Load): Body with a pattern
-	previously repeated in the analysis.
-	* sem_ch9.adb (Analyze_Protected_Type_Declaration): use new
-	procedure SPARK_Implicit_Load.	(Analyze_Task_Type_Declaration):
-	use new procedure SPARK_Implicit_Load.
-	* sem_ch10.adb (Analyze_Compilation_Unit): Use new procedure
-	SPARK_Implicit_Load.
-
-2017-04-25  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree): By default
-	copying of defining identifiers is prohibited because
-	this would introduce an entirely new entity into the
-	tree. This patch introduces an exception to this general
-	rule: the declaration of constants and variables located in
-	Expression_With_Action nodes.
-	(Copy_Itype_With_Replacement): Renamed as Copy_Entity_With_Replacement.
-	(In_Map): New subprogram.
-	(Visit_Entity): New subprogram.
-	(Visit_Node): Handle EWA_Level,
-	EWA_Inner_Scope_Level, and take care of defining entities defined
-	in Expression_With_Action nodes.
-
-2017-04-25  Thomas Quinot  <quinot@adacore.com>
-
-	* exp_ch6.adb: minor comment edit.
-	* sinfo.ads, sinfo.adb: New Null_Statement attribute for null
-	procedure specifications that come from source.
-	* par-ch6.adb (P_Subprogram, case of a null procedure): Set new
-	Null_Statement attribute.
-	* par_sco.adb (Traverse_Declarations_Or_Statements): For a null
-	procedure, generate statement SCO for the generated NULL statement.
-	* sem_ch6.adb (Analyze_Null_Procedure): Use null statement from
-	parser, if available.
-
-2017-04-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
-
-	* system-linux-s390.ads: Use Long_Integer'Size to define
-	Memory_Size.
-
-2017-04-04  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Record_Type): Fix long line.
-
-2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
-
-	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo.
-	* g-socket.adb (To_Host_Entry): Fix typo in comment.
-	* gnat_ugn.texi: Fix typo.
-	* raise.c (_gnat_builtin_longjmp): Fix capitalization in comment.
-	* s-stposu.adb (Allocate_Any_Controlled): Fix typo in comment.
-	* sem_ch3.adb (Build_Derived_Record_Type): Likewise.
-	* sem_util.adb (Mark_Coextensions): Likewise.
-	* sem_util.ads (Available_Full_View_Of_Component): Likewise.
-
-2017-03-28  Andreas Schwab  <schwab@suse.de>
-
-	PR ada/80117
-	* system-linux-aarch64-ilp32.ads: New file.
-	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
-	from LIBGNAT_TARGET_PAIRS.
-	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
-	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
-	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
-	or -mabi=ilp32, resp.
-
-2017-03-14  James Cowgill  <James.Cowgill@imgtec.com>
-
-	* s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.
-
-2017-03-08  Thanassis Tsiodras  <ttsiodras@gmail.com>
-
-	PR ada/79903
-	* socket.c (__gnat_gethostbyaddr): Add missing test for __rtems__.
-
-2017-03-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR ada/79945
-	* system-linux-ppc.ads (Default_Bit_Order): Use Standard's setting.
-
-	* system-linux-arm.ads (Default_Bit_Order): Likewise.
-	* system-linux-mips.ads (Default_Bit_Order): Likewise.
-	* system-linux-armeb.ads: Delete.
-	* system-linux-mipsel.ads: Likewise.
-	* gcc-interface/Makefile.in (MIPS/Linux): Adjust.
-	(ARM/Linux): Likewise.
-
-2017-02-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/79677
-	* gcc-interface/misc.c (gnat_handle_option): Pass true to
-	handle_generated_option GENERATED_P.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c (gnat_to_gnu_field): Do not remove the wrapper
-	around a justified modular type if it doesn't have the same scalar
-	storage order as the enclosing record type.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling
-	of boolean rvalues to function calls.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (fold_bit_position): New function.
-	(rest_of_record_type_compilation): Call it instead of bit_position to
-	compute the field position and remove the call to remove_conversions.
-	(compute_related_constant): Factor out the multiplication in both
-	operands, if any, and streamline the final test.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/decl.c: Include demangle.h.
-	(is_cplusplus_method): Return again true for a primitive operation
-	only if it is dispatching.  For a subprogram with an interface name,
-	call the demangler to get the number of C++ parameters and compare it
-	with the number of Ada parameters.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If
-	there is no end label, put the location of the At_End procedure on
-	the call to the procedure.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/misc.c (gnat_type_max_size): Try to return a meaningful
-	value for array types with TYPE_INDEX_TYPE set on their domain type.
-	* gcc-interface/utils.c (max_size): For operations and expressions, do
-	not build a new node if the operands have not changed or are missing.
-
-2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gcc-interface/utils.c (max_size) <tcc_expression>: Flip the second
-	argument when recursing on TRUTH_NOT_EXPR.
-
-2017-02-12  John Marino  <gnugcc@marino.st>
-
-	* system-freebsd-x86.ads: Rename into...
-	* system-freebsd.ads: ...this.
-	(Default_Bit_Order): Define using Standard'Default_Bit_Order.
-	* gcc-interface/Makefile.in: Support aarch64-freebsd.
-	(x86-64/FreeBSD): Adjust to above renaming.
-	(i386/FreeBSD): Likewise.
-
-2017-02-09  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* comperr.adb: Update FSF bug reporting URL.
-
-2017-02-01  Eric Botcazou  <ebotcazou@adacore.com>
-            Jakub Jelinek  <jakub@redhat.com>
-
-	PR ada/79309
-	* adaint.c (__gnat_killprocesstree): Fix broken string handling.
-
-2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR lto/79061
-	* gcc-interface/utils.c (get_global_context): Pass main_input_filename
-	to build_translation_unit_decl.
-
-2017-01-23  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree): Code cleanup:
-	removal of the internal map (ie. variable Actual_Map, its
-	associated local variables, and all the code handling it).
-	* sem_ch9.adb (Analyze_Task_Type_Declaration): in GNATprove mode
-	force loading of the System package when processing a task type.
-	(Analyze_Protected_Type_Declaration): in GNATprove mode force
-	loading of the System package when processing a protected type.
-	* sem_ch10.adb (Analyze_Compilation_Unit): in GNATprove mode
-	force loading of the System package when processing compilation
-	unit with a main-like subprogram.
-	* frontend.adb (Frontend): remove forced loading of the System
-	package.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Default_Initial_Condition): If the desired type
-	declaration is a derived type declaration with discriminants,
-	it is rewritten as a private type declaration.
-	* sem_ch13.adb (Replace_Type_References_Generic,
-	Visible_Component): A discriminated private type with descriminnts
-	has components that must be rewritten as selected components
-	if they appear as identifiers in an aspect expression such as
-	a Default_Initial_Condition.
-	* sem_util.adb (Defining_Entity): support N_Iterator_Specification
-	nodes.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* ghost.ads, ghost.adb (Is_Ignored_Ghost_Unit): New routine.
-	* gnat1drv.adb Generate an empty object file for an ignored
-	Ghost compilation unit.
-	* inline.adb, sem_util.adb, sem_ch4.adb: Minor reformatting.
-
-2017-01-23  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch4.adb (Analyze_Indexed_Component_Form):
-	Adapt to inlined prefix with string literal subtype.
-	* inline.adb (Expand_Inlined_Call): Keep unchecked
-	conversion inside inlined call when formal type is constrained.
-
-2017-01-23  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.adb (New_Copy_Tree): Code cleanup:
-	removal of global variables. All the global variables, global
-	functions and tables of this subprogram are now declared locally.
-
-2017-01-23  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_strm.ads: Minor reformatting and typo fixes.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, par_sco.adb, exp_util.adb, sem.adb, sem_ch4.adb,
-	exp_aggr.adb: Minor reformatting.
-	* g-diopit.adb: minor grammar/punctuation fix in comment.
-	* g-byorma.ads: minor fix of unbalanced parens in comment.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* par.adb: Update the documentation of component Labl.
-	* par-ch6.adb (P_Return_Statement): Set the expected label of
-	an extended return statement to Error.
-
-2017-01-23  Tristan Gingold  <gingold@adacore.com>
-
-	* s-boustr.ads, s-boustr.adb (Is_Full): New function.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* expander.adb: Handle N_Delta_Aggregate.
-
-2017-01-23  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Improve the code that
-	checks if some formal of the called subprogram is a class-wide
-	interface, to handle subtypes of class-wide interfaces.
-
-2017-01-23  Javier Miranda  <miranda@adacore.com>
-
-	* checks.adb (Apply_Parameter_Aliasing_Checks):
-	Remove side effects of the actuals before generating the overlap
-	check.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* exp_strm.ads, exp_strm.ads
-	(Build_Record_Or_Elementary_Input_Function): Add an extra parameter so
-	as to avoid getting the underlying type by default.
-	* exp_attr.adb (Expand_N_Attribute_Reference): Remove use of
-	underlying type in the Iiput and output attribute cases when
-	building their respective functions.
-
-2017-01-23  Gary Dismukes  <dismukes@adacore.com>
-
-	* scng.adb: Minor reformatting of error message.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Do not attempt
-	to freeze the return type of an expression funxtion that is a
-	completion, if the type is a limited view and the non-limited
-	view is available.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* par-ch4.adb (P_Aggregate_Or_Parent_Expr): Recognize delta
-	aggregate construct.
-	(P_Record_Or_Array_Component_Association): An array aggregate
-	can start with an Iterated_Component_Association.
-	* scng.adb: Modify error message on improper use of @ in earlier
-	versions of the language.
-	* sinfo.ads: New node kind N_Delta_Aggregate.
-	* sinfo.adb: An N_Delta_Aggregate has component associations and
-	an expression.
-	* sem_res.adb (Resolve): Call Resolve_Delta_Aggregate.
-	* sem_aggr.ads, sem_aggr.adb (Resolve_Iterated_Component_Association):
-	Create a new index for each one of the choices in the association,
-	to prevent spurious homonyms in the scope.
-	(Resolve_Delta_Aggregate): New.
-	* sem.adb: An N_Delta_Aggregate is analyzed like an aggregate.
-	* exp_util.adb (Insert_Actions): Take into account
-	N_Delta_Aggregate.
-	* exp_aggr.ads: New procedure Expand_N_Delta_Aggregate.
-	* exp_aggr.adb: New procedure Expand_N_Delta_Aggregate,
-	and local procedures Expand_Delta_Array_Aggregate and
-	expand_Delta_Record_Aggregate.
-	* sprint.adb: Handle N_Delta_Aggregate.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch11.adb (Expand_N_Exception_Declaration): Generate an
-	empty name when the exception declaration is subject to pragma
-	Discard_Names.
-	(Null_String): New routine.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* par-ch9.adb (P_Protected_Definition): Parse
-	any optional and potentially illegal pragmas which appear in
-	a protected operation declaration list.
-	(P_Task_Items): Parse
-	any optional and potentially illegal pragmas which appear in a
-	task item list.
-
-2017-01-23  Pascal Obry  <obry@adacore.com>
-
-	* s-taprop-mingw.adb (Enter_Task): Initialize the Thread handle which
-	is needed when a foreign thread call a Win32 API using a thread handle
-	like GetThreadTimes() for example.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
-	allow an 'Address clause to be specified on a prefix of a
-	class-wide type.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Ensure that the prefix of
-	attribute 'Valid is a renaming of the original expression when
-	the expression denotes a name. For all other kinds of expression,
-	use a constant to capture the value.
-	* exp_util.adb (Is_Name_Reference): Moved to Sem_Util.
-	* sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_eval.adb (Eval_Integer_Literal): Add special
-	case to avoid optimizing out check if the literal appears in
-	an if-expression.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
-	allow an 'Address clause to be specified on a prefix of a
-	class-wide type.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* checks.adb (Insert_Valid_Check): Ensure that the prefix of
-	attribute 'Valid is a renaming of the original expression when
-	the expression denotes a name. For all other kinds of expression,
-	use a constant to capture the value.
-	* exp_util.adb (Is_Name_Reference): Moved to Sem_Util.
-	* sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_eval.adb (Eval_Integer_Literal): Add special
-	case to avoid optimizing out check if the literal appears in
-	an if-expression.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Try_Primitive_Operations,
-	Is_Valid_First_Argument_Of): argument is valid if it is a derived
-	type with unknown discriminants that matches its underlying
-	record view.
-	* exp_util.adb (Expand_Subtype_From_Expr): Do not expand
-	expression if its type is derived from a limited type with
-	unknown discriminants, because the expansion (which is a call)
-	must be expanded in the enclosing context to add the proper build-
-	in-place parameters to the call.
-	* lib.ads, exp_ch9.adb: Minor fixes in comments.
-
-2017-01-23  Yannick Moy  <moy@adacore.com>
-
-	* frontend.adb (Frontend): Do not load runtime
-	unit for GNATprove when parsing failed.
-	* exp_ch9.adb: minor removal of extra whitespace
-	* exp_ch6.adb: minor typo in comment
-	* sem_util.adb: Code cleanup.
-	* exp_ch9.ads, par-ch2.adb: minor style fixes in whitespace and comment
-	* a-ngcefu.adb: minor style fix in whitespace
-
-2017-01-23  Thomas Quinot  <quinot@adacore.com>
-
-	* scos.ads: Document usage of 'd' as default SCO kind for
-	declarations.
-	* par_sco.adb (Traverse_Declarations_Or_Statements.
-	Traverse_Degenerate_Subprogram): New supporting routine for expression
-	functions and null procedures.
-	(Traverse_Declarations_Or_Statements.Traverse_One): Add
-	N_Expression_Function to the subprogram case; add required
-	support for null procedures and expression functions.
-
-2017-01-23  Bob Duff  <duff@adacore.com>
-
-	* namet.ads (Bounded_String): Decrease the size of type
-	Bounded_String to avoid running out of stack space.
-	* namet.ads (Append): Don't ignore buffer overflow; raise
-	Program_Error instead.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, freeze.adb, par-ch4.adb, scng.adb, sem_ch13.adb,
-	sem_ch3.adb, sem_ch5.adb, sem_ch5.ads, sem_util.adb, sinfo.ads: Minor
-	reformatting.
-	* exp_ch9.adb: minor style fix in comment.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Analyze_Allocator): Handle properly a type derived
-	for a limited record extension with unknown discriminants whose
-	full view has no discriminants.
-
-2017-01-23  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb: Alphabetize with clauses.
-
-2017-01-23  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb (Has_Enabled_Property): Treat
-	protected objects and variables differently from other variables.
-
-2017-01-23  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
-	Split original Ada 95 part off into new subprogram
-	below. Call that subprogram (instead of proceeding with
-	AI95-0133 behaviour) if debug switch -gnatd.p is in use.
-	(Adjust_Record_For_Reverse_Bit_Order_Ada_95): ... new subprogram
-	* debug.adb Document new switch -gnatd.p
-	* freeze.adb (Freeze_Entity.Freeze_Record_Type): Do not adjust
-	record for reverse bit order if an error has already been posted
-	on the record type.  This avoids generating extraneous "info:"
-	messages for illegal code.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Correct comments
-	* freeze.adb (Find_Constant): Add detection of deferred constants
-	so they are not incorrectly flagged as premature.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* scans.ads: New token At_Sign. Remove '@' from list of illegal
-	characters for future version of the language. '@' is legal name.
-	* scng.ads, scng.adb (Scan):  Handle '@' appropriately.
-	* scn.adb (Scan_Reserved_Identifier): An occurrence of '@'
-	denotes a Target_Name.
-	* par-ch4.adb (P_Name, P_Primary): Handle Target_Name.
-	* sinfo.ads, sinfo.adb (N_Target_Name): New non-terminal node.
-	(Has_Target_Names): New flag on N_Assignment_Statement, to
-	indicate that RHS has occurrences of N_Target_Name.
-	* sem.adb: Call Analyze_Target_Name.
-	* sem_ch5.ads, sem_ch5.adb (Analyze_Target_Name): New subpogram.
-	(urrent_LHS): Global variable that denotes LHS of assignment,
-	used in the analysis of Target_Name nodes.
-	* sem_res.adb (Resolve_Target_Name): New procedure.
-	* exp_ch5.adb (Expand_Assign_With_Target_Names): (AI12-0125):
-	N is an assignment statement whose RHS contains occurences of @
-	that designate the value of the LHS of the assignment. If the
-	LHS is side-effect free the target names can be replaced with
-	a copy of the LHS; otherwise the semantics of the assignment
-	is described in terms of a procedure with an in-out parameter,
-	and expanded as such.
-	(Expand_N_Assignment_Statement): Call
-	Expand_Assign_With_Target_Names when needed.
-	* exp_util.adb (Insert_Actions): Take into account N_Target_Name.
-	* sprint.adb: Handle N_Target_Name.
-
-2017-01-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* checks.adb: Minor fix in comment.
-
-2017-01-23  Philippe Gil  <gil@adacore.com>
-
-	* g-debpoo.adb (Do_Report) remove freed chunks from chunks
-	count in Sort = Memory_Usage or Allocations_Count
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb: Code cleanup.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Move all global
-	variables to the local variable section. Update the profile
-	of various nested routine that previously had visibility
-	of those globals. One the matching phase has completed,
-	remove certain classes of clauses which are considered noise.
-	(Check_Dependency_Clause): Properly detect a match between two
-	'Result attributes. Update the various post-match cases to use
-	Is_Already_Matched as this routine now automatically recognizes
-	a previously matched 'Result attribute.
-	(Is_Already_Matched): New routine.
-	(Remove_Extra_Clauses): New routine.
-	(Report_Extra_Clauses): Remove the detection of ... => null
-	clauses as this is now done in Remove_Extra_Clauses.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Array_Aggregate): In ASIS mode do not
-	report on spurious overlaps between values involving a subtype
-	with a static predicate, because the expansion of such a subtype
-	into individual ranges in inhibited in ASIS mode.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Add detection
-	of an edge case and delay freezing if it is present.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb, exp_spark.adb, exp_attr.adb, sem_ch9.adb, sem_prag.adb,
-	sem_util.adb, sem_warn.adb, exp_ch3.adb: Minor reformatting.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* freeze.adb (Freeze_Subprogram): Ensure that all anonymous
-	access-to-subprogram types inherit the convention of the
-	associated subprogram.	(Set_Profile_Convention): New routine.
-	* sem_ch6.adb (Check_Conformance): Do not compare the conventions
-	of the two entities directly, use Conventions_Match to account
-	for anonymous access-to-subprogram and subprogram types.
-	(Conventions_Match): New routine.
-
-2017-01-23  Claire Dross  <dross@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Attribute_Reference): For attributes
-	which return Universal_Integer, force the overflow check flag for
-	Length and Range_Length for types as big as Long_Long_Integer.
-
-2017-01-23  Claire Dross  <dross@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Attribute_Reference):  For
-	attributes which return Universal_Integer, introduce a conversion
-	to the expected type with the appropriate check flags set.
-	* sem_res.adb (Resolve_Range): The higher bound can be in Typ's
-	base type if the range is null. It may still be invalid if it
-	is higher than the lower bound. This is checked later in the
-	context in which the range appears.
-
-2017-01-23  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-	* scos.ads: Introduce a constant to represent ignored
-	dependencies in SCO_Unit_Table_Entry.
-
-2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Remove extra
-	spaces from error messages.
-
-2017-01-23  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Check_Large_Modular_Array): New procedure,
-	subsidiary to Expand_N_Object_ Declaration, to compute a guard on
-	an object declaration for an array type with a modular index type
-	with the size of Long_Long_Integer. Special processing is needed
-	in this case to compute reliably the size of the object, and
-	eventually  to raise Storage_Error, when wrap-around arithmetic
-	might compute a meangingless size for the object.
-
-2017-01-23  Justin Squirek  <squirek@adacore.com>
-
-	* a-wtenau.adb, par-endh.adb, sem_prag.adb,
-	sem_type.adb: Code cleanups.
-
-2017-01-23  Bob Duff  <duff@adacore.com>
-
-	* sem_res.adb (Resolve_Call): In the part of the code where
-	it is deciding whether to turn the call into an indexed
-	component, avoid doing so if the call is to an instance of
-	Unchecked_Conversion. Otherwise, the compiler turns it into an
-	indexed component, and resolution of that turns it back into a
-	function call, and so on, resulting in infinite recursion.
-	* sem_util.adb (Needs_One_Actual): If the first formal has a
-	default, then return False.
-
-2017-01-21  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc)
-	optimizations when the type is modular and the offsets are equal.
-
-2017-01-20  Thomas Quinot  <quinot@adacore.com>
-
-	* sem_warn.adb (Warn_On_Useless_Assignment): Adjust wording of warning
-	message.
-
-2017-01-20  Nicolas Roche  <roche@adacore.com>
-
-	* terminals.c: Ignore failures on setpgid and tcsetpgrp commands.
-
-2017-01-20  Bob Duff  <duff@adacore.com>
-
-	* sem_eval.adb (Compile_Time_Compare): Disable the expr+literal
-	(etc) optimizations when the type is modular.
-
-2017-01-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch6.adb (Move_Pragmas): move some pragmas,
-	but copy the SPARK_Mode pragma instead of moving it.
-	(Build_Subprogram_Declaration): Ensure that the generated spec
-	and original body share the same SPARK_Pragma aspect/pragma.
-	* sem_util.adb, sem_util.ads (Copy_SPARK_Mode_Aspect): New
-	procedure to copy SPARK_Mode aspect.
-
-2017-01-20  Bob Duff  <duff@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Disable Resolve_Aspects
-	even in ASIS mode.
-	* sem_ch13.adb (Resolve_Name): Enable setting the entity to
-	Empty even in ASIS mode.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb: minor style fixes in comments.
-	* sem_ch9.adb (Analyze_Delay_Relative): in GNATprove mode a delay
-	relative statement introduces an implicit dependency on
-	Ada.Real_Time.Clock_Time.
-	* sem_util.adb: Minor reformatting.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Alignment
-	must be treated as delayed aspect even if the expression is
-	a literal, because the aspect affects the freezing and the
-	elaboration of the object to which it applies.
-
-2017-01-20  Tristan Gingold  <gingold@adacore.com>
-
-	* s-osinte-vxworks.ads (Interrup_Range): New subtype.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* lib-xref.adb (Generate_Reference): Do not warn about the
-	presence of a pragma Unreferenced if the entity appears as the
-	actual in a procedure call that does not come from source.
-
-2017-01-20  Pascal Obry  <obry@adacore.com>
-
-	* expect.c, terminals.c: Fix some warnings about unused variables.
-	* gsocket.h, adaint.c, adaint.h: Fix some more warnings in the C part
-	of the runtime.
-
-2017-01-20  Bob Duff  <duff@adacore.com>
-
-	* exp_attr.adb (Constrained): Apply an access check (check that
-	the prefix is not null) when the prefix denotes an object of an
-	access type; that is, when there is an implicit dereference.
-
-2017-01-20  Gary Dismukes  <dismukes@adacore.com>
-
-	* s-rident.ads (constant Profile_Info): Remove
-	No_Calendar from GNAT_Extended_Ravenscar restrictions.
-
-2017-01-20  Tristan Gingold  <gingold@adacore.com>
-
-	*  s-maccod.ads: Add pragma No_Elaboration_Code_All
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* ghost.adb (Mark_Ghost_Clause): New routine.
-	(Prune_Node): Do not prune compilation unit nodes.
-	(Remove_Ignored_Ghost_Code): Prune the compilation unit node directly.
-	This does not touch the node itself, but does prune all its fields.
-	* ghost.ads (Mark_Ghost_Clause): New routine.
-	* sem_ch8.adb (Analyze_Use_Package): Emit an error when a use
-	package clause mentions Ghost and non-Ghost packages. Mark a
-	use package clause as Ghost when it mentions a Ghost package.
-	(Analyze_Use_Type): Emit an error when a use type clause mentions
-	Ghost and non-Ghost types. Mark a use type clause as Ghost when
-	it mentions a Ghost type.
-	* sem_ch10.adb (Analyze_With_Clause): Mark a with clause as
-	Ghost when it withs a Ghost unit.
-
-2017-01-20  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Resolve_Call): If a function call
-	returns a limited view of a type and at the point of the call the
-	function is not declared in the extended main unit then replace
-	it with the non-limited view, which must be available. If the
-	called function is in the extended main unit then no action is
-	needed since the back-end handles this case.
-
-2017-01-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into...
-	(Contains_Subprograms_Refs): ...this.  Adjust comment
-	for constants.	(Is_Subp_Or_Const_Ref): Rename into...
-	(Is_Subprogram_Ref): ...this.
-	(Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into
-	Has_Non_Subprograms_Referencer and adjust comment.  Remove
-	incorrect shortcut for package declarations and bodies.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Complete_Private_Subtype): If the scope of the
-	base type differs from that of the completion and the private
-	subtype is an itype (created for a constraint on an access
-	type e.g.), set Delayed_Freeze on both to prevent out-of-scope
-	anomalies in gigi.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
-	When inheriting the SPARK_Mode of a prior expression function,
-	look at the properly resolved entity rather than the initial
-	candidate which may denote a homonym.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Rewrite_Assertion_Kind): If the name is
-	Precondition or Postcondition, and the context is pragma
-	Check_Policy, indicate that this Pre-Ada2012 usage is deprecated
-	and suggest the standard names Assertion_Policy /Pre /Post
-	instead.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch10.adb, sem_cat.adb: Minor reformatting.
-
-2017-01-20  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch3.adb (Access_Type_Declaration): Protect access to the
-	Entity attribute.
-	* sem_ch10.adb (Install_Siblings): Skip processing malformed trees.
-	* sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing
-	malformed trees.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specification, case
-	Dynamic_Predicate): If the entity E is a subtype that inherits
-	a static predicate for its parent P,, the inherited and the
-	new predicate combine in the generated predicate function,
-	and E only has a dynamic predicate.
-
-2017-01-20  Tristan Gingold  <gingold@adacore.com>
-
-	* s-boustr.ads, s-boustr.adb: New package.
-	* Makefile.rtl: Add s-boustr.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* inline.adb (Process_Formals): Qualify the
-	expression of a return statement when it yields a universal type.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* freeze.adb (Freeze_All): Freeze the default
-	expressions of all eligible formal parameters that appear in
-	entries, entry families, and protected subprograms.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Check_Nonoverridable_Aspects); Refine check
-	for illegal inherited Implicit_Dereference aspects with renamed
-	discriminants.
-
-2017-01-20  Javier Miranda  <miranda@adacore.com>
-
-	* debug.adb (switch d.6): do not avoid declaring unreferenced itypes.
-	* nlists.ads (Lock_Lists, Unlock_Lists): New subprograms.
-	* nlists.adb (Lock_Lists, Unlock_Lists): New subprograms.
-	(Set_First, Set_Last, Set_List_Link, Set_Next, Set_Parent,
-	Set_Prev, Tree_Read): Adding assertion.
-	* atree.ads (Lock_Nodes, Unlock_Nodes): New subprograms.
-	* atree.adb (Lock_Nodes, Unlock_Nodes): New subprograms.
-	(Set_Analyzed, Set_Check_Actuals, Set_Comes_From_Source,
-	Set_Ekind, Set_Error_Posted, Set_Has_Aspects,
-	Set_Is_Ignored_Ghost_Node, Set_Original_Node, Set_Paren_Count,
-	Set_Parent, Set_Sloc, Set_Nkind, Set_FieldNN, Set_NodeNN,
-	Set_ListNN, Set_ElistNN, Set_NameN, Set_StrN, Set_UintNN,
-	Set_UrealNN, Set_FlagNNN, Set_NodeN_With_Parent,
-	Set_ListN_With_Parent): Adding assertion.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_prag.adb (Process_Convention): Diagnose properly a pragma
-	import that applies to several homograph subprograms. when one
-	of them is declared by a subprogram body.
-
-2017-01-20  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Remove optimization
-	that nulls out calls to null procedures.
-
-2017-01-20  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Expand_Inlined_Call): Keep more
-	precise type of actual for inlining whenever possible. In
-	particular, do not switch to the formal type in GNATprove mode in
-	some case where the GNAT backend might require it for visibility.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Check_Non_Overridable_Aspects): An inherited
-	aspect Implicit_Dereference can be inherited by a full view if
-	the partial view has no discriminants, because there is no way
-	to apply the aspect to the partial view.
-	(Build_Derived_Record_Type): If derived type renames discriminants
-	of the parent, the new discriminant inherits the aspect from
-	the old one.
-	* sem_ch4.adb (Analyze_Call): Handle properly a parameterless
-	call through an access discriminant designating a subprogram.
-	* sem_ch5.adb (Analyze_Assignment): (Analyze_Call): Handle
-	properly a parameterless call through an access discriminant on
-	the left-hand side of an assignment.
-	* sem_res.adb (resolve): If an interpreation involves a
-	discriminant with an implicit dereference and the expression is an
-	entity, resolution takes place later in the appropriate routine.
-	* sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Recognize
-	access discriminants that designate a subprogram type.
-
-2017-01-20  Pascal Obry  <obry@adacore.com>
-
-	* a-locale.adb, a-locale.ads: Update Ada.Locales for RM 2012 COR:1:2016
-
-2017-01-20  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error
-	on implicitly with'ed units in GNATprove mode.
-	* sinfo.ads (Implicit_With): Document use of flag for implicitly
-	with'ed units in GNATprove mode.
-
-2017-01-20  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_cat.adb (Validate_Static_Object_Name): In a preelaborated
-	unit Do not report an error on a non-static entity that appears
-	in the context of a spec expression, such as an aspect expression.
-
-2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.adb: Flag298 now denotes Is_Underlying_Full_View.
-	(Is_Underlying_Full_View): New routine.
-	(Set_Is_Underlying_Full_View): New routine.
-	(Write_Entity_Flags): Add an entry for Is_Underlying_Full_View.
-	* einfo.ads Add new attribute Is_Underlying_Full_View.
-	(Is_Underlying_Full_View): New routine along with pragma Inline.
-	(Set_Is_Underlying_Full_View): New routine along with pragma Inline.
-	* exp_util.adb (Build_DIC_Procedure_Body): Do not consider
-	class-wide types and underlying full views. The first subtype
-	is used as the working type for all Itypes, not just array base types.
-	(Build_DIC_Procedure_Declaration): Do not consider
-	class-wide types and underlying full views. The first subtype
-	is used as the working type for all Itypes, not just array
-	base types.
-	* freeze.adb (Freeze_Entity): Inherit the freeze node of a full
-	view or an underlying full view without clobbering the attributes
-	of a previous freeze node.
-	(Inherit_Freeze_Node): New routine.
-	* sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying
-	full view as such.
-	(Build_Underlying_Full_View): Mark an underlying full view as such.
-	* sem_ch7.adb (Install_Private_Declarations): Mark an underlying
-	full view as such.
-
-2017-01-20  Yannick Moy  <moy@adacore.com>
-
-	* sinfo.ads: Document lack of Do_Division_Check flag
-	on float exponentiation.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* ghost.adb (Propagate_Ignored_Ghost_Code): Protect access to the
-	identifier attribute of a block-statement node. Required to avoid
-	assertion failure when building the new containers library.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* exp_ch3.adb: Update comment.
-
-2017-01-19  Vincent Celier  <celier@adacore.com>
-
-	* gprep.adb (Gnatprep): Parse the definition file without
-	"replace in comments" even when switch -C is used.
-
-2017-01-19  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch9.adb (Is_Pure_Barrier): Create function
-	Is_Count_Attribute to identify an expansion of the 'Count
-	attribute.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the
-	statements within an element iterator loop are only analyzed
-	agter the loop is rewritten. Within a generic the analysis must
-	be performed in any case to complete name capture.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first,
-	before checking for unrecognized pragmas.
-	Initialize Pname on its declarations; that's always good style.
-
-2017-01-19  Claire Dross  <dross@adacore.com>
-
-	* exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the
-	body into the tree for GNATprove by setting its Parent field. The
-	components invariants of composite types are not checked by
-	the composite type's invariant procedure in GNATprove mode.
-	(Build_Invariant_Procedure_Declaration): Semi-insert the
-	declaration into the tree for GNATprove by setting its Parent
-	field.
-	* freeze.adb (Freeze_Arry_Type):In GNATprove mode, do not add
-	the component invariants to the array type  invariant procedure
-	so that the procedure can be used to  check the array type
-	invariants if any.
-	(Freeze_Record_Type): In GNATprove mode, do
-	not add the component invariants to the record type  invariant
-	procedure so that the procedure can be used to	check the record
-	type invariants if any.
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref-spark_specific.adb: Minor reformatting.
-	* exp_ch7.adb (Add_Parent_Invariants): Do not process array types.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Pass_Aggregate_To_Back_End): Renamed as
-	Build_Back_End_Aggregate.
-	(Generate_Aggregate_For_Derived_Type): Code cleanup.
-	(Prepend_Stored_Values): Code cleanup.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): Check for an
-	incomplete return type after attempting to freeze it, so that
-	other freeze actiona are generated in the proper order.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Aggregate): If the type is a string
-	type, ie. a type whose component is a character type, and the
-	aggregate is positional, do not convert into a string literal
-	if the index type is not an integer type, because the original
-	type may be required in an enclosing operation.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* binde.adb, debug.adb: Enable new elaboration order algorithm
-	by default. -dp switch reverts to the old algorithm.
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch3.adb Add with and use clauses for Exp_Ch7.
-	(Analyze_Declarations): Create the DIC and Invariant
-	procedure bodies s after all freezing has taken place.
-	(Build_Assertion_Bodies): New routine.
-	* sem_ch7.adb Remove the with and use clauses for Exp_Ch7
-	and Exp_Util.
-	(Analyze_Package_Specification): Remove the
-	generation of the DIC and Invariant procedure bodies. This is
-	now done by Analyze_Declarations.
-	* sem_disp.adb (Check_Dispatching_Operation): DIC and Invariant
-	procedures are never treated as primitives.
-
-2017-01-19  Yannick Moy  <moy@adacore.com>
-
-	* frontend.adb: Analyze inlined bodies and check elaboration
-	rules in GNATprove mode too.
-	* sem_elab.adb (Delay_Element): Add Boolean component to save
-	indication that call is in SPARK code.	(Check_Elab_Calls):
-	Check elaboration rules in GNATprove mode, and correctly set
-	the current value of SPARK_Mode.
-	* lib-xref-spark_specific.adb
-	(Add_SPARK_Xrefs): Simplify iteration over dereferences.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch4.adb (Expand_Concatenate): Do no enable overflow
-	checks on the expression for the high bound of concatenation
-	when checks are disabled, to suppress warnings about potential
-	constraint errors in restricted runtimes.
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the
-	representation-to-position function as inlined.
-	* sem_cat.adb (Set_Categorization_From_Scope): Do not modify
-	the purity of an internally generated entity if it has been
-	explicitly marked as pure for optimization purposes.
-	* exp_aggr.adb: Minor reformatting.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Remove side effects on
-	actuals that are allocators with qualified expression since the
-	initialization of the object is performed by means of individual
-	statements (and hence it must be done before the call).
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Analyze_Declarations): Minor reformatting.
-	(Build_Derived_Enumeration_Type): If the derived type inherits a
-	dynamic predicate from its parent, the bounds of the type must
-	freeze because an explicit constraint is constructed for the
-	type and the corresponding range is elaborated now.
-
-2017-01-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_attr.ads: minor fix of inconsistent casing in comment
-	* lib-writ.ads: minor align comments in columns
-	* sem_ch3.adb: Minor reformatting.
-	* spark_xrefs.ads: minor fix typo in SPARK-related comment
-	* table.ads: minor style fix in comment
-	* lib-xref-spark_specific.adb
-	(Add_SPARK_Xrefs): simplify processing of SPARK cross-references.
-	* sem_ch12.adb: minor whitespace fix
-	* freeze.adb: Add comment.
-	* sem_util.adb (Unique_Name): for instances of
-	generic subprograms ignore the name of the wrapper package.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* exp_aggr.adb (Resolve_Record_Aggregate):
-	Factorize code needed for aggregates of limited and unlimited
-	types in a new routine.
-	(Pass_Aggregate_To_Back_End): New subprogram.
-
-2017-01-19  Yannick Moy  <moy@adacore.com>
-
-	* sinfo.adb (Pragma_Name): Only access up to Last_Pair of Pragma_Map.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.ads, sem_ch4.adb (Try_Object_Operation): Make subprogram
-	public, for use elsewhere.
-	* sem_ch6.adb (Analyze_Procedure_Call): In SPARK_Mode and within
-	an Inlined_body, recognize a call that uses object notation
-	and has not been rewritten as a regular call because regular
-	expansion has not taken place.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* checks.adb (Apply_Type_Conversion_Checks): Disable small optimization
-	in case of generic formal discrete types, because it causes crashes in
-	the compiler when built with assertions on.
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* lib-xref-spark_specific.adb, sem_util.adb, sem_util.ads,
-	sem_ch4.adb, sem_ch8.adb, lib-xref.ads: Minor reformatting.
-
-2017-01-19  Bob Duff  <duff@adacore.com>
-
-	* bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking):
-	Increment Warnings_Detected.  It was decrementing, which is
-	wrong since we just issued a warning message.
-	* binderr.ads (Errors_Detected, Warnings_Detected): Declare
-	these variables to be of subtype Nat instead of Int, because
-	they should never be negative.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* contracts.adb (Build_Postconditions_Procedure): Replace
-	Generate_C_Code by Modify_Tree_For_C.
-	* exp_aggr.adb (Build_Record_Aggr_Code, Expand_Array_Aggregate):
-	Replace Generate_C_Code by Modify_Tree_For_C.
-	* exp_attr.adb (Float_Valid, Is_GCC_Target): Replace Generate_C_Code by
-	Modify_Tree_For_C.
-	* exp_ch11.adb (Expand_N_Exception_Declaration): Replace
-	Generate_C_Code by Modify_Tree_For_C.
-	* exp_ch4.adb (Expand_Allocator_Expression): Replace
-	Generate_C_Code by Modify_Tree_For_C.
-	* exp_dbug.adb (Qualify_Entity_Name): Replace Generate_C_Code
-	by Modify_Tree_For_C.
-	* exp_util.adb (Remove_Side_Effects, Side_Effect_Free): Replace
-	Generate_C_Code by Modify_Tree_For_C.
-	* sem_res.adb (Resolve_Type_Conversion): Replace Generate_C_Code
-	by Modify_Tree_For_C.
-	* sinfo.ads (Modify_Tree_For_C): Adding documentation.
-
-2017-01-19  Javier Miranda  <miranda@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Expression_Of_Expression_Function): New
-	subprogram.
-	(Is_Inlinable_Expression_Function): New subprogram.
-	* exp_ch6.ads, exp_ch6.adb (Expression_Of_Expression_Function): Moved
-	to Sem_Util.
-	(Is_Inlinable_Expression_Function): Moved to Sem_Util.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Diagnose_Call): Improve error message when a
-	selected component has a prefix that might be interpreted
-	as a parameterless function call, but none of the candidate
-	interpretations is parameterless, and there is a hidden homonym
-	of the prefix that is a package.
-	* sem_ch8.adb (Find_Selected_Component): If the prefix might be
-	interpreted as a parameterless function call and its analysis
-	fails, do not call Analyze_Selected_Component.
-
-2017-01-19  Steve Baird  <baird@adacore.com>
-
-	* sem_util.ads: Add new Use_Full_View Boolean parameter to
-	Get_Index_Bounds.
-	* sem_util.adb (Get_Index_Bounds): replace calls to Scalar_Range with
-	calls to a newly-defined Scalar_Range_Of_Right_View function.
-
-2017-01-19  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb: minor fix of unbalanced parens in comment
-	* lib-xref.ads (Traverse_Compilation_Unit): declaration moved
-	to visible part of the package to allow re-use in GNATprove.
-	* lib-xref-spark_specific.adb (Traverse_Stub): routine refactored
-	from repeated code of Traverse_Compilation_Unit.
-	(Traverse_Declaration_Or_Statement): fixed detection of
-	generic subprograms and packages; also, iteration over case
-	statement alternatives rewritten to avoid testing if the first
-	alternative is present (since it must be present due to Ada
-	syntax restrictions).
-
-2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as
-	returning by reference not just for subprogram body stubs,
-	but for all subprogram cases.
-	* sem_util.adb: Code reformatting.
-	(Requires_Transient_Scope): Update the call to Results_Differ.
-	(Results_Differ): Update the parameter profile and the associated
-	comment on usage.
-
-2017-01-19  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_dim.adb (Analyze_Dimension): Analyze object declaration and
-	identifier nodes that do not come from source, to handle properly
-	dimensionality check within an inlined body which inclddes both
-	original operands and rewritten operands. This removes spurious
-	dimensionality errors in the presence of front-end inlining,
-	as well as in SPARK mode.
-
-2017-01-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR driver/49726
-	* gcc-interface/lang.opt (gant, gnatO, gnat): Add Driver flag.
-
-2017-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* gcc-interface/Makefile.in (SPARC/Solaris): Fix typo.
-
-2017-01-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/gnat_ugn/getting_started_with_gnat.rst,
-	doc/gnat_ugn/inline_assembler.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/example_of_binder_output.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/compatibility_and_porting_guide.rst,
-	doc/gnat_rm/standard_library_routines.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/obsolescent_features.rst,
-	doc/gnat_rm/about_this_guide.rst,
-	doc/gnat_rm/the_implementation_of_standard_i_o.rst,
-	doc/gnat_rm/implementation_of_ada_2012_features.rst,
-	doc/gnat_rm/interfacing_to_other_languages.rst,
-	doc/gnat_rm/implementation_defined_aspects.rst,
-	doc/gnat_rm.rst: Update documentation.
-	* gnat_rm.texi, gnat_ugn.texi: Regenerated.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.ads: minor grammar fixes in comment of Normalized_Position_Max.
-	* scil_ll.adb: Minor style fix in comment.
-	* sem_ch8.adb (Analyze_Expanded_Name): Perform dimension analysis
-	even if entity is already set, because the node may be renalyzed
-	after inlining transformations.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Resolve_Call): Do not establish a transient scope
-	for a call to inlinable expression function (since the call will
-	be replaced by its returned object).
-	* exp_ch6.ads (Is_Inlinable_Expression_Function): New subprogram.
-	* exp_ch6.adb (Expression_Of_Expression_Function): New subprogram.
-	(Expand_Call): For inlinable expression function call replace the
-	call by its returned object.
-	(Is_Inlinable_Expression_Function): New subprogram.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* checks.adb: Minor typo fix and reformatting.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* contracts.adb (Contract_Only_Subprograms): Remove formal.
-	(Copy_Original_Specification): Removed.
-	(Skip_Contract_Only_Subprogram): Move here checks previously
-	located in the caller of this routine (to leave the code more clean).
-	(Build_Contract_Only_Subprogram): Code cleanup.
-	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): Removed.
-	(Get_Contract_Only_Missing_Body_Name): Removed.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch6.adb (Cloned_Expression): New subprogram.
-	(Freeze_Expr_Types): Complete previous patch since the expression
-	of an expression-function may have iterators and loops with
-	defining identifiers which, as part of the preanalysis of the
-	expression, may be left decorated with itypes that will not be
-	available in the tree passed to the backend.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* checks.adb (Apply_Type_Conversion_Checks): Optimize a type
-	conversion to Integer of an expression that is an attribute
-	reference 'Pos on an enumeration type.
-
-2017-01-13  Bob Duff  <duff@adacore.com>
-
-	* atree.ads: Minor comment fix.
-
-2017-01-13  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch6.adb (Check_Aggregate_Accessibility): Ignore function
-	calls in accessibility check on return statement.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
-	Ensure that the input body is a subprogram body before trying to
-	determine whether it denoted an expression function.  Note that
-	subprogram body stubs cannot denote expression functions.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* bindgen.adb, sem_ch6.adb, binde.adb, exp_ch3.adb: Minor reformatting
-	and typo fixes.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* einfo.ads (Component_Bit_Offset): Fix documentation.
-	* sem_ch13.adb (Check_Record_Representation_Clause): Skip check
-	on record holes for components with unknown compile-time offsets.
-
-2017-01-13  Bob Duff  <duff@adacore.com>
-
-	* ali.ads, ali.adb (Static_Elaboration_Model_Used): Remove unused flag.
-	* g-locfil.ads: Minor comment fix.
-
-2017-01-13  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Elab_New): New elaboration order algorithm
-	that is expected to cause fewer ABE issues. This is a work in
-	progress. The new algorithm is currently disabled, and can be
-	enable by the -dp switch, or by modifying the Do_Old and Do_New
-	etc. flags and rebuilding. Experimental code is included to
-	compare the results of the old and new algorithms.
-	* binde.ads: Use GNAT.Dynamic_Tables instead of Table, so we
-	can have multiple of these tables, so the old and new algorithms
-	can coexist.
-	* bindgen.ads (Gen_Output_File): Pass Elab_Order as an 'in'
-	parameter of type array. This avoids the global variable, and
-	allows bounds checking (which is normally defeated by the tables
-	packages). It also ensures that the Elab_Order is read-only
-	to Bindgen.
-	* bindgen.adb: Pass Elab_Order as an 'in' parameter to all
-	subprograms that need it, as above.
-	* debug.adb: Document new -dp switch. Modify doc of old -do
-	switch.
-	* gnatbind.adb (Gnatbind): Make use of new interfaces to Binde
-	and Bindgen.  Move writing of closure (-R and -Ra switches)
-	to Binde; that's more convenient.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Analyze_Expression_Function): If the expression
-	function is a completion, all entities referenced in the
-	expression are frozen. As a consequence, a reference to an
-	uncompleted private type from an enclosing scope is illegal.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch6.adb (Freeze_Expr_Types): New subprogram.
-	(Analyze_Subprogram_Body_Helper): At the occurrence of an
-	expression function declaration that is a completion, its
-	expression causes freezing (AI12-0103).
-
-2017-01-13  Vadim Godunko  <godunko@adacore.com>
-
-	* a-coinho-shared.adb: Fix memory leaks in Constant_Reference and
-	Reference functions of Ada.Containers.Indefinite_Holders.
-
-2017-01-13  Bob Duff  <duff@adacore.com>
-
-	* s-os_lib.ads: Minor comment fixes.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Default_Initialize_Object): Do not default
-	initialize an object when it is of a task type and restriction
-	No_Tasking is in effect because the initialization is obsolete.
-	* exp_ch9.adb (Build_Master_Entity): Do not generate a master when
-	restriction No_Tasking is in effect.
-	(Build_Master_Renaming): Do not rename a master when restriction
-	No_Tasking is in effect.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Array_Aggregate): The code that verifies
-	the legality of An others clause applies as well to a choice in
-	an Iterated_component_ association.
-	(Resolve_Iterated_Component_Association): An others choice
-	is legal.
-	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): An
-	Iterated_Component_Association is not static.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch3.adb (Freeze_Type): Mark the Ghost mode as set in case
-	control is passed to the expresion handler before the new mode
-	is set.
-	* sem_ch12.adb (Analyze_Package_Instantiation,
-	Analyze_Subprogram_Instantiation): Mark the Ghost mode as set
-	in case control is passed to the expresion handler before the
-	new mode is set.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, sem_ch3.adb, inline.adb, sem_util.adb, exp_ch4.adb,
-	exp_aggr.adb: Minor reformatting.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* inline.adb: Minor reformatting and typo fix.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_util.ads, sem_util.adb (Choice_List): Move function here
-	from sem_aggr.adb, for use elsewhere.
-	* sem_ch3.adb (Analyze_Object_Declaration): Use Choice_List.
-	* sem_aggr.adb (Resolve_Array_Aggregate): Remove
-	Iterated_Component_Present.
-	* exp_aggr.adb: Use Choice_List throughout, to handle
-	Iterated_Component_Associations.
-	(Gen_Loop): Generate proper loop for an
-	Iterated_Component_Association: loop variable has the identifier
-	of the original association. Generate a loop even for a single
-	component choice, in order to make loop parameter visible in
-	expression.
-	(Flatten): An Iterated_Component_Association is not static.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* exp_ch4.adb (Expand_N_Op_Expon): Ensure that the value of
-	float exponentiation for statically known small negative values
-	is the reciprocal of the exponentiation for the opposite value
-	of the exponent.
-	* s-exnllf.adb (Exn_Float, Exn_Long_Float, Exn_Long_Long_Float):
-	Ensure that the value of float exponentiation for negative values
-	is the reciprocal of the exponentiation for the opposite value
-	of the exponent.
-	* inline.adb (Expand_Inlined_Call): Fix the count
-	for the number of generated gotos.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb: Code cleanup.
-	* sem_util.adb (Is_OK_Volatile_Context): Add
-	expression in delay statement as OK for volatile context.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_aggr.adb (Resolve_Array_Aggregate): In normal compilation
-	mode a choice that is a subtype with a static predicate is
-	replaced by the values it covers. This transformation must not
-	be performed in ASIS mode, to preserve the source for analysis.
-
-2017-01-13  Justin Squirek  <squirek@adacore.com>
-
-	* nlists.ads: Correct minor typo.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_ch13.adb: Minor reformatting and typo fix.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* par-ch4.adb (P_Aggregate_Or_Parent_Expr): An
-	Iterated_Component_Association is a named association in an
-	array aggregate.
-	* sem_aggr.adb (Resolve_Iterated_Component_Association): New
-	procedure, subsidiary of Resolve_Array_Aggregate, to analyze
-	and resolve the discrete choices and the expression of the
-	new construct.
-	* sinfo.adb, sinfo.ads: In analogy with N_Component_Association,
-	Loop_Actions and Box_Present are attributes of
-	N_Iterated_Component_Association nodes. Box_Present is always
-	False in this case.
-	* sprint.adb (Sprint_Node): An Iterated_Component_Association
-	has a Discrete_Choices list, as specified in the RM. A
-	Component_Association for aggregate uses instead a Choices list.
-	We have to live with this small inconsistency because the new
-	construct also has a defining identifier, and there is no way
-	to merge the two node structures.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb (Remove_Aspects_And_Pragmas): Add Unused to the
-	list of pragmas to remove.  Remove pragmas from the list of
-	statements in the body to inline.
-	* namet.adb, namet.ads (Nam_In): New version with 12 parameters.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Resolve_Aspects): New procedure, subsidiary of
-	Analyze_Declarations, to analyze and resolve the expressions of
-	aspect specifications in the current declarative list, so that
-	the expressions have proper entity and type info.  This is needed
-	for ASIS when there is no subsequent expansion to generate this
-	semantic information.
-	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Use Etype of
-	original expression, to suppress cascaded errors when expression
-	has been constant-folded.
-	(Resolve_Aspect_Expressions, Resolve_Name): Preserve entities in
-	ASIS mode, because there is no subsequent expansion to decorate
-	the tree.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode):
-	New function to detect when a call may be inlined or not in
-	GNATprove mode.
-	(Expand_Inlined_Call): Ensure that a temporary
-	is always created in the cases where a type conversion may be
-	needed on an input parameter in GNATprove mode, so that GNATprove
-	sees the check to perform.
-	* sem_res.adb (Resolve_Call): In GNATprove mode, skip inlining
-	when not applicable due to actual requiring type conversion
-	with possible check but no temporary value can be copied for
-	GNATprove to see the check.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb,
-	exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb,
-	layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb,
-	exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb,
-	exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb,
-	g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb,
-	sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb,
-	prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb,
-	a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb,
-	get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb,
-	g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb,
-	sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb,
-	s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb,
-	contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb,
-	g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb,
-	g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb,
-	a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb,
-	ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb,
-	get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb,
-	prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb,
-	exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb,
-	s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb,
-	a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb,
-	a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb,
-	g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb,
-	par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb,
-	uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb,
-	a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case
-	statements to reflect the new style for case alternatives. Various
-	code clean up and reformatting.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb: Minor reformatting.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb: Code cleanup.
-	* sem_ch9.adb (Analyze_Delay_Until): Resolve
-	expression so that calls are identified as such inside delay
-	until.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_util.adb (Insert_Actions): Handle Iterated_Component_Association.
-	* par-ch3.adb (P_Discrete_Choice_List): An
-	Iterated_Component_Association is an array aggregate component.
-	* par-ch4.adb (P_Iterated_Component_Association): New procedure.
-	(Is_Quantified_Expression): New function that performs a lookahead
-	to distinguish quantified expressions from iterated component
-	associations.
-	(P_Aggregate_Or_Paren_Expr): Recognize iterated component
-	associations.
-	(P_Unparen_Cond_Case_Quant_Expression, P_Primary): Ditto.
-	* sem.adb (Analyze): Handle Iterated_Component_Association.
-	* sem_aggr.adb (Resolve_Array_Aggregate): Dummy handling of iterated
-	component associations.
-	* sinfo.ads, sinfo.adb: Entries for for
-	N_Iterated_Component_Association and its fields.
-	* sprint.adb (Sprint_Node_Actual): Handle
-	N_Iterated_Component_Association.
-
-2017-01-13  Justin Squirek  <squirek@adacore.com>
-
-	* sem_ch12.adb (Analyze_Package_Instantiation): Move disabiling
-	of the style check until after preanalysis of acutals.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch13.adb: Minor reformatting.
-	* par-ch11.adb: minor style fix in whitespace
-	* gnatbind.adb (Gnatbind): Scope of Std_Lib_File
-	reduced to Add_Artificial_ALI_File; style fix in declaration of
-	Text; grammar fix in comment.
-	* osint-c.adb (Read_Library_Info): strip trailing NUL from result.
-	* freeze.adb: Cleanup to pass pragma instead of
-	expression to call.
-	* exp_spark.adb (Expand_SPARK_Attribute_Reference): New procedure to
-	replace System'To_Address by equivalent call.
-
-2017-01-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* bindusg.adb: Improve usage output for -f switch.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* frontend.adb, freeze.adb, sem_res.adb, sem_attr.adb, sem_ch8.adb:
-	Minor reformatting.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch13.adb (Is_Predicate_Static): Following the intent of the RM,
-	treat comparisons on strings as legal in a Static_Predicate.
-	(Is_Predicate_Static, Is_Type_Ref): Predicate also returns true on
-	a function call that is the expansion of a string comparison.The
-	function call is built when compiling the corresponding predicate
-	function, but the expression has been found legal as a static
-	predicate during earlier analysis.
-	* sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Handle
-	properly a function call that is the expansion of a string
-	comparison operation, in order to recover the Static_Predicate
-	expression and apply it to a static argument when needed.
-
-2017-01-13  Tristan Gingold  <gingold@adacore.com>
-
-	* s-mmap.adb, s-mmap.ads (Open_Read_No_Exception): New function.
-	(Open_Read): Re-implement using Open_Read_No_Exception.
-	(Open_Write): Raise exception in case of error.
-	* s-mmosin-mingw.adb (Open_Common): Do not raise exception.
-	* s-mmosin-unix.adb (Open_Read, Open_Write): Do not
-	reaise exception.
-	* s-mmosin-mingw.ads, s-mmosin-unix.ads (Open_Read): Adjust comment.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* checks.adb: Code cleanup.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* freeze.adb (Check_Inherited_Conditions): Use analyzed pragma
-	expression instead of unanalyzed aspect expression for checking
-	the validity of inheriting an operation. Also copy the expression
-	being passing it to Build_Class_Wide_Expression, as this call
-	modifies its argument.
-	* sem_util.ads Fix comment to reference correct function name
-	New_Copy_Tree.
-
-2017-01-13  Javier Miranda  <miranda@adacore.com>
-
-	* sem_res.adb (Resolve_Generalized_Indexing): Compiling in ASIS mode,
-	when we propagate information about the indexes back to the original
-	indexing mode and the prefix of the index is a function call, do not
-	remove any parameter from such call.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch6.ads (Needs_BIP_Finalization_Master): Update comment.
-	* exp_ch6.adb (Needs_BIP_Finalization_Master): Return True for
-	a build-in-place function whose result type is tagged.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper):
-	Do not generate a wrapper when the only candidate is a class-wide
-	subprogram.
-	(Analyze_Subprogram_Renaming): Do not freeze the renaming or renamed
-	inside a generic context.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Add_Inherited_Tagged_DIC):
-	Pass the object parameters of both the parent and the derived
-	type DIC procedure to the reference replacement circuitry.
-	(Find_DIC_Type): Modify the circuitry to present the partial
-	view of a private type in case the private type defines its own
-	DIC pragma.
-	(Replace_Object_And_Primitive_References): Add two
-	optional formal parameters.  Update the comment on usage. Update
-	the replacement of references to object parameters.
-
-2017-01-13  Gary Dismukes  <dismukes@adacore.com>
-
-	* einfo.adb, sem_ch6.adb, atree.adb: Minor reformatting and typo fix.
-
-2017-01-13  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_res.adb (Resolve_Actuals): Apply Scalar_Range_Check to
-	an out parameter that is a type conversion, independently of th
-	range check that may apply to the expression of the conversion,
-	for use in GNATProve.
-
-2017-01-13  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Gnat1drv): Move the implicit with for System in
-	GNATprove_Mode here to Frontend.
-	* frontend.adb (Frontend): Move the implicit with for System
-	in GNATprove_Mode here as it ismore correct this way; the old
-	place only worked by chance, since there were no overloaded names.
-	* rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Tasking_State.
-	* sem_attr.adb (Analyze_Attribute): In GNATprove_Mode, for the
-	four attributes identified in SRM 9(18), add an implicit with
-	to Ada.Task_Identification.
-	* sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper):
-	Deal specially with the wrapper introduced for AI05-0071 in GNATprove
-	mode.
-	* checks.adb (Apply_Discriminant_Check,
-	Apply_Selected_Length_Checks, Apply_Selected_Range_Checks):
-	In GNATprove mode, we do not apply the checks, but we still
-	analyze the expression to possibly issue errors on SPARK
-	code when a run-time error can be detected at compile time.
-	(Selected_Length_Checks, Selected_Range_Checks): Perform analysis
-	in GNATprove mode.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* expander.adb (Expand): Add a warning about using return
-	statements in Ghost management code.
-	* exp_ch3.adb (Freeze_Type): Add a warning about using return
-	statements in Ghost management code.
-	* exp_ch7.adb (Build_Invariant_Procedure_Body,
-	Build_Invariant_Procedure_Declaration): Add a warning about
-	using return statements in Ghost management code.
-	* exp_disp.adb (Make_DT): Add a warning about using return
-	statements in Ghost management code.
-	* exp_util.adb (Build_DIC_Procedure_Body,
-	Build_DIC_Procedure_Declaration, Make_Predicated_Call): Add a
-	warning about using return statements in Ghost management code.
-	* freeze.adb (Freeze_Entity): Add a warning about using return
-	statements in Ghost management code.
-	* sem.adb (Analyze, Do_Analyze): Add a warning about using return
-	statements in Ghost management code.
-	* sem_ch3.adb (Analyze_Object_Declaration, Process_Full_View): Add
-	a warning about using return statements in Ghost management code.
-	* sem_ch5.adb (Analyze_Assignment): Add a warning about using
-	return statements in Ghost management code.
-	* sem_ch6.adb (Analyze_Procedure_Call,
-	Analyze_Subprogram_Body_Helper): Add a warning about using return
-	statements in Ghost management code.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Add a warning about
-	using return statements in Ghost management code.
-	* sem_ch12.adb (Analyze_Package_Instantiation,
-	Analyze_Subprogram_Instantiation, Instantiate_Package_Body,
-	Instantiate_Subprogram_Body): Add a warning about using return
-	statements in Ghost management code.
-	* sem_ch13.adb (Build_Predicate_Functions,
-	Build_Predicate_Function_Declarations): Add a warning about
-	using return statements in Ghost management code.
-	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part,
-	Analyze_Initial_Condition_In_Decl_Part, Analyze_Pragma,
-	Analyze_Pre_Post_Condition_In_Decl_Part):  Add a warning about
-	using return statements in Ghost management code.
-
-2017-01-13  Tristan Gingold  <gingold@adacore.com>
-
-	* s-mmosin-mingw.adb: Fix pragma import.
-
-2017-01-13  Arnaud Charlet  <charlet@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Ignore -gnateE in
-	codepeer mode.
-
-2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* atree.adb (Allocate_Initialize_Node): A newly created node is
-	no longer marked as Ghost at this level.
-	(Mark_New_Ghost_Node): New routine.
-	(New_Copy): Mark the copy as Ghost.
-	(New_Entity): Mark the entity as Ghost.
-	(New_Node): Mark the node as Ghost.
-	* einfo.adb (Is_Checked_Ghost_Entity): This attribute can now
-	apply to unanalyzed entities.
-	(Is_Ignored_Ghost_Entity): This attribute can now apply to unanalyzed
-	entities.
-	(Set_Is_Checked_Ghost_Entity): This attribute now
-	applies to all entities as well as unanalyzed entities.
-	(Set_Is_Ignored_Ghost_Entity): This attribute now applies to
-	all entities as well as unanalyzed entities.
-	* expander.adb Add with and use clauses for Ghost.
-	(Expand): Install and revert the Ghost region associated with the node
-	being expanded.
-	* exp_ch3.adb (Expand_Freeze_Array_Type): Remove all Ghost-related code.
-	(Expand_Freeze_Class_Wide_Type): Remoe all Ghost-related code.
-	(Expand_Freeze_Enumeration_Type): Remove all Ghost-related code.
-	(Expand_Freeze_Record_Type): Remove all Ghost-related code.
-	(Freeze_Type): Install and revert the Ghost region associated
-	with the type being frozen.
-	* exp_ch5.adb Remove with and use clauses for Ghost.
-	(Expand_N_Assignment_Statement): Remove all Ghost-related code.
-	* exp_ch6.adb Remove with and use clauses for Ghost.
-	(Expand_N_Procedure_Call_Statement): Remove all Ghost-relatd code.
-	(Expand_N_Subprogram_Body): Remove all Ghost-related code.
-	* exp_ch7.adb (Build_Invariant_Procedure_Body): Install and revert the
-	Ghost region of the working type.
-	(Build_Invariant_Procedure_Declaration): Install and revert
-	the Ghost region of the working type.
-	(Expand_N_Package_Body): Remove all Ghost-related code.
-	* exp_ch8.adb Remove with and use clauses for Ghost.
-	(Expand_N_Exception_Renaming_Declaration): Remove all Ghost-related
-	code.
-	(Expand_N_Object_Renaming_Declaration): Remove all Ghost-related code.
-	(Expand_N_Package_Renaming_Declaration): Remove all Ghost-related code.
-	(Expand_N_Subprogram_Renaming_Declaration): Remove all Ghost-related
-	code.
-	* exp_ch13.adb Remove with and use clauses for Ghost.
-	(Expand_N_Freeze_Entity): Remove all Ghost-related code.
-	* exp_disp.adb (Make_DT): Install and revert the Ghost region of
-	the tagged type. Move the generation of various entities within
-	the Ghost region of the type.
-	* exp_prag.adb Remove with and use clauses for Ghost.
-	(Expand_Pragma_Check): Remove all Ghost-related code.
-	(Expand_Pragma_Contract_Cases): Remove all Ghost-related code.
-	(Expand_Pragma_Initial_Condition): Remove all Ghost-related code.
-	(Expand_Pragma_Loop_Variant): Remove all Ghost-related code.
-	* exp_util.adb (Build_DIC_Procedure_Body): Install
-	and revert the Ghost region of the working types.
-	(Build_DIC_Procedure_Declaration): Install and revert the
-	Ghost region of the working type.
-	(Make_Invariant_Call): Install and revert the Ghost region of the
-	associated type.
-	(Make_Predicate_Call): Reimplemented. Install and revert the
-	Ghost region of the associated type.
-	* freeze.adb (Freeze_Entity): Install and revert the Ghost region
-	of the entity being frozen.
-	(New_Freeze_Node): Removed.
-	* ghost.adb Remove with and use clauses for Opt.
-	(Check_Ghost_Completion): Update the parameter profile
-	and all references to formal parameters.
-	(Ghost_Entity): Update the comment on usage.
-	(Install_Ghost_Mode): New routines.
-	(Is_Ghost_Assignment): New routine.
-	(Is_Ghost_Declaration): New routine.
-	(Is_Ghost_Pragma): New routine.
-	(Is_Ghost_Procedure_Call): New routine.
-	(Is_Ghost_Renaming): Removed.
-	(Is_OK_Declaration): Reimplemented.
-	(Is_OK_Pragma): Reimplemented.
-	(Is_OK_Statement): Reimplemented.
-	(Is_Subject_To_Ghost): Update the comment on usage.
-	(Mark_And_Set_Ghost_Assignment): New routine.
-	(Mark_And_Set_Ghost_Body): New routine.
-	(Mark_And_Set_Ghost_Completion): New routine.
-	(Mark_And_Set_Ghost_Declaration): New routine.
-	(Mark_And_Set_Ghost_Instantiation): New routine.
-	(Mark_And_Set_Ghost_Procedure_Call): New routine.
-	(Mark_Full_View_As_Ghost): Removed.
-	(Mark_Ghost_Declaration_Or_Body): New routine.
-	(Mark_Ghost_Pragma): New routine.
-	(Mark_Ghost_Renaming): New routine.
-	(Mark_Pragma_As_Ghost): Removed.
-	(Mark_Renaming_As_Ghost): Removed.
-	(Propagate_Ignored_Ghost_Code): Update the comment on usage.
-	(Prune_Node): Freeze nodes no longer need special pruning, they
-	are processed by the general ignored Ghost code mechanism.
-	(Restore_Ghost_Mode): New routine.
-	(Set_Ghost_Mode): Reimplemented.
-	(Set_Ghost_Mode_From_Entity): Removed.
-	* ghost.ads Add with and use clauses for Ghost.
-	(Check_Ghost_Completion): Update the parameter profile
-	along with the comment on usage.
-	(Install_Ghost_Mode): New routine.
-	(Is_Ghost_Assignment): New routine.
-	(Is_Ghost_Declaration): New routine.
-	(Is_Ghost_Pragma): New routine.
-	(Is_Ghost_Procedure_Call): New routine.
-	(Mark_And_Set_Ghost_Assignment): New routine.
-	(Mark_And_Set_Ghost_Body): New routine.
-	(Mark_And_Set_Ghost_Completion): New routine.
-	(Mark_And_Set_Ghost_Declaration): New routine.
-	(Mark_And_Set_Ghost_Instantiation): New routine.
-	(Mark_And_Set_Ghost_Procedure_Call): New routine.
-	(Mark_Full_View_As_Ghost): Removed.
-	(Mark_Ghost_Pragma): New routine.
-	(Mark_Ghost_Renaming): New routine.
-	(Mark_Pragma_As_Ghost): Removed.
-	(Mark_Renaming_As_Ghost): Removed.
-	(Restore_Ghost_Mode): New routine.
-	(Set_Ghost_Mode): Redefined.
-	(Set_Ghost_Mode_From_Entity): Removed.
-	* sem.adb (Analyze): Install and revert the Ghost region of the
-	node being analyzed.
-	(Do_Analyze): Change the way a clean Ghost
-	region is installed and reverted.
-	* sem_ch3.adb (Analyze_Full_Type_Declaration): Remove
-	all Ghost-related code.
-	(Analyze_Incomplete_Type_Decl): Remove all Ghost-related code.
-	(Analyze_Number_Declaration): Remove all Ghost-related code.
-	(Analyze_Object_Declaration): Install and revert the Ghost region of
-	a deferred object declaration's completion.
-	(Array_Type_Declaration): Remove all Ghost-related code.
-	(Build_Derived_Type): Update the comment on
-	the propagation of Ghost attributes from a parent to a derived type.
-	(Derive_Subprogram): Remove all Ghost-related code.
-	(Make_Class_Wide_Type): Remove all Ghost-related code.
-	(Make_Implicit_Base): Remove all Ghost-related code.
-	(Process_Full_View): Install and revert the Ghost region of
-	the partial view.  There is no longer need to check the Ghost
-	completion here.
-	* sem_ch5.adb (Analyze_Assignment): Install and revert the Ghost
-	region of the left hand side.
-	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
-	all Ghost-related code.
-	(Analyze_Expression_Function): Remove all Ghost-related code.
-	(Analyze_Generic_Subprogram_Body): Remove all Ghost-related code.
-	(Analyze_Procedure_Call): Install and revert the Ghost region of
-	the procedure being called.
-	(Analyze_Subprogram_Body_Helper): Install and revert the Ghost
-	region of the spec or body.
-	(Analyze_Subprogram_Declaration): Remove all Ghost-related code.
-	(Build_Subprogram_Declaration): Remove all Ghost-related code.
-	(Find_Corresponding_Spec): Remove all Ghost-related code.
-	(Process_Formals): Remove all Ghost-related code.
-	* sem_ch7.adb (Analyze_Package_Body_Helper): Install and revert
-	the Ghost region of the spec.
-	(Analyze_Package_Declaration): Remove all Ghost-related code.
-	* sem_ch8.adb (Analyze_Exception_Renaming): Mark a renaming as
-	Ghost when it aliases a Ghost entity.
-	(Analyze_Generic_Renaming): Mark a renaming as Ghost when it aliases
-	a Ghost entity.
-	(Analyze_Object_Renaming): Mark a renaming as Ghost when
-	it aliases a Ghost entity.
-	(Analyze_Package_Renaming): Mark a renaming as Ghost when it aliases
-	a Ghost entity.
-	(Analyze_Subprogram_Renaming): Mark a renaming as Ghost when it
-	aliases a Ghost entity.
-	* sem_ch11.adb Remove with and use clauses for Ghost.
-	(Analyze_Exception_Declaration): Remove all Ghost-related code.
-	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Remove all
-	Ghost-related code.
-	(Analyze_Generic_Subprogram_Declaration): Remove all Ghost-related
-	code.
-	(Analyze_Package_Instantiation): Install and revert the Ghost region
-	of the package instantiation.
-	(Analyze_Subprogram_Instantiation): Install
-	and revert the Ghost region of the subprogram instantiation.
-	(Instantiate_Package_Body): Code clean up. Install and revert the
-	Ghost region of the package body.
-	(Instantiate_Subprogram_Body): Code clean up. Install and revert the
-	Ghost region of the subprogram body.
-	* sem_ch13.adb (Build_Predicate_Functions): Install
-	and revert the Ghost region of the related type.
-	(Build_Predicate_Function_Declaration): Code clean up. Install
-	and rever the Ghost region of the related type.
-	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
-	Install and revert the Ghost region of the pragma.
-	(Analyze_Initial_Condition_In_Decl_Part): Install and revert the
-	Ghost region of the pragma.
-	(Analyze_Pragma): Install and revert the Ghost region of various
-	pragmas.  Mark a pragma as Ghost when it is related to a Ghost entity
-	or encloses a Ghost entity.
-	(Analyze_Pre_Post_Condition): Install and revert the Ghost
-	region of the pragma.
-	(Analyze_Pre_Post_Condition_In_Decl_Part): Install and revert the
-	Ghost region of the pragma.
-	* sem_res.adb (Resolve): Remove all Ghost-related code.
-	* sem_util.adb (Is_Declaration): Reimplemented.
-	(Is_Declaration_Other_Than_Renaming): New routine.
-	* sem_util.ads (Is_Declaration_Other_Than_Renaming): New routine.
-	* sinfo.adb (Is_Checked_Ghost_Pragma): New routine.
-	(Is_Ghost_Pragma): Removed.
-	(Is_Ignored_Ghost_Pragma): New routine.
-	(Set_Is_Checked_Ghost_Pragma): New routine.
-	(Set_Is_Ghost_Pragma): Removed.
-	(Set_Is_Ignored_Ghost_Pragma): New routine.
-	* sinfo.ads: Update the documentation on Ghost mode and
-	Ghost regions.	New attributes Is_Checked_Ghost_Pragma
-	and Is_Ignored_Ghost_Pragma along with usages in nodes.
-	Remove attribute Is_Ghost_Pragma along with usages in nodes.
-	(Is_Checked_Ghost_Pragma): New routine along with pragma Inline.
-	(Is_Ghost_Pragma): Removed along with pragma Inline.
-	(Is_Ignored_Ghost_Pragma): New routine along with pragma Inline.
-	(Set_Is_Checked_Ghost_Pragma): New routine along with pragma Inline.
-	(Set_Is_Ghost_Pragma): Removed along with pragma Inline.
-	(Set_Is_Ignored_Ghost_Pragma): New routine along with pragma Inline.
-
-2017-01-12  Tristan Gingold  <gingold@adacore.com>
-
-	* s-mmap.ads, s-mmap.adb, s-mmosin-unix.ads, s-mmosin-unix.adb,
-	s-mmauni-long.ads, s-mmosin-mingw.ads, s-mmosin-mingw.adb: New files.
-
-2017-01-12  Yannick Moy  <moy@adacore.com>
-
-	* errout.adb, errout.ads (Initialize): Factor common treatment
-	in Reset_Warnings.
-	(Reset_Warnings): New procedure to reset counts related to warnings.
-	(Record_Compilation_Errors): New variable to store the presence of an
-	error, used in gnat2why to allow changing the Warning_Mode.
-	(Compilation_Errors): Use new variable Record_Compilation_Errors to
-	store the presence of an error.
-
-2017-01-12  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch13.adb (Analyze_Aspect_Specifications):
-	For Interrupt_Handler and Attach_ Handler aspects, decorate the
-	internally built reference to the protected procedure as coming
-	from sources and force its analysis.
-
-2017-01-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch3.adb (Build_Derived_Type): For a scalar derived type,
-	inherit predicates if any from the first_subtype of the parent,
-	not from the anonymous parent type.
-	* sem_eval.adb (Is_Static_Subtype): A type that inherits a dynamic
-	predicate is not a static subtype.
-
-2017-01-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* freeze.adb (Check_Suspicious_Convention): New procedure
-	performing a warning check on discriminated record types with
-	convention C or C++. Factored out of procedure Freeze_Record_Type,
-	and changed to only apply to base types (to avoid spurious
-	warnings on subtypes). Minor improvement of warning messages
-	to refer to discriminated rather than variant record types.
-	(Freeze_Record_Type): Remove code for performing a suspicious
-	convention check.
-	(Freeze_Entity): Only call Freeze_Record_Type
-	on types that aren't declared within any enclosing generic units
-	(rather than just excluding the type when the innermost scope
-	is generic). Call Check_Suspicious_Convention whether or not
-	the type is declared within a generic unit.
-	* sem_ch8.adb (In_Generic_Scope): Move this function to Sem_Util.
-	* sem_util.ads, sem_util.adb (In_Generic_Scope): New function (moved
-	from Sem_Ch8).
-
-2017-01-12  Tristan Gingold  <gingold@adacore.com>
-
-	* sysdep.c, adaint.c, rtinit.c, ming32.h:
-	(__gnat_current_codepage): Renamed from CurrentCodePage
-	(__gnat_current_ccs_encoding): Renamed from CurrentCCSEncoding
-
-2017-01-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch6.adb (Fully_Conformant_Expressions): Handle properly
-	quantified expressions, following AI12-050: the loop parameters
-	of two quantified expressions are conformant if they have the
-	same identifier.
-
-2017-01-12  Arnaud Charlet  <charlet@adacore.com>
-
-	* gcc-interface/Makefile.in: Clean up VxWorks targets.
-
-2017-01-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute_Reference, case Loop_Entry):
-	Hnadle properly the attribute reference when it appears as part
-	of an expression in another loop aspect.
-
-2017-01-12  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Check_Predicated_Discriminant): New procedure,
-	subsidiary of Build_Initialization_Call, to complete generation
-	of predicate checks on discriminants whose (sub)types have
-	predicates, and to add checks on variants that do not have an
-	others clause.
-	* sem_util.adb (Gather_Components): A missing Others alternative is
-	not an error when the type of the discriminant is a static predicate
-	(and coverage has been checked when analyzing the case statement). A
-	runtime check is generated to verify that a given discriminant
-	satisfies the predicate (RM 3.8.1. (21.1/2)).
-
-2017-01-12  Yannick Moy  <moy@adacore.com>
-
-	* gnat1drv.adb (Adjust_Global_Switches): Only
-	perform checking of exception mechanism when generating code.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch7.adb (Add_Type_Invariants, Process_Array_Component):
-	Remove handling of access component with invariant.
-	(Build_Invariant_Procedure_Declaration): Remove return on class
-	wide type.
-	* freeze.adb (Freeze_Array_Type, Freeze_Record_Type): Remove
-	conditional exception for component or array so Has_Own_Invariants
-	flag is not falsly set.
-	* sem_ch3.adb (Make_Class_Wide_Type): Initialize copy of class
-	wide type to have no invariant flags.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb, sem_prag.adb, s-tassta.adb, sem_util.adb, s-tarest.adb,
-	sem_ch13.adb: Minor reformatting.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_aggr.adb (Build_Record_Aggr_Code): Guard against a missing
-	adjustment primitive when the ancestor type was not properly frozen.
-	(Gen_Assign): Guard against a missing initialization
-	primitive when the component type was not properly frozen.
-	(Initialize_Array_Component): Guard against a missing adjustment
-	primitive when the component type was not properly frozen.
-	(Initialize_Record_Component): Guard against a missing adjustment
-	primitive when the component type was not properly frozen.
-	(Process_Transient_Component_Completion): The transient object may
-	not be finalized when its associated type was not properly frozen.
-	* exp_ch3.adb (Build_Assignment): Guard against a missing
-	adjustment primitive when the component type was not properly frozen.
-	(Build_Initialization_Call): Guard against a missing
-	initialization primitive when the associated type was not properly
-	frozen.
-	(Expand_N_Object_Declaration): Guard against a missing
-	adjustment primitive when the base type was not properly frozen.
-	(Predefined_Primitive_Bodies): Create an empty Deep_Adjust
-	body when there is no adjustment primitive available. Create an
-	empty Deep_Finalize body when there is no finalization primitive
-	available.
-	* exp_ch4.adb (Apply_Accessibility_Check): Guard against a
-	missing finalization primitive when the designated type was
-	not properly frozen.
-	(Expand_N_Allocator): Guard against a missing initialization primitive
-	when the designated type was not properly frozen.
-	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add the adjustment call
-	only when the corresponding adjustment primitive is available.
-	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Generate the
-	adjustment/finalization statements only when there is an available
-	primitive to carry out the action.
-	(Build_Initialize_Statements): Generate the initialization/finalization
-	statements only when there is an available primitive to carry out the
-	action.
-	(Make_Adjust_Call): Do not generate a call when the underlying
-	type is not present due to a possible missing full view.
-	(Make_Final_Call): Do not generate a call when the underlying
-	type is not present due to a possible missing full view.
-	(Make_Finalize_Address_Stmts): Generate an empty body when the
-	designated type lacks a finalization primitive.
-	(Make_Init_Call): Do not generate a call when the underlying type is
-	not present due to a possible missing full view.
-	(Process_Component_For_Adjust): Add the adjustment call only when the
-	corresponding adjustment primitive is available.
-	(Process_Component_For_Finalize): Add the finalization call only when
-	the corresponding finalization primitive is available.
-	(Process_Object_Declaration): Use a null statement to emulate a
-	missing call to the finalization primitive of the object type.
-	* exp_ch7.ads (Make_Adjust_Call): Update the comment on usage.
-	(Make_Final_Call): Update the comment on usage.
-	(Make_Init_Call): Update the comment on usage.
-	* exp_util.adb (Build_Transient_Object_Statements): Code reformatting.
-
-2017-01-12  Arnaud Charlet  <charlet@adacore.com>
-
-	* einfo.ads: Update documentation of Address_Taken.
-	* sem_attr.adb (Analyze_Access_Attribute, Resolve_Attribute
-	[Access_Attribute]): Only consider 'Access/'Unchecked_Access
-	for subprograms when setting Address_Taken flag.
-
-2017-01-12  Patrick Bernardi  <bernardi@adacore.com>
-
-	* sem_ch10.adb (Analyze_With_Clause): Removed code that turned
-	Configurable_Run_Time_Mode off when analysing with'ed predefined
-	libraries.
-
-2017-01-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_prag.adb: Minor reformatting.
-	* sem_util.adb (Unique_Entity): fix result for
-	bodies of entry families.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* sem_prag.adb (Analyze_Pragma): Add appropriate calls to
-	Resolve_Suppressible in the pragma Assertion_Policy case.
-	(Resolve_Suppressible): Created this function to factor out
-	common code used to resolve Suppress to either Ignore or Check
-	* snames.ads-tmpl: Add name for Suppressible.
-
-2017-01-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_ch9.adb, s-secsta.adb, snames.ads-tmpl, exp_ch3.adb: Minor
-	reformatting.
-	* debug.adb: Minor comment fixes.
-
-2017-01-12  Arnaud Charlet  <charlet@adacore.com>
-
-	* sem_util.adb (Unique_Entity): For concurrent
-	bodies that are defined with stubs and complete a declaration
-	of a single concurrent object return the entity of an implicit
-	concurrent type, not the entity of the anonymous concurrent
-	object.
-	* debug.adb: -gnatd.J is no longer used.
-	* make.adb (Globalize): Removed, no longer used.
-	* sem_ch9.adb: minor typo in comment for entry index
-
-2017-01-12  Patrick Bernardi  <bernardi@adacore.com>
-
-	* aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size.
-	* exp_ch3.adb (Build_Init_Statements): As part of initialising
-	the value record of a task, set its _Secondary_Stack_Size field
-	if present.
-	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create
-	a _Secondary_Stack_Size field in the value record of
-	the task if a Secondary_Stack_Size rep item is present.
-	(Make_Task_Create_Call): Include secondary stack size
-	parameter. If No_Secondary_Stack restriction is in place, passes
-	stack size of 0.
-	* par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma
-	Secondary_Stack_Size.
-	* s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New
-	function to define the overhead of the secondary stack.
-	* s-tarest.adb (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Functions now include
-	Secondary_Stack_Size parameter to pass to Initialize_ATCB.
-	* s-tarest.adb (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Calls to Initialize_ATCB now
-	include Secondary_Stack_Size parameter.
-	(Task_Wrapper): Secondary stack now allocated to the size specified by
-	the Secondary_Stack_Size parameter in the task's ATCB.
-	* s-taskin.adb, s-taskin.adb (Common_ATCB, Initialize_ATCB): New
-	Secondary_Stack_Size component.
-	* s-tassta.adb, s-tassta.ads (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Function now include
-	Secondary_Stack_Size parameter.
-	(Task_Wrapper): Secondary stack now allocated to the size
-	specified by the Secondary_Stack_Size parameter in the task's
-	ATCB.
-	* s-tproft.adb (Register_Foreign_Thread): Amended Initialize_ATCB call
-	to include Secondary_Stack_Size parameter.
-	* sem_ch13.adb (Analyze_Aspect_Specification): Add support for
-	Secondary_Stack_Size aspect, turning the aspect into its corresponding
-	internal attribute.
-	(Analyze_Attribute_Definition): Process Secondary_Stack_Size attribute.
-	* snames.adb-tmpl, snames.ads-tmpl: Added names
-	Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size,
-	Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size.
-
-2017-01-12  Yannick Moy  <moy@adacore.com>
-
-	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Fix sloc of copied
-	subtree.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference):
-	Fix Finalization_Size case by properly resolving the type after
-	rewritting the node.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Build_DIC_Procedure_Body): Semi-insert the body into
-	the tree.
-	(Build_DIC_Procedure_Declaration): Semi-insert the body into the tree.
-	* binde.adb, exp_ch5.adb, sem_type.adb, sem.ads, sem_res.adb,
-	exp_sel.ads: Minor reformatting.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch6.adb (Expand_Call): Add guard to prevent
-	invariant checks from being created for internally generated
-	subprograms.
-
-2017-01-12  Bob Duff  <duff@adacore.com>
-
-	* lib-writ.ads: Remove incorrect comment.
-
-2017-01-12  Javier Miranda  <miranda@adacore.com>
-
-	* debug.adb (-gnatd.K): Enable generation of contract-only
-	procedures in CodePeer mode.
-	* contracts.adb (Build_And_Analyze_Contract_Only_Subprograms):
-	New subprogram.
-	(Analyze_Contracts): Generate contract-only procedures if -gnatdK is
-	set.
-	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): New
-	subprogram.
-	(Get_Contract_Only_Missing_Body_Name): New subprogram.
-	(Get_Contract_Only_Body): New subprogram.
-	(Set_Contract_Only_Body): New subprogram.
-	(Is_Contract_Only_Body): New subprogram.
-	(Set_Is_Contract_Only_Body): New subprogram.
-	(SCIL_Nodes): Replace table by hash-table.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb: Minor reformatting.
-	* spark_xrefs.ads: minor cleanup of comments for SPARK xrefs
-
-2017-01-12  Bob Duff  <duff@adacore.com>
-
-	* binde.adb (Forced): New reason for a dependence.
-	(Force_Elab_Order): Implementation of the new switch.
-	* binde.ads: Minor comment fixes.
-	* bindusg.adb: Add -f switch. Apparently, there was an -f switch
-	long ago that is no longer supported; removed comment about that.
-	* opt.ads (Force_Elab_Order_File): Name of file specified for
-	-f switch.
-	* switch-b.adb: Parse -f switch.
-
-2017-01-12  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch6.adb (Check_View_Conversion): Created this function
-	to properly chain calls to check type invariants that may be
-	present in a subprogram call after the subprogram.
-	(Expand_Call): Add a conditional to identify when a view conversion
-	needs to be checked.
-	* nlists.adb, nlists.ads (Prepend_New): New routine.
-	(Prepend_New_To): New routine.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sinfo.ads: Minor reformatting.
-
-2017-01-12  Gary Dismukes  <dismukes@adacore.com>
-
-	* exp_util.adb, exp_util.ads, einfo.ads: Minor typo fixes and
-	reformatting.
-
-2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch6.adb (Make_Build_In_Place_Call_In_Anonymous_Context): Add new
-	variable Definite. Create a local object and pass its 'Access to the
-	BIP function when the result type is either definite or it does not
-	require any finalization or secondary stack management.
-
-2017-01-12  Bob Duff  <duff@adacore.com>
-
-	* contracts.adb, einfo.adb, errout.adb, exp_attr.adb,
-	exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_prag.adb, freeze.adb,
-	frontend.adb, ghost.adb, inline.adb, lib-writ.adb, lib-xref.adb,
-	par.adb, par-ch10.adb, par-ch2.adb, par-prag.adb, par_sco.adb,
-	sem_attr.adb, sem_aux.adb, sem_ch10.adb, sem_ch12.adb,
-	sem_ch13.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb,
-	sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
-	sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb (Pragma_Name):
-	Change name to Pragma_Name_Unmapped.
-	(Pragma_Name_Mapped): Change name to Pragma_Name.
-	This is because the "mapped" version should be the usual case.
-
-2017-01-09  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* einfo.ads, einfo.adb: Remove uses of flags Has_Default_Init_Cond,
-	Is_Default_Init_Cond_Procedure, and
-	Has_Inherited_Default_Init_Cond.  Add uses of flags
-	Has_Own_DIC, Is_DIC_Procedure, and Has_Inherited_DIC.
-	(Default_Init_Cond_Procedure): Removed.
-	(DIC_Procedure): New routine.
-	(Has_Default_Init_Cond): Removed.
-	(Has_DIC): New routine.
-	(Has_Inheritable_Invariants): The attribute applies to the base type.
-	(Has_Inherited_Default_Init_Cond): Removed.
-	(Has_Inherited_DIC): New routine.
-	(Has_Inherited_Invariants): The attribute applies to the base type.
-	(Has_Own_DIC): New routine.
-	(Has_Own_Invariants): The attribute applies to the base type.
-	(Is_Default_Init_Cond_Procedure): Removed.
-	(Is_DIC_Procedure): New routine.
-	(Set_Default_Init_Cond_Procedure): Removed.
-	(Set_DIC_Procedure): New routine.
-	(Set_Has_Default_Init_Cond): Removed.
-	(Set_Has_Inheritable_Invariants): The attribute applies
-	to the base type.
-	(Set_Has_Inherited_Default_Init_Cond): Removed.
-	(Set_Has_Inherited_DIC): New routine.
-	(Set_Has_Inherited_Invariants): The attribute applies to the base type.
-	(Set_Has_Own_DIC): New routine.
-	(Set_Has_Own_Invariants): The attribute applies to the base type.
-	(Set_Is_Default_Init_Cond_Procedure): Removed.
-	(Set_Is_DIC_Procedure): New routine.
-	(Write_Entity_Flags): Update the output of all flags related to
-	default initial condition.
-	* exp_ch3.adb (Expand_N_Object_Declaration): Update the generation
-	of the call to the DIC procedure.
-	(Freeze_Type): Generate the body of the DIC procedure.
-	* exp_ch7.adb (Build_Invariant_Procedure_Body): Replace
-	all occurrences of Create_Append with Append_New_To. Do
-	not generate an invariant procedure for a class-wide type.
-	The generated body acts as a freeze action of the working type.
-	(Build_Invariant_Procedure_Declaration): Do not generate an
-	invariant procedure for a class-wide type.
-	(Create_Append): Removed.
-	* exp_util.adb: Add with and use clauses for Sem_Ch3, sem_ch6,
-	sem_Ch12, Sem_Disp, and GNAT.HTable. Move the handling of
-	class-wide pre/postcondition description and data structures from
-	Sem_Prag.
-	(Build_Class_Wide_Expression): Moved from Sem_Prag.
-	(Build_DIC_Call): New routine.
-	(Build_DIC_Procedure_Body): New routine.
-	(Build_DIC_Procedure_Declaration): New routine.
-	(Entity_Hash): Moved from Sem_Prag.
-	(Find_DIC_Type): New routine.
-	(Update_Primitives_Mapping): Reimplemented.
-	(Update_Primitives_Mapping_Of_Types): New routine.
-	* exp_util.ads (Build_Class_Wide_Expression): Moved from Sem_Prag.
-	(Build_DIC_Call): New routine.
-	(Build_DIC_Procedure_Body): New routine.
-	(Build_DIC_Procedure_Declaration): New routine.
-	(Update_Primitives_Mapping): Moved from Sem_Prag.
-	(Update_Primitives_Mapping_Of_Types): New routine.
-	* nlists.adb (Append_New): New routine.
-	(Append_New_To): New routine.
-	* nlists.ads (Append_New): New routine.
-	(Append_New_To): New routine.
-	* sem_ch3.adb (Analyze_Declarations): Do not generate the bodies
-	of DIC procedures here. This is now done at the end of the
-	visible declarations, private declarations, and at the freeze
-	point of a type.
-	(Analyze_Private_Extension_Declaration):
-	A private extension inherits the DIC pragma of a parent type.
-	(Analyze_Subtype_Declaration): No need to propagate invariant
-	attributes to a subtype as those apply to the base type.
-	(Build_Derived_Record_Type): No need to inherit invariants here
-	as this is now done in Build_Derived_Type.
-	(Build_Derived_Type): Inherit both the DIC pragma and invariants from
-	a parent type.
-	(Process_Full_View): Update the propagation of DIC attributes.
-	(Propagate_Default_Init_Cond_Attributes): Removed.
-	* sem_ch7.adb Add with and use clauses for Exp_Util.
-	(Analyze_Package_Specification): Create the body of the DIC
-	procedure at the end of the visible and private declarations.
-	(Preserve_Full_Attributes): Propagate DIC attributes.
-	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Propagate
-	DIC attributes.
-	(Analyze_Task_Type_Declaration): Propagate DIC attributes.
-	* sem_elab.adb (Check_A_Call): Update the call to
-	Is_Nontrivial_Default_Init_Cond_Procedure.
-	* sem_prag.adb Remove the with and use clauses for
-	GNAT.HTable. Move the handling of class- wide pre/postcondition
-	description and data structures to Exp_Util.
-	(Analyze_Pragma): Create the declaration of the DIC procedure. There
-	is no need to propagate invariant-related attributes at this point
-	as this is done in Build_Invariant_Procedure_Declaration.
-	(Build_Class_Wide_Expression): Moved to Exp_Util.
-	(Entity_Hash): Moved to Exp_Util.
-	(Update_Primitives_Mapping): Moved to Exp_Util.
-	* sem_prag.ads (Build_Class_Wide_Expression): Moved to Exp_Util.
-	(Update_Primitives_Mapping): Moved to Exp_Util.
-	* sem_util.adb: Remove with and use clauses for Ghost
-	and Sem_Ch13.
-	(Build_Default_Init_Cond_Call): Removed.
-	(Build_Default_Init_Cond_Procedure_Bodies): Removed.
-	(Build_Default_Init_Cond_Procedure_Declaration): Removed.
-	(Get_Views): Reimplemented.
-	(Has_Full_Default_Initialization): Reimplement the section on DIC.
-	(Inherit_Default_Init_Cond_Procedure): Removed.
-	(Is_Nontrivial_Default_Init_Cond_Procedure): Removed.
-	(Is_Nontrivial_DIC_Procedure): New routine.
-	(Is_Verifiable_DIC_Pragma): New routine.
-	(Propagate_DIC_Attributes): New routine.
-	* sem_util.ads (Build_Default_Init_Cond_Call): Removed.
-	(Build_Default_Init_Cond_Procedure_Bodies): Removed.
-	(Build_Default_Init_Cond_Procedure_Declaration): Removed.
-	(Inherit_Default_Init_Cond_Procedure): Removed.
-	(Is_Nontrivial_Default_Init_Cond_Procedure): Removed.
-	(Is_Nontrivial_DIC_Procedure): New routine.
-	(Is_Verifiable_DIC_Pragma): New routine.
-	(Propagate_DIC_Attributes): New routine.
-	* sem_warn.adb (Is_OK_Fully_Initialized): Reimplement the section
-	on DIC.
-	* sinfo.ads, sinfo.adb: Add new attribute Expression_Copy along with
-	usage in nodes.
-	(Expression_Copy): New routine along with pragma Inline.
-	(Set_Expression_Copy): New routine along with pragma Inline.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* bindgen.adb (Gen_Adainit, Gen_Adafinal): Change
-	"Bind_Main_Program" to "not Bind_For_Library", because otherwise
-	we won't generate the call to s_stalib_adafinal when the main
-	is not written in Ada.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* sem_prag.adb: Minor: remove pragma Warnings.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* Makefile.rtl: Do not compile s-stchop by default.
-
-2017-01-06  Patrick Bernardi  <bernardi@adacore.com>
-
-	* aspects.adb, aspects.ads, exp_ch3.adb, exp_ch9.adb, par-prag.adb,
-	sem_ch13.adb, sem_prag.adb, sem_prag.ads, snames.adb-tmpl,
-	snames.ads-tmpl, s-secsta.adb, s-secsta.ads, s-tarest.adb,
-	s-tarest.ads, s-taskin.adb, s-taskin.ads, s-tassta.adb, s-tassta.ads:
-	Reverted previous change for now.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch3.adb (Build_Initialization_Call): Apply predicate
-	check to default discriminant value if checks are enabled.
-	(Build_Assignment): If type of component has static predicate,
-	apply check to its default value, if any.
-
-2017-01-06  Patrick Bernardi  <bernardi@adacore.com>
-
-	* aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size.
-	* exp_ch3.adb (Build_Init_Statements): As part of initialising
-	the value record of a task, set its _Secondary_Stack_Size field
-	if present.
-	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create
-	a _Secondary_Stack_Size field in the value record of
-	the task if a Secondary_Stack_Size rep item is present.
-	(Make_Task_Create_Call): Include secondary stack size
-	parameter. If No_Secondary_Stack restriction is in place, passes
-	stack size of 0.
-	* par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma
-	Secondary_Stack_Size.
-	* s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New
-	function to define the overhead of the secondary stack.
-	* s-tarest.adb (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Functions now include
-	Secondary_Stack_Size parameter to pass to Initialize_ATCB.
-	* s-tarest.adb (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Calls to Initialize_ATCB
-	now include Secondary_Stack_Size parameter.
-	(Task_Wrapper):
-	Secondary stack now allocated to the size specified by the
-	Secondary_Stack_Size parameter in the task's ATCB.
-	* s-taskin.adb, s-taskin.adb (Common_ATCB, Initialise_ATCB): New
-	Secondary_Stack_Size component.
-	* s-tassta.adb, s-tassta.ads (Create_Restricted_Task,
-	Create_Restricted_Task_Sequential): Function now include
-	Secondary_Stack_Size parameter.
-	(Task_Wrapper): Secondary stack
-	now allocated to the size specified by the Secondary_Stack_Size
-	parameter in the task's ATCB.
-	* sem_ch13.adb (Analyze_Aspect_Specification): Add support
-	for Secondary_Stack_Size aspect, turning the aspect into its
-	corresponding internal attribute.
-	(Analyze_Attribute_Definition):
-	Process Secondary_Stack_Size attribute.
-	* snames.adb-tmpl, snames.ads-tmpl: Added names
-	Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size,
-	Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size.
-
-2017-01-06  Pascal Obry  <obry@adacore.com>
-
-	* a-direio.adb, a-direio.ads, a-sequio.adb, a-sequio.ads: Add Flush to
-	Sequential_IO and Direct_IO.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* snames.ads-tmpl (Renamed): New name for the pragma argument.
-	* par-ch2.adb: Allow the new pragma (with analysis deferred
-	to Sem_Prag).
-	* sinfo.ads, sinfo.adb (Map_Pragma_Name, Pragma_Name_Mapped):
-	Keep a mapping from new pragma names to old names.
-	* sem_prag.adb: Check legality of pragma Rename_Pragma, and
-	implement it by calling Map_Pragma_Name.
-	* checks.adb, contracts.adb, einfo.adb, errout.adb,
-	* exp_attr.adb, exp_ch3.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
-	* exp_prag.adb, exp_util.adb, freeze.adb, frontend.adb, ghost.adb,
-	* inline.adb, lib-writ.adb, scans.adb, scans.ads, sem_attr.adb,
-	* sem_aux.adb, sem_ch10.adb, sem_ch13.adb, sem_ch6.adb, sem_ch9.adb,
-	* sem_elab.adb, sem_res.adb, sem_util.adb, sem_util.ads,
-	* sem_warn.adb: Call Pragma_Name_Mapped instead of Pragma_Name
-	as appropriate.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch9.adb: Minor reformatting.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.ads, exp_ch9.adb (Build_Entry_Names): Remove (unused).
-	* rtsfind.ads (RE_Task_Entry_Names_Array, RO_ST_Set_Entry_Names)
-	(RE_Protected_Entry_Names_Array, RO_PE_Set_Entry_Names): Remove
-	(unused).
-	* s-taskin.ads, s-taskin.adb (Set_Entry_Names,
-	Task_Entry_Names_Array, Task_Entry_Names_Access): Remove.
-	* s-tpoben.ads, s-tpoben.adb (Set_Entry_Names,
-	Protected_Entry_Names_Array, Protected_Entry_Names_Access): Remove.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* sinfo.ads, sinfo.adb (Map_Pragma_Name): Preparation work,
-	dummy implementation of Map_Pragma_Name.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Make the
-	entry_body variable constant.
-	* s-taprob.ads (Entry_Body_Access): Move to s-tposen.
-	* s-tpoben.ads (Protected_Entry_Body_Access): Now access
-	to constant.
-	* s-tposen.ads (Entry_Body_Access): Moved from s-taprob,
-	now access to constant.
-
-2017-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* einfo.ads, sem_res.adb, sem_attr.adb, sem_ch6.adb: Minor
-	reformatting and typo fixes.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* snames.ads-tmpl: New names for pragma renaming.
-	* snames.adb-tmpl (Is_Configuration_Pragma_Name): Minor cleanup.
-	* par-prag.adb: Add new pragma name to case statement.
-	* sem_prag.adb (Rename_Pragma): Initial cut at semantic analysis
-	of the pragma.
-	* sinfo.ads, sinfo.adb (Pragma_Name_Mapped): Preparation work,
-	Dummy implementation of Pragma_Name_Mapped.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Add guard to
-	better detect call within an entry_wrapper.
-	* sem_res.adb (Resolve_Call): A protected call within an
-	entity_wrapper is analyzed in the context of the protected
-	object but corresponds to a pre-analysis and is not an access
-	before elaboration.
-	* sem_attr.adb: Minor reformatting.
-
-2017-01-06  Justin Squirek  <squirek@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute): Modify semantic checks for
-	Finalization_Size to allow a prefix of any non-class-wide type.
-	* sem_attr.ads Modify comment for Finalization_Size to include
-	definite type use case.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* einfo.ads, einfo.adb (Is_Entry_Wrapper): New flag, defined
-	on procedures that are wrappers created for entries that have
-	preconditions.
-	* sem_ch6.adb (Analyze_Subrogram_Body_Helper): If the subprogram
-	body is an entry_wrapper, compile it in the context of the
-	synchronized type, because a precondition may refer to funtions
-	of the type.
-	* exp_ch9.adb (Build_Contract_Wrapper): Set Is_Entry_Wrapper on
-	body entity.
-	* exp_ch6.adb (Expand_Protected_Subprogram_Call): if the call is
-	within an Entry_Wrapper this is an external call whose target
-	is the synchronized object that is the actual in the call to
-	the wrapper.
-
-2017-01-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_attr.adb (Analyze_Attribute/Attribute_Loop_Entry): Analyze node
-	in tree, which means not analyzing the previous prefix if the node has
-	been rewritten into its prefix.
-
-2017-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* s-tpobop.adb: Minor reformatting.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* checks.adb (Ensure_Valid): Do not generate a validity check
-	within a generated predicate function, validity checks will have
-	been applied earlier when required.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* s-tpoben.ads (Protection_Entries): Add comment and reorder
-	components for performances.
-	* s-tpobop.adb (PO_Do_Or_Queue): Implement Max_Queue_Length runtime
-	semantic.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_eval.adb (Check_Expression_Against_Static_Predicate):
-	If expression is compile-time known and obeys a static predicate
-	it must be labelled as static, to prevent spurious warnings and
-	run-time errors, e.g. in case statements. This is relevant when
-	the expression is the result of constant-folding a type conversion
-	whose expression is a variable with a known static value.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb, sem_attr.ads: Minor reformatting.
-
-2017-01-06  Justin Squirek  <squirek@adacore.com>
-
-	* exp_attr.adb (Expand_N_Attribute_Reference): Add entry for
-	expansion of Finalization_Size attribute.
-	* sem_attr.adb (Analyze_Attribute): Add entry to check the
-	semantics of Finalization_Size.
-	(Eval_Attribute): Add null entry for Finalization_Size.
-	* sem_attr.ads: Add Finalization_Size to the implementation
-	dependent attribute list.
-	* snames.ads-tmpl: Add name entry for Finalization_Size attribute.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch5.adb (Analyze_Loop_Statement): If the loop includes an
-	iterator specification with a serious syntactic error, transform
-	construct into an infinite loop in order to continue analysis
-	and prevent a compiler abort.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Do not generate
-	max_queue_lengths_array if unused.
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* errout.adb (Set_Msg_Text): Protect against out-of-bounds
-	array access, in case "\" is at the end of Text.
-	* stylesw.adb (Set_Style_Check_Options): Don't include input
-	characters in the error message template, because they could
-	be control characters such as "\", which Errout will try to
-	interpret.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_ch4.adb (Find_Indexing_Operations, Inspect_Declarations):
-	For a private type examine the visible declarations that follow
-	the partial view, not just the private declarations that follow
-	the full view.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_ch5.adb, sem_ch3.adb, checks.adb: Minor reformatting and
-	code cleanup.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* exp_ch5.adb (Get_Default_Iterator): For a derived type, the
-	alias of the inherited op is the parent iterator, no need to
-	examine dispatch table positions which might not be established
-	yet if type is not frozen.
-	* sem_disp.adb (Check_Controlling_Formals): The formal of a
-	predicate function may be a subtype of a tagged type.
-	* sem_ch3.adb (Complete_Private_Subtype): Adjust inheritance
-	of representation items for the completion of a type extension
-	where a predicate applies to the partial view.
-	* checks.ads, checks.adb (Apply_Predicate_Check): Add optional
-	parameter that designates function whose actual receives a
-	predicate check, to improve warning message when the check will
-	lead to infinite recursion.
-	* sem_res.adb (Resolve_Actuals): Pass additional parameter to
-	Apply_Predicate_Check.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* s-rident.ads (Profile_Info): Remove No_Entry_Queue from
-	Gnat_Extended_Ravenscar.
-	* exp_ch9.adb, s-tpoben.adb, s-tpoben.ads: Fix spelling.
-
-2017-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_util.ads: Minor typo fix and reformatting.
-
-2017-01-06  Yannick Moy  <moy@adacore.com>
-
-	* ghost.adb Minor fixing of references to SPARK RM.
-	(Check_Ghost_Context): Check whether reference is to a lvalue
-	before issuing an error about violation of SPARK RM 6.9(13)
-	when declaration has Ghost policy Check and reference has Ghost
-	policy Ignore.
-	* sem_util.adb Minor indentation.
-	* sem_ch10.adb (Analyze_Package_Body_Stub, Analyze_Protected_Body_Stub,
-	Analyze_Task_Body_Stub): Set Ekind of the defining identifier.
-	* sem_util.ads (Unique_Defining_Entity): Document the result
-	for package body stubs.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* raise-gcc.c (abort): Macro to call Abort_Propagation.
-	* s-tpoben.ads (Protected_Entry_Queue_Max_Access): Make it access
-	constant.
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration):
-	Do not generate the Entry_Max_Queue_Lengths_Array if all default
-	values.
-	* exp_util.adb (Corresponding_Runtime_Package): Consider
-	Max_Queue_Length pragma.
-
-2017-01-06  Justin Squirek  <squirek@adacore.com>
-
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration):
-	Remove declaration generation in the case of
-	System_Tasking_Protected_Objects_Single_Entry being used,
-	and add a warning message when this is detected to occur.
-	(Make_Initialize_Protection): Remove reference pass in the case
-	of System_Tasking_Protected_Objects_Single_Entry.
-	* rtsfind.ads: Remove RE_Protected_Entry_Queue_Max
-	* s-tposen.adb (Initialize_Protection_Entry): Remove
-	Entry_Queue_Max parameter.
-	* s-tposen.ads: Remove the types use to store the entry queue
-	maximum.
-	* sem_prag.adb (Analyze_Pragma): Remove entry families restriction
-
-2017-01-06  Yannick Moy  <moy@adacore.com>
-
-	* sem_util.adb, sem_util.ads (Get_Enum_Lit_From_Pos): Strengthen
-	behavior of function, to also accept out of range positions
-	and raise Constraint_Error in such case, and to copy sloc from
-	literal if No_Location passed as location.
-	* uintp.adb, uintp.ads (UI_To_Int, UI_To_CC): Strengthen behavior
-	of functions to raise Constraint_Error in case of value not in
-	appropriate range.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* sem_util.adb, s-taprop-linux.adb (Finalize_TCB): Remove call to
-	Invalidate_Stack_Cache.
-
-2017-01-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* s-os_lib.adb: Minor fix to the signature of Readlink.
-
-2017-01-06  Javier Miranda  <miranda@adacore.com>
-
-	* sem_ch6.adb (Conforming_Types): Handle another
-	confusion between views in a nested instance with an actual
-	private type whose full view is not in scope.
-
-2017-01-06  Arnaud Charlet  <charlet@adacore.com>
-
-	* exp_ch5.adb (Expand_N_If_Statement): Obey existing comment and
-	mark a rewritten if statement as explicit (Comes_From_Source).
-
-2017-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-	* sem_prag.adb, rtsfind.adb, sem_util.adb: Minor typo fixes.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* ada.ads, a-unccon.ads: Add pragma No_Elaboration_Code_All.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_case.adb: Minor reformatting.
-
-2017-01-06  Thomas Quinot  <quinot@adacore.com>
-
-	* g-socthi-mingw.adb: Remove now extraneous USE TYPE clause
-
-2017-01-06  Justin Squirek  <squirek@adacore.com>
-
-	* aspects.adb: Register aspect in Canonical_Aspect.
-	* aspects.ads: Associate qualities of Aspect_Max_Queue_Length
-	into respective tables.
-	* einfo.ads, einfo.adb: Add a new attribute for
-	handling the parameters for Pragma_Max_Entry_Queue
-	(Entry_Max_Queue_Lengths_Array) in E_Protected_Type. Subprograms
-	for accessing and setting were added as well.
-	* par-prag.adb (Prag): Register Pramga_Max_Entry_Queue.
-	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Emit
-	declaration for pramga arguments and store them in the protected
-	type node.
-	(Make_Initialize_Protection): Pass a reference to
-	the Entry_Max_Queue_Lengths_Array in the protected type node to
-	the runtime.
-	* rtsfind.adb: Minor grammar fix.
-	* rtsfind.ads: Register new types taken from the
-	runtime libraries RE_Protected_Entry_Queue_Max and
-	RE_Protected_Entry_Queue_Max_Array
-	* s-tposen.adb, s-tpoben.adb
-	(Initialize_Protection_Entry/Initialize_Protection_Entries):
-	Add extra parameter and add assignment to local object.
-	* s-tposen.ads, s-tpoben.ads: Add new types to
-	store entry queue maximums and a field to the entry object record.
-	* sem_ch13.adb (Analyze_Aspect_Specifications): Add case statement
-	for Aspect_Max_Queue_Length.
-	(Check_Aspect_At_Freeze_Point):
-	Add aspect to list of aspects that don't require delayed analysis.
-	* sem_prag.adb (Analyze_Pragma): Add case statement for
-	Pragma_Max_Queue_Length, check semantics, and register arugments
-	in the respective entry nodes.
-	* sem_util.adb, sem_util.ads Add functions Get_Max_Queue_Length
-	and Has_Max_Queue_Length
-	* snames.ads-tmpl: Add constant for the new aspect-name
-	Name_Max_Queue_Length and corrasponding pragma.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_util.adb (Is_Controlled_Function_Call):
-	Reimplemented. Consider any node which has an entity as the
-	function call may appear in various ways.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* exp_attr.adb (Rewrite_Stream_Proc_Call): Use
-	an unchecked type conversion when performing a view conversion
-	to/from a private type. In all other cases use a regular type
-	conversion to ensure that any relevant checks are properly
-	installed.
-
-2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-	* sem_prag.adb, sem_ch8.adb: Minor reformatting.
-
-2017-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-	* sem_case.adb (Explain_Non_Static_Bound): Suppress cascaded
-	error on case expression that is an entity, when coverage is
-	incomplete and entity has a static value obtained by local
-	propagation.
-	(Handle_Static_Predicate): New procedure, subsidiary of
-	Check_Choices, to handle case alternatives that are either
-	subtype names or subtype indications involving subtypes that
-	have static predicates.
-
-2017-01-06  Thomas Quinot  <quinot@adacore.com>
-
-	* s-oscons-tmplt.c, g-socket.adb, g-socket.ads, g-sothco.ads:
-	(GNAT.Socket): Add support for Busy_Polling and Generic_Option
-
-2017-01-06  Bob Duff  <duff@adacore.com>
-
-	* sem_elab.adb (Activate_Elaborate_All_Desirable): Don't add
-	Elaborate_All(P) to P itself. That could happen in obscure cases,
-	and always introduced a cycle (P body must be elaborated before
-	P body).
-	* lib-writ.ads: Comment clarification.
-	* ali-util.ads: Minor comment fix.
-	* ali.adb: Minor reformatting.
-
-2017-01-06  Tristan Gingold  <gingold@adacore.com>
-
-	* a-exexpr-gcc.adb: Improve comment.
-
-2017-01-03  James Cowgill  <James.Cowgill@imgtec.com>
-
-	* s-linux-mips.ads: Use correct signal and errno constants.
-	(sa_handler_pos, sa_mask_pos): Fix offsets for 64-bit MIPS.
-
-2017-01-03  James Cowgill  <James.Cowgill@imgtec.com>
-
-	* s-linux-mips.ads: Rename from s-linux-mipsel.ads.
-	* gcc-interface/Makefile.in (MIPS/Linux): Merge mips and mipsel
-	sections.
-
-2017-01-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gnatvsn.ads: Bump copyright year.
-
-2017-01-01  Jakub Jelinek  <jakub@redhat.com>
-
-	* gnat_ugn.texi: Bump @copying's copyright year.
-	* gnat_rm.texi: Likewise.
+ 	* gnat_ugn.texi: Bump @copying's copyright year.
+ 	* gnat_rm.texi: Likewise.
 
-Copyright (C) 2017 Free Software Foundation, Inc.
+Copyright (C) 2018 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-2017 b/gcc/ada/ChangeLog-2017
new file mode 100644
index 000000000000..e724844c73e2
--- /dev/null
+++ b/gcc/ada/ChangeLog-2017
@@ -0,0 +1,12773 @@
+2017-12-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/83535
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always take
+	into account the Esize if it is known.
+
+2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/trans.c (Attribute_to_gnu): Track polynomial
+	offsets and sizes.
+	* gcc-interface/utils2.c (build_unary_op): Likewise.
+
+2017-12-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Loop_Statement_to_gnu): Use IN_RANGE macro.
+	* gcc-interface/misc.c (gnat_get_array_descr_info): Likewise.
+	(default_pass_by_ref): Likewise.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
+
+2017-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/trans.c (Loop_Statement_to_gnu): Replace Yoda
+	conditions with typical order conditions.
+	* gcc-interface/misc.c (gnat_get_array_descr_info): Likewise.
+	(default_pass_by_ref): Likewise.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
+	* adaint.c (__gnat_tmp_name): Likewise.
+
+2017-12-19  Arnaud Charlet  <charlet@adacore.com>
+
+	PR ada/66205
+	* bindgen.adb (Gen_AdaFinal): Revert previous change.
+
+2017-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/utils.c (gnat_internal_attribute_table): Swap
+	affects_type_identity and handler fields, adjust comments.
+
+2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Use Component_Size of
+	the innermost array instead of Esize of its component type to exclude
+	inappropriate array types, including packed array types.
+
+2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Input_Item): Allow concurrent types to appear
+	within the input list of Initializes. Remove the uses of Input_OK.
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_N_In): Do not replace a membership test on a
+	scalar type with a validity test when the membership appears in a
+	predicate expression, to prevent a spurious error when predicate is
+	specified static.
+	* sem_ch13.adb (Build_Predicate_Functions): Add warning if a static
+	predicate, after constant-folding, reduces to True and is this
+	redundant.
+	* par-ch4.adb: Typo fixes and minor reformattings.
+
+2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Ensure_Prior_Elaboration_Static): Mark the generated
+	with clause as being implicit for an instantiation in order to
+	circumvent an issue with 'W' and 'Z' line encodings in ALI files.
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Is_Potentially_Unevaluated): Detect further cases of
+	misuse of 'Old that appear within an expression that is potentially
+	unevaluated, when the prefix of the attribute does not statically
+	designate an object (e.g. a function call).
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Conformking_Types): Two incomplete types are conforming
+	when one of them is used as a generic actual, but only within an
+	instantiation.
+	* einfo.ads: Clarify use of flag Used_As_Generic_Actual.
+
+2017-12-15  Justin Squirek  <squirek@adacore.com>
+
+	* sem_attr.adb (Resolve_Attribute): Modify check for aliased view on
+	prefix to use the prefix's original node to avoid looking at expanded
+	conversions for certain array types.
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Membership_Op): Add warning on a membership
+	operation on a scalar type for which there is a user-defined equality
+	operator.
+
+2017-12-15  Yannick Moy  <moy@adacore.com>
+
+	* doc/gnat_rm/implementation_defined_pragmas.rst: Add Ghost assertion
+	policy.
+
+2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Initialization_Item): Remove the specialized
+	processing for a null initialization item. Such an item is always
+	illegal.
+
+2017-12-15  Bob Duff  <duff@adacore.com>
+
+	* types.ads, types.h, libgnat/a-except.adb, exp_ch11.adb
+	(PE_Build_In_Place_Mismatch): New reason code for raising when the
+	BIPalloc formal parameter is incorrect. This can happen if a compiler
+	bug causes a mismatch of build-in-place between caller and callee.
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Use
+	PE_Build_In_Place_Mismatch.
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.ads, exp_ch4.adb (Expand_N_Reduction_Expression): New
+	procedure.
+	* exp_util.adb (Insert_Actions): Handle N_Reduction_Expression.
+	* expander.adb (Expand): Call Expand_N_Reduction_Expression
+	* par-ch4.adb (P_Reduction_Expression): New procedure.
+	(P_Iterated_Component_Assoc_Or_Reduction): New precedure, extension of
+	P_Iterated_Component_Association.
+	(OK_Reduction_Expression_Parameter): New procedure.
+	(P_Aggregate_Or_Paren_Expr): Improve error message for malformed delta
+	aggregate.
+	* sem.adb (Analyze): Call Analyze_Reduction_Expression and
+	Analyze_Reduction_Expression_Parameter
+	* sinfo.ads, sinfo.adb: New node kinds N_Reduction_Expression and
+	N_Reduction_Expression_Parameter.
+	* sem_ch4.ads, sem_ch4.adb (Analyze_Reduction_Expression,
+	Analyze_Reduction_Expression_Parameter): New procedures.
+	* sem_res.adb (Resolve): Handle Reduction_Expression and
+	Reduction_Expression_Parameter
+	* sem_spark.adb: Dummy entries for Reduction_Expression and
+	Reduction_Expression_Parameter
+	* sprint.adb (Sprint_Node_Actual): Print Reduction_Expression,
+	Reduction_Expression_Parameter
+
+2017-12-15  Bob Duff  <duff@adacore.com>
+
+	* einfo.ads: Comment fix.
+
+2017-12-15  Piotr Trojanek  <trojanek@adacore.com>
+
+	* s-vercon.adb: Minor style fixes.
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Freeze_Expr_Types): Do not emit a freeze node for an
+	itype that is the type of a discriminant-dependent component.
+
+2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Part_Of): The context-specific portion of the
+	analysis is now directed to several specialized routines.
+	(Check_Part_Of_Abstract_State): New routine.
+	(Check_Part_Of_Concurrent_Type): New routine. Reimplement the checks
+	involving the item, the single concurrent type, and their respective
+	contexts.
+	* sem_res.adb (Resolve_Entity_Name): Potential constituents of a single
+	concurrent type are now recorded regardless of the SPARK mode.
+	* sem_util.adb (Check_Part_Of_Reference): Split some of the tests in
+	individual predicates.  A Part_Of reference is legal when it appears
+	within the statement list of the object's immediately enclosing
+	package.
+	(Is_Enclosing_Package_Body): New routine.
+	(Is_Internal_Declaration_Or_Body): New routine.
+	(Is_Single_Declaration_Or_Body): New routine.
+	(Is_Single_Task_Pragma): New routine.
+
+2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
+
+	* gnat_ugn.texi: Regenerate.
+
+2017-12-15  Bob Duff  <duff@adacore.com>
+
+	* gnatvsn.ads: Minor comment fixes.
+
+2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
+
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Update section "Dynamic
+	Stack Usage Analysis" to include more details about GNAT_STACK_LIMIT.
+
+2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Add_Own_DIC): Ensure that the expression of the pragma
+	is available (Is_Verifiable_DIC_Pragma): Moved from Sem_Util.
+	* sem_util.adb (Has_Full_Default_Initialization):
+	Has_Fully_Default_Initializing_DIC_Pragma is now used to determine
+	whether a type has full default initialization due to pragma
+	Default_Initial_Condition.
+	(Has_Fully_Default_Initializing_DIC_Pragma): New routine.
+	(Is_Verifiable_DIC_Pragma): Moved to Exp_Util.
+	* sem_util.ads (Has_Fully_Default_Initializing_DIC_Pragma): New
+	routine.
+	(Is_Verifiable_DIC_Pragma): Moved to Exp_Util.
+	* sem_warn.adb (Is_OK_Fully_Initialized):
+	Has_Fully_Default_Initializing_DIC_Pragma is now used to determine
+	whether a type has full default initialization due to pragma
+	Default_Initial_Condition.
+
+2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Match_Constituent): Do not quietly accept constants as
+	suitable constituents.
+	* exp_util.adb: Minor reformatting.
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (In_Place_Assign_OK): Extend the predicate to recognize
+	an array aggregate in an allocator, when the designated type is
+	unconstrained and the upper bound of the aggregate belongs to the base
+	type of the index.
+
+2017-12-15  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement,
+	Expand_Simple_Function_Return): Assert that the b-i-p-ness of the
+	caller and callee match.  Otherwise, we would need some substantial
+	changes to allow b-i-p calls non-b-i-p, and vice versa.
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Unnest_Subprograms): Nothing to do if the main unit is
+	a generic package body. Unnesting is only an issue when generating
+	code, and if the main unit is generic then nested instance bodies have
+	not been created and analyzed, and unnesting will crash in the absence
+	of those bodies,
+
+2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* inline.adb (Add_Inlined_Body): Do not add a function which is
+	completed by an expression function defined in the same context as the
+	initial declaration because the completing body is not in a package
+	body.
+	(Is_Non_Loading_Expression_Function): New routine.
+
+2017-12-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* debug.adb: Move the functionality of -gnatdL to -gnatd_i. Restore
+	the behavior of -gnatdL from before revision 255412.
+	* sem_elab.adb: Update the section of compiler switches.
+	(Build_Call_Marker): Do not create a marker for a call which originates
+	from an expanded spec or body of an instantiated gener, does not invoke
+	a generic formal subprogram, the target is external to the instance,
+	and -gnatdL is in effect.
+	(In_External_Context): New routine.
+	(Process_Conditional_ABE_Activation_Impl): Update the uses of -gnatdL
+	and associated flag.
+	(Process_Conditional_ABE_Call): Update the uses of -gnatdL and
+	associated flag.
+	* switch-c.adb (Scan_Front_End_Switches): Switch -gnatJ now sets switch
+	-gnatd_i.
+	* exp_unst.adb: Minor typo fixes and edits.
+
+2017-12-15  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Possible_Freeze): Do not set Delayed_Freeze on an
+	subprogram instantiation, now that the enclosing wrapper package
+	carries an explicit freeze node. THis prevents freeze nodes for the
+	subprogram for appearing in the wrong scope. This is relevant when the
+	generic subprogram has a private or incomplete formal type and the
+	instance appears within a package that declares the actual type for the
+	instantiation, and that type has itself a delayed freeze.
+
+2017-12-15  Patrick Bernardi  <bernardi@adacore.com>
+
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Removed references to
+	the environment variable GNAT_STACK_LIMIT from the Stack Overflow
+	Checking section as it is no longer used by any of our supported
+	targets.
+
+2017-12-15  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): If the
+	Init_Assignment is rewritten, we need to set Assignment_OK on the new
+	node.  Otherwise, we will get spurious errors when initializing via
+	assignment statement.
+
+2017-12-15  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_unst.adb (Visit_Node): Refine handling of 'Access to ignore non
+	relevant nodes.
+	(Has_Non_Null_Statements): Moved to sem_util for later reuse.
+
+2017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Fix comment.
+	* libgnat/s-fatgen.adb (Model): Use Machine attribute.
+	(Truncation): Likewise.
+
+2017-12-15  Bob Duff  <duff@adacore.com>
+
+	* exp_ch7.adb (Expand_Cleanup_Actions): Make sure the block and handled
+	statement sequence generated for certain extended return statements
+	have a Sloc that is not No_Location. Otherwise, the back end doesn't
+	set any location and ends up reading uninitialized variables.
+
+2017-12-15  Bob Duff  <duff@adacore.com>
+
+	* types.ads, exp_ch6.adb, libgnat/s-regexp.ads, opt.ads: Partly revert
+	r255414, committed by mistake.
+
+2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in: Generalize support for symbolic traces.
+
+2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (default_pass_by_ref): Minor tweak.
+
+2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Call_to_gnu): Set DECL_DISREGARD_INLINE_LIMITS
+	to 0 on the callee if the call is recursive.
+
+2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_field): Do not set the alignment
+	of the enclosing record type if it is not already set.
+
+2017-12-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (pad_type_has_rm_size): Declare.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build
+	a padding type for the alignment before validating the size.
+	Flip conditional construct and add a comment.
+	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Make sure to
+	apply the exception for padded objects to the type of the object.
+	* gcc-interface/utils.c (hash_pad_type): New static function.
+	(lookup_and_insert_pad_type): Rename into...
+	(canonicalize_pad_type): ...this.  Call hash_pad_type, do only one
+	lookup with insertion and always return the canonical type.
+	(maybe_pad_type): Adjust to above changes.  Set debug type later.
+	(pad_type_has_rm_size): New predicate.
+	(set_reverse_storage_order_on_pad_type): Adjust to above changes.
+
+2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Initialize locus.
+
+2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (process_freeze_entity): Be prepared for a
+	package without body.
+
+2017-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Robustify test for types
+	descendant of System.Address.
+	(gnat_to_gnu_subprog_type): Likewise.
+
+2017-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/utils.c (gnat_internal_attribute_table): Add
+	exclusions to the comment.
+
+2017-12-07  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81544
+	* gcc-interface/utils.c (gnat_internal_attribute_table): Initialize
+	new member of struct attribute_spec.
+
+2017-12-06  Simon Wright  <simon@pushface.org>
+
+	PR ada/66205
+	* bindgen.adb (Gen_AdaFinal): If the restriction No_Task_Termination is
+	set, generate a null body.
+
+2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.adb (Contains_Refined_State): Remove.
+
+2017-12-05  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specifications, case Predicate): A
+	predicate cannot apply to a formal type.
+
+2017-12-05  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_unst.ads: Fix typos.
+
+2017-12-05  Jerome Lambourg  <lambourg@adacore.com>
+
+	* libgnarl/s-taprop__qnx.adb: Better detect priority ceiling bug in
+	QNX.  At startup, the first mutex created has a non-zero ceiling
+	priority whatever its actual policy. This makes some tests fail
+	(c940013 for example).
+
+2017-12-05  Bob Duff  <duff@adacore.com>
+
+	* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Call
+	Expand_Cleanup_Actions for N_Extended_Return_Statement.
+	* exp_ch7.adb (Expand_Cleanup_Actions): Handle
+	N_Extended_Return_Statement by transforming the statements into a
+	block, and (indirectly) calling Expand_Cleanup_Actions on the block.
+	It's too hard for Expand_Cleanup_Actions to operate directly on the
+	N_Extended_Return_Statement, because it has a different structure than
+	the other node kinds that Expand_Cleanup_Actions.
+	* exp_util.adb (Requires_Cleanup_Actions): Add support for
+	N_Extended_Return_Statement.  Change "when others => return False;" to
+	"when others => raise ...;" so it's clear what nodes this function
+	handles.  Use named notation where appropriate.
+	* exp_util.ads: Mark incorrect comment with ???.
+
+2017-12-05  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch9.adb (Install_Private_Data_Declarations): Add missing
+	Debug_Info_Needed decoration of internally generated discriminal
+	renaming declaration.
+
+2017-12-05  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_unst.adb (Unnest_Subprogram): Add handling of 'Access on
+	nested subprograms.
+
+2017-12-05  Sergey Rybin  <rybin@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Add description of '--ignore'
+	option for gnatmetric, gnatpp, gnat2xml, and gnattest.
+
+2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.adb (Contains_Refined_State): Remove.
+
+2017-12-05  Piotr Trojanek  <trojanek@adacore.com>
+
+	* rtsfind.ads: Add new enumeration literals: RE_Clock_Time (for
+	Ada.Real_Time.Clock_Time) and RO_CA_Clock_Time (for
+	Ada.Calendar.Clock_Time).
+
+2017-12-05  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Is_Private_Overriding): If the candidate private
+	subprogram is overloaded, scan the list of homonyms in the same
+	scope, to find the inherited operation that may be overridden
+	by the candidate.
+	* exp_ch11.adb, exp_ch7.adb: Minor reformatting.
+
+2017-12-05  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): If the
+	Init_Assignment is rewritten, we need to set Assignment_OK on the new
+	node.  Otherwise, we will get spurious errors when initializing via
+	assignment statement.
+
+2017-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb: Update the terminology and switch sections.
+	(Check_SPARK_Model_In_Effect): New routine.
+	(Check_SPARK_Scenario): Verify the model in effect for SPARK.
+	(Process_Conditional_ABE_Call_SPARK): Verify the model in effect for
+	SPARK.
+	(Process_Conditional_ABE_Instantiation_SPARK): Verify the model in
+	effect for SPARK.
+	(Process_Conditional_ABE_Variable_Assignment_SPARK): Verify the model
+	in effect for SPARK.
+
+2017-12-05  Nicolas Setton  <setton@adacore.com>
+
+	* terminals.c (__gnat_setup_child_communication): As documented,
+	__gnat_setup_child_communication should not terminate - it is intended
+	to be used as the child process of a call to fork().  However, execvp
+	might actually return in some cases, for instance when attempting to
+	run a 32-bit binary on a 64-bit Linux distribution when the
+	compatibility packages are not installed. In these cases, exit the
+	program to conform to the documentation.
+
+2017-12-05  Olivier Hainque  <hainque@adacore.com>
+
+	* libgnat/s-tsmona.adb: Fix for oversight in the tsmona interface
+	update.
+
+2017-12-05  Gary Dismukes  <dismukes@adacore.com>
+
+	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Minor typo fix
+	and reformatting.
+	* gnat_ugn.texi: Regenerate.
+
+2017-12-05  Olivier Hainque  <hainque@adacore.com>
+
+	* sem_util.adb (Set_Convention): Always clear Can_Use_Internal_Rep
+	on access to subprogram types with foreign convention.
+
+2017-12-05  Yannick Moy  <moy@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Fix User's
+	Guide description of default settings of warnings.
+
+2017-12-05  Olivier Hainque  <hainque@adacore.com>
+
+	* s-dwalin.adb (Read_And_Execute_Isn): Adjust test checking for the end
+	of section. Add comments explaining the rationale of the computation.
+
+2017-12-05  Bob Duff  <duff@adacore.com>
+
+	* exp_ch11.adb: Minor refactoring.
+
+2017-12-05  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* debug.adb: Add debug switches d_a, d_e, and d_p, along with
+	documentation.
+	(Set_Underscored_Debug_Flag): New routine.
+	* debug.ads: Add the flags for all underscore switches.
+	(Set_Underscored_Debug_Flag): New routine.
+	* einfo.adb: Flag303 is now Suppress_Elaboration_Warnings.
+	(Suppress_Elaboration_Warnings): New routine.
+	(Set_Suppress_Elaboration_Warnings): New routine.
+	(Write_Entity_Flags): Add output for Suppress_Elaboration_Warnings.
+	* einfo.ads: Add new flag Suppress_Elaboration_Warnings.
+	(Suppress_Elaboration_Warnings): New routine along with pragma Inline.
+	(Set_Suppress_Elaboration_Warnings): New routine along with pragma
+	Inline.
+	* exp_ch3.adb (Build_Init_Procedure): Restore the behavior of the
+	legacy elaboration model.
+	(Default_Initialize_Object): Restore the behavior of the legacy
+	elaboration model.
+	* exp_ch9.adb: Add with and use clause for Sem_Elab.
+	(Build_Task_Activation_Call): Restore the behavior of the legacy
+	elaboration model.
+	* frontend.adb (Frontend): Restore the behavior of the legacy
+	elaboration model.
+	* opt.ads: Add new flags Legacy_Elaboration_Checks and
+	Relaxed_Elaboration_Checks, along with documentation.
+	* sem_attr.adb (Analyze_Access_Attribute): Restore the behavior of the
+	legacy elaboration model.
+	* sem_ch5.adb (Analyze_Assignment): Restore the behavior of the legacy
+	elaboration model.
+	* sem_ch7.adb (Analyze_Package_Declaration): Restore the behavior of
+	the legacy elaboration model.
+	* sem_ch8.adb (Attribute_Renaming): Restore the behavior of the legacy
+	elaboration model.
+	* sem_ch12.adb (Analyze_Instance_And_Renamings): Restore the behavior
+	of the legacy elaboration model.
+	(Analyze_Package_Instantiation): Restore the behavior of the legacy
+	elaboration model.
+	(Analyze_Subprogram_Instantiation): Restore the behavior of the legacy
+	elaboration model.
+	* sem_elab.adb: Update the documentation of the Processing phase.
+	Update the documentation on elaboration-related compilation
+	switches.  Update the documentation on adding a new target.  Add
+	Processing_Attributes which represent the state of the Processing
+	phase.  Resurrect the previous elaboration model as "legacy elaboration
+	model".
+	(Build_Call_Marker): This routine does not function when the legacy
+	elaboration model is in effect. Do not consider entry calls and requeue
+	statements when debug flag d_e is in effect. Do not consider calls to
+	subprograms which verify the runtime semantics of certain assertion
+	pragmas when debug flag d_p is in effect.
+	(Build_Variable_Reference_Marker): This routine does not function when
+	the legacy elaboration model is in effect.
+	(Check_Elaboration_Scenarios): This routine does not function when the
+	legacy elaboration model is in effect.
+	(Ensure_Prior_Elaboration): The various flags have now been replaced
+	with a state. Do not generate implicit Elaborate[_All] pragmas when
+	their creation has been suppressed.
+	(Ensure_Prior_Elaboration_Static): The with clause is marked based on
+	the requested pragma, not on the nature of the scenario.
+	(In_External_Context): Removed.
+	(Is_Assertion_Pragma_Target): New routine.
+	(Is_Potential_Scenario): Stop the traversal of a task body when
+	reaching an accept or select statement, and debug switch d_a is in
+	effect.
+	(Kill_Elaboration_Scenario): This routine does not function when the
+	legacy elaboration model is in effect.
+	(Process_Activation_Generic): The various flags have now been replaced
+	with a state.
+	(Process_Conditional_ABE): The various flags have now been replaced
+	with a state.
+	(Process_Conditional_ABE_Access): The various flags have now been
+	replaced with a state.
+	(Process_Conditional_ABE_Activation_Impl): The various flags have now
+	been replaced with a state. Do not process an activation call which
+	activates a task whose type is defined in an external instance, and
+	debug switch dL is in effect. Suppress the generation of implicit
+	Elaborate[_All] pragmas once a conditional ABE check has been
+	installed.
+	(Process_Conditional_ABE_Call): The various flags have now been
+	replaced with a state. Do not process a call which invokes a subprogram
+	defined in an external instance, and debug switch dL is in effect.
+	(Process_Conditional_ABE_Call_Ada): The various flags have now been
+	replaced with a state. Suppress the generation of implicit
+	Elaborate[_All] pragmas once a conditional ABE check has been
+	installed.
+	(Process_Conditional_ABE_Call_SPARK): The various flags have now been
+	replaced with a state.
+	(Process_Conditional_ABE_Instantiation): The various flags have now
+	been replaced with a state.
+	(Process_Conditional_ABE_Instantiation_Ada): The various flags have now
+	been replaced with a state. Suppress the generation of implicit
+	Elaborate[_All] pragmas once a conditional ABE check has been
+	installed.
+	(Process_Conditional_ABE_Instantiation_SPARK): The various flags have
+	now been replaced with a state.
+	(Process_Guaranteed_ABE_Activation_Impl): The various flags have now
+	been replaced with a state.
+	(Process_Single_Activation): The various flags have now been replaced
+	with a state.
+	(Record_Elaboration_Scenario): This routine does not function when the
+	legacy elaboration model is in effect.
+	(Traverse_Body): The various flags have now been replaced with a state.
+	* sem_elab.ads: Resurrect the pre-18.x elaboration model as "legacy
+	elaboration model".
+	* sem_prag.adb (Analyze_Pragma): Restore the behavior of the legacy
+	elaboration model.
+	* sem_res.adb (Resolve_Call): Restore the behavior of the legacy
+	elaboration model.
+	(Resolve_Entity_Name): Restore the behavior of the legacy elaboration
+	model.
+	* sem_util.adb (Mark_Elaboration_Attributes): This routine does not
+	function when the legacy elaboration model is in effect.
+	* sinfo.adb (Is_Known_Guaranteed_ABE): Update the assertion check.
+	(No_Elaboration_Check): New routine.
+	(Set_Is_Known_Guaranteed_ABE): Update the assertion check.
+	(Set_No_Elaboration_Check): New routine.
+	* sinfo.ads: Update the documentation of flag Is_Known_Guaranteed_ABE
+	along with occurrences in nodes.  Add new flag No_Elaboration_Check
+	along with occurrences in nodes.
+	* switch-c.adb (Scan_Front_End_Switches): Add processing for debug
+	switches with underscores.  Add processing for switches -gnatH and
+	-gnatJ.
+	* usage.adb (Usage): Add output for switches -gnatH and -gnatJ.
+	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the
+	documentation to include the legacy and relaxed elaboration models.
+	* gnat_ugn.texi: Regenerate.
+
+2017-12-05  Arnaud Charlet  <charlet@adacore.com>
+
+	* doc/gnat_ugn/platform_specific_information.rst: Minor edit.
+	Improve doc on required packages for linux 32bits.
+
+2017-12-05  Doug Rupp  <rupp@adacore.com>
+
+	* tracebak.c (ppc64-vx7): USE_GCC_UNWINDER for 64bit.
+
+2017-12-05  Javier Miranda  <miranda@adacore.com>
+
+	* checks.adb (Generate_Range_Check): Force evaluation of the node in
+	more cases.  This patch was written to improve the code generated by
+	the CCG compiler but it is enabled for all targets since double
+	evaluation is always a potential source of inefficiency.
+
+2017-12-05  Gary Dismukes  <dismukes@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Remove reference to obsolete
+	-fdump-xref switch.
+
+2017-12-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use the SLOC of the
+	iteration scheme throughout, except for the new loop statement(s).
+
+2017-12-05  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Gen_Assign): Do not analyze the expressionn of the
+	assignment if it is part of an Iterated_Component_Association: the
+	analysis needs to take place once the loop structure is analyzed and
+	the loop parameter made visible, because references to it typically
+	appear in the corresponding expression.  This is necessary if the
+	expression is an aggregate, because previous pre-analysis of the
+	expression does not handle nested aggregates properly.
+
+2017-12-05  Bob Duff  <duff@adacore.com>
+
+	* sem_res.adb (Resolve_Allocator): Avoid coextension processing for an
+	allocator that is the expansion of a build-in-place function call.
+
+2017-12-05  Olivier Hainque  <hainque@adacore.com>
+
+libgnat/
+	* s-trasym__dwarf.adb (spec of Module_Name.Get): Instead of
+	possibly adjusting the lookup address by a load address, expect
+	a extra argument through which the load address can be conveyed
+	separately.
+	(Multi_Module_Symbolic_Traceback): Adjust accordingly. Pass the
+	retrieved load address to Init_Module.
+	* s-tsmona__linux.adb (Get): Honor the new interface.
+	* s-tsmona__mingw.adb (Get): Likewise.
+	* s-dwalin.ads: Adjust comments to be explicit about which
+	addresses are from module info and which are run-time addresses,
+	offsetted by the module load address.
+	* s-dwalin.adb (Set_Load_Address): Simply set C.Load_Slide.
+	Do not alter the module Low and High (relative) addresses.
+	(Is_Inside): Improve documentation regarding the kinds of addresses
+	at hand and correct the test.
+	(Symbolic_Traceback): Use separate variables with explicit names
+	for the address in traceback (run-time value) and the address to
+	lookup within the shared object (module-relative). Adjust the
+	computation of address passed to Symbolic_Address for symbolization.
+
+2017-12-05  Arnaud Charlet  <charlet@adacore.com>
+
+	* opt.ads (Expand_Nonbinary_Modular_Ops): New flag.
+	* exp_ch4.adb (Expand_Nonbinary_Modular_Op): Use
+	Expand_Nonbinary_Modular_Ops instead of Modify_Tree_For_C, so that
+	other back-ends can also benefit from the front-end expansion. Remove
+	test for Modify_Tree_For_C in all callers to better share code.
+	* gnat1drv.adb (Adjust_Global_Switches): Set
+	Expand_Nonbinary_Modular_Ops when generating C code.
+
+2017-12-05  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Expand_Formal_Container_Loop): Ensure that the loop
+	parameter becomes invisible after analyzing the loop, which has been
+	rewritten as a while-loop.
+
+2017-12-05  Doug Rupp  <rupp@adacore.com>
+
+	* vxaddr2line.adb: Revise and enhance for new ports, remove dead ports,
+	and update for 64bit ports.
+
+2017-12-05  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Build_In_Place_Formal): Search for the formal by suffix
+	instead of the full name.
+	* sem_ch6.adb (Create_Extra_Formals): Make sure there are extra formals
+	in the case of an instance of a generic.
+
+2017-12-05  Arnaud Charlet  <charlet@adacore.com>
+
+	(Adjust_Global_Switches): Create an alias GNAT_Annotate to map to
+	pragma Annotate.
+
+2017-12-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* gcc-interface/Makefile.in (RTEMS): Define EH_MECHANISM.
+
+2017-12-04  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* gcc-interface/Makefile.in (RTEMS): Use s-osprim__rtems.adb.
+	* libgnat/s-osprim__rtems.adb: New file.
+	* libgnarl/s-osinte__rtems.adb (pthread_cond_t): Fix alignment.
+	(pthread_mutexattr_t): Likewise.
+	(pthread_rwlockattr_t): Likewise.
+	(pthread_rwlock_t): Likewise.
+	(time_t): Use 64-bit integer.
+
+2017-12-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* libgnarl/s-osinte__rtems.ads (pthread_cond_t): Use correct size and
+	alignment.
+	(pthread_mutex_t): Likewise.
+	(pthread_rwlock_t): Likewise.
+
+2017-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/trans.c (Case_Statement_to_gnu): Build SWITCH_EXPR
+	using build2 instead of build3.
+
+2017-11-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/83091
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Do not build a variant
+	type for the implementation type of a packed array.
+
+2017-11-23  Mike Stump  <mikestump@comcast.net>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (gnat_gimplify_stmt) <LOOP_STMT>: Pass 3rd
+	operand to ANNOTATE_EXPR and also pass unrolling hints.
+
+2017-11-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/83016
+	* gnatlink.adb (Process_Args): Accept multiple switches for --LINK.
+	(Usage): Adjust.
+	* gcc-interface/Makefile.in (GCC_LINK): Remove $(ADA_INCLUDES).
+	(common-tools): Pass $(CC) as --GCC= and $(GCC_LINK) as --LINK= in
+	the invocations of $(GNATLINK).
+	(../../gnatdll$(exeext)): Likewise.
+	(../../vxaddr2line$(exeext)): Likewise.
+	(gnatmake-re): Likewise.
+	(gnatlink-re): Likewise.
+
+2017-11-16  Doug Rupp  <rupp@adacore.com>
+
+	* gcc-interface/Makefile.in: Merge Aarch64 and ARM "ifeq" blocks.
+
+2017-11-16  Steve Baird  <baird@adacore.com>
+
+	* debug.adb: Update another comment to indicate gnat2scil's use of the
+	-gnatd.7 switch.
+
+2017-11-16  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Expand_Call_Helper): Avoid creating a transient scope in
+	the case of nested build-in-place calls.
+
+2017-11-16  Joel Brobecker  <brobecker@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Document the switches
+	available in gnatsymbolize.
+
+2017-11-16  Steve Baird  <baird@adacore.com>
+
+	* debug.adb: Update comment to indicate gnat2scil's use of the -gnatd.7
+	switch.
+
+2017-11-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst, sem_ch6.adb,
+	sem_elab.adb: Minor editorial corrections.
+	* gnat_ugn.texi: Regenerate.
+
+2017-11-16  Joel Brobecker  <brobecker@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst (GNAT UGN): Add
+	gnatsymbolize documentation.
+	* gnat_ugn.texi: Regenerate.
+
+2017-11-16  Steve Baird  <baird@adacore.com>
+
+	* sem_ch3.adb (Build_Derived_Record_Type): Replace all uses of
+	"Scope (Parent_Type)" with "Scope (Parent_Base)".
+
+2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* opt.ads: Elaboration warnings are now on by default. Add a comment
+	explaining why this is needed.
+	* sem_ch9.adb (Analyze_Requeue): Preserve the status of elaboration
+	warnings.
+	* sem_ch12.adb (Analyze_Package_Instantiation): Preserve the status of
+	elaboration warnings.
+	(Analyze_Subprogram_Instantiation): Preserve the status of elaboration
+	warnings.
+	* sem_elab.adb: Update the structure of Call_Attributes and
+	Instantiation_Attributes.
+	(Build_Call_Marker): Propagate the status of elaboration warnings from
+	the call to the marker.
+	(Extract_Call_Attributes): Extract the status of elaboration warnings.
+	(Extract_Instantiation_Attributes): Extract the status of elaboration
+	warnings.
+	(Process_Conditional_ABE_Activation_Impl): Elaboration diagnostics are
+	now dependent on the status of elaboration warnings.
+	(Process_Conditional_ABE_Call_Ada): Elaboration diagnostics are now
+	dependent on the status of elaboration warnings.
+	(Process_Conditional_ABE_Instantiation_Ada): Elaboration diagnostics
+	are now dependent on the status of elaboration warnings.
+	(Process_Guaranteed_ABE_Activation_Impl): Remove pragma Unreferenced
+	for formal Call_Attrs. Elaboration diagnostics are now dependent on the
+	status of elaboration warnings.
+	(Process_Guaranteed_ABE_Call): Elaboration diagnostics are now
+	dependent on the status of elaboration warnings.
+	(Process_Guaranteed_ABE_Instantiation): Elaboration diagnostics are now
+	dependent on the status of elaboration warnings.
+	* sem_prag.adb (Analyze_Pragma): Remove the unjustified warning
+	concerning pragma Elaborate.
+	* sem_res.adb (Resolve_Call): Preserve the status of elaboration
+	warnings.
+	(Resolve_Entry_Call): Propagate flag Is_Elaboration_Warnings_OK_Node
+	from the procedure call to the entry call.
+	* sem_util.adb (Mark_Elaboration_Attributes): Add formal parameter
+	Warnings.
+	(Mark_Elaboration_Attributes_Node): Preserve the status of elaboration
+	warnings
+	* sem_util.ads (Mark_Elaboration_Attributes): Add formal parameter
+	Warnings. Update the comment on usage.
+	* sinfo.adb (Is_Dispatching_Call): Update to use Flag6.
+	(Is_Elaboration_Warnings_OK_Node): New routine.
+	(Set_Is_Dispatching_Call): Update to use Flag6.
+	(Set_Is_Elaboration_Warnings_OK_Node): New routine.
+	* sinfo.ads: Attribute Is_Dispatching_Call now uses Flag6. Add new
+	attribute Is_Elaboration_Warnings_OK_Node along with occurrences
+	in nodes.
+	(Is_Elaboration_Warnings_OK_Node): New routine along with pragma
+	Inline.
+	(Set_Is_Elaboration_Warnings_OK_Node): New routine along with pragma
+	Inline.
+	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update various
+	sections to indicate how to suppress elaboration warnings.  Document
+	switches -gnatwl and -gnatwL.
+	* gnat_ugn.texi: Regenerate.
+
+2017-11-16  Sylvain Dailler  <dailler@adacore.com>
+
+	* sem_util.adb (Get_Enum_Lit_From_Pos): Add a condition for Pos
+	lower than 0.
+
+2017-11-16  Bob Duff  <duff@adacore.com>
+
+	* sem_ch13.adb (Check_Expr_Constants): Avoid error message in case of
+	System'To_Address.
+
+2017-11-16  Yannick Moy  <moy@adacore.com>
+
+	* sem_elab.adb (Include): Fix mode of parameter Curr to out.
+
+2017-11-16  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Is_CCT_Instance): Allow calls where
+	Context_Id denotes a record type.
+
+2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch8.adb (Check_SPARK_Primitive_Operation): Enable the check in
+	instantiations.
+
+2017-11-16  Doug Rupp  <rupp@adacore.com>
+
+	Initial gnat port to aarch64-wrs-vxworks7
+	* libgnarl/s-vxwork__aarch64.ads,
+	libgnat/system-vxworks7-aarch64-rtp-smp.ads,
+	libgnat/system-vxworks7-aarch64.ads: New files
+	* sigtramp-vxworks-target.inc (aarch64): New section.
+	* tracebak.c (USE_ARM_UNWINDING): Disable for ARMARCH8A.
+
+2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Include): Including a node which is also a compilation
+	unit terminates the search because there are no more lists to examine.
+
+2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch8.adb (Analyze_Subprogram_Renaming): Ensure that a renaming
+	declaration does not define a primitive operation of a tagged type for
+	SPARK.
+	(Check_SPARK_Primitive_Operation): New routine.
+
+2017-11-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* libgnat/a-elchha.adb (Last_Chance_Handler): Display Argv (0) in
+	message when using -E binder switch.
+
+2017-11-16  Piotr Trojanek  <trojanek@adacore.com>
+
+	* errout.ads: Fix minor typo in comment.
+
+2017-11-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Process_Subtype): If the subtype indication does not
+	syntactically denote a type, return Any_Type to prevent subsequent
+	compiler crashes or infinite loops.
+
+2017-11-16  Steve Baird  <baird@adacore.com>
+
+	* lib-writ.adb: Fix bug which causes Program_Error to be raised in some
+	cases when writing out a .ali file when a Rename_Pragma pragma is in
+	effect.
+	* lib-writ.adb (Write_Unit_Information): Replace call to
+	Pragma_Name_Unmapped with call to Pragma_Name.
+
+2017-11-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_elab.adb: Minor typo fixes.
+
+2017-11-16  Justin Squirek  <squirek@adacore.com>
+
+	* sem_res.adb (Resolve_Allocator): Correct warning messages and make
+	them more explicit.
+
+2017-11-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* atree.ads (Nkind_In): Add 10 and 11 parameter versions.
+	* checks.adb (Install_Primitive_Elaboration_Check): Mark the setting of
+	the elaboration flag as elaboration code.
+	* einfo.adb (Contract): Update the comments.
+	(Ignore_SPARK_Mode_Pragmas): Update the comments.
+	(SPARK_Aux_Pragma): Update the comments.
+	(SPARK_Aux_Pragma_Inherited): Update the comments.
+	(SPARK_Pragma): Update the comments. The attribute now applies
+	to all types and abstract states.
+	(SPARK_Pragma_Inherited): Update the comments. The attribute now
+	applies to all types and abstract states.
+	(Set_Contract): Update the comments.
+	(Set_Ignore_SPARK_Mode_Pragmas): Update the comments.
+	(Set_SPARK_Aux_Pragma): Update the comments.
+	(Set_SPARK_Aux_Pragma_Inherited): Update the comments.
+	(Set_SPARK_Pragma): Update the comments. The attribute now applies to
+	all types and abstract states.
+	(Set_SPARK_Pragma_Inherited): Update the comments. The attribute now
+	applies to all types and abstract states.
+	(Write_Field40_Name): Add output for SPARK_Pragma when it appears on a
+	type and abstract states.
+	* einfo.ads: Update the documentation of attributes SPARK_Pragma and
+	SPARK_Pragma_Inherited.  Both of them now apply to all types and
+	abstract states.
+	* exp_util.adb (Set_Elaboration_Flag): Mark the setting of the
+	elaboration flag as elaboration code.
+	* sem_ch3.adb: Add with and use clauses for Sem_Elab.
+	(Analyze_Full_Type_Declaration): Set the SPARK_Mode of the type. Record
+	a derived type for later processing by the ABE mechanism.
+	(Analyze_Incomplete_Type_Decl): Set the SPARK_Mode of the type.
+	(Analyze_Private_Extension_Declaration): Set the SPARK_Mode of the
+	type.
+	* sem_ch7.adb (Analyze_Private_Type_Declaration): Set the SPARK_Mode of
+	the type.
+	* sem_elab.adb: Define the term "early call region".  Update the
+	terminology for "scenario" and "target".  Update the architecture of
+	the ABE mechanism.  Update the steps which must be taken when adding a
+	new scenario.  Update the section on debugging ABE issues.  Add new
+	hash tables Early_Call_Regions and Recorded_SPARK_Scenarios.  Add new
+	table SPARK_Scenarios.  Hash table Elaboration_Context is now
+	Elaboration_Statuses.  The majority of Process_xxx routines have been
+	updated to better reflect their role.
+	(Add_Unit): Reimplemented.
+	(Check_Elaboration_Constituent): New routine.
+	(Check_Elaboration_Scenarios): Verify previously recorded scenarios for
+	conditional ABE issues. Verify previously recorded SPARK scenarios.
+	(Check_SPARK_Derived_Type): New routine.
+	(Check_SPARK_Instantiation): New routine.
+	(Check_SPARK_Scenario): New routine.
+	(Check_SPARK_Refined_State_Pragma): New routine.
+	(Early_Call_Region): New routine.
+	(Elaboration_Status): New routine.
+	(Ensure_Prior_Elaboration): Add new formal parameter Prag_Nam. The
+	implicit Elabotate[_All] pragma is now specified via Prag_Nam.
+	(Find_Early_Call_Region): New routine.
+	(Info_Scenario): Add output for refinement constituents.
+	(Is_Recorded_SPARK_Scenario): New routine.
+	(Is_Suitable_SPARK_Derived_Type): New routine.
+	(Is_Suitable_SPARK_Instantiation): New routine.
+	(Is_Suitable_SPARK_Refined_State_Pragma): New routine.
+	(Is_Visited_Body): New routine.
+	(Kill_Elaboration_Scenario): Reimplemented.
+	(Output_Active_Scenarios): Add output for pragma Refined_State.
+	(Output_SPARK_Refined_State_Pragma): New routine.
+	(Process_Conditional_ABE_Call): Remove the use of -gnatd.v. The effect
+	is now achieved by different means.
+	(Process_Conditional_ABE_Call_SPARK): Verify that a call which precedes
+	the subprogram body appears within the early call region of the body.
+	Either ensure the prior elaboration of external subprograms or verify
+	that the context meets the suitable elaboration requirement.
+	(Process_Conditional_ABE_Instantiation_SPARK): New routine.
+	(Record_Elaboration_Scenario): Reimplement the portion which enforces
+	the level restrictions of the static model. Add support for SPARK
+	scenarios.
+	(Record_SPARK_Elaboration_Scenario): New routine.
+	(Reset_Visited_Bodies): New routine.
+	(Set_Early_Call_Region): New routine.
+	(Set_Elaboration_Status): New routine.
+	(Set_Is_Recorded_SPARK_Scenario): New routine.
+	(Update_Elaboration_Scenario): Reimplemented.
+	* sem_elab.ads: Add new subtype Library_Or_Instantiation_Level.
+	* sem_prag.adb (Analyze_Refined_State_In_Decl_Part): Save the pragma
+	for examination by the ABE Processing phase.
+	(Create_Abstract_State): Save the SPARK_Mode from the context.
+	* sem_util.adb (Is_Non_Preelaborable_Construct): New routine.
+	* sem_util.ads (Is_Non_Preelaborable_Construct): New routine.
+	* sinfo.adb (Is_Elaboration_Code): New routine.
+	(Set_Is_Elaboration_Code): New routine.
+	(Nkind_In): Add 10 and 11 parameter versions.
+	* sinfo.ads: Add new attribute Is_Elaboration_Code along with
+	occurrences in nodes.
+	(Is_Elaboration_Code): New routine along with pragma Inline.
+	(Set_Is_Elaboration_Code): New routine along with pragma Inline.
+	(Nkind_In): Add 10 and 11 parameter versions.
+
+2017-11-16  Justin Squirek  <squirek@adacore.com>
+
+	* sem.adb (Analyze): Remove requirement that the original node of N be
+	an operator in the case that analysis on the node yields the relevant
+	operator - so prefer it instead.
+
+2017-11-16  Bob Duff  <duff@adacore.com>
+
+	* sem_ch6.adb (Create_Extra_Formals): The type of the BIP_Object_Access
+	formal must not have a designated type that is the full view coming
+	from a limited-with'ed package.
+	* sem_util.adb,sem_util.ads (Incomplete_View_From_Limited_With): New
+	function called from sem_ch6.
+	* sem_ch5.adb (Analyze_Assignment): Treat user-defined concatenation
+	specially for b-i-p cases.
+
+2017-11-10  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81117
+	* adadecode.c (__gnat_decode): Use memcpy instead of strncpy.
+	* argv.c (__gnat_fill_arg, __gnat_fill_env): Likewise.
+
+2017-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (convert) <RECORD_TYPE>: Add comment and do
+	not fall through to the next case.
+	<ARRAY_TYPE>: Deal specially with a dereference from another array
+	type with the same element type.
+
+2017-11-09  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.adb, freeze.adb: Minor reformatting.
+
+2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
+
+	* gcc-interface/Makefile.in: Add rules to build aarch64-qnx runtimes.
+
+2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu): Add processing for
+	N_Variable_Reference_Marker nodes.
+
+2017-11-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Handle properly
+	the pragma Compile_Time_Error when it appears in a generic package
+	declaration and uses an expanded name to denote the current unit.
+
+2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
+
+	* libgnarl/s-taprop__qnx.adb: Fix incorrect casing for pthread_self.
+	* tracebak.c: Add support for tracebacks in QNX.
+
+2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_aggr.adb (Aggr_Size_OK): Bump base limit from 50000 to 500000.
+
+2017-11-09  Yannick Moy  <moy@adacore.com>
+
+	* erroutc.adb, set_targ.adb: Remove pragma Annotate for CodePeer
+	justification.
+
+2017-11-09  Joel Brobecker  <brobecker@adacore.com>
+
+	* doc/gnat_ugn/platform_specific_information.rst: Document packages
+	needed on GNU/Linux by GNAT.
+	* gnat_ugn.texi: Regenerate.
+
+2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb (Analyze_Contracts): Remove the three parameter
+	version. This routine now only analyzes contracts and does not perform
+	any freezing actions.
+	(Analyze_Previous_Contracts): Removed.
+	(Freeze_Previous_Contracts): New routine.
+	* contracts.ads (Analyze_Previous_Contracts): Removed.
+	(Freeze_Previous_Contracts): New routine.
+	* sem_ch3.adb (Analyze_Declarations): Analyze the contract of an
+	enclosing package spec regardless of whether the list denotes the
+	visible or private declarations.  Fix the removal of partial state
+	refinements when the context is a package spec.
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Freeze previous
+	contracts.
+	* sem_ch7.adb (Analyze_Package_Body_Helper): Freeze previous contracts.
+	* sem_ch9.adb (Analyze_Entry_Body): Freeze previous contracts.
+	(Analyze_Protected_Body): Freeze previous contracts.
+	(Analyze_Task_Body): Freeze previous contracts.
+	* sem_prag.adb: Comment reformatting.
+
+2017-11-09  Bob Duff  <duff@adacore.com>
+
+	* libgnarl/g-thread.ads, libgnarl/g-thread.adb: (Make_Independent):
+	Export this so users can use it without importing
+	System.Tasking.Utilities.
+	* libgnarl/s-tassta.adb (Vulnerable_Complete_Task): Relax assertion
+	that fails when Make_Independent is called on a user task.
+	* libgnarl/s-taskin.ads (Master_Of_Task): Avoid unusual
+	capitalization style ((style) bad casing of "Master_of_Task").
+
+2017-11-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Correct use of
+	uninitialized variable uncovered by Codepeer.
+
+2017-11-09  Arnaud Charlet  <charlet@adacore.com>
+
+	* namet.adb: Replace pragma Assume by pragma Assert to fix bootstrap.
+
+2017-11-09  Javier Miranda  <miranda@adacore.com>
+
+	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+	(Static_Dispatch_Tables): Minor rewording.
+	* gnat_rm.texi: Regenerate.
+
+2017-11-09  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Analyze_Use_Package): Remove forced installation of
+	use_clauses within instances.
+	(Use_One_Package): Add condition to check for "hidden" open scopes to
+	avoid skipping over packages that have not been properly installed even
+	though they are visible.
+
+2017-11-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): Reject properly a call to a
+	private operation of a protected type, when the type has no visible
+	operations.
+
+2017-11-09  Javier Miranda  <miranda@adacore.com>
+
+	* rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_HT_Link.
+	* exp_disp.adb (Make_DT): Initialize the HT_Link field of the TSD only
+	if available.
+
+2017-11-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch4.adb, exp_ch9.adb, exp_prag.adb, par-ch3.adb, sem_aggr.adb,
+	sem_ch12.adb, sem_ch13.adb, sem_ch4.adb, sem_disp.adb, sem_prag.adb,
+	sem_res.adb, sem_util.adb: Get rid of warnings about uninitialized
+	variables.
+
+2017-11-09  Yannick Moy  <moy@adacore.com>
+
+	* exp_disp.adb (Make_DT): Default initialize Ifaces_List and
+	Ifaces_Comp_List.
+
+2017-11-09  Pascal Obry  <obry@adacore.com>
+
+	* libgnarl/s-taprop__mingw.adb: On Windows, initialize the thead handle
+	only for foreign threads.  We initialize the thread handle only if not
+	yet initialized. This happens in Enter_Task for foreign threads only.
+	But for native threads (Ada tasking) we do want to keep the real
+	handle (from Create_Task) to be able to free the corresponding
+	resources in Finalize_TCB (CloseHandle).
+
+2017-11-09  Yannick Moy  <moy@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute): Default initialize P_Type,
+	P_Base_Type.
+	(Error_Attr_P): Fix name in pragma No_Return.
+	(Unexpected_Argument): Add pragma No_Return.
+	(Placement_Error): Add pragma No_Return.
+
+2017-11-09  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Elab_Flag_Needed): Elaboration flag not needed when the
+	dispatch table is statically built.
+	(Make_DT): Declare constant the Interface_Table object associated with
+	an statically built dispatch table. For this purpose the Offset_To_Top
+	value of each interface is computed using the dummy object.
+	* exp_ch3.adb (Build_Init_Procedure): Do not generate code initializing
+	the Offset_To_Top field of secondary dispatch tables when the dispatch
+	table is statically built.
+	(Initialize_Tag): Do not generate calls to Register_Interface_Offset
+	when the dispatch table is statically built.
+	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst:
+	Document the new GNAT restriction Static_Dispatch_Tables.
+	* gnat_rm.texi: Regenerate.
+
+2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aggr.adb (Resolve_Delta_Record_Aggregate): Reorder declarations
+	to avoid a dormant bug.
+
+2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
+
+	* init.c: Define missing __gnat_alternate_stack for QNX. Set it to 0,
+	as such capability is not available on the OS.
+	* link.c: Make sure linker options for QNX are correct.
+	* libgnarl/s-osinte__qnx.ads: Add some missing bindings to pthread.
+	* libgnarl/s-taprop__qnx.adb: New, derived from s-taprop__posix.adb. This brings
+	in particular a workaround with locks priority ceiling where a higher
+	priority task is allowed to lock a lower ceiling priority lock. This
+	also fixes the scheduling of FIFO tasks when the priority of a task is
+	lowered.
+	* libgnat/system-qnx-aarch64.ads: Fix priority ranges.
+
+2017-11-09  Yannick Moy  <moy@adacore.com>
+
+	* erroutc.adb (Output_Error_Msgs): Justify CodePeer false positive
+	message.
+	* gnatbind.adb (Scan_Bind_Arg): Simplify test to remove always true
+	condition.
+	* namet.adb (Copy_One_Character): Add assumption for static analysis,
+	as knowledge that Hex(2) is in the range 0..255 is too complex for
+	CodePeer.
+	(Finalize): Add assumption for static analysis, as the fact that there
+	are symbols in the table depends on a global invariant at this point in
+	the program.
+	* set_targ.adb (Check_Spaces): Justify CodePeer false positive message.
+	* stylesw.adb (Save_Style_Check_Options): Rewrite to avoid test always
+	true.
+
+2017-11-09  Javier Miranda  <miranda@adacore.com>
+
+	* libgnat/s-rident.ads (Static_Dispatch_Tables): New restriction name.
+	* exp_disp.adb (Building_Static_DT): Check restriction.
+	(Building_Static_Secondary_DT): Check restriction.
+	(Make_DT): Initialize the HT_Link to No_Tag.
+	* opt.ads (Static_Dispatch_Tables): Rename flag...
+	(Building_Static_Dispatch_Tables): ... into this.  This will avoid
+	conflict with the restriction name.
+	* gnat1drv.adb: Update.
+	* exp_aggr.adb (Is_Static_Dispatch_Table_Aggregate): Update.
+	* exp_ch3.adb (Expand_N_Object_Declaration): Update.
+
+2017-11-09  Pascal Obry  <obry@adacore.com>
+
+	* libgnarl/s-taprop__mingw.adb: Minor code clean-up.  Better using a
+	named number.
+
+2017-11-09  Yannick Moy  <moy@adacore.com>
+
+	* binde.adb (Diagnose_Elaboration_Problem): Mark procedure No_Return.
+	* checks.adb (Apply_Scalar_Range_Check): Rescope variable OK closer to
+	use.  Default initialize Hi, Lo.
+	(Selected_Range_Checks): Retype Num_Checks more precisely.
+	(Determine_Range, Determine_Range_R): Default initialize Hi_Right,
+	Lo_Right.
+	* contracts.adb (Process_Contract_Cases): Mark parameter Stmts as
+	Unmodified.
+	(Process_Postconditions): Mark parameter Stmts as Unmodified.
+	* exp_attr.adb (Expand_Loop_Entry_Attribute): Default initialize Blk.
+	* exp_ch4.adb (Expand_N_Allocator): Default initialize Typ.
+	(Expand_Concatenate): Default initialize High_Bound.
+	(Optimize_Length_Comparison): Default initialize Ent, Index.
+	* exp_ch5.adb (Expand_Predicated_Loop): Default initialize L_Hi and
+	L_Lo.
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Default initialize
+	Return_Stmt.
+	* exp_ch9.adb (Expand_Entry_Barrier): Default initialize Func_Body and
+	remove pragma Warnings(Off).
+	* exp_imgv.adb (Expand_Image_Attribute): Default initialize Tent.
+	* exp_util.adb (Find_Interface_Tag): Default initialize AI_Tag.
+	* freeze.adb (Check_Component_Storage_Order): Default initialize
+	Comp_Byte_Aligned rather than silencing messages with pragma
+	Warnings(Off), which does not work for CodePeer initialization
+	messages, and given that here the possible read of an unitialized value
+	depends on a proper use of parameters by the caller.
+	* inline.adb (Expand_Inlined_Call): Default initialize Lab_Decl, Targ.
+	* sem_ch12.adb (Build_Operator_Wrapper): Default initialize Expr.
+	* sem_ch3.adb (Build_Derived_Array_Type): Default initialize
+	Implicit_Base.
+	* sem_ch4.adb (List_Operand_Interps): Default initialize Nam and remove
+	pragma Warnings(Off).
+	(Analyze_Case_Expression): Rescope checking block within branch where
+	Others_Present is set by the call to Check_Choices.
+	* sem_ch5.adb (Analyze_Assignment): Default initialize
+	Save_Full_Analysis.
+	* sem_ch6.adb (Analyze_Function_Return): Default initialize Obj_Decl,
+	and restructure code to defend against previous errors, so that, in
+	that case, control does not flow to the elsif condition which read an
+	uninitialized Obj_Decl.
+	* sem_ch9.adb (Analyze_Requeue): Default initialize Synch_Type.
+	(Check_Interfaces): Default initialize Full_T_Ifaces and Priv_T_Ifaces,
+	which seem to be left uninitialized and possibly read in some cases.
+	* sem_dim.adb (Analyze_Aspect_Dimension_System): Retype Position more
+	precisely.  This requires to exchange the test for exiting in case of
+	too many positions and the increment to Position, inside the loop.
+	* sem_eval.adb (Eval_Concatenation): Default initialize Folded_Val,
+	which cannot be read uninitialized, but the reasons for that are quite
+	subtle.
+	* sem_intr.adb (Check_Intrinsic_Call): Default initialize Rtyp.
+	* sem_prag.adb (Collect_Subprogram_Inputs_Outputs): Default initialize
+	Spec_Id.
+	* sem_res.adb (Make_Call_Into_Operator): Default initialize Opnd_Type,
+	and test for presence of non-null Opnd_Type before testing its scope,
+	in a test which would read its value uninitialized, and is very rarely
+	exercized (it depends on the presence of an extension of System).
+	* sem_spark.ads: Update comment to fix name of main analysis procedure.
+	* sem_warn.adb (Warn_On_Known_Condition): Default initialize
+	Test_Result.
+	* set_targ.adb (FailN): Mark procedure with No_Return.
+	* stylesw.adb (Save_Style_Check_Options): Delete useless code to
+	initialize all array Options to white space, as there is already code
+	doing the same for the remaining positions in Options at the end of the
+	procedure.
+
+2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch11.adb (Possible_Local_Raise): Do not issue the warning for
+	generic instantiations either.
+
+2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_prag.adb (Analyze_Part_Of): Reword error message.
+	(Get_SPARK_Mode_Type): Do not raise Program_Error in case pragma
+	SPARK_Mode appears with an illegal mode, treat this as a non-existent
+	mode.
+
+2017-11-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Call): Reject a call to a function that returns
+	a limited view of a type T declared in unit U1, when the function is
+	declared in another unit U2 and the call appears in a procedure within
+	another unit.
+
+2017-11-09  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Analyze_Use_Package): Force installation of use_clauses
+	when processing generic instances.
+
+2017-11-09  Bob Duff  <duff@adacore.com>
+
+	* namet.ads, namet.adb (Valid_Name_Id): New subtype that excludes
+	Error_Name and No_Name.  Use this (versus Name_Id) to indicate which
+	objects can have those special values. Valid_Name_Id could usefully be
+	used all over the compiler front end, but that's too much trouble for
+	now. If we did that, we might want to rename:
+	Name_Id --> Optional_Name_Id, Valid_Name_Id --> Name_Id.
+	For parameters of type Valid_Name_Id, remove some redundant tests,
+	including the ones found by CodePeer.  Use Is_Valid_Name instead of
+	membership test when appropriate.
+	(Error_Name_Or_No_Name): Delete this; it's no longer needed.
+	* sem_ch2.adb (Analyze_Identifier): Use "not Is_Valid_Name" instead of
+	"in Error_Name_Or_No_Name".
+	(Check_Parameterless_Call): Use "not Is_Valid_Name" instead of "in
+	Error_Name_Or_No_Name".
+
+2017-11-09  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): Suppress warnings in codepeer
+	mode here unless -gnateC is specified.
+	* switch-c.adb (Scan_Front_End_Switches): Do not suppress warnings with
+	-gnatC here.
+
+2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Remove processing of the frontend xrefs as
+	part of the ALI writing; they are now processed directly from memory
+	when requested by the backend.
+	* lib-xref.ads (Collect_SPARK_Xrefs): Remove.
+	(Iterate_SPARK_Xrefs): New routine for iterating over frontend xrefs.
+	* lib-xref-spark_specific.adb (Traverse_Compilation_Unit): Remove.
+	(Add_SPARK_File): Remove.
+	(Add_SPARK_Xref): Refactored from removed code; filters xref entries
+	that are trivially uninteresting to the SPARK backend.
+	* spark_xrefs.ads: Remove code that is no longer needed.
+	* spark_xrefs.adb (dspark): Adapt to use Iterate_SPARK_Xrefs.
+
+2017-11-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb: Update the documentation on adding a new elaboration
+	schenario. Add new hash table Recorded_Top_Level_Scenarios.
+	(Is_Check_Emitting_Scenario): Removed.
+	(Is_Recorded_Top_Level_Scenario): New routine.
+	(Kill_Elaboration_Scenario): Reimplemented.
+	(Record_Elaboration_Scenario): Mark the scenario as recorded.
+	(Set_Is_Recorded_Top_Level_Scenario): New routine.
+	(Update_Elaboration_Scenario): Reimplemented.
+	* sinfo.adb (Is_Recorded_Scenario): Removed.
+	(Set_Is_Recorded_Scenario): Removed.
+	* sinfo.ads: Remove attribute Is_Recorded_Scenario along with
+	occurrences in nodes.
+	(Is_Recorded_Scenario): Removed along with pragma Inline.
+	(Set_Is_Recorded_Scenario): Removed along with pragma Inline.
+
+2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_prag.adb (Analyze_Part_Of): Change "designate" to "denote" in
+	error message.
+
+2017-11-09  Justin Squirek  <squirek@adacore.com>
+
+	* sem_res.adb (Resolve_Allocator): Add warning messages corresponding
+	to the allocation of an anonymous access-to-controlled object.
+
+2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
+
+	* sigtramp-qnx.c: Fix obvious typo.
+
+2017-11-09  Doug Rupp  <rupp@adacore.com>
+
+	* libgnarl/s-taprop__linux.adb (Monotonic_Clock): Minor reformatting.
+
+2017-11-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve): If expression is an entity whose type has
+	implicit dereference, generate reference to it, because no reference is
+	generated for an overloaded entity during analysis, given that its
+	identity may not be known.
+
+2017-11-09  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Expand_Interface_Thunk): Replace substraction of
+	offset-to-top field by addition.
+	(Make_Secondary_DT): Initialize the offset-to-top field with a negative
+	offset.
+	* exp_ch3.adb (Build_Offset_To_Top_Function): Build functions that
+	return a negative offset-to-top value.
+	(Initialize_Tag): Invoke runtime services Set_Dynamic_Offset_To_Top and
+	Set_Static_Offset_To_Top passing a negative offet-to-top value;
+	initialize also the offset-to-top field with a negative offset.
+	* libgnat/a-tags.adb (Base_Address): Displace the pointer by means of
+	an addition since the offset-to-top field is now a negative value.
+	(Displace): Displace the pointer to the object means of a substraction
+	since it is now a negative value.
+	(Set_Dynamic_Offset_to_top): Displace the pointer to the object by
+	means of a substraction since it is now a negative value.
+
+2017-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Call Errout.Finalize (Last_Call => True)
+	before Errout.Output_Messages also in the case of compilation errors.
+
+2017-11-09  Javier Miranda  <miranda@adacore.com>
+
+	* doc/gnat_ugn/the_gnat_compilation_model.rst (Interfacing with C++ at
+	the Class Level): Fix error interfacing with C strings.
+	* gnat_ugn.texi: Regenerate.
+
+2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
+
+	* system-qnx-aarch64.ads: Fix the priority constants.
+	* s-osinte__qnx.ads: Fix constants for handling the locking protocols
+	and scheduling.
+	* s-osinte__qnx.adb: New file , prevents the use of priority 0 that
+	corresponds to an idle priority on QNX.
+
+2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_prag.adb, sem_util.adb, sem_elab.adb: Fix minor typos in
+	comments.
+
+2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Ignore loop parameters
+	in expression funtions that are expanded into variables.
+
+2017-11-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.adb: Minor whitespace cleanup.
+
+2017-11-09  Jerome Lambourg  <lambourg@adacore.com>
+
+	* libgnarl/s-taprop__qnx.adb: Refine aarch64-qnx. Use the POSIX
+	s-taprop version rather than a custom one.
+	* sigtramp-qnx.c (aarch64-qnx): Implement the signal trampoline.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-xref.ads, lib-xref-spark_specific.adb
+	(Traverse_Compilation_Unit): Move declaration to package body.
+
+2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK_N_Object_Renaming_Declaration): Obtain
+	the type of the renaming from its defining entity, rather then the
+	subtype mark as there may not be a subtype mark.
+
+2017-11-08  Jerome Lambourg  <lambourg@adacore.com>
+
+	* adaint.c, s-oscons-tmplt.c, init.c, libgnat/system-qnx-aarch64.ads,
+	libgnarl/a-intnam__qnx.ads, libgnarl/s-intman__qnx.adb,
+	libgnarl/s-osinte__qnx.ads, libgnarl/s-qnx.ads,
+	libgnarl/s-taprop__qnx.adb, s-oscons-tmplt.c, sigtramp-qnx.c,
+	terminals.c: Initial port of GNAT for aarch64-qnx
+
+2017-11-08  Elisa Barboni  <barboni@adacore.com>
+
+	* exp_util.adb (Find_DIC_Type): Move...
+	* sem_util.ads, sem_util.adb (Find_DIC_Type): ... here.
+
+2017-11-08  Justin Squirek  <squirek@adacore.com>
+
+	* sem_res.adb (Resolve_Allocator): Add info messages corresponding to
+	the owner and corresponding coextension.
+
+2017-11-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Delta_Aggregate): Divide into the
+	following separate procedures.
+	(Resolve_Delta_Array_Aggregate): Previous code form
+	Resolve_Delta_Aggregate.
+	(Resolve_Delta_Record_Aggregate): Extend previous code to cover latest
+	ARG decisions on the legality rules for delta aggregates for records:
+	in the case of a variant record, components from different variants
+	cannot be specified in the delta aggregate, and this must be checked
+	statically.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* spark_xrefs.ads (SPARK_Scope_Record): Remove File_Num component.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Skip initialization of
+	removed component.
+
+2017-11-08  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch4.adb: Minor typo fix.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* spark_xrefs.ads (SPARK_Scope_Record): Remove Spec_File_Num and
+	Spec_Scope_Num components.
+	* spark_xrefs.adb (dspark): Skip pretty-printing to removed components.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Skip initialization of
+	removed components.
+	(Collect_SPARK_Xrefs): Skip setting proper values of removed
+	components.
+
+2017-11-08  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Type_Conversion): Add test that the selector
+	name is a discriminant in check for unconditional accessibility
+	violation within instances.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Remove special-case
+	for constants (with variable input).
+	(Is_Constant_Object_Without_Variable_Input): Remove.
+
+2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb, sem_disp.adb, sem_util.adb: Minor reformatting.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* spark_xrefs.ads (Rtype): Remove special-casing of constants for SPARK
+	cross-references.
+	(dspark): Remove hardcoded table bound.
+
+2017-11-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Aggregate): For Ada2020 delta aggregates, use
+	the type of the base of the construct to determine the type (or
+	candidate interpretations) of the delta aggregate. This allows the
+	construct to appear in a context that expects a private extension.
+	* sem_res.adb (Resolve): Handle properly a delta aggregate with an
+	overloaded base.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* spark_xrefs.ads (SPARK_Xref_Record): Replace file and scope indices
+	with Entity_Id of the reference.
+	* spark_xrefs.adb (dspark): Adapt pretty-printing routine.
+	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Store Entity_Id of the
+	reference, not the file and scope indices.
+
+2017-11-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* errout.ads (Current_Node): New.
+	* errout.adb (Error_Msg): Use Current_Node.
+	* par-ch6.adb, par-ch7.adb, par-ch9.adb, par-util.adb: Set Current_Node
+	when relevant.
+	* style.adb: Call Error_Msg_N when possible.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* spark_xrefs.ads (SPARK_Scope_Record): Rename Scope_Id component to
+	Entity.
+	* lib-xref-spark_specific.adb, spark_xrefs.adb: Propagate renaming of
+	the Scope_Id record component.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* spark_xrefs.ads (SPARK_File_Record): Remove string components.
+	* spark_xrefs.adb (dspark): Remove pretty-printing of removed
+	SPARK_File_Record components.
+	* lib-xref-spark_specific.adb (Add_SPARK_File): Do not store string
+	representation of files/units.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-xref.ads, lib-xref-spark_specific.adb (Traverse_Declarations):
+	Remove Inside_Stubs parameter.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* spark_xrefs.ads (SPARK_Xref_Record): Referenced object is now
+	represented by Entity_Id.
+	(SPARK_Scope_Record): Referenced scope (e.g. subprogram) is now
+	represented by Entity_Id; this information is not repeated as
+	Scope_Entity.
+	(Heap): Moved from lib-xref-spark_specific.adb, to reside next to
+	Name_Of_Heap_Variable.
+	* spark_xrefs.adb (dspark): Adapt debug routine to above changes in
+	data types.
+	* lib-xref-spark_specific.adb: Adapt routines for populating SPARK
+	scope and xrefs tables to above changes in data types.
+
+2017-11-08  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Mark_Use_Clauses): Add condition to always mark the
+	primitives of generic actuals.
+	(Mark_Use_Type): Add recursive call to properly mark class-wide type's
+	base type clauses as per ARM 8.4 (8.2/3).
+
+2017-11-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Generic_Subprobram_Body): Validate
+	categorization dependency of the body, as is done for non-generic
+	units.
+	(New_Overloaded_Entity, Visible_Part_Type): Remove linear search
+	through declarations (Simple optimization, no behavior change).
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* spark_xrefs.ads (SPARK_Xref_Record): Remove inessential components.
+	(SPARK_Scope_Record): Remove inessential components.
+	* spark_xrefs.adb (dspark): Remove pretty-printing of removed record
+	components.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Remove setting of
+	removed record components.
+	(Add_SPARK_Xrefs): Remove setting of removed record components.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Remove dead check for
+	empty entities.
+
+2017-11-08  Javier Miranda  <miranda@adacore.com>
+
+	* sem_disp.adb (Is_Inherited_Public_Operation): Extend the
+	functionality of this routine to handle multiple levels of derivations.
+
+2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb: Elist36 is now used as Nested_Scenarios.
+	(Nested_Scenarios): New routine.
+	(Set_Nested_Scenarios): New routine.
+	(Write_Field36_Name): New routine.
+	* einfo.ads: Add new attribute Nested_Scenarios along with occurrences
+	in entities.
+	(Nested_Scenarios): New routine along with pragma Inline.
+	(Set_Nested_Scenarios): New routine along with pragma Inline.
+	* sem_elab.adb (Find_And_Process_Nested_Scenarios): New routine.
+	(Process_Nested_Scenarios): New routine.
+	(Traverse_Body): When a subprogram body is traversed for the first
+	time, find, save, and process all suitable scenarios found within.
+	Subsequent traversals of the same subprogram body utilize the saved
+	scenarios.
+
+2017-11-08  Piotr Trojanek  <trojanek@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Remove detection of
+	protected operations.
+	(Add_SPARK_Xrefs): Simplify detection of empty entities.
+	* get_spark_xrefs.ads, get_spark_xrefs.adb, put_spark_xrefs.ads,
+	put_spark_xrefs.adb, spark_xrefs_test.adb: Remove code for writing,
+	reading and testing SPARK cross-references stored in the ALI files.
+	* lib-xref.ads (Output_SPARK_Xrefs): Remove.
+	* lib-writ.adb (Write_ALI): Do not write SPARK cross-references to the
+	ALI file.
+	* spark_xrefs.ads, spark_xrefs.adb (pspark): Remove, together
+	with description of the SPARK xrefs ALI format.
+	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Remove get_spark_refs.o
+	and put_spark_refs.o.
+
+2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Apply_Accessibility_Check): Do not finalize the object
+	when the associated access type is subject to pragma
+	No_Heap_Finalization.
+	* exp_intr.adb (Expand_Unc_Deallocation): Use the available view of the
+	designated type in case it comes from a limited withed unit.
+
+2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Expand_N_Object_Declaration): Save and restore relevant
+	SPARK-related flags.  Add ??? comment.
+	* exp_util.adb (Insert_Actions): Add an entry for node
+	N_Variable_Reference_Marker.
+	* sem.adb (Analyze): Add an entry for node N_Variable_Reference_Marker.
+	* sem_ch8.adb (Find_Direct_Name): Add constant Is_Assignment_LHS. Build
+	and record a variable reference marker for the current name.
+	(Find_Expanded_Name): Add constant Is_Assignment_LHS. Build and record
+	a variable reference marker for the current name.
+	* sem_elab.adb (Build_Variable_Reference_Marker): New routine.
+	(Extract_Variable_Reference_Attributes): Reimplemented.
+	(Info_Scenario): Add output for variable references and remove output
+	for variable reads.
+	(Info_Variable_Read): Removed.
+	(Info_Variable_Reference): New routine.
+	(Is_Suitable_Scenario): Variable references are now suitable scenarios
+	while variable reads are not.
+	(Output_Active_Scenarios): Add output for variable references and
+	remove output for variable reads.
+	(Output_Variable_Read): Removed.
+	(Output_Variable_Reference): New routine.
+	(Process_Variable_Read): Removed.
+	(Process_Variable_Reference): New routine.
+	(Process_Variable_Reference_Read): New routine.
+	* sem_elab.ads (Build_Variable_Reference_Marker): New routine.
+	* sem_res.adb (Resolve_Actuals): Build and record a variable reference
+	marker for the current actual.
+	* sem_spark.adb (Check_Node): Add an entry for node
+	N_Variable_Reference_Marker.
+	* sem_util.adb (Within_Subprogram_Call): Moved to the library level.
+	* sem_util.ads (Within_Subprogram_Call): Moved to the library level.
+	* sinfo.adb (Is_Read): New routine.
+	(Is_Write): New routine.
+	(Target): Updated to handle variable reference markers.
+	(Set_Is_Read): New routine.
+	(Set_Is_Write): New routine.
+	(Set_Target): Updated to handle variable reference markers.
+	* sinfo.ads: Add new attributes Is_Read and Is_Write along with
+	occurrences in nodes. Update attribute Target. Add new node
+	kind N_Variable_Reference_Marker.
+	(Is_Read): New routine along with pragma Inline.
+	(Is_Write): New routine along with pragma Inline.
+	(Set_Is_Read): New routine along with pragma Inline.
+	(Set_Is_Write): New routine along with pragma Inline.
+	* sprint.adb (Sprint_Node_Actual): Add an entry for node
+	N_Variable_Reference_Marker.
+
+2017-11-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Subprogram_Name): Append suffix for overloaded
+	subprograms.
+
+2017-11-08  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch8.adb (Use_One_Type, Update_Use_Clause_Chain): Do not report
+	about unused use-type or use-package clauses inside inlined bodies.
+
+2017-11-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Ensure_Prior_Elaboration): Add new parameter
+	In_Partial_Fin along with a comment on its usage. Do not guarantee the
+	prior elaboration of a unit when the need came from a partial
+	finalization context.
+	(In_Initialization_Context): Relocated to Process_Call.
+	(Is_Partial_Finalization_Proc): New routine.
+	(Process_Access): Add new parameter In_Partial_Fin along with a comment
+	on its usage.
+	(Process_Activation_Call): Add new parameter In_Partial_Fin along with
+	a comment on its usage.
+	(Process_Activation_Conditional_ABE_Impl): Add new parameter
+	In_Partial_Fin along with a comment on its usage. Do not emit any ABE
+	diagnostics when the activation occurs in a partial finalization
+	context.
+	(Process_Activation_Guaranteed_ABE_Impl): Add new parameter
+	In_Partial_Fin along with a comment on its usage.
+	(Process_Call): Add new parameter In_Partial_Fin along with a comment
+	on its usage. A call is within a partial finalization context when it
+	targets a finalizer or primitive [Deep_]Finalize, and the call appears
+	in initialization actions. Pass this information down to the recursive
+	steps of the Processing phase.
+	(Process_Call_Ada): Add new parameter In_Partial_Fin along with a
+	comment on its usage. Remove the guard which suppresses the generation
+	of implicit Elaborate[_All] pragmas. This is now done in
+	Ensure_Prior_Elaboration.
+	(Process_Call_Conditional_ABE): Add new parameter In_Partial_Fin along
+	with a comment on its usage. Do not emit any ABE diagnostics when the
+	call occurs in a partial finalization context.
+	(Process_Call_SPARK): Add new parameter In_Partial_Fin along with a
+	comment on its usage.
+	(Process_Instantiation): Add new parameter In_Partial_Fin along with a
+	comment on its usage.
+	(Process_Instantiation_Ada): Add new parameter In_Partial_Fin along
+	with a comment on its usage.
+	(Process_Instantiation_Conditional_ABE): Add new parameter
+	In_Partial_Fin along with a comment on its usage. Do not emit any ABE
+	diagnostics when the instantiation occurs in a partial finalization
+	context.
+	(Process_Instantiation_SPARK): Add new parameter In_Partial_Fin along
+	with a comment on its usage.
+	(Process_Scenario): Add new parameter In_Partial_Fin along  with a
+	comment on its usage.
+	(Process_Single_Activation): Add new parameter In_Partial_Fin along
+	with a comment on its usage.
+	(Traverse_Body): Add new parameter In_Partial_Fin along with a comment
+	on its usage.
+
+2017-11-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch13.adb: Add optional parameter to Error_Msg.
+
+2017-11-08  Jerome Lambourg  <lambourg@adacore.com>
+
+	* fname.adb (Is_Internal_File_Name): Do not check the 8+3 naming schema
+	for the Interfaces.* hierarchy as longer unit names are now allowed.
+
+2017-11-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Subprogram_Name): Emit sloc for the enclosing
+	subprogram as well.  Support more cases of entities.
+	(Append_Entity_Name): Add some defensive code.
+
+2017-11-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (gnat_post_options): Clear warn_return_type.
+
+2017-10-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/82785
+	* gcc-interface/Makefile.in (m68k/Linux): Fix typo.
+
+2017-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in: Remove bogus settings for VxWorks.
+
+2017-10-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (pad_type_hash): Use hashval_t for hash value.
+	(convert): Do not use an unchecked conversion for converting from a
+	type to another type padding it.
+
+2017-10-20  Doug Rupp  <rupp@adacore.com>
+
+	* libgnarl/s-osinte__linux.ads (Relative_Timed_Wait): Add variable
+	needed for using monotonic clock.
+	* libgnarl/s-taprop__linux.adb: Revert previous monotonic clock
+	changes.
+	* libgnarl/s-taprop__linux.adb, s-taprop__posix.adb: Unify and factor
+	out monotonic clock related functions body.
+	(Timed_Sleep, Timed_Delay, Montonic_Clock, RT_Resolution,
+	Compute_Deadline): Move to...
+	* libgnarl/s-tpopmo.adb: ... here. New separate package body.
+
+2017-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Is_Controlling_Limited_Procedure): Handle properly the
+	case where the controlling formal is an anonymous access to interface
+	type.
+	* exp_ch9.adb (Extract_Dispatching_Call): If controlling actual is an
+	access type, handle properly the the constructed dereference that
+	designates the object used in the rewritten synchronized call.
+	(Parameter_Block_Pack): If the type of the actual is by-copy, its
+	generated declaration in the parameter block does not need an
+	initialization even if the type is a null-excluding access type,
+	because it will be initialized with the value of the actual later on.
+	(Parameter_Block_Pack): Do not add controlling actual to parameter
+	block when its type is by-copy.
+
+2017-10-20  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Update_Use_Clause_Chain): Add sanity check to verify
+	scope stack traversal into the context clause.
+
+2017-10-20  Bob Duff  <duff@adacore.com>
+
+	* sinfo.ads: Fix a comment typo.
+
+2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (-flto): Add
+	warning against usage in conjunction with -gnatn.
+	(-fdump-xref): Delete entry.
+	* doc/gnat_ugn/gnat_utility_programs.rst (--ext): Remove mention of
+	-fdump-xref switch.
+	* gnat_ugn.texi: Regenerate.
+
+2017-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_type.adb, exp_util.adb, sem_util.adb, sem_dim.adb, sem_elab.adb:
+	Minor reformatting.
+
+2017-10-20  Yannick Moy  <moy@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension_Binary_Op): Accept with a warning to
+	compare a dimensioned expression with a literal.
+	(Dim_Warning_For_Numeric_Literal): Do not issue a warning for the
+	special value zero.
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Update description of
+	dimensionality system in GNAT.
+	* gnat_ugn.texi: Regenerate.
+
+2017-10-20  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function.Freeze_Expr_Types): Remove
+	inadequate silencing of errors.
+	* sem_util.adb (Check_Part_Of_Reference): Do not issue an error when
+	checking the subprogram body generated from an expression function,
+	when this is done as part of the preanalysis done on expression
+	functions, as the subprogram body may not yet be attached in the AST.
+	The error if any will be issued later during the analysis of the body.
+	(Is_Aliased_View): Trivial rewrite with Is_Formal_Object.
+
+2017-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch8.adb (Update_Chain_In_Scope): Add missing [-gnatwu] marker for
+	warning on ineffective use clause.
+
+2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch11.ads (Warn_If_No_Local_Raise): Declare.
+	* exp_ch11.adb (Expand_Exception_Handlers): Use Warn_If_No_Local_Raise
+	to issue the warning on the absence of local raise.
+	(Possible_Local_Raise): Do not issue the warning for Call_Markers.
+	(Warn_If_No_Local_Raise): New procedure to issue the warning on the
+	absence of local raise.
+	* sem_elab.adb: Add with and use clauses for Exp_Ch11.
+	(Record_Elaboration_Scenario): Call Possible_Local_Raise in the cases
+	where a scenario could give rise to raising Program_Error.
+	* sem_elab.adb: Typo fixes.
+	* fe.h (Warn_If_No_Local_Raise): Declare.
+	* gcc-interface/gigi.h (get_exception_label): Change return type.
+	* gcc-interface/trans.c (gnu_constraint_error_label_stack): Change to
+	simple vector of Entity_Id.
+	(gnu_storage_error_label_stack): Likewise.
+	(gnu_program_error_label_stack): Likewise.
+	(gigi): Adjust to above changes.
+	(Raise_Error_to_gnu): Likewise.
+	(gnat_to_gnu) <N_Goto_Statement>: Set TREE_USED on the label.
+	(N_Push_Constraint_Error_Label): Push the label onto the stack.
+	(N_Push_Storage_Error_Label): Likewise.
+	(N_Push_Program_Error_Label): Likewise.
+	(N_Pop_Constraint_Error_Label): Pop the label from the stack and issue
+	a warning on the absence of local raise.
+	(N_Pop_Storage_Error_Label): Likewise.
+	(N_Pop_Program_Error_Label): Likewise.
+	(push_exception_label_stack): Delete.
+	(get_exception_label): Change return type to Entity_Id and adjust.
+	* gcc-interface/utils2.c (build_goto_raise): Change type of first
+	parameter to Entity_Id and adjust.  Set TREE_USED on the label.
+	(build_call_raise): Adjust calls to get_exception_label and also
+	build_goto_raise.
+	(build_call_raise_column): Likewise.
+	(build_call_raise_range): Likewise.
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst (-gnatw.x):
+	Document actual default behavior.
+
+2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+	* einfo.ads: Minor consistent punctuation in comment.  All numbered
+	items in the comment of Is_Internal are now terminated with a period.
+
+2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+	* exp_util.adb (Build_Temporary): Mark created temporary entity as
+	internal.
+
+2017-10-20  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_type.adb (In_Generic_Actual): Simplified.
+
+2017-10-20  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (Check_Formal_Package_Instance): Add sanity check to
+	verify a renaming exists for a generic formal before comparing it to
+	the actual as defaulted formals will not have a renamed_object.
+
+2017-10-20  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch6.adb (Replace_Returns): Fix wrong management of
+	N_Block_Statement nodes.
+
+2017-10-20  Bob Duff  <duff@adacore.com>
+
+	* exp_aggr.adb (Initialize_Array_Component): Avoid adjusting a
+	component of an array aggregate if it is initialized by a
+	build-in-place function call.
+	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Use -gnatd.9 to disable
+	bip for nonlimited types.
+	* debug.adb: Document -gnatd.9.
+
+2017-10-20  Bob Duff  <duff@adacore.com>
+
+	* sem_ch12.adb: Remove redundant setting of Parent.
+
+2017-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch4.adb (Find_Concatenation_Types): Filter out operators if one
+	of the operands is a string literal.
+
+2017-10-20  Bob Duff  <duff@adacore.com>
+
+	* einfo.ads: Comment fix.
+
+2017-10-20  Clement Fumex  <fumex@adacore.com>
+
+	* switch-c.adb: Remove -gnatwm from the switches triggered by -gnateC.
+
+2017-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Extract_Power): Accept dimension values that are not
+	non-negative integers when the dimensioned base type is an Integer
+	type.
+
+2017-10-20  Bob Duff  <duff@adacore.com>
+
+	* sinfo.ads, sinfo.adb (Alloc_For_BIP_Return): New flag to indicate
+	that an allocator came from a b-i-p return statement.
+	* exp_ch4.adb (Expand_Allocator_Expression): Avoid adjusting the return
+	object of a nonlimited build-in-place function call.
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Set the
+	Alloc_For_BIP_Return flag on generated allocators.
+	* sem_ch5.adb (Analyze_Assignment): Move Assert to where it can't fail.
+	If the N_Assignment_Statement has been transformed into something else,
+	then Should_Transform_BIP_Assignment won't work.
+	* exp_ch3.adb (Expand_N_Object_Declaration): A previous revision said,
+	"Remove Adjust if we're building the return object of an extended
+	return statement in place." Back out that part of the change, because
+	the Alloc_For_BIP_Return flag is now used for that.
+
+2017-10-19  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Fix silly bug -- "Typ"
+	should be "T".  Handle case of a subtype of a class-wide type.
+
+2017-10-19  Bob Duff  <duff@adacore.com>
+
+	* exp_util.adb: (Process_Statements_For_Controlled_Objects): Clarify
+	which node kinds can legitimately be ignored, and raise Program_Error
+	for others.
+
+2017-10-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Compilation_Unit): Handle the case of a subprogram
+	instantiation that acts as a compilation unit.
+	(Find_Code_Unit): Reimplemented.
+	(Find_Top_Unit): Reimplemented.
+	(Find_Unit_Entity): New routine.
+	(Process_Instantiation_SPARK): Correct the elaboration requirement a
+	package instantiation imposes on a unit.
+
+2017-10-19  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Enable build-in-place
+	for a narrow set of controlled types.
+
+2017-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sinput.ads (Line_Start): Add pragma Inline.
+	* widechar.ads (Is_Start_Of_Wide_Char): Likewise.
+
+2017-10-19  Bob Duff  <duff@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference): Disable
+	Make_Build_In_Place_Call_... for F(...)'Old, where F(...) is a
+	build-in-place function call so that the temp is declared in the right
+	place.
+
+2017-10-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (gnat_tree_size): Move around.
+
+	* gcc-interface/utils.c (max_size): Deal with SSA names.
+
+2017-10-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/misc.c (gnat_tree_size): New function.
+	(LANG_HOOKS_TREE_SIZE): Redefine.
+
+2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (In_Preelaborated_Context): A generic package subject to
+	Remote_Call_Interface is not a suitable preelaboratd context when the
+	call appears in the package body.
+
+2017-10-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* layout.ads (Set_Elem_Alignment): Add Align parameter defaulted to 0.
+	* layout.adb (Set_Elem_Alignment): Likewise.  Use M name as maximum
+	alignment for consistency.  If Align is non-zero, use the minimum of
+	Align and M for the alignment.
+	* cstand.adb (Build_Float_Type): Use Set_Elem_Alignment instead of
+	setting the alignment directly.
+
+2017-10-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Check): Defer evaluation of the
+	optional string in an Assert pragma until the expansion of the pragma
+	has rewritten it as a conditional statement, so that the string
+	argument is only evaluaed if the assertion fails. This is mandated by
+	RM 11.4.2.
+
+2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* debug.adb: Switch -gnatd.v and associated flag are now used to
+	enforce the SPARK rules for elaboration in SPARK code.
+	* sem_elab.adb: Describe switch -gnatd.v.
+	(Process_Call): Verify the SPARK rules only when -gnatd.v is in effect.
+	(Process_Instantiation): Verify the SPARK rules only when -gnatd.v is
+	in effect.
+	(Process_Variable_Assignment): Clarify why variable assignments are
+	processed reglardless of whether -gnatd.v is in effect.
+	* doc/gnat_ugn/elaboration_order_handling_in_gnat.rst: Update the
+	sections on elaboration code and compilation switches.
+	* gnat_ugn.texi: Regenerate.
+
+2017-10-14  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.adb, freeze.adb, sem_aggr.adb, sem_util.ads, sem_util.adb,
+	sem_warn.adb: Minor reformattings.
+
+2017-10-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* doc/gnat_rm/implementation_defined_aspects.rst: Add documentation
+	for reverse iteration over formal containers.
+	* gnat_rm.texi: Regenerate.
+
+2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Ensure_Dynamic_Prior_Elaboration): Renamed to
+	Ensure_Prior_Elaboration_Dynamic for consistency reasons.
+	(Ensure_Static_Prior_Elaboration): Renamed to
+	Ensure_Prior_Elaboration_Static for consistency reasons.
+	(Info_Variable_Reference): Renamed to Info_Variable_Read in order to
+	reflect its new purpose.
+	(Is_Initialized): New routine.
+	(Is_Suitable_Variable_Reference): Renamed to Is_Suitable_Variable_Read
+	in order to reflect its new purpose.
+	(Is_Variable_Read): New routine.
+	(Output_Variable_Reference): Renamed to Output_Variable_Read in order
+	to reflect its new purpose.
+	(Process_Variable_Assignment): This routine now acts as a top level
+	dispatcher for variable assignments.
+	(Process_Variable_Assignment_Ada): New routine.
+	(Process_Variable_Assignment_SPARK): New routine.
+	(Process_Variable_Reference): Renamed to Process_Variable_Read in order
+	to reflects its new purpose. A reference to a variable is now suitable
+	for ABE processing only when it is a read. The logic in the routine now
+	reflects the latest SPARK elaboration rules.
+
+2017-10-14  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Analyze_Subprogram_Renaming): Modify condition that
+	triggers marking on formal subprograms.
+
+2017-10-14  Javier Miranda  <miranda@adacore.com>
+
+	* checks.adb (Ensure_Valid): Do not skip adding the validity check on
+	renamings of objects that come from the sources.
+
+2017-10-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* cstand.adb (Build_Float_Type): Move down Siz parameter, add Align
+	parameter and set the alignment of the type to Align.
+	(Copy_Float_Type): Adjust call to Build_Float_Type.
+	(Register_Float_Type): Add pragma Unreferenced for Precision.  Adjust
+	call to Build_Float_Type and do not set RM_Size and Alignment.
+
+2017-10-14  Patrick Bernardi  <bernardi@adacore.com>
+
+	* Makefile.rtl (GNATRTL_NONTASKING_OBJ): Add s-soliin to
+	GNATRTL_NONTASKING_OBJ.
+
+2017-10-14  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Is_Build_In_Place_Result_Type): Include code for
+	enabling b-i-p for nonlimited controlled types (but disabled).
+
+2017-10-14  Justin Squirek  <squirek@adacore.com>
+
+	* sem_elab.adb (Is_Suitable_Variable_Assignment): Replace call to
+	Has_Warnings_Off with Warnings_Off.
+
+2017-10-14  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sinfo.ads (Generic_Parent): Remove wrong (possibly obsolete) comment.
+
+2017-10-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): Analyze the contract of an
+	enclosing package at the end of the visible declarations.
+	* sem_prag.adb (Analyze_Initialization_Item): Suppress the analysis of
+	an initialization item which is undefined due to some illegality.
+
+2017-10-14  Patrick Bernardi  <bernardi@adacore.com>
+
+	* ali.adb: Add new ALI line 'T' to read the number of tasks contain
+	within each unit that require a default-sized primary and secondary
+	stack to be generated by the binder.
+	(Scan_ALI): Scan new 'T' lines.
+	* ali.ads: Add Primary_Stack_Count and Sec_Stack_Count to Unit_Record.
+	* bindgen.adb (Gen_Output_File): Count the number of default-sized
+	stacks within the closure that are to be created by the binder.
+	(Gen_Adainit, Gen_Output_File_Ada): Generate default-sized secondary
+	stacks and record these in System.Secodnary_Stack.
+	(Resolve_Binder_Options): Check if System.Secondary_Stack is in the
+	closure of the program being bound.
+	* bindusg.adb (Display): Add "-Q" switch. Remove rouge "--RTS" comment.
+	* exp_ch3.adb (Count_Default_Sized_Task_Stacks): New routine.
+	(Expand_N_Object_Declaration): Count the number of default-sized stacks
+	used by task objects contained within the object whose declaration is
+	being expanded.  Only performed when either the restrictions
+	No_Implicit_Heap_Allocations or No_Implicit_Task_Allocations are in
+	effect.
+	* exp_ch9.adb (Create_Secondary_Stack_For_Task): New routine.
+	(Expand_N_Task_Type_Declaration): Create a secondary stack as part of
+	the expansion of a task type if the size of the stack is known at
+	run-time and the restrictions No_Implicit_Heap_Allocations or
+	No_Implicit_Task_Allocations are in effect.
+	(Make_Task_Create_Call): If using a restricted profile provide
+	secondary stack parameter: either the statically created stack or null.
+	* lib-load.adb (Create_Dummy_Package_Unit, Load_Unit,
+	Load_Main_Source): Include Primary_Stack_Count and Sec_Stack_Count in
+	Unit_Record initialization expressions.
+	* lib-writ.adb (Add_Preprocessing_Dependency,
+	Ensure_System_Dependency): Include Primary_Stack_Count and
+	Sec_Stack_Count in Unit_Record initialization expression.
+	(Write_ALI): Write T lines.
+	(Write_Unit_Information): Do not output 'T' lines if there are no
+	stacks for the binder to generate.
+	* lib-writ.ads: Updated library information documentation to include
+	new T line entry.
+	* lib.adb (Increment_Primary_Stack_Count): New routine.
+	(Increment_Sec_Stack_Count): New routine.
+	(Primary_Stack_Count): New routine.
+	(Sec_Stack_Count): New routine.
+	* lib.ads: Add Primary_Stack_Count and Sec_Stack_Count components to
+	Unit_Record and updated documentation.
+	(Increment_Primary_Stack_Count): New routine along with pragma Inline.
+	(Increment_Sec_Stack_Count): New routine along with pragma Inline.
+	(Primary_Stack_Count): New routine along with pragma Inline.
+	(Sec_Stack_Count): New routine along with pragma Inline.
+	* opt.ads: New constant No_Stack_Size.	Flag Default_Stack_Size
+	redefined.  New flag Default_Sec_Stack_Size and
+	Quantity_Of_Default_Size_Sec_Stacks.
+	* rtfinal.c Fixed erroneous comment.
+	* rtsfind.ads: Moved RE_Default_Secondary_Stack_Size from
+	System.Secondary_Stack to System.Parameters.  Add RE_SS_Stack.
+	* sem_util.adb (Number_Of_Elements_In_Array): New routine.
+	* sem_util.ads (Number_Of_Elements_In_Array): New routine.
+	* switch-b.adb (Scan_Binder_Switches): Scan "-Q" switch.
+	* libgnarl/s-solita.adb (Get_Sec_Stack_Addr): Removed routine.
+	(Set_Sec_Stack_Addr): Removed routine.
+	(Get_Sec_Stack): New routine.
+	(Set_Sec_Stack): New routine.
+	(Init_Tasking_Soft_Links): Update System.Soft_Links reference to
+	reflect new procedure and global names.
+	* libgnarl/s-taprop__linux.adb, libgnarl/s-taprop__mingw.adb,
+	libgnarl/s-taprop__posix.adb, libgnarl/s-taprop__solaris.adb,
+	libgnarl/s-taprop__vxworks.adb (Register_Foreign_Thread): Update
+	parameter profile to allow the secondary stack size to be specified.
+	* libgnarl/s-tarest.adb (Create_Restricted_Task): Update the parameter
+	profile to include Sec_Stack_Address.  Update Tasking.Initialize_ATCB
+	call to remove Secondary_Stack_Size reference.  Add secondary stack
+	address and size to SSL.Create_TSD call.
+	(Task_Wrapper): Remove secondary stack creation.
+	* libgnarl/s-tarest.ads (Create_Restricted_Task,
+	Create_Restricted_Task_Sequential): Update parameter profile to include
+	Sec_Stack_Address and clarify the Size parameter.
+	* libgnarl/s-taskin.adb (Initialize_ATCB): Remove Secondary_Stack_Size
+	from profile and body.
+	(Initialize): Remove Secondary_Stack_Size from Initialize_ATCB call.
+	* libgnarl/s-taskin.ads: Removed component Secondary_Stack_Size from
+	Common_ATCB.
+	(Initialize_ATCB): Update the parameter profile to remove
+	Secondary_Stack_Size.
+	* libgnarl/s-tassta.adb (Create_Task): Updated parameter profile and
+	call to Initialize_ATCB.  Add secondary stack address and size to
+	SSL.Create_TSD call, and catch any storage exception from the call.
+	(Finalize_Global_Tasks): Update System.Soft_Links references to reflect
+	new subprogram and component names.
+	(Task_Wrapper): Remove secondary stack creation.
+	(Vulnerable_Complete_Master): Update to reflect TSD changes.
+	* libgnarl/s-tassta.ads: Reformat comments.
+	(Create_Task): Update parameter profile.
+	* libgnarl/s-tporft.adb (Register_Foreign_Thread): Update parameter
+	profile to include secondary stack size. Remove secondary size
+	parameter from Initialize_ATCB call and add it to Create_TSD call.
+	* libgnat/s-parame.adb, libgnat/s-parame__rtems.adb,
+	libgnat/s-parame__vxworks.adb (Default_Sec_Stack_Size): New routine.
+	* libgnat/s-parame.ads, libgnat/s-parame__ae653.ads,
+	libgnat/s-parame__hpux.ads, libgnat/s-parame__vxworks.ads: Remove type
+	Percentage.  Remove constants Dynamic, Sec_Stack_Percentage and
+	Sec_Stack_Dynamic.  Add constant Runtime_Default_Sec_Stack_Size and
+	Sec_Stack_Dynamic.
+	(Default_Sec_Stack_Size): New routine.
+	* libgnat/s-secsta.adb, libgnat/s-secsta.ads: New implementation. Is
+	now Preelaborate.
+	* libgnat/s-soflin.adb: Removed unused with-clauses.  With
+	System.Soft_Links.Initialize to initialize non-tasking TSD.
+	(Create_TSD): Update parameter profile. Initialize the TSD and
+	unconditionally call SS_Init.
+	(Destroy_TSD): Update SST.SS_Free call.
+	(Get_Sec_Stack_Addr_NT, Get_Sec_Stack_Addr_Soft, Set_Sec_Stack_Addr_NT,
+	Set_Sec_Stack_Addr_Soft): Remove routines.
+	(Get_Sec_Stack_NT, Get_Sec_Stack_Soft, Set_Sec_Stack_NT,
+	Set_Sec_Stack_Soft): Add routines.
+	(NT_TSD): Move to private part of package specification.
+	* libgnat/s-soflin.ads: New types Get_Stack_Call and Set_Stack_Call
+	with suppressed access checks.  Renamed *_Sec_Stack_Addr_* routines and
+	objects to *_Sec_Stack_*.  TSD: removed warning suppression and
+	component intialization. Changed Sec_Stack_Addr to Sec_Stack_Ptr.
+	(Create_TSD): Update parameter profile.
+	(NT_TSD): Move to private section from body.
+	* libgnat/s-soliin.adb, libgnat/s-soliin.ads: New files.
+	* libgnat/s-thread.ads (Thread_Body_Enter): Update parameter profile.
+	* libgnat/s-thread__ae653.adb (Get_Sec_Stack_Addr, Set_Sec_Stack_Addr):
+	Remove routine.
+	(Get_Sec_Stack, Set_Sec_Stack): Add routine.
+	(Thread_Body_Enter): Update parameter profile and body to adapt to new
+	System.Secondary_Stack.
+	(Init_RTS): Update body for new System.Soft_Links names.
+	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add
+	s-soliin.o.
+
+2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* gcc-interface/decl.c (annotate_value): Use wi::to_wide when
+	operating on trees as wide_ints.
+
+2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_unit.adb (Find_Enclosing_Scope): Do not treat a block statement
+	as a scoping construct when it is byproduct of exception handling.
+
+2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sinfo.ads: Update table Is_Syntactic_Field to reflect the nature of
+	semantic field Target of node N_Call_Marker.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Allocator): Reject properly an allocator that
+	attempts to copy a limited value, when the allocator is the expression
+	in an expression function.
+
+2017-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+	* doc/share/conf.py: Tell the style checker that this is a Python
+	fragment, and therefore that pyflakes should not be run to validate
+	this file.
+
+2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* einfo.ads (Is_Boolean_Type): Add pragma Inline.
+	(Is_Entity_Name): Likewise.
+	(Is_String_Type): Likewise.
+	* sem_type.adb (Full_View_Covers): Do not test Is_Private_Type here
+	and remove useless comparisons on the base types.
+	(Covers): Use simple tests for Standard_Void_Type.  Move up cheap tests
+	on T2.  Always test Is_Private_Type before Full_View_Covers.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch4.adb: Minor refactoring.
+
+2017-10-09  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch3.adb (Replace_Components): Browse the list of discriminants,
+	not components.
+
+2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Static_Elaboration_Checks): Elaboration requirements
+	are verified only in the static model.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification,
+	Check_Reverse_Iteration): Check that the domain of iteration supports
+	reverse iteration when it is a formal container.  This requires the
+	presence of a Previous primitive in the Iterable aspect.
+	* sem_ch13.adb (Resolve_Iterable_Operation): Verify legality of
+	primitives Last and Previous to support reverse iteration over formal
+	containers.
+	(Validate_Iterable_Aspect): Add check for reverse iteration operations.
+	* exp_ch5.adb (Build_Formal_Container_Iteration): Add proper expansion
+	for reverse iteration using primitives Last and Previous in generated
+	loop.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Subprogram_Name): If this is a child unit, use the name
+	of the Defining_Program_Unit_Name, which is an identifier, in order to
+	construct the string for the fully qualified name.
+
+2017-10-09  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb: Rename Uses_Unseen_Priv into
+	Contains_Lib_Incomplete_Type.
+
+2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aggr.adb, sem_spark.adb, adabkend.adb, exp_ch5.adb, frontend.adb,
+	sem_ch12.adb, fmap.adb, exp_ch6.adb, exp_spark.adb, lib-load.adb,
+	exp_ch9.adb, osint.adb, exp_disp.adb, sem_ch8.adb, sem_ch8.ads,
+	prepcomp.adb, gnat1drv.adb, atree.adb, sinput-l.adb, targparm.adb,
+	sem_ch10.adb, par-ch8.adb: Minor reformatting.
+
+2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Is_Suitable_Access): This scenario is now only relevant
+	in the static model.
+	(Is_Suitable_Variable_Assignment): This scenario is now only relevant
+	in the static model.
+	(Is_Suitable_Variable_Reference): This scenario is now only relevant in
+	the static model.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): In ASIS mode, resolve aspect
+	expressions when the enclosing scope is a subprogram body and the next
+	declaration is a body that freezes entities previously declared in the
+	scope.
+
+2017-10-09  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Analyze_Use_Package): Remove checking of mixture between
+	ghost packages and living packages in use clauses.
+	(Use_One_Type, Note_Redundant_Use): Correct warning messages
+
+2017-10-09  Justin Squirek  <squirek@adacore.com>
+
+	* osint.ads: Document new parameter FD for Read_Source_File.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Make_Predicate_Call): If the type of the expression to
+	which the predicate check applies is tagged, convert the expression to
+	that type. This is in most cases a no-op, but is relevant if the
+	expression is clas-swide, because the predicate function being invoked
+	is not a primitive of the type and cannot take a class-wide actual.
+
+2017-10-09  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_disp.adb: Minor reformatting.
+
+2017-10-09  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix typo.
+
+2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Install_ABE_Check): Do not generate an ABE check for
+	GNATprove.
+	(Install_ABE_Failure): Do not generate an ABE failure for GNATprove.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Return
+	immediately if the call has already been processed (by a previous call
+	to Make_Build_In_Place_Call_In_Anonymous_Context).
+	* sem_elab.adb: Minor typo fixes.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Replace_Type_Ref): In the expression for a dynamic
+	predicate, do not replace an identifier that matches the type if the
+	identifier is a selector in a selected component, because this
+	indicates a reference to some homograph of the type itself, and  not to
+	the current occurence in the predicate.
+
+2017-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Record_Layout): Tweak formatting.
+	(Write_Val): Remove superfluous spaces in back-end layout mode.
+
+2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_res.adb (Property_Error): Remove.
+	(Resolve_Actuals): check for SPARK RM 7.1.3(10) rewritten to match the
+	current wording of the rule.
+
+2017-10-09  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): Add check for ghost packages
+	before analyzing a given scope due to an expression function.
+	(Uses_Unseen_Lib_Unit_Priv): Rename to Uses_Unseen_Priv.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
+	Defining_Identifier (Obj_Decl) in two places, because it might have
+	changed.
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Deal with cases
+	involving 'Input on (not visibly) derived types.
+
+2017-10-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* atree.adb: Add new soft link Rewriting_Proc.
+	(Rewrite): Invoke the subprogram attached to the rewriting soft link.
+	(Set_Rewriting_Proc): New routine.
+	* attree.ads: Add new access-to-subprogram type Rewrite_Proc.
+	(Set_Rewriting_Proc): New routine.
+	* checks.adb (Install_Primitive_Elaboration_Check): Use 'E' character
+	for *E*laboration flag to maintain consistency with other elaboration
+	flag generating subprograms.
+	* debug.adb: Document the new usage of flag -gnatdL.
+	* einfo.adb: Node19 is now used as Receiving_Entry.  Node39 is now used
+	as Protected_Subprogram.  Flag148 is now used as
+	Is_Elaboration_Checks_OK_Id.  Flag302 is now used as
+	Is_Initial_Condition_Procedure.
+	(Is_Elaboration_Checks_OK_Id): New routine.
+	(Is_Initial_Condition_Procedure): New routine.
+	(Protected_Subprogram): New routine.
+	(Receiving_Entry): New routine.
+	(SPARK_Pragma): Update assertion.
+	(SPARK_Pragma_Inherited): Update assertion.
+	(Suppress_Elaboration_Warnings): Removed.
+	(Set_Is_Elaboration_Checks_OK_Id): New routine.
+	(Set_Is_Initial_Condition_Procedure): New routine.
+	(Set_Protected_Subprogram): New routine.
+	(Set_Receiving_Entry): New routine.
+	(Set_SPARK_Pragma): Update assertion.
+	(Set_SPARK_Pragma_Inherited): Update assertion.
+	(Write_Entity_Flags): Update the output for Flag148 and Flag302.
+	(Write_Field19_Name): Add output for Receiving_Entry.
+	(Write_Field39_Name): Add output for Protected_Subprogram.
+	(Write_Field40_Name): Update the output for SPARK_Pragma.
+	* einfo.ads: New attributes Is_Elaboration_Checks_OK_Id,
+	Is_Initial_Condition_Procedure, Protected_Subprogram, Receiving_Entry.
+	Remove attribute Suppress_Elaboration_Warnings.  Update the stricture
+	of various entities.
+	(Is_Elaboration_Checks_OK_Id): New routine along with pragma Inline.
+	(Is_Initial_Condition_Procedure): New routine along with pragma Inline.
+	(Protected_Subprogram): New routine along with pragma Inline.
+	(Receiving_Entry): New routine along with pragma Inline.
+	(Suppress_Elaboration_Warnings): Removed.
+	(Set_Is_Elaboration_Checks_OK_Id): New routine along with pragma
+	Inline.
+	(Set_Is_Initial_Condition_Procedure): New routine along with pragma
+	Inline.
+	(Set_Protected_Subprogram): New routine along with pragma Inline.
+	(Set_Receiving_Entry): New routine along with pragma Inline.
+	(Set_Suppress_Elaboration_Warnings): Removed.
+	* exp_ch3.adb (Build_Init_Procedure): Use name _Finalizer to maintain
+	consistency with other finalizer generating subprograms.
+	(Default_Initialize_Object): Mark the block which wraps the call to
+	finalize as being part of initialization.
+	* exp_ch7.adb (Expand_N_Package_Declaration): Directly expand pragma
+	Initial_Condition.
+	(Expand_N_Package_Body): Directly expand pragma Initial_Condition.
+	(Next_Suitable_Statement): Update the comment on usage. Skip over call
+	markers generated by the ABE mechanism.
+	* exp_ch9.adb (Activation_Call_Loc): New routine.
+	(Add_Accept): Link the accept procedure to the original entry.
+	(Build_Protected_Sub_Specification): Link the protected or unprotected
+	version to the original subprogram.
+	(Build_Task_Activation_Call): Code cleanup. Use a source location which
+	is very close to the "begin" or "end" keywords when generating the
+	activation call.
+	* exp_prag.adb (Expand_Pragma_Initial_Condition): Reimplemented.
+	* exp_spark.adb (Expand_SPARK): Use Expand_SPARK_N_Loop_Statement to
+	process loops.
+	(Expand_SPARK_N_Loop_Statement): New routine.
+	(Expand_SPARK_N_Object_Declaration): Code cleanup. Partially insert the
+	call to the Default_Initial_Condition procedure.
+	(Expand_SPARK_Op_Ne): Renamed to Expand_SPARK_N_Op_Ne.
+	* exp_util.adb (Build_DIC_Procedure_Body): Capture the SPARK_Mode in
+	effect.
+	(Build_DIC_Procedure_Declaration): Capture the SPARK_Mode in effect.
+	(Insert_Actions): Add processing for N_Call_Marker.
+	(Kill_Dead_Code): Explicitly kill an elaboration scenario.
+	* exp_util.ads (Make_Invariant_Call): Update the comment on usage.
+	* frontend.adb: Initialize Sem_Elab. Process all saved top level
+	elaboration scenarios for ABE issues.
+	* gcc-interface/trans.c (gnat_to_gnu): Add processing for N_Call_Marker
+	nodes.
+	* lib.adb (Earlier_In_Extended_Unit): New variant.
+	* sem.adb (Analyze): Ignore N_Call_Marker nodes.
+	(Preanalysis_Active): New routine.
+	* sem.ads (Preanalysis_Active): New routine.
+	* sem_attr.adb (Analyze_Access_Attribute): Save certain
+	elaboration-related attributes. Save the scenario for ABE processing.
+	* sem_ch3.adb (Analyze_Object_Declaration): Save the SPARK mode in
+	effect. Save certain elaboration-related attributes.
+	* sem_ch5.adb (Analyze_Assignment): Save certain elaboration-related
+	attributes. Save the scenario for ABE processing.
+	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Save the SPARK
+	mode in effect. Save certain elaboration-related attributes.
+	(Analyze_Subprogram_Body_Helper): Skip N_Call_Marker nodes when
+	locating the first real statement.
+	(Analyze_Subprogram_Declaration): Save the SPARK mode in effect. Save
+	certain elaboration-related attributes.
+	* sem_ch7.adb (Analyze_Package_Declaration): Do not suppress
+	elaboration warnings.
+	* sem_ch8.adb (Attribute_Renaming): Mark a subprogram body which was
+	generated for purposes of wrapping an attribute used as a generic
+	actual.
+	(Find_Direct_Name): Save certain elaboration-related attributes. Save
+	the scenario for ABE processing.
+	(Find_Expanded_Name): Save certain elaboration-related attributes. Save
+	the scenario for ABE processing.
+	* sem_ch9.adb (Analyze_Entry_Declaration): Save certain
+	elaboration-related attributes.
+	(Analyze_Requeue): Save certain elaboration-related attributes. Save
+	the scenario for ABE processing.
+	(Analyze_Single_Task_Declaration): Save certain elaboration-related
+	attributes.
+	(Analyze_Task_Type_Declaration): Save certain elaboration-related
+	attributes.
+	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Save certain
+	elaboration-related attributes.
+	(Analyze_Generic_Subprogram_Declaration): Save the SPARK mode in
+	effect. Save certain elaboration-related attributes.
+	(Analyze_Package_Instantiation): Save certain elaboration-related
+	attributes.  Save the scenario for ABE processing. Create completing
+	bodies in case the instantiation results in a guaranteed ABE.
+	(Analyze_Subprogram_Instantiation): Save certain elaboration-related
+	attributes Save the scenario for ABE processing. Create a completing
+	body in case the instantiation results in a guaranteed ABE.
+	(Provide_Completing_Bodies): New routine.
+	* sem_elab.ads: Brand new implementation.
+	* sem_prag.adb (Analyze_Pragma, cases Elaborate, Elaborate_All,
+	Elaborate_Body): Do not suppress elaboration warnings.
+	* sem_res.adb (Make_Call_Into_Operator): Set the parent field of the
+	operator.
+	(Resolve_Call): Save certain elaboration-related attributes. Save the
+	scenario for ABE processing.
+	(Resolve_Entity_Name): Do not perform any ABE processing here.
+	(Resolve_Entry_Call): Inherit certain attributes from the original call.
+	* sem_util.adb (Begin_Keyword_Location): New routine.
+	(Defining_Entity): Update the parameter profile. Add processing for
+	concurrent subunits that are rewritten as null statements.
+	(End_Keyword_Location): New routine.
+	(Find_Enclosing_Scope): New routine.
+	(In_Instance_Visible_Part): Code cleanup.
+	(In_Subtree): Update the parameter profile. Add new version.
+	(Is_Preelaborable_Aggregate): New routine.
+	(Is_Preelaborable_Construct): New routine.
+	(Mark_Elaboration_Attributes): New routine.
+	(Scope_Within): Update the parameter profile.
+	(Scope_Within_Or_Same): Update the parameter profile.
+	* sem_util.ads (Begin_Keyword_Location): New routine.
+	(Defining_Entity): Update the parameter profile and the comment on
+	usage.
+	(End_Keyword_Location): New routine.
+	(Find_Enclosing_Scope): New routine.
+	(In_Instance_Visible_Part): Update the parameter profile.
+	(In_Subtree): Update the parameter profile. Add new version.
+	(Is_Preelaborable_Aggregate): New routine.
+	(Is_Preelaborable_Construct): New routine.
+	(Mark_Elaboration_Attributes): New routine.
+	(Scope_Within): Update the parameter profile and the comment on usage.
+	(Scope_Within_Or_Same): Update the parameter profile and the comment on
+	usage.
+	* sem_warn.adb (Check_Infinite_Loop_Warning): Use Has_Condition_Actions
+	to determine whether a loop has meaningful condition actions.
+	(Has_Condition_Actions): New routine.
+	* sinfo.adb (ABE_Is_Certain): Removed.
+	(Is_Declaration_Level_Node): New routine.
+	(Is_Dispatching_Call): New routine.
+	(Is_Elaboration_Checks_OK_Node): New routine.
+	(Is_Initialization_Block): New routine.
+	(Is_Known_Guaranteed_ABE): New routine.
+	(Is_Recorded_Scenario): New routine.
+	(Is_Source_Call): New routine.
+	(Is_SPARK_Mode_On_Node): New routine.
+	(No_Elaboration_Check): Removed.
+	(Target): New routine.
+	(Was_Attribute_Reference): New routine.
+	(Set_ABE_Is_Certain): Removed.
+	(Set_Is_Declaration_Level_Node): New routine.
+	(Set_Is_Dispatching_Call): New routine.
+	(Set_Is_Elaboration_Checks_OK_Node): New routine.
+	(Set_Is_Initialization_Block): New routine.
+	(Set_Is_Known_Guaranteed_ABE): New routine.
+	(Set_Is_Recorded_Scenario): New routine.
+	(Set_Is_Source_Call): New routine.
+	(Set_Is_SPARK_Mode_On_Node): New routine.
+	(Set_No_Elaboration_Check): Removed.
+	(Set_Target): New routine.
+	(Set_Was_Attribute_Reference): New routine.
+	* sinfo.ads: Remove attribute ABE_Is_Certain.  Attribute
+	Do_Discriminant_Check now utilizes Flag3.  Attribute
+	No_Side_Effect_Removal now utilizes Flag17.  Add new node
+	N_Call_Marker.  Update the structure of various nodes.
+	(ABE_Is_Certain): Removed along with pragma Inline.
+	(Is_Declaration_Level_Node): New routine along with pragma Inline.
+	(Is_Dispatching_Call): New routine along with pragma Inline.
+	(Is_Elaboration_Checks_OK_Node): New routine along with pragma Inline.
+	(Is_Initialization_Block): New routine along with pragma Inline.
+	(Is_Known_Guaranteed_ABE): New routine along with pragma Inline.
+	(Is_Recorded_Scenario): New routine along with pragma Inline.
+	(Is_Source_Call): New routine along with pragma Inline.
+	(Is_SPARK_Mode_On_Node): New routine along with pragma Inline.
+	(No_Elaboration_Check): Removed along with pragma Inline.
+	(Target): New routine along with pragma Inline.
+	(Was_Attribute_Reference): New routine along with pragma Inline.
+	(Set_ABE_Is_Certain): Removed along with pragma Inline.
+	(Set_Is_Declaration_Level_Node): New routine along with pragma Inline.
+	(Set_Is_Dispatching_Call): New routine along with pragma Inline.
+	(Set_Is_Elaboration_Checks_OK_Node): New routine along with pragma
+	Inline.
+	(Set_Is_Initialization_Block): New routine along with pragma Inline.
+	(Set_Is_Known_Guaranteed_ABE): New routine along with pragma Inline.
+	(Set_Is_Recorded_Scenario): New routine along with pragma Inline.
+	(Set_Is_Source_Call): New routine along with pragma Inline.
+	(Set_Is_SPARK_Mode_On_Node): New routine along with pragma Inline.
+	(Set_No_Elaboration_Check): Removed along with pragma Inline.
+	(Set_Target): New routine along with pragma Inline.
+	(Set_Was_Attribute_Reference): New routine along with pragma Inline.
+	* sprint.adb (Sprint_Node_Actual): Add an entry for N_Call_Marker.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch7.adb (Create_Finalizer): Suppress checks within the finalizer.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* freeze.ads: Minor comment fixed.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Take
+	care of unchecked conversions in addition to regular conversions. This
+	takes care of a case where a type is derived from a private untagged
+	type that is completed by a tagged controlled type.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_disp.adb (Build_Class_Wide_Check, Replace_Formals): When
+	rewriting a class-wide condition, handle properly the case where the
+	controlling argument of the operation to which the condition applies is
+	an access to a tagged type, and the condition includes a dispatching
+	call with an implicit dereference.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb: (Make_Build_In_Place_Call_In_Object_Declaration): Remove
+	the code at the end of this procedure that was setting the type of a
+	class-wide object to the specific type returned by a function call.
+	Treat this case as indefinite instead.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Try_Class_Wide_Operation, Traverse_Homonyms):
+	Suppress spurious ambiguity error when two traversals of the homonym
+	chain (first directly, and then through an examination of relevant
+	interfaces) retrieve the same operation, when other irrelevant homonyms
+	of the operatioh are also present.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Object_Access_Level): If the object is the return
+	statement of an expression function, return the level of the function.
+	This is relevant when the object involves an implicit conversion
+	between access types and the expression function is a completion, which
+	forces the analysis of the expression before rewriting it as a body, so
+	that freeze nodes can appear in the proper scope.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* atree.adb: Make nnd apply to everything "interesting", including
+	Rewrite.  Remove rrd.
+
+2017-10-09  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch3.adb (Expand_N_Object_Declaration): Avoid never-ending loop
+	processing the declaration of the dummy object internally created by
+	Make_DT to compute the offset to the top of components referencing
+	secondary dispatch tables.
+	(Initialize_Tag): Do not initialize the offset-to-top field if it has
+	been initialized initialized.
+	* exp_disp.ads (Building_Static_Secondary_DT): New subprogram.
+	* exp_disp.adb (Building_Static_Secondary_DT): New subprogram.
+	(Make_DT): Create a dummy constant object if we can statically build
+	secondary dispatch tables.
+	(Make_Secondary_DT): For statically allocated secondary dispatch tables
+	use the dummy object to compute the offset-to-top field value by means
+	of the attribute 'Position.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Add self-checking
+	code so if BIPAlloc is not passed in, it will likely raise
+	Program_Error instead of cause miscellaneous chaos.
+	(Is_Build_In_Place_Result_Type): Return False if not Expander_Active,
+	as for the other Is_B-I-P... functions.
+	* sem_aggr.adb (Resolve_Extension_Aggregate): For an extension
+	aggregate whose ancestor part is a build-in-place call returning a
+	nonlimited type, transform the assignment to the ancestor part to use a
+	temp.
+	* sem_ch3.adb (Build_Itype_Reference): Handle the case where we're
+	creating an Itype for a library unit entity.
+	(Check_Initialization): Avoid spurious error message on
+	internally-generated call.
+	* sem_ch5.adb (Analyze_Assignment): Handle the case where the
+	right-hand side is a build-in-place call. This didn't happen when b-i-p
+	was only for limited types.
+	* sem_ch6.adb (Create_Extra_Formals): Remove assumption that b-i-p
+	implies >= Ada 2005.
+	* sem_ch7.adb (Scan_Subprogram_Refs): Avoid traversing the same nodes
+	repeatedly.
+	* sem_util.adb (Next_Actual): Handle case of build-in-place call.
+
+2017-10-09  Arnaud Charlet  <charlet@adacore.com>
+
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Minor edit.
+
+2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* libgnarl/s-taprob.adb: Minor whitespace fix.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* namet.ads: Minor comment fix.
+
+2017-10-09  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_aux.adb (Unit_Declaration_Node): Detect protected declarations,
+	just like other program units listed in Ada RM 10.1(1).
+
+2017-10-09  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Update_Chain_In_Scope): Modify warning messages.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Associations, Check_Generic_Parent): If an
+	actual for a formal package is an instantiation of a child unit, create
+	a freeze node for the instance of the parent if it appears in the same
+	scope and is not frozen yet.
+
+2017-10-09  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* exp_atag.ads, libgnat/a-tags.adb, libgnat/a-tags.ads: Enhance
+	in-source documentation for tagged types's Offset_To_Top.
+
+2017-10-09  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb (Build_Assignment): Parameter name N was somewhat
+	confusing.  Same for N_Loc.  Remove assumption that b-i-p implies
+	limited.  This is for the case of a function call that occurs as the
+	default for a record component.
+	(Expand_N_Object_Declaration): Deal with the case where expansion has
+	created an object declaration initialized with something like
+	F(...)'Reference.
+	* exp_ch3.adb: Minor reformatting.
+
+2017-10-09  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_attr.adb (Expand_Attribute_Reference, case 'Valid): The prefix of
+	the attribute is an object, but it may appear within a conversion. The
+	object itself must be retrieved when generating the range test that
+	implements the validity check on a scalar type.
+
+2017-10-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/82393
+	* mingw32.h (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Delete.
+	* sysdep.c (__gnat_set_mode ): Use DJGPP version for Cygwin.
+
+2017-10-02  Eric Botcazou  <ebotcazou@adacore.com>
+            Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	PR ada/82384
+	* libgnarl/s-linux__x32.ads (suseconds_t): New subtype.
+	(time_t): Change from derived type to subtype.
+	(timeval): Use suseconds_t for tv_usec.
+	* libgnarl/s-osinte__x32.adb (To_Timespec): Remove use type clause.
+
+2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* gcc-interface/decl.c (annotate_value): Use wi::to_widest when
+	handling the form (plus/mult (convert @0) @1).
+
+2017-09-29  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Expand_Call_Helper): Replace with code more similar to
+	what we had before.
+	(Make_Build_In_Place_Call_In_Object_Declaration): Back out previous
+	change. Set the Etype in the class-wide case. This fixes a regression
+	in the libadalang test suite.
+
+2017-09-29  Joel Brobecker  <brobecker@adacore.com>
+
+	* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+	doc/gnat_ugn/the_gnat_compilation_model.rst: Avoid use of single colon
+	in comment markup.
+	* gnat_ugn.texi: Regenerate.
+
+2017-09-29  Justin Squirek  <squirek@adacore.com>
+
+	* ali-util.adb, comperr.adb, cprint.adb, errout.adb, fmap.adb,
+	fname-sf.adb, frontend.adb, lib-xref-spark_specific.adb, gnat1drv.adb,
+	gnatls.adb, lib.adb, lib-load.adb, lib-writ.adb, prepcomp.adb,
+	sinput-d.adb, sinput-l.adb, sprint.adb, targparm.adb: Update comparison
+	for checking source file status and error message and/or call to
+	Read_Source_File.
+	* libgnat/s-os_lib.ads: Add new potential value constant for
+	uninitialized file descriptors.
+	* osint.adb, osint.ads (Read_Source_File): Add extra parameter to
+	return result of IO to encompass a read access failure in addition to a
+	file-not-found error.
+
+2017-09-29  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place
+	functions returning nonlimited types. Allow for qualified expressions
+	and type conversions.
+	(Expand_N_Extended_Return_Statement): Correct the computation of
+	Func_Bod to allow for child units.
+	(Expand_Simple_Function_Return): Remove assumption that b-i-p implies
+	limited (initialization of In_Place_Expansion), and implies >= Ada
+	2005.
+	(Is_Build_In_Place_Result_Type): New function to accompany
+	Is_Build_In_Place_Function and Is_Build_In_Place_Function_Call, because
+	sometimes we just have the type on our hands, not the function.  For
+	now, does the same thing as the old version, so build-in-place is
+	disabled for nonlimited types, except that you can use -gnatd.9 to
+	enable it.
+	* exp_ch6.ads (Is_Build_In_Place_Result_Type): New function to
+	accompany Is_Build_In_Place_Function and
+	Is_Build_In_Place_Function_Call, because sometimes we just have the
+	type on our hands, not the function.
+	(Make_Build_In_Place_Call_In_...): Handle nonlimited build-in-place
+	cases.
+	(Make_Build_In_Place_Call_In_Object_Declaration): Remove the
+	questionable code at the end that was setting the Etype.
+	* exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): New function to
+	determine whether "return (...agg...);" is returning from a
+	build-in-place function.
+	(Initialize_Ctrl_Array_Component, Initialize_Ctrl_Record_Component):
+	Remove assumption that b-i-p implies limited (initialization of
+	In_Place_Expansion).
+	(Build_Record_Aggr_Code): AI-287: fix comment; it can't be wrapped in
+	an unchecked conversion.  Add assertions.
+	(Convert_Aggr_In_Object_Decl): Establish_Transient_Scope -- no need for
+	secondary stack here, just because the type needs finalization.  That
+	code is obsolete.
+	(Convert_To_Assignments): Only set Unc_Decl if Nkind (N) = N_Aggregate.
+	For "return (...agg...);" don't assume b-i-p implies limited.
+	Needs_Finalization does not imply secondary stack.
+	(Expand_Array_Aggregate): Named notation.  Reverse the sense of
+	Component_OK_For_Backend -- more readability with fewer double
+	negatives.
+	* exp_attr.adb (Expand_N_Attribute_Reference): Remove assumptions that
+	b-i-p implies >= Ada 2005.
+	* exp_ch3.adb (Expand_N_Object_Declaration): Remove assumptions that
+	b-i-p implies >= Ada 2005.  Remove Adjust if we're building the return
+	object of an extended return statement in place.
+	* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Indexed_Component,
+	Expand_N_Selected_Component, Expand_N_Slice): Remove assumptions that
+	b-i-p implies >= Ada 2005.
+	* exp_ch5.adb (Expand_N_Assignment_Statement): Remove assumption that
+	b-i-p implies >= Ada 2005.
+	* exp_ch7.adb: Comment fix.
+	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Remove
+	assumptions that b-i-p implies >= Ada 2005.
+	* exp_disp.adb (Expand_Interface_Actuals): Remove assumptions that
+	b-i-p implies >= Ada 2005.
+	* exp_util.adb (Build_Allocate_Deallocate_Proc): Look at Storage_Pool
+	(Expr), in case Pool_Id is not set.
+	(Initialized_By_Aliased_BIP_Func_Call): Handle case where the call is
+	qualified or converted.
+	(Is_Secondary_Stack_BIP_Func_Call): Don't check if Nkind (Selector_Name
+	(Param)) = N_Identifier; that's all it could be.
+	* sinfo.ads: Comment fixes.
+	* snames.ads-tmpl: Comment fixes.
+	* debug.adb: Add flag gnatd.9, to enable the build-in-place machinery.
+
+2017-09-29  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Mark_Use_Clauses): Add recursive call to properly handle
+	all cases related to marking entity identifiers.
+
+2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* adaint.c (win32_wait): Properly handle error and take into account
+	the WIN32 limitation on the number of simultaneous wait objects.
+
+2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* cal.c: Minor proofreading.
+
+2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Minor formatting fix.
+	* gnat_ugn.texi: Regenerate.
+
+2017-09-29  Bob Duff  <duff@adacore.com>
+
+	* lib-xref.ads: Comment fix.
+
+2017-09-29  Bob Duff  <duff@adacore.com>
+
+	* exp_aggr.adb: Remove calls to Set_No_Ctrl_Actions for discriminants.
+	Discriminants can't need finalization.
+
+2017-09-29  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Do not emit freeze nodes
+	for types in expression if the function is within a generic unit.
+	* sem_res.adb (Resolve): In a generic context do not freeze an
+	expression, unless it is an entity. This exception is solely for the
+	purpose of detecting illegal uses of deferred constants in generic
+	units.
+	* sem_res.adb: Minor reformatting.
+
+2017-09-29  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Note_Redundant_Use): Add guard to protect against false
+	redundant warnings.
+
+2017-09-29  Yannick Moy  <moy@adacore.com>
+
+	* sinput-c.adb: Remove unused with-clause on Ada.Unchecked_Conversion.
+
+2017-09-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Minor rewording.
+	* doc/gnat_rm/implementation_defined_pragmas.rst (Optimize_Alignment):
+	Document the effect of pragma Optimize_Alignment (Space) on non-packed
+	record types.
+	* gnat_rm.texi: Regenerate.
+
+2017-09-25  Justin Squirek  <squirek@adacore.com>
+
+	* aspects.adb, bindgen.adb, clean.adb, erroutc.adb, exp_ch13.adb,
+	exp_dbug.adb, exp_unst.adb, exp_util.adb, frontend.adb, gnat1drv.adb,
+	gnatdll.adb, gnatlink.adb, gnatls.adb, gnatname.adb, gnatxref.adb,
+	gnatfind.adb, libgnat/a-cfhama.ads, libgnat/a-exetim__mingw.adb,
+	libgnat/a-strmap.adb, libgnat/a-teioed.adb, libgnat/g-alvety.ads,
+	libgnat/g-expect.adb, libgnat/g-regist.adb, libgnat/g-socket.adb,
+	libgnat/g-socthi__mingw.ads, libgnat/s-stausa.adb,
+	libgnat/s-tsmona__linux.adb, libgnat/s-tsmona__mingw.adb,
+	libgnarl/s-taenca.adb, libgnarl/s-tassta.adb, libgnarl/s-tarest.adb,
+	libgnarl/s-tpobop.adb, make.adb, makeusg.adb, namet.adb, output.ads,
+	put_scos.adb, repinfo.adb, rtsfind.adb, scn.ads, sem_attr.adb,
+	sem_aux.ads, sem_warn.ads, targparm.adb, xr_tabls.adb, xref_lib.adb:
+	Removal of ineffective use-clauses.
+	* exp_ch9.adb (Is_Simple_Barrier_Name): Check for false positives with
+	constant folded barriers.
+	* ghost.adb, sprint.adb, sem_ch10.adb, sem_warn.adb: Change access to
+	Subtype_Marks and Names list in use-clause nodes to their new singular
+	counterparts (e.g. Subtype_Mark, Name).
+	* par.adb, par-ch8.adb (Append_Use_Clause): Created to set
+	Prev_Ids and More_Ids in use-clause nodes.
+	(P_Use_Clause): Modify to take a list as a parameter.
+	(P_Use_Package_Clause, P_Use_Type_Clause): Divide names and
+	subtype_marks within an aggregate use-clauses into individual clauses.
+	* par-ch3.adb, par-ch10.adb, par-ch12.adb: Trivally modify call to
+	P_Use_Clause to match its new behavior.
+	* sem.adb (Analyze): Mark use clauses for non-overloaded entities.
+	* sem_ch4.adb (Try_One_Interp): Add sanity check to handle previous
+	errors.
+	* sem_ch6.adb (Analyze_Generic_Subprogram_Body,
+	Analyze_Subprogram_Body_Helper): Update use clause chain at the end of
+	the declarative region.
+	* sem_ch7.adb (Analyze_Package_Body_Helper): Update use clause chain
+	after analysis (Analyze_Package_Specification): Update use clause chain
+	when there is no body.
+	* sem_ch8.ads, sem_ch8.adb (Analyze_Use_Package, Analyze_Use_Type): Add
+	parameter to determine weither the installation of scopes should also
+	propagate on the use-clause "chain".
+	(Mark_Use_Clauses): Created to traverse use-clause chains and determine
+	what constitutes a valid "use" of a clause.
+	(Update_Use_Clause_Chain): Created to aggregate common machinary used
+	to clean up use-clause chains (and warn on ineffectiveness) at the end
+	of declaritive regions.
+	* sem_ch8.adb (Analyze_Package_Name): Created to perform analysis on a
+	package name from a use-package clause.
+	(Analyze_Package_Name_List): Created to perform analysis on a list of
+	package names (similar to Analyze_Package_Name).
+	(Find_Most_Prev): Created to traverse to the beginning of a given
+	use-clause chain.
+	(Most_Decendant_Use_Clause): Create to identify which clause from a
+	given set is highest in scope (not always the most prev).
+	(Use_One_Package, Use_One_Type): Major cleanup and reorganization to
+	handle the new chaining algorithm, also many changes related to
+	redundant clauses. A new parameter has also been added to force
+	installation to handle certain cases.
+	* sem_ch9.adb (Analyze_Entry_Body, Analyze_Protected_Body,
+	Analyze_Task_Body): Mark use clauses on relevant entities.
+	* sem_ch10.adb, sem_ch10.ads (Install_Context_Clauses,
+	Install_Parents): Add parameter to determine weither the installation
+	of scopes should also propagate on the use-clause "chain".
+	* sem_ch12.adb (Inline_Instance_Body): Add flag in call to
+	Install_Context to avoid redundant chaining of use-clauses.
+	* sem_ch13.adb: Minor reformatting.
+	* sem_res.adb (Resolve): Mark use clauses on operators.
+	(Resolve_Call, Resolve_Entity_Name): Mark use clauses on relevant
+	entities.
+	* sinfo.adb, sinfo.ads (Is_Effective_Use_Clause,
+	Set_Is_Effective_Use_Clause): Add new flag to N_Use_Clause nodes to
+	represent any given clause's usage/reference/necessity.
+	(Prev_Use_Clause, Set_Prev_Use_Clause): Add new field to N_Use_Clause
+	nodes to allow loose chaining of redundant clauses.
+	(Set_Used_Operations, Set_Subtype_Mark, Set_Prev_Ids, Set_Names,
+	Set_More_Ids, Set_Name): Modify set procedure calls to reflect
+	reorganization in node fields.
+	* types.ads (Source_File_Index): Adjust index bounds.
+	(No_Access_To_Source_File): New constant.
+
+2017-09-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_One_Aspect): In ASIS mode make a full copy of
+	the expression to be used in the generated attribute specification
+	(rather than relocating it) to avoid resolving a potentially malformed
+	tree when the expression is resolved through an ASIS-specific call to
+	Resolve_Aspect_Expressions.  This manifests itself as a crash on a
+	function with parameter associations.
+
+2017-09-25  Yannick Moy  <moy@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK_Indexed_Component,
+	Expand_SPARK_Selected_Component): New procedures to insert explicit
+	dereference if required.
+	(Expand_SPARK): Call the new procedures.
+
+2017-09-25  Patrick Bernardi  <bernardi@adacore.com>
+
+	* libgnat/a-stwiun.adb, libgnat/s-stchop__vxworks.adb,
+	libgnat/g-socthi__vxworks.ads, libgnat/a-stzunb.adb,
+	libgnat/a-strunb.adb, libgnarl/s-osinte__lynxos178.adb,
+	libgnarl/s-intman__vxworks.adb, libgnarl/s-osinte__darwin.adb,
+	libgnarl/a-exetim__darwin.adb: Removed ineffective use-clauses.
+
+2017-09-25  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* adaint.c (win32_wait): Properly handle error and take into account
+	the WIN32 limitation on the number of simultaneous wait objects.
+
+2017-09-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch3.adb (Constant_Redeclaration): Do not insert a call to the
+	invariant procedure in GNATprove mode.
+	* sem_ch5.adb (Analyze_Assignment): Likewise.
+
+2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
+
+	* adabkend.adb (Call_Back_End): Fix wording of "front-end" and
+	"back-end" in comments.
+
+2017-09-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Call_Helper): The extra accessibility check in a
+	call that appears in a classwide precondition and that mentions an
+	access formal of the subprogram, must use the accessibility level of
+	the actual in the call. This is one case in which a reference to a
+	formal parameter appears outside of the body of the subprogram.
+
+2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Replace_Actual_Discriminants): Replace a discriminant
+	for GNATprove.
+	(Resolve_Entry): Clean up predicate
+
+2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Constituent): Raise Unrecoverable_Error rather
+	than Program_Error because U_E is more in line with respect to the
+	intended behavior.
+
+2017-09-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Resolve_Aspect_Expressions): The expression for aspect
+	Storage_Size does not freeze, and thus can include references to
+	deferred constants.
+
+2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Do not process a
+	reference when it appears within a pragma of no significance to SPARK.
+	(In_Insignificant_Pragma): New routine.
+	* sem_prag.ads: Add new table Pragma_Significant_In_SPARK.
+
+2017-09-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Associations, case N_Formal_Package): If the
+	actual is a renaming, indicate that it is the renamed package that must
+	be frozen before the instantiation.
+
+2017-09-25  Yannick Moy  <moy@adacore.com>
+
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo in description
+	of dimensionality system in GNAT UG.
+	* gnat_ugn.texi: Regenerate.
+
+2017-09-25  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb: Call Check_Safe_Pointers from the frontend in
+	GNATprove_Mode when switch -gnatdF used.
+
+2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
+
+	* adabkend.adb (Call_Back_End): Reset Current_Error_Node when starting
+	the backend.
+
+2017-09-25  Javier Miranda  <miranda@adacore.com>
+
+	* exp_imgv.adb (Expand_Image_Attribute): Disable the optimized
+	expansion of user-defined enumeration types when the generation of
+	names for enumeration literals is suppressed.
+
+2017-09-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* libgnarl/s-taprop__linux.adb: Minor reformatting.
+
+2017-09-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Resolve_Aspect_Expressions): Do not resolve identifiers
+	that appear as selector names of parameter associations, as these are
+	never resolved by visibility.
+
+2017-09-25  Justin Squirek  <squirek@adacore.com>
+
+	* sem_res.adb (Resolve_Entry): Generate reference for index entities.
+
+2017-09-25  Doug Rupp  <rupp@adacore.com>
+
+	* libgnarl/s-taprop__linux.adb (Compute_Base_Monotonic_Clock): Refine.
+
+2017-09-25  Javier Miranda  <miranda@adacore.com>
+
+	* exp_imgv.adb (Is_User_Defined_Enumeration_Type): New subprogram.
+	(Expand_User_Defined_Enumeration_Image): New subprogram.
+	(Expand_Image_Attribute): Enable speed-optimized expansion of
+	user-defined enumeration types when we are compiling with optimizations
+	enabled.
+
+2017-09-25  Piotr Trojanek  <trojanek@adacore.com>
+
+	* sem_util.adb (Has_Null_Abstract_State): Remove, as an exactly same
+	routine is already provided by Einfo.
+	* einfo.adb (Has_Null_Abstract_State): Replace with the body from
+	Sem_Util, which had better comments and avoided double calls to
+	Abstract_State.
+
+2017-09-25  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb: Rename Comp_Type_Simple to be Comp_Simple_Init.
+
+2017-09-25  Doug Rupp  <rupp@adacore.com>
+
+	* libgnarl/s-taprop__linux.adb (Base_Monotonic_Clock): New variable.
+	(Compute_Base_Monotonic_Clock): New function.
+	(Timed_Sleep): Adjust to use Base_Monotonic_Clock.
+	(Timed_Delay): Likewise.
+	(Monotonic_Clock): Likewise.
+	* s-oscons-tmplt.c (CLOCK_MONOTONIC): Use on Linux.
+
+2017-09-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Save_References_In_Aggregate): Small correction to
+	previous change.
+
+2017-09-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb, sem_ch4.adb, sem_ch13.adb, sem_attr.adb, exp_ch3.adb:
+	Minor reformatting.
+
+2017-09-20  Alexandre Oliva <aoliva@redhat.com>
+
+	* gcc-interface/lang.opt (gant, gnatO, gnat): Add RejectNegative.
+
+2017-09-18  Bob Duff  <duff@adacore.com>
+
+	* sem_ch4.adb (Complete_Object_Operation): Do not insert 'Access for
+	reference types in the access-to-access case.
+
+2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_attr.adb (Analyze_Access_Attribute): Move check for the presence
+	of the "aliased" keyword on the prefix from here to...
+	(Resolve_Attribute) <Attribute_Access>: ...here.  Remove useless call
+	to Check_No_Implicit_Aliasing.
+	* sinfo.ads (Non_Aliased_Prefix): Delete.
+	(Set_Non_Aliased_Prefix): Likewise.
+	* sinfo.adb (Non_Aliased_Prefix): Delete.
+	(Set_Non_Aliased_Prefix): Likewise.
+
+2017-09-18  Bob Duff  <duff@adacore.com>
+
+	* exp_ch5.adb (Build_Formal_Container_Iteration,
+	Expand_Formal_Container_Element_Loop): Convert the container to the
+	root type before passing it to the iteration operations, so it will be
+	of the right type.
+
+2017-09-18  Bob Duff  <duff@adacore.com>
+
+	* einfo.ads, validsw.ads, treepr.ads, sem_util.ads: Comment fixes.
+
+2017-09-18  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb (Build_Array_Init_Proc): If validity checking is enabled,
+	and it's a bit-packed array, pass False to the Consider_IS parameter of
+	Needs_Simple_Initialization.
+
+2017-09-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Check_Inline_Pragma): Link the newly generated spec to
+	the preexisting body.
+	* sem_prag.adb (Check_Inline_Always_Placement): New routine.
+	(Process_Inline): Verify the placement of pragma Inline_Always. The
+	pragma must now appear on the initial declaration of the related
+	subprogram.
+
+2017-09-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): In ASIS mode,  At the end of the
+	declarative list in a subprogram body, analyze aspext specifications to
+	provide basic semantic information, because otherwise the aspect
+	specifications might only be snalyzed during expansion, when related
+	subprograms are generated.
+
+2017-09-18  Bob Duff  <duff@adacore.com>
+
+	* exp_ch9.adb (Is_Simple_Barrier_Name): Follow Original_Node, in case
+	validity checks have rewritten the tree.
+
+2017-09-18  Bob Duff  <duff@adacore.com>
+
+	* sem_util.adb: Comment fixes, and remove redundant Is_Itype check.
+
+2017-09-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Save_References_In_Aggregate): When constructing a
+	qualified exxpression for an aggregate in a generic unit, verify that
+	the scope of the type is itself visible and not hidden, so that the
+	qualified expression is correctly resolved in any instance.
+
+2017-09-18  Bob Duff  <duff@adacore.com>
+
+	* sem_ch4.adb (Analyze_Qualified_Expression): Give an error if the type
+	mark refers to the current instance. Set the type to Any_Type in that
+	case, to avoid later crashes.
+
+2017-09-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch3.adb (Replace_Discriminant_References): New procedure,
+	subsidiary of Build_Assignment, used to handle the initialization code
+	for a mutable record component whose default value is an aggregate that
+	sets the values of the discriminants of the components.
+
+2017-09-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Address>: Mark
+	the entity as being volatile for an overlay that toggles the scalar
+	storage order.
+
+2017-09-18  Fedor Rybin  <frybin@adacore.com>
+
+	* doc/gnat_ugn/gnat_utility_programs.rst: Document that gnattest
+	options -U main and --harness-only are not compatible.
+
+2017-09-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb, sem_ch6.adb, sem_res.adb: Minor reformatting.
+
+2017-09-18  Piotr Trojanek  <trojanek@adacore.com>
+
+	* einfo.ads (Is_Imported): Update comment, as this
+	routine also applies to constants.
+
+2017-09-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Find_Placement_In_State_Space): Allow generic package
+	holding state.
+
+2017-09-18  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Is_Non_Significant_Pragma_Reference): Change the
+	constant indication for Pragma_Linker_Section.
+
+2017-09-18  Bob Duff  <duff@adacore.com>
+
+	Alternate fix for PR ada/71358
+	* libgnat/g-comlin.adb (Getopt): Remove manual null access checks.
+	Instead, make a local copy of Config, and if it's null, allocate an
+	empty Command_Line_Configuration_Record, so we won't crash on null
+	pointer dereference.
+
+2017-09-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* libgnarl/a-intnam__rtems.ads: Update copyright date.
+	* libgnarl/s-interr__hwint.adb: Likewise.
+	* libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise.
+	* libgnarl/s-osinte__rtems.adb: Likewise.
+	* libgnarl/s-osinte__rtems.ads: Likewise.
+
+2017-09-13  Nicolas Roche  <roche@adacore.com>
+
+	* Make-lang.in: In the fallback mechanim, parse the associated .ali
+	file and try to guess the locations of dependencies.
+
+2017-09-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch13.adb (Register_Address_Clause_Check): New procedure to save
+	the suppression status of Alignment_Check on the current scope.
+	(Alignment_Checks_Suppressed): New function to use the saved instead of
+	the current suppression status of Alignment_Check.
+	(Address_Clause_Check_Record): Add Alignment_Checks_Suppressed field.
+	(Analyze_Attribute_Definition_Clause): Instead of manually appending to
+	the table, call Register_Address_Clause_Check.
+	(Validate_Address_Clauses): Call Alignment_Checks_Suppressed on the
+	recorded address clause instead of its entity.
+
+2017-09-13  Jerome Guitton  <guitton@adacore.com>
+
+	* libgnarl/s-tpopsp__vxworks-tls.adb,
+	libgnarl/s-tpopsp__vxworks-rtp.adb, libgnarl/s-tpopsp__vxworks.adb
+	(Self): Register thread if task id is null.
+
+2017-09-13  Arnaud Charlet  <charlet@adacore.com>
+
+	* libgnat/s-htable.adb, libgnat/s-htable.ads: Minor style tuning.
+
+2017-09-13  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-xref-spark_specific.adb (Scopes): simplify hash map; now it maps
+	from an entity to only scope index, as a mapping from an entity to the
+	same entity was useless.
+	(Get_Scope_Num): refactor as a simple renaming; rename parameter from N
+	to E.
+	(Set_Scope_Num): refactor as a simple renaming; rename parameter from N
+	to E.
+	(Is_Constant_Object_Without_Variable_Input): remove local "Result"
+	variable, just use return statements.
+
+2017-09-13  Arnaud Charlet  <charlet@adacore.com>
+
+	* libgnarl/s-vxwext__kernel-smp.adb,
+	libgnarl/s-tpopsp__vxworks-rtp.adb, libgnarl/s-vxwext__noints.adb:
+	New file.
+
+2017-09-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb: Flag42 is now Is_Controlled_Active.
+	(Is_Controlled): This attribute is now synthesized.
+	(Is_Controlled_Active): This attribute is now an explicit flag rather
+	than a synthesized attribute.	(Set_Is_Controlled): Removed.
+	(Set_Is_Controlled_Active): New routine.
+	(Write_Entity_Flags): Update the output for Flag42.
+	* einfo.ads: Update the documentation of the following attributes:
+	Disable_Controlled, Is_Controlled, Is_Controlled_Active, Is_Controlled
+	and Is_Controlled_Active have swapped their functionality.
+	(Is_Controlled): Renamed to Is_Controlled_Active.
+	(Is_Controlled_Active): Renamed to Is_Controlled.
+	(Set_Is_Controlled): Renamed to Set_Is_Controlled_Active.
+	* exp_ch3.adb (Expand_Freeze_Record_Type): Restore the original use of
+	Is_Controlled.
+	* exp_util.adb (Has_Some_Controlled_Component): Code clean up.
+	(Needs_Finalization): Code clean up. Remove the tests for
+	Disable_Controlled because a) they were incorrect as they would reject
+	a type which is sublect to the aspect, but may contain controlled
+	components, and b) they are no longer necessary.
+	* exp_util.ads (Needs_Finalization): Update comment on documentation.
+	* freeze.adb (Freeze_Array_Type): Restore the original use of
+	Is_Controlled.
+	(Freeze_Record_Type): Restore the original use of Is_Controlled.
+	* sem_ch3.adb (Analyze_Object_Declaration): Restore the original use of
+	Is_Controlled.
+	(Array_Type_Declaration): Restore the original use of Is_Controlled.
+	(Build_Derived_Private_Type): Restore the original use of
+	Is_Controlled.
+	(Build_Derived_Record_Type): Set the Is_Controlled_Active flag of a
+	type derived from Ada.Finalization.[Limited_]Controlled.
+	(Build_Derived_Type): Restore the original use of Is_Controlled.
+	(Record_Type_Definition): Restore the original use of Is_Controlled.
+	* sem_ch7.adb (Preserve_Full_Attributes): Restore the original use of
+	Is_Controlled.
+	* sem_ch13.adb (Analyze_Aspect_Disable_Controlled): New routine.
+	(Analyze_Aspect_Specifications): Use routine
+	Analyze_Aspect_Disable_Controlled to process aspect Disable_Controlled.
+
+2017-09-13  Vincent Celier  <celier@adacore.com>
+
+	* clean.adb (Gnatclean): Fix error when looking for target
+	of <target>-gnatclean
+
+2017-09-13  Javier Miranda  <miranda@adacore.com>
+            Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch8.adb (Find_Expanded_Name): Complete code that identifies an
+	expanded name that designates the current instance of a child unit in
+	its own body and appears as the prefix of a reference to an entity
+	local to the child unit.
+
+2017-09-12  Bob Duff  <duff@adacore.com>
+
+	* sem_warn.adb: Minor comment.
+
+2017-09-12  Bob Duff  <duff@adacore.com>
+
+	* libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
+	libgnat/a-cbmutr.adb, libgnat/a-cborma.adb: Rename New_Item to
+	be Default_Initialized_Item, and apply pragma Unmodified to it,
+	to suppress the warning.
+
+2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Add early return
+	for access types.
+
+2017-09-12  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): Consider Refined_Global
+	together with Global when ignoring one in CodePeer mode.
+
+2017-09-12  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): In nested
+	package declarations that have a private part enable missing check
+	of the RM rule 13.1.1(11/3): usage names in aspect definitions are
+	resolved at the end of the immediately enclosing declaration list.
+
+2017-09-12  Bob Duff  <duff@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Initialize Def_Id to
+	Empty.
+
+2017-09-12  Georges-Axel Jaloyan  <jaloyan@adacore.com>
+
+	* debug.adb: Reserving flag -gnatdF for safe pointer checking.
+	* gnat1drv.adb (gnat1drv): Adding the call to the analysis on
+	dF flag.
+	* sem_spark.adb, sem_spark.ads: Implementation of the analysis,
+	in preparation for the evolution of the SPARK language that
+	includes a pointer analysis for checking non-aliasing of access
+	types. The Check_Safe_Pointers function is the entry point, and
+	will traverse the AST and raise compile-time errors everytime
+	it detects non-begign aliasing.  Detailed comments are present
+	in the sem_spark.ads file.
+	* sem_util.adb, sem_util.ads (First_Global, Next_Global): New
+	functions to iterate over the list of globals of a subprogram.
+	* libgnat/system.ads: Add restriction No_Finalization.
+	* gcc-interface/Make-lang.in: Add new file sem_spark.adb and
+	dependency on g-dynhta.adb.
+
+2017-09-12  Bob Duff  <duff@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Call
+	Check_Dynamically_Tagged_Expression.
+	* sem_util.adb (Check_Dynamically_Tagged_Expression): Remove
+	"and then Is_Tagged_Type (Typ)" because there is an earlier
+	"Assert (Is_Tagged_Type (Typ))".
+
+2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in (SPARC/Solaris): Remove obsolete stuff.
+
+2017-09-11  Arnaud Charlet  <charlet@adacore.com>
+
+	* doc/gnat_ugn/the_gnat_compilation_model.rst: Fix sphinx warning.
+	* doc/gnat_ugn/platform_specific_information.rst: Remove doc
+	for no longer supported platforms.
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Added detailed
+	description of the semantics for dimensionality analysis.
+	* gnat_ugn.texi: Regenerated.
+
+2017-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Has_Incomplete_Compoent): Delete.
+	(Freeze_Profile):
+	Do not inhibit the freezing of the profile of an expression
+	function here.
+	(Freeze_Subprogram): Do not re-create extra formals.
+	* sem_ch6.adb (Analyze_Expression_Function): Always
+	pre-analyze the expression if the function is not a completion.
+	(Analyze_Subprogram_Body_Helper): For the body generated
+	from an expression function that is not a completion, do
+	not freeze the profile and temporary mask the types declared
+	outside the expression that are not yet frozen.
+	* sem_res.adb (Rewrite_Renamed_Operator): Also bail out if invoked
+	during the pre-analysis of an expression function.
+
+2017-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (enum standard_datatypes): Minor tweak.
+	(gigi): Likewise.
+
+2017-09-11  Yannick Moy  <moy@adacore.com>
+
+	* lib-xref-spark_specific.adb: Minor rewrite.
+
+2017-09-11  Jerome Lambourg  <lambourg@adacore.com>
+
+        * libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__*
+        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Take this
+	renaming into account.
+
+2017-09-11  Jerome Lambourg  <lambourg@adacore.com>
+
+	* libgnarl: Rename ?-[a-z]*-* into ?-[a-z]*__*
+	* gcc-interface/Makefile.in: Take this renaming into account.
+
+2017-09-11  Arnaud Charlet  <charlet@adacore.com>
+
+	* s-auxdec-empty.ads, s-auxdec-empty.adb, 9drpc.adb: Removed, no
+	longer used.
+
+2017-09-11  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Check_Result_And_Post_State):
+	Do not issue a warning about missing reference to an outcome if
+	the subprogram is ghost and has no outputs.
+	* lib-xref-spark_specific.adb, sem_aggr.adb, sem_aux.ads: Minor
+        reformatting.
+
+2017-09-11  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): Set
+	Check_Validity_Of_Parameters to False in GNATprove mode.
+	* opt.ads (Check_Validity_Of_Parameters): Document switch to
+	set option.
+
+2017-09-09  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Don't
+	generate debug info for inner record types if -fgnat-encodings=minimal.
+	(gnat_to_gnu_entity) <E_Record_Subtype>: Use the ultimate base record
+	type as the debug type.
+
+2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (components_to_record): Do not reorder in non-
+	packed record types if pragma Optimize_Alignment (Space) is enabled.
+
+2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Disregard inlining
+	limits for expression functions.
+	(gnat_to_gnu) <N_Object_Declaration>: Fix formatting.
+
+2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Copy the
+	layout of the record from the parent type only if both are or are not
+	unchecked unions.
+	(is_stored_discriminant): Return false for an unchecked union.
+
+2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils2.c (build_allocator): In type_annotate_only mode
+	return NULL_EXPR.
+
+2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (promote_object_alignment): New function taken
+	from...
+	(gnat_to_gnu_entity) <E_Variable>: ...here.  Invoke it.
+	(gnat_to_gnu_field): If the field is Atomic or VFA, invoke it and
+	create a padding type on success before doing the atomic check.
+
+2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Apply the
+	promotion to static memory earlier in the processing.
+
+2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK
+	and TYPE_BY_REFERENCE_P flags on types after various promotions.
+	* gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>:
+	Consider all kinds of entities.
+
+2017-09-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (convert): When converting to a padding type,
+	reuse an existing CONSTRUCTOR if it has got the right size.
+
+2017-09-08  Nicolas Roche  <roche@adacore.com>
+
+	* gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Find runtime
+	source in libgnat/
+	* a-lfztio.ads, g-timsta.ads, g-sercom-linux.adb, s-osprim-solaris.adb,
+	a-inteio.ads, s-stchop-rtems.adb, s-casuti.adb, s-pack39.adb,
+	i-vxwork-x86.ads, a-strbou.adb, a-stzmap.adb, s-assert.adb,
+	a-sfecin.ads, a-cohama.adb, s-casuti.ads, a-suenco.adb, s-pack39.ads,
+	a-stzmap.ads, a-strbou.ads, s-stalib.adb, s-trasym.adb, g-comver.adb,
+	s-assert.ads, s-vector.ads, g-cgi.adb, a-cohama.ads, s-wchcnv.adb,
+	a-titest.adb, s-pack48.adb, a-suenco.ads, a-strunb.adb, s-stalib.ads,
+	s-trasym.ads, a-nudira.adb, g-comver.ads, a-nuflra.adb, g-cgi.ads,
+	a-chacon.adb, s-wchcnv.ads, a-excach.adb, s-pack48.ads, a-titest.ads,
+	a-strunb.ads, s-dwalin.adb, a-nudira.ads, a-chtgbo.adb, s-resfil.adb,
+	a-scteio.ads, a-nuflra.ads, g-soliop-mingw.ads, s-pack57.adb,
+	a-chacon.ads, s-bytswa.ads, s-pooloc.adb, g-os_lib.adb, s-dwalin.ads,
+	a-szuzha.adb, s-resfil.ads, a-chtgbo.ads, s-spsufi.adb, s-pack57.ads,
+	s-pooloc.ads, g-os_lib.ads, a-stfiha.ads, a-lcteio.ads, a-wtcoau.adb,
+	a-szuzha.ads, s-mmosin-unix.adb, a-stmaco.ads, s-spsufi.ads,
+	s-stchop-limit.ads, a-wtcoau.ads, a-exctra.adb, s-mmosin-unix.ads,
+	s-sequio.adb, s-conca2.adb, g-table.adb, s-imglli.adb,
+	a-numaux-x86.adb, a-strsea.adb, s-wchstw.adb, a-clrefi.adb,
+	a-wwboio.adb, a-exctra.ads, s-sequio.ads, s-conca2.ads, a-wwunio.ads,
+	system-linux-hppa.ads, g-table.ads, s-dimkio.ads, s-imglli.ads,
+	a-cofove.adb, a-numaux-x86.ads, s-wchstw.ads, a-strsea.ads,
+	a-clrefi.ads, a-wwboio.ads, s-stratt-xdr.adb, s-crc32.adb,
+	s-excmac-arm.adb, g-busora.adb, a-cofove.ads, s-osprim-unix.adb,
+	g-io.adb, s-pack49.adb, s-crc32.ads, s-excmac-arm.ads, a-fzteio.ads,
+	g-busora.ads, s-stausa.adb, system-linux-mips.ads, sequenio.ads,
+	g-exctra.adb, g-rewdat.adb, a-cgaaso.adb, g-io.ads, s-pack49.ads,
+	a-wtflau.adb, a-undesu.adb, s-stausa.ads, a-ztenau.adb, g-enutst.ads,
+	calendar.ads, s-pack58.adb, g-rewdat.ads, g-exctra.ads, s-ststop.adb,
+	a-cgaaso.ads, a-strfix.adb, a-comlin.adb, a-strunb-shared.adb,
+	a-wtflau.ads, a-undesu.ads, a-cbhase.adb, a-ztenau.ads, s-os_lib.adb,
+	a-coorse.adb, a-chlat1.ads, s-pack58.ads, s-ststop.ads, a-strfix.ads,
+	a-comlin.ads, a-strunb-shared.ads, a-nscefu.ads, s-valboo.adb,
+	directio.ads, a-chtgke.adb, a-cbhase.ads, a-wtinau.adb,
+	system-linux-alpha.ads, s-os_lib.ads, a-coorse.ads,
+	system-linux-s390.ads, s-imgwiu.adb, a-chtgop.adb, s-valboo.ads,
+	a-chtgke.ads, a-tienio.adb, s-conca3.adb, a-wtinau.ads,
+	system-darwin-ppc.ads, i-c.adb, s-expllu.adb, g-expect.adb,
+	g-sha256.ads, s-vallld.adb, s-imgwiu.ads, a-chtgop.ads, a-strmap.adb,
+	a-tienio.ads, s-conca3.ads, s-imgint.adb, i-c.ads, s-expllu.ads,
+	s-osprim-darwin.adb, a-cogeso.adb, g-expect.ads, a-iwteio.ads,
+	s-vallld.ads, a-coinho-shared.adb, g-shsh64.adb, a-strmap.ads,
+	g-comlin.adb, a-excpol.adb, s-imgint.ads, a-ztdeau.adb, a-cogeso.ads,
+	a-coinho-shared.ads, g-shsh64.ads, g-comlin.ads, a-stzsup.adb,
+	a-rbtgbk.adb, a-wtmoau.adb, a-ztdeau.ads, s-exnlli.adb, g-tty.adb,
+	g-heasor.adb, g-socthi-dummy.adb, s-llflex.ads, a-zchara.ads,
+	a-stzsup.ads, a-ztcstr.adb, a-rbtgbk.ads, a-sfwtio.ads, a-wtmoau.ads,
+	a-sulcin.adb, s-exnlli.ads, system-freebsd.ads, a-stunha.adb,
+	a-charac.ads, g-tty.ads, g-heasor.ads, s-exctra.adb,
+	g-socthi-dummy.ads, a-coboho.adb, a-ztcstr.ads, a-tideio.adb,
+	a-sulcin.ads, a-wrstfi.adb, g-alleve.adb, s-pack59.adb, a-ngrear.adb,
+	a-stboha.adb, a-stunau-shared.adb, a-stunha.ads, a-lfwtio.ads,
+	s-fileio.adb, s-exctra.ads, a-coboho.ads, a-ioexce.ads, a-tideio.ads,
+	a-ngrear.ads, a-wrstfi.ads, s-pack59.ads, g-alleve.ads, a-stboha.ads,
+	s-poosiz.adb, g-traceb.adb, g-rannum.adb, machcode.ads, s-purexc.ads,
+	s-fileio.ads, a-cfinve.adb, a-crbtgk.adb, system-solaris-x86.ads,
+	s-poosiz.ads, g-rannum.ads, g-traceb.ads, a-except.adb, s-conca4.adb,
+	a-stream.adb, a-cfinve.ads, a-crbtgk.ads, s-wchwts.adb,
+	system-mingw.ads, a-except.ads, s-conca4.ads, a-chzla9.ads,
+	s-valenu.adb, s-soflin.adb, a-stream.ads, a-cgarso.adb, s-valllu.adb,
+	g-crc32.adb, s-wchwts.ads, s-fatflt.ads, s-imguns.adb, s-strcom.adb,
+	g-decstr.adb, s-valenu.ads, s-soflin.ads, a-cgarso.ads, a-cwila1.ads,
+	s-valllu.ads, g-crc32.ads, s-imguns.ads, g-spipat.adb, s-valwch.adb,
+	s-strcom.ads, g-decstr.ads, text_io.ads, g-debuti.adb, s-stchop.adb,
+	g-spipat.ads, s-valwch.ads, a-string.ads, s-exnint.adb, g-awk.adb,
+	g-tasloc.adb, s-wwdenu.adb, s-boustr.adb, a-zchuni.adb, s-stchop.ads,
+	g-debuti.ads, s-stopoo.adb, system-dragonfly-x86_64.ads,
+	system-linux-x86.ads, s-exnint.ads, g-awk.ads, a-stzhas.adb,
+	g-tasloc.ads, s-wwdenu.ads, g-debpoo.adb, g-except.ads,
+	g-sse.ads, s-boustr.ads, a-zchuni.ads, s-bitops.adb, s-wwdwch.adb,
+	s-stopoo.ads, a-catizo.adb, a-stzhas.ads, a-nlcefu.ads, g-debpoo.ads,
+	i-vxwoio.adb, s-bitops.ads, g-io-put-vxworks.adb, s-wwdwch.ads,
+	g-sehamd.adb, a-ssicst.adb, a-catizo.ads, s-mmap.adb, g-string.adb,
+	s-traceb.adb, a-swunau.adb, s-rannum.adb, a-ticoau.adb, i-vxwoio.ads,
+	g-sehamd.ads, a-stwiun.adb, a-ssicst.ads, s-conca5.adb, a-ssitio.ads,
+	s-mmap.ads, a-zttest.adb, g-string.ads, g-sercom.adb, a-cdlili.adb,
+	a-swunau.ads, s-traceb.ads, s-rannum.ads, a-ticoau.ads, system-aix.ads,
+	a-cforma.adb, a-stwiun.ads, s-conca5.ads, s-carsi8.adb, a-zttest.ads,
+	g-sercom.ads, a-cdlili.ads, a-cihama.adb, g-sptain.ads, a-cforma.ads,
+	s-maccod.ads, s-carsi8.ads, a-strsup.adb, g-sha1.adb, a-cihama.ads,
+	g-stseme.adb, s-traent.adb, s-valcha.adb, g-curexc.ads, a-strsup.ads,
+	g-sha1.ads, a-sflcin.ads, s-traent.ads, s-pack10.adb, s-valcha.ads,
+	a-coteio.ads, s-tasloc.adb, g-utf_32.adb, a-suteio.adb, s-except.adb,
+	a-direct.adb, g-stsifd-sockets.adb, a-numaux-vxworks.ads, s-winext.ads,
+	s-pack10.ads, a-ztexio.adb, a-tiflau.adb, system-vxworks-arm.ads,
+	s-tasloc.ads, a-suteio.ads, g-utf_32.ads, s-except.ads,
+	a-direct.ads, a-swbwha.adb, g-hesorg.adb, s-wwdcha.adb, a-wtedit.adb,
+	a-ztexio.ads, a-wtcoio.adb, a-tiflau.ads, a-ssizti.ads, s-casi32.adb,
+	a-swbwha.ads, s-veboop.adb, g-hesorg.ads, s-parame-rtems.adb,
+	s-wwdcha.ads, a-wtedit.ads, a-stuten.adb, a-coinve.adb, a-wtcoio.ads,
+	s-casi32.ads, s-string.adb, a-tiinau.adb, a-cusyqu.adb, s-conca6.adb,
+	s-veboop.ads, a-cgcaso.adb, a-numaux-darwin.adb, a-envvar.adb,
+	a-stuten.ads, s-secsta.adb, a-coinve.ads, s-string.ads, a-cusyqu.ads,
+	a-tiinau.ads, s-osprim-vxworks.adb, s-conca6.ads, g-spchge.adb,
+	s-parint.adb, a-cuprqu.adb, a-cgcaso.ads, a-numaux-darwin.ads,
+	a-envvar.ads, s-secsta.ads, g-spchge.ads, s-parint.ads, a-cuprqu.ads,
+	a-swuwti.adb, a-flteio.ads, a-sbhcin.adb, a-coprnu.adb, g-u3spch.adb,
+	s-atocou.adb, g-ctrl_c.adb, a-swuwti.ads, a-calend.adb, a-sbhcin.ads,
+	a-coprnu.ads, g-dirope.adb, g-sha512.ads, g-u3spch.ads, s-atocou.ads,
+	g-ctrl_c.ads, a-timoau.adb, a-witeio.adb, s-pack11.adb, a-strhas.adb,
+	a-wtflio.adb, g-spitbo.adb, a-calend.ads, a-ztenio.adb, g-dirope.ads,
+	a-slcain.adb, g-sechas.adb, a-timoau.ads, a-witeio.ads, s-pack11.ads,
+	s-shasto.adb, s-traceb-mastop.adb, a-ciorse.adb, s-utf_32.adb,
+	a-strhas.ads, a-wtflio.ads, g-spitbo.ads, a-ztenio.ads, a-slcain.ads,
+	g-sechas.ads, s-gearop.adb, a-siztio.ads, s-pack20.adb, s-shasto.ads,
+	a-ciorse.ads, s-utf_32.ads, s-crtl.ads, a-wtinio.adb, s-elaall.adb,
+	s-explli.adb, s-chepoo.ads, s-gearop.ads, a-einuoc.adb, s-pack20.ads,
+	system-linux-ia64.ads, a-swunau-shared.adb, a-wtinio.ads, g-alvety.ads,
+	a-liztio.ads, g-calend.adb, s-conca7.adb, s-elaall.ads, s-explli.ads,
+	a-einuoc.ads, s-widboo.adb, s-imgdec.adb, a-cbhama.adb, g-calend.ads,
+	s-conca7.ads, a-llitio.ads, i-cexten.ads, a-coorma.adb, s-widboo.ads,
+	s-diflio.adb, g-souinf.ads, s-imgdec.ads, g-strhas.ads, a-cbhama.ads,
+	g-shshco.adb, a-ztdeio.adb, s-gloloc.adb, a-coorma.ads, g-wispch.adb,
+	s-pack03.adb, g-eacodu.adb, s-casi16.adb, s-diflio.ads, a-colien.adb,
+	g-shshco.ads, a-wtmoio.adb, a-rbtgbo.adb, a-ztdeio.ads,
+	system-rtems.ads, s-gloloc.ads, a-csquin.ads, a-cofuse.adb,
+	g-wispch.ads, s-pack03.ads, s-casi16.ads, s-io.adb, a-colien.ads,
+	g-alveop.adb, gnat.ads, s-diinio.adb, a-cfdlli.adb, g-pehage.adb,
+	a-wtmoio.ads, a-stwiha.adb, a-locale.adb, a-tirsfi.adb, a-nscoty.ads,
+	a-rbtgbo.ads, s-pack12.adb, a-cofuse.ads, a-sfteio.ads, s-io.ads,
+	g-alveop.ads, a-cfdlli.ads, s-diinio.ads, a-stwiha.ads, g-pehage.ads,
+	a-locale.ads, a-tirsfi.ads, s-pack12.ads, s-valuti.adb, g-cppexc.adb,
+	system-vxworks-ppc.ads, g-memdum.adb, a-lfteio.ads, s-pack21.adb,
+	s-unstyp.ads, s-valuti.ads, g-cppexc.ads, system-hpux-ia64.ads,
+	g-memdum.ads, g-soccon.ads, g-altive.ads, a-crbtgo.adb, s-pack21.ads,
+	a-llizti.ads, a-numaux-libc-x86.ads, s-expint.adb, s-conca8.adb,
+	a-crbtgo.ads, s-pack30.adb, s-vallli.adb, s-geveop.adb, s-expint.ads,
+	a-direio.adb, s-conca8.ads, a-widcha.ads, s-pack30.ads, s-vallli.ads,
+	s-strhas.adb, s-geveop.ads, g-md5.adb, a-direio.ads, a-numaux.ads,
+	s-ransee.adb, a-szbzha.adb, i-cobol.adb, g-busorg.adb, s-strhas.ads,
+	g-md5.ads, s-widenu.adb, s-ransee.ads, s-widllu.adb, a-szbzha.ads,
+	a-ststio.adb, i-cobol.ads, g-busorg.ads, g-regpat.adb, s-widenu.ads,
+	a-secain.adb, s-widllu.ads, s-pack13.adb, g-encstr.adb, a-ztcoau.adb,
+	a-ststio.ads, s-widwch.adb, g-regpat.ads, s-atacco.adb, a-cborse.adb,
+	a-secain.ads, s-pack13.ads, g-encstr.ads, a-ztcoau.ads, s-widwch.ads,
+	g-io_aux.adb, s-atacco.ads, a-ncelfu.ads, interfac.ads, a-cborse.ads,
+	g-regexp.adb, s-pack22.adb, a-szuzti.adb, g-io_aux.ads, s-caun32.adb,
+	a-nselfu.ads, g-regexp.ads, s-pack22.ads, a-ticoio.adb, a-szuzti.ads,
+	g-diopit.adb, s-caun32.ads, s-conca9.adb, a-tags.adb, a-swmwco.ads,
+	a-sbecin.adb, s-pack31.adb, s-expuns.adb, a-ticoio.ads, s-valint.adb,
+	s-conca9.ads, g-diopit.ads, a-tags.ads, a-nllcef.ads, a-izteio.ads,
+	a-sbecin.ads, s-expuns.ads, s-pack31.ads, g-dyntab.adb, s-powtab.ads,
+	s-flocon-none.adb, s-valint.ads, a-ssiwti.ads, s-mmosin-mingw.adb,
+	s-pack40.adb, s-pack05.adb, a-ztflau.adb, g-dyntab.ads,
+	a-szuzti-shared.adb, g-alvevi.ads, a-stwise.adb, s-mmosin-mingw.ads,
+	s-pack40.ads, a-diocst.adb, a-ztflau.ads, s-pack05.ads, a-nlcoty.ads,
+	a-contai.ads, a-stwisu.adb, g-byorma.adb, a-siwtio.ads, a-stwise.ads,
+	s-regpat.adb, g-mbdira.adb, s-pack14.adb, a-diocst.ads, g-flocon.ads,
+	g-mbflra.adb, a-ztinau.adb, s-dim.ads, s-mantis.adb, a-stwisu.ads,
+	g-byorma.ads, s-atopri.adb, g-wistsp.ads, a-uncdea.ads, s-widcha.adb,
+	a-caldel.adb, s-regpat.ads, g-mbdira.ads, a-tiflio.adb, s-pack14.ads,
+	s-parame.adb, a-liwtio.ads, s-memory.adb, g-mbflra.ads, a-ztinau.ads,
+	a-wtgeau.adb, s-direio.adb, s-mantis.ads, s-atopri.ads, s-widcha.ads,
+	a-caldel.ads, s-pack23.adb, a-unccon.ads, a-tiflio.ads, s-parame.ads,
+	a-llftio.ads, s-memory.ads, s-regexp.adb, a-wtgeau.ads, a-exexda.adb,
+	s-direio.ads, s-pack23.ads, g-stheme.adb, a-tiinio.adb, g-sestin.ads,
+	s-regexp.ads, a-wtfiio.adb, a-comutr.adb, a-exexpr.adb, a-tiinio.ads,
+	a-ztmoau.adb, a-cohata.ads, a-wtfiio.ads, s-imgrea.adb, ada.ads,
+	a-szunau-shared.adb, a-comutr.ads, s-valuns.adb, a-ztmoau.ads,
+	system-linux-arm.ads, s-osprim-x32.adb, s-pack41.adb, s-pack06.adb,
+	s-imgrea.ads, s-valuns.ads, s-finroo.adb, s-caun16.adb, s-pooglo.adb,
+	a-zrstfi.adb, a-suenst.adb, s-pack41.ads, g-binenv.adb, s-pack06.ads,
+	a-calari.adb, a-nlcoar.ads, s-finroo.ads, a-timoio.adb, s-caun16.ads,
+	s-flocon.adb, a-suenst.ads, a-zrstfi.ads, s-pooglo.ads, s-wchcon.adb,
+	s-traceb-hpux.adb, s-pack50.adb, i-fortra.adb, s-pack15.adb,
+	a-ngcefu.adb, g-sptavs.ads, g-binenv.ads, s-wchjis.adb, a-calari.ads,
+	a-timoio.ads, a-decima.adb, s-flocon.ads, s-wchcon.ads, a-llfzti.ads,
+	i-fortra.ads, s-pack50.ads, s-pack15.ads, a-ngcefu.ads, a-cfhase.adb,
+	s-wchjis.ads, g-soliop.ads, a-decima.ads, a-chlat9.ads, s-pack24.adb,
+	a-nlelfu.ads, a-cfhase.ads, g-locfil.adb, s-atocou-builtin.adb,
+	s-memcop.ads, a-szunau.adb, s-pack24.ads, s-imgllb.adb, s-auxdec.adb,
+	g-locfil.ads, s-pack33.adb, a-szunau.ads, s-parame-vxworks.adb,
+	s-imgllb.ads, a-ciorma.adb, s-auxdec.ads, a-cobove.adb, s-dsaser.ads,
+	a-elchha.adb, s-pack33.ads, a-cofuve.adb, s-parame-vxworks.ads,
+	a-ciorma.ads, system-darwin-x86.ads, s-multip.adb, a-stwiun-shared.adb,
+	a-wichun.adb, a-cobove.ads, s-imgbiu.adb, s-tsmona-mingw.adb,
+	a-coormu.adb, a-siocst.adb, s-win32.ads, a-elchha.ads, s-pack42.adb,
+	s-pack07.adb, a-cofuve.ads, system-hpux.ads, a-teioed.adb,
+	a-convec.adb, g-speche.adb, s-multip.ads, a-stwiun-shared.ads,
+	a-wichun.ads, s-imgbiu.ads, a-numeri.ads, a-siocst.ads, a-coormu.ads,
+	a-lliwti.ads, s-pack42.ads, s-pack07.ads, a-teioed.ads, a-convec.ads,
+	g-speche.ads, g-socthi.adb, a-nucoty.ads, a-szmzco.ads, s-pack51.adb,
+	s-osprim-mingw.adb, s-casi64.adb, g-strspl.ads, g-socthi.ads,
+	g-socket-dummy.adb, s-pack51.ads, s-dimmks.ads, s-casi64.ads,
+	a-wtenau.adb, s-stchop-vxworks.adb, s-pack60.adb,
+	system-solaris-sparc.ads, s-pack25.adb, g-socket-dummy.ads,
+	a-exstat.adb, a-cofuma.adb, s-tsmona-linux.adb, a-wtenau.ads,
+	s-pack60.ads, s-pack25.ads, i-cstrea.adb, a-cofuma.ads, g-exptty.adb,
+	a-chzla1.ads, s-pack34.adb, i-cstrea.ads, s-excdeb.adb, a-iteint.ads,
+	g-exptty.ads, i-pacdec.adb, s-pack34.ads, s-rident.ads, s-sopco3.adb,
+	i-vxwork.ads, s-excdeb.ads, system-linux-ppc.ads, a-swuwti-shared.adb,
+	s-widlli.adb, s-pack43.adb, i-pacdec.ads, a-cwila9.ads, s-sopco3.ads,
+	a-fwteio.ads, s-widlli.ads, s-pack43.ads, a-suhcin.adb, a-wtdeau.adb,
+	g-allein.ads, a-suezst.adb, a-dirval-mingw.adb, g-zspche.adb,
+	s-bignum.adb, a-ztedit.adb, g-regist.adb, a-nllefu.ads, a-ztcoio.adb,
+	s-pack52.adb, a-llctio.ads, a-nucoar.ads, s-pack17.adb, a-suhcin.ads,
+	a-wtdeau.ads, a-suezst.ads, a-dirval.adb, g-zspche.ads, g-regist.ads,
+	a-ztedit.ads, s-bignum.ads, a-wtcstr.adb, system.ads, s-pack52.ads,
+	a-ztcoio.ads, s-pack17.ads, s-imgboo.adb, a-rbtgso.adb, a-dirval.ads,
+	a-cohase.adb, s-pack61.adb, a-wtcstr.ads, s-pack26.adb, s-osprim.ads,
+	a-tigeau.adb, s-imgboo.ads, a-nuelfu.ads, a-swfwha.ads, s-commun.adb,
+	g-socthi-vxworks.adb, a-rbtgso.ads, a-cohase.ads, g-zstspl.ads,
+	s-pack61.ads, s-pack26.ads, a-intnam-dragonfly.ads, s-imglld.adb,
+	a-tigeau.ads, s-commun.ads, g-socthi-vxworks.ads, a-cborma.adb,
+	a-stwifi.adb, g-moreex.adb, s-pack35.adb, s-imglld.ads, s-valdec.adb,
+	a-tifiio.adb, a-cborma.ads, g-moreex.ads, a-stwifi.ads, s-pack35.ads,
+	s-sopco4.adb, g-sha224.ads, g-socket.adb, a-intnam-rtems.ads,
+	s-finmas.adb, s-valdec.ads, s-addima.adb, a-finali.adb, a-tifiio.ads,
+	s-rpc.adb, a-ztflio.adb, s-pack44.adb, s-pack09.adb, a-sblcin.adb,
+	s-sopco4.ads, a-textio.adb, g-socket.ads, g-sptabo.ads, s-finmas.ads,
+	g-shsh32.adb, s-addima.ads, a-finali.ads, s-mmauni-long.ads, s-rpc.ads,
+	a-ztflio.ads, system-djgpp.ads, s-stache.adb, s-pack44.ads,
+	s-pack09.ads, a-sblcin.ads, a-textio.ads, a-cidlli.adb, g-shsh32.ads,
+	a-chtgbk.adb, a-tiocst.adb, s-pack53.adb, s-pack18.adb, s-stache.ads,
+	a-zchhan.adb, s-fatlfl.ads, a-ztinio.adb, s-strops.adb, a-siteio.ads,
+	a-cidlli.ads, a-chtgbk.ads, g-ssvety.ads, a-tiocst.ads, s-pack53.ads,
+	s-parame-hpux.ads, s-pack18.ads, a-zchhan.ads, s-strops.ads,
+	a-ztinio.ads, a-wichha.adb, a-stwima.adb, a-nlrear.ads, a-liteio.ads,
+	s-pack62.adb, s-pack27.adb, s-fore.adb, s-vercon.adb, a-wichha.ads,
+	a-stwima.ads, s-pack62.ads, system-linux-sparc.ads, s-pack27.ads,
+	g-dynhta.adb, s-fore.ads, s-vercon.ads, a-cofuba.adb, a-cimutr.adb,
+	i-cpoint.adb, s-imgenu.adb, a-stwibo.adb, s-pack36.adb, i-cstrin.adb,
+	s-imgllu.adb, a-suteio-shared.adb, g-excact.adb, s-stoele.adb,
+	s-addope.adb, g-dynhta.ads, a-cofuba.ads, a-ztmoio.adb, a-llfwti.ads,
+	a-cimutr.ads, i-cpoint.ads, s-imgenu.ads, a-stwibo.ads, a-wttest.adb,
+	s-pack36.ads, a-tgdico.ads, s-sopco5.adb, s-scaval.adb, i-cstrin.ads,
+	s-imgllu.ads, g-excact.ads, s-stoele.ads, g-deutst.ads, s-addope.ads,
+	s-imgwch.adb, g-sha384.ads, a-ztmoio.ads, s-pack45.adb, a-wttest.ads,
+	s-sopco5.ads, s-excmac-gcc.adb, s-scaval.ads, a-storio.adb,
+	a-coinho.adb, a-btgbso.adb, s-imgwch.ads, s-carun8.adb, memtrack.adb,
+	s-pack45.ads, a-sfhcin.ads, s-excmac-gcc.ads, a-storio.ads,
+	a-coinho.ads, a-btgbso.ads, s-stratt.adb, s-carun8.ads, a-shcain.adb,
+	s-pack54.adb, s-pack19.adb, a-colire.adb, a-tigeli.adb, s-caun64.adb,
+	s-stratt.ads, s-fatgen.adb, a-shcain.ads, a-stzunb-shared.adb,
+	s-pack54.ads, s-pack19.ads, a-colire.ads, a-calcon.adb, s-caun64.ads,
+	s-fatgen.ads, s-pack63.adb, g-arrspl.adb, a-stzunb-shared.ads,
+	s-pack28.adb, a-nllrar.ads, a-zzboio.adb, a-zzunio.ads, a-stunau.adb,
+	a-calcon.ads, g-cgideb.adb, s-objrea.adb, s-mastop.adb, a-tienau.adb,
+	g-altcon.adb, g-arrspl.ads, s-pack63.ads, s-restri.adb, s-pack28.ads,
+	a-zzboio.ads, a-stunau.ads, g-cgideb.ads, g-htable.adb, g-sothco.adb,
+	s-objrea.ads, g-soliop-solaris.ads, s-mastop.ads, a-tienau.ads,
+	system-linux-m68k.ads, g-altcon.ads, s-dmotpr.ads, s-memory-mingw.adb,
+	g-cgicoo.adb, s-pack37.adb, s-restri.ads, s-fatllf.ads, s-expmod.adb,
+	a-swuwha.adb, a-exextr.adb, a-cfhama.adb, s-gloloc-mingw.adb,
+	a-tiboio.adb, g-forstr.adb, g-sothco.ads, a-stzbou.adb, a-nllcty.ads,
+	a-suecin.adb, g-htable.ads, s-exctab.adb, a-tiunio.ads, g-cgicoo.ads,
+	s-osprim-posix.adb, s-pack37.ads, a-ciormu.adb, s-atocou-x86.adb,
+	a-swuwha.ads, s-expmod.ads, a-cfhama.ads, s-ficobl.ads, a-ngcoty.adb,
+	g-forstr.ads, a-tiboio.ads, a-calfor.adb, a-stzbou.ads, a-suecin.ads,
+	a-conhel.adb, a-crbltr.ads, s-exctab.ads, a-dhfina.ads, s-imgcha.adb,
+	s-pack46.adb, a-ciormu.ads, system-linux-sh4.ads, a-chahan.adb,
+	a-ngcoty.ads, a-stzunb.adb, a-szfzha.ads, a-calfor.ads, a-cbdlli.adb,
+	a-conhel.ads, s-imgcha.ads, s-pack46.ads, a-assert.adb, a-chahan.ads,
+	a-stzunb.ads, a-crdlli.adb, s-pack55.adb, a-cbdlli.ads, a-tideau.adb,
+	a-assert.ads, ioexcept.ads, s-boarop.ads, g-hesora.adb, a-crdlli.ads,
+	s-pack55.ads, a-tideau.ads, g-bubsor.adb, a-wtenio.adb, a-cbsyqu.adb,
+	g-hesora.ads, s-pack29.adb, a-nurear.ads, g-catiio.adb, s-stposu.adb,
+	g-bubsor.ads, a-wtenio.ads, a-cbsyqu.ads, a-suewst.adb,
+	system-vxworks-x86.ads, s-pack29.ads, a-cbmutr.adb, a-cbprqu.adb,
+	s-imenne.adb, g-sothco-dummy.adb, g-casuti.adb, g-catiio.ads,
+	s-stposu.ads, a-stzsea.adb, s-pack38.adb, a-suewst.ads, s-imgllw.adb,
+	a-cbprqu.ads, a-cbmutr.ads, s-imenne.ads, g-sothco-dummy.ads,
+	g-casuti.ads, s-htable.adb, s-fatsfl.ads, g-trasym.adb, unchconv.ads,
+	a-stzsea.ads, s-arit64.adb, s-pack38.ads, a-nllcar.ads, s-valrea.adb,
+	s-imgllw.ads, s-htable.ads, a-sequio.adb, g-trasym.ads, a-ngcoar.adb,
+	s-exnllf.adb, s-pack47.adb, s-arit64.ads, g-sercom-mingw.adb,
+	s-valrea.ads, g-socthi-mingw.adb, g-bytswa.adb, g-sehash.adb,
+	unchdeal.ads, a-sequio.ads, a-ngcoar.ads, s-exnllf.ads, a-wtdeio.adb,
+	s-pack47.ads, g-socthi-mingw.ads, a-excpol-abort.adb, a-ztgeau.adb,
+	g-bytswa.ads, g-sehash.ads, s-pack56.adb, a-wtdeio.ads, a-ngelfu.adb,
+	a-ztgeau.ads, a-cforse.adb, s-filatt.ads, a-stzfix.adb, a-cihase.adb,
+	s-pack56.ads, a-sfztio.ads, a-ngelfu.ads, s-trasym-dwarf.adb,
+	a-cforse.ads, a-ztfiio.adb, g-timsta.adb, a-stzfix.ads, a-cihase.ads,
+	a-ztfiio.ads, system-darwin-arm.ads: Move non-tasking runtime sources
+	to libgnat subdirectory.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* sem_aux.adb, sem_aux.ads (Get_Called_Entity): New function to
+	return the entity associated with the call.
+	* sem_util.adb, sem_util.ads (Check_Function_Writable_Actuals):
+	Replace the internal Get_Function_Id with the new
+	Sem_Aux.Get_Called_Entity.
+	(Iterate_Call_Parameters): New
+	procedure to iterate on formals and actuals at the same time.
+	* sem_ch12.adb (Analyze_Subprogram_Instantiation):
+	Set SPARK_Mode from spec when set, for analysis
+	of instance. Restore after analysis of instance.
+	(Instantiate_Subprogram_Body): Set SPARK_Mode from body when
+	set, for analysis of body instance. Restored automatically at
+	the end of the subprogram.
+	* gnat1drv.adb (Adjust_Global_Switches): Set
+	Check_Validity_Of_Parameters to False in GNATprove mode.
+	* opt.ads (Check_Validity_Of_Parameters): Document switch to
+	set option.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_util.adb (NCT_Tables_In_Use): Move to library level from...
+	(New_Copy_Tree): ...there.  Reset the hash tables only if they
+	were used in the previous invocation.
+	* s-htable.adb: Fix typo.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* a-ssicst.adb (Open): Set File.Last_Op to the appropriate value.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_aggr.adb: minor style fix.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* sprint.adb (Write_Corresponding_Source): Ignore if there is
+	no current source file.
+	(Write_Name_With_Col_Check, Write_Name_With_Col_Check_Sloc):
+	Print something helpful in case N is invalid.
+	* sprint.ads: Minor comment fix.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_aggr.adb: (Aggr_Assignment_OK_For_Backend): Add early return for
+	access types.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* par-prag.adb, sem_prag.adb, snames.ads-tmpl: Implement pragma
+	Ada_2020, along the same lines as the other Ada version pragmas.
+
+2017-09-08  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch12.adb: Minor typo fixes and reformatting.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* sem_aggr.adb (Resolve_Record_Aggregate):
+	Rewrite bounds of aggregate subexpressions which may depend on
+	discriminants of the enclosing aggregate.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch5.adb: Prevent assertion failure on illegal code.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_Xrefs.Is_SPARK_Scope): Avoid
+	calling Renamed_Entity on an entity which cannot be a renaming.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_aggr.adb: Add with & use clause for Urealp.
+	(Aggr_Assignment_OK_For_Backend): Accept (almost all)
+	elementary types instead of just discrete types.
+	* sem_eval.adb (Expr_Value): Deal with N_Null for access types.
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
+	Be prepared for the FP zero value in the memset case.  Add small
+	guard.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* s-htable.adb (Static_HTable.Reset): Use aggregate instead
+	of loop.
+
+2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Expand_Array_Aggregate): Use New_Copy_Tree instead
+	of New_Copy because the latter leaves the syntactic structure of
+	the tree inconsistent (a child is accessible through two parents)
+	and prevents proper replication of itypes by subsequent calls
+	to New_Copy_Tree.
+	* exp_ch4.adb (Expand_Concatenate): Use New_Copy_Tree instead of
+	New_Copy because the latter leaves the syntactic structure of the
+	tree inconsistent (a child is accessible through two parents)
+	and prevents proper replication of itypes by subsequent calls
+	to New_Copy_Tree.
+	* sem_util.adb (In_Subtree): New routine.
+	(New_Copy_Tree): Reimplemented.
+	* sem_util.ads (In_Subtree): New routine.
+	(New_Copy_Tree): Reimplemented.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Resolve_Aspect_Expressions): The expression
+	for aspect Default_Value is a static scalar value, but it does
+	not freeze the type. Yhis allows for subsequent representation
+	clauses for the type.
+
+2017-09-08  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch8.adb (Find_Direct_Name.Undefined): Do
+	not add entries into the undefined reference table when we are
+	compiling with errors ignored.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Formal_Packages): Do not apply conformance
+	check if the instance is within an enclosing instance body. The
+	formal package was legal in the enclosing generic, and is
+	legal in the enclosing instantiation.  This optimisation may be
+	applicable elsewhere, and it also removes spurious errors that
+	may arise with on-the-fly processing  of instantiations that
+	contain Inline_Always subprograms.
+
+2017-09-08  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: Disregard empty argument of GNAT driver.
+
+2017-09-08  Justin Squirek  <squirek@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Manually decorate
+	the generated temporary for range valdity checks.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* usage.adb (Usage): Document new -gnatw.q/-gnatw.Q switches.
+
+2017-09-08  Justin Squirek  <squirek@adacore.com>
+
+	* switch-c.adb (Scan_Front_End_Switches): Add new warning switch
+	case to handle underscore flags.
+	* warnsw.adb, warnsw.ads (Set_Underscore_Warning_Switch): Create
+	new procedure to handle underscores.
+
+2017-09-08  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Op_Divide): Reordering code that handles
+	divisions with fixed point results to avoid generating twice
+	the runtime check on divide by zero.
+	* checks.adb (Apply_Divide_Checks): Ensure that operands are
+	not evaluated twice (once for their runtime checks and once for
+	their regular computation).
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Part_Of): Add missing
+	return statements after issuing errors.  Add detection of
+	out-of-order item and single concurrent type.
+
+2017-09-08  Nicolas Roche  <roche@adacore.com>
+
+	* gcc-interface/Makefile.in, a-extiti.ads, s-taprop-linux.adb,
+	s-osinte-solaris.adb, a-intnam.ads, s-osinte-solaris.ads,
+	s-tpobop.adb, s-intman-android.adb, s-tasinf.adb, s-tpobop.ads,
+	s-tasinf.ads, i-vxinco.adb, a-exetim-posix.adb, i-vxinco.ads,
+	a-astaco.adb, a-astaco.ads, s-tporft.adb, s-tpoaal.adb, a-taside.adb,
+	a-taside.ads, s-tpopsp-posix.adb, s-tasdeb.adb, s-tasdeb.ads,
+	s-tpoben.adb, a-dinopr.ads, s-inmaop-vxworks.adb, s-tpoben.ads,
+	s-interr-vxworks.adb, s-interr-dummy.adb, s-tassta.adb,
+	a-intnam-mingw.ads, s-tassta.ads, s-taasde.adb, a-stcoed.ads,
+	s-taasde.ads, s-osinte-darwin.adb, s-proinf.adb, s-taprop-dummy.adb,
+	s-osinte-darwin.ads, s-proinf.ads, s-linux.ads, a-intnam-linux.ads,
+	s-tasren.adb, s-tasren.ads, s-mudido.adb, g-semaph.adb, s-mudido.ads,
+	s-taprop-posix.adb, g-semaph.ads, s-osinte-mingw.ads, s-vxwork-x86.ads,
+	s-tposen.adb, s-linux-sparc.ads, s-taprop-vxworks.adb, s-tasini.adb,
+	s-tposen.ads, s-tasini.ads, a-etgrbu.ads, s-interr-hwint.adb,
+	s-osinte-linux.ads, s-taprop.ads, s-tasque.adb, s-tasque.ads,
+	s-taenca.adb, s-taspri-vxworks.ads, s-taenca.ads, a-dynpri.adb,
+	s-tpopsp-solaris.adb, a-dynpri.ads, s-taprop-hpux-dce.adb,
+	a-interr.adb, a-intnam-freebsd.ads, s-tarest.adb, a-interr.ads,
+	s-intman-susv3.adb, a-synbar.adb, a-intnam-dummy.ads, s-tadeca.adb,
+	s-osinte-vxworks.adb, s-tarest.ads, s-taskin.adb, a-synbar.ads,
+	s-taspri-hpux-dce.ads, s-tadeca.ads, s-osinte-vxworks.ads,
+	s-taskin.ads, s-intman-solaris.adb, a-sytaco.adb, s-vxwext-kernel.adb,
+	s-mudido-affinity.adb, a-sytaco.ads, s-vxwext-kernel.ads, s-taprob.adb,
+	s-intman-mingw.adb, s-taprob.ads, s-osinte-kfreebsd-gnu.ads,
+	s-osinte-dummy.ads, s-osinte-gnu.adb, s-osinte-rtems.adb, s-interr.adb,
+	s-inmaop.ads, s-vxwext-rtp.adb, s-osinte-gnu.ads, s-osinte-rtems.ads,
+	a-synbar-posix.adb, s-interr.ads, s-taspri-posix-noaltstack.ads,
+	s-vxwext-rtp.ads, a-synbar-posix.ads, a-extiin.ads, s-osinte-posix.adb,
+	s-tpinop.adb, s-tasres.ads, s-tpinop.ads, a-disedf.ads, a-diroro.ads,
+	s-linux-alpha.ads, a-tasatt.adb, s-solita.adb, a-intnam-solaris.ads,
+	a-tasatt.ads, s-solita.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
+	s-vxwork-arm.ads, s-tpopsp-posix-foreign.adb, s-intman-dummy.adb,
+	s-intman.ads, s-stusta.adb, s-stusta.ads, s-intman-posix.adb,
+	s-tpopsp-vxworks.adb, s-inmaop-dummy.adb, s-taspri-mingw.ads,
+	a-intnam-darwin.ads, s-osinte-aix.adb, s-osinte-dragonfly.adb,
+	s-osinte-aix.ads, s-tasinf-mingw.adb, s-osinte-dragonfly.ads,
+	s-linux-hppa.ads, s-osinte-x32.adb, s-inmaop-posix.adb,
+	s-tasinf-mingw.ads, s-intman-vxworks.adb, s-linux-mips.ads,
+	s-intman-vxworks.ads, s-osinte-android.adb, s-tasinf-linux.adb,
+	s-osinte-android.ads, s-vxwork-ppc.ads, s-tasinf-linux.ads,
+	a-dispat.adb, a-dispat.ads, s-tadert.adb, g-thread.adb, s-tadert.ads,
+	g-thread.ads, a-intnam-hpux.ads, s-linux-android.ads, s-tataat.adb,
+	a-exetim.ads, s-tataat.ads, a-reatim.adb, a-reatim.ads, thread.c,
+	g-boubuf.adb, s-osinte-freebsd.adb, g-boubuf.ads, s-osinte-freebsd.ads,
+	s-tasuti.adb, s-taspri-dummy.ads, a-exetim-mingw.adb, s-linux-x32.ads,
+	s-tasuti.ads, g-signal.adb, a-exetim-mingw.ads, s-interr-sigaction.adb,
+	g-signal.ads, s-osinte-hpux.ads, a-intnam-vxworks.ads,
+	s-osinte-hpux-dce.adb, s-taspri-posix.ads, s-osinte-hpux-dce.ads,
+	s-tasinf-vxworks.ads, g-tastus.ads, s-tpopsp-tls.adb,
+	s-taprop-solaris.adb, a-retide.adb, a-exetim-darwin.adb, a-retide.ads,
+	s-vxwext.adb, s-vxwext.ads, a-rttiev.adb, a-rttiev.ads, g-boumai.ads,
+	a-exetim-default.ads, s-taprop-mingw.adb, s-taspri-solaris.ads,
+	a-intnam-aix.ads: Move libgnarl sources to libgnarl subdir.
+
+2017-09-08  Arnaud Charlet <charlet@adacore.com>
+
+	* doc/share/conf.py, doc/share/latex_elements.py,
+	doc/share/ada_pygments.py, doc/Makefile: Improve support for Ada
+	highlighting.
+
+2017-09-08  Arnaud Charlet <charlet@adacore.com>
+
+	* gnat_rm.texi, gnat_ugn.texi,
+	doc/gnat_ugn/the_gnat_compilation_model.rst,
+	doc/gnat_ugn/getting_started_with_gnat.rst,
+	doc/gnat_ugn/inline_assembler.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/example_of_binder_output.rst,
+	doc/gnat_ugn/gnat_and_program_execution.rst,
+	doc/gnat_ugn/gnat_utility_programs.rst,
+	doc/gnat_rm/implementation_of_specific_ada_features.rst,
+	doc/gnat_rm/interfacing_to_other_languages.rst,
+	doc/gnat_rm/implementation_defined_aspects.rst,
+	doc/gnat_rm/intrinsic_subprograms.rst,
+	doc/gnat_rm/implementation_defined_characteristics.rst,
+	doc/gnat_rm/implementation_advice.rst,
+	doc/gnat_rm/implementation_defined_attributes.rst,
+	doc/gnat_rm/compatibility_and_porting_guide.rst,
+	doc/gnat_rm/standard_library_routines.rst,
+	doc/gnat_rm/the_gnat_library.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_rm/obsolescent_features.rst,
+	doc/gnat_rm/about_this_guide.rst,
+	doc/gnat_rm/the_implementation_of_standard_i_o.rst,
+	doc/gnat_rm/implementation_of_ada_2012_features.rst,
+	doc/gnat_ugn.rst,
+	doc/gnat_rm.rst: Update documentation.
+
+2017-09-08  Arnaud Charlet <charlet@adacore.com>
+
+	* s-dwalin.ads, s-dwalin.adb, s-trasym-dwarf.adb, s-objrea.ads,
+	s-objrea.adb, s-tsmona-linux.adb, s-tsmona-mingw.adb: New.
+	* gcc-interface/Makefile.in: Enable s-trasym-dwarf.adb on x86*linux.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* s-ststop.ads, s-ststop.adb, rtsfind.ads (String_Input_Tag):
+	New routine to read the Tag robustly.
+	* exp_attr.adb (Input): Change the expansion of 'Input,
+	in the class-wide case, to call String_Input_Tag instead of
+	String_Input_Blk_IO.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* s-rident.ads (Restriction_Id): reorder enum
+	literals, so that Pure_Barriers is no longer in range of the
+	Cunit_Boolean_Restrictions subtype.
+
+2017-09-08  Nicolas Roche  <roche@adacore.com>
+
+	* a-taster.ads, a-taster.adb: Move to libgnarl
+	* gcc-interface/Makefile.in: Remove obsolete targets. Code cleanups.
+	Add support for files in libgnarl.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Type_Conversion): Do not apply
+	accessibility check to an interface conversion, whose purpose
+	is to perform a pointer adjustment in a dispatching call.
+	* exp_ch6.adb (Expand_Call_JHelper): Add accessibility checks
+	when the actual is a construct that involves a dereference of an
+	expression that includes a formal of the enclosing subprogram,
+	In such cases, the accessibility level of the actual is that of
+	the corresponding formal, which is passed in as an additional
+	actual in the outer call.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* exp_intr.adb (Add_Source_Info): Do not decode
+	file names; they were not encoded in the first place.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* a-tags.adb (Internal_Tag): Unsuppress checks, so we get
+	exceptions instead of crashes. Check for absurdly long strings
+	and empty strings. Empty strings cause trouble because they can
+	have super-null ranges (e.g. 100..10), which causes Ext_Copy to
+	be empty, which causes an array index out of bounds.
+	* s-ststop.adb (Input): Unsuppress checks, so we get exceptions
+	instead of crashes.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Is_CCT_Instance): allow use in
+	the context of protected types.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-tigeli.adb: minor remove extra whitespace.
+
+2017-09-08  Gary Dismukes  <dismukes@adacore.com>
+
+	* par-ch4.adb: Reformatting of an error message.
+
+2017-09-08  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch3.adb (Resolve_Name): Under ASIS mode analyze overloaded
+	identifiers to ensure their correct decoration of names on
+	aspect expressions.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* exp_attr.adb (Expand_Loop_Entry_Attribute): Do
+	not skip a loop coming from source which is rewritten into a loop.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Wrap_Imported_Subprogram): Indicate that the
+	wrapper has convention Ada, to prevent spurious warnings on
+	unconstrained array parameters.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_prag.adb (Check_Variant): Use First_Non_Pragma/Next_Non_Pragma.
+	(Analyze_Pragma) <Pragma_Unchecked_Union>: Likewise.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch6.adb (Freeze_Expr_Types): Rename Spec_Id into Def_Id.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_intr.adb (Append_Entity_Name): Move to ...
+	* sem_util.ads, sem_util.adb: ... here to share it.
+	(Subprogram_Name): New subprogram, to compute the name of the enclosing
+	subprogram/entity.
+	* errutil.adb (Error_Msg): Fill new field Node.
+	* erroutc.ads (Subprogram_Name_Ptr): New.
+	(Error_Msg_Object): New field Node.
+	* erroutc.adb (dmsg, Output_Msg_Text): Take new field Node into account.
+	* errout.adb (Error_Msg): New variant with node id parameter.
+	Fill new parameter Node when emitting messages. Revert previous
+	changes for Include_Subprogram_In_Messages.
+	* sem_ch5.adb (Check_Unreachable_Code): Supply Node parameter when
+	generating warning message.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* par-ch4.adb (P_Iterated_Component_Association): Place construct
+	under -gnat2020 flag, given that it is a future feature of
+	the language.
+	* sem_aggr.adb (Resolve_Iterated_Component_Association): Mark
+	defining identifier as referenced to prevent spurious warnings:
+	corresponding loop is expanded into one or more loops whose
+	variable has the same name, and the expression uses those names
+	and not the original one.
+
+2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Check_A_Call): Do not consider
+	references to internal variables for SPARK semantics.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* inline.adb (In_Package_Spec): refine type of
+	the parameter from Node_Id to Entity_Id.
+
+2017-09-08  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch5.adb (Expand_Formal_Container_Loop):
+	Reset the scope of the loop parameter after it is reanalyzed.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_util.ads (Set_Rep_Info): New inline procedure.
+	* sem_util.adb (Set_Rep_Info): Implement it.
+	* sem_ch3.adb (Process_Subtype): If the case of a constraint present,
+	always copy the representation aspects onto the subtype.
+
+2017-09-08  Georges-Alex Jaloyan  <jaloyan@adacore.com>
+
+	* g-dynhta.adb, g-dynhta.ads (Get_First_Key, Get_Next_key):
+	Correction of the return type from access type to option type.
+	(Simple_HTable): Moving the Instance_Data to ads file.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb: Use System.Case_Util.To_Lower to simplify code.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* opt.ads (Include_Subprogram_In_Messages): New variable.
+	* errout.ads (Current_Subprogram_Ptr): New variable.
+	* errout.adb (Error_Msg): Prepend current subprogram info
+	in messages if Include_Subprogram_In_Messages is set.
+	* sem_util.adb (elab code): Initialize Current_Subprogram_Ptr to
+	Current_Subprogram.
+	* gnat1drv.adb (Adjust_Global_Switches): Set
+	Include_Subprogram_In_Messages when -gnatdJ is set.
+	* debug.adb: Document and reserve -gnatdJ.
+
+2017-09-08  Georges-Axel Jaloyan  <jaloyan@adacore.com>
+
+	* g-dynhta.adb, g-dynhta.ads (Get_First_Key, Get_Next_Key): New
+	functions to iterate over simple hastables.
+	(Load_Factor_HTable): Remove obsolete and inefficient implementation.
+
+2017-09-08  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch6.adb (Unqual_BIP_Function_Call): Adding
+	missing checks on the presence of Entity() before checking the
+	entity attributes.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Reorder some
+	statements, use local variable and remove unnecessary processing.
+
+2017-09-08  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch6.ads (Make_Build_In_Place_Iface_Call_In_Allocator): New
+	subprogram.
+	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context): New subprogram.
+	(Make_Build_In_Place_Iface_Call_In_Object_Declaration): New
+	subprogram.
+	(Unqual_BIP_Iface_Function_Call): New subprogram.
+	* exp_ch6.adb (Replace_Renaming_Declaration_Id): New
+	subprogram containing code that was previously inside
+	Make_Build_In_Place_Call_In_Object_Declaration since it is also
+	required for one of the new subprograms.
+	(Expand_Actuals):
+	Invoke Make_Build_In_Place_Iface_Call_In_Anonymous_Context
+	(Expand_N_Extended_Return_Statement): Extend the
+	cases covered by an assertion on expected BIP object
+	declarations.
+	(Make_Build_In_Place_Call_In_Assignment):
+	Removing unused code; found working on this ticket.
+	(Make_Build_In_Place_Call_In_Object_Declaration): Move the code
+	that replaces the internal name of the renaming declaration
+	into the new subprogram Replace_Renaming_Declaration_Id.
+	(Make_Build_In_Place_Iface_Call_In_Allocator): New subprogram.
+	(Make_Build_In_Place_Iface_Call_In_Anonymous_Context):
+	New subprogram.
+	(Make_Build_In_Place_Iface_Call_In_Object_Declaration): New
+	subprogram.
+	(Unqual_BIP_Iface_Function_Call): New subprogram.
+	* exp_ch3.adb (Expand_N_Object_Declaration): Invoke the new
+	subprogram Make_Build_In_Place_Iface_Call_In_Object_Declaration.
+	* exp_attr.adb (Expand_N_Attribute_Reference): Invoke the new
+	subprogram Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
+	* exp_ch4.adb (Expand_Allocator_Expression): Invoke the new
+	subprogram Make_Build_In_Place_Iface_Call_In_Allocator.
+	(Expand_N_Indexed_Component): Invoke the new subprogram
+	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
+	(Expand_N_Selected_Component): Invoke the new subprogram
+	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
+	(Expand_N_Slice): Invoke the new subprogram
+	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
+	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration):
+	Invoke the new subprogram
+	Make_Build_In_Place_Iface_Call_In_Anonymous_Context.
+
+2017-09-08  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Expand_Interface_Conversion): Fix handling of
+	access to interface types.  Remove also the accessibility check.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch6.adb (Freeze_Expr_Types): Really freeze
+	all the types that are referenced by the expression.
+	(Analyze_Expression_Function): Call Freeze_Expr_Types for
+	a completion instead of manually freezing the type of the
+	expression.
+	(Analyze_Subprogram_Body_Helper): Do not call Freeze_Expr_Types here.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_prag.adb (Replace_Discriminals_Of_Protected_Op):
+	New procedure, auxiliary to Expand_Pragma_Check, to handle
+	references to the discriminants of a protected type within a
+	precondition of a protected operation. This is needed because
+	the original precondition has been analyzed in the context of
+	the protected declaration, but in the body of the operation
+	references to the discriminants have been replaved by references
+	to the discriminants of the target object, and these references
+	are only created when expanding the protected body.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Issue more precise error messages on
+	Loop_Variant.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_attr.adb (Build_Record_VS_Func): If the record is an
+	unchecked union, do not emit checks for its (non-existent)
+	discriminants, or for variant parts that depend on them.
+
+2017-09-08  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch4.adb (Find_Equality_Types.Try_One_Interp,
+	Find_Comparison_Type.Try_One_Interp): Add check for generic
+	instances.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch3.adb, layout.adb, layout.ads, exp_attr.adb, debug.adb,
+	exp_pakd.adb, sem_prag.adb, gnat1drv.adb, targparm.adb, targparm.ads,
+	repinfo.adb, exp_ch6.adb, exp_aggr.adb, sem_eval.adb, sem_ch13.adb,
+	exp_ch3.adb: Remove references to Frontend_Layout_On_Target and
+	remaining references to AAMP_On_Target.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* style.adb: Fix typo.
+
+2017-09-08  Javier Miranda  <miranda@adacore.com>
+
+	* einfo.adb (Underlying_Type): Add missing support for class-wide
+	types that come from the limited view.
+	* exp_attr.adb (Attribute_Address): Check class-wide type
+	interfaces using the underlying type to handle limited-withed
+	types.
+	(Attribute_Tag): Check class-wide type interfaces using
+	the underlying type to handle limited-withed types.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Expand_Predicated_Loop): Handle properly a loop
+	over a subtype of a type with a static predicate, taking into
+	account the predicate function of the parent type and the bounds
+	given in the loop specification.
+	* sem_ch3.adb (Inherit_Predicate_Flags): For qn Itype created for
+	a loop specification that is a subtype indication whose type mark
+	is a type with a static predicate, inherit predicate function,
+	used to build case statement for rewritten loop.
+
+2017-09-08  Justin Squirek  <squirek@adacore.com>
+
+	* lib-load.adb: Modify printing of error message to exclude file
+	line number.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode):
+	don't inline subprograms declared in both visible and private
+	parts of a package.
+	(In_Package_Spec): previously In_Package_Visible_Spec; now
+	detects subprograms declared both in visible and private parts
+	of a package spec.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Build_Invariant_Procedure_Declaration): If
+	the type is an anonymous array in an object declaration, whose
+	component type has an invariant, use the object declaration
+	as the insertion point for the invariant procedure, given that
+	there is no explicit type declaration for an anonymous array type.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* a-cbprqu.ads, a-cbdlli.adb: Suppress warnings.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* a-strfix.adb (Trim): Compute Low and High only if needed.
+
+2017-09-08  Justin Squirek  <squirek@adacore.com>
+
+	* lib-load.adb (Load_Main_Source): Add error output in the case a
+	source file is missing.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+PR ada/80888
+	* a-textio.adb, a-witeio.adb, a-ztexio.adb (Set_WCEM): Use
+	Default_WCEM by default (i.e. if the encoding is not specified
+	by the Form string).
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* s-trasym.ads (Hexa_Traceback): If
+	Suppress_Hex is True, print "..." instead of a hexadecimal
+	address.
+	* s-trasym.adb: Ignore No_Hex in this version.
+	Misc cleanup.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* debug.adb: Minor reformatting.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* a-cbdlli.adb, a-cohama.adb, a-cohase.adb (Copy): Rewrite the
+	code so it doesn't trigger an "uninit var" warning.
+
+2017-09-08  Nicolas Roche  <roche@adacore.com>
+
+	* s-hibaen.ads: Remove obsolete file.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-locale.ads: Add comment explaining the state of this package.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Is_CCT_Instance): Allow calls in the context
+	of packages.
+	* sem_prag.ads, sem_prag.adb (Find_Related_Declaration_Or_Body):
+	allow calls in the context of package spec (for pragma
+	Initializes) and bodies (for pragma Refined_State).
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Copy the Do_Range_Check flag to the
+	new Exp.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* debug.adb (dA): Adjust comment.
+	* gnat1drv.adb (Gnat1drv): Likewise.
+	* opt.ads (List_Representation_Info_Extended): New variable.
+	* repinfo.adb (List_Record_Info): Split implementation into...
+	(Compute_Max_Length): ...this.	Recurse on records if requested.
+	(List_Record_Layout): Likewise.
+	* switch-c.adb (Scan_Front_End_Switches) <'R'>: Use case
+	statement, accept '0' and set List_Representation_Info_Extended
+	on 'e'.
+	* usage.adb (Usage): Document new -gnatRe variant.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
+	Do not save the given entity in the global variable Default_Pool
+	if the pragma appears within a generic unit.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* errout.adb (Delete_Warning): Do not
+	decrement Warnings_Treated_As_Errors. This is called before
+	Warnings_Treated_As_Errors has been incremented to account for
+	this warning. Decrementing it here can lead to negative values
+	of Warnings_Treated_As_Errors, raising Constraint_Error in
+	checks-on builds, and causing the compiler to return an error
+	code in checks-off builds.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Is_CCT_Instance): Only expect
+	entities of named concurrent types as Ref_Id and not of anonymous
+	concurrent objects (because callers already know when a conversion
+	is necessary and can easily do it); also, do not expect protected
+	types or protected objects as Context_Id (because no flow-related
+	SPARK pragmas are attached there); reflect these changes in a
+	more precise comment.
+
+2017-09-08  Olivier Hainque  <hainque@adacore.com>
+
+	* g-altive.ads: Add documentation.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* sem_util.ads, debug.adb: Minor comment fix.
+	* erroutc.ads: Comment fix.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Validate_Array_Type_Instance): Suppress check
+	for compatibility of component types of formal and actual in an
+	instantiation of a child unit,	when the component type of the
+	formal is itself a formal of an enclosing generic.
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Is_CCT_Instance): moved from
+	sem_prag.adb to make it available for GNATprove; for concurrent
+	types replace custom scope climbing with Scope_Same_Or_Within; for
+	single concurrent objects add scope climbing (with Scope_Within),
+	which was not there (that's the primary semantic change of this
+	commit); also, when comparing a single concurrent object with
+	its corresponding concurrent type rely on equality of types,
+	not of objects (because that's simpler to code).
+	* sem_prag.adb (Is_CCT_Instance): lifted to sem_util.ads.
+	(Analyze_Global_Item): adjust special-casing of references to the
+	current instance of a concurrent unit in the Global contracts
+	of task types and single tasks objects; similar for references
+	in the protected operations and entries of protected types and
+	single protected objects (in all these cases the current instance
+	behaves as an implicit parameter and must not be mentioned in
+	the Global contract).
+
+2017-09-08  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch6.adb (Expand_Call_Helper): Introduce temporary for
+	function calls returning a record within a subprogram call,
+	for C generation.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch8.adb (Find_Expanded_Name): Handle properly an expanded
+	name that designates the current instance of a child unit in its
+	own body and appears as the prefix of a reference to an entity
+	local to the child unit.
+	* exp_ch6.adb, freeze.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb:
+	Minor reformatting.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Equality_Op): Do not warn on comparisons that
+	may be intentional.
+
+2017-09-08  Tristan Gingold  <gingold@adacore.com>
+
+	* sem_warn.adb (Check_Unused_Withs): Remove test that disabled
+	warnings on internal units in configurable run time mode.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* sem_ch3.adb (Build_Derived_Private_Type): Inherit
+	representation items from interfaces that the derived type
+	implements, not just from the parent type.
+	* sem_util.ads, sem_util.adb (Abstract_Interface_List): Change
+	this to return an empty list when there are no interfaces.
+	* einfo.ads, sem_ch13.adb: Minor comment fixes.
+	* sem_attr.adb: Minor comment fix.
+
+2017-09-08  Doug Rupp  <rupp@adacore.com>
+
+	* sigtramp-vxworks.c [i386]: Adjust the kernel context for
+	x86-vx7.
+
+2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Allocator): Generate a
+	call to Allocate_Any_Controlled when the allocation does not
+	require any initialization.
+
+2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Copy_Node_With_Replacement):
+	Update the Renamed_Object field of a replicated object renaming
+	declaration.
+
+2017-09-08  Patrick Bernardi  <bernardi@adacore.com>
+
+	* exp_ch9.adb (Is_Pure_Barrier): Allow type
+	conversions and components of objects. Simplified the detection
+	of the Count attribute by identifying the corresponding run-time
+	calls.
+
+2017-09-08  Yannick Moy  <moy@adacore.com>
+
+	* exp_ch9.adb, exp_disp.adb, repinfo.adb, sem_ch12.adb, sem_dim.adb,
+	sem_type.adb, sinfo.ads: Minor reformatting.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Has_Incomplete_Compoent): New predicate, subsidiary
+	of Freeze_Profile, used to inhibit the freezing of the profile
+	of an expression function declared within a nested package, when
+	some type in the profile depends on a private type declared in
+	an enclosing package.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Do not set the Force_ALI_Tree_File flag in
+	the subunit case. It's still OK to set it in the "missing subunits"
+	case, because that won't cause the obsolete .ali files that cause
+	confusion.
+
+2017-09-08  Bob Duff  <duff@adacore.com>
+
+	* sinput-l.adb: Remove unused "with Unchecked_Conversion;". It's
+	unclear why this didn't cause a warning.
+	* a-uncdea.ads, a-unccon.ads: Add "Ada." to names in the
+	pragmas. It's unclear why this didn't cause an error.
+
+2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK_N_Object_Renaming_Declaration):
+	Reimplemented.
+	(Expand_SPARK_Potential_Renaming): Code clean up.
+	* sem_prag.adb (Analyze_Initialization_Item): Add a guard in case
+	the item does not have a proper entity.
+	(Analyze_Input_Item): Add a guard in case the item does not have a
+	proper entity.
+	(Collect_States_And_Objects): Include object renamings in the
+	items being collected.
+	(Resolve_State): Update the documentation of this routine.
+	* sem_util.adb (Entity_Of): Add circuitry to handle
+	renamings of function results.
+	(Remove_Entity): New routine.
+	(Remove_Overloaded_Entity): Take advantage of factorization.
+	* sem_util.ads (Entity_Of): Update the documentation
+	of this routine.
+	(Remove_Entity): New routine.
+	(Remove_Overloaded_Entity): Update the documentation of this
+	routine.
+
+2017-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.adb (List_Record_Info): During first loop,
+	do not override the normalized position and first bit
+	if they have already been set.	Move fallback code
+	for the packed case to the case where it belongs.
+	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
+	Also adjust the normalized position of components.
+	(Adjust_Record_For_Reverse_Bit_Order_Ada_95): Likewise.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_disp.adb (Make_DT, Set_All_DT_Position): Handle properly
+	the placement of a primitive operation O that renames an operation
+	R declared in an inner package, and which is thus not a primitive
+	of the dispatching type of O. In this case O is a new primitive
+	and does not inherit its dispatch table position from R (which
+	has none).
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension_If_Expression,
+	Analyze_Dimension_Case_Expression): new subprograms to verify
+	the dimensional correctness of Ada2012 conditional expressions,
+	and set properly the dimensions of the construct.
+	* sem_res.adb (Resolve_If_Expression, Resolve_Case_Expression)):
+	call Analyze_Dimension.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_type.adb (Expand_Interface_Conversion): Prevent an infinite
+	loop on an interface declared as a private extension of another
+	synchronized interface.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Generic_Parent): New procedure within
+	Analyze_Associations, to handle actual packages that depend on
+	previous instances.  If a package IAP that is an instantiation is
+	used as an actual in a subsequent instantiation SI in the same
+	scope, and IAP has a body, IAP must be frozen before SI. If
+	the generic parent of IAP is itself declared in a previous
+	instantiation in the same scope, that instantiation must also
+	be frozen before SI.
+	(Install_Body): Prevent double insertion of freeze node for
+	instance.
+
+2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Resolve_State): Update the
+	comment on documentation. Generate a reference to the state once
+	resolution takes place.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specifications, case
+	Linker_Section): If the aspect applies to an object declaration
+	with explicit initialization, do not delay the freezing of the
+	object, to prevent access-before-elaboration in the generated
+	initialization code.
+
+2017-09-08  Ed Schonberg  <schonberg@adacore.com>
+
+	* a-wtdeio.adb (Put, all versions): Use Long_Long_Integer
+	(Integer_Value (Item)) when the size of the fixed decimal type
+	is larger than Integer.
+
+2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/82127
+	* gcc-interface/decl.c (copy_and_substitute_in_layout): Put the fields
+	in order of increasing position in more cases.
+
+2017-09-07  Yannick Moy  <moy@adacore.com>
+
+	* a-exetim-mingw.ads: Add contract Global=>null
+	on all operations that are modeled as having no read or write
+	of global variables in SPARK.
+
+2017-09-07  Raphael Amiard  <amiard@adacore.com>
+
+	* a-chtgop.adb, a-chtgop.ads (Generic_Iteration_With_Position): Added
+	to Hmaps.Generic_Ops.
+	* a-cohama.adb (Ada.Containers.Hmaps.Iterate): Pass proper position in
+	cursors.
+	* a-cihama.adb (Ada.Containers.Indefinite_Hmaps.Iterate): Pass pos in
+	cursors.
+	* a-cohase.adb (Ada.Containers.Hashed_Sets.Iterate): Pass proper
+	position in cursors.
+
+2017-09-07  Javier Miranda  <miranda@adacore.com>
+
+	* sem_elab.adb (Check_Task_Activation): Adding switch -gnatd.y to
+	allow disabling the generation of implicit pragma Elaborate_All
+	on task bodies.
+
+2017-09-07  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Make_Tags): Avoid suffix counter
+	in the external name of the elaboration flag. Required to fix
+	the regressions introduced by the initial version of this patch.
+
+2017-09-07  Bob Duff  <duff@adacore.com>
+
+	* sem_ch6.adb (Analyze_Function_Return): Do not
+	insert an explicit conversion to force the displacement of the
+	"this" pointer to reference the secondary dispatch table in the
+	case where the return statement is returning a raise expression,
+	as in "return raise ...".
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_disp.adb (Is_User_Defined_Equality): Removed procedure.
+	* sem_util.ads, sem_util.adb (Is_User_Defined_Equality): Copied
+	procedure from sem_disp.adb.
+	* sem_ch12.ads (Get_Unit_Instantiation_Node): rename Package
+	with Unit.
+	* sem_ch12.adb (Get_Unit_Instantiation_Node): function extended to
+	return the instantiation node for subprograms. Update references
+	to Get_Unit_Instantiation_Node.
+	* sem_ch7.adb (Install_Parent_Private_Declarations): update
+	reference to Get_Unit_Instantiation_Node.
+	* exp_dist.adb (Build_Package_Stubs): update reference to
+	Get_Unit_Instantiation_Node.
+	* sem_ch9.adb: minor typo in comment.
+	* lib-xref-spark_specific.adb
+	(Traverse_Declaration_Or_Statement): traverse into task type
+	definition.
+
+2017-09-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension_Type_Conversion): New procedure
+	to handle properly various cases of type conversions where the
+	target type and/or the expression carry dimension information.
+	(Dimension_System_Root); If a subtype carries dimension
+	information, obtain the source parent type that carries the
+	Dimension aspect.
+
+2017-09-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+	* g-socket.adb, g-socket.ads (GNAT.Sockets.To_Ada): New routine.
+
+2017-09-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained):
+	If the prefix is a reference to an object, rewrite it as an
+	explicit dereference, as required by 3.7.2 (2) and as is done
+	with most other attributes whose prefix is an access value.
+
+2017-09-07  Bob Duff  <duff@adacore.com>
+
+	* par-ch13.adb: Set the Inside_Depends flag if we are inside a
+	Refined_Depends aspect.
+	* par-ch2.adb: Set the Inside_Depends flag if we are inside a
+	Refined_Depends pragma.
+	* scans.ads: Fix documentation of Inside_Depends flag.
+	* styleg.adb, styleg.ads: Minor reformatting and comment fixes.
+
+2017-09-07  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Insert_Actions_In_Scope_Around):
+	Account for the case where the are no lists to insert, but the
+	secondary stack still requires management.
+	* a-chtgop.adb, a-cihama.adb, a-cohama.adb, a-cohase.adb, a-tags.adb,
+	comperr.adb, einfo.adb, exp_aggr.adb, exp_ch3.adb, exp_disp.adb,
+	lib-xref.adb, lib-xref-spark_specific.adb, sem_ch12.adb, sem_ch13.adb,
+	sem_ch6.adb, sem_dim.adb, sem_dim.ads, sem_elab.adb, sem_prag.adb:
+	Minor reformatting.
+
+2017-09-07  Vincent Celier  <celier@adacore.com>
+
+	* clean.adb: Do not get the target parameters before calling
+	gprclean.
+
+2017-09-07  Nicolas Roche  <roche@adacore.com>
+
+	* s-osinte-solaris-posix.ads: Removed.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb (Collect_States_And_Objects): Detect also instances of
+	single concurrent objects.
+
+2017-09-07  Javier Miranda  <miranda@adacore.com>
+
+	* s-regexp.ads: Fix documentation of the globbing grammar.
+
+2017-09-07  Gary Dismukes  <dismukes@adacore.com>
+
+	* a-tags.ads, einfo.ads, exp_disp.ads: Minor reformatting.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Enable pragma Ignore_Pragma (Global)
+	in CodePeer mode, to support more legacy code automatically.
+
+2017-09-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_disp.adb (Replace_Formals): If thr formal is classwide,
+	and thus not a controlling argument, preserve its type after
+	rewriting because it may appear in an nested call with a classwide
+	parameter.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* comperr.adb (Delete_SCIL_Files): Handle case of
+	N_Package_Instantiation.
+
+2017-09-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch10.adb (Remove_Private_With_Clause): If a private with
+	clause for a unit U appears in a context that includes a regular
+	with_clause on U, rewrite the redundant private clause into a null
+	statement, rather than removing it altogether from the context,
+	so that ASIS tools can reconstruct the original source.
+
+2017-09-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Check_Aspect_At_Freeze_Point): The expression
+	for aspect Small can be of any real type (not only a universal
+	real literal) as long as it is a static constant.
+
+2017-09-07  Thomas Quinot  <quinot@adacore.com>
+
+	* par_sco.adb: Minor reformatting.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* s-parame-ae653.ads: Removed.
+
+2017-09-07  Nicolas Roche  <roche@adacore.com>
+
+	* s-traces-default.adb, s-trafor-default.adb, s-trafor-default.ads,
+	s-traces.adb, s-traces.ads, s-tratas-default.adb, s-tfsetr-default.adb,
+	s-tfsetr-vxworks.adb, s-tratas.adb, s-tratas.ads, s-tasuti.adb,
+	s-parame-hpux.ads, s-tassta.adb, s-taasde.adb, s-tasren.adb,
+	s-taprob.adb, a-caldel.adb, s-parame.ads, Makefile.rtl, s-tpobop.adb,
+	s-taenca.adb, s-parame-vxworks.ads: Remove support for System.Traces.
+
+2017-09-07  Yannick Moy  <moy@adacore.com>
+
+	* a-ngelfu.ads Add preconditions to all functions
+	listed in Ada RM A.5.1(19-33) as having constraints on inputs.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-xref.adb (Generate_Reference): ignore
+	references to entities which are Part_Of single concurrent
+	objects.
+
+2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb (Hide_Public_Entities): Add paragraph to main
+	comment.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-taside.adb (Activation_Is_Complete): Raise Program_Error if
+	Null_Task_Id is passed.
+
+2017-09-07  Javier Miranda  <miranda@adacore.com>
+
+	* einfo.ads, einfo.adb (Access_Disp_Table_Elab_Flag): New
+	attribute. Defined for record types and subtypes.
+	* exp_ch3.ads (Init_Secondary_Tags): Adding new formal
+	(Init_Tags_List) to facilitate generating separate code in the
+	IP routine to initialize the object components and for completing
+	the elaboration of dispatch tables.
+	* exp_ch3.adb (Build_Init_Procedure): Improve the code
+	generated in the IP routines by means of keeping separate
+	the initialization of the object components from the
+	initialization of its dispatch tables.	(Init_Secondary_Tags):
+	Adding new formal (Init_Tags_List) and adjusting calls to
+	Ada.Tags.Set_Dynamic_Offset_To_Top since it has a new formal;
+	adjusting also calls to Ada.Tags.Register_Interface_Offset
+	because the type of one of its formals has been changed.
+	* a-tags.ads, a-tags.adb (Register_Interface_Offset): Profile
+	modified. Instead of receiving a pointer to an object this
+	routine receives now a primary tag.
+	(Set_Dyanic_Offset_To_Top): Profile modified. This routine receives an
+	additional formal: the tag of the primary dispatch table.
+	* exp_disp.ads (Elab_Flag_Needed): New subprogram.
+	* exp_disp.adb (Elab_Flag_Needed): New subprogram.
+	(Make_Tags): Adding the declaration of the elaboration flag (if needed).
+	* exp_aggr.adb (Build_Record_Aggr_Code): Adding actual of new
+	formal in calls to Init_Secondary_Tags.
+
+2017-09-07  Javier Miranda  <miranda@adacore.com>
+
+	* ghost.adb (Mark_And_Set_Ghost_Instantiation.Check_Ghost_Actuals): New
+	subprogram.
+	* sem_prag.adb (Pragma_Ghost): Add missing support for ghost
+	applied to generic subprograms.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Check_Part_Of_Reference): rename Conc_Typ to Conc_Obj
+	(because it refers to the anonymous concurrent object, not its type);
+	fix condition for emitting error message about task/protected type,
+
+2017-09-07  Bob Duff  <duff@adacore.com>
+
+	* binde.adb (Debug_Flag_Old): If both -do and -dp
+	are specified, behave as if just -do was specified, rather than
+	using a mixture.
+
+2017-09-07  Nicolas Roche  <roche@adacore.com>
+
+	* system-vxworks-sparcv9.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
+	system-vxworks-m68k.ads, system-vxworks-mips.ads: Removed.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb (Find_Role): The Global_Seen flag
+	is now consulted not only for abstract states and variables,
+	but for all kinds of items.
+	(Collect_Subprogram_Inputs_Outputs): Do not process formal
+	generic parameters, because unlike ordinary formal parameters,
+	generic formals only act as input/ outputs if they are explicitly
+	mentioned in a Global contract.
+
+2017-09-07  Yannick Moy  <moy@adacore.com>
+
+	* ghost.adb (Check_Ghost_Context): Do not err on ghost code inside
+	predicate procedure. Check predicate pragma/aspect with Ghost entity.
+	* exp_ch6.adb, par-ch6.adb, sem_ch13.adb, sem_prag.adb; Minor
+	reformatting.
+
+2017-09-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb: Move New_Copy_Tree_And_Dimensions to sem_dim
+	(code cleanup);
+	* sem_ch3.adb (Build_Derived_Record_Type):i Call
+	Copy_Dimensions_Of_Components after creating the copy of the
+	record declaration.
+	* sem_dim.ads, sem_dim.adb (Copy_Dimensions_Of_Components): For a
+	derived recor type, copy the dikensions if any of each component
+	of the parent record to the corresponding component declarations
+	of the derived record. These expressions are used among other
+	things as default values in aggregates with box associations.
+	* a-dirval-mingw.adb, g-cgi.adb, gnatcmd.adb, lib-xref.adb,
+	repinfo.adb, sem_attr.adb, sem_ch10.adb, sem_ch6.adb, sem_prag.adb:
+	Minor reformatting.
+
+2017-09-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb: Remove extra space after THEN.
+
+2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb (Has_Referencer): For a subprogram renaming,
+	also mark the renamed subprogram as referenced.
+
+2017-09-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* par-ch6.adb (P_Subprogram): Improve error message on null
+	procedure with misplaced aspect specification, which the parser
+	first attempts to interpret as a malformed expression function.
+
+2017-09-07  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute_Old_Result):
+	Allow attributes Result and Old in the case of an expression
+	function.
+
+2017-09-07  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Propagate
+	Volatile to subcomponents.
+
+2017-09-07  Bob Duff  <duff@adacore.com>
+
+	* exp_ch7.adb (Find_Last_Init): Check for the
+	case where a build-in-place function call has been replaced by a
+	'Reference attribute reference.
+
+2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb (Has_Referencer): Recurse on Actions of freeze
+	nodes.
+
+2017-09-07  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration,
+	Make_Build_In_Place_Call_In_Anonymous_Context): Do not use the
+	secondary stack for all functions that return limited tagged
+	types -- just do it for dispatching calls.  Misc cleanup.
+	* sem_util.ads, sem_util.adb (Unqual_Conv): New function to
+	remove qualifications and type conversions. Fix various bugs
+	where only a single level of qualification or conversion was
+	removed, so e.g. "T1'(T2'(X))" would incorrectly return "T2'(X)"
+	instead of "X".
+	* checks.adb, exp_util.ads, exp_util.adb, sem_res.adb: Misc related
+	cleanup.
+
+2017-09-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (setr_Actual_Subtypes): Within a predicate function
+	do not create actual subtypes that may generate further predicate
+	functions.
+	* sem_ch13.adb (Build_Predicate_Functions): Indicate that entity
+	of body is a predicate function as well.
+	(Resolve_Aspect_Expressions, Resolve_Name): For a component
+	association, only the expression needs resolution, not the name.
+	(Resolve_Aspect_Expressions, case Predicates): Construct and
+	analyze the predicate function declaration in the scope of the
+	type, before making the type and its discriminants visible.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (warn_on_field_placement): Issue the warning
+	only if the record type itself comes from source.
+
+2017-09-06  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch5.adb: Minor reformatting and a typo fix
+
+2017-09-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* sinput-l.ads: minor remove extra period at the end of comment
+
+2017-09-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb (Add_Item_To_Name_Buffer): remove support for
+	E_Discriminant.
+	(Find_Role): remove support for E_Discriminant.
+
+2017-09-06  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch6.adb (Expand_Simple_Function_Return):
+	Add missing implicit type conversion to force displacement of the
+	"this" pointer.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, sem_aux.adb, sem_res.adb: Minor reformatting.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch12.adb (Analyze_Instance_And_Renamings): Refactor to set
+	global variable Ignore_SPARK_Mode_Pragmas_In_Instance only once.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* sem_ch8.adb: Change Assert to be consistent with
+	other similar ones.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* binde.adb (Find_Elab_Order): Do not run Elab_Old unless
+	requested. Previously, the -do switch meant "run Elab_New and
+	Elab_Old and use the order chosen by Elab_Old, possibly with
+	debugging printouts comparing the two orders."	Now it means
+	"do not run Elab_New." This is of use if there are bugs that
+	cause Elab_New to crash.
+	(Elab_Position, Num_Chosen): Change type to Nat, to avoid various
+	type conversions.
+	* ali.ads (Elab_Position): Change type to Nat, to avoid various
+	type conversions.
+
+2017-09-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Fix
+	reference to SPARK RM.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* layout.adb: Use SSU short hand consistently throughout the file.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Freeze_Record_Type)
+	<Sized_Component_Total_Round_RM_Size>: New local variable to
+	accumulate the rounded RM_Size of components.  Update it for
+	every component whose RM_Size is statically known.  Add missing
+	guard to check that bit packing is really required before issuing
+	the error about packing.  Swap condition for clarity's sake.
+	* sem_prag.adb (Usage_Error): Fix reference to SPARK RM in comment.
+
+2017-09-06  Fedor Rybin  <frybin@adacore.com>
+
+	* makeutl.adb, makeutl.ads, mlib.adb, mlib.ads, mlib-fil.adb,
+	mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads,
+	mlib-tgt-specific.adb, mlib-tgt-specific.ads,
+	mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
+	mlib-tgt-specific-hpux.adb, mlib-tgt-specific-linux.adb,
+	mlib-tgt-specific-mingw.adb, mlib-tgt-specific-solaris.adb,
+	mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb, mlib-utl.adb,
+	mlib-utl.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
+	prj-attr-pm.adb, prj-attr-pm.ads, prj-com.ads, prj-conf.adb,
+	prj-conf.ads, prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
+	prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb,
+	prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
+	prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb,
+	prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+	prj-util.adb, prj-util.ads, sinput-p.adb, sinput-p.ads: Remove obsolete
+	project manager sources.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Assigment): If the left-hand side is an
+	entity of a mutable type and the right-hand side is a conditional
+	expression, resolve the alternatives of the conditional using
+	the base type of the target entity, because the alternatives
+	may have distinct subtypes. This is particularly relevant if
+	the alternatives are aggregates.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* checks.adb (Apply_Predicate_Check): If the expression is an
+	aggregate that is the RHS of an assignment, apply the check to
+	the LHS after the assignment, rather than to the aggregate. This
+	is more efficient than creating a temporary for the aggregate,
+	and prevents back-end crashes when the aggregate includes a
+	dynamic "others' association.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch12.adb (Analyze_Instance_And_Renamings):
+	Set variable to ignore SPARK_Mode in instance before the analysis
+	of the generated package declaration.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Do not issue a
+	message for calls inside expression function, unless body was
+	seen and is candidate for inlining.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aux.adb (Is_Generic_Formal): Handle properly formal packages.
+	* sem_ch3.adb (Analyze_Declarations): In a generic subprogram
+	body. do not freeze the formals of the generic unit.
+
+2017-09-06  Gary Dismukes  <dismukes@adacore.com>
+
+	* errout.adb (Error_Msg): Separate the
+	treatment for warning vs. style messages in inlinings and
+	instantiations. Prevents blowups on calls to Warn_Insertion for
+	style messages, which should not be called in that case because
+	Warning_Msg_Char is not set.
+
+2017-09-06  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Check_VFA_Conflicts): Created
+	to group all Volatile_Full_Access checks relating to other
+	representation pragmas (Mark_Component_Or_Object): Created
+	to centeralize the flagging of attributes for the record type
+	component case, a pragma applied individually to a component, and
+	the object case.
+	(Process_Atomic_Independent_Shared_Volatile):
+	Add propagation of certain pragmas to record components and move
+	evaluation of VFA checks
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram):
+	Do not warn on conditions that are not obeyed for Inline_Always
+	subprograms, when assertions are not enabled.
+
+2017-09-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Unique_Entity): For abstract states return their
+	non-limited view.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* sem_ch12.adb (Copy_Generic_Node): When we copy a node
+	that is a proper body corresponding to a stub, we defer the
+	adjustment of the sloc until after the correct adjustment has
+	been computed. Otherwise, Adjust_Instantiation_Sloc will ignore
+	the adjustment, because it will be outside the range in (the old,
+	incorrect) S_Adjustment.
+	* inline.adb: Use named notation for readability and uniformity.
+	* sinput-l.adb: Minor improvements to debugging output printed
+	for Debug_Flag_L.
+	* sinput-l.ads (Create_Instantiation_Source): Minor comment
+	correction.
+
+2017-09-06  Vincent Celier  <celier@adacore.com>
+
+	* make.adb: Do not invoke gprbuild for -bargs -P.
+
+2017-09-06  Sylvain Dailler  <dailler@adacore.com>
+
+	* sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Adding a
+	case when Op is of kind N_Qualified_Expression. In this case,
+	the function is called recursively on the subexpression like in
+	other cases.
+	* make.adb: Minor reformatting
+
+2017-09-06  Justin Squirek  <squirek@adacore.com>
+
+	* einfo.adb (Set_Linker_Section_Pragma): Modify
+	Set_Linker_Section_Pragma to be consistant with the "getter"
+	Linker_Section_Pragma.
+	* exp_ch5.adb (Expand_Formal_Container_Loop): Add proper error
+	checking for container loops so that the index cursor is not
+	directly changable by the user with the use of E_Loop_Parameter.
+	* sem_ch5.adb (Analyze_Block_Statement): Revert previous change.
+	* sem_warn.adb (Check_References): Revert previous change.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* exp_util.adb (Is_Displace_Call): Make sure it works for indirect
+	calls and the like.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Depends_Global): Reinforce test on object
+	declarations to only consider valid uses of Global/Depends those on
+	single concurrent objects.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch13.adb (Check_Record_Representation_Clause): Give an
+	error as soon as one of the specified components overlaps the
+	parent field.
+
+2017-09-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.ads: minor fix typo in comment.
+
+2017-09-06  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch5.adb (Analyze_Block_Statement): Verify a block comes
+	from source before checking source references.
+	* sem_warn.adb (Check_References): Add check for internal block
+	before recursing.
+
+2017-09-06  Vincent Celier  <celier@adacore.com>
+
+	* make.adb, makeusg.adb, switch-m.adb, switch-m.ads, make_util.adb,
+	make_util.ads, sinput.adb, sinput.ads, clean.adb, gnatls.adb,
+	gnatname.adb: Remove the Project Manager from the GNAT tools.
+	* gcc-interface/Makefile.in: ditto.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* sem_util.ads: Minor comment fix.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Associations, case of Formal_Package):
+	Generate a freeze node for the actual of a formal package, if
+	the actual is declared in the same unit and has a corresponding
+	body, to prevent the current instance from being frozen before
+	the actual is.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb (Entity_Table_Size): Change to nearest prime number.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_warn.adb: Minor refactoring.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb (Get_Classwwide_Pragma): New utility,
+	to retrieve the inherited classwide precondition/postcondition
+	of a subprogram.
+	* freeze.adb (Freeze_Entity): Use Get_Classwide_Pragma when
+	freezing a subprogram, to complete the generation of the
+	corresponding checking code.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Is_Controlled_Indexing): New routine.
+	(Is_Displace_Call): Use routine Strip to remove indirections.
+	(Is_Displacement_Of_Object_Or_Function_Result): Code clean up. Add a
+	missing case of controlled generalized indexing.
+	(Is_Source_Object): Use routine Strip to remove indirections.
+	(Strip): New routine.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* sysdep.c (__gnat_has_cap_sys_nice): If HAVE_CAPABILITY is defined,
+	we include the proper header. Otherwise, we just declare the necessary
+	things from the capabilities library. This is so we can build on
+	machines without that library, while still enabling that library.
+	At run time, we're using weak symbols, so __gnat_has_cap_sys_nice will
+	simply return 0 if the library is not present, or not included
+	in the link.
+
+2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* exp_dbug.adb (Debug_Renaming_Declaration): Do not create an encoding
+	for renamings that involve function calls in prefix form.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* sem_ch3.adb (Analyze_Subtype_Declaration):
+	Set Has_Delayed_Freeze on a subtype of an incomplete type.
+
+2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* par_sco.adb (Extend_Statement_Sequence): When the accept statement
+	has no parameter specification and no entry index, use the entry name
+	as the end of the generated SCO statement.
+
+2017-09-06  Steve Baird  <baird@adacore.com>
+
+	* exp_util.adb (Side_Effect_Free): For CodePeer (only) treat
+	uses of 'Image and related attributes as having side effects in
+	order to avoid replicating such uses.
+	* pprint.ads (Expression_Image) Add new generic formal flag
+	Hide_Temp_Derefs.  The flag defaults to False; CodePeer will
+	(eventually) override the default.
+	* pprint.adb (Expression_Image) If the new flag is set, then
+	suppress the ".all" suffix when displaying a dereference whose
+	prefix is a use of a value-capturing compiler temp of the sort
+	generated by Expr_Util.Remove_Side_Effects .
+	* exp_attr.adb, g-catiio.adb, inline.adb, sem_attr.adb, sem_ch13.adb,
+	sem_ch7.adb, sem_dim.adb, sem_util.adb, sem_util.ads, sem_warn.adb:
+	Minor reformatting.
+	* inline.adb: Minor wording change.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb: Update comment.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* einfo.adb, einfo.ads (Is_Subprogram_Or_Entry): New predicate.
+	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Use new function.
+	* sem_util.adb, sem_util.ads (Within_Protected_Type): Renaming
+	with slight modification from Is_Subp_Or_Entry_Inside_Protected,
+	so that applies to any entity.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch3.adb (Derived_Type_Declaration): Use
+	Incomplete_Or_Partial_View rather than local Find_Partial_View.
+
+2017-09-06  Javier Miranda  <miranda@adacore.com>
+
+	* g-catiio.ads, g-catiio.adb (Value): Extended to parse an UTC time
+	following ISO-8861.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension): In an instance, a type
+	conversion takes its dimensions from the expression, not from
+	the context type.
+	(Dimensions_Of_Operand): Ditto.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Call_Helper): Do not optimize calls to
+	null procedures when GNAT coverage is used, so that their (empty)
+	bodies are properly covered.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* sem_ch13.adb (Resolve_Aspect_Expressions): If
+	the entity is a type with discriminants, make the discriminants
+	directly visible in aspect clauses.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Arithmentic_Op): If both operands are
+	Universal_Real and the context is a floating-point type, resolve
+	both operands to the target type.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* a-comlin.adb, exp_aggr.adb, exp_ch6.adb, frontend.adb, gnatbind.adb,
+	sem_ch3.adb, sem_util.adb: Minor reformatting.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* freeze.adb (Check_Inherited_Conditions): Rewriting
+	of inherited preconditions and postconditions should only occur
+	in GNATprove mode, that is, when GNATprove_Mode is True, not to
+	be confused with SPARK_Mode being On.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_warn.adb (Check_References): Take into
+	account possibility of attribute reference as original node.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference): Protect against invalid
+	use of attribute.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* inline.adb (Split_Unconstrained_Function): Also set Is_Inlined
+	on the procedure created to encapsulate the body.
+	* sem_ch7.adb: Add with clause for GNAT.HTable.
+	(Entity_Table_Size): New constant.
+	(Entity_Hash): New function.
+	(Subprogram_Table): New instantiation of GNAT.Htable.Simple_HTable.
+	(Is_Subprogram_Ref): Rename into...
+	(Scan_Subprogram_Ref): ...this. Record references to subprograms in
+	the table instead of bailing out on them. Scan the value of constants
+	if it is not known at compile time.
+	(Contains_Subprograms_Refs): Rename into...
+	(Scan_Subprogram_Refs): ...this.
+	(Has_Referencer): Scan the body of all inlined subprograms. Reset the
+	Is_Public flag on subprograms if they are not actually referenced.
+	(Hide_Public_Entities): Beef up comment on the algorithm.
+	Reset the table of subprograms on entry.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb: Add comments to Can_Be_Inlined_In_GNATprove_Mode.
+
+2017-09-06  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): The C backend
+	cannot handle a type conversion of an array as an aggregate
+	component.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* g-comlin.adb (Try_Help): Remove ".exe" so we
+	get the same results on windows and unix.
+
+2017-09-06  Justin Squirek  <squirek@adacore.com>
+
+	* exp_imgv.adb (Expand_Image_Attribute),
+	(Expand_Wide_Image_Attribute), (Expand_Wide_Wide_Image_Attribute):
+	Added case to handle new-style 'Image expansion
+	(Rewrite_Object_Image): Moved from exp_attr.adb
+	* exp_attr.adb (Expand_N_Attribute_Reference): Modified Image
+	attribute cases so that the relevant subprograms in exp_imgv.adb
+	handle all expansion.
+	(Rewrite_Object_Reference_Image): Moved to exp_imgv.adb
+	* sem_attr.adb (Analyze_Attribute): Modified Image attribute
+	cases to call common function Analyze_Image_Attribute.
+	(Analyze_Image_Attribute): Created as a common path for all
+	image attributes (Check_Object_Reference_Image): Removed
+	* sem_util.ads, sem_util.adb (Is_Image_Applied_To_Object):
+	Removed and refactored into Is_Object_Image (Is_Object_Image):
+	Created as a replacement for Is_Image_Applied_To_Object
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Depends_In_Decl_Part): Add continuation
+	message for missing input.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Prevent inlining
+	of protected subprograms and entries.
+	* sem_util.adb, sem_util.ads (Is_Subp_Or_Entry_Inside_Protected):
+	New function to detect when a subprogram of entry is defined
+	inside a protected object.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* sysdep.c (__gnat_has_cap_sys_nice): New function to determine
+	whether the current process has the CAP_SYS_NICE capability.
+	* s-taprop-linux.adb (Get_Ceiling_Support): Update this to allow
+	ceiling priorities if the current process has the CAP_SYS_NICE
+	capability.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* a-comlin.ads, a-comlin.adb (Argument): Move the constraint
+	check back to the body, because SPARK is not yet ready for
+	"or else raise Constraint_Error".
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Call_Helper): Replace call to null
+	procedure by a single null statement, after evaluating the
+	actuals that require it.
+
+2017-09-06  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Backend_Processing_Possible.Component_Check):
+	Generating C code improve the code that checks the use of nested
+	aggregates to initialize object declarations.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch3.adb (Derived_Type_Declaration): Detect
+	violations of new rule SPARK RM 3.4(1).  Also refactor existing
+	check to use the new function Find_Partial_View.
+
+2017-09-06  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: gnat ls -V -P... invokes gprls -V -P...	The code
+	from the Prj hierarchy has been removed from the GNAT driver.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_type.adb (Interface_Present_In_Ancestor): Within an
+	expression function, or within a spec expression (default value,
+	etc) a reference to an incomplete type is legal: legality of
+	the operation will be checked when some related entity (type,
+	object or subprogram) is frozen.
+
+2017-09-06  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch5.adb, s-diinio.ads, sem_ch4.adb, s-diflio.ads: Minor spelling
+	adjustments and a typo fix.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Do not issue info
+	message about inlining of calls to functions in assertions,
+	for functions whose body has not been seen yet.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* a-comlin.ads, a-comlin.adb (Argument): Simplify the code, now that
+	we can use modern Ada in this package.
+	* s-resfil.ads, s-resfil.adb, a-clrefi.ads, a-clrefi.adb:
+	Move Ada.Command_Line.Response_File to System.Response_File,
+	and make Ada.Command_Line.Response_File into a rename of
+	System.Response_File. This is to avoid having gnatbind depend
+	Ada.Command_Line, which would damage the bootstrap process now
+	that Ada.Command_Line contains modern Ada (the raise expression).
+	* gnatbind.adb: Avoid dependence on
+	Ada.Command_Line. Depend on System.Response_File instead
+	of Ada.Command_Line.Response_File. Change one call to
+	Ada.Command_Line.Command_Name to use Fill_Arg.	Change one call
+	to Ada.Command_Line.Argument_Count to use Arg_Count.
+	* gcc-interface/Make-lang.in, Makefile.rtl: Take note of the new files.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* frontend.adb (Frontend): Skip -gnatec=gnat.adc
+	switch, because we've already read gnat.adc by default.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* exp_ch5.adb (Get_Default_Iterator): Replace
+	"Assert(False)" with "return Iter", because if an iterable
+	type is derived from a noniterable one, then we won't find an
+	overriding or inherited default iterator.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_warn.adb (Warn_On_Suspicious_Index): Improve warning when the
+	literal index used to access a string is null or negative.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb (Status_Flag_Or_Transient_Decl): The attribute is now
+	allowed on loop parameters.
+	(Set_Status_Flag_Or_Transient_Decl): The attribute is now allowed
+	on loop parameters.
+	(Write_Field15_Name): Update the output for
+	Status_Flag_Or_Transient_Decl.
+	* einfo.ads: Attribute Status_Flag_Or_Transient_Decl now applies
+	to loop parameters. Update the documentation of the attribute
+	and the E_Loop_Parameter entity.
+	* exp_ch7.adb (Process_Declarations): Remove the bogus guard
+	which assumes that cursors can never be controlled.
+	* exp_util.adb (Requires_Cleanup_Actions): Remove the bogus
+	guard which assumes that cursors can never be controlled.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb, sem_util.adb, sem_attr.adb, sem_ch6.adb, sem_ch8.adb,
+	sem_warn.adb: Minor reformatting.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_warn.adb (Warn_On_Overlapping_Actuals): Refine previous
+	fix and preserve older GNAT warning on overlapping actuals that
+	are not elementary types.
+
+2017-09-06  Justin Squirek  <squirek@adacore.com>
+
+	* sem_attr.adb: Comment correction.
+
+2017-09-06  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_util.adb: Minor reformatting.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* a-comlin.ads (Argument): Add precondition for analysis.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve): Update message for function call as statement.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Check_Returns): Clean up warnings coming from
+	generated bodies for renamings that are completions, when renamed
+	procedure is No_Return.
+	* sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality
+	rule in 6.5.1 (7/2): if a renaming is a completion of a subprogram
+	with No_Return, the renamed entity must be No_Return as well.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb, freeze.adb, exp_ch4.adb, exp_ch6.adb, lib-xref.adb:
+	Minor reformatting.
+
+2017-09-06  Justin Squirek  <squirek@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference): Modified Image
+	attribute cases (Rewrite_Object_Reference_Image): Created to
+	aid the rewriting of new-style 'Image attributes.
+	* sem_attr.adb (Analyze_Attribute): Modified Image attribute cases
+	(Check_Object_Reference_Image): Created to handle verification of
+	'Image with object-references as prefixes.
+	* sem_util.ads, sem_util.adb (Is_Image_Applied_To_Object):
+	Create predicate to identify cases where an 'Image attribute's
+	prefix applies to an object reference.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Entity): Do not generate a freeze
+	node for a generic unit, even if it includes delayed aspect
+	specifications. Freeze nodes for generic entities must never
+	appear in the tree that reaches the back-end of the compiler.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* treepr.adb (Print_Entity_Info): Do not print empty Elist.
+
+2017-09-06  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not consider calls
+	to subprograms in other units as possibly inlined.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Entity): For a derived type that has no
+	explicit delayed aspects but may inherit delayed aspects from its
+	parent type, analyze aspect at freeze point for proper capture
+	of an inherited aspect.
+
+2017-09-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-xref.adb (Get_Through_Renamings): Get through subprogram
+	renamings; also, avoid repeated calls to Renamed_Object when getting
+	through object renamings.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Array_Type_Declaration): Handle properly an
+	array type declaration in a private part, when an index is a
+	subtype indication of a discrete type with a private partial view.
+
+2017-09-06  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch4.adb (Expand_Modular_Op): Force generating
+	temporary to improve the generated code.
+
+2017-09-06  Tristan Gingold  <gingold@adacore.com>
+
+	* s-fatgen.adb: Minor typo fix in comment.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Make_Field_Assign): If the type
+	of the right-hand side has stored constraint, use its values
+	(except for those that are renamings of parent discriminants)
+	to produce additional assignments for the discriminants of the
+	left-hand side, which are invisible in the righ-hand side and
+	not retrievable as selected components.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Needs_One_Formal): The first formal of such a
+	function must be a controlling formal, so that Obj.F (X, Y)
+	can have the interpretation F(Obj)(X, Y).
+	* sem_util.ads: Clarify documentation.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* table.ads, table.adb: Restore original implementation.
+	* namet.h (Names_Ptr): Adjust back.
+	(Name_Chars_Ptr): Likewise.
+	* uintp.h (Uints_Ptr): Likewise.
+	(Udigits_Ptr): Likewise.
+	* g-table.ads: Remove pragma Compiler_Unit_Warning.
+	* par_sco.adb: Do not with GNAT.Table and use Table consistently.
+	* scos.ads: Replace GNAT.Table with Table and adjust instantiations.
+	* spark_xrefs.ads: Likewise.
+	* scos.h: Undo latest changes.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Propagate
+	No_Return flag to instance if pragma applies to generic unit. This
+	must be done explicitly because the pragma does not appear
+	directly in the generic declaration (unlike the corresponding
+	aspect specification).
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb (Has_Referencer): Move up and expand comment
+	explaining the test used to detect inlining.  Use same test
+	in second occurrence.
+	(Analyze_Package_Body_Helper): Minor formatting fixes.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Handle_Changed_Representation): For an untagged
+	derived type with a mixture of renamed and constrained parent
+	discriminants, the constraint for the target must obtain the
+	discriminant values from both the operand and from the stored
+	constraint for it, given that the constrained discriminants are
+	not visible in the object.
+	* exp_ch5.adb (Make_Field_Assign): The type of the right-hand
+	side may be derived from that of the left-hand side (as in the
+	case of an assignment with a change of representation) so the
+	discriminant to be used in the retrieval of the value of the
+	component must be the entity in the type of the right-hand side.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, sem_ch7.adb, sem_util.adb, g-debpoo.adb, sem_ch4.adb,
+	sem_ch6.adb, sem_ch8.adb: Minor reformatting.
+	* exp_util.adb (Is_Source_Object): Account for
+	the cases where the source object may appear as a dereference
+	or within a type conversion.
+	* exp_ch6.adb: Fix missing space in error message.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb: Update description of Eliminate.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Loop_Entry): Handle
+	properly an attribute reference 'Loop_Entry that appears in the
+	list of indices of an indexed expression, to prevent an infinite
+	loop in the compiler.
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* s-fileio.adb (Name): Do not raise Use_Error for temp files.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Set_Membership):  If an alternative
+	in a set membership is an overloaded enumeration literal, and
+	the type of the alternative is resolved from a previous one,
+	replace the entity of the alternative as well as the type,
+	to prevent inconsistencies between the entity and the type.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* ali.ads (ALIs_Record): Add No_Component_Reordering component.
+	(No_Component_Reordering_Specified): New switch.
+	* ali.adb (Initialize_ALI): Set No_Component_Reordering_Specified.
+	(Scan_ALI): Set No_Component_Reordering and deal with NC marker.
+	* bcheck.adb (Check_Consistent_No_Component_Reordering):
+	New check.
+	(Check_Configuration_Consistency): Invoke it.
+	* debug.adb (d.r): Toggle the effect of the switch.
+	(d.v): Change to no-op.
+	* einfo.ads (Has_Complex_Representation):
+	Restrict to record types.
+	(No_Reordering): New alias for Flag239.
+	(OK_To_Reorder_Components): Delete.
+	(No_Reordering): Declare.
+	(Set_No_Reordering): Likewise.
+	(OK_To_Reorder_Components): Delete.
+	(Set_OK_To_Reorder_Components): Likewise.
+	* einfo.adb (Has_Complex_Representation): Expect record types.
+	(No_Reordering): New function.
+	(OK_To_Reorder_Components): Delete.
+	(Set_Has_Complex_Representation): Expect base record types.
+	(Set_No_Reordering): New procedure.
+	(Set_OK_To_Reorder_Components): Delete.
+	(Write_Entity_Flags): Adjust to above change.
+	* fe.h (Debug_Flag_Dot_R): New macro and declaration.
+	* freeze.adb (Freeze_Record_Type): Remove conditional code setting
+	OK_To_Reorder_Components on record types with convention Ada.
+	* lib-writ.adb (Write_ALI): Deal with NC marker.
+	* opt.ads (No_Component_Reordering): New flag.
+	(No_Component_Reordering_Config): Likewise.
+	(Config_Switches_Type): Add No_Component_Reordering component.
+	* opt.adb (Register_Opt_Config_Switches): Copy
+	No_Component_Reordering onto No_Component_Reordering_Config.
+	(Restore_Opt_Config_Switches): Restore No_Component_Reordering.
+	(Save_Opt_Config_Switches): Save No_Component_Reordering.
+	(Set_Opt_Config_Switches): Set No_Component_Reordering.
+	* par-prag.adb (Prag): Deal with Pragma_No_Component_Reordering.
+	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Also set the
+	No_Reordering flag from the default.
+	(Build_Derived_Private_Type): Likewise.
+	(Build_Derived_Record_Type): Likewise.	Then inherit it
+	for untagged types and clean up handling of similar flags.
+	(Record_Type_Declaration): Likewise.
+	* sem_ch13.adb (Same_Representation): Deal with No_Reordering and
+	remove redundant test on Is_Tagged_Type.
+	* sem_prag.adb (Analyze_Pragma): Handle No_Component_Reordering.
+	(Sig_Flags): Likewise.
+	* snames.ads-tmpl (Name_No_Component_Reordering): New name.
+	(Pragma_Id): Add Pragma_No_Component_Reordering value.
+	* warnsw.adb (Set_GNAT_Mode_Warnings): Enable -gnatw.q as well.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>:
+	Copy the layout of the parent type only if the No_Reordering
+	settings match.
+	(components_to_record): Reorder record types with
+	convention Ada by default unless No_Reordering is set or -gnatd.r
+	is specified and do not warn if No_Reordering is set in GNAT mode.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Check_Previous_Null_Procedure):
+	new predicate to reject declarations that can be completions,
+	when there is a visible prior homograph that is a null procedure.
+	* sem_ch6.adb (Analyze_Null_Procedure): use it.
+	* sem_ch8.adb (Analyze_Subprogram_Renaming): ditto.
+
+2017-09-06  Thomas Quinot  <quinot@adacore.com>
+
+	* s-regpat.adb (Compile.Parse_Literal): Fix handling of literal
+	run of 253 characters or more.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.adb (Designated_Type): Use Is_Incomplete_Type to handle
+	properly incomplete subtypes that may be created by explicit or
+	implicit declarations.
+	(Is_Base_Type): Take E_Incomplete_Subtype into account.
+	(Subtype_Kind): Ditto.
+	* sem_ch3.adb (Build_Discriminated_Subtype): Set properly the
+	Ekind of a subtype of a discriminated incomplete type.
+	(Fixup_Bad_Constraint): Use Subtype_Kind in all cases, including
+	incomplete types, to preserve error reporting.
+	(Process_Incomplete_Dependents): Do not create a subtype
+	declaration for an incomplete subtype that is created internally.
+	* sem_ch7.adb (Analyze_Package_Specification): Handle properly
+	incomplete subtypes that do not require a completion, either
+	because they are limited views, of they are generic actuals.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Remove the
+	suspicious manipulation of the Do_Range_Check flag as ths is
+	no linger needed. Suppress validity check when analysing the
+	validation variable.
+
+2017-09-06  Philippe Gil  <gil@adacore.com>
+
+	* g-debpoo.adb: adapt GNAT.Debug_Pools to allow safe thread
+	GNATCOLL.Memory
+
+2017-09-06  Bob Duff  <duff@adacore.com>
+
+	* sem_elim.adb: Minor comment fix.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Is_Object_Reference): A function call is an
+	object reference, and thus attribute references for attributes
+	that are functions (such as Pred and Succ) as well as predefined
+	operators are legal in contexts that require an object, such as
+	the prefix of attribute Img and the Ada2020 version of 'Image.
+
+2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb, einfo.adb, sem_attr.adb, exp_ch4.adb, gnatls.adb,
+	exp_ch3.adb, xoscons.adb: Minor reformatting.
+
+2017-09-06  Raphael Amiard  <amiard@adacore.com>
+
+	* a-chtgop.ads, a-chtgop.adb: Add versions of First and Next with
+	Position parameter. If supplied, use it to provide efficient iteration.
+	* a-cohase.ads, a-cohase.adb, a-cihama.ads, a-cihama.adb,
+	a-cohama.ads, a-cohama.adb: Add/Use Position to provide efficient
+	iteration.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Build_Allocate_Deallocate_Proc): If the
+	designated type is class-wide and the expression is an unchecked
+	conversion, preserve the conversion when checking the tag of the
+	designated object, to prevent spurious semantic errors when the
+	expression in the conversion has an untagged type (for example
+	an address attribute).
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Entry_Call): Check whether a protected
+	operation is subject to a pragma Eliminate.
+
+2017-09-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_elim.ads, exp_ch4.adb: Minor reformatting.
+
+2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* fe.h (Eliminate_Error_Msg): Remove.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* gcc-interface/utils.c (make_packable_type): Update call to
+	mode_for_size_tree.
+
+2017-09-05  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* gcc-interface/utils2.c (build_load_modify_store):
+	Use int_mode_for_size.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/62235
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
+	for Itypes that are E_Record_Subtype with a cloned subtype.
+	<E_Record_Subtype>: Use the DECL of the cloned type directly, if any.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (convert_with_check): Use a custom base type
+	if the base type of the expression has a different machine mode.
+	Rename a couple of parameters and local variable.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Address>: Do not strip
+	conversions around prefixes that are not references.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (unchecked_convert): When the result type is a
+	non-biased integral type with size 0, set the result to 0 directly.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (renaming_from_generic_instantiation_p): Turn to
+	(renaming_from_instantiation_p): ...this.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Use inline predicate
+	instead of explicit tests on kind of entities.  Adjust for renaming.
+	(gnat_to_gnu_profile_type): Likewise.
+	(gnat_to_gnu_subprog_type): Likewise.
+	* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
+	(Case_Statement_to_gnu): Likewise.
+	(gnat_to_gnu): Likewise.
+	(process_freeze_entity): Likewise.
+	(process_type): Likewise.
+	(add_stmt_with_node): Adjust for renaming.
+	* gcc-interface/utils.c (gnat_pushdecl): Adjust for renaming.
+	(renaming_from_generic_instantiation_p): Rename to...
+	(renaming_from_instantiation_p): ...this.  Use inline predicate.
+	(pad_type_hasher::keep_cache_entry): Fold.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (adjust_for_implicit_deref): New function.
+	(gnat_to_gnu) <N_Explicit_Dereference>: Translate result type first.
+	(N_Indexed_Component): Invoke adjust_for_implicit_deref on the prefix.
+	(N_Slice): Likewise.
+	(N_Selected_Component): Likewise.  Do not try again to translate it.
+	(N_Free_Statement): Invoke adjust_for_implicit_deref on the expression.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* repinfo.ads: Document new treatment of dynamic values.
+	(TCode): Bump upper bound to 29.
+	(Dynamic_Val): New constant set to 29.
+	* repinfo.adb (Print_Expr) <Dynamic_Val>: New case.
+	(Rep_Value)  <Dynamic_Val>: Likewise.
+	* repinfo.h (Dynamic_Val): New macro.
+	* gcc-interface/decl.c (annotate_value): Tidy up and cache result for
+	DECL_P nodes too.
+	<INTEGER_CST>: Set TCODE instead of recursing.
+	<COMPONENT_REF>: Set TCODE instead of calling Create_Node manually.
+	<VAR_DECL>: New case.
+	<MULT_EXPR, PLUS_EXPR>: Fold conversions into inner operations.
+	<BIT_AND_EXPR>: Adjust.
+	<CALL_EXPR>: Do not fall through.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Call_to_gnu): If this is a function call and
+	there is no target, do not create a temporary for the return value for
+	an allocator either.
+
+2017-09-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (pos_to_constructor): Skip conversions to an
+	unconstrained array type.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/decl.c (validate_size): Use NARROWEST_INT_MODE
+	instead of GET_CLASS_NARROWEST_MODE (MODE_INT).
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/decl.c (check_ok_for_atomic_type): Use
+	is_a <scalar_int_mode>.
+	* gcc-interface/trans.c (Pragma_to_gnu): Likewise.
+	* gcc-interface/utils.c (gnat_type_for_mode): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Use int_mode_for_size
+	instead of mode_for_size.
+	(gnat_to_gnu_subprog_type): Likewise.
+	* gcc-interface/utils.c (make_type_from_size): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/misc.c (fp_prec_to_size): Use opt_scalar_float_mode.
+	(fp_size_to_prec): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/utils.c (gnat_type_for_mode): Use is_a
+	<scalar_float_mode> instead of SCALAR_FLOAT_MODE_P.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/decl.c (validate_size): Update use of
+	GET_MODE_WIDER_MODE, forcing a wider mode to exist.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+            Alan Hayward  <alan.hayward@arm.com>
+            David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/misc.c (fp_prec_to_size): Use new mode iterators.
+	(fp_size_to_prec): Likewise.
+
+2017-08-29  Martin Liska  <mliska@suse.cz>
+
+	PR other/39851
+	* gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL.
+
+2017-08-08  Martin Liska  <mliska@suse.cz>
+
+	* gcc-interface/trans.c: Include header files.
+
+2017-07-29  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/utils.c (gnat_write_global_declarations): Pass false
+	as new argument to the imported_module_or_decl debug hook.
+
+2017-07-25  Javier Miranda  <miranda@adacore.com>
+
+	* checks.adb (Apply_Divide_Checks): Ensure that operands are not
+	evaluated twice. 
+
+2017-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE,
+	TYPE_GCC_MIN_VALUE): Use TYPE_MIN_VALUE_RAW instead of TYPE_MINVAL.
+	(TYPE_GCC_MAX_VALUE): Use TYPE_MAX_VALUE_RAW instead of TYPE_MAXVAL.
+
+2017-07-18  Mike Frysinger  <vapier@chromium.org>
+
+	* gcc-interface/Makefile.in (../../gnatmake$(exeext)): Delete $(P).
+	(../../gnatlink$(exeext)): Likewise.
+
+2017-07-15  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
+
+	PR ada/81446
+	* system-linux-m68k.ads: Add pragma No_Elaboration_Code_All.
+	(Backend_Overflow_Checks): Set to True.
+
+2017-06-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu): Initialize sync to false.
+
+2017-06-21  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/ada-tree.h (DECL_FUNCTION_IS_DEF): Update copyright
+	notice.  New macro.
+	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Tag the subprogram
+	as a definition.
+	(Compilation_Unit_to_gnu): Tag the elaboration procedure as a
+	definition.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Tag declarations of
+	imported subprograms for the current compilation unit as
+	definitions.  Disable debug info for references to variables.
+	* gcc-interface/gigi.h (create_subprog_decl): Update declaration.
+	* gcc-interface/utils.c (gnat_pushdecl): Add external DECLs that are
+	not built-in functions to their binding scope.
+	(create_subprog_decl): Add a DEFINITION parameter.  If it is true, tag
+	the function as a definition.  Update all callers.
+	(gnat_write_global_declarations): Emit debug info for imported
+	functions.  Filter out external variables for which debug info
+	is disabled.
+
+2017-06-15  Nicolas Boulenguez  <nicolas.boulenguez@free.fr>
+
+	PR ada/81105
+	* gcc-interface/Makefile.in (x86 kfreebsd): Adjust system.ads setting.
+	(i[3456]86-pc-gnu): Likewise.
+	(x86_64 kfreebsd): Likewise.
+
+2017-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR bootstrap/80897
+	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Use Positive index.
+
+2017-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/81070
+	* s-interr-hwint.adb: Reinstate.
+	* gcc-interface/Makefile.in (RTEMS): Use it again.
+
+2017-06-08  Olivier Hainque  <hainque@adacore.com>
+
+	* vx_crtbegin_auto.c: Update year in copyright notice.
+	* vx_crtbegin.c: Likewise.
+	* vx_crtbegin.inc: Likewise. 
+	* vx_crtend.c:  Likewise.
+
+2017-06-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* Makefile.in (rtems): Use TLS implementation for s-tpopsp.adb.
+	* s-tpopsp-rtems.adb: Delete.
+
+2017-06-02  Olivier Hainque  <hainque@adacore.com>
+
+	* vx_crtbegin_auto.c: New file.
+	* vx_crtbegin.c: New file.
+	* vx_crtbegin.inc: New file.
+	* vx_crtend.c: New file.
+
+2017-05-25  Jonathan Wakely  <jwakely@redhat.com>
+
+	* gcc-interface/utils2.c (compare_elmt_bitpos): Remove redundant
+	const qualifiers that cause -Wignored-qualifiers warnings.
+
+2017-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
+	for Itypes that are E_Access_Subtype.
+	<E_Access_Subtype>: Use the DECL of the base type directly.
+
+2017-05-22  Ed Schonberg  <schonberg@adacore.com>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a
+	limited view may appear in the profile of a function, and a call to
+	that function in another unit in which the full view is available must
+	use this full view to spurious type errors at the point of call.
+	* inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading
+	of parent body with a with clause for the main unit.
+	* gcc-interface/decl.c (defer_limited_with_list): Document new usage.
+	(gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment
+	types declared in external units like types from limited with clauses.
+	Adjust final processing of defer_limited_with_list accordingly.
+	* gcc-interface/trans.c (gnat_to_gnu) < N_Selected_Component>: Try
+	again to translate the prefix after the field if it is incomplete.
+
+2017-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_field): Do not enforce strict
+	alignment for simple volatile fields and remove associated errors.
+
+2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (get_elaboration_procedure): Delete.
+	* gcc-interface/trans.c (get_elaboration_procedure): Make static.
+
+2017-05-15  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/utils.c (can_materialize_object_renaming_p):
+	Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration:
+	process Original_Node instead of expanded names.
+
+2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the
+	addressability check in the constrained case.
+
+2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
+	types not coming from a limited context.
+
+2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
+	the inlined list that are not public.
+	* gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if
+	there is a pragma Inline_Always on the subprogram.
+
+2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
+	<N_Allocator>: Use properly typed constants.
+	(extract_values): Move around.
+	(pos_to_constructor): Minor tweaks.
+	(Sloc_to_locus): Fix formatting.
+	* gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks.
+	* gcc-interface/gigi.h (MARK_VISITED): Remove blank line.
+	(Gigi_Equivalent_Type): Adjust head comment.
+	* gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise.
+
+2017-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
+	is a representation clause on an extension, propagate the alignment of
+	the parent type only if the platform requires strict alignment.
+
+2017-05-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
+	instead of Word_Size.
+
+	Revert
+	2017-03-28  Andreas Schwab  <schwab@suse.de>
+
+	PR ada/80117
+	* system-linux-aarch64-ilp32.ads: New file.
+	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
+	from LIBGNAT_TARGET_PAIRS.
+	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
+	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
+	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
+	or -mabi=ilp32, resp.
+
+2017-05-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ada/80626
+	* system-linux-x86.ads (Memory_Size): Use Long_Integer'Size
+	instead of Word_Size.
+
+2017-05-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* raise-gcc.c (exception_class_eq): Make ec parameter const.
+
+2017-05-02  Richard Biener  <rguenther@suse.de>
+
+	* gcc-interface/misc.c (gnat_post_options): Do not set
+	-fstrict-overflow.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (assoc_to_constructor): Make sure
+	Corresponding_Discriminant is only called on discriminants.
+	Skip the saving of the result only for them.
+	(gnat_to_gnu) <N_Selected_Component>: Likewise.
+	<N_Unchecked_Type_Conversion>: Translate the result type first.
+	(gigi): Set TREE_NOTHROW on Begin_Handler.
+	(stmt_list_cannot_raise_p): New predicate.
+	(Exception_Handler_to_gnu_gcc): Emit a simple final call instead of
+	a cleanup if the statements of the handler cannot raise.
+	(process_freeze_entity): Use Is_Record_Type.
+	(process_type): Likewise.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* einfo.ads (Corresponding_Record_Component): New alias
+	for Node21 used for E_Component and E_Discriminant.
+	* einfo.adb (Corresponding_Record_Component): New function.
+	(Set_Corresponding_Record_Component): New procedure.
+	(Write_Field21_Name): Handle Corresponding_Record_Component.
+	* sem_ch3.adb (Inherit_Component): Set
+	Corresponding_Record_Component for every component in
+	the untagged case.  Clear it afterwards for non-girder
+	discriminants.
+	* gcc-interface/decl.c (gnat_to_gnu_entity)
+	<E_Record_Type>: For a derived untagged type with discriminants
+	and constraints, apply the constraints to the layout of the
+	parent type to deduce the layout.
+	(field_is_aliased): Delete.
+	(components_to_record): Test DECL_ALIASED_P directly.
+	(annotate_rep): Check that fields are present except for
+	an extension.
+	(create_field_decl_from): Add DEBUG_INFO_P
+	parameter and pass it in recursive and other calls.  Add guard
+	for the manual CSE on the size.
+	(is_stored_discriminant): New predicate.
+	(copy_and_substitute_in_layout): Consider only
+	stored discriminants and check that original fields are present
+	in the old type.  Deal with derived types.  Adjust call to
+	create_variant_part_from.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Call_Helper): When locating the
+	accessibility entity created for an access parameter, handle
+	properly a reference to a formal of an enclosing subprogram. if
+	the reference appears in an inherited class-wide condition, it
+	is the rewriting of the reference in the ancestor expression,
+	but the accessibility entity must be that of the current formal.
+
+2017-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch4.adb (Expand_Non_Binary_Modular_Op): New subprogram.
+	(Expand_N_Op_Add, Expand_N_Op_Divide, Expand_N_Op_Minus,
+	Expand_N_Op_Multiply, Expand_N_Op_Or, Expand_N_Op_Subtract):
+	Call Expand_Non_Binary_Modular_Op.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch3.adb (Build_Derived_Private_Type): If the parent type
+	has discriminants, do not override the Stored_Constraint list of
+	the full view of the derived type with that of the derived type.
+
+2017-05-02  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Attribute_Enum_Rep): Disallow T'Enum_Rep.
+
+2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* s-os_lib.ads: Minor typo fix.
+
+2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* gnatls.adb: Merge and refactor code from Prj.Env and remove
+	this deprecated dependency.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.ads: minor comment addition.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch3.adb (Build_Derived_Record_Type): Fix a few typos and
+	pastos in part #3 of the head comment.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch3.adb (Freeze_Type): Do not generate an invariant
+	procedure body for a local (sub)type declaration within a
+	predicate function. Invariant checks do not apply to these, and
+	the expansion of the procedure will happen in the wrong scope,
+	leading to misplaced freeze nodes.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Insert_Library_Level_Action): Use proper scope
+	to analyze generated actions.  If the main unit is a body,
+	the required scope is that of the corresponding unit declaration.
+
+2017-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* einfo.adb (Declaration_Node): flip branches of
+	an IF statement to avoid repeated negations in its condition;
+	no change in semantics, only to improve readability.
+
+2017-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_case.adb: Remove extra spaces in parameter declarations.
+
+2017-05-02  Justin Squirek  <squirek@adacore.com>
+
+	* usage.adb: Replace space with hyphen ("run time" -> "run-time")
+	in usage line for new -gnatwE switch.
+
+2017-05-02  Claire Dross  <dross@adacore.com>
+
+	* a-cofuve.ads (Remove): Remove unnecessary
+	conditions in precondition.
+
+2017-05-02  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* a-stream.ads, exp_imgv.adb, sem_ch10.adb,
+	sem_attr.adb, s-finmas.ads, osint.adb: Minor typo fix.
+
+2017-05-02  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch4.adb (Analyze_Case_Expression): Add check for valid
+	alternative expression.
+	* sem_res.adb (Resolve_Case_Expression): Ditto.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_disp.adb (Set_All_DT_Position, In_Predef_Prim_DT):
+	Refine predicate for the case where the primitive operation
+	is a renaming of equality.  An overriding operation that is
+	a user-defined renaming of predefined equality inherits its
+	slot from the overridden operation. Otherwise it is treated
+	as a predefined op and occupies the same predefined slot as
+	equality. A call to it is transformed into a call to its alias,
+	which is the predefined equality. A dispatching call thus uses
+	the proper slot if operation is further inherited and called
+	with class-wide arguments.
+
+2017-05-02  Justin Squirek  <squirek@adacore.com>
+
+	* errout.adb (Set_Msg_Text): Add a case to switch the message
+	type when the character '[' is detected signifying a warning
+	about a run-time exception.
+	* opt.ads Add a new Warning_Mode value for new switch
+	* switch-b.adb (Scan_Binder_Switches): Add case for the binder
+	to handle new warning mode
+	* usage.adb (Usage): Add usage entry for -gnatwE
+	* warnsw.adb (Set_Warning_Switch): Add case for the new switch
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Process_Conversion): Reject an intrinsic operator
+	declaration that operates on some fixed point type.
+
+2017-05-02  Justin Squirek  <squirek@adacore.com>
+
+	* a-crbtgo.adb, s-taasde.adb: Remove unused use-type clauses.
+
+2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Null_Procedure): Revert previous change.
+
+2017-05-02  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch4.adb (Analyze_Case_Expression): Add check for valid
+	expression (Analyze_If_Expression): Add check for valid condition
+	* sem_eval.adb (Eval_Case_Expression): Add check for error posted
+	on case-expression
+	* sem_res.adb (Resolve_If_Expression): Add check for valid
+	condition and then-expression.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch3.adb (Build_Initialization_Call): Generate a null
+	statement if the initialization call is a null procedure, as
+	can happen with a controlled type with no explicit Initialize
+	procedure, or an array of such.
+	* exp_ch7.adb (Process_Object_Declaration): For a type with
+	controlled components that has a trivial Initialize procedure,
+	insert declaration for finalization counter after object
+	declaration itself.
+	(Make_Deep_Array_Body, Build_Initialize_statements): Do not create
+	finalization block and attendant declarations if component has
+	a trivial Initialize procedure.
+	(Make_Init_Call): Do not generate a call if controlled type has
+	a trivial Initialize procedure.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* g-forstr.ads (Data): Move Format component last.
+	* g-forstr.adb ("+"): Adjust for above change.
+	* g-rewdat.ads (Buffer): Move Buffer, Current, Pattern and Value last.
+	* g-sechas.ads (Context): Move Key last.
+	* g-socket.ads (Service_Entry_Type): Move Aliases last.
+	* s-fileio.adb (Temp_File_Record): Move Name last.
+	* s-regexp.adb (Regexp_Value): Move Case_Sensitive last.
+	* xr_tabls.ads (Project_File): Move Src_Dir and Obj_Dir last.
+
+2017-05-02  Jerome Lambourg  <lambourg@adacore.com>
+
+	* bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: Remove the -nognarl
+	switch introduced recently. finally not needed.
+
+2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Null_Procedure): Set the
+	Corresponding_Body link for a null procedure declaration.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* atree.h (Flag290): Add missing terminating parenthesis.
+	* einfo.adb (Is_Class_Wide_Clone): Use Flag290.
+	(Set_Is_Class_Wide_Clone): Likewise.
+	* einfo.ads (Is_Class_Wide_Clone): Likewise.
+
+2017-05-02  Gary Dismukes  <dismukes@adacore.com>
+
+	* checks.ads (Null_Exclusion_Static_Checks): Add Boolean
+	parameter Array_Comp to indicate the case of an array object
+	with null-excluding components.
+	* checks.adb (Null_Exclusion_Static_Checks):
+	Call Compile_Time_Constraint_Error instead of
+	Apply_Compile_Time_Constraint_Error in the component case. Also
+	call that when Array_Comp is True, with an appropriate warning for
+	the array component case. Only create an explicit initialization
+	by null in the case of an object of a null-excluding access type
+	(and no longer do that in the component case).
+	* sem_ch3.adb (Check_Component): Add a Boolean parameter
+	Array_Comp defaulted to False.	Pass Empty for the Comp
+	actual when calling Null_Exclusion_Static_Checks in the case
+	where Comp_Decl matches Object_Decl, because we don't have a
+	component in that case. In the case of an object or component
+	of an array type, pass True for Array_Comp on the recursive call
+	to Check_Component.
+
+2017-05-02  Bob Duff  <duff@adacore.com>
+
+	* s-taprop-linux.adb (Prio_To_Linux_Prio): New function to correctly
+	compute the linux priority from the Ada priority. Call this everywhere
+	required. In particular, the previous version was not doing this
+	computation when setting the ceiling priority in various places. It
+	was just converting to C.int, which results in a ceiling that is off
+	by 1.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb: Comment predicate inheritance.
+
+2017-05-02  Tristan Gingold  <gingold@adacore.com>
+
+	* s-trasym.ads: Add comment.
+
+2017-05-02  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb, sem_elab.ads: Minor comment fixes.
+	* sem_ch4.adb: Minor reformatting.
+	* s-taprop-linux.adb, s-taspri-posix.ads: Code refactoring.
+	* s-taspri-posix-noaltstack.ads: Minor refactoring.
+	* sinput.ads: Minor typo fix.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch9.adb (Discriminated_Size): Moved to sem_util.
+	* sem_util.ads, sem_util.adb (Discriminated_Size): Predicate moved
+	here from exp_ch9, to recognize objects whose creation requires
+	dynamic allocation, so that the proper warning can be emitted
+	when restriction No_Implicit_Heap_Allocation is in effect.
+	* sem_ch3.adb (Analyze_Object_Declaration): Use Discriminated_Size
+	to emit proper warning when an object that requires dynamic
+	allocation is declared.
+
+2017-05-02  Tristan Gingold  <gingold@adacore.com>
+
+	* s-trasym.ads, s-trasym.adb (Enable_Cache): New.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Find_Equality_Types, Try_One_Interp): The same relaxed
+	visibility rules for equality operators that apply within an
+	instantiation apply within an inlined body.
+	* sem_type.adb (Add_One_Interp): ditto.
+
+2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Forbid pragma Contract_Cases on null
+	procedures.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* snames.ads-tmpl
+	(Name_Assume, Name_Attribute_Definition, Name_Loop_Optimize,
+	Name_No_Tagged_Streams): Move to regular pragmas.  Add
+	placeholders for Default_Scalar_Storage_Order, Dispatching_Domain,
+	and Secondary_Stack_Size.
+	(Pragma_Id): Move Pragma_Assume,
+	Pragma_Attribute_Definition, Pragma_Loop_Optimize and
+	Pragma_No_Tagged_Streams to second part.
+
+2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb: Minor reformatting.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): Improve error
+	detection for illegal references to private components or
+	operations of a protected type in the body of the type.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* opt.ads: Add missing GNAT markers in comments.
+	* opt.adb (Set_Opt_Config_Switches): Do not override earlier
+	settings of Optimize_Alignment at the end.
+
+2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Apply_Constraint_Check): Do not apply
+	a discriminant check when the associated type is a constrained
+	subtype created for an unconstrained nominal type.
+	* exp_attr.adb: Minor reformatting.
+
+2017-05-02  Bob Duff  <duff@adacore.com>
+
+	* sem_ch3.adb (OK_For_Limited_Init_In_05): Handle correctly
+	the N_Raise_Expression case.
+	* sem_ch6.adb (Check_Limited_Return): Minor: clarify comment,
+	and add assertions.
+
+2017-05-02  Yannick Moy  <moy@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Op_Ne): Do not bump parenthese level and
+	optimize length comparison in GNATprove mode.
+	* exp_spark.adb (Expand_SPARK_Op_Ne): New function to rewrite
+	operator /= into negation of operator = when needed.
+	(Expand_SPARK): Call new
+	function to expand operator /=.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_fixd.adb (Expand_Divide_Fixed_By_Fixed_Giving_Fixed):
+	Simplify the expression for a fixed-fixed division to remove
+	divisions by constants whenever possible, as an optimization
+	for restricted targets.
+
+2017-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb, sem_ch3.adb, sem_ch6.adb: Minor reformatting.
+
+2017-05-02  Bob Duff  <duff@adacore.com>
+
+	* exp_attr.adb (Callable, Identity, Terminated): Use Find_Prim_Op
+	to find primitive ops, instead of using an Identifier that will
+	later be looked up. This is necessary because these ops are not
+	necessarily visible at all places where we need to call them.
+	* exp_util.ads: Minor comment fix.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Fully_Conformant_Expressions): Two entity
+	references are fully conformant if they are both expansions
+	of the discriminant of a protected type, within one of the
+	protected operations. One occurrence may be expanded into a
+	constant declaration while the other is an input parameter to
+	the corresponding generated subprogram.
+
+2017-05-02  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Check_For_Null_Excluding_Components): Created for
+	recursivly searching composite-types for null-excluding access
+	types and verifying them.
+	(Analyze_Object_Declaration): Add a
+	call to Check_Null_Excluding_Components for static verification
+	of non-initialized objects.
+	* checks.adb, checks.ads (Null_Exclusion_Static_Checks): Added
+	a parameter for a composite-type's component and an extra case
+	for printing component information.
+
+2017-05-02  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch10.adb (Analyze_Subunit): Take
+	configuration pragma into account when restoring appropriate
+	pragma for analysis of subunit.
+
+2017-05-02  Justin Squirek  <squirek@adacore.com>
+
+	* s-tasren.adb, s-tasini.adb, s-taprop-linux.adb,
+	s-mudido-affinity.adb,, a-exetim-posix.adb, a-direio.adb,
+	g-socket.adb, s-taenca.adb, s-fileio.adb: Remove unused use-type
+	clauses from the runtime.
+
+2017-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Check_Component_Storage_Order): Do not treat bit-packed
+	array components specially.
+
+2017-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch8.adb (Premature_Usage): If the premature usage of
+	an entity is as the expression in its own object decaration,
+	rewrite the reference as Any_Id to prevent cascaded errors or
+	compiler loops when such an entity is used in an address clause.
+
+2017-05-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (components_to_record): Add missing guard.
+
+2017-05-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (components_to_record): Add more comments.
+	Put back pending fields onto the regular list if the misalignment
+	happens to cancel itself.
+
+2017-04-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Complete_Object_Operation): When rewriting the
+	controlling actual in a prefixed call, preserve the original node
+	information if the prefix itself has been rewritten, for ASIS use.
+
+2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb (Insert_Post_Call_Actions):
+	Code clean up. Insert the post-call actions after an enclosing
+	procedure call when N denotes a function call and appears as an
+	actual parameter in the procedure call.
+
+2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Check_Component_Storage_Order): If there is a clause
+	for the component, also reject the attribute if the component
+	doesn't end on a byte boundary and its scalar storage order is
+	different from that of the enclosing record type.
+
+2017-04-28  Javier Miranda  <miranda@adacore.com>
+
+	* atree.ads (Info_Messages): Removed.
+	(Warning_Info_Messages): New counter.
+	(Report_Info_Messages): New counter.
+	* err_vars.ads Update documentation.
+	* errout.adb (Delete_Warning_And_Continuations): Update
+	Info_Message occurrences.
+	(Error_Msg_Internal): Update Info_Message occurrences.
+	(Delete_Warning): Update Info_Message occurrences.
+	(Write_Error_Summary): Update Info_Message occurrences.
+	(Output_Messages): Update Info_Message occurrences.
+	(To_Be_Removed): Update Info_Message occurrences.
+	(Reset_Warnings): Update Info_Message occurrences.
+	* errutil.adb (Error_Msg): Update Info_Message occurrences.
+	(Finalize): Update Info_Message occurrences.
+	(Initialize): Update Info_Message occurrences.
+	* erroutc.adb (Delete_Msg): Update Info_Message occurrences.
+	(Compilation_Errors): Update Info_Message_Occurences.
+
+2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+        * exp_ch3.adb (Build_Init_Statements): Likewise on Nam.
+        * freeze.adb (Check_Component_Storage_Order): And on Comp_Byte_Aligned.
+        * sem_aggr.adb (Resolve_Record_Aggregate): Initialize Box_Node.
+        * sem_attr.adb (Loop_Entry): Initialize Encl_Loop.
+        * sem_ch12.adb (Build_Operator_Wrapper): Add pragma Warnings on Expr.
+        * sem_ch13.adb (Validate_Address_Clauses): Initialize Y_Alignment and
+        Y_Size.
+        * sem_eval.adb (Why_Not_Static): Initialize Typ.
+        * sem_prag.adb (Analyze_Pragma): Add pragma Warnings on Str.
+
+2017-04-28  Bob Duff  <duff@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Might_Raise): New function
+	that replaces Is_Exception_Safe, but has the opposite
+	sense. Is_Exception_Safe was missing various cases -- calls inside
+	a pragma Debug, calls inside an 'if' or assignment statement,
+	etc. Might_Raise now walks the entire subtree looking for things
+	that can raise.
+	* exp_ch9.adb (Is_Exception_Safe): Remove.
+	(Build_Protected_Subprogram_Body): Replace call to
+	Is_Exception_Safe with "not Might_Raise". Misc cleanup (use
+	constants where possible).
+	* exp_ch7.adb: Rename Is_Protected_Body -->
+	Is_Protected_Subp_Body. A protected_body is something different
+	in the grammar.
+
+2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* inline.adb (Expand_Inlined_Call): Initialize Targ1 variable.
+	* par-ch3.adb (P_Component_Items): Initialize Decl_Node variable.
+	(P_Discrete_Choice_List): Initialize Expr_Node variable.
+	* par-ch9.adb (P_Task): Initialize Aspect_Sloc variable.
+	(P_Protected): Likewise.
+	* sem_case.adb (Check_Duplicates):
+	Add pragma Warnings on variable.
+	* sem_ch12.adb (Preanalyze_Actuals): Initialize Vis variable.
+	* sem_ch4.adb (List_Operand_Interps):  Add pragma Warnings on variable.
+	* sem_ch5.adb (Analyze_Assignment): Initialize Save_Full_Analysis.
+	(Analyze_Exit_Statement): Initialize Scope_Id variable.
+	(Analyze_Iterator_Specification): Initialize Bas variable.
+	* sem_ch9.adb (Allows_Lock_Free_Implementation): Initialize
+	Error_Count (Satisfies_Lock_Free_Requirements): Likewise.
+	(Analyze_Accept_Statement): Initialize Task_Nam.
+
+2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Install_Primitive_Elaboration_Check):
+	Do not generate an elaboration check if all checks have been
+	suppressed.
+
+2017-04-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specifications, case
+	Interrupt_Handler and Attach_Handler): Generate reference
+	to protected operation to prevent spurious warnings about
+	unreferenced entities. Previous scheme failed with style checks
+	enabled.
+
+2017-04-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Relocate_Pragmas_To_Body): A pragma Warnings
+	that follows an expression function must not be relocated to
+	the generated body, because it applies to the code that follows.
+
+2017-04-28  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test
+	Relaxed_RM_Semantics to avoid having CodePeer issue errors on
+	code that might violate the more stringent checking for 'Access
+	introduced in Ada 2005.
+
+2017-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-cforse.adb: minor style fix in comment.
+
+2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Also
+	initialize Block_Decls variable.
+	(Expand_Entry_Barrier): Add pragma Warnings on Func_Body variable.
+	(Build_Dispatching_Requeue): Add pragma Warnings on Op variable.
+	* exp_disp.adb (Expand_Interface_Actuals): Initialize
+	Formal_DDT and Actual_DDT variables.
+	(Expand_Interface_Thunk): Initialize Iface_Formal.
+	(Make_DT): Initialize Size_Comp.
+	(Make_Select_Specific_Data_Table): Initialize Decls.
+	* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
+	Also initialize more RPC_Receiver_* variables.
+	(Build_To_Any_Function): Initialize Cstr_Formal.
+	* exp_prag.adb (Expand_Pragma_Contract_Cases): Initialize Msg_Str.
+
+2017-04-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Freeze_Type_Refs): For an interface conversion
+	node between access types, freeze the designated type as well,
+	so that dispatch table pointers are created in the proper scope,
+	and not in the constructed body of the expression function.
+
+2017-04-28  Bob Duff  <duff@adacore.com>
+
+	* alloc.ads (Nodes_Initial): Go back to previous value. The large
+	value makes large compilations faster, but small compilations slower.
+
+2017-04-28  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb: minor typos in Is_Child_Or_Sibling.
+
+2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* erroutc.adb (Compilation_Errors): Do not consider info messages
+	as suitable warnings when warnings must be treated as errors.
+	* sem_ch7.adb (Analyze_Package_Specification): Do not consider
+	internally-generated packages when outputting completion
+	information.
+	* errout.adb (Output_Messages): Do not consider info messages as
+	suitable warnings when warnings must be treated as errors.
+	* errutil.adb (Finalize): Do not consider info messages as
+	suitable warnings when warnings must be treated as errors.
+
+2017-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* warnsw.ads: Minor fix for incorrect wording in comment.
+
+2017-04-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (In_Instance_Code): New predicate in
+	Valid_Conversion, to determine whether a type conversion appears
+	as (or within) an actual for a formal object.  Type conversions
+	in instances are not rechecked in Valid_Conversion because
+	visibility changes between generic location andi instance may
+	lead to spurious errors, but conversions within an actual must be
+	fully checked, and they are not fully resolved when pre-analyzing
+	the actuals.
+
+2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Use
+	New_Copy_Tree instead of Relocate_Node as any subsequent copies
+	of the relocated node will have mangled Parent pointers.
+	* sem_util.adb (Build_NCT_Hash_Tables): Reset both hash
+	tables used in conjunction with entity and itype replication.
+	(Visit_Entity): Rewrite the restriction on which entities
+	require duplication.  The restriction now includes all types.
+
+2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* a-cofuse.ads, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfinve.adb,
+	a-cfinve.ads, a-cforma.adb, a-cforma.ads, a-cofuma.adb, a-cofuma.ads,
+	a-cfhama.adb, a-cfhama.ads, a-cforse.adb: Minor reformatting and code
+	cleanups.
+
+2017-04-28  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb, g-dyntab.adb, par-ch4.adb, sem_util.adb, sem_attr.adb,
+	gnat1drv.adb, exp_disp.adb, namet.adb, alloc.ads: Minor reformatting.
+
+2017-04-28  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.adb: Minor reformatting.
+
+2017-04-28  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb: Fix copy/pasto.
+
+2017-04-27  Tristan Gingold  <gingold@adacore.com>
+
+	* gcc-interface/Make-lang.in: Define EH_MECHANISM while building
+	raise-gcc.c. Fix include search path for raise-gcc.c
+
+2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* fe.h (Warn_On_Questionable_Layout): Declare.
+	* warnsw.ads (Warn_On_Record_Holes): Move down.
+	(Warn_On_Questionable_Layout): New boolean variable.
+	(Warning_Record): Add Warn_On_Questionable_Layout field.
+	* warnsw.adb (All_Warnings): Set Warn_On_Questionable_Layout.
+	(Restore_Warnings): Likewise.
+	(Save_Warnings): Likewise.
+	(Set_Dot_Warning_Switch): Handle 'q' and 'Q' letters.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to
+	components_to_record.
+	(gnu_field_to_gnat): New function.
+	(warn_on_field_placement): Likewise.
+	(components_to_record): Add GNAT_RECORD_TYPE and remove REORDER
+	parameters.  Rename local variables and adjust recursive call.
+	Rework final scan of the field list and implement warnings on the
+	problematic placement of specific sorts of fields.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* errout.adb, exp_aggr.adb, exp_attr.adb, exp_code.adb, fname.adb,
+	* fname.ads, freeze.adb, inline.adb, lib.adb, lib.ads, lib-list.adb,
+	* lib-load.adb, lib-writ.adb, par.adb, restrict.adb, rtsfind.adb,
+	* sem.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb,
+	* sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb,
+	* sem_intr.adb, sem_res.adb, sem_util.adb, sem_warn.adb, sprint.adb:
+	For efficiency, cache results of Is_Internal_File_Name and
+	Is_Predefined_File_Name in the Units table. This avoids a lot
+	of repeated text processing.
+
+2017-04-27  Emmanuel Briot  <briot@adacore.com>
+
+	* g-comlin.adb (Sort_Sections): remove useless test.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cfhase.adb, a-cfhase.ads (=): Generic parameter removed to
+	allow the use of regular equality over elements in contracts.
+	(Formal_Model): Ghost package containing model functions that are
+	used in subprogram contracts.
+	(Current_To_Last): Removed, model functions should be used instead.
+	(First_To_Previous): Removed, model functions should be used instead.
+	(Strict_Equal): Removed, model functions should be used instead.
+	(No_Overlap): Removed, model functions should be used instead.
+	(Equivalent_Keys): Functions over cursors are removed. They were
+	awkward with explicit container parameters.
+	* a-cforse.adb, a-cforse.ads (=): Generic parameter removed to
+	allow the use of regular equality over elements in contracts.
+	(Formal_Model): Ghost package containing model functions that
+	are used in subprogram contracts.
+	(Current_To_Last): Removed, model functions should be used instead.
+	(First_To_Previous): Removed, model functions should be used instead.
+	(Strict_Equal): Removed, model functions should be used instead.
+	(No_Overlap): Removed, model functions should be used instead.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb: Code cleanup.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Replace_Entity): The prefix of a 'Result
+	attribute reference in a post- condition is the subprogram to
+	which the condition applies. If the condition is inherited
+	by a type extension, the prefix becomes a reference to the
+	inherited operation, but there is no need to create a wrapper
+	for this operation, because 'Result is expanded independently
+	when elaborating the postconditions.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* sinput.adb: Minor code cleanup.
+	* namet.adb (Append): Create faster versions of
+	Append(String) and Append(Name_Id) by using slice assignment
+	instead of loops.
+	* sem_util.adb (In_Instance): Speed this up by removing
+	unnecessary tests; Is_Generic_Instance is defined for all
+	entities.
+	* sem_util.ads, sem_util.adb (In_Parameter_Specification):
+	Remove unused function.
+	* alloc.ads (Nodes_Initial): Use a much larger value, because
+	the compiler was spending a lot of time copying the nodes table
+	when it grows. This number was chosen in 1996, so is rather out
+	of date with current memory sizes. Anyway, it's virtual memory.
+	Get rid of Orig_Nodes_...; use Node_... instead.
+	* atree.adb (Lock): Do not release the Nodes tables; it's a
+	waste of time.
+	Orig_Nodes_ ==> Nodes_
+	* nlists.adb: Orig_Nodes_ ==> Nodes_
+	* g-table.adb: Remove unused "with" clause.
+	* g-table.ads, table.ads: Remove Big_Table_Type, which should
+	not be used by clients.
+	* g-dyntab.adb (Last_Allocated): New function
+	to encapsulate T.P.Last_Allocated, which I'm thinking of changing.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_eval.adb (Subtypes_Statically_Compatible): Remove duplicated
+	check.
+	(Subtypes_Statically_Match): Remove duplicate check.
+	* sem_prag.adb (Check_Arg_Is_External_Name): Remove duplicate check.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Replace_Type): Remove the special processing
+	for selected components.
+	* exp_attr.adb (Expand_N_Attribute_Reference): Merge the
+	processing for attributes Fixed_Value and Integer_Value.
+	* exp_util.adb (Side_Effect_Free): Merge the processing for
+	qualified expressions, type conversions, and unchecked type
+	conversions.
+	* g-comlin.adb (Is_In_Config): Merge the processing for No_Space
+	and Optional.
+	* par-ch3.adb (P_Declarative_Items): Merge the processing for
+	tokens function, not, overriding, and procedure.
+	* sem_ch6.adb (Fully_Conformant_Expressions): Merge the processing
+	for qualified expressions, type conversions, and unchecked
+	type conversions.
+	* sem_util.adb (Compile_Time_Constraint_Error): Merge the
+	processing for Ada 83 and instances.
+	(Object_Access_Level): Merge the processing for indexed components
+	and selected components.
+	* uname.adb (Add_Node_Name): Merge the processing for stubs.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Install_Primitive_Elaboration_Check):
+	Do not generate the check when restriction No_Elaboration_Code
+	is in effect.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_disp.adb (Build_Class_Wide_Check): New subsidiary
+	of Expand_Dispatching_Call. If the denoted subprogram has a
+	class-wide precondition, this is the only precondition that
+	applies to the call, rather that the class-wide preconditions
+	that may apply to the body that is executed. (This is specified
+	in AI12-0195).
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): Issue
+	a warning in GNATprove mode if the runtime library does not
+	support IEEE-754 floats.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Inherit_Class_Wide_Pre): If the parent operation
+	is itself inherited it does not carry any contract information,
+	so examine its parent operation which is its Alias.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Image): In Ada2012 the
+	prefix can be an object reference in which case Obj'Image (X)
+	can only be interpreted as an indexing of the parameterless
+	version of the attribute.
+	* par-ch4.adb (P_Name): An attribute reference can be the prefix of
+	an indexing or a slice operation if the attribute does not require
+	parameters. In Ada2012 'Image also belongs in this category,
+	and A'Image (lo .. hi) is legal and must be parsed as a slice.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* exp_ch4.adb: Minor reformatting.
+	* gnat1drv.adb (Adjust_Global_Switches): When in GNATprove mode,
+	disable the CodePeer and C generation modes. Similar to the
+	opposite actions done in CodePeer mode.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb: Remove duplicate code.
+	* sem_attr.adb: Delete duplicate code.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* g-dyntab.adb: Reduce the amount of copying in
+	Release. No need to copy items past Last.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb Add with and use clauses for Sem_Disp.
+	(Install_Primitive_Elaboration_Check): New routine.
+	* checks.ads (Install_Primitive_Elaboration_Check): New routine.
+	* exp_attr.adb (Expand_N_Attribute_Reference): Clean up the
+	processing of 'Elaborated.
+	* exp_ch6.adb (Expand_N_Subprogram_Body): Install a primitive
+	elaboration check.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* g-dyntab.ads, g-dyntab.adb, g-table.ads: Remove incorrect assertion.
+	If the table grows and then shrinks back to empty, we won't necessarily
+	point back to the empty array. Code cleanups.
+	* sinput.ads: Add 'Base to Size clause to match the declared
+	component subtypes.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cforma.adb, a-cforma.ads (=): Generic parameter removed to
+	allow the use of regular equality over elements in contracts.
+	(Formal_Model): Ghost package containing model functions that
+	are used in subprogram contracts.
+	(Current_To_Last): Removed, model functions should be used instead.
+	(First_To_Previous): Removed, model functions should be used instead.
+	(Strict_Equal): Removed, model functions should be used instead.
+	(No_Overlap): Removed, model functions should be used instead.
+	* a-cofuma.adb, a-cofuma.ads (Enable_Handling_Of_Equivalence)
+	Boolean generic parameter to disable contracts for equivalence
+	between keys.
+	(Witness): Create a witness of a key that is used for handling of
+	equivalence between keys.
+	(Has_Witness): Check whether a witness is contained in a map.
+	(W_Get): Get the element associated to a witness.
+	(Lift_Equivalent_Keys): Removed, equivalence between keys is handled
+	directly.
+	* a-cofuse.adb, a-cofuse.ads (Enable_Handling_Of_Equivalence)
+	Boolean generic parameter to disable contracts for equivalence
+	between keys.
+	* a-cfhama.adb, a-cfhama.ads (Formal_Model.P) Disable handling
+	of equivalence on functional maps.
+	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model.P) Disable handling
+	of equivalence on functional maps.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb (Expand_Entry_Barrier): Code
+	cleanup. Do not perform the optimization which removes the
+	declarations of the discriminant and component renamings when
+	validity checks on operands and attributes are in effect.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_spark.adb, exp_util.adb, sem_ch7.adb, g-dyntab.adb, g-dyntab.ads,
+	freeze.adb, a-cfinve.ads, a-cofuma.adb, a-cofuma.ads, a-cfhama.adb,
+	a-cfhama.ads, a-cofove.ads: Minor reformatting.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* g-debpoo.adb (Dump_Gnatmem): Protect against a possible null
+	pointer dereference.
+	* g-spipat.adb (Dump): Code clean up. Protect against a possible
+	null pointer dereference.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* g-dyntab.ads, g-dyntab.adb: Default for Table_Low_Bound.
+	Rename Empty --> Empty_Table_Ptr, and don't duplicate code for it.
+	Free renames Init, since they do the same thing.
+	* g-table.ads: Default for Table_Low_Bound.
+	* table.ads: Default for Table_Low_Bound, Table_Initial, and
+	Table_Increment.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* g-dyntab.ads, g-dyntab.adb: Add assertions to subprograms that
+	can reallocate.
+	* atree.adb, elists.adb, fname-uf.adb, ghost.adb, inline.adb,
+	* lib.adb, namet.adb, nlists.adb, sem.adb, sinput.adb, stringt.adb:
+	Reorder code so that above assertions do not fail.
+	* table.ads: Remove obsolete comment on Locked.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cfdlli.ads: Code cleanup.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK_Freeze_Type): Build a DIC procedure
+	when needed for proof.	(Expand_SPARK): Call the new procedure.
+	* exp_util.ads Fix typo.
+
+2017-04-27  Gary Dismukes  <dismukes@adacore.com>
+
+	* a-cofuma.ads, a-cfhama.ads: Minor reformatting, grammar, and typo
+	fixes.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb Add new type Visited_Element
+	and update the contents of table Elab_Visited.	Various code clean up.
+	(Check_Elab_Call): Determine whether a prior call to
+	the same subprogram was already examined within the same context.
+	(Check_Internal_Call_Continue): Register the subprogram being
+	called as examined within a particular context. Do not suppress
+	elaboration warnings.
+
+2017-04-27  Gary Dismukes  <dismukes@adacore.com>
+
+	* xoscons.adb, osint.ads: Minor reformatting.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* g-dyntab.ads, g-dyntab.adb: Misc cleanup. Rename
+	Table_Count_Type --> Table_Last_Type, because the name
+	was confusing (a "count" usually starts at zero).  Add
+	functionality supported or needed by other tables packages
+	(Move, Release_Threshold).
+	* g-table.ads, g-table.adb: This is now just a thin wrapper
+	around g-dyntab.ads/g-dyntab.adb.  Add functionality supported
+	or needed by other tables packages (Save, Restore).
+	* table.ads, table.adb: This is now just a thin wrapper around
+	* g-table.ads/g-table.adb.
+	* namet.h, scos.h, uintp.h: These files are reaching into the
+	private data of some instances of g-table, whose names changed,
+	so the above change requires some adjustment here. It now uses
+	public interfaces.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* namet.adb, namet.ads: Minor: remove unused procedures.
+
+2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* checks.adb (Apply_Scalar_Range_Check): Initialize Ok variable too.
+	(Minimize_Eliminate_Overflows): Initialize Llo and Lhi.
+	Add pragma Warnings on Rtype variable in nested block.	*
+	* exp_ch3.adb (Build_Init_Statements): Initialize VAR_LOC.
+	* exp_ch4.adb (Expand_Concatenate): Initialize 3 variables.
+	(Size_In_Storage_Elements): Add pragma Warnings on Res variable.
+	* exp_ch7.adb (Build_Adjust_Statements): Initialize Bod_Stmts.
+	(Process_Component_List_For_Finalize): Initialize Counter_Id.
+	(Build_Finalize_Statements): Initialize Bod_Stmts.
+	* exp_disp.adb (Expand_Dispatching_Call): Initialize SCIL_Node.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cfhama.adb, a-cfhamai.ads (=): Generic parameter removed to
+	allow the use of regular equality over elements in contracts.
+	(Formal_Model): Ghost package containing model functions that are
+	used in subprogram contracts.
+	(Current_To_Last): Removed, model
+	functions should be used instead.
+	(First_To_Previous): Removed, model functions should be used instead.
+	(Strict_Equal): Removed, model functions should be used instead.
+	(No_Overlap): Removed, model functions should be used instead.
+	(Equivalent_Keys): Functions over cursors are removed. They were
+	awkward with explicit container parameters.
+	* a-cofuma.adb, a-cofuma.ads (Lift_Equivalent_Keys): New lemma
+	(proof only) procedure to help GNATprove when equivalence over
+	keys is not equality.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb, a-cfdlli.adb, a-cfdlli.ads, exp_ch9.adb, g-dyntab.adb,
+	sem_dim.adb, a-cfinve.adb, a-cfinve.ads, a-cofove.adb, a-cofove.ads:
+	Minor reformatting and code cleanups.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Build_Inherited_Condition_Pragmas): New procedure,
+	subsidiary of Check_Inherited_Conditions, to build pragmas for an
+	operation whose ancestor has classwide pre/postconditions. This
+	is used both to check the legality of the inheritance in Ada
+	and in SPARK, and to determine whether a wrapper is needed for
+	an inherited operation.
+	* exp_util.adb (Build_Class_Wide_Expression, Replace_Entity):
+	Improve placement of error message for inherited classwide
+	conditions that become illegal on type derivation.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Set
+	SPARK_Mode from context on generic package.
+	* sem_ch7.adb (Analyze_Package_Declaration): Simplify code to remove
+	useless test.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cofuve.ads (Range_Shifted): Rewrite precondition to avoid
+	overflows in computations.
+	* a-cofove.ads (Capacity_Range): Rewrite last bound to avoid
+	overflows in computations.
+	(Insert): Rewrite precondition to avoid overflows in computations.
+	* a-cfinve.ads (Capacity_Range): Rewrite last bound to avoid
+	overflows in computations.
+	(Insert): Rewrite precondition to avoid overflows in computations.
+
+2017-04-27  Steve Baird  <baird@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Asynchronous_Select): Initialize the Cancel
+	flag when it is declared in order to avoid confusing CodePeer about
+	the possibility of an uninitialized variable read.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension_Object_Declaration): There is
+	no dimensionality error if the subtype of the expression is
+	identical to the nominal subtype in the declaration, even though
+	the expression itself may have been constant-folded and lack a
+	dimension vector.
+	* sem_dim.ads: Add comments on setting of dimension vectors and
+	its interaction with node rewritings and side-effect removal.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* debug.adb: Minor comment correction.
+	* sem_dim.ads: Minor reformatting and typo fixes.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* g-table.adb, g-table.adsa, scos.h: From the C side, access First and
+	Last of the tables via function calls, rather than relying on layout
+	of data structures.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb: No wrapper in GNATprove mode.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Comparison_Op): Always
+	evaluate comparisons between values of universal types.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Check_Internal_Call_Continue): Do not generate
+	an elaboration counter nor a check when in GNATprove mode.
+	* sem_util.adb (Build_Elaboration_Entity): Do not create an
+	elaboration counter when in GNATprove mode.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb: copy-paste typo.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Pre_Post_In_Decl_Part):
+	Use correct test to detect call in GNATprove mode instead of
+	compilation.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model.M_Elements_In_Union):
+	New property function expressing that the element of a
+	sequence are contained in the union of two sequences.
+	(Formal_Model.M_Elements_Included): New property function
+	expressing that the element of a sequence are another sequence.
+	(Generic_Sorting): Use new property functions to state that
+	elements are preserved by Sort and Merge.
+	* a-cofove.adb, a-cofove.ads (=): Generic parameter removed to
+	allow the use of regular equality over elements in contracts.
+	(Formal_Model): Ghost package containing model functions
+	that are used in subprogram contracts.	(Capacity):
+	On unbounded containers, return the maximal capacity.
+	(Current_To_Last): Removed, model functions should be used instead.
+	(First_To_Previous): Removed, model functions should be used instead.
+	(Append): Default parameter value replaced
+	by new wrapper to allow more precise contracts.
+	(Insert): Subprogram restored, it seems it was useful to users even if
+	it is inefficient.
+	(Delete): Subprogram restored, it seems it was useful to users even if
+	it is inefficient.
+	(Prepend): Subprogram restored, it seems it was useful to users even
+	if it is inefficient.
+	(Delete_First): Subprogram restored, it seems it
+	was useful to users even if it is inefficient.	(Delete_Last):
+	Default parameter value replaced by new wrapper to allow more
+	precise contracts.
+	(Generic_Sorting.Merge): Subprogram restored.
+	* a-cfinve.adb, a-cfinve.ads (=): Generic parameter removed to
+	allow the use of regular equality over elements in contracts.
+	(Formal_Model): Ghost package containing model functions
+	that are used in subprogram contracts.	(Capacity):
+	On unbounded containers, return the maximal capacity.
+	(Current_To_Last): Removed, model functions should be used
+	instead.
+	(First_To_Previous): Removed, model functions should be used instead.
+	(Append): Default parameter value replaced
+	by new wrapper to allow more precise contracts.
+	(Insert): Subprogram restored, it seems it was useful to users even if
+	it is inefficient.
+	(Delete): Subprogram restored, it seems it was useful to users even if
+	it is inefficient.
+	(Prepend): Subprogram restored, it seems it was useful to users even
+	if it is inefficient.
+	(Delete_First): Subprogram restored, it seems it
+	was useful to users even if it is inefficient.	(Delete_Last):
+	Default parameter value replaced by new wrapper to allow more
+	precise contracts.
+	(Generic_Sorting.Merge): Subprogram restored.
+	(Vector): Do not reuse formal vectors, as it is no longer possible
+	to supply them with an equality function over elements.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* g-dyntab.adb (Release): When allocating the new
+	table, use the correct slice of the old table to initialize it.
+
+2017-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* einfo.ads: Minor fixes in comments.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb: disable clones in SPARK_Mode.
+
+2017-04-27  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_util.ads, contracts.adb: Minor reformatting.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb, sem_util.ads (Build_Class_Wide_Clone_Body):
+	Build body of subprogram that has a class-wide condition that
+	contains calls to other primitives.
+	(Build_Class_Wide_Clone_Call); Build a call to the common
+	class-wide clone of a subprogram with classwide conditions. The
+	body of the subprogram becomes a wrapper for a call to the
+	clone. The inherited operation becomes a similar wrapper to which
+	modified conditions apply, and the call to the clone includes
+	the proper conversion in a call the parent operation.
+	(Build_Class_Wide_Clone_Decl (Spec_Id : Entity_Id): For a
+	subprogram that has a classwide condition that contains calls to
+	other primitives, build an internal subprogram that is invoked
+	through a type-specific wrapper for all inherited subprograms
+	that may have a modified condition.
+	* sem_prag.adb (Check_References): If subprogram has a classwide
+	condition, create entity for corresponding clone, to be invoked
+	through wrapper subprograns.
+	(Analyze_Pre_Post_Condition_In_Decl_Part): Do not emit error
+	message about placement if pragma isi internally generated.
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If subprogram has
+	a classwide clone, build body of clone as copy of original body,
+	and rewrite original body as a wrapper as a wrapper for a call to
+	the clone, so that it incorporates the original pre/postconditions
+	of the subprogram.
+	* freeze.adb (Check_Inherited_Conditions): For an inherited
+	subprogram that inherits a classwide condition, build spec and
+	body of corresponding wrapper so that call to inherited operation
+	gets the modified conditions.
+	* contracts.adb (Analyze_Contracts): If analysis of classwide
+	condition has created a clone for a primitive operation, analyze
+	declaration of clone.
+
+2017-04-27  Steve Baird  <baird@adacore.com>
+
+	* exp_util.adb (Build_Allocate_Deallocate_Proc):
+	Add "Suppress => All_Checks" to avoid generating unnecessary
+	checks.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* debug.adb: Reserve debug flag 'm' for no inlining in GNATprove.
+	* sem_ch6.adb (Anayze_Subprogram_Body_Helper): Skip creation of
+	inlining body in GNATprove mode when switch -gnatdm used.
+	* sem_res.adb (Resolve_Call): Skip detection of lack of inlining
+	in GNATprove mode when switch -gnatdm used.
+
+2017-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch13.adb (Analyze_Attribute_Definition_Clause
+	[Attribute_Address]): Call Set_Address_Taken when ignoring rep
+	clauses, so that we keep an indication of the address clause
+	before removing it from the tree.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* exp_util.ads, exp_util.adb (Evaluate_Name): Force evaluation
+	of expression being qualified, when not an object name, or else
+	evaluate the underlying name.
+
+2017-04-27  Jerome Lambourg  <lambourg@adacore.com>
+
+	* bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: add -nognarl switch.
+
+2017-04-27  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch7.adb (Build_Finalize_Statements): Move Num_Comps to
+	Process_Component_List_For_Finalization as a local variable.
+	(Process_Component_For_Finalize): Add an extra parameter to avoid
+	global references.
+	(Process_Component_List_For_Finalization): Correct calls to
+	Process_Component_For_Finalize to take Num_Comps as a parameter.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch8.adb (Find_Direct_Name): Account for the case where
+	a use-visible entity is defined within a nested scope of an
+	instance when giving priority to entities which were visible in
+	the original generic.
+	* sem_util.ads, sem_util.adb (Nearest_Enclosing_Instance): New routine.
+
+2017-04-27  Tristan Gingold  <gingold@adacore.com>
+
+	* raise-gcc.c: Don't use unwind.h while compiling
+	for the frontend, but mimic host behavior.
+
+2017-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch3.adb (Build_Discriminated_Subtype):
+	Propagate Has_Pragma_Unreferenced_Objects to the built subtype.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Global_Item):
+	Do not consider discriminants because they are not "entire
+	objects". Remove the discriminant-related checks because they are
+	obsolete.
+	(Analyze_Input_Output): Do not consider discriminants
+	because they are not "entire objects".
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not
+	perform check if the current scope does not come from source,
+	as is the case for a rewritten task body, because check has
+	been performed already, and may not be doable because of changed
+	visibility.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* a-cofuse.adb, a-cfdlli.adb, a-cofuse.ads, a-cfdlli.ads, a-cofuve.adb,
+	a-cofuve.ads, a-cofuma.adb, a-cofuma.ads, sem_eval.adb, a-cofuba.adb:
+	Minor reformatting.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Call): If the return type of a function
+	is incomplete in an context in which the full view is available,
+	replace the type of the call by the full view, to prevent spurious
+	type errors.
+	* exp_disp.adb (Check_Premature_Freezing): Disable check on an
+	abstract subprogram so that compiler does not reject a parameter
+	of a primitive operation of a tagged type being frozen, when
+	the untagged type of that parameter cannot be frozen.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Compute_Type_Key): Don't walk
+	representation items for irrelevant types, which could be in a
+	different source file.
+
+2017-04-27  Steve Baird  <baird@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference):
+	Don't expand Image, Wide_Image, Wide_Wide_Image attributes
+	for CodePeer.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* exp_unst.ads: Fix typos in comments.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_eval.adb (Choice_Matches): Handle properly a real literal
+	whose type has a defined static predicate.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Insert_Dereference_Action):
+	Do not adjust the address of a controlled object when the
+	associated access type is subject to pragma No_Heap_Finalization.
+	Code reformatting.
+
+2017-04-27  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/utils.c (gnat_type_for_size): Set
+        TYPE_ARTIFICIAL on created types.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to
+	modifications in functional containers.
+	* a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat
+	to improve readablity. Subprograms are separated between basic
+	operations, constructors and properties. Universally quantified
+	formulas in contracts are factorized in independant functions
+	with a name and a comment.  Names of parameters are improved.
+
+2017-04-27  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Resolve_Type_Conversion): Do not
+	install a predicate check here since this is already done during
+	the expansion phase. Verify whether the operand satisfies the
+	static predicate (if any) of the target type.
+	* sem_ch3.adb (Analyze_Object_Declaration): Do
+	not install a predicate check if the object is initialized by
+	means of a type conversion because the conversion is subjected
+	to the same check.
+
+2017-04-27  Tristan Gingold  <gingold@adacore.com>
+
+	* raise.c (__gnat_builtin_longjmp): Remove.
+	(__gnat_bracktrace):
+	Add a dummy definition for the compiler (__gnat_eh_personality,
+	__gnat_rcheck_04, __gnat_rcheck_10) (__gnat_rcheck_19,
+	__gnat_rcheck_20, __gnat_rcheck_21) (__gnat_rcheck_30,
+	__gnat_rcheck_31, __gnat_rcheck_32): Likewise.
+	* a-exexpr.adb: Renamed from a-exexpr-gcc.adb
+	* a-except.ads, a-except.adb: Renamed from a-except-2005.ads
+	and a-except-2005.adb.
+	* raise-gcc.c: Allow build in compiler, compiled as a C++
+	file.
+	(__gnat_Unwind_ForcedUnwind): Adjust prototype.
+	(db): Constify msg_format.
+	(get_call_site_action_for): Don't use void arithmetic.
+	* system.ads (Frontend_Exceptions): Set to False.
+	(ZCX_By_Default): Set to True.
+	(GCC_ZC_Support): Set to True.
+	* gcc-interface/Makefile.in: No more variants for a-exexpr.adb and
+	a-except.ad[sb].
+	* gcc-interface/Make-lang.in: Add support for backend zcx exceptions
+	in gnat1 and gnatbind.
+	* gnat1, gnatbind: link with raise-gcc.o, a-exctra.o, s-addima.o,
+	s-excmac.o, s-imgint.o, s-traceb.o, s-trasym.o, s-wchstw.o
+	* s-excmac.ads, s-excmac.adb: Copy of variants.
+	* a-except.o: Adjust preequisites.
+	Add handling of s-excmac-arm.adb and s-excmac-gcc.adb.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to
+	modifications in functional containers.
+	* a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat
+	to improve readablity. Subprograms are separated between basic
+	operations, constructors and properties. Universally quantified
+	formulas in contracts are factorized in independant functions
+	with a name and a comment.  Names of parameters are improved.
+
+2017-04-27  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Resolve_Type_Conversion): Do not
+	install a predicate check here since this is already done during
+	the expansion phase. Verify whether the operand satisfies the
+	static predicate (if any) of the target type.
+	* sem_ch3.adb (Analyze_Object_Declaration): Do
+	not install a predicate check if the object is initialized by
+	means of a type conversion because the conversion is subjected
+	to the same check.
+
+2017-04-27  Tristan Gingold  <gingold@adacore.com>
+
+	* a-except.ads, a-except.adb, a-exexpr.adb: Removed (will be
+	replaced by their variants).
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_prag.adb, a-cofuse.adb, a-cofuse.ads, einfo.adb, sem_prag.adb,
+	cstand.adb, par-prag.adb, a-cofuve.adb, a-cofuve.ads, a-cofuma.adb,
+	a-cofuma.ads, a-cofuba.adb, a-cofuba.ads: Minor reformatting.
+
+2017-04-27  Tristan Gingold  <gingold@adacore.com>
+
+	* s-excmac-gcc.ads, s-excmac-gcc.adb,
+	s-excmac-arm.ads, s-excmac-arm.adb (New_Occurrence): Rewrite it in
+	Ada95.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Establish_Transient_Scope): Rewrite
+	the loop which detects potential enclosing transient scopes. The
+	loop now terminates much earlier as transient scopes are bounded
+	by packages and subprograms.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cfdlli.adb, a-cfdlli.ads (=): Generic parameter removed to
+	allow the use of regular equality over elements in contracts.
+	(Cursor): Type is now public so that it can be used in
+	model functions.
+	(Formal_Model): Ghost package containing
+	model functions that are used in subprogram contracts.
+	(Current_To_Last): Removed, model functions should be used
+	instead.
+	(First_To_Previous): Removed, model functions should
+	be used instead.
+	(Strict_Equal): Removed, model functions
+	should be used instead.
+	(Append): Default parameter value
+	replaced by new wrapper to allow more precise contracts.
+	(Insert): Default parameter value replaced by new wrapper to
+	allow more precise contracts.
+	(Delete): Default parameter
+	value replaced by new wrapper to allow more precise contracts.
+	(Prepend): Default parameter value replaced by new wrapper to
+	allow more precise contracts.
+	(Delete_First): Default parameter
+	value replaced by new wrapper to allow more precise contracts.
+	(Delete_Last): Default parameter value replaced by new wrapper
+	to allow more precise contracts.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK): Perform specialized expansion
+	for object declarations.
+	(Expand_SPARK_N_Object_Declaration): New routine.
+	* sem_elab.adb (Check_A_Call): Include calls to the
+	Default_Initial_Condition procedure of a type under the SPARK
+	elaboration checks umbrella.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem.adb (Analyze): Diagnose an illegal iterated component
+	association.
+	* sem_util.ads, sem_util.adb
+	(Diagnose_Iterated_Component_Association): New routine.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* adaint.c (__gnat_get_current_dir): Return 0 in length if
+	getcwd fails.
+	* a-direct.adb, g-dirope.adb, osint.adb, s-os_lib.adb: Raise
+	exception if getcwd failed.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* exp_dbug.adb, exp_dbug.ads (Get_External_Name): Prefix ghost
+	entities with special prefix.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* debug.adb Change the documentation of switch -gnatd.s.
+	* exp_ch7.adb (Make_Transient_Block): Transient blocks do not need
+	to manage the secondary stack when an enclosing scope already
+	performs this functionality (aka relaxed management). Switch
+	-gnatd.s may be used to force strict management in which case
+	the block will manage the secondary stack unconditionally. Add
+	a guard to stop the traversal when encountering a package or a
+	subprogram scope.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Refine further the handling of
+	limited views of return types in function calls. If the function
+	that returns a limited view appears in the current unit,
+	we do not replace its type by the non-limited view because
+	this transformation is performed int the back-end. However,
+	the type of the call itself must be the non-limited view, to
+	prevent spurious resolution errors.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo,ads, einfo.adb (Class_Wide_Preconds, Class_Wide_Postconds):
+	Removed, proposed implementation using generics for class-wide
+	preconditions proved impractical.
+	(Class_Wide_Clone): New attribute of subprogram. Designates
+	subprogram created for primitive operations with class-wide
+	pre/postconditions that contain calls to other primitives. The
+	clone holds the body of the original primitive, but the
+	pre/postonditions do not apply to it. The original body is
+	rewritten as a wrapper for a call to the clone.
+	(Is_Class_Wide_Clone): New flag to identify a Class_Wide_Clone. If
+	the flag is set, no code for the corresponding pre/postconditions
+	is inserted into its body.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* exp_prag.adb, par-prag.adb, sem_ch13.adb: Ignore
+	Scalar_Storage_Order if -gnatI is given.
+	* sem_prag.adb (Analyze_Pragma): Ignore
+	Default_Scalar_Storage_Order if -gnatI is given.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cofuba.ads (Add): Take as an additional input parameter
+	the position where the element should be inserted.
+	(Remove): New function that removes an element from the container.
+	* a-cofuma.ads (Add): Adapt to the new API of Base.Add.
+	* a-cofuse.ads (Add): Adapt to the new API of Base.Add.
+	(Remove): New function that removes an element from a set.
+	* a-cofuve.ads (Add): Adapt to the new API of Base.Add.
+	(Remove): New function that removes an element from a sequence.
+	(Insert): New function that adds anywhere in a sequence.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Generate_Range_Check): Revert previous change.
+
+2017-04-27  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_util.adb: Minor reformatting/rewording.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref.adb (Generate_Reference): The use
+	of attribute 'Result is not considered a violation of pragma
+	Unreferenced.
+
+2017-04-27  Justin Squirek  <squirek@adacore.com>
+
+	* cstand.adb (Create_Standard): Correctly set
+	Directly_Designated_Type for Any_Access.
+	* sem_type.adb (Covers): Minor grammar fixes.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb: Minor cleanup.
+
+2017-04-27  Claire Dross  <dross@adacore.com>
+
+	* a-cofuba.ads, a-cofuba.adb (Ada.Containers.Functional_Base): New
+	private child of Ada.Containers used to implement all functional
+	containers.
+	* a-cofuma.ads, a-cofuma.adb (Ada.Containers.Functional_Maps): New
+	child of Ada.Containers. It provides functional indefinite unbounded
+	maps which can be used as high level models for specification
+	of data structures.
+	* a-cofuse.ads, a-cofuse.adb (Ada.Containers.Functional_Sets): New
+	child of Ada.Containers. It provides functional indefinite unbounded
+	sets which can be used as high level models for specification
+	of data structures.
+	* a-cofuve.ads, a-cofuve.adb (Ada.Containers.Functional_Vectors): New
+	child of Ada.Containers.  It provides functional indefinite unbounded
+	vectors which can be used as high level models for specification
+	of data structures.
+	* Makefile.rtl: Add new packages.
+	* impunit.adb: Add new packages.
+
+2017-04-27  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch4.adb: Minor reformatting.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Associations): minor reformatting.
+	(Check_Fixed_Point_Actual): Do not emit a warning on a fixed
+	point type actual that has user-defined arithmetic primitives,
+	when there is a previous actual for a formal package that defines
+	a fixed-point type with the parent user-defined operator.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Generate_Range_Check): Reinstate part of previous change.
+	* sem_attr.adb (Resolve_Attribute): Generate a range check when
+	the component type allows range checks.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aux.adb (Is_Generic_Formal): Use original node to locate
+	corresponding declaration, because formal derived types are
+	rewritten as private extensions.
+
+2017-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension_Binary_Op): Do not check
+	dimensions of operands if node has been analyzed already, because
+	previous analysis and dimension checking will have removed the
+	dimension information from the operands.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* debug.adb: Document the use of switch -gnatd.s.
+	* einfo.ads Update the documentation on attribute
+	Sec_Stack_Needed_For_Return and attribute Uses_Sec_Stack. Remove
+	the uses of these attributes from certain entities.
+	* exp_ch7.adb (Make_Transient_Block): Reimplement the circuitry
+	which determines whether the block should continue to manage
+	the secondary stack.
+	(Manages_Sec_Stack): New routine.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* atree.ads: Minor edit.
+
+2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sinfo.ads: Update the section on Ghost mode. Add
+	a section on SPARK mode. Update the placement of section on
+	expression functions.
+
+2017-04-27  Bob Duff  <duff@adacore.com>
+
+	* sinput.adb (Get_Source_File_Index): Don't
+	assert that S is in the right range in the case where this is
+	a .dg file under construction.
+
+2017-04-27  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Check_Result_And_Post_State):
+	Handle more precisely each conjunct in expressions formed by
+	and'ing sub-expressions.
+
+2017-04-27  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch4.adb, sem_ch4.adb: Minor typo fix and reformatting.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat_rm.texi, gnat_ugn.texi,
+	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+	doc/gnat_ugn/platform_specific_information.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/the_gnat_library.rst,
+	doc/gnat_rm/implementation_defined_pragmas.rst,
+	doc/gnat_rm/representation_clauses_and_pragmas.rst,
+	doc/gnat_rm/implementation_of_specific_ada_features.rst,
+	doc/gnat_rm/implementation_defined_aspects.rst,
+	doc/gnat_rm/implementation_defined_characteristics.rst: Update
+	documentation.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Case_Expression): Emit error message when
+	generating C code on complex case expressions.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Generate a warning instead
+	of silently ignoring pragma Ada_xxx in Latest_Ada_Only mode.
+	* directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Use
+	Ada_2012 instead of Ada_2005 to be compatible with the above
+	change.
+	* bindgen.adb: Silence new warning on pragma Ada_95.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Generate_Range_Check): Revert part of previous change.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Try_Container_Indexing): Handle properly a
+	container indexing operation that appears as a an actual in a
+	parameter association in a procedure call.
+
+2017-04-25  Olivier Ramonat  <ramonat@adacore.com>
+
+	* prj-proc.adb, sem_util.adb, s-stposu.adb, sem_attr.adb, prj-conf.ads:
+	Fix spelling mistakes.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* types.ads, osint.adb, sinput-c.adb, sinput-d.adb, sinput-l.adb,
+	* sinput-p.adb: Use regular fat pointers, with bounds checking,
+	for source buffers.  Fix misc obscure bugs.
+	* sinput.ads, sinput.adb: Use regular fat pointers, with bounds
+	checking, for source buffers.  Modify representation clause for
+	Source_File_Record as appropriate.  Move Source_File_Index_Table
+	from spec to body, because it is not used outside the body.
+	Move Set_Source_File_Index_Table into the private part, because
+	it is used only in the body and in children.  Use trickery to
+	modify the dope in the generic instantiation case.  It's ugly,
+	but not as ugly as the previous method.  Fix documentation.
+	Remove obsolete code.
+	* fname-sf.adb, targparm.adb: Fix misc out-of-bounds
+	indexing in source buffers.
+	* fmap.adb: Avoid conversions from one string type to another.
+	Remove a use of global name buffer.
+	* osint.ads, sfn_scan.ads, sfn_scan.adb, sinput-c.ads: Comment
+	fixes.
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.adb, exp_ch4.adb: Minor reformatting.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb: Code clean up in various routines.
+	(Generate_Range_Check): Do not generate a range check when the
+	expander is not active or when index/range checks are suppressed
+	on the target type.
+	(Insert_List_After_And_Analyze, Insert_List_Before_And_Analyze):
+	Remove variants that include a Supress parameter. These routines
+	are never used, and were introduced before the current scope-based
+	check suppression method.
+
+2017-04-25  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* prj-part.adb, cstreams.c, osint.adb, osint.ads: Remove VMS specific
+	code and some subprogram calls that are now noop.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Case_Expression): Take
+	Minimize_Expression_With_Actions into account when possible.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Known_Non_Null): Moved to Sem_Util.
+	(Known_Null): Moved to Sem_Util.
+	* exp_util.ads (Known_Non_Null): Moved to Sem_Util.
+	(Known_Null): Moved to Sem_Util.
+	* sem_util.adb Add new enumeration type Null_Status_Kind.
+	(Known_Non_Null): Moved from Exp_Util. Most of the logic in
+	this routine is now carried out by Null_Status.
+	(Known_Null): Moved from Exp_Util. Most of the logic in this routine
+	is now carried out by Null_Status.
+	(Null_Status): New routine.
+	* sem_util.ads (Known_Non_Null): Moved from Exp_Util.
+	(Known_Null): Moved from Exp_Util.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Do not report an
+	error on the return type of an expression function that is a
+	completion, if the type is derived from a generic formal type.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Dimensions_Of_Operand): The dimensions of a type
+	conversion are those of the target type.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* a-clrefi.adb: Minor cleanup.
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.adb, exp_util.ads, types.ads: Minor reformatting.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* err_vars.ads, fmap.adb, fmap.ads, comperr.adb, fname-sf.adb,
+	types.adb, types.ads, types.h, sinput-l.adb, targparm.adb,
+	errout.adb, sinput.adb, sinput.ads, cstand.adb, scn.adb,
+	scn.ads, gnatls.adb: Eliminate the vestigial Internal_Source_File and
+	the Internal_Source buffer. This removes the incorrect call to "="
+	the customer noticed.
+	Wrap remaining calls to "=" in Null_Source_Buffer_Ptr. We
+	eventually need to eliminate them altogether. Or else get rid
+	of zero-origin addressing.
+
+2017-04-25  Claire Dross  <dross@adacore.com>
+
+	* exp_util.ads (Expression_Contains_Primitives_Calls_Of): New
+	function used in GNATprove to know if an expression contains
+	non-dispatching calls on primitives of a tagged type.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* rtsfind.adb (Initialize): Initialize
+	First_Implicit_With. Building the compiler with Normalize_Scalars
+	and validity checking finds this being used as an uninitialized
+	variable.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
+	Add a warning about SPARK mode management. The routine now
+	saves and restores both the mode and associated pragma.
+	(Analyze_Entry_Or_Subprogram_Contract): Add a warning about
+	SPARK mode management. The routine now saves and restores both
+	the mode and associated pragma.
+	(Analyze_Object_Contract):
+	Add a warning about SPARK mode management. The routine
+	now saves and restores both the mode and associated pragma.
+	(Analyze_Package_Body_Contract): Add a warning about SPARK mode
+	management.  The routine now saves and restores both the mode
+	and associated pragma.	(Analyze_Package_Contract): Add a warning
+	about SPARK mode management. The routine now saves and restores
+	both the mode and associated pragma.
+	(Analyze_Task_Contract):
+	Add a warning about SPARK mode management. The routine now saves
+	and restores both the mode and associated pragma.
+	* expander.adb (Expand): Change the way the Ghost mode is saved
+	and restored.
+	* exp_ch3.adb (Freeze_Type): Change the way the Ghost mode is
+	saved and restored.
+	* exp_disp.adb (Make_DT): Change the way the Ghost mode is saved
+	and restored.
+	* exp_util.adb (Build_DIC_Procedure_Body):
+	Change the way the Ghost mode is saved and restored.
+	(Build_DIC_Procedure_Declaration): Change the way the Ghost
+	mode is saved and restored.
+	(Build_Invariant_Procedure_Body):
+	Change the way the Ghost mode is saved and restored.
+	(Build_Invariant_Procedure_Declaration): Change the way the Ghost
+	mode is saved and restored.
+	(Make_Predicate_Call): Change the
+	way the Ghost mode is saved and restored.
+	* freeze.adb (Freeze_Entity): Change the way the Ghost mode is
+	saved and restored.
+	* ghost.adb (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
+	and its assignment.
+	(Mark_And_Set_Ghost_Body): Remove parameter
+	Mode and its assignment.
+	(Mark_And_Set_Ghost_Completion):
+	Remove parameter Mode and its assignment.
+	(Mark_And_Set_Ghost_Declaration): Remove parameter Mode and its
+	assignment.
+	(Mark_And_Set_Ghost_Instantiation): Remove parameter
+	Mode and its assignment.
+	(Mark_And_Set_Ghost_Procedure_Call):
+	Remove parameter Mode and its assignment.
+	(Set_Ghost_Mode):
+	Remove parameter Mode and its assignment.
+	* ghost.ads (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
+	and update the comment on usage.
+	(Mark_And_Set_Ghost_Body):
+	Remove parameter Mode and update the comment on usage.
+	(Mark_And_Set_Ghost_Completion): Remove parameter Mode and
+	update the comment on usage.
+	(Mark_And_Set_Ghost_Declaration):
+	Remove parameter Mode and update the comment on usage.
+	(Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and
+	update the comment on usage.
+	(Mark_And_Set_Ghost_Procedure_Call):
+	Remove parameter Mode and update the comment on usage.
+	(Set_Ghost_Mode): Remove parameter Mode and update the comment
+	on usage.
+	* lib.ads Remove obsolete fields SPARK_Mode_Pragma from various
+	types.
+	* lib-load.adb (Create_Dummy_Package_Unit): Remove the assignment
+	of obsolete field SPARK_Mode_Pragma.
+	(Load_Main_Source): Remove
+	the assignment of obsolete field SPARK_Mode_Pragma.
+	(Load_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma.
+	* lib-writ.adb (Add_Preprocessing_Dependency): Remove
+	the assignment of obsolete field SPARK_Mode_Pragma.
+	(Ensure_System_Dependency): Remove the assignment of obsolete
+	field SPARK_Mode_Pragma.
+	* rtsfind.adb (Load_RTU): Add a warning about Ghost and SPARK
+	mode management. Change the way Ghost and SPARK modes are saved
+	and restored.
+	* sem.adb (Analyze): Change the way the Ghost mode is saved
+	and restored.
+	* sem_ch3.adb (Analyze_Object_Declaration): Change the way the
+	Ghost mode is saved and restored.
+	(Process_Full_View): Change
+	the way the Ghost mode is saved and restored.
+	* sem_ch5.adb (Analyze_Assignment): Change the way the Ghost
+	mode is saved and restored.
+	* sem_ch6.adb (Analyze_Procedure_Call): Change the way the Ghost
+	mode is saved and restored.
+	(Analyze_Subprogram_Body_Helper):
+	Change the way the Ghost mode is saved and restored.
+	* sem_ch7.adb (Analyze_Package_Body_Helper): Change the way the
+	Ghost mode is saved and restored.
+	* sem_ch10.adb (Analyze_Subunit): Add a warning about SPARK mode
+	management. Save the SPARK mode-related data prior to any changes
+	to the scope stack and contexts. The mode is then reinstalled
+	before the subunit is analyzed in order to restore the original
+	view of the subunit.
+	* sem_ch12.adb (Analyze_Package_Instantiation): Update the
+	warning on region management.  Change the way the Ghost and
+	SPARK modes are saved and restored.
+	(Inline_Instance_Body):
+	Add a warning about SPARK mode management. Code clean up.
+	(Analyze_Subprogram_Instantiation): Update the warning on region
+	management.  Change the way the Ghost and SPARK modes are saved
+	and restored.
+	(Instantiate_Package_Body): Update the warning
+	on region management. Change the way the Ghost and SPARK modes
+	are saved and restored.
+	(Instantiate_Subprogram_Body): Update
+	the warning on region management. Change the way the Ghost and
+	SPARK modes are saved and restored.
+	(Set_Instance_Env): Add a
+	warning about SPARK mode management. Change the way SPARK mode
+	is saved and restored.
+	* sem_ch13.adb (Build_Predicate_Functions):
+	Change the way the Ghost mode is saved and restored.
+	(Build_Predicate_Function_Declaration): Change the way the Ghost
+	mode is saved and restored.
+	* sem_elab.adb (Check_Elab_Calls): Add a warning about SPARK
+	mode management. Change the way SPARK mode is saved and restored.
+	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+	Change the way the Ghost mode is saved and restored.
+	(Analyze_Initial_Condition_In_Decl_Part): Change the way
+	the Ghost mode is saved and restored.
+	(Analyze_Pragma):
+	Change the way the Ghost mode is saved and restored.
+	(Analyze_Pre_Post_Condition_In_Decl_Part): Change the way the
+	Ghost mode is saved and restored.
+	* sem_util.adb (Install_SPARK_Mode): New routine.
+	(Restore_SPARK_Mode): New routine.
+	(Save_SPARK_Mode_And_Set): Removed.
+	(Set_SPARK_Mode): New routine.
+	* sem_util.ads (Install_SPARK_Mode): New routine.
+	(Restore_SPARK_Mode): New routine.
+	(Save_SPARK_Mode_And_Set): Removed.
+	(Set_SPARK_Mode): New routine.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb, sem_util.ads (From_Nested_Package): New predicate
+	to determine whether a type is declared in a local package that
+	has not yet been frozen.
+	* freeze.adb (Freeze_Before): Use new predicate to determine
+	whether a local package must be installed on the scope stack
+	in order to evaluate in the proper scope actions generated by
+	aspect specifications, such as Predicate
+	* sem_ch13.adb: Simplify code in Analyze_Aspects_At_Freeze_Point
+	using new predicate.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not consider
+	comparisons between non- scalar expressions expressions because
+	their values cannot be invalidated.
+	* sem_warn.ads (Warn_On_Constant_Valid_Condition): Update the
+	comment on usage.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* par_sco.adb: Minor reformatting.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): If entity
+	is a type from an unfrozen local package, install package to
+	complete the analysis of delayed aspects of the type.
+
+2017-04-25  Tristan Gingold  <gingold@adacore.com>
+
+	* bingen.adb (System_Version_Control_Used): New variable.
+	(Resolve_Binder_Options): Set the above variable.
+	(Gen_Output_File_Ada): Conditionally call Gen_Versions.
+	(Gen_Elab_Order): Emit blank line before.
+
+2017-04-25  Justin Squirek  <squirek@adacore.com>
+
+	* sem_cat.adb (Validate_RT_RAT_Component): Added
+	an extra check to ignore incomplete types.
+
+2017-04-25  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Pragma_Check): Remove
+	bogus circuitry for the case where Name is Predicate.
+
+2017-04-25  Thomas Quinot  <quinot@adacore.com>
+
+	* par_sco.adb(Traverse_Declarations_Or_Statements.Traverse_Aspects):
+	Create SCOs for Predicate aspects in disabled
+	state initially, to be enabled later on by...
+	* sem_ch13.adb (Build_Predicate_Functions.Add_Predicates): Mark
+	SCO for predicate as enabled.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* comperr.adb (Compiler_Abort): Remove now obsolete pair of
+	pragmas Warnings Off / On.
+	* namet.adb (Finalize): Remove now obsolete pair of pragmas
+	Warnings Off / On.
+	* output.adb: Remove now obsolete pair of pragmas Warnings Off / On.
+	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
+	consider comparisons between static expressions because their
+	values cannot be invalidated.
+	* urealp.adb (Tree_Read): Remove now obsolete pair of pragmas
+	Warnings Off / On.
+	(Tree_Write): Remove now obsolete pair of pragmas Warnings Off / On.
+	* usage.adb Remove now obsolete pair of pragmas Warnings Off / On.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb (In_Task_Activation): Trace internal calls in
+	task bodies.
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_prag.adb, sem_warn.adb, sem_eval.adb: Minor reformatting and
+	typo fixes.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* comperr.adb (Compiler_Abort): Add a pair of pragma Warnings
+	On/Off to defend against a spurious warning in conditional
+	compilation.
+	* exp_ch4.adb (Rewrite_Comparison): Reimplemented.
+	* namet.adb (Finalize): Add a pair of pragma Warnings On/Off to
+	defend against a spurious warning in conditional compilation.
+	* output.adb Add a pair of pragma Warnings On/Off to defend
+	against a spurious warning in conditional compilation.
+	* sem_eval.adb (Eval_Relational_Op): Major code clean up.
+	(Fold_General_Op): New routine.
+	(Fold_Static_Real_Op): New routine.
+	(Test_Comparison): New routine.
+	* sem_eval.ads (Test_Comparison): New routine.
+	* sem_warn.adb (Is_Attribute_Constant_Comparison): New routine.
+	(Warn_On_Constant_Valid_Condition): New routine.
+	(Warn_On_Known_Condition): Use Is_Attribute_Constant_Comparison
+	to detect a specific case.
+	* sem_warn.adb (Warn_On_Constant_Valid_Condition): New routine.
+	* urealp.adb (Tree_Read): Add a pair of pragma Warnings On/Off
+	to defend against a spurious warning in conditional compilation.
+	(Tree_Write): Add a pair of pragma Warnings On/Off to defend
+	against a spurious warning in conditional compilation.
+	* usage.adb Add a pair of pragma Warnings On/Off to defend
+	against a spurious warning in conditional compilation.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* sinfo.ads, sem_ch13.adb: Update comment.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Is_Post_State): A reference to a
+	generic in out parameter is considered a change in the post-state
+	of a subprogram.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Load_Parent_Of_Generic); When retrieving the
+	declaration of a subprogram instance within its wrapper package,
+	skip over null statements that may result from the rewriting of
+	ignored pragmas.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_attr.adb (Expand_Attribute_Reference, case 'Read):
+	If the type is an unchecked_union, replace the attribute with
+	a Raise_Program_Error (rather than inserting such before the
+	attribute reference) to handle properly the case where we are
+	processing a component of a larger record, and we need to prevent
+	further expansion for the unchecked union.
+	(Expand_Attribute_Reference, case 'Write): If the type is
+	an unchecked_union, check whether enclosing scope is a Write
+	subprogram. Replace attribute with a Raise_Program_Error if the
+	discriminants of the unchecked_union type have not default values
+	because such a use is erroneous..
+
+2017-04-25  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Task_Type_Declaration):
+	Add relative_deadline to task record on edf profile.
+	(Make_Initialize_Protection): Pass deadline_floor value on edf profile.
+	(Make_Task_Create_Call): Pass relative_deadline value.
+	* par-prag.adb (Prag): Handle Pragma_Deadline_Floor.
+	* s-rident.ads (Profile_Name): Add GNAT_Ravenscar_EDF.
+	(Profile_Info): Add info for GNAT_Ravenscar_EDF.
+	* sem_prag.adb (Set_Ravenscar_Profile): Handle
+	GNAT_Ravenscar_EDF (set scheduling policy).
+	(Analyze_Pragma): Handle GNAT_Ravenscar_EDF profile and Deadline_Floor
+	pragma.
+	(Sig_Flags): Add choice for Pragma_Deadline_Floor.
+	* snames.ads-tmpl (Name_Deadline_Floor, Name_Gnat_Ravenscar_EDF):
+	New names.
+	(Pragma_Deadline_Floor): New pragma.
+	* targparm.adb (Get_Target_Parameters): Recognize
+	GNAT_Ravenscar_EDF profile.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
+
+	* gnatvsn.ads (Library_Version): Bump to 8. Update comment.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aux.adb (Nearest_Ancestor): Use original node of type
+	declaration to locate nearest ancestor, because derived
+	type declarations for record types are rewritten as record
+	declarations.
+	* sem_ch13.adb (Add_Call): Use an unchecked conversion to handle
+	properly derivations that are completions of private types.
+	(Add_Predicates): If type is private, examine rep. items of full
+	view, which may include inherited predicates.
+	(Build_Predicate_Functions): Ditto.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* sem_util.adb (New_Copy_Tree.Visit_Entity): Extend previous change
+	to generate new entities for subtype declarations located in
+	Expression_With_Action nodes.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Check_A_Call): Remove
+	local variables Is_DIC_Proc and Issue_In_SPARK. Verify the
+	need for Elaborate_All when SPARK elaboration checks are
+	required. Update the checks for instances, variables, and calls
+	to Default_Initial_Condition procedures.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* aspects.ads, aspects.adb: Make the GNAT-specific pragma No_Inline
+	into a boolean aspect, in analogy with the Ada aspect No_Return.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb, sem_ch13.adb, sem_ch6.adb: Minor reformatting.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_res.adb (Resolve_Actuals): Under -gnatd.q, reset
+	Is_True_Constant for an array variable that is passed to a
+	foreign function as an 'in' parameter.
+	* debug.adb: Document -gnatd.q.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): If expression function
+	is completion and return type is an access type do not freeze
+	designated type: this will be done in the process of freezing
+	the expression if needed.
+	(Freeze_Expr_Types): Check whether type is complete before
+	creating freeze node, to provide a better error message if
+	reference is premature.
+	* sem_ch13.adb (Check_Indexing_Functions): Ignore inherited
+	functions created by type derivations.
+
+2017-04-25  Pascal Obry  <obry@adacore.com>
+
+	* g-sercom.ads: Add simple usage of GNAT.Serial_Communication.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Resolve_Type_Conversion):
+	When resolving against any fixed type, set the type of the
+	operand as universal real when the operand is a multiplication
+	or a division where both operands are of any fixed type.
+	(Unique_Fixed_Point_Type): Add local variable ErrN. Improve the
+	placement of an error message by pointing to the operand of a
+	type conversion rather than the conversion itself.
+
+2017-04-25  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_ch13.adb (Build_Predicate_Function_Declaration): Set
+	Needs_Debug_Info when producing SCOs.
+
+2017-04-25  Thomas Quinot  <quinot@adacore.com>
+
+	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
+	Always pass a null finalization master for a library level named access
+	type to which a pragme No_Heap_Finalization applies.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
+
+	PR ada/78845
+
+	* a-ngcoar.adb, a-ngrear.adb (Inverse): call Unit_Matrix with First_1
+	set to A'First(2) and vice versa.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* freeze.adb (Freeze_Record_Type): Remove obsolete
+	rule on volatile tagged record restriction on SPARK code.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (minor) Fix SPARK RM reference.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb, sem_util.ads (Unique_Defining_Entity): Update
+	comment to reflect which entity is chosen as unique entity.
+	(Unique_Entity): Return full view instead of private spec for
+	protected type or task type. Fix possible incorrect access when
+	called on entry.
+
+2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_res.adb (Set_Slice_Subtype): Treat specially bit-packed
+	array types only instead of all packed array types.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Conforming_Types): If type of formal as a specified
+	dimension system, verify that dimensions of both match.
+	(Check_Conformance): Add error message in case of dimension
+	mismatch.
+	* sem_dim.ads, sem_dim.adb (Dimensions_Match): New utility
+	predicate.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
+
+	* gnatxref.adb, gnatfind.adb: Avoid using the term project file,
+	confusing.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb: Minor refactoring.
+	* freeze.adb (Freeze_Record_Type): Fix checking of SPARK RM 7.1.3(5).
+
+2017-04-25  Claire Dross  <dross@adacore.com>
+
+	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Go to
+	ultimate alias when accessing overridden operation. Indeed, if the
+	overridden operation is itself inherited, it won't have any explicit
+	contract.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_warn.adb (Warn_On_Overlapping_Actuals): There can be no
+	overlap if the two formals have different types, because formally
+	the corresponding actuals cannot designate the same objects.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Dimensions_Of_Operand): minot cleanups: a) If
+	dimensions are present from context, use them.	b) If operand is
+	a static constant rewritten as a literal, obtain the dimensions
+	from the original declaration, otherwise use dimensions of type
+	established from context.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Is_Effectively_Volatile): Protect against base type
+	of array that is private.
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch3.adb, exp_util.adb, sem_prag.adb, exp_ch4.adb: Minor
+	reformatting.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* a-ngelfu.adb, a-ngelfu.ads: Add SPARK_Mode On on spec, Off
+	on body.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_disp.adb (Check_Dispatching_Context): Add guard to refine
+	the check that recognizes a call to a private overridding and
+	replaces the called subprogram with its alias.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb: Minor reformatting.
+
+2017-04-25  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch3.adb (Freeze_Type): Add condition to always treat
+	interface types as a partial view of a private type for the
+	generation of invariant procedure bodies.
+	* exp_util.adb, exp_util.ads (Add_Inherited_Invariants):
+	Add a condition to get the Corresponding_Record_Type for
+	concurrent types, add condition to return in the absence of a
+	class in the pragma, remove call to Replace_Type_References,
+	and add call to Replace_References.
+	(Add_Interface_Invariatns),
+	(Add_Parent_Invariants): Modify call to Add_Inherited_Invariants
+	to including the working type T.
+	(Add_Own_Invariants): Remove
+	legacy condition for separate units, remove dispatching for ASIS
+	and save a copy of the expression in the pragma expression.
+	(Build_Invariant_Procedure_Body): Default initalize vars,
+	remove return condition on interfaces, always use the
+	private type for interfaces, and move the processing of types
+	until after the processing of invariants for the full view.
+	(Build_Invariant_Procedure_Declaration): Remove condition
+	to return if an interface type is encountered and add
+	condition to convert the formal parameter to its class-wide
+	counterpart if Work_Typ is abstract.
+	(Replace_Type): Add call to Remove_Controlling_Arguments.
+	(Replace_Type_Ref): Remove class-wide dispatching for the current
+	instance of the type.
+	(Replace_Type_References): Remove parameter "Derived"
+	(Remove_Controlling_Arguments): Created in order to removing
+	the controlliong argument from calls to primitives in the case
+	of the formal parameter being an class-wide abstract type.
+	* sem_ch3.adb (Build_Assertion_Bodies_For_Type): Almost identical
+	to the change made to Freeze_Type in exp_ch3. Add a condition
+	to treat interface types as a partial view.
+	* sem_prag.adb (Analyze_Pragma): Modify parameters in the call
+	to Build_Invariant_Procedure_Declaration to properly generate a
+	"partial" invariant procedure when Typ is an interface.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* a-numeri.ads: Go back to using brackets encoding for the Greek
+	letter pi.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Derive_Subprogram): Implement rule in RM 6.1.1
+	(10-15): if derived type T with progenitors is abstract,
+	and primitive P of this type inherits non-trivial classwide
+	preconditions from both a parent operation and from an interface
+	operation, then the inherited operation is abstract if the parent
+	operation is not null.
+	* sem_disp.ads, sem_disp.adb: replace function Covers_Some_Interface
+	with Covered_Interface_Op to yield the actual interface operation
+	that is implemented by a given inherited operation.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Op_Expon): Relocate left
+	and right operands after performing the validity checks. Required
+	because validity checks may remove side effects from the operands.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* exp_attr.adb (Attribute_Unrestricted_Access):
+	Do not disable implicit type conversion.  Required to generate
+	code that displaces the pointer to reference the secondary
+	dispatch table.
+
+2017-04-25  Pascal Obry  <obry@adacore.com>
+
+	* prj-attr.adb, snames.ads-tmpl: Add package Install's
+	Required_Artifacts attribute.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Same_Value): String literals are compile-time
+	values, and comparing them must use Expr_Value_S.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Complete_Object_Interpretation): If an explicit
+	dereference is introduced for the object, and the object is
+	overloaded, do not check whether it is aliased, because it may
+	include an implicit dereference.
+	* sem_type.adb (Disambiguate): If two interpretations are access
+	attribute types with the same designated type keep either of
+	them and do not report an ambiguity.  A true ambiguity will be
+	reported elsewhere.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* a-numeri.ads: Change the encoding of Greek letter Pi from
+	brackets encoding to UTF-8.  Use pragma Wide_Character_Encoding
+	to indicate the encoding. We considered using a byte order mark
+	(BOM), but that causes various trouble (misc software eats the
+	BOM, if you have a patch with a BOM, then it's not at the start
+	of the patch, so it's not a BOM, the BOM affects with-ing files,
+	etc.).
+	* scng.adb, s-wchcnv.adb: Minor.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, sem_ch8.adb, sem_disp.adb: Minor reformatting.
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Add_Internal_Interface_Entities): Move
+	Has_Non_Trivial_Precondition to sem_util. for use elsewhere.
+	Improve error message on operations that inherit non-conforming
+	classwide preconditions from ancestor and progenitor.
+	* sem_util.ads, sem_util.adb (Has_Non_Trivial_Precondition):
+	moved here from sem_ch3.
+	* sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality
+	check given in RM 6.1.1 (17) concerning renamings of overriding
+	operations that inherits class-wide preconditions from ancestor
+	or progenitor.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Code cleanup.
+	(Build_Adjust_Statements): Code cleanup.
+	(Build_Finalizer): Update the initialization of
+	Exceptions_OK.
+	(Build_Finalize_Statements): Code cleanup.
+	(Build_Initialize_Statements): Code cleanup.
+	(Make_Deep_Array_Body): Update the initialization of
+	Exceptions_OK.
+	(Make_Deep_Record_Body): Update the initialization of Exceptions_OK.
+	(Process_Object_Declaration): Generate a null exception handler only
+	when exceptions are allowed.
+	(Process_Transients_In_Scope): Update the initialization of
+	Exceptions_OK.
+	* exp_util.ads, exp_util.adb (Exceptions_In_Finalization_OK): New
+	routine.
+	* sem_ch11.adb (Analyze_Exception_Handlers): Do not check any
+	restrictions when the handler is internally generated and the
+	mode is warnings.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Has_Non_Trivial_Precondition): New predicate to
+	enforce legality rule on classwide preconditions inherited from
+	both an ancestor and a progenitor (RM 6.1.1 (10-13).
+	* sem_disp.adb (Check_Dispatching_Context): A call to an abstract
+	subprogram need not be dispatching if it appears in a precondition
+	for an abstract or null subprogram.
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch10.adb: Minor typo fix.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* gcc-interface/Makefile.in: Cleanup VxWorks targets.
+
+2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* fname.adb (Is_Internal_File_Name): Arrange for the slices to
+	have a length which is a power of 2.
+	(Is_Predefined_File_Name): Likewise. Adjust comment.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* exp_aggr.adb (Component_Count): Protect the
+	arithmetic from attempting to convert a value >= 2**31 to Int,
+	which would otherwise raise Constraint_Error.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* opt.ads (Locking_Policy): Fix incorrect documentation. The
+	first character of the policy name is not unique.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* s-fileio.adb (Name): Raise Use_Error if the file is a temp file.
+	* s-ficobl.ads (Is_Temporary_File): Remove incorrect comment
+	about this flag not being used. It was already used, and it is
+	now used more.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Flag301 is now known as Ignore_SPARK_Mode_Pragmas.
+	(Ignore_SPARK_Mode_Pragmas): New routine.
+	(Set_Ignore_SPARK_Mode_Pragmas): New routine.
+	(Write_Entity_Flags): Add an entry for Ignore_SPARK_Mode_Pragmas.
+	* einfo.ads Add new attribute Ignore_SPARK_Mode_Pragmas and update
+	related entities.
+	(Ignore_SPARK_Mode_Pragmas): New routine
+	along with pragma Inline.
+	(Set_Ignore_SPARK_Mode_Pragmas): New routine along with pragma Inline.
+	* opt.ads Rename flag Ignore_Pragma_SPARK_Mode to
+	Ignore_SPARK_Mode_Pragmas_In_Instance.
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
+	Save and restore the value of global flag
+	Ignore_SPARK_Mode_Pragmas_In_Instance. Set or reinstate the value
+	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when either
+	the corresponding spec or the body must ignore all SPARK_Mode
+	pragmas found within.
+	(Analyze_Subprogram_Declaration): Mark
+	the spec when it needs to ignore all SPARK_Mode pragmas found
+	within to allow the body to infer this property in case it is
+	instantiated or inlined later.
+	* sem_ch7.adb (Analyze_Package_Body_Helper): Save and restore the
+	value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set
+	the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance
+	when the corresponding spec also ignored all SPARK_Mode pragmas
+	found within.
+	(Analyze_Package_Declaration): Mark the spec when
+	it needs to ignore all SPARK_Mode pragmas found within to allow
+	the body to infer this property in case it is instantiated or
+	inlined later.
+	* sem_ch12.adb (Analyze_Formal_Package_Declaration):
+	Save and restore the value of flag
+	Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the
+	formal spec when it needs to ignore all SPARK_Mode
+	pragmas found within to allow the body to infer this
+	property in case it is instantiated or inlined later.
+	(Analyze_Package_Instantiation): Save and restore the value
+	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark
+	the instance spec when it needs to ignore all SPARK_Mode
+	pragmas found within to allow the body to infer this
+	property in case it is instantiated or inlined later.
+	(Analyze_Subprogram_Instantiation): Save and restore the value
+	of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the
+	instance spec and anonymous package when they need to ignore
+	all SPARK_Mode pragmas found within to allow the body to infer
+	this property in case it is instantiated or inlined later.
+	(Instantiate_Package_Body): Save and restore the value of global
+	flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set the value of
+	global flag Ignore_SPARK_Mode_Pragmas_In_Instance when the
+	corresponding instance spec also ignored all SPARK_Mode pragmas
+	found within.
+	(Instantiate_Subprogram_Body): Save and restore the
+	value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set
+	the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance
+	when the corresponding instance spec also ignored all SPARK_Mode
+	pragmas found within.
+	* sem_prag.adb (Analyze_Pragma): Update the reference to
+	Ignore_Pragma_SPARK_Mode.
+	* sem_util.adb (SPARK_Mode_Is_Off): A construct which ignored
+	all SPARK_Mode pragmas defined within yields mode "off".
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* bindgen.adb, exp_dbug.adb, errout.adb, fname.adb: Minor reformatting.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* exp_atag.adb (Build_CW_Membership): Add "Suppress =>
+	All_Checks" to avoid generating unnecessary checks.
+	* exp_ch4.adb (Expand_N_In, Make_Tag_Check): Add "Suppress =>
+	All_Checks".
+	* sem.ads: Fix comment.
+	* expander.ads: Fix comment.
+	* exp_atag.ads: Fix comment: "Index = 0" should be
+	"Index >= 0".
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* s-taprop-linux.adb: Minor editorial fixes.
+
+2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_util.adb (New_Copy_Tree): Put back the declarations of the
+	hash tables at library level.  Reinstate the NCT_Hash_Tables_Used
+	variable and set it to True whenever the main hash table is
+	populated.  Short- circuit the Assoc function if it is false
+	and add associated guards.
+
+2017-04-25  Olivier Hainque  <hainque@adacore.com>
+
+	* bindgen.adb (Gen_Elab_Calls): Also update counter of lone
+	specs without elaboration code that have an elaboration counter
+	nevertheless, e.g.  when compiled with -fpreserve-control-flow.
+	* sem_ch10.adb (Analyze_Compilation_Unit):
+	Set_Elaboration_Entity_Required when requested to preserve
+	control flow, to ensure the unit elaboration is materialized at
+	bind time, resulting in the inclusion of the unit object file
+	in the executable closure at link time.
+
+2017-04-25  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* exp_dbug.adb: In Debug_Renaming_Declaration,
+	when dealing with indexed component, accept to produce a renaming
+	symbol when the index is an IN parameter or when it is a name
+	defined in an outer scope.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* errout.adb (Error_Msg): Adapt continuation
+	message in instantiations and inlined bodies for info messages.
+
+2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* fname.adb (Has_Internal_Extension): Add pragma Inline.
+	Use direct 4-character slice comparisons.
+	(Has_Prefix): Add
+	pragma Inline.	(Has_Suffix): Delete.
+	(Is_Internal_File_Name):
+	Test Is_Predefined_File_Name first.
+	(Is_Predefined_File_Name):
+	Use direct slice comparisons as much as possible and limit all
+	comparisons to at most 8 characters.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Code cleanup.
+	* exp_ch6.adb (Add_Validation_Call_By_Copy_Code): New routine.
+	(Expand_Actuals): Generate proper copy-back for a validation
+	variable when it acts as the argument of a type conversion.
+	* sem_util.adb (Is_Validation_Variable_Reference): Augment the
+	predicate to operate on type qualifications.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb, exp_ch6.adb, binde.adb, sem_disp.adb, s-fileio.adb:
+	Minor reformatting.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_prag.adb (No_Return): Give an error if the pragma applies
+	to a body. Specialize the error for the specless body case,
+	as is done for (e.g.) pragma Convention.
+	* debug.adb: Add switch -gnatd.J to disable the above legality
+	checks. This is mainly for use in our test suite, to avoid
+	rewriting a lot of illegal (but working) code.	It might also
+	be useful to customers. Under this switch, if a pragma No_Return
+	applies to a body, and the procedure raises an exception (as it
+	should), the pragma has no effect. If the procedure does return,
+	execution is erroneous.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* exp_ch6.adb (Expand_Actuals): This is the
+	root of the problem. It took N as an 'in out' parameter, and in
+	some cases, rewrote N, but then set N to Original_Node(N). So
+	the node returned in N had no Parent. The caller continued
+	processing of this orphaned node. In some cases that caused a
+	crash (e.g. Remove_Side_Effects climbs up Parents in a loop,
+	and trips over the Empty Parent). The solution is to make N an
+	'in' parameter.  Instead of rewriting it, return the list of
+	post-call actions, so the caller can do the rewriting later,
+	after N has been fully processed.
+	(Expand_Call_Helper): Move most of Expand_Call here. It has
+	too many premature 'return' statements, and we want to do the
+	rewriting on return.
+	(Insert_Post_Call_Actions): New procedure to insert the post-call
+	actions in the appropriate place. In the problematic case,
+	that involves rewriting N as an Expression_With_Actions.
+	(Expand_Call): Call the new procedures Expand_Call_Helper and
+	Insert_Post_Call_Actions.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Inherits_Class_Wide_Pre): Cleanup code, handle
+	properly type derived from generic formal types, to handle
+	properly modified version of ACATS 4.1B B611017.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* exp_unst.adb (Subp_Index): Adding missing
+	support for renamings and functions that return a constrained
+	array type (i.e. functions for which the frontend built a
+	procedure with an extra out parameter).
+
+2017-04-25  Pascal Obry  <obry@adacore.com>
+
+	* s-string.adb: Minor code clean-up.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* s-os_lib.ads, s-os_lib.adb (Non_Blocking_Wait_Process): New
+	procedure.
+	* adaint.h, adaint.c (__gnat_portable_no_block_wait): C support
+	function for Non_Blocking_Wait_Process.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* prep.adb (Preprocess): Remove incorrect
+	Assert. Current character can be ASCII.CR.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Set_Convention_From_Pragma): Cleanup code for
+	convention Stdcall, which has a number of exceptions. Convention
+	is legal on a component declaration whose type is an anonymous
+	access to subprogram.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch4.adb: sem_ch4.adb Various reformattings.
+	(Try_One_Prefix_Interpretation): Use the base type when dealing
+	with a subtype created for purposes of constraining a private
+	type with discriminants.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* einfo.ads, einfo.adb (Has_Private_Extension): new attribute.
+	* warnsw.ads, warnsw.adb (All_Warnings): Set warning on late
+	dispatching primitives (Restore_Warnings): Restore warning on
+	late dispatching primitives (Save_Warnings): Save warning on late
+	dispatching primitives (Do_Warning_Switch): Use -gnatw.j/-gnatw.J
+	to enable/disable this warning.
+	(WA_Warnings): Set warning on late dispatching primitives.
+	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Remember
+	that its parent type has a private extension.
+	* sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension):
+	New subprogram.
+	* usage.adb: Document -gnatw.j and -gnatw.J.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb, checks.adb, sem_prag.adb, eval_fat.adb: Minor
+	reformatting.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* binde.adb (Validate): Do not pass dynamic strings
+	to pragma Assert, because older compilers do not support that.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* s-fileio.adb (Close): When a temp file is
+	closed, delete it and clean up its Temp_File_Record immediately,
+	rather than waiting until later.
+	(Temp_File_Record): Add File
+	component, so Close can know which Temp_File_Record corresponds
+	to the file being closed.
+	(Delete): Don't delete temp files,
+	because they are deleted by Close.
+	(Open): Set the File component
+	of Temp_File_Record. This requires moving the creation of the
+	Temp_File_Record to the end, after the AFCB has been created.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Do not generate
+	a validity check when inside a generic.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Type_Conversion): Fix bad logic.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* snames.ads-tmpl (Snames): More names for detecting predefined
+	potentially blocking subprograms.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pre_Post_Condition): The rules
+	concerning inheritance of class-wide preconditions do not apply
+	to postconditions.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* s-ficobl.ads: Minor comment fix.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* checks.adb (Apply_Scalar_Range_Check): Analyze precisely
+	conversions from float to integer in GNATprove mode.
+	(Apply_Type_Conversion_Checks): Make sure in GNATprove mode
+	to call Apply_Type_Conversion_Checks, so that range checks
+	are properly positioned when needed on conversions, including
+	when converting from float to integer.	(Determine_Range): In
+	GNATprove mode, take into account the possibility of conversion
+	from float to integer.
+	* sem_res.adb (Resolve_Type_Conversion): Only enforce range
+	check on conversions from fixed-point to integer, not anymore
+	on conversions from floating-point to integer, when in GNATprove
+	mode.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* checks.adb (Determine_Range_R): Special case type conversions
+	from integer to float in order to get bounds in that case too.
+	* eval_fat.adb (Machine): Avoid issuing warnings in GNATprove
+	mode, for computations involved in interval checking.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Partially reimplement validity
+	checks.
+	* einfo.adb Node36 is now used as Validated_Object.
+	(Validated_Object): New routine.
+	(Set_Validated_Object): New routine.
+	(Write_Field36_Name): Add an entry for Validated_Object.
+	* einfo.ads Add new attribute Validated_Object along with
+	usage in entities.
+	(Validated_Object): New routine along with pragma Inline.
+	(Set_Validated_Object): New routine along with pragma Inline.
+	* exp_attr.adb (Make_Range_Test): Add processing for validation
+	variables to avoid extra reads and copies of the prefix.
+	* exp_ch6.adb (Expand_Actuals): Add copy-back for validation
+	variables in order to reflect any changes done in the variable
+	back into the original object.
+	* sem_util.adb (Is_Validation_Variable_Reference): New routine.
+	* sem_util.ads (Is_Validation_Variable_Reference): New routine.
+
+2017-04-25  Steve Baird  <baird@adacore.com>
+
+	* exp_ch7.adb (Build_Array_Deep_Procs,
+	Build_Record_Deep_Procs, Make_Finalize_Address_Body): Don't
+	generate Finalize_Address routines for CodePeer.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Inherits_Class_Wide_Pre): subsidiary of
+	Analyze_Pre_Post_Condition, to implement the legality checks
+	mandated by AI12-0131: Pre'Class shall not be specified for an
+	overriding primitive subprogram of a tagged type T unless the
+	Pre'Class aspect is specified for the corresponding primitive
+	subprogram of some ancestor of T.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_ch8.adb (Use_One_Type): If a use_type_clause
+	is redundant, set its Used_Operations to empty. This is only
+	necessary for use clauses that appear in the parent of a generic
+	child unit, because those use clauses get reanalyzed when we
+	instantiate the generic, and we don't want the Used_Operations
+	carried over from the original context (where it was probably
+	not redundant).
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb: Minor reformatting.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+	Use Source_Index (Current_Sem_Unit) to find the correct casing.
+	* exp_prag.adb (Expand_Pragma_Check): Use Source_Index
+	(Current_Sem_Unit) to find the correct casing.
+	* par.adb (Par): Null out Current_Source_File, to ensure that
+	the above bugs won't rear their ugly heads again.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch8.adb (Find_Type): For an attribute reference
+	'Class, if prefix type is synchronized and previous errors
+	have suppressed the creation of the corresponding record type,
+	create a spurious class-wide for the synchonized type itself,
+	to catch other misuses of the attribute
+
+2017-04-25  Steve Baird  <baird@adacore.com>
+
+	* exp_ch6.adb (Expand_Simple_Function_Return): if CodePeer_Mode
+	is True, then don't generate the accessibility check for the
+	tag of a tagged result.
+	* exp_intr.adb (Expand_Dispatching_Constructor_Call):
+	if CodePeer_Mode is True, then don't generate the
+	tag checks for the result of call to an instance of
+	Ada.Tags.Generic_Dispatching_Constructor (i.e., both the "is a
+	descendant of" check and the accessibility check).
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb: Code cleanups.
+	* a-strbou.ads: minor whitespace fix in Trim for bounded strings.
+	* sem_ch8.ads: Minor comment fix.
+
+2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch4.adb (Library_Level_Target): New function.
+	(Expand_Concatenate): When optimization is enabled, also expand
+	the operation out-of-line if the concatenation is present within
+	the expression of the declaration of a library-level object and
+	not only if it is the expression of the declaration.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* freeze.adb (Freeze_Object_Declaration): Do
+	not Remove_Side_Effects if there is a pragma Linker_Section,
+	because in that case we want static initialization in the
+	appropriate section.
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_dbug.adb: Minor rewording and reformatting.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Statically_Denotes_Object): New predicate, to
+	handle the proposed changes to rules concerning potentially
+	unevaluated expressions, to include selected components that
+	do not depend on discriminants, and indexed components with
+	static indices.
+	* sem_util.adb (Is_Potentially_Unevaluated): Add check for
+	predicate in quantified expression, and fix bugs in the handling
+	of case expressions and membership test.
+	(Analyze_Attribute_Old_Result): use new predicate.
+	(Analyze_Attribute, case Loop_Entry): ditto.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* s-secsta.adb (SS_Info): Add a comment
+	explaining why we don't need to walk all the chunks in order to
+	compute the total size.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* namet.ads, namet.adb (Global_Name_Buffer): Increase the length
+	of the global name buffer to 4*Max_Line_Length.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): When creating a
+	renaming entity for debug information, mark the entity as needing debug
+	info if it comes from sources.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove the
+	restriction converning the use of 'Address where the prefix is
+	of a controlled type.
+
+2017-04-25  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* exp_dbug.adb: In Debug_Renaming_Declaration,
+	skip slices that are made redundant by an indexed component
+	access.
+	* atree.h: New definition for Original_Node.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb, sem_prag.ads: Minor reformatting.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Check_Entry_Contract): Call
+	Preanalyze_Spec_Expression so that resolution takes place as well.
+	* sem_util.adb (Check_Internal_Protected_Use): Reject properly
+	internal calls that appear in preconditions of protected
+	operations, in default values for same, and in contract guards
+	for contract cases in SPARK.
+
+2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* a-numaux.ads: Fix description of a-numaux-darwin
+	and a-numaux-x86.
+	(Double): Define to Long_Float.
+	* a-numaux-vxworks.ads (Double): Likewise.
+	* a-numaux-darwin.ads
+	(Double): Likewise.
+	* a-numaux-libc-x86.ads (Double): Define to Long_Long_Float.
+	* a-numaux-x86.ads: Fix package description.
+	* a-numaux-x86.adb (Is_Nan): Minor tweak.
+	(Reduce): Adjust and complete description. Call Is_Nan instead of
+	testing manually. Use an integer temporary to hold rounded value.
+	* a-numaux-darwin.adb (Reduce): Likewise.
+	(Is_Nan): New function.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): Additional refinement
+	on analysis of prefix whose type is a current instance of a
+	synchronized type, but where the prefix itself is an entity that
+	is an object.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Replace_Target): When rewriting the RHS, preserve
+	the identity of callable entities therein, because they have been
+	properly resolved, and prefixed calls may have been rewritten
+	as normal calls.
+
+2017-04-25  Patrick Bernardi  <bernardi@adacore.com>
+
+	* exp_ch3.adb (Build_Init_Statements): Convert
+	the expression of the pragma/aspect Secondary_Stack_Size to
+	internal type System.Parameters.Size_Type before assigning
+	it to the Secondary_Stack_Size component of the task type's
+	corresponding record.
+
+2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal
+	(etc) optimizations when the type is modular and the offsets
+	are equal.
+
+2017-04-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* s-osinte-freebsd.ads: Minor comment tweaks
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* urealp.adb (UR_Write): Reverse previous patch
+	adding documentation on why we generate multiplications instead
+	of divisions (needed to avoid expressions whose computation with
+	large numbers may cause division by 0).
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* erroutc.adb (Set_Specific_Warning_Off,
+	Set_Warnings_Mode_Off): Use the correct source file for
+	Stop. Was using Current_Source_File, which is only valid during
+	parsing. Current_Source_File will have a leftover value from
+	whatever file happened to be parsed last, because of a with_clause
+	or something.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* lib.ads, lib.adb (In_Internal_Unit): New functions similar
+	to In_Predefined_Unit, but including GNAT units.
+	* sem_util.ads, sem_util.adb (Should_Ignore_Pragma): Replace
+	with Should_Ignore_Pragma_Par and Should_Ignore_Pragma_Sem,
+	because Should_Ignore_Pragma was not working reliably outside
+	the parser, because Current_Source_File is not valid.
+	* sem_prag.adb, exp_prag.adb: Call Should_Ignore_Pragma_Sem.
+	* par-prag.adb: Call Should_Ignore_Pragma_Par.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
+
+	* gnat1drv.adb (Gnat1Drv): Disable Generate_Processed_File in
+	codepeer mode.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* urealp.adb (UR_Write): Fix output of constants with a base other
+	that 10.
+
+2017-04-25  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch13.adb (Get_Interfacing_Aspects): Moved to sem_util.adb.
+	* sem_prag.adb (Analyze_Pragma, Process_Import_Or_Interface):
+	Add extra parameter for Process_Interface_Name.
+	(Process_Interface_Name): Add parameter for pragma to analyze
+	corresponding aspect.
+	* sem_util.ads, sem_util.adb (Get_Interfacing_Aspects): Added
+	from sem_ch13.adb
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch7.adb, einfo.ads, sem_prag.adb: Minor reformatting and typo
+	correction.
+
+2017-04-25  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Comparison_Op): Do not
+	attempt evaluation of relational operations inside assertions.
+
+2017-04-25  Justin Squirek  <squirek@adacore.com>
+
+	* exp_util.adb (Add_Interface_Invariants):
+	Restored, code moved back from Build_Invariant_Procedure_Body.
+	(Add_Parent_Invariants): Restored, code moved back from
+	Build_Invariant_Procedure_Body.
+	(Build_Invariant_Procedure_Body):
+	Remove refactored calls and integrated code from
+	Add_Parent_Invariants and Add_Interface_Invariants.
+
+2017-04-25  Johannes Kanig  <kanig@adacore.com>
+
+	* errout.adb (Output_Messages): Adjust computation of total
+	errors
+	* erroutc.adb (Error_Msg): In statistics counts, deal
+	correctly with informational messages that are not warnings.
+	* errutil.adb (Finalize): adjust computation of total errors.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
+
+	* terminals.c (__gnat_terminate_pid): New.
+	* g-exptty.ads (Terminate_Process): New. Update comments.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-cfinve.ads, a-cofove.ads (Empty_Vector): add Global contract.
+
+2017-04-25  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): Minor
+	correction to comments, move out large conditional and scope
+	traversal into a predicate.
+	(Uses_Unseen_Lib_Unit_Priv): Predicate function made from extracted
+	logic.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): Refine analysis
+	of prefix whose type is a current instance of a synchronized
+	type. If the prefix is an object this is an external call (or
+	requeue) that can only access public operations of the object. The
+	previous predicate was too restrictive, and did not allow public
+	protected operations, only task entries.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch5.adb, fname.adb: Minor reformatting.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb (Is_Anonymous_Access_Type): New routine.
+	* einfo.ads Update the placement of
+	E_Anonymous_Access_Subprogram_Type along with all subtypes that
+	mention the ekind.
+	(Is_Anonymous_Access_Type): New routine.
+	* exp_ch7.adb (Allows_Finalization_Master): Do not generate a
+	master for an access type subject to pragma No_Heap_Finalization.
+	* exp_util.adb (Build_Allocate_Deallocate_Proc): An object being
+	allocated or deallocated does not finalization actions if the
+	associated access type is subject to pragma No_Heap_Finalization.
+	* opt.ads Add new global variable No_Heap_Finalization_Pragma.
+	* par-prag.adb Pragma No_Heap_Finalization does not need special
+	processing from the parser.
+	* sem_ch6.adb (Check_Return_Subtype_Indication): Remove ancient
+	??? comments. Use the new predicate Is_Anonymous_Access_Type.
+	* sem_prag.adb Add an entry in table Sig_Flags for pragma
+	No_Heap_Finalization.
+	(Analyze_Pragma): Add processing for
+	pragma No_Heap_Finalization. Update various error messages to
+	use Duplication_Error.
+	* sem_util.ads, sem_util.adb (No_Heap_Finalization): New routine.
+	* snames.ads-tmpl: Add new predefined name No_Heap_Finalization
+	and corresponding pragma id.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* freeze.adb (Freeze_Record_Type): Use the
+	underlying type of the component type to determine whether it's
+	elementary. For representation clause purposes, a private type
+	should behave the same as its full type.
+	* fname.ads, fname.adb (Is_Predefined_File_Name):
+	Make sure things like "system.ali" are recognized as predefined.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* debug.adb: Update documentation of -gnatd.6.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Preanalyze_Range): Handle properly an Ada2012
+	element iterator when the name is an overloaded function call,
+	one of whose interpretations yields an array.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* uname.ads, uname.adb (Is_Predefined_Unit_Name,
+	Is_Internal_Unit_Name): New functions for operating on unit
+	names, as opposed to file names. There's some duplicated code
+	with fname.adb, which is unfortunate, but it seems like we don't
+	want to add dependencies here.
+	* fname-uf.adb (Get_File_Name): Change Is_Predefined_File_Name
+	to Is_Predefined_Unit_Name; the former was wrong, because Uname
+	is not a file name at all.
+	* fname.ads, fname.adb: Document the fact that
+	Is_Predefined_File_Name and Is_Internal_File_Name can be called
+	for ALI files, and fix the code so it works properly for ALI
+	files. E.g. these should return True for "system.ali".
+
+2017-04-25  Justin Squirek  <squirek@adacore.com>
+
+	* exp_util.adb (Add_Invariant): Removed,
+	code moved to Add_Invariant_Check, Add_Inherited_Invariant,
+	and Add_Own_Invariant.	(Add_Invariant_Check): Used
+	for adding runtime checks from any kind of invariant.
+	(Add_Inherited_Invariant): Generates invariant checks for
+	class-wide invariants (Add_Interface_Invariants): Removed, code
+	moved to Build_Invariant_Procedure_Body (Add_Own_Invariant):
+	Create a types own invariant procedure (Add_Parent_Invariants):
+	Removed, code moved to Build_Invariant_Procedure_Body
+	(Build_Invariant_Procedure_Body): Add refactored calls
+	and integrated code from Add_Parent_Invariants and
+	Add_Interface_Invariants.
+	(Process_Type): Removed, the
+	relavant code was inlined into both Add_Own_Invariant and
+	Add_Inherited_Invariant.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* make.adb, par-ch2.adb, sem_util.adb, scans.ads, sem_ch8.adb,
+	scn.adb, osint.adb, fname.adb: Minor reformatting.
+
+2017-04-25  Pascal Obry  <obry@adacore.com>
+
+	* s-taprop-mingw.adb: Do not check for CloseHandle in
+	Finalize_TCB.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Check_Part_Of_Reference):
+	Continue to examine the context if the reference appears within
+	an expression function.
+
+2017-04-25  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch7.adb, exp_ch7.ads Remove Build_Invariant_Procedure_Body
+	and Build_Invariant_Procedure_Declaration.
+	* exp_util.ads, exp_util.adb Add Build_Invariant_Procedure_Body
+	and Build_Invariant_Procedure_Declaration from exp_ch7
+	and break-out Is_Untagged_Private_Derivation from
+	Build_Invariant_Procedure_Body.
+	(Replace_Type_References):
+	Append an extra parameter to allow for dispatching replacements
+	and add the corrasponding logic.
+	(Type_Invariant): Remove
+	Replace_Typ_Refs and replace its references with calls to
+	Replace_Type_References.
+	* sem_ch3.adb, sem_prag.adb: Remove with and use of exp_ch7.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Should_Ignore_Pragma): New function
+	that returns True when appropriate.
+	* par-prag.adb, exp_prag.adb, sem_prag.adb: Do not ignore pragmas
+	when compiling predefined files.
+	* fname.ads, fname.adb (Is_Predefined_File_Name): Fix bug:
+	"gnat.adc" should not be considered a predefined file name.
+	That required (or at least encouraged) a lot of cleanup of global
+	variable usage. We shouldn't be communicating information via
+	the global name buffer.
+	* bindgen.adb, errout.adb, fname-uf.adb, lib-load.adb, make.adb,
+	* restrict.adb, sem_ch10.adb, sem_ch6.adb, sem_ch8.adb: Changes
+	required by the above-mentioned cleanup.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* osint.adb (Find_File): Handle properly a request for a
+	configuration file whose name is a directory.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_attr.adb, sem_ch5.adb: Minor reformatting.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* types.ads: Minor: Fix '???' comment.
+	* sem_ch8.adb: Minor comment fix.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_prag.adb: Remove suspicious uses of Name_Buf.
+	* stringt.ads, stringt.adb, exp_dbug.adb, sem_dim.adb: Remove
+	Add_String_To_Name_Buffer, to avoid using the global Name_Buf.
+	Add String_To_Name with no side effects.
+
+2017-04-25  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): Add
+	additional condition for edge case.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* par-ch2.adb, scans.ads, scn.adb: Do not give an error for
+	reserved words inside pragmas. This is necessary to allow the
+	pragma name Interface to be used in pragma Ignore_Pragma.
+	* par.adb: Minor comment fix.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* a-tags.ads, a-tags.adb (Type_Is_Abstract): Renamed as Is_Abstract.
+	* rtsfind.ads (RE_Type_Is_Abstract): Renamed as Is_Abstract.
+	* exp_disp.adb (Make_DT): Update occurrences of RE_Type_Is_Abstract.
+	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Update
+	occurrences of RE_Type_Is_Abstract
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Build_Chain): Account for ancestor
+	subtypes while traversing the derivation chain.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb: minor reformatting.
+
+2017-04-25  Doug Rupp  <rupp@adacore.com>
+
+	* sigtramp-vxworks-target.inc [PPC64]: Add a .localentry pseudo-op.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Assignment): Reset Full_Analysis flag on
+	the first pass over an assignment statement with target names,
+	to prevent the generation of subtypes (such as discriminated
+	record components)that may carry the target name outside of the
+	tree for the assignment. The subtypes will be generated when
+	the assignment is reanalyzed in full.
+	(Analyze_Target_Name): Handle properly class-wide types.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* elists.ads, elists.adb (Prepend_Unique_Elmt): New routine.
+	* exp_ch3.adb (Freeze_Type): Signal the DIC body is created for
+	the purposes of freezing.
+	* exp_util.adb Update the documentation and structure of the
+	type map used in class-wide semantics of assertion expressions.
+	(Add_Inherited_Tagged_DIC): There is really no need to preanalyze
+	and resolve the triaged expression because all substitutions
+	refer to the proper entities.  Update the replacement of
+	references.
+	(Build_DIC_Procedure_Body): Add formal parameter
+	For_Freeze. Add local variable Build_Body. Inherited DIC pragmas
+	are now only processed when freezing occurs.  Build a body only
+	when one is needed.
+	(Entity_Hash): Removed.
+	(Map_Types): New routine.
+	(Replace_Object_And_Primitive_References): Removed.
+	(Replace_References): New routine.
+	(Replace_Type_References): Moved to the library level of Exp_Util.
+	(Type_Map_Hash): New routine.
+	(Update_Primitives_Mapping): Update the mapping call.
+	(Update_Primitives_Mapping_Of_Types): Removed.
+	* exp_util.ads (Build_DIC_Procedure_Body): Add formal
+	parameter For_Freeze and update the comment on usage.
+	(Map_Types): New routine.
+	(Replace_References): New routine.
+	(Replace_Type_References): Moved to the library level of Exp_Util.
+	(Update_Primitives_Mapping_Of_Types): Removed.
+	* sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC
+	properties of the private type to the full view in case the full
+	view derives from a parent type and inherits a DIC pragma.
+	* sem_prag.adb (Analyze_Pragma): Guard against a case where a
+	DIC pragma is placed at the top of a declarative region.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
+
+	* a-tasatt.adb: Complete previous change and use an unsigned
+	int to avoid overflow checks.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Access): Specialize
+	the error message when the attribute reference is an actual in
+	a call to a subprogram inherited from a generic formal type with
+	unknown discriminants, which makes the subprogram and its formal
+	parameters intrinsic (see RM 6.3.1 (8) and (13)).
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aggr.adb, inline.adb, einfo.adb, einfo.ads, scng.adb,
+	sem_prag.adb: Minor reformatting.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Type_Key): Add code in the
+	recursive Compute_Type_Key to protect against fetching the source
+	code for Standard, in case a component of the type is declared
+	in Standard. There was already code to do this for the original
+	type, but not for its components.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch3.adb (Build_Initialization_Call): Handle
+	subtypes of private types when searching for the underlying full
+	view of a private type.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Set_Mixed_Mode_Operand): A universal
+	real conditional expression can appear in a fixed-type context
+	and must be resolved with that context to facilitate the code
+	generation to the backend.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.adb, einfo.ads (Body_Needed_For_Inlining): New flag,
+	to indicate whether during inline processing, when some unit U1
+	appears in the context of a unit U2 compiled for instantiation
+	or inlining purposes, the body of U1 needs to be compiled as well.
+	* sem_prag.adb (Process_Inline): Set Body_Needed_For_Inlining if
+	context is a package declaration.
+	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration,
+	Analyze_Generic_Package_Declaration): ditto.
+	* inline.adb (Analyze_Inlined_Bodies): Check
+	Body_Needed_For_Inlining.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* par.adb (Current_Assign_Node): Global variable use to record
+	the presence of a target_name in the right hand side of the
+	assignment being parsed.
+	* par-ch4.adb (P_Name): If the name is a target_name, mark the
+	enclosing assignment node accordingly.
+	* par-ch5.adb (P_Assignment_Statement): Set Current_Assign_Node
+	appropriately.
+	* sem_ch5.adb (Analyze_Assignment): Disable expansion before
+	analyzing RHS if the statement has target_names.
+	* sem_aggr.adb (Resolve_Iterated_Component_Association): Handle
+	properly choices that are subtype marks.
+	* exp_ch5.adb: Code cleanup.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* s-memory.adb: Add a comment regarding efficiency.
+	* atree.adb: Fix the assertion, and combine 2 assertions into one,
+	"the source has an extension if and only if the destination does."
+	* sem_ch3.adb, sem_ch13.adb: Address ??? comments.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com trojanek>
+
+	* a-tasatt.adb (Set_Value): Fix handling of 32bits -> 64bits
+	conversion.
+
+2017-04-25  Doug Rupp  <rupp@adacore.com>
+
+	* init.c (__gnat_error_handler) [vxworks]: Turn on sigtramp
+	handling for ppc64-vx7.
+	* sigtramp-vxworks-target.inc
+	[SIGTRAMP_BODY]: Add section for ppc64-vx7.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* ada_get_targ.adb: New file.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* uintp.adb (Most_Sig_2_Digits): In case Direct (Right), fetch
+	Direct_Val (Right), instead of the incorrect Direct_Val (Left).
+	(UI_GCD): Remove ??? comment involving possible efficiency
+	improvements. This just isn't important after all these years.
+	Also minor cleanup.
+	* uintp.ads: Minor cleanup.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb, exp_util.ads, sem_ch7.adb, sem_prag.adb, exp_ch3.adb:
+	Revert previous changes.
+	* scng.adb: Minor reformatting.
+	* s-stratt.ads: Fix unbalanced parens in comment.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, exp_util.adb, sem_prag.adb, freeze.adb, sem_util.adb:
+	Minor reformatting.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* scng.adb (Scan): Handle '@' appropriately.
+	* sem_ch5.adb: Code cleanup.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Check_Expression_Function): Do not check for the
+	use of deferred constants if the freezing of the expression
+	function is triggered by its generated body, rather than a
+	premature use.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* exp_attr.adb (Rewrite_Stream_Proc_Call): Handle
+	subtypes of private types when performing the view conversion.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Freeze_Type): Signal the DIC body is created for
+	the purposes of freezing.
+	* exp_util.adb Update the documentation and structure of the
+	type map used in class-wide semantics of assertion expressions.
+	(Add_Inherited_Tagged_DIC): There is really no need to preanalyze
+	and resolve the triaged expression because all substitutions
+	refer to the proper entities.  Update the replacement of
+	references.
+	(Build_DIC_Procedure_Body): Add formal parameter
+	For_Freeze. Add local variable Build_Body. Inherited DIC pragmas
+	are now only processed when freezing occurs.  Build a body only
+	when one is needed.
+	(Entity_Hash): Removed.
+	(Map_Types): New routine.
+	(Replace_Object_And_Primitive_References): Removed.
+	(Replace_References): New routine.
+	(Replace_Type_References): Moved to the library level of Exp_Util.
+	(Type_Map_Hash): New routine.
+	(Update_Primitives_Mapping): Update the mapping call.
+	(Update_Primitives_Mapping_Of_Types): Removed.
+	* exp_util.ads (Build_DIC_Procedure_Body): Add formal
+	parameter For_Freeze and update the comment on usage.
+	(Map_Types): New routine.
+	(Replace_References): New routine.
+	(Replace_Type_References): Moved to the library level of Exp_Util.
+	(Update_Primitives_Mapping_Of_Types): Removed.
+	* sem_ch7.adb (Preserve_Full_Attributes): Propagate the DIC
+	properties of the private type to the full view in case the full
+	view derives from a parent type and inherits a DIC pragma.
+	* sem_prag.adb (Analyze_Pragma): Guard against a case where a
+	DIC pragma is placed at the top of a declarative region.
+
+2017-04-25  Tristan Gingold  <gingold@adacore.com>
+
+	* s-mmap.ads (Data): Add pragma Inline.
+
+2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Do not use
+	a renaming to alias a volatile name because this will lead to
+	multiple evaluations of the volatile name. Use a constant to
+	capture the value instead.
+
+2017-04-25  Doug Rupp  <rupp@adacore.com>
+
+	* init.c [VxWorks Section]: Disable sigtramp for ppc64-vx7.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb, exp_util.ads (Build_Class_Wide_Expression):
+	Add out parameter to indicate to caller that a wrapper must
+	be constructed for an inherited primitive whose inherited
+	pre/postcondition has called to overridden primitives.
+	* freeze.adb (Check_Inherited_Conditions): Build wrapper body
+	for inherited primitive that requires it.
+	* sem_disp.adb (Check_Dispatching_Operation): Such wrappers are
+	legal primitive operations and belong to the list of bodies
+	generated after the freeze point of a type.
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): Use new signature
+	of Build_Class_Wide_Expression.
+	* sem_util.adb, sem_util.ads (Build_Overriding_Spec): New procedure
+	to construct the specification of the wrapper subprogram created
+	for an inherited operation.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* s-osinte-linux.ads (pthread_mutexattr_setprotocol,
+	pthread_mutexattr_setprioceiling): Add new interfaces for these
+	pthread operations.
+	* s-taprop-linux.adb (Initialize_Lock, Initialize_TCB): Set
+	protocols as appropriate for Locking_Policy 'C' and 'I'.
+	* s-taprop-posix.adb: Minor reformatting to make it more similar
+	to s-taprop-linux.adb.
+
+2017-04-25  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Get_Discriminant_Value, Search_Derivation_Levels):
+	Handle properly a multi- level derivation involving both renamed
+	and constrained parent discriminants, when the type to be
+	constrained has fewer discriminants that the ultimate ancestor.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* sem_util.adb (Is_Object_Reference): In the
+	case of N_Explicit_Dereference, return False if it came from a
+	conditional expression.
+
+2017-04-25  Bob Duff  <duff@adacore.com>
+
+	* par-ch4.adb (P_Case_Expression): If a semicolon
+	is followed by "when", assume that ";" was meant to be ",".
+
+2017-04-25  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch9.adb, sem_ch10.adb, sem_util.adb: Minor reformatting and typo
+	fixes.
+
+2017-04-25  Arnaud Charlet  <charlet@adacore.com>
+
+	* rtsfind.ads (SPARK_Implicit_Load): New procedure for forced
+	loading of an entity.
+	* rtsfind.adb (SPARK_Implicit_Load): Body with a pattern
+	previously repeated in the analysis.
+	* sem_ch9.adb (Analyze_Protected_Type_Declaration): use new
+	procedure SPARK_Implicit_Load.	(Analyze_Task_Type_Declaration):
+	use new procedure SPARK_Implicit_Load.
+	* sem_ch10.adb (Analyze_Compilation_Unit): Use new procedure
+	SPARK_Implicit_Load.
+
+2017-04-25  Javier Miranda  <miranda@adacore.com>
+
+	* sem_util.adb (New_Copy_Tree): By default
+	copying of defining identifiers is prohibited because
+	this would introduce an entirely new entity into the
+	tree. This patch introduces an exception to this general
+	rule: the declaration of constants and variables located in
+	Expression_With_Action nodes.
+	(Copy_Itype_With_Replacement): Renamed as Copy_Entity_With_Replacement.
+	(In_Map): New subprogram.
+	(Visit_Entity): New subprogram.
+	(Visit_Node): Handle EWA_Level,
+	EWA_Inner_Scope_Level, and take care of defining entities defined
+	in Expression_With_Action nodes.
+
+2017-04-25  Thomas Quinot  <quinot@adacore.com>
+
+	* exp_ch6.adb: minor comment edit.
+	* sinfo.ads, sinfo.adb: New Null_Statement attribute for null
+	procedure specifications that come from source.
+	* par-ch6.adb (P_Subprogram, case of a null procedure): Set new
+	Null_Statement attribute.
+	* par_sco.adb (Traverse_Declarations_Or_Statements): For a null
+	procedure, generate statement SCO for the generated NULL statement.
+	* sem_ch6.adb (Analyze_Null_Procedure): Use null statement from
+	parser, if available.
+
+2017-04-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* system-linux-s390.ads: Use Long_Integer'Size to define
+	Memory_Size.
+
+2017-04-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch3.adb (Build_Derived_Record_Type): Fix long line.
+
+2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
+
+	* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo.
+	* g-socket.adb (To_Host_Entry): Fix typo in comment.
+	* gnat_ugn.texi: Fix typo.
+	* raise.c (_gnat_builtin_longjmp): Fix capitalization in comment.
+	* s-stposu.adb (Allocate_Any_Controlled): Fix typo in comment.
+	* sem_ch3.adb (Build_Derived_Record_Type): Likewise.
+	* sem_util.adb (Mark_Coextensions): Likewise.
+	* sem_util.ads (Available_Full_View_Of_Component): Likewise.
+
+2017-03-28  Andreas Schwab  <schwab@suse.de>
+
+	PR ada/80117
+	* system-linux-aarch64-ilp32.ads: New file.
+	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
+	from LIBGNAT_TARGET_PAIRS.
+	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
+	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
+	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
+	or -mabi=ilp32, resp.
+
+2017-03-14  James Cowgill  <James.Cowgill@imgtec.com>
+
+	* s-osinte-linux.ads (struct_sigaction): Use correct type for sa_flags.
+
+2017-03-08  Thanassis Tsiodras  <ttsiodras@gmail.com>
+
+	PR ada/79903
+	* socket.c (__gnat_gethostbyaddr): Add missing test for __rtems__.
+
+2017-03-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/79945
+	* system-linux-ppc.ads (Default_Bit_Order): Use Standard's setting.
+
+	* system-linux-arm.ads (Default_Bit_Order): Likewise.
+	* system-linux-mips.ads (Default_Bit_Order): Likewise.
+	* system-linux-armeb.ads: Delete.
+	* system-linux-mipsel.ads: Likewise.
+	* gcc-interface/Makefile.in (MIPS/Linux): Adjust.
+	(ARM/Linux): Likewise.
+
+2017-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/79677
+	* gcc-interface/misc.c (gnat_handle_option): Pass true to
+	handle_generated_option GENERATED_P.
+
+2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_field): Do not remove the wrapper
+	around a justified modular type if it doesn't have the same scalar
+	storage order as the enclosing record type.
+
+2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu): Do not apply special handling
+	of boolean rvalues to function calls.
+
+2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (fold_bit_position): New function.
+	(rest_of_record_type_compilation): Call it instead of bit_position to
+	compute the field position and remove the call to remove_conversions.
+	(compute_related_constant): Factor out the multiplication in both
+	operands, if any, and streamline the final test.
+
+2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (return_value_ok_for_nrv_p): Add sanity check.
+
+2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c: Include demangle.h.
+	(is_cplusplus_method): Return again true for a primitive operation
+	only if it is dispatching.  For a subprogram with an interface name,
+	call the demangler to get the number of C++ parameters and compare it
+	with the number of Ada parameters.
+
+2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If
+	there is no end label, put the location of the At_End procedure on
+	the call to the procedure.
+
+2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (gnat_type_max_size): Try to return a meaningful
+	value for array types with TYPE_INDEX_TYPE set on their domain type.
+	* gcc-interface/utils.c (max_size): For operations and expressions, do
+	not build a new node if the operands have not changed or are missing.
+
+2017-02-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (max_size) <tcc_expression>: Flip the second
+	argument when recursing on TRUTH_NOT_EXPR.
+
+2017-02-12  John Marino  <gnugcc@marino.st>
+
+	* system-freebsd-x86.ads: Rename into...
+	* system-freebsd.ads: ...this.
+	(Default_Bit_Order): Define using Standard'Default_Bit_Order.
+	* gcc-interface/Makefile.in: Support aarch64-freebsd.
+	(x86-64/FreeBSD): Adjust to above renaming.
+	(i386/FreeBSD): Likewise.
+
+2017-02-09  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* comperr.adb: Update FSF bug reporting URL.
+
+2017-02-01  Eric Botcazou  <ebotcazou@adacore.com>
+            Jakub Jelinek  <jakub@redhat.com>
+
+	PR ada/79309
+	* adaint.c (__gnat_killprocesstree): Fix broken string handling.
+
+2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR lto/79061
+	* gcc-interface/utils.c (get_global_context): Pass main_input_filename
+	to build_translation_unit_decl.
+
+2017-01-23  Javier Miranda  <miranda@adacore.com>
+
+	* sem_util.adb (New_Copy_Tree): Code cleanup:
+	removal of the internal map (ie. variable Actual_Map, its
+	associated local variables, and all the code handling it).
+	* sem_ch9.adb (Analyze_Task_Type_Declaration): in GNATprove mode
+	force loading of the System package when processing a task type.
+	(Analyze_Protected_Type_Declaration): in GNATprove mode force
+	loading of the System package when processing a protected type.
+	* sem_ch10.adb (Analyze_Compilation_Unit): in GNATprove mode
+	force loading of the System package when processing compilation
+	unit with a main-like subprogram.
+	* frontend.adb (Frontend): remove forced loading of the System
+	package.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Default_Initial_Condition): If the desired type
+	declaration is a derived type declaration with discriminants,
+	it is rewritten as a private type declaration.
+	* sem_ch13.adb (Replace_Type_References_Generic,
+	Visible_Component): A discriminated private type with descriminnts
+	has components that must be rewritten as selected components
+	if they appear as identifiers in an aspect expression such as
+	a Default_Initial_Condition.
+	* sem_util.adb (Defining_Entity): support N_Iterator_Specification
+	nodes.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* ghost.ads, ghost.adb (Is_Ignored_Ghost_Unit): New routine.
+	* gnat1drv.adb Generate an empty object file for an ignored
+	Ghost compilation unit.
+	* inline.adb, sem_util.adb, sem_ch4.adb: Minor reformatting.
+
+2017-01-23  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch4.adb (Analyze_Indexed_Component_Form):
+	Adapt to inlined prefix with string literal subtype.
+	* inline.adb (Expand_Inlined_Call): Keep unchecked
+	conversion inside inlined call when formal type is constrained.
+
+2017-01-23  Javier Miranda  <miranda@adacore.com>
+
+	* sem_util.adb (New_Copy_Tree): Code cleanup:
+	removal of global variables. All the global variables, global
+	functions and tables of this subprogram are now declared locally.
+
+2017-01-23  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_strm.ads: Minor reformatting and typo fixes.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aggr.adb, par_sco.adb, exp_util.adb, sem.adb, sem_ch4.adb,
+	exp_aggr.adb: Minor reformatting.
+	* g-diopit.adb: minor grammar/punctuation fix in comment.
+	* g-byorma.ads: minor fix of unbalanced parens in comment.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* par.adb: Update the documentation of component Labl.
+	* par-ch6.adb (P_Return_Statement): Set the expected label of
+	an extended return statement to Error.
+
+2017-01-23  Tristan Gingold  <gingold@adacore.com>
+
+	* s-boustr.ads, s-boustr.adb (Is_Full): New function.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* expander.adb: Handle N_Delta_Aggregate.
+
+2017-01-23  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch6.adb (Expand_Call): Improve the code that
+	checks if some formal of the called subprogram is a class-wide
+	interface, to handle subtypes of class-wide interfaces.
+
+2017-01-23  Javier Miranda  <miranda@adacore.com>
+
+	* checks.adb (Apply_Parameter_Aliasing_Checks):
+	Remove side effects of the actuals before generating the overlap
+	check.
+
+2017-01-23  Justin Squirek  <squirek@adacore.com>
+
+	* exp_strm.ads, exp_strm.ads
+	(Build_Record_Or_Elementary_Input_Function): Add an extra parameter so
+	as to avoid getting the underlying type by default.
+	* exp_attr.adb (Expand_N_Attribute_Reference): Remove use of
+	underlying type in the Iiput and output attribute cases when
+	building their respective functions.
+
+2017-01-23  Gary Dismukes  <dismukes@adacore.com>
+
+	* scng.adb: Minor reformatting of error message.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Do not attempt
+	to freeze the return type of an expression funxtion that is a
+	completion, if the type is a limited view and the non-limited
+	view is available.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* par-ch4.adb (P_Aggregate_Or_Parent_Expr): Recognize delta
+	aggregate construct.
+	(P_Record_Or_Array_Component_Association): An array aggregate
+	can start with an Iterated_Component_Association.
+	* scng.adb: Modify error message on improper use of @ in earlier
+	versions of the language.
+	* sinfo.ads: New node kind N_Delta_Aggregate.
+	* sinfo.adb: An N_Delta_Aggregate has component associations and
+	an expression.
+	* sem_res.adb (Resolve): Call Resolve_Delta_Aggregate.
+	* sem_aggr.ads, sem_aggr.adb (Resolve_Iterated_Component_Association):
+	Create a new index for each one of the choices in the association,
+	to prevent spurious homonyms in the scope.
+	(Resolve_Delta_Aggregate): New.
+	* sem.adb: An N_Delta_Aggregate is analyzed like an aggregate.
+	* exp_util.adb (Insert_Actions): Take into account
+	N_Delta_Aggregate.
+	* exp_aggr.ads: New procedure Expand_N_Delta_Aggregate.
+	* exp_aggr.adb: New procedure Expand_N_Delta_Aggregate,
+	and local procedures Expand_Delta_Array_Aggregate and
+	expand_Delta_Record_Aggregate.
+	* sprint.adb: Handle N_Delta_Aggregate.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch11.adb (Expand_N_Exception_Declaration): Generate an
+	empty name when the exception declaration is subject to pragma
+	Discard_Names.
+	(Null_String): New routine.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* par-ch9.adb (P_Protected_Definition): Parse
+	any optional and potentially illegal pragmas which appear in
+	a protected operation declaration list.
+	(P_Task_Items): Parse
+	any optional and potentially illegal pragmas which appear in a
+	task item list.
+
+2017-01-23  Pascal Obry  <obry@adacore.com>
+
+	* s-taprop-mingw.adb (Enter_Task): Initialize the Thread handle which
+	is needed when a foreign thread call a Win32 API using a thread handle
+	like GetThreadTimes() for example.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
+	allow an 'Address clause to be specified on a prefix of a
+	class-wide type.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Ensure that the prefix of
+	attribute 'Valid is a renaming of the original expression when
+	the expression denotes a name. For all other kinds of expression,
+	use a constant to capture the value.
+	* exp_util.adb (Is_Name_Reference): Moved to Sem_Util.
+	* sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util.
+
+2017-01-23  Justin Squirek  <squirek@adacore.com>
+
+	* sem_eval.adb (Eval_Integer_Literal): Add special
+	case to avoid optimizing out check if the literal appears in
+	an if-expression.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
+	allow an 'Address clause to be specified on a prefix of a
+	class-wide type.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb (Insert_Valid_Check): Ensure that the prefix of
+	attribute 'Valid is a renaming of the original expression when
+	the expression denotes a name. For all other kinds of expression,
+	use a constant to capture the value.
+	* exp_util.adb (Is_Name_Reference): Moved to Sem_Util.
+	* sem_util.ads, sem_util.adb (Is_Name_Reference): Moved from Exp_Util.
+
+2017-01-23  Justin Squirek  <squirek@adacore.com>
+
+	* sem_eval.adb (Eval_Integer_Literal): Add special
+	case to avoid optimizing out check if the literal appears in
+	an if-expression.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Try_Primitive_Operations,
+	Is_Valid_First_Argument_Of): argument is valid if it is a derived
+	type with unknown discriminants that matches its underlying
+	record view.
+	* exp_util.adb (Expand_Subtype_From_Expr): Do not expand
+	expression if its type is derived from a limited type with
+	unknown discriminants, because the expansion (which is a call)
+	must be expanded in the enclosing context to add the proper build-
+	in-place parameters to the call.
+	* lib.ads, exp_ch9.adb: Minor fixes in comments.
+
+2017-01-23  Yannick Moy  <moy@adacore.com>
+
+	* frontend.adb (Frontend): Do not load runtime
+	unit for GNATprove when parsing failed.
+	* exp_ch9.adb: minor removal of extra whitespace
+	* exp_ch6.adb: minor typo in comment
+	* sem_util.adb: Code cleanup.
+	* exp_ch9.ads, par-ch2.adb: minor style fixes in whitespace and comment
+	* a-ngcefu.adb: minor style fix in whitespace
+
+2017-01-23  Thomas Quinot  <quinot@adacore.com>
+
+	* scos.ads: Document usage of 'd' as default SCO kind for
+	declarations.
+	* par_sco.adb (Traverse_Declarations_Or_Statements.
+	Traverse_Degenerate_Subprogram): New supporting routine for expression
+	functions and null procedures.
+	(Traverse_Declarations_Or_Statements.Traverse_One): Add
+	N_Expression_Function to the subprogram case; add required
+	support for null procedures and expression functions.
+
+2017-01-23  Bob Duff  <duff@adacore.com>
+
+	* namet.ads (Bounded_String): Decrease the size of type
+	Bounded_String to avoid running out of stack space.
+	* namet.ads (Append): Don't ignore buffer overflow; raise
+	Program_Error instead.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb, freeze.adb, par-ch4.adb, scng.adb, sem_ch13.adb,
+	sem_ch3.adb, sem_ch5.adb, sem_ch5.ads, sem_util.adb, sinfo.ads: Minor
+	reformatting.
+	* exp_ch9.adb: minor style fix in comment.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Allocator): Handle properly a type derived
+	for a limited record extension with unknown discriminants whose
+	full view has no discriminants.
+
+2017-01-23  Yannick Moy  <moy@adacore.com>
+
+	* exp_spark.adb: Alphabetize with clauses.
+
+2017-01-23  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Has_Enabled_Property): Treat
+	protected objects and variables differently from other variables.
+
+2017-01-23  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order):
+	Split original Ada 95 part off into new subprogram
+	below. Call that subprogram (instead of proceeding with
+	AI95-0133 behaviour) if debug switch -gnatd.p is in use.
+	(Adjust_Record_For_Reverse_Bit_Order_Ada_95): ... new subprogram
+	* debug.adb Document new switch -gnatd.p
+	* freeze.adb (Freeze_Entity.Freeze_Record_Type): Do not adjust
+	record for reverse bit order if an error has already been posted
+	on the record type.  This avoids generating extraneous "info:"
+	messages for illegal code.
+
+2017-01-23  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): Correct comments
+	* freeze.adb (Find_Constant): Add detection of deferred constants
+	so they are not incorrectly flagged as premature.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* scans.ads: New token At_Sign. Remove '@' from list of illegal
+	characters for future version of the language. '@' is legal name.
+	* scng.ads, scng.adb (Scan):  Handle '@' appropriately.
+	* scn.adb (Scan_Reserved_Identifier): An occurrence of '@'
+	denotes a Target_Name.
+	* par-ch4.adb (P_Name, P_Primary): Handle Target_Name.
+	* sinfo.ads, sinfo.adb (N_Target_Name): New non-terminal node.
+	(Has_Target_Names): New flag on N_Assignment_Statement, to
+	indicate that RHS has occurrences of N_Target_Name.
+	* sem.adb: Call Analyze_Target_Name.
+	* sem_ch5.ads, sem_ch5.adb (Analyze_Target_Name): New subpogram.
+	(urrent_LHS): Global variable that denotes LHS of assignment,
+	used in the analysis of Target_Name nodes.
+	* sem_res.adb (Resolve_Target_Name): New procedure.
+	* exp_ch5.adb (Expand_Assign_With_Target_Names): (AI12-0125):
+	N is an assignment statement whose RHS contains occurences of @
+	that designate the value of the LHS of the assignment. If the
+	LHS is side-effect free the target names can be replaced with
+	a copy of the LHS; otherwise the semantics of the assignment
+	is described in terms of a procedure with an in-out parameter,
+	and expanded as such.
+	(Expand_N_Assignment_Statement): Call
+	Expand_Assign_With_Target_Names when needed.
+	* exp_util.adb (Insert_Actions): Take into account N_Target_Name.
+	* sprint.adb: Handle N_Target_Name.
+
+2017-01-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* checks.adb: Minor fix in comment.
+
+2017-01-23  Philippe Gil  <gil@adacore.com>
+
+	* g-debpoo.adb (Do_Report) remove freed chunks from chunks
+	count in Sort = Memory_Usage or Allocations_Count
+
+2017-01-23  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb: Code cleanup.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Move all global
+	variables to the local variable section. Update the profile
+	of various nested routine that previously had visibility
+	of those globals. One the matching phase has completed,
+	remove certain classes of clauses which are considered noise.
+	(Check_Dependency_Clause): Properly detect a match between two
+	'Result attributes. Update the various post-match cases to use
+	Is_Already_Matched as this routine now automatically recognizes
+	a previously matched 'Result attribute.
+	(Is_Already_Matched): New routine.
+	(Remove_Extra_Clauses): New routine.
+	(Report_Extra_Clauses): Remove the detection of ... => null
+	clauses as this is now done in Remove_Extra_Clauses.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Array_Aggregate): In ASIS mode do not
+	report on spurious overlaps between values involving a subtype
+	with a static predicate, because the expansion of such a subtype
+	into individual ranges in inhibited in ASIS mode.
+
+2017-01-23  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): Add detection
+	of an edge case and delay freezing if it is present.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, exp_spark.adb, exp_attr.adb, sem_ch9.adb, sem_prag.adb,
+	sem_util.adb, sem_warn.adb, exp_ch3.adb: Minor reformatting.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb (Freeze_Subprogram): Ensure that all anonymous
+	access-to-subprogram types inherit the convention of the
+	associated subprogram.	(Set_Profile_Convention): New routine.
+	* sem_ch6.adb (Check_Conformance): Do not compare the conventions
+	of the two entities directly, use Conventions_Match to account
+	for anonymous access-to-subprogram and subprogram types.
+	(Conventions_Match): New routine.
+
+2017-01-23  Claire Dross  <dross@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK_Attribute_Reference): For attributes
+	which return Universal_Integer, force the overflow check flag for
+	Length and Range_Length for types as big as Long_Long_Integer.
+
+2017-01-23  Claire Dross  <dross@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK_Attribute_Reference):  For
+	attributes which return Universal_Integer, introduce a conversion
+	to the expected type with the appropriate check flags set.
+	* sem_res.adb (Resolve_Range): The higher bound can be in Typ's
+	base type if the range is null. It may still be invalid if it
+	is higher than the lower bound. This is checked later in the
+	context in which the range appears.
+
+2017-01-23  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* scos.ads: Introduce a constant to represent ignored
+	dependencies in SCO_Unit_Table_Entry.
+
+2017-01-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Remove extra
+	spaces from error messages.
+
+2017-01-23  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch3.adb (Check_Large_Modular_Array): New procedure,
+	subsidiary to Expand_N_Object_ Declaration, to compute a guard on
+	an object declaration for an array type with a modular index type
+	with the size of Long_Long_Integer. Special processing is needed
+	in this case to compute reliably the size of the object, and
+	eventually  to raise Storage_Error, when wrap-around arithmetic
+	might compute a meangingless size for the object.
+
+2017-01-23  Justin Squirek  <squirek@adacore.com>
+
+	* a-wtenau.adb, par-endh.adb, sem_prag.adb,
+	sem_type.adb: Code cleanups.
+
+2017-01-23  Bob Duff  <duff@adacore.com>
+
+	* sem_res.adb (Resolve_Call): In the part of the code where
+	it is deciding whether to turn the call into an indexed
+	component, avoid doing so if the call is to an instance of
+	Unchecked_Conversion. Otherwise, the compiler turns it into an
+	indexed component, and resolution of that turns it back into a
+	function call, and so on, resulting in infinite recursion.
+	* sem_util.adb (Needs_One_Actual): If the first formal has a
+	default, then return False.
+
+2017-01-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc)
+	optimizations when the type is modular and the offsets are equal.
+
+2017-01-20  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_warn.adb (Warn_On_Useless_Assignment): Adjust wording of warning
+	message.
+
+2017-01-20  Nicolas Roche  <roche@adacore.com>
+
+	* terminals.c: Ignore failures on setpgid and tcsetpgrp commands.
+
+2017-01-20  Bob Duff  <duff@adacore.com>
+
+	* sem_eval.adb (Compile_Time_Compare): Disable the expr+literal
+	(etc) optimizations when the type is modular.
+
+2017-01-20  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Move_Pragmas): move some pragmas,
+	but copy the SPARK_Mode pragma instead of moving it.
+	(Build_Subprogram_Declaration): Ensure that the generated spec
+	and original body share the same SPARK_Pragma aspect/pragma.
+	* sem_util.adb, sem_util.ads (Copy_SPARK_Mode_Aspect): New
+	procedure to copy SPARK_Mode aspect.
+
+2017-01-20  Bob Duff  <duff@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): Disable Resolve_Aspects
+	even in ASIS mode.
+	* sem_ch13.adb (Resolve_Name): Enable setting the entity to
+	Empty even in ASIS mode.
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb: minor style fixes in comments.
+	* sem_ch9.adb (Analyze_Delay_Relative): in GNATprove mode a delay
+	relative statement introduces an implicit dependency on
+	Ada.Real_Time.Clock_Time.
+	* sem_util.adb: Minor reformatting.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Alignment
+	must be treated as delayed aspect even if the expression is
+	a literal, because the aspect affects the freezing and the
+	elaboration of the object to which it applies.
+
+2017-01-20  Tristan Gingold  <gingold@adacore.com>
+
+	* s-osinte-vxworks.ads (Interrup_Range): New subtype.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-xref.adb (Generate_Reference): Do not warn about the
+	presence of a pragma Unreferenced if the entity appears as the
+	actual in a procedure call that does not come from source.
+
+2017-01-20  Pascal Obry  <obry@adacore.com>
+
+	* expect.c, terminals.c: Fix some warnings about unused variables.
+	* gsocket.h, adaint.c, adaint.h: Fix some more warnings in the C part
+	of the runtime.
+
+2017-01-20  Bob Duff  <duff@adacore.com>
+
+	* exp_attr.adb (Constrained): Apply an access check (check that
+	the prefix is not null) when the prefix denotes an object of an
+	access type; that is, when there is an implicit dereference.
+
+2017-01-20  Gary Dismukes  <dismukes@adacore.com>
+
+	* s-rident.ads (constant Profile_Info): Remove
+	No_Calendar from GNAT_Extended_Ravenscar restrictions.
+
+2017-01-20  Tristan Gingold  <gingold@adacore.com>
+
+	*  s-maccod.ads: Add pragma No_Elaboration_Code_All
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* ghost.adb (Mark_Ghost_Clause): New routine.
+	(Prune_Node): Do not prune compilation unit nodes.
+	(Remove_Ignored_Ghost_Code): Prune the compilation unit node directly.
+	This does not touch the node itself, but does prune all its fields.
+	* ghost.ads (Mark_Ghost_Clause): New routine.
+	* sem_ch8.adb (Analyze_Use_Package): Emit an error when a use
+	package clause mentions Ghost and non-Ghost packages. Mark a
+	use package clause as Ghost when it mentions a Ghost package.
+	(Analyze_Use_Type): Emit an error when a use type clause mentions
+	Ghost and non-Ghost types. Mark a use type clause as Ghost when
+	it mentions a Ghost type.
+	* sem_ch10.adb (Analyze_With_Clause): Mark a with clause as
+	Ghost when it withs a Ghost unit.
+
+2017-01-20  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve_Call): If a function call
+	returns a limited view of a type and at the point of the call the
+	function is not declared in the extended main unit then replace
+	it with the non-limited view, which must be available. If the
+	called function is in the extended main unit then no action is
+	needed since the back-end handles this case.
+
+2017-01-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into...
+	(Contains_Subprograms_Refs): ...this.  Adjust comment
+	for constants.	(Is_Subp_Or_Const_Ref): Rename into...
+	(Is_Subprogram_Ref): ...this.
+	(Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into
+	Has_Non_Subprograms_Referencer and adjust comment.  Remove
+	incorrect shortcut for package declarations and bodies.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Complete_Private_Subtype): If the scope of the
+	base type differs from that of the completion and the private
+	subtype is an itype (created for a constraint on an access
+	type e.g.), set Delayed_Freeze on both to prevent out-of-scope
+	anomalies in gigi.
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
+	When inheriting the SPARK_Mode of a prior expression function,
+	look at the properly resolved entity rather than the initial
+	candidate which may denote a homonym.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Rewrite_Assertion_Kind): If the name is
+	Precondition or Postcondition, and the context is pragma
+	Check_Policy, indicate that this Pre-Ada2012 usage is deprecated
+	and suggest the standard names Assertion_Policy /Pre /Post
+	instead.
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch10.adb, sem_cat.adb: Minor reformatting.
+
+2017-01-20  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch3.adb (Access_Type_Declaration): Protect access to the
+	Entity attribute.
+	* sem_ch10.adb (Install_Siblings): Skip processing malformed trees.
+	* sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing
+	malformed trees.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specification, case
+	Dynamic_Predicate): If the entity E is a subtype that inherits
+	a static predicate for its parent P,, the inherited and the
+	new predicate combine in the generated predicate function,
+	and E only has a dynamic predicate.
+
+2017-01-20  Tristan Gingold  <gingold@adacore.com>
+
+	* s-boustr.ads, s-boustr.adb: New package.
+	* Makefile.rtl: Add s-boustr.
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* inline.adb (Process_Formals): Qualify the
+	expression of a return statement when it yields a universal type.
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb (Freeze_All): Freeze the default
+	expressions of all eligible formal parameters that appear in
+	entries, entry families, and protected subprograms.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Check_Nonoverridable_Aspects); Refine check
+	for illegal inherited Implicit_Dereference aspects with renamed
+	discriminants.
+
+2017-01-20  Javier Miranda  <miranda@adacore.com>
+
+	* debug.adb (switch d.6): do not avoid declaring unreferenced itypes.
+	* nlists.ads (Lock_Lists, Unlock_Lists): New subprograms.
+	* nlists.adb (Lock_Lists, Unlock_Lists): New subprograms.
+	(Set_First, Set_Last, Set_List_Link, Set_Next, Set_Parent,
+	Set_Prev, Tree_Read): Adding assertion.
+	* atree.ads (Lock_Nodes, Unlock_Nodes): New subprograms.
+	* atree.adb (Lock_Nodes, Unlock_Nodes): New subprograms.
+	(Set_Analyzed, Set_Check_Actuals, Set_Comes_From_Source,
+	Set_Ekind, Set_Error_Posted, Set_Has_Aspects,
+	Set_Is_Ignored_Ghost_Node, Set_Original_Node, Set_Paren_Count,
+	Set_Parent, Set_Sloc, Set_Nkind, Set_FieldNN, Set_NodeNN,
+	Set_ListNN, Set_ElistNN, Set_NameN, Set_StrN, Set_UintNN,
+	Set_UrealNN, Set_FlagNNN, Set_NodeN_With_Parent,
+	Set_ListN_With_Parent): Adding assertion.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Process_Convention): Diagnose properly a pragma
+	import that applies to several homograph subprograms. when one
+	of them is declared by a subprogram body.
+
+2017-01-20  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch6.adb (Expand_Call): Remove optimization
+	that nulls out calls to null procedures.
+
+2017-01-20  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Expand_Inlined_Call): Keep more
+	precise type of actual for inlining whenever possible. In
+	particular, do not switch to the formal type in GNATprove mode in
+	some case where the GNAT backend might require it for visibility.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Check_Non_Overridable_Aspects): An inherited
+	aspect Implicit_Dereference can be inherited by a full view if
+	the partial view has no discriminants, because there is no way
+	to apply the aspect to the partial view.
+	(Build_Derived_Record_Type): If derived type renames discriminants
+	of the parent, the new discriminant inherits the aspect from
+	the old one.
+	* sem_ch4.adb (Analyze_Call): Handle properly a parameterless
+	call through an access discriminant designating a subprogram.
+	* sem_ch5.adb (Analyze_Assignment): (Analyze_Call): Handle
+	properly a parameterless call through an access discriminant on
+	the left-hand side of an assignment.
+	* sem_res.adb (resolve): If an interpreation involves a
+	discriminant with an implicit dereference and the expression is an
+	entity, resolution takes place later in the appropriate routine.
+	* sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Recognize
+	access discriminants that designate a subprogram type.
+
+2017-01-20  Pascal Obry  <obry@adacore.com>
+
+	* a-locale.adb, a-locale.ads: Update Ada.Locales for RM 2012 COR:1:2016
+
+2017-01-20  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error
+	on implicitly with'ed units in GNATprove mode.
+	* sinfo.ads (Implicit_With): Document use of flag for implicitly
+	with'ed units in GNATprove mode.
+
+2017-01-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_cat.adb (Validate_Static_Object_Name): In a preelaborated
+	unit Do not report an error on a non-static entity that appears
+	in the context of a spec expression, such as an aspect expression.
+
+2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb: Flag298 now denotes Is_Underlying_Full_View.
+	(Is_Underlying_Full_View): New routine.
+	(Set_Is_Underlying_Full_View): New routine.
+	(Write_Entity_Flags): Add an entry for Is_Underlying_Full_View.
+	* einfo.ads Add new attribute Is_Underlying_Full_View.
+	(Is_Underlying_Full_View): New routine along with pragma Inline.
+	(Set_Is_Underlying_Full_View): New routine along with pragma Inline.
+	* exp_util.adb (Build_DIC_Procedure_Body): Do not consider
+	class-wide types and underlying full views. The first subtype
+	is used as the working type for all Itypes, not just array base types.
+	(Build_DIC_Procedure_Declaration): Do not consider
+	class-wide types and underlying full views. The first subtype
+	is used as the working type for all Itypes, not just array
+	base types.
+	* freeze.adb (Freeze_Entity): Inherit the freeze node of a full
+	view or an underlying full view without clobbering the attributes
+	of a previous freeze node.
+	(Inherit_Freeze_Node): New routine.
+	* sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying
+	full view as such.
+	(Build_Underlying_Full_View): Mark an underlying full view as such.
+	* sem_ch7.adb (Install_Private_Declarations): Mark an underlying
+	full view as such.
+
+2017-01-20  Yannick Moy  <moy@adacore.com>
+
+	* sinfo.ads: Document lack of Do_Division_Check flag
+	on float exponentiation.
+
+2017-01-19  Javier Miranda  <miranda@adacore.com>
+
+	* ghost.adb (Propagate_Ignored_Ghost_Code): Protect access to the
+	identifier attribute of a block-statement node. Required to avoid
+	assertion failure when building the new containers library.
+
+2017-01-19  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb: Update comment.
+
+2017-01-19  Vincent Celier  <celier@adacore.com>
+
+	* gprep.adb (Gnatprep): Parse the definition file without
+	"replace in comments" even when switch -C is used.
+
+2017-01-19  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch9.adb (Is_Pure_Barrier): Create function
+	Is_Count_Attribute to identify an expansion of the 'Count
+	attribute.
+
+2017-01-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the
+	statements within an element iterator loop are only analyzed
+	agter the loop is rewritten. Within a generic the analysis must
+	be performed in any case to complete name capture.
+
+2017-01-19  Bob Duff  <duff@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first,
+	before checking for unrecognized pragmas.
+	Initialize Pname on its declarations; that's always good style.
+
+2017-01-19  Claire Dross  <dross@adacore.com>
+
+	* exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the
+	body into the tree for GNATprove by setting its Parent field. The
+	components invariants of composite types are not checked by
+	the composite type's invariant procedure in GNATprove mode.
+	(Build_Invariant_Procedure_Declaration): Semi-insert the
+	declaration into the tree for GNATprove by setting its Parent
+	field.
+	* freeze.adb (Freeze_Arry_Type):In GNATprove mode, do not add
+	the component invariants to the array type  invariant procedure
+	so that the procedure can be used to  check the array type
+	invariants if any.
+	(Freeze_Record_Type): In GNATprove mode, do
+	not add the component invariants to the record type  invariant
+	procedure so that the procedure can be used to	check the record
+	type invariants if any.
+
+2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref-spark_specific.adb: Minor reformatting.
+	* exp_ch7.adb (Add_Parent_Invariants): Do not process array types.
+
+2017-01-19  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Pass_Aggregate_To_Back_End): Renamed as
+	Build_Back_End_Aggregate.
+	(Generate_Aggregate_For_Derived_Type): Code cleanup.
+	(Prepend_Stored_Values): Code cleanup.
+
+2017-01-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Check for an
+	incomplete return type after attempting to freeze it, so that
+	other freeze actiona are generated in the proper order.
+
+2017-01-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Aggregate): If the type is a string
+	type, ie. a type whose component is a character type, and the
+	aggregate is positional, do not convert into a string literal
+	if the index type is not an integer type, because the original
+	type may be required in an enclosing operation.
+
+2017-01-19  Bob Duff  <duff@adacore.com>
+
+	* binde.adb, debug.adb: Enable new elaboration order algorithm
+	by default. -dp switch reverts to the old algorithm.
+
+2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb Add with and use clauses for Exp_Ch7.
+	(Analyze_Declarations): Create the DIC and Invariant
+	procedure bodies s after all freezing has taken place.
+	(Build_Assertion_Bodies): New routine.
+	* sem_ch7.adb Remove the with and use clauses for Exp_Ch7
+	and Exp_Util.
+	(Analyze_Package_Specification): Remove the
+	generation of the DIC and Invariant procedure bodies. This is
+	now done by Analyze_Declarations.
+	* sem_disp.adb (Check_Dispatching_Operation): DIC and Invariant
+	procedures are never treated as primitives.
+
+2017-01-19  Yannick Moy  <moy@adacore.com>
+
+	* frontend.adb: Analyze inlined bodies and check elaboration
+	rules in GNATprove mode too.
+	* sem_elab.adb (Delay_Element): Add Boolean component to save
+	indication that call is in SPARK code.	(Check_Elab_Calls):
+	Check elaboration rules in GNATprove mode, and correctly set
+	the current value of SPARK_Mode.
+	* lib-xref-spark_specific.adb
+	(Add_SPARK_Xrefs): Simplify iteration over dereferences.
+
+2017-01-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_Concatenate): Do no enable overflow
+	checks on the expression for the high bound of concatenation
+	when checks are disabled, to suppress warnings about potential
+	constraint errors in restricted runtimes.
+
+2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the
+	representation-to-position function as inlined.
+	* sem_cat.adb (Set_Categorization_From_Scope): Do not modify
+	the purity of an internally generated entity if it has been
+	explicitly marked as pure for optimization purposes.
+	* exp_aggr.adb: Minor reformatting.
+
+2017-01-19  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch6.adb (Expand_Call): Remove side effects on
+	actuals that are allocators with qualified expression since the
+	initialization of the object is performed by means of individual
+	statements (and hence it must be done before the call).
+
+2017-01-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Declarations): Minor reformatting.
+	(Build_Derived_Enumeration_Type): If the derived type inherits a
+	dynamic predicate from its parent, the bounds of the type must
+	freeze because an explicit constraint is constructed for the
+	type and the corresponding range is elaborated now.
+
+2017-01-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_attr.ads: minor fix of inconsistent casing in comment
+	* lib-writ.ads: minor align comments in columns
+	* sem_ch3.adb: Minor reformatting.
+	* spark_xrefs.ads: minor fix typo in SPARK-related comment
+	* table.ads: minor style fix in comment
+	* lib-xref-spark_specific.adb
+	(Add_SPARK_Xrefs): simplify processing of SPARK cross-references.
+	* sem_ch12.adb: minor whitespace fix
+	* freeze.adb: Add comment.
+	* sem_util.adb (Unique_Name): for instances of
+	generic subprograms ignore the name of the wrapper package.
+
+2017-01-19  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Resolve_Record_Aggregate):
+	Factorize code needed for aggregates of limited and unlimited
+	types in a new routine.
+	(Pass_Aggregate_To_Back_End): New subprogram.
+
+2017-01-19  Yannick Moy  <moy@adacore.com>
+
+	* sinfo.adb (Pragma_Name): Only access up to Last_Pair of Pragma_Map.
+
+2017-01-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.ads, sem_ch4.adb (Try_Object_Operation): Make subprogram
+	public, for use elsewhere.
+	* sem_ch6.adb (Analyze_Procedure_Call): In SPARK_Mode and within
+	an Inlined_body, recognize a call that uses object notation
+	and has not been rewritten as a regular call because regular
+	expansion has not taken place.
+
+2017-01-19  Bob Duff  <duff@adacore.com>
+
+	* checks.adb (Apply_Type_Conversion_Checks): Disable small optimization
+	in case of generic formal discrete types, because it causes crashes in
+	the compiler when built with assertions on.
+
+2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref-spark_specific.adb, sem_util.adb, sem_util.ads,
+	sem_ch4.adb, sem_ch8.adb, lib-xref.ads: Minor reformatting.
+
+2017-01-19  Bob Duff  <duff@adacore.com>
+
+	* bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking):
+	Increment Warnings_Detected.  It was decrementing, which is
+	wrong since we just issued a warning message.
+	* binderr.ads (Errors_Detected, Warnings_Detected): Declare
+	these variables to be of subtype Nat instead of Int, because
+	they should never be negative.
+
+2017-01-19  Javier Miranda  <miranda@adacore.com>
+
+	* contracts.adb (Build_Postconditions_Procedure): Replace
+	Generate_C_Code by Modify_Tree_For_C.
+	* exp_aggr.adb (Build_Record_Aggr_Code, Expand_Array_Aggregate):
+	Replace Generate_C_Code by Modify_Tree_For_C.
+	* exp_attr.adb (Float_Valid, Is_GCC_Target): Replace Generate_C_Code by
+	Modify_Tree_For_C.
+	* exp_ch11.adb (Expand_N_Exception_Declaration): Replace
+	Generate_C_Code by Modify_Tree_For_C.
+	* exp_ch4.adb (Expand_Allocator_Expression): Replace
+	Generate_C_Code by Modify_Tree_For_C.
+	* exp_dbug.adb (Qualify_Entity_Name): Replace Generate_C_Code
+	by Modify_Tree_For_C.
+	* exp_util.adb (Remove_Side_Effects, Side_Effect_Free): Replace
+	Generate_C_Code by Modify_Tree_For_C.
+	* sem_res.adb (Resolve_Type_Conversion): Replace Generate_C_Code
+	by Modify_Tree_For_C.
+	* sinfo.ads (Modify_Tree_For_C): Adding documentation.
+
+2017-01-19  Javier Miranda  <miranda@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Expression_Of_Expression_Function): New
+	subprogram.
+	(Is_Inlinable_Expression_Function): New subprogram.
+	* exp_ch6.ads, exp_ch6.adb (Expression_Of_Expression_Function): Moved
+	to Sem_Util.
+	(Is_Inlinable_Expression_Function): Moved to Sem_Util.
+
+2017-01-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Diagnose_Call): Improve error message when a
+	selected component has a prefix that might be interpreted
+	as a parameterless function call, but none of the candidate
+	interpretations is parameterless, and there is a hidden homonym
+	of the prefix that is a package.
+	* sem_ch8.adb (Find_Selected_Component): If the prefix might be
+	interpreted as a parameterless function call and its analysis
+	fails, do not call Analyze_Selected_Component.
+
+2017-01-19  Steve Baird  <baird@adacore.com>
+
+	* sem_util.ads: Add new Use_Full_View Boolean parameter to
+	Get_Index_Bounds.
+	* sem_util.adb (Get_Index_Bounds): replace calls to Scalar_Range with
+	calls to a newly-defined Scalar_Range_Of_Right_View function.
+
+2017-01-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb: minor fix of unbalanced parens in comment
+	* lib-xref.ads (Traverse_Compilation_Unit): declaration moved
+	to visible part of the package to allow re-use in GNATprove.
+	* lib-xref-spark_specific.adb (Traverse_Stub): routine refactored
+	from repeated code of Traverse_Compilation_Unit.
+	(Traverse_Declaration_Or_Statement): fixed detection of
+	generic subprograms and packages; also, iteration over case
+	statement alternatives rewritten to avoid testing if the first
+	alternative is present (since it must be present due to Ada
+	syntax restrictions).
+
+2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as
+	returning by reference not just for subprogram body stubs,
+	but for all subprogram cases.
+	* sem_util.adb: Code reformatting.
+	(Requires_Transient_Scope): Update the call to Results_Differ.
+	(Results_Differ): Update the parameter profile and the associated
+	comment on usage.
+
+2017-01-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension): Analyze object declaration and
+	identifier nodes that do not come from source, to handle properly
+	dimensionality check within an inlined body which inclddes both
+	original operands and rewritten operands. This removes spurious
+	dimensionality errors in the presence of front-end inlining,
+	as well as in SPARK mode.
+
+2017-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR driver/49726
+	* gcc-interface/lang.opt (gant, gnatO, gnat): Add Driver flag.
+
+2017-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc-interface/Makefile.in (SPARC/Solaris): Fix typo.
+
+2017-01-13  Arnaud Charlet  <charlet@adacore.com>
+
+	* doc/gnat_ugn/getting_started_with_gnat.rst,
+	doc/gnat_ugn/inline_assembler.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/example_of_binder_output.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/compatibility_and_porting_guide.rst,
+	doc/gnat_rm/standard_library_routines.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/obsolescent_features.rst,
+	doc/gnat_rm/about_this_guide.rst,
+	doc/gnat_rm/the_implementation_of_standard_i_o.rst,
+	doc/gnat_rm/implementation_of_ada_2012_features.rst,
+	doc/gnat_rm/interfacing_to_other_languages.rst,
+	doc/gnat_rm/implementation_defined_aspects.rst,
+	doc/gnat_rm.rst: Update documentation.
+	* gnat_rm.texi, gnat_ugn.texi: Regenerated.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads: minor grammar fixes in comment of Normalized_Position_Max.
+	* scil_ll.adb: Minor style fix in comment.
+	* sem_ch8.adb (Analyze_Expanded_Name): Perform dimension analysis
+	even if entity is already set, because the node may be renalyzed
+	after inlining transformations.
+
+2017-01-13  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Do not establish a transient scope
+	for a call to inlinable expression function (since the call will
+	be replaced by its returned object).
+	* exp_ch6.ads (Is_Inlinable_Expression_Function): New subprogram.
+	* exp_ch6.adb (Expression_Of_Expression_Function): New subprogram.
+	(Expand_Call): For inlinable expression function call replace the
+	call by its returned object.
+	(Is_Inlinable_Expression_Function): New subprogram.
+
+2017-01-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* checks.adb: Minor typo fix and reformatting.
+
+2017-01-13  Javier Miranda  <miranda@adacore.com>
+
+	* contracts.adb (Contract_Only_Subprograms): Remove formal.
+	(Copy_Original_Specification): Removed.
+	(Skip_Contract_Only_Subprogram): Move here checks previously
+	located in the caller of this routine (to leave the code more clean).
+	(Build_Contract_Only_Subprogram): Code cleanup.
+	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): Removed.
+	(Get_Contract_Only_Missing_Body_Name): Removed.
+
+2017-01-13  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch6.adb (Cloned_Expression): New subprogram.
+	(Freeze_Expr_Types): Complete previous patch since the expression
+	of an expression-function may have iterators and loops with
+	defining identifiers which, as part of the preanalysis of the
+	expression, may be left decorated with itypes that will not be
+	available in the tree passed to the backend.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* checks.adb (Apply_Type_Conversion_Checks): Optimize a type
+	conversion to Integer of an expression that is an attribute
+	reference 'Pos on an enumeration type.
+
+2017-01-13  Bob Duff  <duff@adacore.com>
+
+	* atree.ads: Minor comment fix.
+
+2017-01-13  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch6.adb (Check_Aggregate_Accessibility): Ignore function
+	calls in accessibility check on return statement.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
+	Ensure that the input body is a subprogram body before trying to
+	determine whether it denoted an expression function.  Note that
+	subprogram body stubs cannot denote expression functions.
+
+2017-01-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* bindgen.adb, sem_ch6.adb, binde.adb, exp_ch3.adb: Minor reformatting
+	and typo fixes.
+
+2017-01-13  Javier Miranda  <miranda@adacore.com>
+
+	* einfo.ads (Component_Bit_Offset): Fix documentation.
+	* sem_ch13.adb (Check_Record_Representation_Clause): Skip check
+	on record holes for components with unknown compile-time offsets.
+
+2017-01-13  Bob Duff  <duff@adacore.com>
+
+	* ali.ads, ali.adb (Static_Elaboration_Model_Used): Remove unused flag.
+	* g-locfil.ads: Minor comment fix.
+
+2017-01-13  Bob Duff  <duff@adacore.com>
+
+	* binde.adb (Elab_New): New elaboration order algorithm
+	that is expected to cause fewer ABE issues. This is a work in
+	progress. The new algorithm is currently disabled, and can be
+	enable by the -dp switch, or by modifying the Do_Old and Do_New
+	etc. flags and rebuilding. Experimental code is included to
+	compare the results of the old and new algorithms.
+	* binde.ads: Use GNAT.Dynamic_Tables instead of Table, so we
+	can have multiple of these tables, so the old and new algorithms
+	can coexist.
+	* bindgen.ads (Gen_Output_File): Pass Elab_Order as an 'in'
+	parameter of type array. This avoids the global variable, and
+	allows bounds checking (which is normally defeated by the tables
+	packages). It also ensures that the Elab_Order is read-only
+	to Bindgen.
+	* bindgen.adb: Pass Elab_Order as an 'in' parameter to all
+	subprograms that need it, as above.
+	* debug.adb: Document new -dp switch. Modify doc of old -do
+	switch.
+	* gnatbind.adb (Gnatbind): Make use of new interfaces to Binde
+	and Bindgen.  Move writing of closure (-R and -Ra switches)
+	to Binde; that's more convenient.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): If the expression
+	function is a completion, all entities referenced in the
+	expression are frozen. As a consequence, a reference to an
+	uncompleted private type from an enclosing scope is illegal.
+
+2017-01-13  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch6.adb (Freeze_Expr_Types): New subprogram.
+	(Analyze_Subprogram_Body_Helper): At the occurrence of an
+	expression function declaration that is a completion, its
+	expression causes freezing (AI12-0103).
+
+2017-01-13  Vadim Godunko  <godunko@adacore.com>
+
+	* a-coinho-shared.adb: Fix memory leaks in Constant_Reference and
+	Reference functions of Ada.Containers.Indefinite_Holders.
+
+2017-01-13  Bob Duff  <duff@adacore.com>
+
+	* s-os_lib.ads: Minor comment fixes.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Default_Initialize_Object): Do not default
+	initialize an object when it is of a task type and restriction
+	No_Tasking is in effect because the initialization is obsolete.
+	* exp_ch9.adb (Build_Master_Entity): Do not generate a master when
+	restriction No_Tasking is in effect.
+	(Build_Master_Renaming): Do not rename a master when restriction
+	No_Tasking is in effect.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Array_Aggregate): The code that verifies
+	the legality of An others clause applies as well to a choice in
+	an Iterated_component_ association.
+	(Resolve_Iterated_Component_Association): An others choice
+	is legal.
+	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): An
+	Iterated_Component_Association is not static.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch3.adb (Freeze_Type): Mark the Ghost mode as set in case
+	control is passed to the expresion handler before the new mode
+	is set.
+	* sem_ch12.adb (Analyze_Package_Instantiation,
+	Analyze_Subprogram_Instantiation): Mark the Ghost mode as set
+	in case control is passed to the expresion handler before the
+	new mode is set.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aggr.adb, sem_ch3.adb, inline.adb, sem_util.adb, exp_ch4.adb,
+	exp_aggr.adb: Minor reformatting.
+
+2017-01-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* inline.adb: Minor reformatting and typo fix.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Choice_List): Move function here
+	from sem_aggr.adb, for use elsewhere.
+	* sem_ch3.adb (Analyze_Object_Declaration): Use Choice_List.
+	* sem_aggr.adb (Resolve_Array_Aggregate): Remove
+	Iterated_Component_Present.
+	* exp_aggr.adb: Use Choice_List throughout, to handle
+	Iterated_Component_Associations.
+	(Gen_Loop): Generate proper loop for an
+	Iterated_Component_Association: loop variable has the identifier
+	of the original association. Generate a loop even for a single
+	component choice, in order to make loop parameter visible in
+	expression.
+	(Flatten): An Iterated_Component_Association is not static.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Op_Expon): Ensure that the value of
+	float exponentiation for statically known small negative values
+	is the reciprocal of the exponentiation for the opposite value
+	of the exponent.
+	* s-exnllf.adb (Exn_Float, Exn_Long_Float, Exn_Long_Long_Float):
+	Ensure that the value of float exponentiation for negative values
+	is the reciprocal of the exponentiation for the opposite value
+	of the exponent.
+	* inline.adb (Expand_Inlined_Call): Fix the count
+	for the number of generated gotos.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb: Code cleanup.
+	* sem_util.adb (Is_OK_Volatile_Context): Add
+	expression in delay statement as OK for volatile context.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Array_Aggregate): In normal compilation
+	mode a choice that is a subtype with a static predicate is
+	replaced by the values it covers. This transformation must not
+	be performed in ASIS mode, to preserve the source for analysis.
+
+2017-01-13  Justin Squirek  <squirek@adacore.com>
+
+	* nlists.ads: Correct minor typo.
+
+2017-01-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch13.adb: Minor reformatting and typo fix.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* par-ch4.adb (P_Aggregate_Or_Parent_Expr): An
+	Iterated_Component_Association is a named association in an
+	array aggregate.
+	* sem_aggr.adb (Resolve_Iterated_Component_Association): New
+	procedure, subsidiary of Resolve_Array_Aggregate, to analyze
+	and resolve the discrete choices and the expression of the
+	new construct.
+	* sinfo.adb, sinfo.ads: In analogy with N_Component_Association,
+	Loop_Actions and Box_Present are attributes of
+	N_Iterated_Component_Association nodes. Box_Present is always
+	False in this case.
+	* sprint.adb (Sprint_Node): An Iterated_Component_Association
+	has a Discrete_Choices list, as specified in the RM. A
+	Component_Association for aggregate uses instead a Choices list.
+	We have to live with this small inconsistency because the new
+	construct also has a defining identifier, and there is no way
+	to merge the two node structures.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Remove_Aspects_And_Pragmas): Add Unused to the
+	list of pragmas to remove.  Remove pragmas from the list of
+	statements in the body to inline.
+	* namet.adb, namet.ads (Nam_In): New version with 12 parameters.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Resolve_Aspects): New procedure, subsidiary of
+	Analyze_Declarations, to analyze and resolve the expressions of
+	aspect specifications in the current declarative list, so that
+	the expressions have proper entity and type info.  This is needed
+	for ASIS when there is no subsequent expansion to generate this
+	semantic information.
+	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Use Etype of
+	original expression, to suppress cascaded errors when expression
+	has been constant-folded.
+	(Resolve_Aspect_Expressions, Resolve_Name): Preserve entities in
+	ASIS mode, because there is no subsequent expansion to decorate
+	the tree.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb, inline.ads (Call_Can_Be_Inlined_In_GNATprove_Mode):
+	New function to detect when a call may be inlined or not in
+	GNATprove mode.
+	(Expand_Inlined_Call): Ensure that a temporary
+	is always created in the cases where a type conversion may be
+	needed on an input parameter in GNATprove mode, so that GNATprove
+	sees the check to perform.
+	* sem_res.adb (Resolve_Call): In GNATprove mode, skip inlining
+	when not applicable due to actual requiring type conversion
+	with possible check but no temporary value can be copied for
+	GNATprove to see the check.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aggr.adb, par_sco.adb, s-osprim-mingw.adb, exp_ch5.adb,
+	exp_prag.adb, sem_ch3.adb, xr_tabls.adb, lib-xref-spark_specific.adb,
+	layout.adb, sem_dist.adb, exp_spark.adb, exp_ch7.adb, gnatcmd.adb,
+	exp_util.adb, prj-proc.adb, sem_aux.adb, comperr.adb, g-memdum.adb,
+	exp_attr.adb, s-intman-solaris.adb, exp_ch9.adb, make.adb, live.adb,
+	g-sercom-linux.adb, sem_dim.adb, mlib-prj.adb, s-intman-posix.adb,
+	sem_ch9.adb, sem_ch10.adb, prep.adb, einfo.adb, scng.adb, checks.adb,
+	prj-strt.adb, sem_prag.adb, eval_fat.adb, sem_ch12.adb, sem.adb,
+	a-numaux-x86.adb, a-stwifi.adb, i-cobol.adb, prj.adb,
+	get_spark_xrefs.adb, s-tasini.adb, rtsfind.adb, freeze.adb,
+	g-arrspl.adb, par-ch4.adb, sem_util.adb, sem_res.adb, expander.adb,
+	sem_attr.adb, exp_dbug.adb, prj-pp.adb, a-stzfix.adb, s-interr.adb,
+	s-wchcnv.adb, switch-m.adb, gnat1drv.adb, sinput-l.adb, stylesw.adb,
+	contracts.adb, s-intman-android.adb, g-expect.adb, exp_ch4.adb,
+	g-comlin.adb, errout.adb, sinput.adb, s-exctra.adb, repinfo.adb,
+	g-spipat.adb, g-debpoo.adb, exp_ch6.adb, sem_ch4.adb, exp_ch13.adb,
+	a-wtedit.adb, validsw.adb, pprint.adb, widechar.adb, makeutl.adb,
+	ali.adb, set_targ.adb, sem_mech.adb, sem_ch6.adb, gnatdll.adb,
+	get_scos.adb, g-pehage.adb, s-tratas-default.adb, gnatbind.adb,
+	prj-dect.adb, g-socthi-mingw.adb, par-prag.adb, prj-nmsc.adb,
+	exp_disp.adb, par-ch12.adb, binde.adb, sem_ch8.adb,
+	s-tfsetr-default.adb, s-regexp.adb, gprep.adb, s-tpobop.adb,
+	a-teioed.adb, sem_warn.adb, sem_eval.adb, g-awk.adb, s-io.adb,
+	a-ztedit.adb, xoscons.adb, exp_intr.adb, sem_cat.adb, sprint.adb,
+	g-socket.adb, exp_dist.adb, sem_ch13.adb, s-tfsetr-vxworks.adb,
+	par-ch3.adb, treepr.adb, g-forstr.adb, g-catiio.adb, par-ch5.adb,
+	uname.adb, osint.adb, exp_ch3.adb, prj-env.adb, a-strfix.adb,
+	a-stzsup.adb, prj-tree.adb, s-fileio.adb: Update all eligible case
+	statements to reflect the new style for case alternatives. Various
+	code clean up and reformatting.
+
+2017-01-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.adb: Minor reformatting.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* exp_spark.adb: Code cleanup.
+	* sem_ch9.adb (Analyze_Delay_Until): Resolve
+	expression so that calls are identified as such inside delay
+	until.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Insert_Actions): Handle Iterated_Component_Association.
+	* par-ch3.adb (P_Discrete_Choice_List): An
+	Iterated_Component_Association is an array aggregate component.
+	* par-ch4.adb (P_Iterated_Component_Association): New procedure.
+	(Is_Quantified_Expression): New function that performs a lookahead
+	to distinguish quantified expressions from iterated component
+	associations.
+	(P_Aggregate_Or_Paren_Expr): Recognize iterated component
+	associations.
+	(P_Unparen_Cond_Case_Quant_Expression, P_Primary): Ditto.
+	* sem.adb (Analyze): Handle Iterated_Component_Association.
+	* sem_aggr.adb (Resolve_Array_Aggregate): Dummy handling of iterated
+	component associations.
+	* sinfo.ads, sinfo.adb: Entries for for
+	N_Iterated_Component_Association and its fields.
+	* sprint.adb (Sprint_Node_Actual): Handle
+	N_Iterated_Component_Association.
+
+2017-01-13  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (Analyze_Package_Instantiation): Move disabiling
+	of the style check until after preanalysis of acutals.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch13.adb: Minor reformatting.
+	* par-ch11.adb: minor style fix in whitespace
+	* gnatbind.adb (Gnatbind): Scope of Std_Lib_File
+	reduced to Add_Artificial_ALI_File; style fix in declaration of
+	Text; grammar fix in comment.
+	* osint-c.adb (Read_Library_Info): strip trailing NUL from result.
+	* freeze.adb: Cleanup to pass pragma instead of
+	expression to call.
+	* exp_spark.adb (Expand_SPARK_Attribute_Reference): New procedure to
+	replace System'To_Address by equivalent call.
+
+2017-01-13  Arnaud Charlet  <charlet@adacore.com>
+
+	* bindusg.adb: Improve usage output for -f switch.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* frontend.adb, freeze.adb, sem_res.adb, sem_attr.adb, sem_ch8.adb:
+	Minor reformatting.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Is_Predicate_Static): Following the intent of the RM,
+	treat comparisons on strings as legal in a Static_Predicate.
+	(Is_Predicate_Static, Is_Type_Ref): Predicate also returns true on
+	a function call that is the expansion of a string comparison.The
+	function call is built when compiling the corresponding predicate
+	function, but the expression has been found legal as a static
+	predicate during earlier analysis.
+	* sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Handle
+	properly a function call that is the expansion of a string
+	comparison operation, in order to recover the Static_Predicate
+	expression and apply it to a static argument when needed.
+
+2017-01-13  Tristan Gingold  <gingold@adacore.com>
+
+	* s-mmap.adb, s-mmap.ads (Open_Read_No_Exception): New function.
+	(Open_Read): Re-implement using Open_Read_No_Exception.
+	(Open_Write): Raise exception in case of error.
+	* s-mmosin-mingw.adb (Open_Common): Do not raise exception.
+	* s-mmosin-unix.adb (Open_Read, Open_Write): Do not
+	reaise exception.
+	* s-mmosin-mingw.ads, s-mmosin-unix.ads (Open_Read): Adjust comment.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* checks.adb: Code cleanup.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* freeze.adb (Check_Inherited_Conditions): Use analyzed pragma
+	expression instead of unanalyzed aspect expression for checking
+	the validity of inheriting an operation. Also copy the expression
+	being passing it to Build_Class_Wide_Expression, as this call
+	modifies its argument.
+	* sem_util.ads Fix comment to reference correct function name
+	New_Copy_Tree.
+
+2017-01-13  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve_Generalized_Indexing): Compiling in ASIS mode,
+	when we propagate information about the indexes back to the original
+	indexing mode and the prefix of the index is a function call, do not
+	remove any parameter from such call.
+
+2017-01-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch6.ads (Needs_BIP_Finalization_Master): Update comment.
+	* exp_ch6.adb (Needs_BIP_Finalization_Master): Return True for
+	a build-in-place function whose result type is tagged.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper):
+	Do not generate a wrapper when the only candidate is a class-wide
+	subprogram.
+	(Analyze_Subprogram_Renaming): Do not freeze the renaming or renamed
+	inside a generic context.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Add_Inherited_Tagged_DIC):
+	Pass the object parameters of both the parent and the derived
+	type DIC procedure to the reference replacement circuitry.
+	(Find_DIC_Type): Modify the circuitry to present the partial
+	view of a private type in case the private type defines its own
+	DIC pragma.
+	(Replace_Object_And_Primitive_References): Add two
+	optional formal parameters.  Update the comment on usage. Update
+	the replacement of references to object parameters.
+
+2017-01-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* einfo.adb, sem_ch6.adb, atree.adb: Minor reformatting and typo fix.
+
+2017-01-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Actuals): Apply Scalar_Range_Check to
+	an out parameter that is a type conversion, independently of th
+	range check that may apply to the expression of the conversion,
+	for use in GNATProve.
+
+2017-01-13  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Move the implicit with for System in
+	GNATprove_Mode here to Frontend.
+	* frontend.adb (Frontend): Move the implicit with for System
+	in GNATprove_Mode here as it ismore correct this way; the old
+	place only worked by chance, since there were no overloaded names.
+	* rtsfind.ads (RE_Id, RE_Unit_Table): Add RE_Tasking_State.
+	* sem_attr.adb (Analyze_Attribute): In GNATprove_Mode, for the
+	four attributes identified in SRM 9(18), add an implicit with
+	to Ada.Task_Identification.
+	* sem_ch8.adb (Analyze_Subprogram_Renaming.Build_Class_Wide_Wrapper):
+	Deal specially with the wrapper introduced for AI05-0071 in GNATprove
+	mode.
+	* checks.adb (Apply_Discriminant_Check,
+	Apply_Selected_Length_Checks, Apply_Selected_Range_Checks):
+	In GNATprove mode, we do not apply the checks, but we still
+	analyze the expression to possibly issue errors on SPARK
+	code when a run-time error can be detected at compile time.
+	(Selected_Length_Checks, Selected_Range_Checks): Perform analysis
+	in GNATprove mode.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* expander.adb (Expand): Add a warning about using return
+	statements in Ghost management code.
+	* exp_ch3.adb (Freeze_Type): Add a warning about using return
+	statements in Ghost management code.
+	* exp_ch7.adb (Build_Invariant_Procedure_Body,
+	Build_Invariant_Procedure_Declaration): Add a warning about
+	using return statements in Ghost management code.
+	* exp_disp.adb (Make_DT): Add a warning about using return
+	statements in Ghost management code.
+	* exp_util.adb (Build_DIC_Procedure_Body,
+	Build_DIC_Procedure_Declaration, Make_Predicated_Call): Add a
+	warning about using return statements in Ghost management code.
+	* freeze.adb (Freeze_Entity): Add a warning about using return
+	statements in Ghost management code.
+	* sem.adb (Analyze, Do_Analyze): Add a warning about using return
+	statements in Ghost management code.
+	* sem_ch3.adb (Analyze_Object_Declaration, Process_Full_View): Add
+	a warning about using return statements in Ghost management code.
+	* sem_ch5.adb (Analyze_Assignment): Add a warning about using
+	return statements in Ghost management code.
+	* sem_ch6.adb (Analyze_Procedure_Call,
+	Analyze_Subprogram_Body_Helper): Add a warning about using return
+	statements in Ghost management code.
+	* sem_ch7.adb (Analyze_Package_Body_Helper): Add a warning about
+	using return statements in Ghost management code.
+	* sem_ch12.adb (Analyze_Package_Instantiation,
+	Analyze_Subprogram_Instantiation, Instantiate_Package_Body,
+	Instantiate_Subprogram_Body): Add a warning about using return
+	statements in Ghost management code.
+	* sem_ch13.adb (Build_Predicate_Functions,
+	Build_Predicate_Function_Declarations): Add a warning about
+	using return statements in Ghost management code.
+	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part,
+	Analyze_Initial_Condition_In_Decl_Part, Analyze_Pragma,
+	Analyze_Pre_Post_Condition_In_Decl_Part):  Add a warning about
+	using return statements in Ghost management code.
+
+2017-01-13  Tristan Gingold  <gingold@adacore.com>
+
+	* s-mmosin-mingw.adb: Fix pragma import.
+
+2017-01-13  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): Ignore -gnateE in
+	codepeer mode.
+
+2017-01-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* atree.adb (Allocate_Initialize_Node): A newly created node is
+	no longer marked as Ghost at this level.
+	(Mark_New_Ghost_Node): New routine.
+	(New_Copy): Mark the copy as Ghost.
+	(New_Entity): Mark the entity as Ghost.
+	(New_Node): Mark the node as Ghost.
+	* einfo.adb (Is_Checked_Ghost_Entity): This attribute can now
+	apply to unanalyzed entities.
+	(Is_Ignored_Ghost_Entity): This attribute can now apply to unanalyzed
+	entities.
+	(Set_Is_Checked_Ghost_Entity): This attribute now
+	applies to all entities as well as unanalyzed entities.
+	(Set_Is_Ignored_Ghost_Entity): This attribute now applies to
+	all entities as well as unanalyzed entities.
+	* expander.adb Add with and use clauses for Ghost.
+	(Expand): Install and revert the Ghost region associated with the node
+	being expanded.
+	* exp_ch3.adb (Expand_Freeze_Array_Type): Remove all Ghost-related code.
+	(Expand_Freeze_Class_Wide_Type): Remoe all Ghost-related code.
+	(Expand_Freeze_Enumeration_Type): Remove all Ghost-related code.
+	(Expand_Freeze_Record_Type): Remove all Ghost-related code.
+	(Freeze_Type): Install and revert the Ghost region associated
+	with the type being frozen.
+	* exp_ch5.adb Remove with and use clauses for Ghost.
+	(Expand_N_Assignment_Statement): Remove all Ghost-related code.
+	* exp_ch6.adb Remove with and use clauses for Ghost.
+	(Expand_N_Procedure_Call_Statement): Remove all Ghost-relatd code.
+	(Expand_N_Subprogram_Body): Remove all Ghost-related code.
+	* exp_ch7.adb (Build_Invariant_Procedure_Body): Install and revert the
+	Ghost region of the working type.
+	(Build_Invariant_Procedure_Declaration): Install and revert
+	the Ghost region of the working type.
+	(Expand_N_Package_Body): Remove all Ghost-related code.
+	* exp_ch8.adb Remove with and use clauses for Ghost.
+	(Expand_N_Exception_Renaming_Declaration): Remove all Ghost-related
+	code.
+	(Expand_N_Object_Renaming_Declaration): Remove all Ghost-related code.
+	(Expand_N_Package_Renaming_Declaration): Remove all Ghost-related code.
+	(Expand_N_Subprogram_Renaming_Declaration): Remove all Ghost-related
+	code.
+	* exp_ch13.adb Remove with and use clauses for Ghost.
+	(Expand_N_Freeze_Entity): Remove all Ghost-related code.
+	* exp_disp.adb (Make_DT): Install and revert the Ghost region of
+	the tagged type. Move the generation of various entities within
+	the Ghost region of the type.
+	* exp_prag.adb Remove with and use clauses for Ghost.
+	(Expand_Pragma_Check): Remove all Ghost-related code.
+	(Expand_Pragma_Contract_Cases): Remove all Ghost-related code.
+	(Expand_Pragma_Initial_Condition): Remove all Ghost-related code.
+	(Expand_Pragma_Loop_Variant): Remove all Ghost-related code.
+	* exp_util.adb (Build_DIC_Procedure_Body): Install
+	and revert the Ghost region of the working types.
+	(Build_DIC_Procedure_Declaration): Install and revert the
+	Ghost region of the working type.
+	(Make_Invariant_Call): Install and revert the Ghost region of the
+	associated type.
+	(Make_Predicate_Call): Reimplemented. Install and revert the
+	Ghost region of the associated type.
+	* freeze.adb (Freeze_Entity): Install and revert the Ghost region
+	of the entity being frozen.
+	(New_Freeze_Node): Removed.
+	* ghost.adb Remove with and use clauses for Opt.
+	(Check_Ghost_Completion): Update the parameter profile
+	and all references to formal parameters.
+	(Ghost_Entity): Update the comment on usage.
+	(Install_Ghost_Mode): New routines.
+	(Is_Ghost_Assignment): New routine.
+	(Is_Ghost_Declaration): New routine.
+	(Is_Ghost_Pragma): New routine.
+	(Is_Ghost_Procedure_Call): New routine.
+	(Is_Ghost_Renaming): Removed.
+	(Is_OK_Declaration): Reimplemented.
+	(Is_OK_Pragma): Reimplemented.
+	(Is_OK_Statement): Reimplemented.
+	(Is_Subject_To_Ghost): Update the comment on usage.
+	(Mark_And_Set_Ghost_Assignment): New routine.
+	(Mark_And_Set_Ghost_Body): New routine.
+	(Mark_And_Set_Ghost_Completion): New routine.
+	(Mark_And_Set_Ghost_Declaration): New routine.
+	(Mark_And_Set_Ghost_Instantiation): New routine.
+	(Mark_And_Set_Ghost_Procedure_Call): New routine.
+	(Mark_Full_View_As_Ghost): Removed.
+	(Mark_Ghost_Declaration_Or_Body): New routine.
+	(Mark_Ghost_Pragma): New routine.
+	(Mark_Ghost_Renaming): New routine.
+	(Mark_Pragma_As_Ghost): Removed.
+	(Mark_Renaming_As_Ghost): Removed.
+	(Propagate_Ignored_Ghost_Code): Update the comment on usage.
+	(Prune_Node): Freeze nodes no longer need special pruning, they
+	are processed by the general ignored Ghost code mechanism.
+	(Restore_Ghost_Mode): New routine.
+	(Set_Ghost_Mode): Reimplemented.
+	(Set_Ghost_Mode_From_Entity): Removed.
+	* ghost.ads Add with and use clauses for Ghost.
+	(Check_Ghost_Completion): Update the parameter profile
+	along with the comment on usage.
+	(Install_Ghost_Mode): New routine.
+	(Is_Ghost_Assignment): New routine.
+	(Is_Ghost_Declaration): New routine.
+	(Is_Ghost_Pragma): New routine.
+	(Is_Ghost_Procedure_Call): New routine.
+	(Mark_And_Set_Ghost_Assignment): New routine.
+	(Mark_And_Set_Ghost_Body): New routine.
+	(Mark_And_Set_Ghost_Completion): New routine.
+	(Mark_And_Set_Ghost_Declaration): New routine.
+	(Mark_And_Set_Ghost_Instantiation): New routine.
+	(Mark_And_Set_Ghost_Procedure_Call): New routine.
+	(Mark_Full_View_As_Ghost): Removed.
+	(Mark_Ghost_Pragma): New routine.
+	(Mark_Ghost_Renaming): New routine.
+	(Mark_Pragma_As_Ghost): Removed.
+	(Mark_Renaming_As_Ghost): Removed.
+	(Restore_Ghost_Mode): New routine.
+	(Set_Ghost_Mode): Redefined.
+	(Set_Ghost_Mode_From_Entity): Removed.
+	* sem.adb (Analyze): Install and revert the Ghost region of the
+	node being analyzed.
+	(Do_Analyze): Change the way a clean Ghost
+	region is installed and reverted.
+	* sem_ch3.adb (Analyze_Full_Type_Declaration): Remove
+	all Ghost-related code.
+	(Analyze_Incomplete_Type_Decl): Remove all Ghost-related code.
+	(Analyze_Number_Declaration): Remove all Ghost-related code.
+	(Analyze_Object_Declaration): Install and revert the Ghost region of
+	a deferred object declaration's completion.
+	(Array_Type_Declaration): Remove all Ghost-related code.
+	(Build_Derived_Type): Update the comment on
+	the propagation of Ghost attributes from a parent to a derived type.
+	(Derive_Subprogram): Remove all Ghost-related code.
+	(Make_Class_Wide_Type): Remove all Ghost-related code.
+	(Make_Implicit_Base): Remove all Ghost-related code.
+	(Process_Full_View): Install and revert the Ghost region of
+	the partial view.  There is no longer need to check the Ghost
+	completion here.
+	* sem_ch5.adb (Analyze_Assignment): Install and revert the Ghost
+	region of the left hand side.
+	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
+	all Ghost-related code.
+	(Analyze_Expression_Function): Remove all Ghost-related code.
+	(Analyze_Generic_Subprogram_Body): Remove all Ghost-related code.
+	(Analyze_Procedure_Call): Install and revert the Ghost region of
+	the procedure being called.
+	(Analyze_Subprogram_Body_Helper): Install and revert the Ghost
+	region of the spec or body.
+	(Analyze_Subprogram_Declaration): Remove all Ghost-related code.
+	(Build_Subprogram_Declaration): Remove all Ghost-related code.
+	(Find_Corresponding_Spec): Remove all Ghost-related code.
+	(Process_Formals): Remove all Ghost-related code.
+	* sem_ch7.adb (Analyze_Package_Body_Helper): Install and revert
+	the Ghost region of the spec.
+	(Analyze_Package_Declaration): Remove all Ghost-related code.
+	* sem_ch8.adb (Analyze_Exception_Renaming): Mark a renaming as
+	Ghost when it aliases a Ghost entity.
+	(Analyze_Generic_Renaming): Mark a renaming as Ghost when it aliases
+	a Ghost entity.
+	(Analyze_Object_Renaming): Mark a renaming as Ghost when
+	it aliases a Ghost entity.
+	(Analyze_Package_Renaming): Mark a renaming as Ghost when it aliases
+	a Ghost entity.
+	(Analyze_Subprogram_Renaming): Mark a renaming as Ghost when it
+	aliases a Ghost entity.
+	* sem_ch11.adb Remove with and use clauses for Ghost.
+	(Analyze_Exception_Declaration): Remove all Ghost-related code.
+	* sem_ch12.adb (Analyze_Generic_Package_Declaration): Remove all
+	Ghost-related code.
+	(Analyze_Generic_Subprogram_Declaration): Remove all Ghost-related
+	code.
+	(Analyze_Package_Instantiation): Install and revert the Ghost region
+	of the package instantiation.
+	(Analyze_Subprogram_Instantiation): Install
+	and revert the Ghost region of the subprogram instantiation.
+	(Instantiate_Package_Body): Code clean up. Install and revert the
+	Ghost region of the package body.
+	(Instantiate_Subprogram_Body): Code clean up. Install and revert the
+	Ghost region of the subprogram body.
+	* sem_ch13.adb (Build_Predicate_Functions): Install
+	and revert the Ghost region of the related type.
+	(Build_Predicate_Function_Declaration): Code clean up. Install
+	and rever the Ghost region of the related type.
+	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+	Install and revert the Ghost region of the pragma.
+	(Analyze_Initial_Condition_In_Decl_Part): Install and revert the
+	Ghost region of the pragma.
+	(Analyze_Pragma): Install and revert the Ghost region of various
+	pragmas.  Mark a pragma as Ghost when it is related to a Ghost entity
+	or encloses a Ghost entity.
+	(Analyze_Pre_Post_Condition): Install and revert the Ghost
+	region of the pragma.
+	(Analyze_Pre_Post_Condition_In_Decl_Part): Install and revert the
+	Ghost region of the pragma.
+	* sem_res.adb (Resolve): Remove all Ghost-related code.
+	* sem_util.adb (Is_Declaration): Reimplemented.
+	(Is_Declaration_Other_Than_Renaming): New routine.
+	* sem_util.ads (Is_Declaration_Other_Than_Renaming): New routine.
+	* sinfo.adb (Is_Checked_Ghost_Pragma): New routine.
+	(Is_Ghost_Pragma): Removed.
+	(Is_Ignored_Ghost_Pragma): New routine.
+	(Set_Is_Checked_Ghost_Pragma): New routine.
+	(Set_Is_Ghost_Pragma): Removed.
+	(Set_Is_Ignored_Ghost_Pragma): New routine.
+	* sinfo.ads: Update the documentation on Ghost mode and
+	Ghost regions.	New attributes Is_Checked_Ghost_Pragma
+	and Is_Ignored_Ghost_Pragma along with usages in nodes.
+	Remove attribute Is_Ghost_Pragma along with usages in nodes.
+	(Is_Checked_Ghost_Pragma): New routine along with pragma Inline.
+	(Is_Ghost_Pragma): Removed along with pragma Inline.
+	(Is_Ignored_Ghost_Pragma): New routine along with pragma Inline.
+	(Set_Is_Checked_Ghost_Pragma): New routine along with pragma Inline.
+	(Set_Is_Ghost_Pragma): Removed along with pragma Inline.
+	(Set_Is_Ignored_Ghost_Pragma): New routine along with pragma Inline.
+
+2017-01-12  Tristan Gingold  <gingold@adacore.com>
+
+	* s-mmap.ads, s-mmap.adb, s-mmosin-unix.ads, s-mmosin-unix.adb,
+	s-mmauni-long.ads, s-mmosin-mingw.ads, s-mmosin-mingw.adb: New files.
+
+2017-01-12  Yannick Moy  <moy@adacore.com>
+
+	* errout.adb, errout.ads (Initialize): Factor common treatment
+	in Reset_Warnings.
+	(Reset_Warnings): New procedure to reset counts related to warnings.
+	(Record_Compilation_Errors): New variable to store the presence of an
+	error, used in gnat2why to allow changing the Warning_Mode.
+	(Compilation_Errors): Use new variable Record_Compilation_Errors to
+	store the presence of an error.
+
+2017-01-12  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specifications):
+	For Interrupt_Handler and Attach_ Handler aspects, decorate the
+	internally built reference to the protected procedure as coming
+	from sources and force its analysis.
+
+2017-01-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Build_Derived_Type): For a scalar derived type,
+	inherit predicates if any from the first_subtype of the parent,
+	not from the anonymous parent type.
+	* sem_eval.adb (Is_Static_Subtype): A type that inherits a dynamic
+	predicate is not a static subtype.
+
+2017-01-12  Gary Dismukes  <dismukes@adacore.com>
+
+	* freeze.adb (Check_Suspicious_Convention): New procedure
+	performing a warning check on discriminated record types with
+	convention C or C++. Factored out of procedure Freeze_Record_Type,
+	and changed to only apply to base types (to avoid spurious
+	warnings on subtypes). Minor improvement of warning messages
+	to refer to discriminated rather than variant record types.
+	(Freeze_Record_Type): Remove code for performing a suspicious
+	convention check.
+	(Freeze_Entity): Only call Freeze_Record_Type
+	on types that aren't declared within any enclosing generic units
+	(rather than just excluding the type when the innermost scope
+	is generic). Call Check_Suspicious_Convention whether or not
+	the type is declared within a generic unit.
+	* sem_ch8.adb (In_Generic_Scope): Move this function to Sem_Util.
+	* sem_util.ads, sem_util.adb (In_Generic_Scope): New function (moved
+	from Sem_Ch8).
+
+2017-01-12  Tristan Gingold  <gingold@adacore.com>
+
+	* sysdep.c, adaint.c, rtinit.c, ming32.h:
+	(__gnat_current_codepage): Renamed from CurrentCodePage
+	(__gnat_current_ccs_encoding): Renamed from CurrentCCSEncoding
+
+2017-01-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Fully_Conformant_Expressions): Handle properly
+	quantified expressions, following AI12-050: the loop parameters
+	of two quantified expressions are conformant if they have the
+	same identifier.
+
+2017-01-12  Arnaud Charlet  <charlet@adacore.com>
+
+	* gcc-interface/Makefile.in: Clean up VxWorks targets.
+
+2017-01-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute_Reference, case Loop_Entry):
+	Hnadle properly the attribute reference when it appears as part
+	of an expression in another loop aspect.
+
+2017-01-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch3.adb (Check_Predicated_Discriminant): New procedure,
+	subsidiary of Build_Initialization_Call, to complete generation
+	of predicate checks on discriminants whose (sub)types have
+	predicates, and to add checks on variants that do not have an
+	others clause.
+	* sem_util.adb (Gather_Components): A missing Others alternative is
+	not an error when the type of the discriminant is a static predicate
+	(and coverage has been checked when analyzing the case statement). A
+	runtime check is generated to verify that a given discriminant
+	satisfies the predicate (RM 3.8.1. (21.1/2)).
+
+2017-01-12  Yannick Moy  <moy@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): Only
+	perform checking of exception mechanism when generating code.
+
+2017-01-12  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch7.adb (Add_Type_Invariants, Process_Array_Component):
+	Remove handling of access component with invariant.
+	(Build_Invariant_Procedure_Declaration): Remove return on class
+	wide type.
+	* freeze.adb (Freeze_Array_Type, Freeze_Record_Type): Remove
+	conditional exception for component or array so Has_Own_Invariants
+	flag is not falsly set.
+	* sem_ch3.adb (Make_Class_Wide_Type): Initialize copy of class
+	wide type to have no invariant flags.
+
+2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb, sem_prag.adb, s-tassta.adb, sem_util.adb, s-tarest.adb,
+	sem_ch13.adb: Minor reformatting.
+
+2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Build_Record_Aggr_Code): Guard against a missing
+	adjustment primitive when the ancestor type was not properly frozen.
+	(Gen_Assign): Guard against a missing initialization
+	primitive when the component type was not properly frozen.
+	(Initialize_Array_Component): Guard against a missing adjustment
+	primitive when the component type was not properly frozen.
+	(Initialize_Record_Component): Guard against a missing adjustment
+	primitive when the component type was not properly frozen.
+	(Process_Transient_Component_Completion): The transient object may
+	not be finalized when its associated type was not properly frozen.
+	* exp_ch3.adb (Build_Assignment): Guard against a missing
+	adjustment primitive when the component type was not properly frozen.
+	(Build_Initialization_Call): Guard against a missing
+	initialization primitive when the associated type was not properly
+	frozen.
+	(Expand_N_Object_Declaration): Guard against a missing
+	adjustment primitive when the base type was not properly frozen.
+	(Predefined_Primitive_Bodies): Create an empty Deep_Adjust
+	body when there is no adjustment primitive available. Create an
+	empty Deep_Finalize body when there is no finalization primitive
+	available.
+	* exp_ch4.adb (Apply_Accessibility_Check): Guard against a
+	missing finalization primitive when the designated type was
+	not properly frozen.
+	(Expand_N_Allocator): Guard against a missing initialization primitive
+	when the designated type was not properly frozen.
+	* exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add the adjustment call
+	only when the corresponding adjustment primitive is available.
+	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Generate the
+	adjustment/finalization statements only when there is an available
+	primitive to carry out the action.
+	(Build_Initialize_Statements): Generate the initialization/finalization
+	statements only when there is an available primitive to carry out the
+	action.
+	(Make_Adjust_Call): Do not generate a call when the underlying
+	type is not present due to a possible missing full view.
+	(Make_Final_Call): Do not generate a call when the underlying
+	type is not present due to a possible missing full view.
+	(Make_Finalize_Address_Stmts): Generate an empty body when the
+	designated type lacks a finalization primitive.
+	(Make_Init_Call): Do not generate a call when the underlying type is
+	not present due to a possible missing full view.
+	(Process_Component_For_Adjust): Add the adjustment call only when the
+	corresponding adjustment primitive is available.
+	(Process_Component_For_Finalize): Add the finalization call only when
+	the corresponding finalization primitive is available.
+	(Process_Object_Declaration): Use a null statement to emulate a
+	missing call to the finalization primitive of the object type.
+	* exp_ch7.ads (Make_Adjust_Call): Update the comment on usage.
+	(Make_Final_Call): Update the comment on usage.
+	(Make_Init_Call): Update the comment on usage.
+	* exp_util.adb (Build_Transient_Object_Statements): Code reformatting.
+
+2017-01-12  Arnaud Charlet  <charlet@adacore.com>
+
+	* einfo.ads: Update documentation of Address_Taken.
+	* sem_attr.adb (Analyze_Access_Attribute, Resolve_Attribute
+	[Access_Attribute]): Only consider 'Access/'Unchecked_Access
+	for subprograms when setting Address_Taken flag.
+
+2017-01-12  Patrick Bernardi  <bernardi@adacore.com>
+
+	* sem_ch10.adb (Analyze_With_Clause): Removed code that turned
+	Configurable_Run_Time_Mode off when analysing with'ed predefined
+	libraries.
+
+2017-01-12  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_prag.adb: Minor reformatting.
+	* sem_util.adb (Unique_Entity): fix result for
+	bodies of entry families.
+
+2017-01-12  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Add appropriate calls to
+	Resolve_Suppressible in the pragma Assertion_Policy case.
+	(Resolve_Suppressible): Created this function to factor out
+	common code used to resolve Suppress to either Ignore or Check
+	* snames.ads-tmpl: Add name for Suppressible.
+
+2017-01-12  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch9.adb, s-secsta.adb, snames.ads-tmpl, exp_ch3.adb: Minor
+	reformatting.
+	* debug.adb: Minor comment fixes.
+
+2017-01-12  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Unique_Entity): For concurrent
+	bodies that are defined with stubs and complete a declaration
+	of a single concurrent object return the entity of an implicit
+	concurrent type, not the entity of the anonymous concurrent
+	object.
+	* debug.adb: -gnatd.J is no longer used.
+	* make.adb (Globalize): Removed, no longer used.
+	* sem_ch9.adb: minor typo in comment for entry index
+
+2017-01-12  Patrick Bernardi  <bernardi@adacore.com>
+
+	* aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size.
+	* exp_ch3.adb (Build_Init_Statements): As part of initialising
+	the value record of a task, set its _Secondary_Stack_Size field
+	if present.
+	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create
+	a _Secondary_Stack_Size field in the value record of
+	the task if a Secondary_Stack_Size rep item is present.
+	(Make_Task_Create_Call): Include secondary stack size
+	parameter. If No_Secondary_Stack restriction is in place, passes
+	stack size of 0.
+	* par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma
+	Secondary_Stack_Size.
+	* s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New
+	function to define the overhead of the secondary stack.
+	* s-tarest.adb (Create_Restricted_Task,
+	Create_Restricted_Task_Sequential): Functions now include
+	Secondary_Stack_Size parameter to pass to Initialize_ATCB.
+	* s-tarest.adb (Create_Restricted_Task,
+	Create_Restricted_Task_Sequential): Calls to Initialize_ATCB now
+	include Secondary_Stack_Size parameter.
+	(Task_Wrapper): Secondary stack now allocated to the size specified by
+	the Secondary_Stack_Size parameter in the task's ATCB.
+	* s-taskin.adb, s-taskin.adb (Common_ATCB, Initialize_ATCB): New
+	Secondary_Stack_Size component.
+	* s-tassta.adb, s-tassta.ads (Create_Restricted_Task,
+	Create_Restricted_Task_Sequential): Function now include
+	Secondary_Stack_Size parameter.
+	(Task_Wrapper): Secondary stack now allocated to the size
+	specified by the Secondary_Stack_Size parameter in the task's
+	ATCB.
+	* s-tproft.adb (Register_Foreign_Thread): Amended Initialize_ATCB call
+	to include Secondary_Stack_Size parameter.
+	* sem_ch13.adb (Analyze_Aspect_Specification): Add support for
+	Secondary_Stack_Size aspect, turning the aspect into its corresponding
+	internal attribute.
+	(Analyze_Attribute_Definition): Process Secondary_Stack_Size attribute.
+	* snames.adb-tmpl, snames.ads-tmpl: Added names
+	Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size,
+	Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size.
+
+2017-01-12  Yannick Moy  <moy@adacore.com>
+
+	* exp_spark.adb (Expand_SPARK_Potential_Renaming): Fix sloc of copied
+	subtree.
+
+2017-01-12  Justin Squirek  <squirek@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference):
+	Fix Finalization_Size case by properly resolving the type after
+	rewritting the node.
+
+2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Build_DIC_Procedure_Body): Semi-insert the body into
+	the tree.
+	(Build_DIC_Procedure_Declaration): Semi-insert the body into the tree.
+	* binde.adb, exp_ch5.adb, sem_type.adb, sem.ads, sem_res.adb,
+	exp_sel.ads: Minor reformatting.
+
+2017-01-12  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch6.adb (Expand_Call): Add guard to prevent
+	invariant checks from being created for internally generated
+	subprograms.
+
+2017-01-12  Bob Duff  <duff@adacore.com>
+
+	* lib-writ.ads: Remove incorrect comment.
+
+2017-01-12  Javier Miranda  <miranda@adacore.com>
+
+	* debug.adb (-gnatd.K): Enable generation of contract-only
+	procedures in CodePeer mode.
+	* contracts.adb (Build_And_Analyze_Contract_Only_Subprograms):
+	New subprogram.
+	(Analyze_Contracts): Generate contract-only procedures if -gnatdK is
+	set.
+	* scil_ll.ads, scil_ll.adb (Get_Contract_Only_Body_Name): New
+	subprogram.
+	(Get_Contract_Only_Missing_Body_Name): New subprogram.
+	(Get_Contract_Only_Body): New subprogram.
+	(Set_Contract_Only_Body): New subprogram.
+	(Is_Contract_Only_Body): New subprogram.
+	(Set_Is_Contract_Only_Body): New subprogram.
+	(SCIL_Nodes): Replace table by hash-table.
+
+2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb: Minor reformatting.
+	* spark_xrefs.ads: minor cleanup of comments for SPARK xrefs
+
+2017-01-12  Bob Duff  <duff@adacore.com>
+
+	* binde.adb (Forced): New reason for a dependence.
+	(Force_Elab_Order): Implementation of the new switch.
+	* binde.ads: Minor comment fixes.
+	* bindusg.adb: Add -f switch. Apparently, there was an -f switch
+	long ago that is no longer supported; removed comment about that.
+	* opt.ads (Force_Elab_Order_File): Name of file specified for
+	-f switch.
+	* switch-b.adb: Parse -f switch.
+
+2017-01-12  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch6.adb (Check_View_Conversion): Created this function
+	to properly chain calls to check type invariants that may be
+	present in a subprogram call after the subprogram.
+	(Expand_Call): Add a conditional to identify when a view conversion
+	needs to be checked.
+	* nlists.adb, nlists.ads (Prepend_New): New routine.
+	(Prepend_New_To): New routine.
+
+2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sinfo.ads: Minor reformatting.
+
+2017-01-12  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.adb, exp_util.ads, einfo.ads: Minor typo fixes and
+	reformatting.
+
+2017-01-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Anonymous_Context): Add new
+	variable Definite. Create a local object and pass its 'Access to the
+	BIP function when the result type is either definite or it does not
+	require any finalization or secondary stack management.
+
+2017-01-12  Bob Duff  <duff@adacore.com>
+
+	* contracts.adb, einfo.adb, errout.adb, exp_attr.adb,
+	exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_prag.adb, freeze.adb,
+	frontend.adb, ghost.adb, inline.adb, lib-writ.adb, lib-xref.adb,
+	par.adb, par-ch10.adb, par-ch2.adb, par-prag.adb, par_sco.adb,
+	sem_attr.adb, sem_aux.adb, sem_ch10.adb, sem_ch12.adb,
+	sem_ch13.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb, sem_elab.adb,
+	sem_prag.adb, sem_res.adb, sem_util.adb, sem_util.ads,
+	sem_warn.adb, sinfo.adb, sinfo.ads, sprint.adb (Pragma_Name):
+	Change name to Pragma_Name_Unmapped.
+	(Pragma_Name_Mapped): Change name to Pragma_Name.
+	This is because the "mapped" version should be the usual case.
+
+2017-01-09  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.ads, einfo.adb: Remove uses of flags Has_Default_Init_Cond,
+	Is_Default_Init_Cond_Procedure, and
+	Has_Inherited_Default_Init_Cond.  Add uses of flags
+	Has_Own_DIC, Is_DIC_Procedure, and Has_Inherited_DIC.
+	(Default_Init_Cond_Procedure): Removed.
+	(DIC_Procedure): New routine.
+	(Has_Default_Init_Cond): Removed.
+	(Has_DIC): New routine.
+	(Has_Inheritable_Invariants): The attribute applies to the base type.
+	(Has_Inherited_Default_Init_Cond): Removed.
+	(Has_Inherited_DIC): New routine.
+	(Has_Inherited_Invariants): The attribute applies to the base type.
+	(Has_Own_DIC): New routine.
+	(Has_Own_Invariants): The attribute applies to the base type.
+	(Is_Default_Init_Cond_Procedure): Removed.
+	(Is_DIC_Procedure): New routine.
+	(Set_Default_Init_Cond_Procedure): Removed.
+	(Set_DIC_Procedure): New routine.
+	(Set_Has_Default_Init_Cond): Removed.
+	(Set_Has_Inheritable_Invariants): The attribute applies
+	to the base type.
+	(Set_Has_Inherited_Default_Init_Cond): Removed.
+	(Set_Has_Inherited_DIC): New routine.
+	(Set_Has_Inherited_Invariants): The attribute applies to the base type.
+	(Set_Has_Own_DIC): New routine.
+	(Set_Has_Own_Invariants): The attribute applies to the base type.
+	(Set_Is_Default_Init_Cond_Procedure): Removed.
+	(Set_Is_DIC_Procedure): New routine.
+	(Write_Entity_Flags): Update the output of all flags related to
+	default initial condition.
+	* exp_ch3.adb (Expand_N_Object_Declaration): Update the generation
+	of the call to the DIC procedure.
+	(Freeze_Type): Generate the body of the DIC procedure.
+	* exp_ch7.adb (Build_Invariant_Procedure_Body): Replace
+	all occurrences of Create_Append with Append_New_To. Do
+	not generate an invariant procedure for a class-wide type.
+	The generated body acts as a freeze action of the working type.
+	(Build_Invariant_Procedure_Declaration): Do not generate an
+	invariant procedure for a class-wide type.
+	(Create_Append): Removed.
+	* exp_util.adb: Add with and use clauses for Sem_Ch3, sem_ch6,
+	sem_Ch12, Sem_Disp, and GNAT.HTable. Move the handling of
+	class-wide pre/postcondition description and data structures from
+	Sem_Prag.
+	(Build_Class_Wide_Expression): Moved from Sem_Prag.
+	(Build_DIC_Call): New routine.
+	(Build_DIC_Procedure_Body): New routine.
+	(Build_DIC_Procedure_Declaration): New routine.
+	(Entity_Hash): Moved from Sem_Prag.
+	(Find_DIC_Type): New routine.
+	(Update_Primitives_Mapping): Reimplemented.
+	(Update_Primitives_Mapping_Of_Types): New routine.
+	* exp_util.ads (Build_Class_Wide_Expression): Moved from Sem_Prag.
+	(Build_DIC_Call): New routine.
+	(Build_DIC_Procedure_Body): New routine.
+	(Build_DIC_Procedure_Declaration): New routine.
+	(Update_Primitives_Mapping): Moved from Sem_Prag.
+	(Update_Primitives_Mapping_Of_Types): New routine.
+	* nlists.adb (Append_New): New routine.
+	(Append_New_To): New routine.
+	* nlists.ads (Append_New): New routine.
+	(Append_New_To): New routine.
+	* sem_ch3.adb (Analyze_Declarations): Do not generate the bodies
+	of DIC procedures here. This is now done at the end of the
+	visible declarations, private declarations, and at the freeze
+	point of a type.
+	(Analyze_Private_Extension_Declaration):
+	A private extension inherits the DIC pragma of a parent type.
+	(Analyze_Subtype_Declaration): No need to propagate invariant
+	attributes to a subtype as those apply to the base type.
+	(Build_Derived_Record_Type): No need to inherit invariants here
+	as this is now done in Build_Derived_Type.
+	(Build_Derived_Type): Inherit both the DIC pragma and invariants from
+	a parent type.
+	(Process_Full_View): Update the propagation of DIC attributes.
+	(Propagate_Default_Init_Cond_Attributes): Removed.
+	* sem_ch7.adb Add with and use clauses for Exp_Util.
+	(Analyze_Package_Specification): Create the body of the DIC
+	procedure at the end of the visible and private declarations.
+	(Preserve_Full_Attributes): Propagate DIC attributes.
+	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Propagate
+	DIC attributes.
+	(Analyze_Task_Type_Declaration): Propagate DIC attributes.
+	* sem_elab.adb (Check_A_Call): Update the call to
+	Is_Nontrivial_Default_Init_Cond_Procedure.
+	* sem_prag.adb Remove the with and use clauses for
+	GNAT.HTable. Move the handling of class- wide pre/postcondition
+	description and data structures to Exp_Util.
+	(Analyze_Pragma): Create the declaration of the DIC procedure. There
+	is no need to propagate invariant-related attributes at this point
+	as this is done in Build_Invariant_Procedure_Declaration.
+	(Build_Class_Wide_Expression): Moved to Exp_Util.
+	(Entity_Hash): Moved to Exp_Util.
+	(Update_Primitives_Mapping): Moved to Exp_Util.
+	* sem_prag.ads (Build_Class_Wide_Expression): Moved to Exp_Util.
+	(Update_Primitives_Mapping): Moved to Exp_Util.
+	* sem_util.adb: Remove with and use clauses for Ghost
+	and Sem_Ch13.
+	(Build_Default_Init_Cond_Call): Removed.
+	(Build_Default_Init_Cond_Procedure_Bodies): Removed.
+	(Build_Default_Init_Cond_Procedure_Declaration): Removed.
+	(Get_Views): Reimplemented.
+	(Has_Full_Default_Initialization): Reimplement the section on DIC.
+	(Inherit_Default_Init_Cond_Procedure): Removed.
+	(Is_Nontrivial_Default_Init_Cond_Procedure): Removed.
+	(Is_Nontrivial_DIC_Procedure): New routine.
+	(Is_Verifiable_DIC_Pragma): New routine.
+	(Propagate_DIC_Attributes): New routine.
+	* sem_util.ads (Build_Default_Init_Cond_Call): Removed.
+	(Build_Default_Init_Cond_Procedure_Bodies): Removed.
+	(Build_Default_Init_Cond_Procedure_Declaration): Removed.
+	(Inherit_Default_Init_Cond_Procedure): Removed.
+	(Is_Nontrivial_Default_Init_Cond_Procedure): Removed.
+	(Is_Nontrivial_DIC_Procedure): New routine.
+	(Is_Verifiable_DIC_Pragma): New routine.
+	(Propagate_DIC_Attributes): New routine.
+	* sem_warn.adb (Is_OK_Fully_Initialized): Reimplement the section
+	on DIC.
+	* sinfo.ads, sinfo.adb: Add new attribute Expression_Copy along with
+	usage in nodes.
+	(Expression_Copy): New routine along with pragma Inline.
+	(Set_Expression_Copy): New routine along with pragma Inline.
+
+2017-01-06  Bob Duff  <duff@adacore.com>
+
+	* bindgen.adb (Gen_Adainit, Gen_Adafinal): Change
+	"Bind_Main_Program" to "not Bind_For_Library", because otherwise
+	we won't generate the call to s_stalib_adafinal when the main
+	is not written in Ada.
+
+2017-01-06  Bob Duff  <duff@adacore.com>
+
+	* sem_prag.adb: Minor: remove pragma Warnings.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* Makefile.rtl: Do not compile s-stchop by default.
+
+2017-01-06  Patrick Bernardi  <bernardi@adacore.com>
+
+	* aspects.adb, aspects.ads, exp_ch3.adb, exp_ch9.adb, par-prag.adb,
+	sem_ch13.adb, sem_prag.adb, sem_prag.ads, snames.adb-tmpl,
+	snames.ads-tmpl, s-secsta.adb, s-secsta.ads, s-tarest.adb,
+	s-tarest.ads, s-taskin.adb, s-taskin.ads, s-tassta.adb, s-tassta.ads:
+	Reverted previous change for now.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch3.adb (Build_Initialization_Call): Apply predicate
+	check to default discriminant value if checks are enabled.
+	(Build_Assignment): If type of component has static predicate,
+	apply check to its default value, if any.
+
+2017-01-06  Patrick Bernardi  <bernardi@adacore.com>
+
+	* aspect.adb, aspect.ads: Added new aspect Secondary_Stack_Size.
+	* exp_ch3.adb (Build_Init_Statements): As part of initialising
+	the value record of a task, set its _Secondary_Stack_Size field
+	if present.
+	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Create
+	a _Secondary_Stack_Size field in the value record of
+	the task if a Secondary_Stack_Size rep item is present.
+	(Make_Task_Create_Call): Include secondary stack size
+	parameter. If No_Secondary_Stack restriction is in place, passes
+	stack size of 0.
+	* par-prag.adb, sem_prag.adb, sem_prag.ads: Added new pragma
+	Secondary_Stack_Size.
+	* s-secsta.adb, s-secsta.ads (Minimum_Secondary_Stack_Size): New
+	function to define the overhead of the secondary stack.
+	* s-tarest.adb (Create_Restricted_Task,
+	Create_Restricted_Task_Sequential): Functions now include
+	Secondary_Stack_Size parameter to pass to Initialize_ATCB.
+	* s-tarest.adb (Create_Restricted_Task,
+	Create_Restricted_Task_Sequential): Calls to Initialize_ATCB
+	now include Secondary_Stack_Size parameter.
+	(Task_Wrapper):
+	Secondary stack now allocated to the size specified by the
+	Secondary_Stack_Size parameter in the task's ATCB.
+	* s-taskin.adb, s-taskin.adb (Common_ATCB, Initialise_ATCB): New
+	Secondary_Stack_Size component.
+	* s-tassta.adb, s-tassta.ads (Create_Restricted_Task,
+	Create_Restricted_Task_Sequential): Function now include
+	Secondary_Stack_Size parameter.
+	(Task_Wrapper): Secondary stack
+	now allocated to the size specified by the Secondary_Stack_Size
+	parameter in the task's ATCB.
+	* sem_ch13.adb (Analyze_Aspect_Specification): Add support
+	for Secondary_Stack_Size aspect, turning the aspect into its
+	corresponding internal attribute.
+	(Analyze_Attribute_Definition):
+	Process Secondary_Stack_Size attribute.
+	* snames.adb-tmpl, snames.ads-tmpl: Added names
+	Name_Secondary_Stack_Size, Name_uSecondary_Stack_Size,
+	Attribute_Secondary_Stack_Size and Pragma_Secondary_Stack_Size.
+
+2017-01-06  Pascal Obry  <obry@adacore.com>
+
+	* a-direio.adb, a-direio.ads, a-sequio.adb, a-sequio.ads: Add Flush to
+	Sequential_IO and Direct_IO.
+
+2017-01-06  Bob Duff  <duff@adacore.com>
+
+	* snames.ads-tmpl (Renamed): New name for the pragma argument.
+	* par-ch2.adb: Allow the new pragma (with analysis deferred
+	to Sem_Prag).
+	* sinfo.ads, sinfo.adb (Map_Pragma_Name, Pragma_Name_Mapped):
+	Keep a mapping from new pragma names to old names.
+	* sem_prag.adb: Check legality of pragma Rename_Pragma, and
+	implement it by calling Map_Pragma_Name.
+	* checks.adb, contracts.adb, einfo.adb, errout.adb,
+	* exp_attr.adb, exp_ch3.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
+	* exp_prag.adb, exp_util.adb, freeze.adb, frontend.adb, ghost.adb,
+	* inline.adb, lib-writ.adb, scans.adb, scans.ads, sem_attr.adb,
+	* sem_aux.adb, sem_ch10.adb, sem_ch13.adb, sem_ch6.adb, sem_ch9.adb,
+	* sem_elab.adb, sem_res.adb, sem_util.adb, sem_util.ads,
+	* sem_warn.adb: Call Pragma_Name_Mapped instead of Pragma_Name
+	as appropriate.
+
+2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb: Minor reformatting.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.ads, exp_ch9.adb (Build_Entry_Names): Remove (unused).
+	* rtsfind.ads (RE_Task_Entry_Names_Array, RO_ST_Set_Entry_Names)
+	(RE_Protected_Entry_Names_Array, RO_PE_Set_Entry_Names): Remove
+	(unused).
+	* s-taskin.ads, s-taskin.adb (Set_Entry_Names,
+	Task_Entry_Names_Array, Task_Entry_Names_Access): Remove.
+	* s-tpoben.ads, s-tpoben.adb (Set_Entry_Names,
+	Protected_Entry_Names_Array, Protected_Entry_Names_Access): Remove.
+
+2017-01-06  Bob Duff  <duff@adacore.com>
+
+	* sinfo.ads, sinfo.adb (Map_Pragma_Name): Preparation work,
+	dummy implementation of Map_Pragma_Name.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Make the
+	entry_body variable constant.
+	* s-taprob.ads (Entry_Body_Access): Move to s-tposen.
+	* s-tpoben.ads (Protected_Entry_Body_Access): Now access
+	to constant.
+	* s-tposen.ads (Entry_Body_Access): Moved from s-taprob,
+	now access to constant.
+
+2017-01-06  Gary Dismukes  <dismukes@adacore.com>
+
+	* einfo.ads, sem_res.adb, sem_attr.adb, sem_ch6.adb: Minor
+	reformatting and typo fixes.
+
+2017-01-06  Bob Duff  <duff@adacore.com>
+
+	* snames.ads-tmpl: New names for pragma renaming.
+	* snames.adb-tmpl (Is_Configuration_Pragma_Name): Minor cleanup.
+	* par-prag.adb: Add new pragma name to case statement.
+	* sem_prag.adb (Rename_Pragma): Initial cut at semantic analysis
+	of the pragma.
+	* sinfo.ads, sinfo.adb (Pragma_Name_Mapped): Preparation work,
+	Dummy implementation of Pragma_Name_Mapped.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Add guard to
+	better detect call within an entry_wrapper.
+	* sem_res.adb (Resolve_Call): A protected call within an
+	entity_wrapper is analyzed in the context of the protected
+	object but corresponds to a pre-analysis and is not an access
+	before elaboration.
+	* sem_attr.adb: Minor reformatting.
+
+2017-01-06  Justin Squirek  <squirek@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute): Modify semantic checks for
+	Finalization_Size to allow a prefix of any non-class-wide type.
+	* sem_attr.ads Modify comment for Finalization_Size to include
+	definite type use case.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb (Is_Entry_Wrapper): New flag, defined
+	on procedures that are wrappers created for entries that have
+	preconditions.
+	* sem_ch6.adb (Analyze_Subrogram_Body_Helper): If the subprogram
+	body is an entry_wrapper, compile it in the context of the
+	synchronized type, because a precondition may refer to funtions
+	of the type.
+	* exp_ch9.adb (Build_Contract_Wrapper): Set Is_Entry_Wrapper on
+	body entity.
+	* exp_ch6.adb (Expand_Protected_Subprogram_Call): if the call is
+	within an Entry_Wrapper this is an external call whose target
+	is the synchronized object that is the actual in the call to
+	the wrapper.
+
+2017-01-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute/Attribute_Loop_Entry): Analyze node
+	in tree, which means not analyzing the previous prefix if the node has
+	been rewritten into its prefix.
+
+2017-01-06  Gary Dismukes  <dismukes@adacore.com>
+
+	* s-tpobop.adb: Minor reformatting.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* checks.adb (Ensure_Valid): Do not generate a validity check
+	within a generated predicate function, validity checks will have
+	been applied earlier when required.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* s-tpoben.ads (Protection_Entries): Add comment and reorder
+	components for performances.
+	* s-tpobop.adb (PO_Do_Or_Queue): Implement Max_Queue_Length runtime
+	semantic.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_eval.adb (Check_Expression_Against_Static_Predicate):
+	If expression is compile-time known and obeys a static predicate
+	it must be labelled as static, to prevent spurious warnings and
+	run-time errors, e.g. in case statements. This is relevant when
+	the expression is the result of constant-folding a type conversion
+	whose expression is a variable with a known static value.
+
+2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb, sem_attr.ads: Minor reformatting.
+
+2017-01-06  Justin Squirek  <squirek@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference): Add entry for
+	expansion of Finalization_Size attribute.
+	* sem_attr.adb (Analyze_Attribute): Add entry to check the
+	semantics of Finalization_Size.
+	(Eval_Attribute): Add null entry for Finalization_Size.
+	* sem_attr.ads: Add Finalization_Size to the implementation
+	dependent attribute list.
+	* snames.ads-tmpl: Add name entry for Finalization_Size attribute.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Loop_Statement): If the loop includes an
+	iterator specification with a serious syntactic error, transform
+	construct into an infinite loop in order to continue analysis
+	and prevent a compiler abort.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Do not generate
+	max_queue_lengths_array if unused.
+
+2017-01-06  Bob Duff  <duff@adacore.com>
+
+	* errout.adb (Set_Msg_Text): Protect against out-of-bounds
+	array access, in case "\" is at the end of Text.
+	* stylesw.adb (Set_Style_Check_Options): Don't include input
+	characters in the error message template, because they could
+	be control characters such as "\", which Errout will try to
+	interpret.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Find_Indexing_Operations, Inspect_Declarations):
+	For a private type examine the visible declarations that follow
+	the partial view, not just the private declarations that follow
+	the full view.
+
+2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb, sem_ch3.adb, checks.adb: Minor reformatting and
+	code cleanup.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Get_Default_Iterator): For a derived type, the
+	alias of the inherited op is the parent iterator, no need to
+	examine dispatch table positions which might not be established
+	yet if type is not frozen.
+	* sem_disp.adb (Check_Controlling_Formals): The formal of a
+	predicate function may be a subtype of a tagged type.
+	* sem_ch3.adb (Complete_Private_Subtype): Adjust inheritance
+	of representation items for the completion of a type extension
+	where a predicate applies to the partial view.
+	* checks.ads, checks.adb (Apply_Predicate_Check): Add optional
+	parameter that designates function whose actual receives a
+	predicate check, to improve warning message when the check will
+	lead to infinite recursion.
+	* sem_res.adb (Resolve_Actuals): Pass additional parameter to
+	Apply_Predicate_Check.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* s-rident.ads (Profile_Info): Remove No_Entry_Queue from
+	Gnat_Extended_Ravenscar.
+	* exp_ch9.adb, s-tpoben.adb, s-tpoben.ads: Fix spelling.
+
+2017-01-06  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_util.ads: Minor typo fix and reformatting.
+
+2017-01-06  Yannick Moy  <moy@adacore.com>
+
+	* ghost.adb Minor fixing of references to SPARK RM.
+	(Check_Ghost_Context): Check whether reference is to a lvalue
+	before issuing an error about violation of SPARK RM 6.9(13)
+	when declaration has Ghost policy Check and reference has Ghost
+	policy Ignore.
+	* sem_util.adb Minor indentation.
+	* sem_ch10.adb (Analyze_Package_Body_Stub, Analyze_Protected_Body_Stub,
+	Analyze_Task_Body_Stub): Set Ekind of the defining identifier.
+	* sem_util.ads (Unique_Defining_Entity): Document the result
+	for package body stubs.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* raise-gcc.c (abort): Macro to call Abort_Propagation.
+	* s-tpoben.ads (Protected_Entry_Queue_Max_Access): Make it access
+	constant.
+	* exp_ch9.adb (Expand_N_Protected_Type_Declaration):
+	Do not generate the Entry_Max_Queue_Lengths_Array if all default
+	values.
+	* exp_util.adb (Corresponding_Runtime_Package): Consider
+	Max_Queue_Length pragma.
+
+2017-01-06  Justin Squirek  <squirek@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Protected_Type_Declaration):
+	Remove declaration generation in the case of
+	System_Tasking_Protected_Objects_Single_Entry being used,
+	and add a warning message when this is detected to occur.
+	(Make_Initialize_Protection): Remove reference pass in the case
+	of System_Tasking_Protected_Objects_Single_Entry.
+	* rtsfind.ads: Remove RE_Protected_Entry_Queue_Max
+	* s-tposen.adb (Initialize_Protection_Entry): Remove
+	Entry_Queue_Max parameter.
+	* s-tposen.ads: Remove the types use to store the entry queue
+	maximum.
+	* sem_prag.adb (Analyze_Pragma): Remove entry families restriction
+
+2017-01-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb, sem_util.ads (Get_Enum_Lit_From_Pos): Strengthen
+	behavior of function, to also accept out of range positions
+	and raise Constraint_Error in such case, and to copy sloc from
+	literal if No_Location passed as location.
+	* uintp.adb, uintp.ads (UI_To_Int, UI_To_CC): Strengthen behavior
+	of functions to raise Constraint_Error in case of value not in
+	appropriate range.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* sem_util.adb, s-taprop-linux.adb (Finalize_TCB): Remove call to
+	Invalidate_Stack_Cache.
+
+2017-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* s-os_lib.adb: Minor fix to the signature of Readlink.
+
+2017-01-06  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch6.adb (Conforming_Types): Handle another
+	confusion between views in a nested instance with an actual
+	private type whose full view is not in scope.
+
+2017-01-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch5.adb (Expand_N_If_Statement): Obey existing comment and
+	mark a rewritten if statement as explicit (Comes_From_Source).
+
+2017-01-06  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_prag.adb, rtsfind.adb, sem_util.adb: Minor typo fixes.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* ada.ads, a-unccon.ads: Add pragma No_Elaboration_Code_All.
+
+2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_case.adb: Minor reformatting.
+
+2017-01-06  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socthi-mingw.adb: Remove now extraneous USE TYPE clause
+
+2017-01-06  Justin Squirek  <squirek@adacore.com>
+
+	* aspects.adb: Register aspect in Canonical_Aspect.
+	* aspects.ads: Associate qualities of Aspect_Max_Queue_Length
+	into respective tables.
+	* einfo.ads, einfo.adb: Add a new attribute for
+	handling the parameters for Pragma_Max_Entry_Queue
+	(Entry_Max_Queue_Lengths_Array) in E_Protected_Type. Subprograms
+	for accessing and setting were added as well.
+	* par-prag.adb (Prag): Register Pramga_Max_Entry_Queue.
+	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Emit
+	declaration for pramga arguments and store them in the protected
+	type node.
+	(Make_Initialize_Protection): Pass a reference to
+	the Entry_Max_Queue_Lengths_Array in the protected type node to
+	the runtime.
+	* rtsfind.adb: Minor grammar fix.
+	* rtsfind.ads: Register new types taken from the
+	runtime libraries RE_Protected_Entry_Queue_Max and
+	RE_Protected_Entry_Queue_Max_Array
+	* s-tposen.adb, s-tpoben.adb
+	(Initialize_Protection_Entry/Initialize_Protection_Entries):
+	Add extra parameter and add assignment to local object.
+	* s-tposen.ads, s-tpoben.ads: Add new types to
+	store entry queue maximums and a field to the entry object record.
+	* sem_ch13.adb (Analyze_Aspect_Specifications): Add case statement
+	for Aspect_Max_Queue_Length.
+	(Check_Aspect_At_Freeze_Point):
+	Add aspect to list of aspects that don't require delayed analysis.
+	* sem_prag.adb (Analyze_Pragma): Add case statement for
+	Pragma_Max_Queue_Length, check semantics, and register arugments
+	in the respective entry nodes.
+	* sem_util.adb, sem_util.ads Add functions Get_Max_Queue_Length
+	and Has_Max_Queue_Length
+	* snames.ads-tmpl: Add constant for the new aspect-name
+	Name_Max_Queue_Length and corrasponding pragma.
+
+2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb (Is_Controlled_Function_Call):
+	Reimplemented. Consider any node which has an entity as the
+	function call may appear in various ways.
+
+2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb (Rewrite_Stream_Proc_Call): Use
+	an unchecked type conversion when performing a view conversion
+	to/from a private type. In all other cases use a regular type
+	conversion to ensure that any relevant checks are properly
+	installed.
+
+2017-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb, sem_ch8.adb: Minor reformatting.
+
+2017-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_case.adb (Explain_Non_Static_Bound): Suppress cascaded
+	error on case expression that is an entity, when coverage is
+	incomplete and entity has a static value obtained by local
+	propagation.
+	(Handle_Static_Predicate): New procedure, subsidiary of
+	Check_Choices, to handle case alternatives that are either
+	subtype names or subtype indications involving subtypes that
+	have static predicates.
+
+2017-01-06  Thomas Quinot  <quinot@adacore.com>
+
+	* s-oscons-tmplt.c, g-socket.adb, g-socket.ads, g-sothco.ads:
+	(GNAT.Socket): Add support for Busy_Polling and Generic_Option
+
+2017-01-06  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb (Activate_Elaborate_All_Desirable): Don't add
+	Elaborate_All(P) to P itself. That could happen in obscure cases,
+	and always introduced a cycle (P body must be elaborated before
+	P body).
+	* lib-writ.ads: Comment clarification.
+	* ali-util.ads: Minor comment fix.
+	* ali.adb: Minor reformatting.
+
+2017-01-06  Tristan Gingold  <gingold@adacore.com>
+
+	* a-exexpr-gcc.adb: Improve comment.
+
+2017-01-03  James Cowgill  <James.Cowgill@imgtec.com>
+
+	* s-linux-mips.ads: Use correct signal and errno constants.
+	(sa_handler_pos, sa_mask_pos): Fix offsets for 64-bit MIPS.
+
+2017-01-03  James Cowgill  <James.Cowgill@imgtec.com>
+
+	* s-linux-mips.ads: Rename from s-linux-mipsel.ads.
+	* gcc-interface/Makefile.in (MIPS/Linux): Merge mips and mipsel
+	sections.
+
+2017-01-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnatvsn.ads: Bump copyright year.
+
+2017-01-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* gnat_ugn.texi: Bump @copying's copyright year.
+	* gnat_rm.texi: Likewise.
+
+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
+notice and this notice are preserved.
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
index 0cec92a88808..12b2f42c8a0c 100644
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -25,7 +25,7 @@ GNAT Reference Manual , Dec 15, 2017
 
 AdaCore
 
-Copyright @copyright{} 2008-2017, Free Software Foundation
+Copyright @copyright{} 2008-2018, Free Software Foundation
 @end quotation
 
 @end copying
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index 026bec380cde..63361fce1579 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -25,7 +25,7 @@ GNAT User's Guide for Native Platforms , Dec 15, 2017
 
 AdaCore
 
-Copyright @copyright{} 2008-2017, Free Software Foundation
+Copyright @copyright{} 2008-2018, Free Software Foundation
 @end quotation
 
 @end copying
diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi
index 94437d5403e7..ced3e465e731 100644
--- a/gcc/doc/cpp.texi
+++ b/gcc/doc/cpp.texi
@@ -10,7 +10,7 @@
 
 @copying
 @c man begin COPYRIGHT
-Copyright @copyright{} 1987-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 1987-2018 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 94de21b41c91..e31a5e207ab5 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-2017 Free Software Foundation, Inc.
+Copyright (C) 2000-2018 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-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 2000-2018 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 87df83f01313..2572eb0ab90b 100644
--- a/gcc/doc/gcc.texi
+++ b/gcc/doc/gcc.texi
@@ -40,7 +40,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 1988-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2018 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 849c67c787ef..1a1af418eb6e 100644
--- a/gcc/doc/gccint.texi
+++ b/gcc/doc/gccint.texi
@@ -26,7 +26,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 1988-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2018 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 8bf422e58d8c..8f68b0f90e2d 100644
--- a/gcc/doc/gcov.texi
+++ b/gcc/doc/gcov.texi
@@ -4,7 +4,7 @@
 
 @ignore
 @c man begin COPYRIGHT
-Copyright @copyright{} 1996-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 1996-2018 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 827d3985e694..943556528f6a 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-2017 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2018 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-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2018 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 b15cc4470926..620e774e0569 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-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 1988-2018 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 23bca56c9b70..bb2083aa66e4 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,12 @@
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* 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.
+
 2017-01-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
 	PR fortran/45689
@@ -39,2298 +48,8 @@
 	PR fortran/83319
 	*trans-types.c (gfc_get_array_descriptor_base): Add the token
 	field to the descriptor even when codimen not set.
-
-2017-12-28  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR Fortran/83548
-	* match.c (gfc_match_type_spec): Check for LOGICAL conflict in
-	type-spec versus LOGICAL intrinsic subprogram.
-
-2017-12-28  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	PR fortran/83344
-	* resolve.c (resolve_assoc_var): Don't set the constant value
-	unless the target is a constant expression.
-
-2017-12-28  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/83567
-	* trans-expr.c (gfc_trans_assignment_1): Free parameterized
-	components of the lhs if dealloc is set.
-	*trans-decl.c (gfc_trans_deferred_vars): Do not free the
-	parameterized components of function results on leaving scope.
-
-2017_12_27  Louis Krupp  <louis.krupp@zoho.com>
-
-	PR fortran/83092
-	* expr.c (gfc_apply_init): Check that typespec has character type
-	before using character length field.
-
-2017-12-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/83540
-	* frontend-passes.c (create_var): If an array to be created
-	has unknown size and -fno-realloc-lhs is in effect,
-	return NULL.
-
-2017-12-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
-            Eric Botcazou  <ebotcazou@adacore.com>
-
-	* array.c (gfc_copy_iterator): Copy unroll field.
-	* decl.c (directive_unroll): New global variable.
-	(gfc_match_gcc_unroll): New function.
-	* gfortran.h (gfc_iterator]): Add unroll field.
-	(directive_unroll): Declare:
-	* match.c (gfc_match_do): Use memset to initialize the iterator.
-	* match.h (gfc_match_gcc_unroll): New prototype.
-	* parse.c (decode_gcc_attribute): Match "unroll".
-	(parse_do_block): Set iterator's unroll.
-	(parse_executable): Diagnose misplaced unroll directive.
-	* trans-stmt.c (gfc_trans_simple_do) Annotate loop condition with
-	annot_expr_unroll_kind.
-	(gfc_trans_do): Likewise.
-	* gfortran.texi (GNU Fortran Compiler Directives): Split section into
-	subections 'ATTRIBUTES directive' and 'UNROLL directive'.
-
-2017-12-19  Jakub Jelinek  <jakub@redhat.com>
-
-	* scanner.c (preprocessor_line): Replace Yoda conditions with typical
-	order conditions.
-	* dependency.c (check_section_vs_section): Likewise.
-	* trans-array.c (gfc_conv_expr_descriptor): Likewise.
-
-2017-12-17  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	* decl.c (gfc_match_implicit_none): Use GFC_STD_F2018 instead of
-	GFC_STD_F2015.
-	* error.c (gfc_notify_std): Add GFC_STD_F2018{_DEL,_OBS} to
-	switch.
-	* gfortran.texi: Document -std=f2018.
-	* interface.c (compare_parameter): Fix comment.
-	* invoke.texi: Document -std=f2018.
-	* lang.opt: Add -std=f2018 argumnet.
-	* libgfortran.h (GFC_STD_F2015): Rename to GFC_STD_F0218, use
-	separate flag bit.
-	(GFC_STD_F2018_DEL): New macro.
-	(GFC_STD_F2018_OBS): Likewise.
-	* match.c (gfc_match_stopcode): Use GFC_STD_F2018.
-	* options.c (set_default_std_flags): Add F2018 flags to defaults.
-	(gfc_handle_option): Set options for -std=f2018.
-
-2017-12-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* f95-lang.c (gfc_attribute_table): Swap affects_type_identity
-	and handler fields, adjust comments.
-
-2017-12-14  Qing Zhao  <qing.zhao@oracle.com>
-
-	PR middle_end/79538
-	* class.c (gfc_build_class_symbol): Replace call to
-	sprintf with xasprintf to avoid format-overflow warning.
-	(generate_finalization_wrapper): Likewise.
-	(gfc_find_derived_vtab): Likewise.
-	(find_intrinsic_vtab): Likewise.
-
-2017-12-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* intrinsic.texi (MAXLOC): Remove double description
-	of return value.
-	(MINLOC): Likewise.
-
-2017-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* intrinsic.texi (MAXLOC): Update documentation for
-	character arrays and KIND argument.
-	(MINLOC): Likewise.
-
-2017-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/45689
-	* simplify.c (min_max_choose): Add prototype.
-	(gfc_count): Format correctly.
-	(simplify_transformation): Pass array argument to init_result_expr.
-	(gfc_simplify_minval_maxval): Remove.
-	(gfc_min): New function.
-	(gfc_simplify_minval): Call simplify_transformation.
-	(gfc_max): New function.
-	(gfc_simplify_maxval): Call simplify_transformation.
-
-2017-12-10  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/53478
-	* gfortran.h (gfc_find_case_gsymbol): New prototype.
-	* symbol.c (gfc_find_case_gsymbol): New procedure, case
-	insensistive version of gfc_find_gsymbol.
-	* resolve.c (resolve_common_blocks): Use it.
-	Replace %s with %qs where needed.
-
-2017-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/82934
-	PR fortran/83318
-	* match.c (gfc_match_allocate): Enforce F2008:C631.
-
-2017-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/83316
-	* arith.c (gfc_character2character): New function.
-	* arith.h: Add prototype.
-	* simplify.c (gfc_convert_constant): Handle character type.
-
-2017-12-07  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81544
-	* f95-lang.c (gfc_attribute_table): Initialize new member of struct
-	attribute_spec.
-
-2017-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/36313
-	* check.c (gfc_check_minval_maxval): Use
-	int_orLreal_or_char_check_f2003 for array argument.
-	* iresolve.c (gfc_resolve_maxval): Insert number in
-	function name for character arguments.
-	(gfc_resolve_minval): Likewise.
-	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc):
-	Fix comment.
-	(gfc_conv_intrinsic_minmaxval): Resort arguments and call library
-	function if dealing with a character function.
-
-2017-12-01  Qing Zhao  <qing.zhao@oracle.com>
-
-	* decl.c (gfc_get_pdt_instance): Adjust the call to sprintf
-	to avoid the same buffer being both source and destination.
-
-2017-12-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/83224
-	* frontend-passes.c (create_var): Also handle
-	character arrays, handling deferred lenghts.
-
-2017-12-01  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82605
-	* resolve.c (get_pdt_constructor): Initialize 'cons' to NULL.
-	(resolve_pdt): Correct typo in prior comment. Emit an error if
-	any parameters are deferred and the object is neither pointer
-	nor allocatable.
-
-	PR fortran/82606
-	* decl.c (gfc_get_pdt_instance): Continue if the parameter sym
-	is not present or has no name. Select the parameter by name
-	of component, rather than component order. Remove all the other
-	manipulations of 'tail' when building the pdt instance.
-	(gfc_match_formal_arglist): Emit and error if a star is picked
-	up in a PDT decl parameter list.
-
-	PR fortran/82622
-	* trans-array.c (set_loop_bounds): If a GFC_SS_COMPONENT has an
-	info->end, use it rather than falling through to
-	gcc_unreachable.
-	(structure_alloc_comps): Check that param->name is non-null
-	before comparing with the component name.
-	* trans-decl.c (gfc_get_symbol_decl): Do not use the static
-	initializer for PDT symbols.
-	(gfc_init_default_dt): Do nothing for PDT symbols.
-	* trans-io.c (transfer_array_component): Parameterized array
-	components use the descriptor ubound since the shape is not
-	available.
-
-	PR fortran/82719
-	PR fortran/82720
-	* trans-expr.c (gfc_conv_component_ref): Do not use the charlen
-	backend_decl of pdt strings. Use the hidden component instead.
-	* trans-io.c (transfer_expr): Do not do IO on "hidden" string
-	lengths. Use the hidden string length for pdt string transfers
-	by adding it to the se structure. When finished nullify the
-	se string length.
-
-	PR fortran/82866
-	* decl.c (gfc_match_formal_arglist): If a name is not found or
-	star is found, while reading a type parameter list, emit an
-	immediate error.
-	(gfc_match_derived_decl): On reading a PDT parameter list, on
-	failure to match call gfc_error_recovery.
-
-	PR fortran/82978
-	* decl.c (build_struct): Character kind defaults to 1, so use
-	kind_expr whatever is the set value.
-	(gfc_get_pdt_instance): Ditto.
-	* trans-array.c (structure_alloc_comps): Copy the expression
-	for the PDT string length before parameter substitution. Use
-	this expression for evaluation and free it after use.
-
-2017-12-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/79153
-	* match.c (gfc_match): Add FALLTHRU comment to avoid
-	-Wimplicit-fallthrough warning.
-
-2017-12-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/83224
-	* frontend-passes.c (realloc_string_callback): Handle
-	case for which the RHS is an array expression.
-
-2017-11-28  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	PR fortran/53796
-	* gfortran.texi: Remove mentions of GFORTRAN_DEFAULT_RECL.
-
-2017-11-28  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/83021
-	* resolve.c (resolve_component): Only escape for use assciated
-	vtypes if the current namespace has no proc_name and is most
-	particularly block data.
-
-2017-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
-	using fold_build2_loc instead of fold_build3_loc.
-	* trans-io.c (io_result): Likewise.
-	* trans-stmt.c (gfc_trans_integer_select, gfc_trans_character_select):
-	Likewise.
-
-2017-11-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/81304
-	* trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
-	attr.implicit_type in intrinsic_sym to avoid undesirable warning.
-
-2017-11-23  Dirk Broemmel  <d.broemmel@fz-juelich.de>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/81841
-	* parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
-	BLOCK DATA.
-
-2017-11-23  Mike Stump  <mikestump@comcast.net>
-	    Eric Botcazou  <ebotcazou@adacore.com>
-
-	* trans-stmt.c (gfc_trans_forall_loop): Pass 3rd operand to
-	ANNOTATE_EXPR.
-
-2017-11-23  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82814
-	* trans-types.c (gfc_sym_type): If a character function result
-	is missing the charlen backend_decl, use the one from the name-
-	space procedure symbol, if present.
-
-2017-11-22  David Malcolm  <dmalcolm@redhat.com>
-
-	PR c++/62170
-	* error.c (gfc_notify_std): Convert "quoted" param from bool to
-	bool *.
-
-2017-11-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/36313
-	* check.c (int_or_real_or_char_check_f2003): New function.
-	* iresolve.c (gfc_resolve_maxloc): Add number "2" for
-	character arguments and rank-zero return value.
-	(gfc_resolve_minloc): Likewise.
-	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Handle case of
-	character arguments and rank-zero return value by removing
-	unneeded arguments and calling the library function.
-
-2017-11-22  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79072
-	* trans-stmt.c (trans_associate_var): Weaken the over strong
-	condition for using the fake result decl.
-
-2017-11-20  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79072
-	* trans-expr.c (trans_class_vptr_len_assignment): Set from_len
-	if the temporary is unlimited polymorphic.
-	* trans-stmt.c (trans_associate_var): Use the fake result decl
-	to obtain the 'len' field from an explicit function result when
-	in that function scope.
-
-2017-11-19  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78990
-	* expr.c (gfc_is_class_array_function): Renamed from
-	'gfc_is_alloc_class_array_function' and modified to return true
-	for pointers as well as allocatable results.
-	* gfortran.h : Change of name for prototype of above function.
-	* trans-array.c (gfc_add_loop_ss_code): Force finalization of
-	class array results.
-	(build_class_array_ref): Change assertion into a condition.
-	(build_class_array_ref): Set the se class_vptr for class array
-	function results.
-	(gfc_walk_function_expr): Reference gfc_is_class_array_function
-	as above.
-	* trans-decl.c (get_proc_result): Move it up before
-	gfc_trans_deferred_vars.
-	(gfc_trans_deferred_vars): Nullify explicit return class arrays
-	on entry.
-	* trans-expr.c (gfc_conv_class_to_class): Allow conversion of
-	class array functions that have an se class_vptr and use it
-	for the result vptr.
-	(gfc_conv_subref_array_arg): Rename reference to the above
-	function.
-	(gfc_conv_procedure_call): Ditto. Add the se pre block to the
-	loop pre block before the function is evaluated. Do not
-	finalize class pointer results.
-	(arrayfunc_assign_needs_temporary, gfc_trans_assignment_1) More
-	renamed references.
-	* trans-intrinsic.c (gfc_conv_intrinsic_size): Ditto.
-
-2017-11-18  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	PR fortran/83036
-	* ioparm.def (IOPARM): Make nextrec a pintio.
-
-2017-11-18  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	PR fortran/44292
-	* ioparm.def (IOPARM): Make recl_in intio, and recl_out pintio.
-
-2017-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/83012
-	* expr.c (gfc_is_simply_contiguous): If a function call through a
-	class variable is done through a reference, check the function's
-	interface.
-
-2017-11-17  Richard Biener  <rguenther@suse.de>
-
-	PR fortran/83017
-	* trans-stmt.c (gfc_trans_forall_loop): Annotate DO CONCURRENT
-	loops with annot_expr_parallel_kind instead of just
-	annot_expr_ivdep_kind.
-
-2017-11-15  Martin Liska  <mliska@suse.cz>
-
-	* options.c (gfc_post_options):
-	Do not set default value of warn_return_type.
-	* trans-decl.c (gfc_trans_deferred_vars):
-	Compare warn_return_type for greater than zero.
-	(generate_local_decl): Likewise
-	(gfc_generate_function_code): Likewise.
-
-2017-11-13  Fritz Reese <fritzoreese@gmail.com>
-
-	PR fortran/78240
-	* decl.c (match_clist_expr): Replace gcc_assert with proper
-	handling of bad result from spec_size().
-	* resolve.c (check_data_variable): Avoid NULL dereference when passing
-	locus to gfc_error.
-
-2017-11-11  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/82932
-	* resolve.c (update_compcall_arglist): Improve error recovery,
-	remove a gcc_assert.
-
-2017-11-10  Fritz Reese <fritzoreese@gmail.com>
-
-	PR fortran/82886
-	* gfortran.h (gfc_build_init_expr): New prototype.
-	* invoke.texi (finit-derived): Update documentation.
-	* expr.c (gfc_build_init_expr): New, from gfc_build_default_init_expr.
-	(gfc_build_default_init_expr): Redirect to gfc_build_init_expr(,,false)
-	(component_initializer): Force building initializers using
-	gfc_build_init_expr(,,true).
-
-2017-11-10  Martin Sebor  <msebor@redhat.com>
-
-	PR c/81117
-	* gcc/fortran/decl.c (build_sym): Use strcpy instead of strncpy.
-
-2017-11-10  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82934
-	* trans-stmt.c (gfc_trans_allocate): Remove the gcc_assert on
-	null string length for assumed length typespec and set
-	expr3_esize to NULL_TREE;
-
-2017-11-09  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78619
-	* check.c (same_type_check): Introduce a new argument 'assoc'
-	with default value false. If this is true, use the symbol type
-	spec of BT_PROCEDURE expressions.
-	(gfc_check_associated): Set 'assoc' true in the call to
-	'same_type_check'.
-
-2017-11-09  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/78814
-	* interface.c (symbol_rank): Check for NULL pointer.
-
-2017-11-08  Steven G. Kargl  <kargl@kgcc.gnu.org>
-
-	PR Fortran/82841
-	* simplify.c(gfc_simplify_transfer): Do not dereference a NULL pointer.
-	Unwrap a short line.
-
-2017-11-08  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/82884
-	* arith.c (gfc_hollerith2character): Clear pad.
-
-2017-11-08  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	PR 82869
-	* convert.c (truthvalue_conversion): Use logical_type_node.
-	* trans-array.c (gfc_trans_allocate_array_storage): Likewise.
-	(gfc_trans_create_temp_array): Likewise.
-	(gfc_trans_array_ctor_element): Likewise.
-	(gfc_trans_array_constructor_value): Likewise.
-	(trans_array_constructor): Likewise.
-	(trans_array_bound_check): Likewise.
-	(gfc_conv_array_ref): Likewise.
-	(gfc_trans_scalarized_loop_end): Likewise.
-	(gfc_conv_array_extent_dim): Likewise.
-	(gfc_array_init_size): Likewise.
-	(gfc_array_allocate): Likewise.
-	(gfc_trans_array_bounds): Likewise.
-	(gfc_trans_dummy_array_bias): Likewise.
-	(gfc_conv_array_parameter): Likewise.
-	(duplicate_allocatable): Likewise.
-	(duplicate_allocatable_coarray): Likewise.
-	(structure_alloc_comps): Likewise
-	(get_std_lbound): Likewise
-	(gfc_alloc_allocatable_for_assignment): Likewise
-	* trans-decl.c (add_argument_checking): Likewise
-	(gfc_generate_function_code): Likewise
-	* trans-expr.c (gfc_copy_class_to_class): Likewise
-	(gfc_trans_class_array_init_assign): Likewise
-	(gfc_trans_class_init_assign): Likewise
-	(gfc_conv_expr_present): Likewise
-	(gfc_conv_substring): Likewise
-	(gfc_conv_cst_int_power): Likewise
-	(gfc_conv_expr_op): Likewise
-	(gfc_conv_procedure_call): Likewise
-	(fill_with_spaces): Likewise
-	(gfc_trans_string_copy): Likewise
-	(gfc_trans_alloc_subarray_assign): Likewise
-	(gfc_trans_pointer_assignment): Likewise
-	(gfc_trans_scalar_assign): Likewise
-	(fcncall_realloc_result): Likewise
-	(alloc_scalar_allocatable_for_assignment): Likewise
-	(trans_class_assignment): Likewise
-	(gfc_trans_assignment_1): Likewise
-	* trans-intrinsic.c (build_fixbound_expr): Likewise
-	(gfc_conv_intrinsic_aint): Likewise
-	(gfc_trans_same_strlen_check): Likewise
-	(conv_caf_send): Likewise
-	(trans_this_image): Likewise
-	(conv_intrinsic_image_status): Likewise
-	(trans_image_index): Likewise
-	(gfc_conv_intrinsic_bound): Likewise
-	(conv_intrinsic_cobound): Likewise
-	(gfc_conv_intrinsic_mod): Likewise
-	(gfc_conv_intrinsic_dshift): Likewise
-	(gfc_conv_intrinsic_dim): Likewise
-	(gfc_conv_intrinsic_sign): Likewise
-	(gfc_conv_intrinsic_ctime): Likewise
-	(gfc_conv_intrinsic_fdate): Likewise
-	(gfc_conv_intrinsic_ttynam): Likewise
-	(gfc_conv_intrinsic_minmax): Likewise
-	(gfc_conv_intrinsic_minmax_char): Likewise
-	(gfc_conv_intrinsic_anyall): Likewise
-	(gfc_conv_intrinsic_arith): Likewise
-	(gfc_conv_intrinsic_minmaxloc): Likewise
-	(gfc_conv_intrinsic_minmaxval): Likewise
-	(gfc_conv_intrinsic_btest): Likewise
-	(gfc_conv_intrinsic_bitcomp): Likewise
-	(gfc_conv_intrinsic_shift): Likewise
-	(gfc_conv_intrinsic_ishft): Likewise
-	(gfc_conv_intrinsic_ishftc): Likewise
-	(gfc_conv_intrinsic_leadz): Likewise
-	(gfc_conv_intrinsic_trailz): Likewise
-	(gfc_conv_intrinsic_mask): Likewise
-	(gfc_conv_intrinsic_spacing): Likewise
-	(gfc_conv_intrinsic_rrspacing): Likewise
-	(gfc_conv_intrinsic_size): Likewise
-	(gfc_conv_intrinsic_sizeof): Likewise
-	(gfc_conv_intrinsic_transfer): Likewise
-	(gfc_conv_allocated): Likewise
-	(gfc_conv_associated): Likewise
-	(gfc_conv_same_type_as): Likewise
-	(gfc_conv_intrinsic_trim): Likewise
-	(gfc_conv_intrinsic_repeat): Likewise
-	(conv_isocbinding_function): Likewise
-	(conv_intrinsic_ieee_is_normal): Likewise
-	(conv_intrinsic_ieee_is_negative): Likewise
-	(conv_intrinsic_ieee_copy_sign): Likewise
-	(conv_intrinsic_move_alloc): Likewise
-	* trans-io.c (set_parameter_value_chk): Likewise
-	(set_parameter_value_inquire): Likewise
-	(set_string): Likewise
-	* trans-openmp.c (gfc_walk_alloc_comps): Likewise
-	(gfc_omp_clause_default_ctor): Likewise
-	(gfc_omp_clause_copy_ctor): Likewise
-	(gfc_omp_clause_assign_op): Likewise
-	(gfc_omp_clause_dtor): Likewise
-	(gfc_omp_finish_clause): Likewise
-	(gfc_trans_omp_clauses): Likewise
-	(gfc_trans_omp_do): Likewise
-	* trans-stmt.c (gfc_trans_goto): Likewise
-	(gfc_trans_sync): Likewise
-	(gfc_trans_arithmetic_if): Likewise
-	(gfc_trans_simple_do): Likewise
-	(gfc_trans_do): Likewise
-	(gfc_trans_forall_loop): Likewise
-	(gfc_trans_where_2): Likewise
-	(gfc_trans_allocate): Likewise
-	(gfc_trans_deallocate): Likewise
-	* trans-types.c (gfc_init_types): Initialize logical_type_node and
-	their true/false trees.
-	(gfc_get_array_descr_info): Use logical_type_node.
-	* trans-types.h (logical_type_node): New tree.
-	(logical_true_node): Likewise.
-	(logical_false_node): Likewise.
-	* trans.c (gfc_trans_runtime_check): Use logical_type_node.
-	(gfc_call_malloc): Likewise
-	(gfc_allocate_using_malloc): Likewise
-	(gfc_allocate_allocatable): Likewise
-	(gfc_add_comp_finalizer_call): Likewise
-	(gfc_add_finalizer_call): Likewise
-	(gfc_deallocate_with_status): Likewise
-	(gfc_deallocate_scalar_with_status): Likewise
-	(gfc_call_realloc): Likewise
-
-2017-11-06  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/69739
-	* trans-expr.c (gfc_map_intrinsic_function): Return false for
-	bounds without the DIM argument instead of ICEing.
-
-2017-11-06  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/82404
-	* options.c (gfc_post_options): Set default value of
-	-Wreturn-type to false.
-
-2017-11-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/82471
-	* lang.opt (ffrontend-loop-interchange): New option.
-	(Wfrontend-loop-interchange): New option.
-	* options.c (gfc_post_options): Handle ffrontend-loop-interchange.
-	* frontend-passes.c (gfc_run_passes): Run
-	optimize_namespace if flag_frontend_optimize or
-	flag_frontend_loop_interchange are set.
-	(optimize_namespace): Run functions according to flags set;
-	also call index_interchange.
-	(ind_type): New function.
-	(has_var): New function.
-	(index_cost): New function.
-	(loop_comp): New function.
-
-2017-11-05  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/78641
-	* resolve.c (resolve_ordinary_assign): Do not add the _data
-	component for class valued array constructors being assigned
-	to derived type arrays.
-	* trans-array.c (gfc_trans_array_ctor_element): Take the _data
-	of class valued elements for assignment to derived type arrays.
-
-2017-11-05  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/81447
-	PR fortran/82783
-	* resolve.c (resolve_component): There is no need to resolve
-	the components of a use associated vtype.
-	(resolve_fl_derived): Unconditionally generate a vtable for any
-	module derived type, as long as the standard is F2003 or later
-	and it is not a vtype or a PDT template.
-
-2017-11-05  Tom de Vries  <tom@codesourcery.com>
-
-	PR other/82784
-	* parse.c (match, matcha, matchs, matcho, matchds, matchdo): Remove
-	semicolon after "do {} while (0)".
-
-2017-11-04  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* trans-expr.c (gfc_trans_assignment_1): Character kind conversion may
-	create a loop variant temporary, too.
-	* trans-intrinsic.c (conv_caf_send): Treat char arrays as arrays and
-	not as scalars.
-	* trans.c (get_array_span): Take the character kind into account when
-	doing pointer arithmetic.
-
-2017-11-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/29600
-	* gfortran.h (gfc_check_f): Replace fm3l with fm4l.
-	* intrinsic.h (gfc_resolve_maxloc): Add gfc_expr * to argument
-	list in protoytpe.
-	(gfc_resolve_minloc): Likewise.
-	* check.c (gfc_check_minloc_maxloc): Handle kind argument.
-	* intrinsic.c (add_sym_3_ml): Rename to
-	(add_sym_4_ml): and handle kind argument.
-	(add_function): Replace add_sym_3ml with add_sym_4ml and add
-	extra arguments for maxloc and minloc.
-	(check_specific): Change use of check.f3ml with check.f4ml.
-	* iresolve.c (gfc_resolve_maxloc): Handle kind argument. If
-	the kind is smaller than the smallest library version available,
-	use gfc_default_integer_kind and convert afterwards.
-	(gfc_resolve_minloc): Likewise.
-
-2017-11-04  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/81735
-	* trans-decl.c (gfc_trans_deferred_vars): Do a better job of a
-	case where 'tmp' was used unititialized and remove TODO.
-
-2017-11-03  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/82796
-	* resolve.c (resolve_equivalence): An entity in a common block within
- 	a module cannot appear in an equivalence statement if the entity is
-	with a pure procedure.
-
-2017-10-31  Jim Wilson  <wilson@tuliptree.org>
-
-	* parse.c (unexpected_eof): Call gcc_unreachable before return.
-
-2017-10-30  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/80850
-	* trans_expr.c (gfc_conv_procedure_call): When passing a class
-	argument to an unlimited polymorphic dummy, it is wrong to cast
-	the passed expression as unlimited, unless it is unlimited. The
-	correct way is to assign to each of the fields and set the _len
-	field to zero.
-
-2017-10-30  Steven G. Kargl   <kargl@gcc.gnu.org>
-
-	* resolve.c (resolve_transfer): Set derived to correct symbol for
-	BT_CLASS.
-
-2017-10-29  Jim Wilson  <wilson@tuliptree.org>
-
-	* invoke.texi: Delete adb and sdb references.
-
-2017-10-28  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* check.c (gfc_check_co_reduce): Clarify error message.
-
-2017-10-28  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/81758
-	* trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr'
-	must only be set if the right hand side expression is of type
-	class.
-
-2017-10-27  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/82620
-	* match.c (gfc_match_allocate): Exit early on syntax error.
-
-2017-10-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/56342
-	* simplify.c (is_constant_array_expr): If the expression is
-	a parameter array, call gfc_simplify_expr.
-
-2017-10-25  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
-
-	* match.c (gfc_match_type_is): Fix typo in error message.
-
-2017-10-21  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82586
-	* decl.c (gfc_get_pdt_instance): Remove the error message that
-	the parameter does not have a corresponding component since
-	this is now taken care of when the derived type is resolved. Go
-	straight to error return instead.
-	(gfc_match_formal_arglist): Make the PDT relevant errors
-	immediate so that parsing of the derived type can continue.
-	(gfc_match_derived_decl): Do not check the match status on
-	return from gfc_match_formal_arglist for the same reason.
-	* resolve.c (resolve_fl_derived0): Check that each type
-	parameter has a corresponding component.
-
-	PR fortran/82587
-	* resolve.c (resolve_generic_f): Check that the derived type
-	can be used before resolving the struture constructor.
-
-	PR fortran/82589
-	* symbol.c (check_conflict): Add the conflicts involving PDT
-	KIND and LEN attributes.
-
-2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
-
-	* interface.c (check_sym_interfaces, check_uop_interfaces,
-	gfc_check_interfaces): Base interface_name buffer off
-	GFC_MAX_SYMBOL_LEN.
-
-2017-10-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/82568
-	* gfortran.h (gfc_resolve_do_iterator): Add a bool arg.
-	(gfc_resolve_omp_local_vars): New declaration.
-	* openmp.c (omp_current_ctx): Make static.
-	(gfc_resolve_omp_parallel_blocks): Handle EXEC_OMP_TASKLOOP
-	and EXEC_OMP_TASKLOOP_SIMD.
-	(gfc_resolve_do_iterator): Add ADD_CLAUSE argument, if false,
-	don't actually add any clause.  Move omp_current_ctx test
-	earlier.
-	(handle_local_var, gfc_resolve_omp_local_vars): New functions.
-	* resolve.c (gfc_resolve_code): Call gfc_resolve_omp_parallel_blocks
-	instead of just gfc_resolve_omp_do_blocks for EXEC_OMP_TASKLOOP
-	and EXEC_OMP_TASKLOOP_SIMD.
-	(gfc_resolve_code): Adjust gfc_resolve_do_iterator caller.
-	(resolve_codes): Call gfc_resolve_omp_local_vars.
-
-2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
-
-	* gfortran.h (gfc_lookup_function_fuzzy): New declaration.
-	(gfc_closest_fuzzy_match): New declaration.
-	(vec_push): New definition.
-	* misc.c (gfc_closest_fuzzy_match): New definition.
-	* resolve.c: Include spellcheck.h.
-	(lookup_function_fuzzy_find_candidates): New static function.
-	(lookup_uop_fuzzy_find_candidates): Likewise.
-	(lookup_uop_fuzzy): Likewise.
-	(resolve_operator) <INTRINSIC_USER>: Call lookup_uop_fuzzy.
-	(gfc_lookup_function_fuzzy): New definition.
-	(resolve_unknown_f): Call gfc_lookup_function_fuzzy.
-	* interface.c (check_interface0): Likewise.
-	(lookup_arg_fuzzy_find_candidates): New static function.
-	(lookup_arg_fuzzy ): Likewise.
-	(compare_actual_formal): Call lookup_arg_fuzzy.
-	* symbol.c: Include spellcheck.h.
-	(lookup_symbol_fuzzy_find_candidates): New static function.
-	(lookup_symbol_fuzzy): Likewise.
-	(gfc_set_default_type): Call lookup_symbol_fuzzy.
-	(lookup_component_fuzzy_find_candidates): New static function.
-	(lookup_component_fuzzy): Likewise.
-	(gfc_find_component): Call lookup_component_fuzzy.
-
-2017-10-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/82567
-	* frontend-passes.c (combine_array_constructor): If an array
-	constructor is all constants and has more elements than a small
-	constant, don't convert a*[b,c] to [a*b,a*c] to reduce compilation
-	times.
-
-2017-10-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/79795
-	* resolve.c (resovle_symbol): Change gcc_assert to
-	sensible error message.
-
-2017-10-18  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82550
-	* trans_decl.c (gfc_get_symbol_decl): Procedure symbols that
-	have the 'used_in_submodule' attribute should be processed by
-	'gfc_get_extern_function_decl'.
-
-2017-10-16  Fritz Reese <fritzoreese@gmail.com>
-
-	PR fortran/82511
-	* trans-io.c (transfer_expr): Treat BT_UNION as BT_DERIVED.
-
-2017-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/82372
-	* fortran/scanner.c (last_error_char):  New global variable.
-	(gfc_scanner_init_1): Set last_error_char to NULL.
-	(gfc_gobble_whitespace): If a character not printable or
-	not newline, issue an error.
-
-2017-10-13  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/81048
-	* resolve.c (resolve_symbol): Ensure that derived type array
-	results get default initialization.
-
-2017-10-11  Nathan Sidwell  <nathan@acm.org>
-
-	* cpp.c (gfc_cpp_add_include_path): Update incpath_e names.
-	(gfc_cpp_add_include_path_after): Likewise.
-
-2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
-
-	* target-memory.c (gfc_interpret_logical): Use wi::to_wide when
-	operating on trees as wide_ints.
-	* trans-const.c (gfc_conv_tree_to_mpz): Likewise.
-	* trans-expr.c (gfc_conv_cst_int_power): Likewise.
-	* trans-intrinsic.c (trans_this_image): Likewise.
-	(gfc_conv_intrinsic_bound): Likewise.
-	(conv_intrinsic_cobound): Likewise.
-
-2017-10-08  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	* check.c (gfc_check_x): Remove function.
-	* intrinsic.c (add_functions): Use gfc_check_fn_r.
-
-2017-10-08  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82375
-	* module.c : Bump up MOD_VERSION to 15.
-	(mio_component): Edit comment about PDT specification list.
-	(mio_expr, mio_symbol): Include the expression and symbol PDT
-	specification lists in the same way as in mio_component.
-
-2017-10-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* dump_prase_tree (show_symbol): Output list of variables in
-	NAMELIST.
-	(show_code_node): Add new line for ELSE and END DO for DO
-	CONCURRENT.
-	* invoke.texi: Document that the output of
-	-fdump-fortran-original, -fdump-fortran-optimized and
-	-fdump-parse-tree is unsable and may lead to ICEs.
-
-2017-10-07  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82375
-	* class.c (gfc_find_derived_vtab): Return NULL for a passed
-	pdt template to prevent bad procedures from being written.
-	* decl.c (gfc_get_pdt_instance): Do not use the default
-	initializer for pointer and allocatable pdt type components. If
-	the component is allocatbale, set the 'alloc_comp' attribute of
-	'instance'.
-	* module.c : Add a prototype for 'mio_actual_arglist'. Add a
-	boolean argument 'pdt'.
-	(mio_component): Call it for the parameter list of pdt type
-	components with 'pdt' set to true.
-	(mio_actual_arg): Add the boolean 'pdt' and, if it is set, call
-	mio_integer for the 'spec_type'.
-	(mio_actual_arglist): Add the boolean 'pdt' and use it in the
-	call to mio_actual_arg.
-	(mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with
-	'pdt' set false.
-	* resolve.c (get_pdt_spec_expr): Add the parameter name to the
-	KIND parameter error.
-	(get_pdt_constructor): Check that cons->expr is non-null.
-	* trans-array.c (structure_alloc_comps): For deallocation of
-	allocatable components, ensure that parameterized components
-	are deallocated first. Likewise, when parameterized components
-	are allocated, nullify allocatable components first. Do not
-	recurse into pointer or allocatable pdt components while
-	allocating or deallocating parameterized components. Test that
-	parameterized arrays or strings are allocated before freeing
-	them.
-	(gfc_trans_pointer_assignment): Call the new function. Tidy up
-	a minor whitespace issue.
-	trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE
-	to prevent the expression from being used a second time.
-
-2017-10-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/49232
-	* expr.c (gfc_check_pointer_assign): Error
-	for non-contiguous rhs.
-
-2017-10-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* gfortran.h (async_io_dt): Add external reference.
-	* io.c (async_io_dt): Add variable.
-	(compare_to_allowed_values): Add prototyte. Add optional argument
-	num. If present, set it to the number of the entry that was
-	matched.
-	(check_io_constraints): If this is for an asynchronous I/O
-	statement, set async_io_dt and set the asynchronous flag for
-	a SIZE tag.
-	* resolve.c (resolve_transfer): If async_io_dt is set, set
-	the asynchronous flag on the variable.
-	(resolve_fl_namelist): If async_io_dt is set, set the asynchronous
-	flag on all elements of the namelist.
-
-2017-10-04  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/60458
-	PR fortran/77296
-	* resolve.c (resolve_assoc_var): Deferred character type
-	associate names must not receive an integer conatant length.
-	* symbol.c (gfc_is_associate_pointer): Deferred character
-	length functions also require an associate pointer.
-	* trans-decl.c (gfc_get_symbol_decl): Deferred character
-	length functions or derived type components require the assoc
-	name to have variable string length.
-	* trans-stmt.c (trans_associate_var): Set the string length of
-	deferred string length associate names. The address expression
-	is not needed for allocatable, pointer or dummy targets. Change
-	the comment about defered string length targets.
-
-2017-10-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* io.c (match_wait_element): Correctly match END and EOR tags.
-	* dump-parse-tree.c (show_code_node): Handle EXEC_WAIT.
-
-2017-10-02  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82312
-	* resolve.c (gfc_resolve_code): Simplify condition for class
-	pointer assignments becoming regular assignments by asserting
-	that only class valued targets are permitted.
-	* trans-expr.c (trans_class_pointer_fcn): New function using a
-	block of code from gfc_trans_pointer_assignment.
-	(gfc_trans_pointer_assignment): Call the new function. Tidy up
-	a minor whitespace issue.
-
-2017-10-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/61450
-	* parse.c (gfc_global_used): Replace the gfc_internal_error
-	with an error.
-
-2017-09-29  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/25071
-	* interface.c (compare_actual_formal): Change warnings to errors
-	when "Actual argument contains too few elements for dummy
-	argument", unless -std=legacy is used.
-
-2017-09-27  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* lang.opt <Wdo-subscript>: End help text with a period.
-
-2017-09-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* frontend-passes.c (do_subscript): Don't do anything
-	if inside an associate list.
-
-2017-09-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* lang.opt:  Add -Wdo-subscript.
-	* frontend-passes.c (do_t): New type.
-	(doloop_list): Use variable of do_type.
-	(if_level): Variable to track if levels.
-	(select_level): Variable to track select levels.
-	(gfc_run_passes): Initialize i_level and select_level.
-	(doloop_code): Record current level of if + select
-	level in doloop_list.  Add seen_goto if there could
-	be a branch outside the loop. Use different type for
-	doloop_list.
-	(doloop_function): Call do_intent and do_subscript; move
-	functionality of checking INTENT to do_intent.
-	(insert_index_t): New type, for callback_insert_index.
-	(callback_insert_index): New function.
-	(insert_index): New function.
-	(do_subscript): New function.
-	(do_intent): New function.
-	(gfc_code_walker): Keep track of if_level and select_level.
-	* invoke.texi: Document -Wdo-subscript.
-
-2017-09-25  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	* trans.c (gfc_unlikely): Remove unnecessary fold_convert.
-	(gfc_likely): Likewise.
-
-2017-09-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
-	    Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/80118
-	* expr.c (gfc_get_full_arrayspec_from_expr): If there is
-	no symtree, set array spec to NULL.
-
-2017-09-23  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/82143
-	* lang.opt: Add the options -fdefault-real-10 and -fdefault-real-16.
-	Rename flag_default_real to flag_default_real_8.
-	* invoke.texi: Add documentation.
-	* module.c (use_iso_fortran_env_module): flag_default_real is renamed.
-	* trans-types.c (gfc_init_kinds): Implement the flags
-	-fdefault-real-10 and -fdefault-real-16. Make -fdefault-double-8 work
-	without -fdefault-real-8.
-
-2017-09-21  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/52832
-	* match.c (gfc_match_associate): Before failing the association
-	try again, allowing a proc pointer selector.
-
-	PR fortran/80120
-	PR fortran/81903
-	PR fortran/82121
-	* primary.c (gfc_match_varspec): Introduce 'tgt_expr', which
-	points to the associate selector, if any. Go through selector
-	references, after resolution for variables, to catch any full
-	or section array references. If a class associate name does
-	not have the same declared type as the selector, resolve the
-	selector and copy the declared type to the associate name.
-	Before throwing a no implicit type error, resolve all allowed
-	selector expressions, and copy the resulting typespec.
-
-	PR fortran/67543
-	* resolve.c (resolve_assoc_var): Selector must cannot be the
-	NULL expression and it must have a type.
-
-	PR fortran/78152
-	* resolve.c (resolve_symbol): Allow associate names to be
-	coarrays.
-
-2017-09-21  Cesar Philippidis  <cesar@codesourcery.com>
-
-	* openmp.c (gfc_match_oacc_wait): Don't restrict wait directive
-	arguments to constant integers.
-
-2017-09-17  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82173
-	* decl.c (gfc_get_pdt_instance): Use the component initializer
-	expression for the default, rather than the parameter value.
-	* resolve.c (resolve_pdt): New function.
-	(resolve_symbol): Call it. Remove false error, prohibiting
-	deferred type parameters for dummy arguments.
-
-	PR fortran/60483
-	* primary.c (gfc_match_varspec): If the type of an associate
-	name is unknown and yet there is a match, try resolving the
-	target expression and using its type.
-
-2017-09-15  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82184
-	trans-decl.c (gfc_trans_deferred_vars): Do not null the 'span'
-	field if the symbol is either implicitly or explicitly saved.
-
-2017-09-13  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82173
-	* decl.c (match_char_kind): If the kind expression is
-	parameterized, save it in saved_kind_expr and set kind = 0.
-	(gfc_get_pdt_instance): Resolve and simplify before emitting
-	error on expression kind. Insert a missing simplification after
-	insertion of kind expressions.
-
-2017-09-12  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/82173
-	PR fortran/82168
-	* decl.c (variable_decl): Check pdt template components for
-	appearance of KIND/LEN components in the type parameter name
-	list, that components corresponding to type parameters have
-	either KIND or LEN attributes and that KIND or LEN components
-	are scalar. Copy the initializer to the parameter value.
-	(gfc_get_pdt_instance): Add a label 'error_return' and follow
-	it with repeated code, while replacing this code with a jump.
-	Check if a parameter appears as a component in the template.
-	Make sure that the parameter expressions are integer. Validate
-	KIND expressions.
-	(gfc_match_decl_type_spec): Search for pdt_types in the parent
-	namespace since they are instantiated in the template ns.
-	* expr.c (gfc_extract_int): Use a KIND parameter if it
-	appears as a component expression.
-	(gfc_check_init_expr): Allow expressions with the pdt_kind
-	attribute.
-	*primary.c (gfc_match_actual_arglist): Make sure that the first
-	keyword argument is recognised when 'pdt' is set.
-
-2017-09-10  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/34640
-	PR fortran/40737
-	PR fortran/55763
-	PR fortran/57019
-	PR fortran/57116
-
-	* expr.c (is_subref_array): Add class pointer array dummies
-	to the list of expressions that return true.
-	* trans-array.c: Add SPAN_FIELD and update indices for
-	subsequent fields.
-	(gfc_conv_descriptor_span, gfc_conv_descriptor_span_get,
-	gfc_conv_descriptor_span_set, is_pointer_array,
-	get_array_span): New functions.
-	(gfc_get_descriptor_offsets_for_info): New function to preserve
-	API for access to descriptor fields for trans-types.c.
-	(gfc_conv_scalarized_array_ref): If the expression is a subref
-	array, make sure that info->descriptor is a descriptor type.
-	Otherwise, if info->descriptor is a pointer array, set 'decl'
-	and fix it if it is a component reference.
-	(build_array_ref): Simplify handling of class array refs by
-	passing the vptr to gfc_build_array_ref rather than generating
-	the pointer arithmetic in this function.
-	(gfc_conv_array_ref): As in gfc_conv_scalarized_array_ref, set
-	'decl'.
-	(gfc_array_allocate): Set the span field if this is a pointer
-	array. Use the expr3 element size if it is available, so that
-	the dynamic type element size is used.
-	(gfc_conv_expr_descriptor): Set the span field for pointer
-	assignments.
-	* trans-array.h: Prototypes for gfc_conv_descriptor_span_get
-	gfc_conv_descriptor_span_set and
-	gfc_get_descriptor_offsets_for_info added.
-	trans-decl.c (gfc_get_symbol_decl): If a non-class pointer
-	array, mark the declaration as a GFC_DECL_PTR_ARRAY_P. Remove
-	the setting of GFC_DECL_SPAN.
-	(gfc_trans_deferred_vars): Set the span field to zero in thge
-	originating scope.
-	* trans-expr.c (gfc_conv_procedure_call): Do not use copy-in/
-	copy-out to pass subref expressions to a pointer dummy.
-	(gfc_trans_pointer_assignment): Remove code for setting of
-	GFC_DECL_SPAN. Set the 'span' field for non-class pointers to
-	class function results. Likewise for rank remap. In the case
-	that the target is not a whole array, use the target array ref
-	for remap and, since the 'start' indices are missing, set the
-	lbounds to one, as required by the standard.
-	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Pick up the
-	'token' offset from the field decl in the descriptor.
-	(conv_isocbinding_subroutine): Set the 'span' field.
-	* trans-io.c (gfc_trans_transfer): Always scalarize pointer
-	array io.
-	* trans-stmt.c (trans_associate_var): Set the 'span' field.
-	* trans-types.c (gfc_get_array_descriptor_base): Add the 'span'
-	field to the array descriptor.
-	(gfc_get_derived_type): Pointer array components are marked as
-	GFC_DECL_PTR_ARRAY_P.
-	(gfc_get_array_descr_info): Replaced API breaking code for
-	descriptor offset calling gfc_get_descriptor_offsets_for_info.
-	* trans.c (get_array_span): New function.
-	(gfc_build_array_ref): Simplify by calling get_array_span and
-	obtain 'span' if 'decl' or 'vptr' present.
-	* trans.h : Rename DECL_LANG_FLAG_6, GFC_DECL_SUBREF_ARRAY_P,
-	as GFC_DECL_PTR_ARRAY_P.
-
-2017-09-09  Paul Thomas  <pault@gcc.gnu.org>
-
-	* decl.c : Add decl_type_param_list, type_param_spec_list as
-	static variables to hold PDT spec lists.
-	(build_sym): Copy 'type_param_spec_list' to symbol spec_list.
-	(build_struct): Copy the 'saved_kind_expr' to the component
-	'kind_expr'. Check that KIND or LEN components appear in the
-	decl_type_param_list. These should appear as symbols in the
-	f2k_derived namespace. If the component is itself a PDT type,
-	copy the decl_type_param_list to the component param_list.
-	(gfc_match_kind_spec): If the KIND expression is parameterized
-	set KIND to zero and store the expression in 'saved_kind_expr'.
-	(insert_parameter_exprs): New function.
-	(gfc_insert_kind_parameter_exprs): New function.
-	(gfc_insert_parameter_exprs): New function.
-	(gfc_get_pdt_instance): New function.
-	(gfc_match_decl_type_spec): Match the decl_type_spec_list if it
-	is present. If it is, call 'gfc_get_pdt_instance' to obtain the
-	specific instance of the PDT.
-	(match_attr_spec): Match KIND and LEN attributes. Check for the
-	standard and for type/kind of the parameter. They are also not
-	allowed outside a derived type definition.
-	(gfc_match_data_decl): Null the decl_type_param_list and the
-	type_param_spec_list on entry and free them on exit.
-	(gfc_match_formal_arglist): If 'typeparam' is true, add the
-	formal symbol to the f2k_derived namespace.
-	(gfc_match_derived_decl): Register the decl_type_param_list
-	if this is a PDT. If this is a type extension, gather up all
-	the type parameters and put them in the right order.
-	*dump-parse-tree.c (show_attr): Signal PDT templates and the
-	parameter attributes.
-	(show_components): Output parameter atrributes and component
-	parameter list.
-	(show_symbol): Show variable parameter lists.
-	* expr.c (expr.c): Copy the expression parameter list.
-	(gfc_is_constant_expr): Pass on symbols representing PDT
-	parameters.
-	(gfc_check_init_expr): Break on PDT KIND parameters and
-	PDT parameter expressions.
-	(gfc_check_assign): Assigning to KIND or LEN components is an
-	error.
-	(derived_parameter_expr): New function.
-	(gfc_derived_parameter_expr): New function.
-	(gfc_spec_list_type): New function.
-	* gfortran.h : Add enum gfc_param_spec_type. Add the PDT attrs
-	to the structure symbol_attr. Add the 'kind_expr' and
-	'param_list' field to the gfc_component structure. Comment on
-	the reuse of the gfc_actual_arglist structure as storage for
-	type parameter spec lists. Add the new field 'spec_type' to
-	this structure. Add 'param_list' fields to gfc_symbol and
-	gfc_expr. Add prototypes for gfc_insert_kind_parameter_exprs,
-	gfc_insert_parameter_exprs, gfc_add_kind, gfc_add_len,
-	gfc_derived_parameter_expr and gfc_spec_list_type.
-	* interface.c (gfc_compare_derived_types): Treat PDTs in the
-	same way as sequence types.
-	* match.c : Add variable 'type_param_spec_list'.
-	(gfc_op2string, gfc_match_member_sep, gfc_match_label): Remove
-	trailing whitespace.
-	(match_derived_type_spec): Match PDTs and find specific
-	instance.
-	(gfc_match_type_spec): Remove more trailing whitespace.
-	(gfc_match_allocate): Assumed or deferred parameters cannot
-	appear here. Copy the type parameter spec list to the expr for
-	the allocatable entity. Free 'type_param_spec_list'.
-	(gfc_match_common, gfc_match_namelist, gfc_match_module): Still
-	more trailing whitespace to remove.
-	(gfc_match_type_is): Allow PDT typespecs.
-	* match.h : Modify prototypes for gfc_match_formal_arglist and
-	gfc_match_actual_arglist.
-	* module.c (ab_attribute, mstring attr_bits): PDT attributes
-	added.
-	(mio_symbol_attribute): PDT attributes handled.
-	(mio_component): Deal with 'kind_expr' field.
-	(mio_full_f2k_derived): For PDT templates, transfer the formal
-	namespace symroot to the f2k_derived namespace.
-	*primary.c (match_keyword_arg, gfc_match_actual_arglist): Add
-	modifications to handle PDT spec lists. These are flagged in
-	both cases by new boolean arguments, whose prototype defaults
-	are false.
-	(gfc_match_structure_constructor, match_variable): Remove yet
-	more trailing whitespace.
-	* resolve.c (get_pdt_spec_expr, get_pdt_constructor): New
-	functions.
-	(resolve_structure_cons): If the constructor is a PDT template,
-	call get_pdt_constructor to build it using the parameter lists
-	and then get the specific instance of the PDT.
-	(resolve_component): PDT strings need a hidden string length
-	component like deferred characters.
-	(resolve_symbol): Dummy PDTs cannot have deferred parameters.
-	* symbol.c (gfc_add_kind, gfc_add_len): New functions.
-	(free_components): Free 'kind_expr' and 'param_list' fields.
-	(gfc_free_symbol): Free the 'param_list' field.
-	(gfc_find_sym_tree): If the current state is a PDT template,
-	look for the symtree in the f2k_derived namspaces.
-	trans-array.c (structure_alloc_comps): Allocate and deallocate
-	PDTs. Check dummy arguments for compliance of LEN parameters.
-	Add the new functions to the preceeding enum.
-	(gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp and
-	gfc_check_pdt_dummy): New functions calling above.
-	* trans-array.h : Add prototypes for these functions.
-	trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init
-	as appropriate for PDT symbols.
-	(gfc_trans_deferred_vars): Allocate/deallocate PDT entities as
-	they come into and out of scope. Exclude pdt_types from being
-	'gcc_unreachable'.
-	(gfc_trans_subcomponent_assign): PDT array components must be
-	handles as if they are allocatable.
-	* trans-stmt.c (gfc_trans_allocate): Handle initialization of
-	PDT entities.
-	(gfc_trans_deallocate): Likewise.
-	* trans-types.c (gfc_get_derived_type): PDT templates must not
-	arrive here. PDT string components are handles as if deferred.
-	Similarly, PDT arrays are treated as if allocatable. PDT
-	strings are pointer types.
-	* trans.c (gfc_deferred_strlen): Handle PDT strings in the same
-	way as deferred characters.
-
-2017-09-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/81887
-	* parse.c (decode_omp_directive): Use matchs instead of matcho for
-	end ordered and ordered directives, except for ordered depend.  For
-	-fopenmp-simd and ordered depend, reject the stmt.
-	* trans-openmp.c (gfc_trans_omp_ordered): For -fopenmp-simd ignore
-	threads clause and if simd clause isn't present, just translate the
-	body.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* trans-types.c (gfc_init_kinds): Use opt_scalar_int_mode for
-	the mode iterator.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target-memory.c (size_integer): Use SCALAR_INT_TYPE_MODE.
-	(size_logical): Likewise.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* trans-types.c (gfc_type_for_mode): Use is_a <scalar_int_mode>.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* trans-types.c (gfc_init_kinds): Use opt_scalar_float_mode
-	and FOR_EACH_MODE_IN_CLASS.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* target-memory.c (size_float): Use SCALAR_FLOAT_TYPE_MODE
-	instead of TYPE_MODE.
-
-2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
-	    Alan Hayward  <alan.hayward@arm.com>
-	    David Sherwood  <david.sherwood@arm.com>
-
-	* trans-types.c (gfc_init_kinds): Use machine_mode instead of int
-	for "mode".
-
-2017-08-28  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/81770
-	* expr.c (gfc_check_pointer_assign): Improve the check whether pointer
-	may outlive pointer target.
-
-2017-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/81974
-	* frontend-passes (inline_matumul_assign):  Explicity
-	set typespec for call to CONJG.
-
-2017-08-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/81296
-	* trans-io.c (get_dtio_proc): Add check for format label and set
-	formatted flag accordingly. Reorganize the code a little.
-
-2017-08-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/81116
-	* frontend-passes.c (realloc_string_callback): If expression is a
-	concatenation, also check for dependency.
-	(constant_string_length): Check for presence of symtree.
-
-2017-08-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* gfortran.texi: Document format of unformatted sequential files.
-
-2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* invoke.texi:  Actually commit change about -Ofast.
-
-2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/60355
-	* resolve.c (resolve_symbol): Adjust (and reformat)
-	comment.  Perform check if a BIND(C) is declared
-	at module level regardless of whether it is typed
-	implicitly or not.
-
-2017-08-10  Fritz Reese <fritzoreese@gmail.com>
-
-	* options.c (set_dec_flags): Only set legacy standards when value
-	is not zero.
-
-2017-08-10  Fritz Reese <fritzoreese@gmail.com>
-
-	* options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines
-	with -fdec when not set by user.
-
-2017-08-10  Fritz Reese <fritzoreese@gmail.com>
-
-	* decl.c (attr_seen): New static variable.
-	* decl.c (variable_decl): Match %FILL in STRUCTURE body.
-	* gfortran.texi: Update documentation.
-
-2017-08-08  Martin Liska  <mliska@suse.cz>
-
-	* trans-types.c: Include header files.
-
-2017-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/68829
-	PR fortran/81701
-	* options.c: Make -Ofast honor -fmax-stack-var-size.
-	* invoke.texi: Document change.
-
-2017-08-01  Thomas König  <tkoenig@gcc.gnu.org>
-
-	PR fortran/79312
-	* intrisic.c (gfc_convert_type_warn):  Only set typespec for
-	empty array constructors which don't have it already.
-
-2017-08-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/45435
-	* lang.opt (fc-prototypes): Add option.
-	* gfortran.h (gfc_typespec): Add interop_kind to struct.
-	(gfc_dump_c_prototypes): Add prototype.
-	* decl.c (gfc_match_kind_spec): Copy symbol used for kind to typespec.
-	* parse.c (gfc_parse_file): Call gfc_dump_prototypes.
-	* dump-parse-tree.c (gfc_dump_c_prototypes): New function.
-	(type_return): New enum.
-	(get_c_type_name): New function.
-	(write_decl): New function.
-	(write_type): New function.
-	(write_variable): New function.
-	(write_proc): New function.
-	(write_interop_decl): New function.
-	* invoke.texi: Document -fc-prototypes.
-
-2017-08-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/53542
-	* expr.c (gfc_check_init_expr): Use the renamed name.
-
-2017-07-31  Jakub Jelinek  <jakub@redhat.com>
-
-	* check.c (gfc_check_num_images): Fix a pasto.
-
-2017-07-29  Jakub Jelinek  <jakub@redhat.com>
-
-	* trans-decl.c (gfc_trans_use_stmts): Pass false as new argument to
-	the imported_module_or_decl debug hook.
-
-2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
-
-	* resolve.c (find_reachable_labels): Adjust.
-
-2017-07-25  Jakub Jelinek  <jakub@redhat.com>
-
-	* ioparm.def: Use 1U << 31 instead of 1 << 31 as flags2 mask.
-
-2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* dump-parse-tree.c (show_symbol):  Show binding label if present.
-
-2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
-	    Mikael Morin  <mikael@gcc.gnu.org>
-
-	PR fortran/66102
-	* fortran/trans-array.c (gfc_conv_resolve_dependencies):
-	Break if dependency has been found.
-
-2017-07-23  Alexander Monakov  <amonakov@ispras.ru>
-
-	* interface.c (pair_cmp): Fix gfc_symbol comparison.  Adjust comment.
-
-2017-07-18  Nathan Sidwell  <nathan@acm.org>
-
-	* trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE.
-
-2017-07-09  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/81341
-	* class.c (class_array_ref_detected): Remove a redundant
-	condition.
-
-2017-07-06  Harald Anlauf  <anlauf@gmx.de>
-
-	PR fortran/70071
-	* array.c (gfc_ref_dimen_size): Handle bad subscript triplets.
-
-2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/79866
-	* resolve.c (resolve_symbol): Fix typo.
-
-2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/79843
-	* symbol.c (check_conflict): Add missing "conflicts".
-
-2017-06-29  Cesar Philippidis  <cesar@codesourcery.com>
-
-	PR fortran/77765
-	* openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
-	comparing the routine name against it.
-
-2017-06-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/80164
-	* trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
-	as warning/error locus.
-
-2017-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/81160
-	* arith.c (wprecision_int_real): Set return value before
-	mpz_clear and then return after it.
-
-2017-06-15  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/80983
-	* trans-expr.c (gfc_conv_procedure_call): Deallocate the result of
-	scalar allocatable procedure-pointer components.
-
-2017-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/80988
-	* frontend-passes.c (traverse_io_block):  Also
-	check for variables occurring as indices multiple
-	time in a single implied DO loop.
-
-2017-06-05  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/70601
-	* trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
-	function results.
-
-2017-06-05  Nicolas Koenig  <koenigni@student.ethz.ch>
-
-	PR fortran/35339
-	* frontend-passes.c (traverse_io_block): New function.
-	(simplify_io_impl_do): New function.
-	(optimize_namespace): Invoke gfc_code_walker with
-	simplify_io_impl_do.
-
-2017-06-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/80918
-	* openmp.c (resolve_omp_clauses): Fix a typo.
-
-2017-05-30  David Malcolm  <dmalcolm@redhat.com>
-
-	* error.c (gfc_format_decoder): Update for new bool and
-	const char ** params.
-
-2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/37131
-	* frontend-passes.c (check_conjg_transpose_variable):
-	Add prototype.
-	(has_dimen_vector_ref):  Likewise
-	(matmul_temp_args):  New function. Add prototype.
-	(optimize_namespace):  Call matmul_temp_args.
-
-2017-05-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* frontend-passes.c (matmul_lhs_realloc):  Correct
-	allocation size for case A1B2.
-
-2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* dump-parse-tree.c (show_expr):  Also replace
-	with dumpfile for showing values for forgotten
-	case.
-
-2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	* dump-parse-tree.c (show_expr):  Replace stdout
-	with dumpfile for showing values.
-
-2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/66094
-	* frontend-passes.c (matrix_case):  Add A2TB2.
-	(inline_limit_check):  Handle MATMUL(TRANSPOSE(A),B)
-	(inline_matmul_assign):  Likewise.
-
-2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS",
-	"OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH".
-
-2017-05-22  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/80766
-	* resolve.c (resolve_fl_derived): Make sure that vtype symbols are
-	properly resolved.
-
-2017-05-19  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/80333
-	* trans-io.c (nml_get_addr_expr): If we are dealing with class
-	type data set tmp tree to get that address.
-	(transfer_namelist_element): Set the array spec to point to the
-	the class data.
-
-2017-05-19  David Malcolm  <dmalcolm@redhat.com>
-
-	PR fortran/79852
-	* bbt.c (insert): Remove trailing exclamation mark from message.
-	* decl.c (gfc_match_final_decl): Likewise.
-	* dump-parse-tree.c (show_expr): Likewise.
-	* module.c (gfc_use_module): Likewise.
-	* primary.c (build_actual_constructor): Likewise.
-	(gfc_convert_to_structure_constructor): Likewise.
-
-2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* gfortran.h (enum gfc_omp_default_sharing): Add
-	"OMP_DEFAULT_PRESENT".
-	* dump-parse-tree.c (show_omp_clauses): Handle it.
-	* openmp.c (gfc_match_omp_clauses): Likewise.
-	* trans-openmp.c (gfc_trans_omp_clauses): Likewise.
-
-2017-05-18  Fritz Reese <fritzoreese@gmail.com>
-
-	PR fortran/79968
-	* decl.c (match_attr_spec, gfc_match_automatic,
-	gfc_match_static, gfc_match_structure_decl): Unify diagnostic
-	errors regarding -fdec options.
-	* io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.
-
-2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/80741
-	* trans-io.c (transfer_namelist_element): Change check from
-	NULL_TREE to null_pointer_node.
-
-2017-05-17  Fritz Reese <fritzoreese@gmail.com>
-
-	PR fortran/80668
-	* expr.c (component_initializer): Don't generate initializers for
-	pointer components.
-	* invoke.texi (-finit-derived): Document.
-
-2017-05-16  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/80554
-	* decl.c (build_sym): In a submodule allow overriding of host
-	associated symbols from the ancestor module with a new
-	declaration.
-
-2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/80674
-	* trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.
-
-2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	PR fortran/80752
-	* expr.c (gfc_generate_initializer):  If type conversion fails,
-	check for error and return NULL.
-
-2017-05-14  Nicolas Koenig  <koenigni@student.ethz.ch>
-
-	PR fortran/80442
-	* array.c (gfc_ref_dimen_size): Simplify stride
-	expression
-	* data.c (gfc_advance_section): Simplify start,
-	end and stride expressions
-	(gfc_advance_section): Simplify start and end
-	expressions
-	(gfc_get_section_index): Simplify start expression
-
-2017-05-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	* io.c (gfc_resolve_dt): Fix returns to bool type.
-
-2017-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/78659
-	* io.c (dtio_procs_present): Add new function to check for DTIO
-	procedures relative to I/O statement READ or WRITE.
-	(gfc_resolve_dt): Add namelist checks using the new function.
-	* resolve.c (dtio_procs_present): Remove function and related
-	namelist checks. (resolve_fl_namelist): Add check specific to
-	Fortran 95 restriction on namelist objects.
-
-2017-05-11  Nathan Sidwell  <nathan@acm.org>
-
-	* trans-decl.c: Include dumpfile.h not tree-dump.h,
-
-2017-05-09  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/79311
-	* resolve.c (gfc_resolve_finalizers): Ensure that derived-type
-	components have a their finalizers resolved, also if the superordinate
-	type itself has a finalizer.
-
-2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/79930
-	* frontend-passes.c (matmul_to_var_expr): New function,
-	add prototype.
-	(matmul_to_var_code):  Likewise.
-	(optimize_namespace):  Use them from gfc_code_walker.
-
-2017-05-05  David Malcolm  <dmalcolm@redhat.com>
-
-	* cpp.c (cb_cpp_error): Replace report_diagnostic
-	with diagnostic_report_diagnostic.
-	* error.c (gfc_warning): Likewise.
-	(gfc_warning_now_at): Likewise.
-	(gfc_warning_now): Likewise.
-	(gfc_warning_internal): Likewise.
-	(gfc_error_now): Likewise.
-	(gfc_fatal_error): Likewise.
-	(gfc_error_opt): Likewise.
-	(gfc_internal_error): Likewise.
-
-2017-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/37131
-	* frontend-passes.c (inline_matmul_assign): Also check bounds
-	for allocatable lhs and matrix-vector-multiplication.
-
-2017-04-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/80484
-	* io.c (format_lex): Check for '/' and set token to FMT_SLASH.
-	(check_format): Move FMT_DT checking code to data_desc section.
-	* module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
-
-2017-04-22  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/80121
-	* trans-types.c (gfc_conv_procedure_call): Deallocate the components
-	of allocatable intent(out) arguments.
-
-2017-04-21  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/80392
-	* trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
-	building a derived type that includes a procedure pointer component
-	with a polymorphic result.
-
-2017-04-17  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/80440
-	* module.c (find_symtree_for_symbol): Delete.
-	(read_module): Remove the call to the above.
-
-2017-04-14  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/80361
-	* class.c (generate_finalization_wrapper): Give the finalization wrapper
-	the recursive attribute.
-
-2017-04-10  Nicolas Koenig  <koenigni@student.ethz.ch>
-	    Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/69498
-	* module.c (gfc_match_submodule): Add error
-	if function is called in the wrong state.
-
-2017-04-10  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/80046
-	* expr.c (gfc_check_pointer_assign): Check if procedure pointer
-	components in a pointer assignment need an explicit interface.
-
-2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
-
-	PR fortran/69498
-	* symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
-	everything before it.
-
-2017-03-28  Janus Weil  <janus@gcc.gnu.org>
-
-	PR fortran/78661
-	* trans-io.c (transfer_namelist_element): Perform a polymorphic call
-	to a DTIO procedure if necessary.
-
-2017-03-25  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/80156
-	PR fortran/79382
-	* decl.c (access_attr_decl): Remove the error for an absent
-	generic DTIO interface and ensure that symbol has the flavor
-	FL_PROCEDURE.
-
-2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/79838
-	* module.c: Remove trailing period.
-
-2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/79602
-	* decl.c: Replace '%s' with %qs.
-	* expr.c: Likewise.
-	* interface.c: Likewise.
-	* match.c: Likewise.
-	* primary.c: Likewise.
-	* resolve.c: Likewise.
-
-	PR fortran/79844
-	PR fortran/80011
-	* io.c: Remove trailing spaces.
-	* match.c: Likewise.
-	* openmp.c: Likewise.
-	* resolve.c: Likewise.
-	* trans-intrinsic.c: Likewise.
-
-	PR fortran/79853
-	* expr.c: Remove a double spaces.
-
-	PR fortran/79859
-	* primary.c: Remove spurious quotes around %qs.
-
-2017-03-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/80142
-	* frontend-passes.c (combine_array_constructor): Take
-	location of new expression from constructor expression instead
-	of constructor.
-
-2017-03-20  Nicolas Koenig  <koenigni@student.ethz.ch>
-
-	PR fortran/39239
-	* symbol.c (check_conflict): Report an error if an EQUIVALENCE
-	object is BIND(C)
-
-2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
-
-	PR fortran/69498
-	* decl.c (add_hidden_procptr_result): Fixed Refs count of the
-	created "ppr@" symbol.
-
-2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79676
-	* module.c (mio_symbol_attribute): Remove reset of the flag
-	'no_module_procedures'.
-	(check_for_module_procedures): New function. Move declaration
-	of 'no_module_procedures' to above it.
-	(gfc_dump_module): Traverse namespace calling new function.
-
-2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/71838
-	* symbol.c (check_conflict): A dummy procedure in a submodule,
-	module procedure is not an error.
-	(gfc_add_flavor): Ditto.
-
-2017-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/79841
-	* openmp.c (check_symbol_not_pointer): Adjust diagnostics.
-
-2017-03-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/80010
-	* parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
-	and ST_OACC_END_ATOMIC, instead of !ACC.
-	* trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
-	* openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
-	gfc_resolve_oacc_declare): Likewise.
-
-	PR fortran/79886
-	* error.c (gfc_format_decoder): Rename plus argument to set_locus,
-	remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
-	if not a Fortran specific spec.
-	* trans-io.c: Include options.h.
-	(gfc_build_st_parameter): Temporarily disable -Wpadded around layout
-	of artificial IO data structures.
-
-2017-03-15  David Malcolm  <dmalcolm@redhat.com>
-
-	PR fortran/79860
-	* resolve.c (resolve_contained_fntype): Make error messages more
-	amenable to translation.
-
-2017-03-06  Richard Biener  <rguenther@suse.de>
-
-	PR fortran/79894
-	* trans.c (gfc_add_modify_loc): Weaken assert.
-
-2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>,
-	    Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
-
-	* check.c (positive_check): Add new function checking constant for
-	being greater then zero.
-	(gfc_check_image_status): Add checking of image_status arguments.
-	(gfc_check_failed_or_stopped_images): Same but for failed_- and
-	stopped_images function.
-	* dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
-	* gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
-	(enum gfc_isym_id): Added new intrinsic symbols.
-	(enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
-	* gfortran.texi: Added description for the new API functions. Updated
-	coverage of gfortran of TS18508.
-	* intrinsic.c (add_functions): Added symbols to resolve new intrinsic
-	functions.
-	* intrinsic.h: Added prototypes.
-	* iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
-	intrinsic.
-	(gfc_resolve_image_status): Same for image_status.
-	(gfc_resolve_stopped_images): Same for stopped_images.
-	* libgfortran.h: Added prototypes.
-	* match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
-	(gfc_match_fail_image): Match a FAIL IMAGE statement.
-	* match.h: Added prototype.
-	* parse.c (decode_statement): Added matching for FAIL IMAGE.
-	(next_statement): Same.
-	(gfc_ascii_statement): Same.
-	* resolve.c: Same.
-	* simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
-	single a constant result can be returne.d
-	(gfc_simplify_image_status): For COARRAY=single the result is constant.
-	* st.c (gfc_free_statement): Added FAIL_IMAGE handling.
-	* trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
-	new intrinsics.
-	* trans-expr.c (gfc_conv_procedure_call): This is first time all
-	arguments of a function are optional, which is now handled here
-	correctly.
-	* trans-intrinsic.c (conv_intrinsic_image_status): Translate
-	image_status.
-	(gfc_conv_intrinsic_function): Add support for image_status.
-	(gfc_is_intrinsic_libcall): Add support for the remaining new
-	intrinsics.
-	* trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
-	* trans-stmt.h: Add the prototype for the above.
-	* trans.c (trans_code): Dispatch for fail_image.
-	* trans.h: Add the trees for the new intrinsics.
-
-2017-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
-
-	PR fortran/79841
-	* openmp.c (check_symbol_not_pointer): Adjust diagnostic.
-
-2017-02-28  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79739
-	* resolve.c (resolve_fl_procedure): Deal with the case where
-	'submodule_name' is NULL so that gfc_error does not ICE.
-	Reformat the error message to make it more consistent.
-
-2017-02-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
-	instead of just cond ? "..." : "...".
-	* scanner.c (gfc_next_char_literal): Likewise.
-	* match.c (match_exit_cycle): Likewise.
-
-2017-02-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/51119
-	* options.c (gfc_post_options): Set default limit for matmul
-	inlining to 30.
-	* invoke.texi: Document change.
-
-2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/79601
-	* interface.c (check_dtio_arg_TKR_intent): Change 'intent'
-	to 'INTENT'.
-
-2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
-
-	PR fortran/79597
-	* interface.c (gfc_match_end_interface): Remove spurious comma
-	and space, replace 'got %s' with 'got %qs'.
-
-2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79599
-	* interface.c (check_dtio_arg_TKR_intent): Supply 'must'
-	missing from error message.
-
-2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79523
-	* interface.c (gfc_find_typebound_dtio_proc): Guard test for
-	flavor attribute by checking that symbol is resolved.
-
-2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79382
-	* decl.c (access_attr_decl): Test for presence of generic DTIO
-	interface and emit error if not present.
-
-2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79434
-	* parse.c (check_component, parse_union): Whitespace.
-	(set_syms_host_assoc): For a derived type, check if the module
-	in which it was declared is one of the submodule ancestors. If
-	it is, make the components public. Otherwise, reset attribute
-	'host_assoc' and set 'use-assoc' so that encapsulation is
-	preserved.
-
-2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79447
-	* decl.c (gfc_set_constant_character_len): Whitespace.
-	(gfc_match_end): Catch case where a procedure is contained in
-	a module procedure and ensure that 'end procedure' is the
-	correct termination.
-
-2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
-
-	PR fortran/79402
-	* resolve.c (fixup_unique_dummy): New function.
-	(gfc_resolve_expr): Call it for dummy variables with a unique
-	symtree name.
-
-2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/79229
-	* trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
-	compiling with -fcheck=mem to check the pointer and not the data.
-
-2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/79335
-	* trans-array.c (duplicate_allocatable_coarray): Ensure attributes
-	passed are properly initialized.
-	(structure_alloc_comps): Same.
-	* trans-expr.c (gfc_trans_structure_assign): Same.
-
-2017-02-13  Jakub Jelinek  <jakub@redhat.com>
-
-	* trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
-
-2017-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
-
-	PR fortran/65542
-	* intrinsic.c (gfc_intrinsic_func_interface):  Return an error
-	for -std=f95 for disallowed transformational functions in
-	initialization expressions.
-
-2017-02-09  Cesar Philippidis  <cesar@codesourcery.com>
-	    Joseph Myers  <joseph@codesourcery.com>
-
-	* openmp.c (resolve_omp_clauses): Error on directives
-	containing both tile and collapse clauses.
-	(resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
-	* trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
-	collapsed loops.
-
-2017-02-07  Steven G. Kargl  <kargl@gcc.gnu.org>
-
-	* trans-types.c	(gfc_get_int_kind_from_width_isofortranen):  Choose
-	REAL type with the widest precision if two (or more) have the same
-	storage size.
-
-2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/79344
-	* trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
-	the temporary, when a new object was created for the temporary.  Not
-	when it is just an alias to an existing object.
-
-2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/79335
-	* trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
-	attributes before using them.
-
-2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/78958
-	* trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
-	component of unlimited polymorphic objects when source-allocating.
-
-2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/79230
-	* trans-array.c (structure_alloc_comps): Ignore pointer components when
-	freeing structures.
-
-2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
-
-	PR lto/79061
-	* f95-lang.c (gfc_create_decls): Include stringpool.h.
-	Pass main_input_filename to build_translation_unit_decl.
-
-2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
-
-	* arith.c (arith_power):  If simplifying integer power expression
-	to zero, warn if -Winteger-division is given.
-
-2017-01-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/79154
-	* parse.c (matchs, matcho, matchds, matchdo): Replace return st;
-	with { ret = st; goto finish; }.
-	(decode_omp_directive): Allow declare simd, declare target and
-	simd directives in PURE/ELEMENTAL procedures.  Only call
-	gfc_unset_implicit_pure on successful match of other procedures.
-
-2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* gfc-internals.texi (Symbol Versioning): Change references
-	to www.akkadia.org to https.
-
-2017-01-21  Jakub Jelinek  <jakub@redhat.com>
-
-	* gfortran.h (gfc_extract_int): Change return type to bool.  Add
-	int argument with = 0.
-	* decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
-	1 as new last argument to it, don't emit gfc_error.
-	(match_char_kind): Likewise.
-	(gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
-	gfc_get_string (x).
-	(gfc_match_derived_decl, match_binding_attributes): Likewise.
-	(gfc_match_structure_decl): Don't sprintf back to name, call
-	get_struct_decl directly with gfc_dt_upper_string (name) result.
-	* trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
-	instead of gfc_get_string (x).
-	* module.c (gfc_dt_lower_string, gfc_dt_upper_string,
-	gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
-	mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
-	load_omp_udrs, load_needed, read_module, dump_module,
-	create_intrinsic_function, import_iso_c_binding_module,
-	create_int_parameter, create_int_parameter_array, create_derived_type,
-	use_iso_fortran_env_module): Likewise.
-	* error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
-	pp_verbatim (context->printer, "%s", x) instead of
-	pp_verbatim (context->printer, x).
-	* match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
-	1 as new last argument to it, don't emit gfc_error.
-	(gfc_match_small_int_expr): Likewise.
-	* iresolve.c (gfc_get_string): Optimize format "%s" case.
-	(resolve_bound): Use gfc_get_string ("%s", x) instead of
-	gfc_get_string (x).
-	(resolve_transformational): Formatting fix.
-	(gfc_resolve_char_achar): Change name argument to bool is_achar,
-	use a single format string and if is_achar add "a" before "char".
-	(gfc_resolve_achar, gfc_resolve_char): Adjust callers.
-	* expr.c (gfc_extract_int): Change return type to bool, return true
-	if some error occurred.  Add REPORT_ERROR argument, if non-zero
-	call either gfc_error or gfc_error_now depending on its sign.
-	* arith.c (arith_power): Adjust gfc_extract_int caller.
-	* symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
-	of gfc_get_string (x).
-	(gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
-	gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
-	* openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
-	-1 as new last argument to it, don't emit gfc_error_now.
-	(gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
-	instead of gfc_get_string (x).
-	* check.c (kind_check): Adjust gfc_extract_int caller.
-	* intrinsic.c (add_sym, find_sym, make_alias): Use
-	gfc_get_string ("%s", x) instead of gfc_get_string (x).
-	* simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
-	gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
-	gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
-	Adjust gfc_extract_int callers.
-	* trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
-	instead of gfc_get_string (x).
-	* matchexp.c (expression_syntax): Add const.
-	* primary.c (match_kind_param, match_hollerith_constant,
-	match_string_constant): Adjust gfc_extract_int callers.
-	(match_keyword_arg): Use gfc_get_string ("%s", x) instead of
-	gfc_get_string (x).
-	* frontend-passes.c (optimize_minmaxloc): Likewise.
-
-2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/70696
-	* trans-decl.c (gfc_build_qualified_array): Add static decl to parent
-	function only, when the decl-context is not the translation unit.
-
-2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
-
-	PR fortran/50069
-	PR fortran/55086
-	* trans-expr.c (gfc_conv_variable): Don't treat temporary variables
-	as function arguments.
-	* trans-stmt.c (forall_make_variable_temp,
-	generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
-	gfc_trans_forall_1): Don't adjust offset of forall temporary
-	for array sections, make forall temporaries work for substring
-	expressions, improve test coverage by adding -ftest-forall-temp
-	option to request usage of temporary array in forall code.
-	* lang.opt: Add -ftest-forall-temp option.
-	* invoke.texi: Add -ftest-forall-temp option.
-
-2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* primary.c (caf_variable_attr): Improve figuring whether the current
-	component is the last one refed.
-	* trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
-	when allocating pointer or allocatable components.
-
-2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	* gfortran.texi: Add missing parameters to caf-API functions.  Correct
-	typos and clarify some descriptions.
-
-2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/70696
-	Missed some cases, here they are:
-	* trans-decl.c (gfc_build_qualified_array): Add static tokens to the
-	parent function's scope.
-	* trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
-	unnecessary assert.
-
-2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/70697
-	* resolve.c (resolve_lock_unlock_event): Resolve the expression for
-	event's until_count.
-
-2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/70696
-	* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
-	is valid before accessing it.
-
-2017-01-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR translation/79019
-	PR translation/79020
-	* decl.c (attr_decl1): Fix spelling in translatable string.
-	* intrinsic.texi: Fix spelling - invokation -> invocation.
-	* lang.opt (faggressive-function-elimination, gfc_convert): Fix
-	typos in descriptions.
-	* openmp.c (resolve_omp_clauses): Add missing whitespace to
-	translatable strings.
-
-2017-01-08  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/78913
-	PR middle-end/77708
-	* trans-common.c (build_equiv_decl): Increase buffer size to avoid
-	truncation for any argument.
-	* trans-types.c (gfc_build_logical_type): Same.
-
-2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
-
-	PR fortran/78781
-	PR fortran/78935
-	* expr.c (gfc_check_pointer_assign): Return the same error message for
-	rewritten coarray pointer assignments like for plain ones.
-	* gfortran.h: Change prototype.
-	* primary.c (caf_variable_attr): Set attributes used ones only only
-	ones.  Add setting of pointer_comp attribute.
-	(gfc_caf_attr): Add setting of pointer_comp attribute.
-	* trans-array.c (gfc_array_allocate): Add flag that the component to
-	allocate is not an ultimate coarray component.  Add allocation of
-	pointer arrays.
-	(structure_alloc_comps): Extend nullify to treat pointer components in
-	coarrays correctly.  Restructure nullify to remove redundant code.
-	(gfc_nullify_alloc_comp): Allow setting caf_mode flags.
-	* trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
-	* trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
-	derived type coarrays with pointer components.
-	* trans-expr.c (gfc_trans_structure_assign): Also treat pointer
-	components.
-	(trans_caf_token_assign): Handle assignment of token of scalar pointer
-	components.
-	(gfc_trans_pointer_assignment): Call above routine.
-	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
-	components.
-	(gfc_conv_intrinsic_caf_get): Likewise.
-	(conv_caf_send): Likewise.
-	* trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
-	a coarray pre-register the tokens.
-	(gfc_trans_deallocate): Simply determining the coarray type (scalar or
-	array) and deregistering it correctly.
-	* trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
-	actual codim to allow lookup of array types in the cache.
-	(gfc_build_array_type): Likewise.
-	(gfc_get_array_descriptor_base): Likewise.
-	(gfc_get_array_type_bounds): Likewise.
-	(gfc_get_derived_type): Likewise.
-	* trans-types.h: Likewise.
-	* trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
-	of coarray components.
-	(gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
-	instead of caf_deregister.
-
-2017-01-06  Jakub Jelinek  <jakub@redhat.com>
-
-	* simplify.c (simplify_transformation_to_array): Use
-	GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
-	#pragma GCC diagnostic {push,ignored,pop}.
-
-2017-01-06  Alexandre Oliva <aoliva@redhat.com>
-
-	* simplify.c (simplify_transformation_to_array): Silence
-	array bounds warning.  Fix whitespace.
-
-2017-01-04  Alexandre Oliva <aoliva@redhat.com>
-
-	* module.c (load_omp_udrs): Initialize name.
-
-2017-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	PR fortran/78534
-	* trans-expr.c (gfc_trans_string_copy): Rework string copy
-	algorithm to avoid -Wstringop-overflow warning.
-
-2017-01-01  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.
 
-Copyright (C) 2017 Free Software Foundation, Inc.
+Copyright (C) 2018 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-2017 b/gcc/fortran/ChangeLog-2017
new file mode 100644
index 000000000000..678ffc684694
--- /dev/null
+++ b/gcc/fortran/ChangeLog-2017
@@ -0,0 +1,2295 @@
+2017-12-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR Fortran/83548
+	* match.c (gfc_match_type_spec): Check for LOGICAL conflict in
+	type-spec versus LOGICAL intrinsic subprogram.
+
+2017-12-28  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	PR fortran/83344
+	* resolve.c (resolve_assoc_var): Don't set the constant value
+	unless the target is a constant expression.
+
+2017-12-28  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/83567
+	* trans-expr.c (gfc_trans_assignment_1): Free parameterized
+	components of the lhs if dealloc is set.
+	*trans-decl.c (gfc_trans_deferred_vars): Do not free the
+	parameterized components of function results on leaving scope.
+
+2017_12_27  Louis Krupp  <louis.krupp@zoho.com>
+
+	PR fortran/83092
+	* expr.c (gfc_apply_init): Check that typespec has character type
+	before using character length field.
+
+2017-12-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/83540
+	* frontend-passes.c (create_var): If an array to be created
+	has unknown size and -fno-realloc-lhs is in effect,
+	return NULL.
+
+2017-12-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+	* array.c (gfc_copy_iterator): Copy unroll field.
+	* decl.c (directive_unroll): New global variable.
+	(gfc_match_gcc_unroll): New function.
+	* gfortran.h (gfc_iterator]): Add unroll field.
+	(directive_unroll): Declare:
+	* match.c (gfc_match_do): Use memset to initialize the iterator.
+	* match.h (gfc_match_gcc_unroll): New prototype.
+	* parse.c (decode_gcc_attribute): Match "unroll".
+	(parse_do_block): Set iterator's unroll.
+	(parse_executable): Diagnose misplaced unroll directive.
+	* trans-stmt.c (gfc_trans_simple_do) Annotate loop condition with
+	annot_expr_unroll_kind.
+	(gfc_trans_do): Likewise.
+	* gfortran.texi (GNU Fortran Compiler Directives): Split section into
+	subections 'ATTRIBUTES directive' and 'UNROLL directive'.
+
+2017-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* scanner.c (preprocessor_line): Replace Yoda conditions with typical
+	order conditions.
+	* dependency.c (check_section_vs_section): Likewise.
+	* trans-array.c (gfc_conv_expr_descriptor): Likewise.
+
+2017-12-17  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	* decl.c (gfc_match_implicit_none): Use GFC_STD_F2018 instead of
+	GFC_STD_F2015.
+	* error.c (gfc_notify_std): Add GFC_STD_F2018{_DEL,_OBS} to
+	switch.
+	* gfortran.texi: Document -std=f2018.
+	* interface.c (compare_parameter): Fix comment.
+	* invoke.texi: Document -std=f2018.
+	* lang.opt: Add -std=f2018 argumnet.
+	* libgfortran.h (GFC_STD_F2015): Rename to GFC_STD_F0218, use
+	separate flag bit.
+	(GFC_STD_F2018_DEL): New macro.
+	(GFC_STD_F2018_OBS): Likewise.
+	* match.c (gfc_match_stopcode): Use GFC_STD_F2018.
+	* options.c (set_default_std_flags): Add F2018 flags to defaults.
+	(gfc_handle_option): Set options for -std=f2018.
+
+2017-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* f95-lang.c (gfc_attribute_table): Swap affects_type_identity
+	and handler fields, adjust comments.
+
+2017-12-14  Qing Zhao  <qing.zhao@oracle.com>
+
+	PR middle_end/79538
+	* class.c (gfc_build_class_symbol): Replace call to
+	sprintf with xasprintf to avoid format-overflow warning.
+	(generate_finalization_wrapper): Likewise.
+	(gfc_find_derived_vtab): Likewise.
+	(find_intrinsic_vtab): Likewise.
+
+2017-12-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* intrinsic.texi (MAXLOC): Remove double description
+	of return value.
+	(MINLOC): Likewise.
+
+2017-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* intrinsic.texi (MAXLOC): Update documentation for
+	character arrays and KIND argument.
+	(MINLOC): Likewise.
+
+2017-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/45689
+	* simplify.c (min_max_choose): Add prototype.
+	(gfc_count): Format correctly.
+	(simplify_transformation): Pass array argument to init_result_expr.
+	(gfc_simplify_minval_maxval): Remove.
+	(gfc_min): New function.
+	(gfc_simplify_minval): Call simplify_transformation.
+	(gfc_max): New function.
+	(gfc_simplify_maxval): Call simplify_transformation.
+
+2017-12-10  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/53478
+	* gfortran.h (gfc_find_case_gsymbol): New prototype.
+	* symbol.c (gfc_find_case_gsymbol): New procedure, case
+	insensistive version of gfc_find_gsymbol.
+	* resolve.c (resolve_common_blocks): Use it.
+	Replace %s with %qs where needed.
+
+2017-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/82934
+	PR fortran/83318
+	* match.c (gfc_match_allocate): Enforce F2008:C631.
+
+2017-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/83316
+	* arith.c (gfc_character2character): New function.
+	* arith.h: Add prototype.
+	* simplify.c (gfc_convert_constant): Handle character type.
+
+2017-12-07  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81544
+	* f95-lang.c (gfc_attribute_table): Initialize new member of struct
+	attribute_spec.
+
+2017-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/36313
+	* check.c (gfc_check_minval_maxval): Use
+	int_orLreal_or_char_check_f2003 for array argument.
+	* iresolve.c (gfc_resolve_maxval): Insert number in
+	function name for character arguments.
+	(gfc_resolve_minval): Likewise.
+	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc):
+	Fix comment.
+	(gfc_conv_intrinsic_minmaxval): Resort arguments and call library
+	function if dealing with a character function.
+
+2017-12-01  Qing Zhao  <qing.zhao@oracle.com>
+
+	* decl.c (gfc_get_pdt_instance): Adjust the call to sprintf
+	to avoid the same buffer being both source and destination.
+
+2017-12-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/83224
+	* frontend-passes.c (create_var): Also handle
+	character arrays, handling deferred lenghts.
+
+2017-12-01  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82605
+	* resolve.c (get_pdt_constructor): Initialize 'cons' to NULL.
+	(resolve_pdt): Correct typo in prior comment. Emit an error if
+	any parameters are deferred and the object is neither pointer
+	nor allocatable.
+
+	PR fortran/82606
+	* decl.c (gfc_get_pdt_instance): Continue if the parameter sym
+	is not present or has no name. Select the parameter by name
+	of component, rather than component order. Remove all the other
+	manipulations of 'tail' when building the pdt instance.
+	(gfc_match_formal_arglist): Emit and error if a star is picked
+	up in a PDT decl parameter list.
+
+	PR fortran/82622
+	* trans-array.c (set_loop_bounds): If a GFC_SS_COMPONENT has an
+	info->end, use it rather than falling through to
+	gcc_unreachable.
+	(structure_alloc_comps): Check that param->name is non-null
+	before comparing with the component name.
+	* trans-decl.c (gfc_get_symbol_decl): Do not use the static
+	initializer for PDT symbols.
+	(gfc_init_default_dt): Do nothing for PDT symbols.
+	* trans-io.c (transfer_array_component): Parameterized array
+	components use the descriptor ubound since the shape is not
+	available.
+
+	PR fortran/82719
+	PR fortran/82720
+	* trans-expr.c (gfc_conv_component_ref): Do not use the charlen
+	backend_decl of pdt strings. Use the hidden component instead.
+	* trans-io.c (transfer_expr): Do not do IO on "hidden" string
+	lengths. Use the hidden string length for pdt string transfers
+	by adding it to the se structure. When finished nullify the
+	se string length.
+
+	PR fortran/82866
+	* decl.c (gfc_match_formal_arglist): If a name is not found or
+	star is found, while reading a type parameter list, emit an
+	immediate error.
+	(gfc_match_derived_decl): On reading a PDT parameter list, on
+	failure to match call gfc_error_recovery.
+
+	PR fortran/82978
+	* decl.c (build_struct): Character kind defaults to 1, so use
+	kind_expr whatever is the set value.
+	(gfc_get_pdt_instance): Ditto.
+	* trans-array.c (structure_alloc_comps): Copy the expression
+	for the PDT string length before parameter substitution. Use
+	this expression for evaluation and free it after use.
+
+2017-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/79153
+	* match.c (gfc_match): Add FALLTHRU comment to avoid
+	-Wimplicit-fallthrough warning.
+
+2017-12-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/83224
+	* frontend-passes.c (realloc_string_callback): Handle
+	case for which the RHS is an array expression.
+
+2017-11-28  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	PR fortran/53796
+	* gfortran.texi: Remove mentions of GFORTRAN_DEFAULT_RECL.
+
+2017-11-28  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/83021
+	* resolve.c (resolve_component): Only escape for use assciated
+	vtypes if the current namespace has no proc_name and is most
+	particularly block data.
+
+2017-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
+	using fold_build2_loc instead of fold_build3_loc.
+	* trans-io.c (io_result): Likewise.
+	* trans-stmt.c (gfc_trans_integer_select, gfc_trans_character_select):
+	Likewise.
+
+2017-11-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/81304
+	* trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set
+	attr.implicit_type in intrinsic_sym to avoid undesirable warning.
+
+2017-11-23  Dirk Broemmel  <d.broemmel@fz-juelich.de>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/81841
+	* parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
+	BLOCK DATA.
+
+2017-11-23  Mike Stump  <mikestump@comcast.net>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	* trans-stmt.c (gfc_trans_forall_loop): Pass 3rd operand to
+	ANNOTATE_EXPR.
+
+2017-11-23  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82814
+	* trans-types.c (gfc_sym_type): If a character function result
+	is missing the charlen backend_decl, use the one from the name-
+	space procedure symbol, if present.
+
+2017-11-22  David Malcolm  <dmalcolm@redhat.com>
+
+	PR c++/62170
+	* error.c (gfc_notify_std): Convert "quoted" param from bool to
+	bool *.
+
+2017-11-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/36313
+	* check.c (int_or_real_or_char_check_f2003): New function.
+	* iresolve.c (gfc_resolve_maxloc): Add number "2" for
+	character arguments and rank-zero return value.
+	(gfc_resolve_minloc): Likewise.
+	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Handle case of
+	character arguments and rank-zero return value by removing
+	unneeded arguments and calling the library function.
+
+2017-11-22  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79072
+	* trans-stmt.c (trans_associate_var): Weaken the over strong
+	condition for using the fake result decl.
+
+2017-11-20  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79072
+	* trans-expr.c (trans_class_vptr_len_assignment): Set from_len
+	if the temporary is unlimited polymorphic.
+	* trans-stmt.c (trans_associate_var): Use the fake result decl
+	to obtain the 'len' field from an explicit function result when
+	in that function scope.
+
+2017-11-19  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78990
+	* expr.c (gfc_is_class_array_function): Renamed from
+	'gfc_is_alloc_class_array_function' and modified to return true
+	for pointers as well as allocatable results.
+	* gfortran.h : Change of name for prototype of above function.
+	* trans-array.c (gfc_add_loop_ss_code): Force finalization of
+	class array results.
+	(build_class_array_ref): Change assertion into a condition.
+	(build_class_array_ref): Set the se class_vptr for class array
+	function results.
+	(gfc_walk_function_expr): Reference gfc_is_class_array_function
+	as above.
+	* trans-decl.c (get_proc_result): Move it up before
+	gfc_trans_deferred_vars.
+	(gfc_trans_deferred_vars): Nullify explicit return class arrays
+	on entry.
+	* trans-expr.c (gfc_conv_class_to_class): Allow conversion of
+	class array functions that have an se class_vptr and use it
+	for the result vptr.
+	(gfc_conv_subref_array_arg): Rename reference to the above
+	function.
+	(gfc_conv_procedure_call): Ditto. Add the se pre block to the
+	loop pre block before the function is evaluated. Do not
+	finalize class pointer results.
+	(arrayfunc_assign_needs_temporary, gfc_trans_assignment_1) More
+	renamed references.
+	* trans-intrinsic.c (gfc_conv_intrinsic_size): Ditto.
+
+2017-11-18  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	PR fortran/83036
+	* ioparm.def (IOPARM): Make nextrec a pintio.
+
+2017-11-18  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	PR fortran/44292
+	* ioparm.def (IOPARM): Make recl_in intio, and recl_out pintio.
+
+2017-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/83012
+	* expr.c (gfc_is_simply_contiguous): If a function call through a
+	class variable is done through a reference, check the function's
+	interface.
+
+2017-11-17  Richard Biener  <rguenther@suse.de>
+
+	PR fortran/83017
+	* trans-stmt.c (gfc_trans_forall_loop): Annotate DO CONCURRENT
+	loops with annot_expr_parallel_kind instead of just
+	annot_expr_ivdep_kind.
+
+2017-11-15  Martin Liska  <mliska@suse.cz>
+
+	* options.c (gfc_post_options):
+	Do not set default value of warn_return_type.
+	* trans-decl.c (gfc_trans_deferred_vars):
+	Compare warn_return_type for greater than zero.
+	(generate_local_decl): Likewise
+	(gfc_generate_function_code): Likewise.
+
+2017-11-13  Fritz Reese <fritzoreese@gmail.com>
+
+	PR fortran/78240
+	* decl.c (match_clist_expr): Replace gcc_assert with proper
+	handling of bad result from spec_size().
+	* resolve.c (check_data_variable): Avoid NULL dereference when passing
+	locus to gfc_error.
+
+2017-11-11  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/82932
+	* resolve.c (update_compcall_arglist): Improve error recovery,
+	remove a gcc_assert.
+
+2017-11-10  Fritz Reese <fritzoreese@gmail.com>
+
+	PR fortran/82886
+	* gfortran.h (gfc_build_init_expr): New prototype.
+	* invoke.texi (finit-derived): Update documentation.
+	* expr.c (gfc_build_init_expr): New, from gfc_build_default_init_expr.
+	(gfc_build_default_init_expr): Redirect to gfc_build_init_expr(,,false)
+	(component_initializer): Force building initializers using
+	gfc_build_init_expr(,,true).
+
+2017-11-10  Martin Sebor  <msebor@redhat.com>
+
+	PR c/81117
+	* gcc/fortran/decl.c (build_sym): Use strcpy instead of strncpy.
+
+2017-11-10  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82934
+	* trans-stmt.c (gfc_trans_allocate): Remove the gcc_assert on
+	null string length for assumed length typespec and set
+	expr3_esize to NULL_TREE;
+
+2017-11-09  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78619
+	* check.c (same_type_check): Introduce a new argument 'assoc'
+	with default value false. If this is true, use the symbol type
+	spec of BT_PROCEDURE expressions.
+	(gfc_check_associated): Set 'assoc' true in the call to
+	'same_type_check'.
+
+2017-11-09  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/78814
+	* interface.c (symbol_rank): Check for NULL pointer.
+
+2017-11-08  Steven G. Kargl  <kargl@kgcc.gnu.org>
+
+	PR Fortran/82841
+	* simplify.c(gfc_simplify_transfer): Do not dereference a NULL pointer.
+	Unwrap a short line.
+
+2017-11-08  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/82884
+	* arith.c (gfc_hollerith2character): Clear pad.
+
+2017-11-08  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	PR 82869
+	* convert.c (truthvalue_conversion): Use logical_type_node.
+	* trans-array.c (gfc_trans_allocate_array_storage): Likewise.
+	(gfc_trans_create_temp_array): Likewise.
+	(gfc_trans_array_ctor_element): Likewise.
+	(gfc_trans_array_constructor_value): Likewise.
+	(trans_array_constructor): Likewise.
+	(trans_array_bound_check): Likewise.
+	(gfc_conv_array_ref): Likewise.
+	(gfc_trans_scalarized_loop_end): Likewise.
+	(gfc_conv_array_extent_dim): Likewise.
+	(gfc_array_init_size): Likewise.
+	(gfc_array_allocate): Likewise.
+	(gfc_trans_array_bounds): Likewise.
+	(gfc_trans_dummy_array_bias): Likewise.
+	(gfc_conv_array_parameter): Likewise.
+	(duplicate_allocatable): Likewise.
+	(duplicate_allocatable_coarray): Likewise.
+	(structure_alloc_comps): Likewise
+	(get_std_lbound): Likewise
+	(gfc_alloc_allocatable_for_assignment): Likewise
+	* trans-decl.c (add_argument_checking): Likewise
+	(gfc_generate_function_code): Likewise
+	* trans-expr.c (gfc_copy_class_to_class): Likewise
+	(gfc_trans_class_array_init_assign): Likewise
+	(gfc_trans_class_init_assign): Likewise
+	(gfc_conv_expr_present): Likewise
+	(gfc_conv_substring): Likewise
+	(gfc_conv_cst_int_power): Likewise
+	(gfc_conv_expr_op): Likewise
+	(gfc_conv_procedure_call): Likewise
+	(fill_with_spaces): Likewise
+	(gfc_trans_string_copy): Likewise
+	(gfc_trans_alloc_subarray_assign): Likewise
+	(gfc_trans_pointer_assignment): Likewise
+	(gfc_trans_scalar_assign): Likewise
+	(fcncall_realloc_result): Likewise
+	(alloc_scalar_allocatable_for_assignment): Likewise
+	(trans_class_assignment): Likewise
+	(gfc_trans_assignment_1): Likewise
+	* trans-intrinsic.c (build_fixbound_expr): Likewise
+	(gfc_conv_intrinsic_aint): Likewise
+	(gfc_trans_same_strlen_check): Likewise
+	(conv_caf_send): Likewise
+	(trans_this_image): Likewise
+	(conv_intrinsic_image_status): Likewise
+	(trans_image_index): Likewise
+	(gfc_conv_intrinsic_bound): Likewise
+	(conv_intrinsic_cobound): Likewise
+	(gfc_conv_intrinsic_mod): Likewise
+	(gfc_conv_intrinsic_dshift): Likewise
+	(gfc_conv_intrinsic_dim): Likewise
+	(gfc_conv_intrinsic_sign): Likewise
+	(gfc_conv_intrinsic_ctime): Likewise
+	(gfc_conv_intrinsic_fdate): Likewise
+	(gfc_conv_intrinsic_ttynam): Likewise
+	(gfc_conv_intrinsic_minmax): Likewise
+	(gfc_conv_intrinsic_minmax_char): Likewise
+	(gfc_conv_intrinsic_anyall): Likewise
+	(gfc_conv_intrinsic_arith): Likewise
+	(gfc_conv_intrinsic_minmaxloc): Likewise
+	(gfc_conv_intrinsic_minmaxval): Likewise
+	(gfc_conv_intrinsic_btest): Likewise
+	(gfc_conv_intrinsic_bitcomp): Likewise
+	(gfc_conv_intrinsic_shift): Likewise
+	(gfc_conv_intrinsic_ishft): Likewise
+	(gfc_conv_intrinsic_ishftc): Likewise
+	(gfc_conv_intrinsic_leadz): Likewise
+	(gfc_conv_intrinsic_trailz): Likewise
+	(gfc_conv_intrinsic_mask): Likewise
+	(gfc_conv_intrinsic_spacing): Likewise
+	(gfc_conv_intrinsic_rrspacing): Likewise
+	(gfc_conv_intrinsic_size): Likewise
+	(gfc_conv_intrinsic_sizeof): Likewise
+	(gfc_conv_intrinsic_transfer): Likewise
+	(gfc_conv_allocated): Likewise
+	(gfc_conv_associated): Likewise
+	(gfc_conv_same_type_as): Likewise
+	(gfc_conv_intrinsic_trim): Likewise
+	(gfc_conv_intrinsic_repeat): Likewise
+	(conv_isocbinding_function): Likewise
+	(conv_intrinsic_ieee_is_normal): Likewise
+	(conv_intrinsic_ieee_is_negative): Likewise
+	(conv_intrinsic_ieee_copy_sign): Likewise
+	(conv_intrinsic_move_alloc): Likewise
+	* trans-io.c (set_parameter_value_chk): Likewise
+	(set_parameter_value_inquire): Likewise
+	(set_string): Likewise
+	* trans-openmp.c (gfc_walk_alloc_comps): Likewise
+	(gfc_omp_clause_default_ctor): Likewise
+	(gfc_omp_clause_copy_ctor): Likewise
+	(gfc_omp_clause_assign_op): Likewise
+	(gfc_omp_clause_dtor): Likewise
+	(gfc_omp_finish_clause): Likewise
+	(gfc_trans_omp_clauses): Likewise
+	(gfc_trans_omp_do): Likewise
+	* trans-stmt.c (gfc_trans_goto): Likewise
+	(gfc_trans_sync): Likewise
+	(gfc_trans_arithmetic_if): Likewise
+	(gfc_trans_simple_do): Likewise
+	(gfc_trans_do): Likewise
+	(gfc_trans_forall_loop): Likewise
+	(gfc_trans_where_2): Likewise
+	(gfc_trans_allocate): Likewise
+	(gfc_trans_deallocate): Likewise
+	* trans-types.c (gfc_init_types): Initialize logical_type_node and
+	their true/false trees.
+	(gfc_get_array_descr_info): Use logical_type_node.
+	* trans-types.h (logical_type_node): New tree.
+	(logical_true_node): Likewise.
+	(logical_false_node): Likewise.
+	* trans.c (gfc_trans_runtime_check): Use logical_type_node.
+	(gfc_call_malloc): Likewise
+	(gfc_allocate_using_malloc): Likewise
+	(gfc_allocate_allocatable): Likewise
+	(gfc_add_comp_finalizer_call): Likewise
+	(gfc_add_finalizer_call): Likewise
+	(gfc_deallocate_with_status): Likewise
+	(gfc_deallocate_scalar_with_status): Likewise
+	(gfc_call_realloc): Likewise
+
+2017-11-06  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/69739
+	* trans-expr.c (gfc_map_intrinsic_function): Return false for
+	bounds without the DIM argument instead of ICEing.
+
+2017-11-06  Martin Liska  <mliska@suse.cz>
+
+	PR middle-end/82404
+	* options.c (gfc_post_options): Set default value of
+	-Wreturn-type to false.
+
+2017-11-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/82471
+	* lang.opt (ffrontend-loop-interchange): New option.
+	(Wfrontend-loop-interchange): New option.
+	* options.c (gfc_post_options): Handle ffrontend-loop-interchange.
+	* frontend-passes.c (gfc_run_passes): Run
+	optimize_namespace if flag_frontend_optimize or
+	flag_frontend_loop_interchange are set.
+	(optimize_namespace): Run functions according to flags set;
+	also call index_interchange.
+	(ind_type): New function.
+	(has_var): New function.
+	(index_cost): New function.
+	(loop_comp): New function.
+
+2017-11-05  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/78641
+	* resolve.c (resolve_ordinary_assign): Do not add the _data
+	component for class valued array constructors being assigned
+	to derived type arrays.
+	* trans-array.c (gfc_trans_array_ctor_element): Take the _data
+	of class valued elements for assignment to derived type arrays.
+
+2017-11-05  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/81447
+	PR fortran/82783
+	* resolve.c (resolve_component): There is no need to resolve
+	the components of a use associated vtype.
+	(resolve_fl_derived): Unconditionally generate a vtable for any
+	module derived type, as long as the standard is F2003 or later
+	and it is not a vtype or a PDT template.
+
+2017-11-05  Tom de Vries  <tom@codesourcery.com>
+
+	PR other/82784
+	* parse.c (match, matcha, matchs, matcho, matchds, matchdo): Remove
+	semicolon after "do {} while (0)".
+
+2017-11-04  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* trans-expr.c (gfc_trans_assignment_1): Character kind conversion may
+	create a loop variant temporary, too.
+	* trans-intrinsic.c (conv_caf_send): Treat char arrays as arrays and
+	not as scalars.
+	* trans.c (get_array_span): Take the character kind into account when
+	doing pointer arithmetic.
+
+2017-11-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/29600
+	* gfortran.h (gfc_check_f): Replace fm3l with fm4l.
+	* intrinsic.h (gfc_resolve_maxloc): Add gfc_expr * to argument
+	list in protoytpe.
+	(gfc_resolve_minloc): Likewise.
+	* check.c (gfc_check_minloc_maxloc): Handle kind argument.
+	* intrinsic.c (add_sym_3_ml): Rename to
+	(add_sym_4_ml): and handle kind argument.
+	(add_function): Replace add_sym_3ml with add_sym_4ml and add
+	extra arguments for maxloc and minloc.
+	(check_specific): Change use of check.f3ml with check.f4ml.
+	* iresolve.c (gfc_resolve_maxloc): Handle kind argument. If
+	the kind is smaller than the smallest library version available,
+	use gfc_default_integer_kind and convert afterwards.
+	(gfc_resolve_minloc): Likewise.
+
+2017-11-04  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/81735
+	* trans-decl.c (gfc_trans_deferred_vars): Do a better job of a
+	case where 'tmp' was used unititialized and remove TODO.
+
+2017-11-03  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/82796
+	* resolve.c (resolve_equivalence): An entity in a common block within
+ 	a module cannot appear in an equivalence statement if the entity is
+	with a pure procedure.
+
+2017-10-31  Jim Wilson  <wilson@tuliptree.org>
+
+	* parse.c (unexpected_eof): Call gcc_unreachable before return.
+
+2017-10-30  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/80850
+	* trans_expr.c (gfc_conv_procedure_call): When passing a class
+	argument to an unlimited polymorphic dummy, it is wrong to cast
+	the passed expression as unlimited, unless it is unlimited. The
+	correct way is to assign to each of the fields and set the _len
+	field to zero.
+
+2017-10-30  Steven G. Kargl   <kargl@gcc.gnu.org>
+
+	* resolve.c (resolve_transfer): Set derived to correct symbol for
+	BT_CLASS.
+
+2017-10-29  Jim Wilson  <wilson@tuliptree.org>
+
+	* invoke.texi: Delete adb and sdb references.
+
+2017-10-28  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* check.c (gfc_check_co_reduce): Clarify error message.
+
+2017-10-28  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/81758
+	* trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr'
+	must only be set if the right hand side expression is of type
+	class.
+
+2017-10-27  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/82620
+	* match.c (gfc_match_allocate): Exit early on syntax error.
+
+2017-10-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/56342
+	* simplify.c (is_constant_array_expr): If the expression is
+	a parameter array, call gfc_simplify_expr.
+
+2017-10-25  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* match.c (gfc_match_type_is): Fix typo in error message.
+
+2017-10-21  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82586
+	* decl.c (gfc_get_pdt_instance): Remove the error message that
+	the parameter does not have a corresponding component since
+	this is now taken care of when the derived type is resolved. Go
+	straight to error return instead.
+	(gfc_match_formal_arglist): Make the PDT relevant errors
+	immediate so that parsing of the derived type can continue.
+	(gfc_match_derived_decl): Do not check the match status on
+	return from gfc_match_formal_arglist for the same reason.
+	* resolve.c (resolve_fl_derived0): Check that each type
+	parameter has a corresponding component.
+
+	PR fortran/82587
+	* resolve.c (resolve_generic_f): Check that the derived type
+	can be used before resolving the struture constructor.
+
+	PR fortran/82589
+	* symbol.c (check_conflict): Add the conflicts involving PDT
+	KIND and LEN attributes.
+
+2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* interface.c (check_sym_interfaces, check_uop_interfaces,
+	gfc_check_interfaces): Base interface_name buffer off
+	GFC_MAX_SYMBOL_LEN.
+
+2017-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/82568
+	* gfortran.h (gfc_resolve_do_iterator): Add a bool arg.
+	(gfc_resolve_omp_local_vars): New declaration.
+	* openmp.c (omp_current_ctx): Make static.
+	(gfc_resolve_omp_parallel_blocks): Handle EXEC_OMP_TASKLOOP
+	and EXEC_OMP_TASKLOOP_SIMD.
+	(gfc_resolve_do_iterator): Add ADD_CLAUSE argument, if false,
+	don't actually add any clause.  Move omp_current_ctx test
+	earlier.
+	(handle_local_var, gfc_resolve_omp_local_vars): New functions.
+	* resolve.c (gfc_resolve_code): Call gfc_resolve_omp_parallel_blocks
+	instead of just gfc_resolve_omp_do_blocks for EXEC_OMP_TASKLOOP
+	and EXEC_OMP_TASKLOOP_SIMD.
+	(gfc_resolve_code): Adjust gfc_resolve_do_iterator caller.
+	(resolve_codes): Call gfc_resolve_omp_local_vars.
+
+2017-10-19  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* gfortran.h (gfc_lookup_function_fuzzy): New declaration.
+	(gfc_closest_fuzzy_match): New declaration.
+	(vec_push): New definition.
+	* misc.c (gfc_closest_fuzzy_match): New definition.
+	* resolve.c: Include spellcheck.h.
+	(lookup_function_fuzzy_find_candidates): New static function.
+	(lookup_uop_fuzzy_find_candidates): Likewise.
+	(lookup_uop_fuzzy): Likewise.
+	(resolve_operator) <INTRINSIC_USER>: Call lookup_uop_fuzzy.
+	(gfc_lookup_function_fuzzy): New definition.
+	(resolve_unknown_f): Call gfc_lookup_function_fuzzy.
+	* interface.c (check_interface0): Likewise.
+	(lookup_arg_fuzzy_find_candidates): New static function.
+	(lookup_arg_fuzzy ): Likewise.
+	(compare_actual_formal): Call lookup_arg_fuzzy.
+	* symbol.c: Include spellcheck.h.
+	(lookup_symbol_fuzzy_find_candidates): New static function.
+	(lookup_symbol_fuzzy): Likewise.
+	(gfc_set_default_type): Call lookup_symbol_fuzzy.
+	(lookup_component_fuzzy_find_candidates): New static function.
+	(lookup_component_fuzzy): Likewise.
+	(gfc_find_component): Call lookup_component_fuzzy.
+
+2017-10-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/82567
+	* frontend-passes.c (combine_array_constructor): If an array
+	constructor is all constants and has more elements than a small
+	constant, don't convert a*[b,c] to [a*b,a*c] to reduce compilation
+	times.
+
+2017-10-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/79795
+	* resolve.c (resovle_symbol): Change gcc_assert to
+	sensible error message.
+
+2017-10-18  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82550
+	* trans_decl.c (gfc_get_symbol_decl): Procedure symbols that
+	have the 'used_in_submodule' attribute should be processed by
+	'gfc_get_extern_function_decl'.
+
+2017-10-16  Fritz Reese <fritzoreese@gmail.com>
+
+	PR fortran/82511
+	* trans-io.c (transfer_expr): Treat BT_UNION as BT_DERIVED.
+
+2017-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/82372
+	* fortran/scanner.c (last_error_char):  New global variable.
+	(gfc_scanner_init_1): Set last_error_char to NULL.
+	(gfc_gobble_whitespace): If a character not printable or
+	not newline, issue an error.
+
+2017-10-13  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/81048
+	* resolve.c (resolve_symbol): Ensure that derived type array
+	results get default initialization.
+
+2017-10-11  Nathan Sidwell  <nathan@acm.org>
+
+	* cpp.c (gfc_cpp_add_include_path): Update incpath_e names.
+	(gfc_cpp_add_include_path_after): Likewise.
+
+2017-10-10  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* target-memory.c (gfc_interpret_logical): Use wi::to_wide when
+	operating on trees as wide_ints.
+	* trans-const.c (gfc_conv_tree_to_mpz): Likewise.
+	* trans-expr.c (gfc_conv_cst_int_power): Likewise.
+	* trans-intrinsic.c (trans_this_image): Likewise.
+	(gfc_conv_intrinsic_bound): Likewise.
+	(conv_intrinsic_cobound): Likewise.
+
+2017-10-08  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	* check.c (gfc_check_x): Remove function.
+	* intrinsic.c (add_functions): Use gfc_check_fn_r.
+
+2017-10-08  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82375
+	* module.c : Bump up MOD_VERSION to 15.
+	(mio_component): Edit comment about PDT specification list.
+	(mio_expr, mio_symbol): Include the expression and symbol PDT
+	specification lists in the same way as in mio_component.
+
+2017-10-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* dump_prase_tree (show_symbol): Output list of variables in
+	NAMELIST.
+	(show_code_node): Add new line for ELSE and END DO for DO
+	CONCURRENT.
+	* invoke.texi: Document that the output of
+	-fdump-fortran-original, -fdump-fortran-optimized and
+	-fdump-parse-tree is unsable and may lead to ICEs.
+
+2017-10-07  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82375
+	* class.c (gfc_find_derived_vtab): Return NULL for a passed
+	pdt template to prevent bad procedures from being written.
+	* decl.c (gfc_get_pdt_instance): Do not use the default
+	initializer for pointer and allocatable pdt type components. If
+	the component is allocatbale, set the 'alloc_comp' attribute of
+	'instance'.
+	* module.c : Add a prototype for 'mio_actual_arglist'. Add a
+	boolean argument 'pdt'.
+	(mio_component): Call it for the parameter list of pdt type
+	components with 'pdt' set to true.
+	(mio_actual_arg): Add the boolean 'pdt' and, if it is set, call
+	mio_integer for the 'spec_type'.
+	(mio_actual_arglist): Add the boolean 'pdt' and use it in the
+	call to mio_actual_arg.
+	(mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with
+	'pdt' set false.
+	* resolve.c (get_pdt_spec_expr): Add the parameter name to the
+	KIND parameter error.
+	(get_pdt_constructor): Check that cons->expr is non-null.
+	* trans-array.c (structure_alloc_comps): For deallocation of
+	allocatable components, ensure that parameterized components
+	are deallocated first. Likewise, when parameterized components
+	are allocated, nullify allocatable components first. Do not
+	recurse into pointer or allocatable pdt components while
+	allocating or deallocating parameterized components. Test that
+	parameterized arrays or strings are allocated before freeing
+	them.
+	(gfc_trans_pointer_assignment): Call the new function. Tidy up
+	a minor whitespace issue.
+	trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE
+	to prevent the expression from being used a second time.
+
+2017-10-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/49232
+	* expr.c (gfc_check_pointer_assign): Error
+	for non-contiguous rhs.
+
+2017-10-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* gfortran.h (async_io_dt): Add external reference.
+	* io.c (async_io_dt): Add variable.
+	(compare_to_allowed_values): Add prototyte. Add optional argument
+	num. If present, set it to the number of the entry that was
+	matched.
+	(check_io_constraints): If this is for an asynchronous I/O
+	statement, set async_io_dt and set the asynchronous flag for
+	a SIZE tag.
+	* resolve.c (resolve_transfer): If async_io_dt is set, set
+	the asynchronous flag on the variable.
+	(resolve_fl_namelist): If async_io_dt is set, set the asynchronous
+	flag on all elements of the namelist.
+
+2017-10-04  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/60458
+	PR fortran/77296
+	* resolve.c (resolve_assoc_var): Deferred character type
+	associate names must not receive an integer conatant length.
+	* symbol.c (gfc_is_associate_pointer): Deferred character
+	length functions also require an associate pointer.
+	* trans-decl.c (gfc_get_symbol_decl): Deferred character
+	length functions or derived type components require the assoc
+	name to have variable string length.
+	* trans-stmt.c (trans_associate_var): Set the string length of
+	deferred string length associate names. The address expression
+	is not needed for allocatable, pointer or dummy targets. Change
+	the comment about defered string length targets.
+
+2017-10-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* io.c (match_wait_element): Correctly match END and EOR tags.
+	* dump-parse-tree.c (show_code_node): Handle EXEC_WAIT.
+
+2017-10-02  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82312
+	* resolve.c (gfc_resolve_code): Simplify condition for class
+	pointer assignments becoming regular assignments by asserting
+	that only class valued targets are permitted.
+	* trans-expr.c (trans_class_pointer_fcn): New function using a
+	block of code from gfc_trans_pointer_assignment.
+	(gfc_trans_pointer_assignment): Call the new function. Tidy up
+	a minor whitespace issue.
+
+2017-10-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/61450
+	* parse.c (gfc_global_used): Replace the gfc_internal_error
+	with an error.
+
+2017-09-29  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/25071
+	* interface.c (compare_actual_formal): Change warnings to errors
+	when "Actual argument contains too few elements for dummy
+	argument", unless -std=legacy is used.
+
+2017-09-27  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* lang.opt <Wdo-subscript>: End help text with a period.
+
+2017-09-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* frontend-passes.c (do_subscript): Don't do anything
+	if inside an associate list.
+
+2017-09-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* lang.opt:  Add -Wdo-subscript.
+	* frontend-passes.c (do_t): New type.
+	(doloop_list): Use variable of do_type.
+	(if_level): Variable to track if levels.
+	(select_level): Variable to track select levels.
+	(gfc_run_passes): Initialize i_level and select_level.
+	(doloop_code): Record current level of if + select
+	level in doloop_list.  Add seen_goto if there could
+	be a branch outside the loop. Use different type for
+	doloop_list.
+	(doloop_function): Call do_intent and do_subscript; move
+	functionality of checking INTENT to do_intent.
+	(insert_index_t): New type, for callback_insert_index.
+	(callback_insert_index): New function.
+	(insert_index): New function.
+	(do_subscript): New function.
+	(do_intent): New function.
+	(gfc_code_walker): Keep track of if_level and select_level.
+	* invoke.texi: Document -Wdo-subscript.
+
+2017-09-25  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	* trans.c (gfc_unlikely): Remove unnecessary fold_convert.
+	(gfc_likely): Likewise.
+
+2017-09-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+	    Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/80118
+	* expr.c (gfc_get_full_arrayspec_from_expr): If there is
+	no symtree, set array spec to NULL.
+
+2017-09-23  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/82143
+	* lang.opt: Add the options -fdefault-real-10 and -fdefault-real-16.
+	Rename flag_default_real to flag_default_real_8.
+	* invoke.texi: Add documentation.
+	* module.c (use_iso_fortran_env_module): flag_default_real is renamed.
+	* trans-types.c (gfc_init_kinds): Implement the flags
+	-fdefault-real-10 and -fdefault-real-16. Make -fdefault-double-8 work
+	without -fdefault-real-8.
+
+2017-09-21  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/52832
+	* match.c (gfc_match_associate): Before failing the association
+	try again, allowing a proc pointer selector.
+
+	PR fortran/80120
+	PR fortran/81903
+	PR fortran/82121
+	* primary.c (gfc_match_varspec): Introduce 'tgt_expr', which
+	points to the associate selector, if any. Go through selector
+	references, after resolution for variables, to catch any full
+	or section array references. If a class associate name does
+	not have the same declared type as the selector, resolve the
+	selector and copy the declared type to the associate name.
+	Before throwing a no implicit type error, resolve all allowed
+	selector expressions, and copy the resulting typespec.
+
+	PR fortran/67543
+	* resolve.c (resolve_assoc_var): Selector must cannot be the
+	NULL expression and it must have a type.
+
+	PR fortran/78152
+	* resolve.c (resolve_symbol): Allow associate names to be
+	coarrays.
+
+2017-09-21  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* openmp.c (gfc_match_oacc_wait): Don't restrict wait directive
+	arguments to constant integers.
+
+2017-09-17  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82173
+	* decl.c (gfc_get_pdt_instance): Use the component initializer
+	expression for the default, rather than the parameter value.
+	* resolve.c (resolve_pdt): New function.
+	(resolve_symbol): Call it. Remove false error, prohibiting
+	deferred type parameters for dummy arguments.
+
+	PR fortran/60483
+	* primary.c (gfc_match_varspec): If the type of an associate
+	name is unknown and yet there is a match, try resolving the
+	target expression and using its type.
+
+2017-09-15  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82184
+	trans-decl.c (gfc_trans_deferred_vars): Do not null the 'span'
+	field if the symbol is either implicitly or explicitly saved.
+
+2017-09-13  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82173
+	* decl.c (match_char_kind): If the kind expression is
+	parameterized, save it in saved_kind_expr and set kind = 0.
+	(gfc_get_pdt_instance): Resolve and simplify before emitting
+	error on expression kind. Insert a missing simplification after
+	insertion of kind expressions.
+
+2017-09-12  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/82173
+	PR fortran/82168
+	* decl.c (variable_decl): Check pdt template components for
+	appearance of KIND/LEN components in the type parameter name
+	list, that components corresponding to type parameters have
+	either KIND or LEN attributes and that KIND or LEN components
+	are scalar. Copy the initializer to the parameter value.
+	(gfc_get_pdt_instance): Add a label 'error_return' and follow
+	it with repeated code, while replacing this code with a jump.
+	Check if a parameter appears as a component in the template.
+	Make sure that the parameter expressions are integer. Validate
+	KIND expressions.
+	(gfc_match_decl_type_spec): Search for pdt_types in the parent
+	namespace since they are instantiated in the template ns.
+	* expr.c (gfc_extract_int): Use a KIND parameter if it
+	appears as a component expression.
+	(gfc_check_init_expr): Allow expressions with the pdt_kind
+	attribute.
+	*primary.c (gfc_match_actual_arglist): Make sure that the first
+	keyword argument is recognised when 'pdt' is set.
+
+2017-09-10  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/34640
+	PR fortran/40737
+	PR fortran/55763
+	PR fortran/57019
+	PR fortran/57116
+
+	* expr.c (is_subref_array): Add class pointer array dummies
+	to the list of expressions that return true.
+	* trans-array.c: Add SPAN_FIELD and update indices for
+	subsequent fields.
+	(gfc_conv_descriptor_span, gfc_conv_descriptor_span_get,
+	gfc_conv_descriptor_span_set, is_pointer_array,
+	get_array_span): New functions.
+	(gfc_get_descriptor_offsets_for_info): New function to preserve
+	API for access to descriptor fields for trans-types.c.
+	(gfc_conv_scalarized_array_ref): If the expression is a subref
+	array, make sure that info->descriptor is a descriptor type.
+	Otherwise, if info->descriptor is a pointer array, set 'decl'
+	and fix it if it is a component reference.
+	(build_array_ref): Simplify handling of class array refs by
+	passing the vptr to gfc_build_array_ref rather than generating
+	the pointer arithmetic in this function.
+	(gfc_conv_array_ref): As in gfc_conv_scalarized_array_ref, set
+	'decl'.
+	(gfc_array_allocate): Set the span field if this is a pointer
+	array. Use the expr3 element size if it is available, so that
+	the dynamic type element size is used.
+	(gfc_conv_expr_descriptor): Set the span field for pointer
+	assignments.
+	* trans-array.h: Prototypes for gfc_conv_descriptor_span_get
+	gfc_conv_descriptor_span_set and
+	gfc_get_descriptor_offsets_for_info added.
+	trans-decl.c (gfc_get_symbol_decl): If a non-class pointer
+	array, mark the declaration as a GFC_DECL_PTR_ARRAY_P. Remove
+	the setting of GFC_DECL_SPAN.
+	(gfc_trans_deferred_vars): Set the span field to zero in thge
+	originating scope.
+	* trans-expr.c (gfc_conv_procedure_call): Do not use copy-in/
+	copy-out to pass subref expressions to a pointer dummy.
+	(gfc_trans_pointer_assignment): Remove code for setting of
+	GFC_DECL_SPAN. Set the 'span' field for non-class pointers to
+	class function results. Likewise for rank remap. In the case
+	that the target is not a whole array, use the target array ref
+	for remap and, since the 'start' indices are missing, set the
+	lbounds to one, as required by the standard.
+	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Pick up the
+	'token' offset from the field decl in the descriptor.
+	(conv_isocbinding_subroutine): Set the 'span' field.
+	* trans-io.c (gfc_trans_transfer): Always scalarize pointer
+	array io.
+	* trans-stmt.c (trans_associate_var): Set the 'span' field.
+	* trans-types.c (gfc_get_array_descriptor_base): Add the 'span'
+	field to the array descriptor.
+	(gfc_get_derived_type): Pointer array components are marked as
+	GFC_DECL_PTR_ARRAY_P.
+	(gfc_get_array_descr_info): Replaced API breaking code for
+	descriptor offset calling gfc_get_descriptor_offsets_for_info.
+	* trans.c (get_array_span): New function.
+	(gfc_build_array_ref): Simplify by calling get_array_span and
+	obtain 'span' if 'decl' or 'vptr' present.
+	* trans.h : Rename DECL_LANG_FLAG_6, GFC_DECL_SUBREF_ARRAY_P,
+	as GFC_DECL_PTR_ARRAY_P.
+
+2017-09-09  Paul Thomas  <pault@gcc.gnu.org>
+
+	* decl.c : Add decl_type_param_list, type_param_spec_list as
+	static variables to hold PDT spec lists.
+	(build_sym): Copy 'type_param_spec_list' to symbol spec_list.
+	(build_struct): Copy the 'saved_kind_expr' to the component
+	'kind_expr'. Check that KIND or LEN components appear in the
+	decl_type_param_list. These should appear as symbols in the
+	f2k_derived namespace. If the component is itself a PDT type,
+	copy the decl_type_param_list to the component param_list.
+	(gfc_match_kind_spec): If the KIND expression is parameterized
+	set KIND to zero and store the expression in 'saved_kind_expr'.
+	(insert_parameter_exprs): New function.
+	(gfc_insert_kind_parameter_exprs): New function.
+	(gfc_insert_parameter_exprs): New function.
+	(gfc_get_pdt_instance): New function.
+	(gfc_match_decl_type_spec): Match the decl_type_spec_list if it
+	is present. If it is, call 'gfc_get_pdt_instance' to obtain the
+	specific instance of the PDT.
+	(match_attr_spec): Match KIND and LEN attributes. Check for the
+	standard and for type/kind of the parameter. They are also not
+	allowed outside a derived type definition.
+	(gfc_match_data_decl): Null the decl_type_param_list and the
+	type_param_spec_list on entry and free them on exit.
+	(gfc_match_formal_arglist): If 'typeparam' is true, add the
+	formal symbol to the f2k_derived namespace.
+	(gfc_match_derived_decl): Register the decl_type_param_list
+	if this is a PDT. If this is a type extension, gather up all
+	the type parameters and put them in the right order.
+	*dump-parse-tree.c (show_attr): Signal PDT templates and the
+	parameter attributes.
+	(show_components): Output parameter atrributes and component
+	parameter list.
+	(show_symbol): Show variable parameter lists.
+	* expr.c (expr.c): Copy the expression parameter list.
+	(gfc_is_constant_expr): Pass on symbols representing PDT
+	parameters.
+	(gfc_check_init_expr): Break on PDT KIND parameters and
+	PDT parameter expressions.
+	(gfc_check_assign): Assigning to KIND or LEN components is an
+	error.
+	(derived_parameter_expr): New function.
+	(gfc_derived_parameter_expr): New function.
+	(gfc_spec_list_type): New function.
+	* gfortran.h : Add enum gfc_param_spec_type. Add the PDT attrs
+	to the structure symbol_attr. Add the 'kind_expr' and
+	'param_list' field to the gfc_component structure. Comment on
+	the reuse of the gfc_actual_arglist structure as storage for
+	type parameter spec lists. Add the new field 'spec_type' to
+	this structure. Add 'param_list' fields to gfc_symbol and
+	gfc_expr. Add prototypes for gfc_insert_kind_parameter_exprs,
+	gfc_insert_parameter_exprs, gfc_add_kind, gfc_add_len,
+	gfc_derived_parameter_expr and gfc_spec_list_type.
+	* interface.c (gfc_compare_derived_types): Treat PDTs in the
+	same way as sequence types.
+	* match.c : Add variable 'type_param_spec_list'.
+	(gfc_op2string, gfc_match_member_sep, gfc_match_label): Remove
+	trailing whitespace.
+	(match_derived_type_spec): Match PDTs and find specific
+	instance.
+	(gfc_match_type_spec): Remove more trailing whitespace.
+	(gfc_match_allocate): Assumed or deferred parameters cannot
+	appear here. Copy the type parameter spec list to the expr for
+	the allocatable entity. Free 'type_param_spec_list'.
+	(gfc_match_common, gfc_match_namelist, gfc_match_module): Still
+	more trailing whitespace to remove.
+	(gfc_match_type_is): Allow PDT typespecs.
+	* match.h : Modify prototypes for gfc_match_formal_arglist and
+	gfc_match_actual_arglist.
+	* module.c (ab_attribute, mstring attr_bits): PDT attributes
+	added.
+	(mio_symbol_attribute): PDT attributes handled.
+	(mio_component): Deal with 'kind_expr' field.
+	(mio_full_f2k_derived): For PDT templates, transfer the formal
+	namespace symroot to the f2k_derived namespace.
+	*primary.c (match_keyword_arg, gfc_match_actual_arglist): Add
+	modifications to handle PDT spec lists. These are flagged in
+	both cases by new boolean arguments, whose prototype defaults
+	are false.
+	(gfc_match_structure_constructor, match_variable): Remove yet
+	more trailing whitespace.
+	* resolve.c (get_pdt_spec_expr, get_pdt_constructor): New
+	functions.
+	(resolve_structure_cons): If the constructor is a PDT template,
+	call get_pdt_constructor to build it using the parameter lists
+	and then get the specific instance of the PDT.
+	(resolve_component): PDT strings need a hidden string length
+	component like deferred characters.
+	(resolve_symbol): Dummy PDTs cannot have deferred parameters.
+	* symbol.c (gfc_add_kind, gfc_add_len): New functions.
+	(free_components): Free 'kind_expr' and 'param_list' fields.
+	(gfc_free_symbol): Free the 'param_list' field.
+	(gfc_find_sym_tree): If the current state is a PDT template,
+	look for the symtree in the f2k_derived namspaces.
+	trans-array.c (structure_alloc_comps): Allocate and deallocate
+	PDTs. Check dummy arguments for compliance of LEN parameters.
+	Add the new functions to the preceeding enum.
+	(gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp and
+	gfc_check_pdt_dummy): New functions calling above.
+	* trans-array.h : Add prototypes for these functions.
+	trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init
+	as appropriate for PDT symbols.
+	(gfc_trans_deferred_vars): Allocate/deallocate PDT entities as
+	they come into and out of scope. Exclude pdt_types from being
+	'gcc_unreachable'.
+	(gfc_trans_subcomponent_assign): PDT array components must be
+	handles as if they are allocatable.
+	* trans-stmt.c (gfc_trans_allocate): Handle initialization of
+	PDT entities.
+	(gfc_trans_deallocate): Likewise.
+	* trans-types.c (gfc_get_derived_type): PDT templates must not
+	arrive here. PDT string components are handles as if deferred.
+	Similarly, PDT arrays are treated as if allocatable. PDT
+	strings are pointer types.
+	* trans.c (gfc_deferred_strlen): Handle PDT strings in the same
+	way as deferred characters.
+
+2017-09-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/81887
+	* parse.c (decode_omp_directive): Use matchs instead of matcho for
+	end ordered and ordered directives, except for ordered depend.  For
+	-fopenmp-simd and ordered depend, reject the stmt.
+	* trans-openmp.c (gfc_trans_omp_ordered): For -fopenmp-simd ignore
+	threads clause and if simd clause isn't present, just translate the
+	body.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* trans-types.c (gfc_init_kinds): Use opt_scalar_int_mode for
+	the mode iterator.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target-memory.c (size_integer): Use SCALAR_INT_TYPE_MODE.
+	(size_logical): Likewise.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* trans-types.c (gfc_type_for_mode): Use is_a <scalar_int_mode>.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* trans-types.c (gfc_init_kinds): Use opt_scalar_float_mode
+	and FOR_EACH_MODE_IN_CLASS.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* target-memory.c (size_float): Use SCALAR_FLOAT_TYPE_MODE
+	instead of TYPE_MODE.
+
+2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
+	    Alan Hayward  <alan.hayward@arm.com>
+	    David Sherwood  <david.sherwood@arm.com>
+
+	* trans-types.c (gfc_init_kinds): Use machine_mode instead of int
+	for "mode".
+
+2017-08-28  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/81770
+	* expr.c (gfc_check_pointer_assign): Improve the check whether pointer
+	may outlive pointer target.
+
+2017-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/81974
+	* frontend-passes (inline_matumul_assign):  Explicity
+	set typespec for call to CONJG.
+
+2017-08-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/81296
+	* trans-io.c (get_dtio_proc): Add check for format label and set
+	formatted flag accordingly. Reorganize the code a little.
+
+2017-08-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/81116
+	* frontend-passes.c (realloc_string_callback): If expression is a
+	concatenation, also check for dependency.
+	(constant_string_length): Check for presence of symtree.
+
+2017-08-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* gfortran.texi: Document format of unformatted sequential files.
+
+2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* invoke.texi:  Actually commit change about -Ofast.
+
+2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/60355
+	* resolve.c (resolve_symbol): Adjust (and reformat)
+	comment.  Perform check if a BIND(C) is declared
+	at module level regardless of whether it is typed
+	implicitly or not.
+
+2017-08-10  Fritz Reese <fritzoreese@gmail.com>
+
+	* options.c (set_dec_flags): Only set legacy standards when value
+	is not zero.
+
+2017-08-10  Fritz Reese <fritzoreese@gmail.com>
+
+	* options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines
+	with -fdec when not set by user.
+
+2017-08-10  Fritz Reese <fritzoreese@gmail.com>
+
+	* decl.c (attr_seen): New static variable.
+	* decl.c (variable_decl): Match %FILL in STRUCTURE body.
+	* gfortran.texi: Update documentation.
+
+2017-08-08  Martin Liska  <mliska@suse.cz>
+
+	* trans-types.c: Include header files.
+
+2017-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/68829
+	PR fortran/81701
+	* options.c: Make -Ofast honor -fmax-stack-var-size.
+	* invoke.texi: Document change.
+
+2017-08-01  Thomas König  <tkoenig@gcc.gnu.org>
+
+	PR fortran/79312
+	* intrisic.c (gfc_convert_type_warn):  Only set typespec for
+	empty array constructors which don't have it already.
+
+2017-08-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/45435
+	* lang.opt (fc-prototypes): Add option.
+	* gfortran.h (gfc_typespec): Add interop_kind to struct.
+	(gfc_dump_c_prototypes): Add prototype.
+	* decl.c (gfc_match_kind_spec): Copy symbol used for kind to typespec.
+	* parse.c (gfc_parse_file): Call gfc_dump_prototypes.
+	* dump-parse-tree.c (gfc_dump_c_prototypes): New function.
+	(type_return): New enum.
+	(get_c_type_name): New function.
+	(write_decl): New function.
+	(write_type): New function.
+	(write_variable): New function.
+	(write_proc): New function.
+	(write_interop_decl): New function.
+	* invoke.texi: Document -fc-prototypes.
+
+2017-08-01  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/53542
+	* expr.c (gfc_check_init_expr): Use the renamed name.
+
+2017-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* check.c (gfc_check_num_images): Fix a pasto.
+
+2017-07-29  Jakub Jelinek  <jakub@redhat.com>
+
+	* trans-decl.c (gfc_trans_use_stmts): Pass false as new argument to
+	the imported_module_or_decl debug hook.
+
+2017-07-28  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+	* resolve.c (find_reachable_labels): Adjust.
+
+2017-07-25  Jakub Jelinek  <jakub@redhat.com>
+
+	* ioparm.def: Use 1U << 31 instead of 1 << 31 as flags2 mask.
+
+2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* dump-parse-tree.c (show_symbol):  Show binding label if present.
+
+2017-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+	    Mikael Morin  <mikael@gcc.gnu.org>
+
+	PR fortran/66102
+	* fortran/trans-array.c (gfc_conv_resolve_dependencies):
+	Break if dependency has been found.
+
+2017-07-23  Alexander Monakov  <amonakov@ispras.ru>
+
+	* interface.c (pair_cmp): Fix gfc_symbol comparison.  Adjust comment.
+
+2017-07-18  Nathan Sidwell  <nathan@acm.org>
+
+	* trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE.
+
+2017-07-09  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/81341
+	* class.c (class_array_ref_detected): Remove a redundant
+	condition.
+
+2017-07-06  Harald Anlauf  <anlauf@gmx.de>
+
+	PR fortran/70071
+	* array.c (gfc_ref_dimen_size): Handle bad subscript triplets.
+
+2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/79866
+	* resolve.c (resolve_symbol): Fix typo.
+
+2017-07-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/79843
+	* symbol.c (check_conflict): Add missing "conflicts".
+
+2017-06-29  Cesar Philippidis  <cesar@codesourcery.com>
+
+	PR fortran/77765
+	* openmp.c (gfc_match_oacc_routine): Check if proc_name exist before
+	comparing the routine name against it.
+
+2017-06-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/80164
+	* trans-stmt.c (gfc_trans_call): If no code expr, use code->loc
+	as warning/error locus.
+
+2017-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/81160
+	* arith.c (wprecision_int_real): Set return value before
+	mpz_clear and then return after it.
+
+2017-06-15  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/80983
+	* trans-expr.c (gfc_conv_procedure_call): Deallocate the result of
+	scalar allocatable procedure-pointer components.
+
+2017-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/80988
+	* frontend-passes.c (traverse_io_block):  Also
+	check for variables occurring as indices multiple
+	time in a single implied DO loop.
+
+2017-06-05  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/70601
+	* trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable
+	function results.
+
+2017-06-05  Nicolas Koenig  <koenigni@student.ethz.ch>
+
+	PR fortran/35339
+	* frontend-passes.c (traverse_io_block): New function.
+	(simplify_io_impl_do): New function.
+	(optimize_namespace): Invoke gfc_code_walker with
+	simplify_io_impl_do.
+
+2017-06-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/80918
+	* openmp.c (resolve_omp_clauses): Fix a typo.
+
+2017-05-30  David Malcolm  <dmalcolm@redhat.com>
+
+	* error.c (gfc_format_decoder): Update for new bool and
+	const char ** params.
+
+2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/37131
+	* frontend-passes.c (check_conjg_transpose_variable):
+	Add prototype.
+	(has_dimen_vector_ref):  Likewise
+	(matmul_temp_args):  New function. Add prototype.
+	(optimize_namespace):  Call matmul_temp_args.
+
+2017-05-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* frontend-passes.c (matmul_lhs_realloc):  Correct
+	allocation size for case A1B2.
+
+2017-05-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* dump-parse-tree.c (show_expr):  Also replace
+	with dumpfile for showing values for forgotten
+	case.
+
+2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	* dump-parse-tree.c (show_expr):  Replace stdout
+	with dumpfile for showing values.
+
+2017-05-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/66094
+	* frontend-passes.c (matrix_case):  Add A2TB2.
+	(inline_limit_check):  Handle MATMUL(TRANSPOSE(A),B)
+	(inline_matmul_assign):  Likewise.
+
+2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS",
+	"OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH".
+
+2017-05-22  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/80766
+	* resolve.c (resolve_fl_derived): Make sure that vtype symbols are
+	properly resolved.
+
+2017-05-19  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/80333
+	* trans-io.c (nml_get_addr_expr): If we are dealing with class
+	type data set tmp tree to get that address.
+	(transfer_namelist_element): Set the array spec to point to the
+	the class data.
+
+2017-05-19  David Malcolm  <dmalcolm@redhat.com>
+
+	PR fortran/79852
+	* bbt.c (insert): Remove trailing exclamation mark from message.
+	* decl.c (gfc_match_final_decl): Likewise.
+	* dump-parse-tree.c (show_expr): Likewise.
+	* module.c (gfc_use_module): Likewise.
+	* primary.c (build_actual_constructor): Likewise.
+	(gfc_convert_to_structure_constructor): Likewise.
+
+2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* gfortran.h (enum gfc_omp_default_sharing): Add
+	"OMP_DEFAULT_PRESENT".
+	* dump-parse-tree.c (show_omp_clauses): Handle it.
+	* openmp.c (gfc_match_omp_clauses): Likewise.
+	* trans-openmp.c (gfc_trans_omp_clauses): Likewise.
+
+2017-05-18  Fritz Reese <fritzoreese@gmail.com>
+
+	PR fortran/79968
+	* decl.c (match_attr_spec, gfc_match_automatic,
+	gfc_match_static, gfc_match_structure_decl): Unify diagnostic
+	errors regarding -fdec options.
+	* io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.
+
+2017-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/80741
+	* trans-io.c (transfer_namelist_element): Change check from
+	NULL_TREE to null_pointer_node.
+
+2017-05-17  Fritz Reese <fritzoreese@gmail.com>
+
+	PR fortran/80668
+	* expr.c (component_initializer): Don't generate initializers for
+	pointer components.
+	* invoke.texi (-finit-derived): Document.
+
+2017-05-16  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/80554
+	* decl.c (build_sym): In a submodule allow overriding of host
+	associated symbols from the ancestor module with a new
+	declaration.
+
+2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/80674
+	* trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.
+
+2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/80752
+	* expr.c (gfc_generate_initializer):  If type conversion fails,
+	check for error and return NULL.
+
+2017-05-14  Nicolas Koenig  <koenigni@student.ethz.ch>
+
+	PR fortran/80442
+	* array.c (gfc_ref_dimen_size): Simplify stride
+	expression
+	* data.c (gfc_advance_section): Simplify start,
+	end and stride expressions
+	(gfc_advance_section): Simplify start and end
+	expressions
+	(gfc_get_section_index): Simplify start expression
+
+2017-05-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	* io.c (gfc_resolve_dt): Fix returns to bool type.
+
+2017-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/78659
+	* io.c (dtio_procs_present): Add new function to check for DTIO
+	procedures relative to I/O statement READ or WRITE.
+	(gfc_resolve_dt): Add namelist checks using the new function.
+	* resolve.c (dtio_procs_present): Remove function and related
+	namelist checks. (resolve_fl_namelist): Add check specific to
+	Fortran 95 restriction on namelist objects.
+
+2017-05-11  Nathan Sidwell  <nathan@acm.org>
+
+	* trans-decl.c: Include dumpfile.h not tree-dump.h,
+
+2017-05-09  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/79311
+	* resolve.c (gfc_resolve_finalizers): Ensure that derived-type
+	components have a their finalizers resolved, also if the superordinate
+	type itself has a finalizer.
+
+2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/79930
+	* frontend-passes.c (matmul_to_var_expr): New function,
+	add prototype.
+	(matmul_to_var_code):  Likewise.
+	(optimize_namespace):  Use them from gfc_code_walker.
+
+2017-05-05  David Malcolm  <dmalcolm@redhat.com>
+
+	* cpp.c (cb_cpp_error): Replace report_diagnostic
+	with diagnostic_report_diagnostic.
+	* error.c (gfc_warning): Likewise.
+	(gfc_warning_now_at): Likewise.
+	(gfc_warning_now): Likewise.
+	(gfc_warning_internal): Likewise.
+	(gfc_error_now): Likewise.
+	(gfc_fatal_error): Likewise.
+	(gfc_error_opt): Likewise.
+	(gfc_internal_error): Likewise.
+
+2017-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/37131
+	* frontend-passes.c (inline_matmul_assign): Also check bounds
+	for allocatable lhs and matrix-vector-multiplication.
+
+2017-04-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/80484
+	* io.c (format_lex): Check for '/' and set token to FMT_SLASH.
+	(check_format): Move FMT_DT checking code to data_desc section.
+	* module.c (gfc_match_use): Include the case of INTERFACE_DTIO.
+
+2017-04-22  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/80121
+	* trans-types.c (gfc_conv_procedure_call): Deallocate the components
+	of allocatable intent(out) arguments.
+
+2017-04-21  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/80392
+	* trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
+	building a derived type that includes a procedure pointer component
+	with a polymorphic result.
+
+2017-04-17  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/80440
+	* module.c (find_symtree_for_symbol): Delete.
+	(read_module): Remove the call to the above.
+
+2017-04-14  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/80361
+	* class.c (generate_finalization_wrapper): Give the finalization wrapper
+	the recursive attribute.
+
+2017-04-10  Nicolas Koenig  <koenigni@student.ethz.ch>
+	    Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/69498
+	* module.c (gfc_match_submodule): Add error
+	if function is called in the wrong state.
+
+2017-04-10  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/80046
+	* expr.c (gfc_check_pointer_assign): Check if procedure pointer
+	components in a pointer assignment need an explicit interface.
+
+2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
+
+	PR fortran/69498
+	* symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
+	everything before it.
+
+2017-03-28  Janus Weil  <janus@gcc.gnu.org>
+
+	PR fortran/78661
+	* trans-io.c (transfer_namelist_element): Perform a polymorphic call
+	to a DTIO procedure if necessary.
+
+2017-03-25  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/80156
+	PR fortran/79382
+	* decl.c (access_attr_decl): Remove the error for an absent
+	generic DTIO interface and ensure that symbol has the flavor
+	FL_PROCEDURE.
+
+2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/79838
+	* module.c: Remove trailing period.
+
+2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/79602
+	* decl.c: Replace '%s' with %qs.
+	* expr.c: Likewise.
+	* interface.c: Likewise.
+	* match.c: Likewise.
+	* primary.c: Likewise.
+	* resolve.c: Likewise.
+
+	PR fortran/79844
+	PR fortran/80011
+	* io.c: Remove trailing spaces.
+	* match.c: Likewise.
+	* openmp.c: Likewise.
+	* resolve.c: Likewise.
+	* trans-intrinsic.c: Likewise.
+
+	PR fortran/79853
+	* expr.c: Remove a double spaces.
+
+	PR fortran/79859
+	* primary.c: Remove spurious quotes around %qs.
+
+2017-03-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/80142
+	* frontend-passes.c (combine_array_constructor): Take
+	location of new expression from constructor expression instead
+	of constructor.
+
+2017-03-20  Nicolas Koenig  <koenigni@student.ethz.ch>
+
+	PR fortran/39239
+	* symbol.c (check_conflict): Report an error if an EQUIVALENCE
+	object is BIND(C)
+
+2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
+
+	PR fortran/69498
+	* decl.c (add_hidden_procptr_result): Fixed Refs count of the
+	created "ppr@" symbol.
+
+2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79676
+	* module.c (mio_symbol_attribute): Remove reset of the flag
+	'no_module_procedures'.
+	(check_for_module_procedures): New function. Move declaration
+	of 'no_module_procedures' to above it.
+	(gfc_dump_module): Traverse namespace calling new function.
+
+2017-03-18  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/71838
+	* symbol.c (check_conflict): A dummy procedure in a submodule,
+	module procedure is not an error.
+	(gfc_add_flavor): Ditto.
+
+2017-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/79841
+	* openmp.c (check_symbol_not_pointer): Adjust diagnostics.
+
+2017-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/80010
+	* parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC
+	and ST_OACC_END_ATOMIC, instead of !ACC.
+	* trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC.
+	* openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait,
+	gfc_resolve_oacc_declare): Likewise.
+
+	PR fortran/79886
+	* error.c (gfc_format_decoder): Rename plus argument to set_locus,
+	remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer
+	if not a Fortran specific spec.
+	* trans-io.c: Include options.h.
+	(gfc_build_st_parameter): Temporarily disable -Wpadded around layout
+	of artificial IO data structures.
+
+2017-03-15  David Malcolm  <dmalcolm@redhat.com>
+
+	PR fortran/79860
+	* resolve.c (resolve_contained_fntype): Make error messages more
+	amenable to translation.
+
+2017-03-06  Richard Biener  <rguenther@suse.de>
+
+	PR fortran/79894
+	* trans.c (gfc_add_modify_loc): Weaken assert.
+
+2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>,
+	    Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
+
+	* check.c (positive_check): Add new function checking constant for
+	being greater then zero.
+	(gfc_check_image_status): Add checking of image_status arguments.
+	(gfc_check_failed_or_stopped_images): Same but for failed_- and
+	stopped_images function.
+	* dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
+	* gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
+	(enum gfc_isym_id): Added new intrinsic symbols.
+	(enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
+	* gfortran.texi: Added description for the new API functions. Updated
+	coverage of gfortran of TS18508.
+	* intrinsic.c (add_functions): Added symbols to resolve new intrinsic
+	functions.
+	* intrinsic.h: Added prototypes.
+	* iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
+	intrinsic.
+	(gfc_resolve_image_status): Same for image_status.
+	(gfc_resolve_stopped_images): Same for stopped_images.
+	* libgfortran.h: Added prototypes.
+	* match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
+	(gfc_match_fail_image): Match a FAIL IMAGE statement.
+	* match.h: Added prototype.
+	* parse.c (decode_statement): Added matching for FAIL IMAGE.
+	(next_statement): Same.
+	(gfc_ascii_statement): Same.
+	* resolve.c: Same.
+	* simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
+	single a constant result can be returne.d
+	(gfc_simplify_image_status): For COARRAY=single the result is constant.
+	* st.c (gfc_free_statement): Added FAIL_IMAGE handling.
+	* trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
+	new intrinsics.
+	* trans-expr.c (gfc_conv_procedure_call): This is first time all
+	arguments of a function are optional, which is now handled here
+	correctly.
+	* trans-intrinsic.c (conv_intrinsic_image_status): Translate
+	image_status.
+	(gfc_conv_intrinsic_function): Add support for image_status.
+	(gfc_is_intrinsic_libcall): Add support for the remaining new
+	intrinsics.
+	* trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
+	* trans-stmt.h: Add the prototype for the above.
+	* trans.c (trans_code): Dispatch for fail_image.
+	* trans.h: Add the trees for the new intrinsics.
+
+2017-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/79841
+	* openmp.c (check_symbol_not_pointer): Adjust diagnostic.
+
+2017-02-28  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79739
+	* resolve.c (resolve_fl_procedure): Deal with the case where
+	'submodule_name' is NULL so that gfc_error does not ICE.
+	Reformat the error message to make it more consistent.
+
+2017-02-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
+	instead of just cond ? "..." : "...".
+	* scanner.c (gfc_next_char_literal): Likewise.
+	* match.c (match_exit_cycle): Likewise.
+
+2017-02-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/51119
+	* options.c (gfc_post_options): Set default limit for matmul
+	inlining to 30.
+	* invoke.texi: Document change.
+
+2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/79601
+	* interface.c (check_dtio_arg_TKR_intent): Change 'intent'
+	to 'INTENT'.
+
+2017-02-25  Dominique d'Humieres  <dominiq@lps.ens.fr>
+
+	PR fortran/79597
+	* interface.c (gfc_match_end_interface): Remove spurious comma
+	and space, replace 'got %s' with 'got %qs'.
+
+2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79599
+	* interface.c (check_dtio_arg_TKR_intent): Supply 'must'
+	missing from error message.
+
+2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79523
+	* interface.c (gfc_find_typebound_dtio_proc): Guard test for
+	flavor attribute by checking that symbol is resolved.
+
+2017-02-16  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79382
+	* decl.c (access_attr_decl): Test for presence of generic DTIO
+	interface and emit error if not present.
+
+2017-02-20  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79434
+	* parse.c (check_component, parse_union): Whitespace.
+	(set_syms_host_assoc): For a derived type, check if the module
+	in which it was declared is one of the submodule ancestors. If
+	it is, make the components public. Otherwise, reset attribute
+	'host_assoc' and set 'use-assoc' so that encapsulation is
+	preserved.
+
+2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79447
+	* decl.c (gfc_set_constant_character_len): Whitespace.
+	(gfc_match_end): Catch case where a procedure is contained in
+	a module procedure and ensure that 'end procedure' is the
+	correct termination.
+
+2017-02-19  Paul Thomas  <pault@gcc.gnu.org>
+
+	PR fortran/79402
+	* resolve.c (fixup_unique_dummy): New function.
+	(gfc_resolve_expr): Call it for dummy variables with a unique
+	symtree name.
+
+2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/79229
+	* trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when
+	compiling with -fcheck=mem to check the pointer and not the data.
+
+2017-02-19  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/79335
+	* trans-array.c (duplicate_allocatable_coarray): Ensure attributes
+	passed are properly initialized.
+	(structure_alloc_comps): Same.
+	* trans-expr.c (gfc_trans_structure_assign): Same.
+
+2017-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* trans-expr.c (gfc_conv_substring): Add missing space in diagnostics.
+
+2017-02-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/65542
+	* intrinsic.c (gfc_intrinsic_func_interface):  Return an error
+	for -std=f95 for disallowed transformational functions in
+	initialization expressions.
+
+2017-02-09  Cesar Philippidis  <cesar@codesourcery.com>
+	    Joseph Myers  <joseph@codesourcery.com>
+
+	* openmp.c (resolve_omp_clauses): Error on directives
+	containing both tile and collapse clauses.
+	(resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
+	* trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
+	collapsed loops.
+
+2017-02-07  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	* trans-types.c	(gfc_get_int_kind_from_width_isofortranen):  Choose
+	REAL type with the widest precision if two (or more) have the same
+	storage size.
+
+2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/79344
+	* trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
+	the temporary, when a new object was created for the temporary.  Not
+	when it is just an alias to an existing object.
+
+2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/79335
+	* trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
+	attributes before using them.
+
+2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/78958
+	* trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
+	component of unlimited polymorphic objects when source-allocating.
+
+2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/79230
+	* trans-array.c (structure_alloc_comps): Ignore pointer components when
+	freeing structures.
+
+2017-01-25  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+	PR lto/79061
+	* f95-lang.c (gfc_create_decls): Include stringpool.h.
+	Pass main_input_filename to build_translation_unit_decl.
+
+2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>
+
+	* arith.c (arith_power):  If simplifying integer power expression
+	to zero, warn if -Winteger-division is given.
+
+2017-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/79154
+	* parse.c (matchs, matcho, matchds, matchdo): Replace return st;
+	with { ret = st; goto finish; }.
+	(decode_omp_directive): Allow declare simd, declare target and
+	simd directives in PURE/ELEMENTAL procedures.  Only call
+	gfc_unset_implicit_pure on successful match of other procedures.
+
+2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* gfc-internals.texi (Symbol Versioning): Change references
+	to www.akkadia.org to https.
+
+2017-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+	* gfortran.h (gfc_extract_int): Change return type to bool.  Add
+	int argument with = 0.
+	* decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
+	1 as new last argument to it, don't emit gfc_error.
+	(match_char_kind): Likewise.
+	(gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
+	gfc_get_string (x).
+	(gfc_match_derived_decl, match_binding_attributes): Likewise.
+	(gfc_match_structure_decl): Don't sprintf back to name, call
+	get_struct_decl directly with gfc_dt_upper_string (name) result.
+	* trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
+	instead of gfc_get_string (x).
+	* module.c (gfc_dt_lower_string, gfc_dt_upper_string,
+	gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
+	mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
+	load_omp_udrs, load_needed, read_module, dump_module,
+	create_intrinsic_function, import_iso_c_binding_module,
+	create_int_parameter, create_int_parameter_array, create_derived_type,
+	use_iso_fortran_env_module): Likewise.
+	* error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
+	pp_verbatim (context->printer, "%s", x) instead of
+	pp_verbatim (context->printer, x).
+	* match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
+	1 as new last argument to it, don't emit gfc_error.
+	(gfc_match_small_int_expr): Likewise.
+	* iresolve.c (gfc_get_string): Optimize format "%s" case.
+	(resolve_bound): Use gfc_get_string ("%s", x) instead of
+	gfc_get_string (x).
+	(resolve_transformational): Formatting fix.
+	(gfc_resolve_char_achar): Change name argument to bool is_achar,
+	use a single format string and if is_achar add "a" before "char".
+	(gfc_resolve_achar, gfc_resolve_char): Adjust callers.
+	* expr.c (gfc_extract_int): Change return type to bool, return true
+	if some error occurred.  Add REPORT_ERROR argument, if non-zero
+	call either gfc_error or gfc_error_now depending on its sign.
+	* arith.c (arith_power): Adjust gfc_extract_int caller.
+	* symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
+	of gfc_get_string (x).
+	(gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
+	gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
+	* openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
+	-1 as new last argument to it, don't emit gfc_error_now.
+	(gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
+	instead of gfc_get_string (x).
+	* check.c (kind_check): Adjust gfc_extract_int caller.
+	* intrinsic.c (add_sym, find_sym, make_alias): Use
+	gfc_get_string ("%s", x) instead of gfc_get_string (x).
+	* simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
+	gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
+	gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
+	Adjust gfc_extract_int callers.
+	* trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
+	instead of gfc_get_string (x).
+	* matchexp.c (expression_syntax): Add const.
+	* primary.c (match_kind_param, match_hollerith_constant,
+	match_string_constant): Adjust gfc_extract_int callers.
+	(match_keyword_arg): Use gfc_get_string ("%s", x) instead of
+	gfc_get_string (x).
+	* frontend-passes.c (optimize_minmaxloc): Likewise.
+
+2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/70696
+	* trans-decl.c (gfc_build_qualified_array): Add static decl to parent
+	function only, when the decl-context is not the translation unit.
+
+2017-01-18  Louis Krupp  <louis.krupp@zoho.com>
+
+	PR fortran/50069
+	PR fortran/55086
+	* trans-expr.c (gfc_conv_variable): Don't treat temporary variables
+	as function arguments.
+	* trans-stmt.c (forall_make_variable_temp,
+	generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
+	gfc_trans_forall_1): Don't adjust offset of forall temporary
+	for array sections, make forall temporaries work for substring
+	expressions, improve test coverage by adding -ftest-forall-temp
+	option to request usage of temporary array in forall code.
+	* lang.opt: Add -ftest-forall-temp option.
+	* invoke.texi: Add -ftest-forall-temp option.
+
+2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* primary.c (caf_variable_attr): Improve figuring whether the current
+	component is the last one refed.
+	* trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
+	when allocating pointer or allocatable components.
+
+2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	* gfortran.texi: Add missing parameters to caf-API functions.  Correct
+	typos and clarify some descriptions.
+
+2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/70696
+	Missed some cases, here they are:
+	* trans-decl.c (gfc_build_qualified_array): Add static tokens to the
+	parent function's scope.
+	* trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
+	unnecessary assert.
+
+2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/70697
+	* resolve.c (resolve_lock_unlock_event): Resolve the expression for
+	event's until_count.
+
+2017-01-13  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/70696
+	* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
+	is valid before accessing it.
+
+2017-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR translation/79019
+	PR translation/79020
+	* decl.c (attr_decl1): Fix spelling in translatable string.
+	* intrinsic.texi: Fix spelling - invokation -> invocation.
+	* lang.opt (faggressive-function-elimination, gfc_convert): Fix
+	typos in descriptions.
+	* openmp.c (resolve_omp_clauses): Add missing whitespace to
+	translatable strings.
+
+2017-01-08  Martin Sebor  <msebor@redhat.com>
+
+	PR tree-optimization/78913
+	PR middle-end/77708
+	* trans-common.c (build_equiv_decl): Increase buffer size to avoid
+	truncation for any argument.
+	* trans-types.c (gfc_build_logical_type): Same.
+
+2017-01-07  Andre Vehreschild  <vehre@gcc.gnu.org>
+
+	PR fortran/78781
+	PR fortran/78935
+	* expr.c (gfc_check_pointer_assign): Return the same error message for
+	rewritten coarray pointer assignments like for plain ones.
+	* gfortran.h: Change prototype.
+	* primary.c (caf_variable_attr): Set attributes used ones only only
+	ones.  Add setting of pointer_comp attribute.
+	(gfc_caf_attr): Add setting of pointer_comp attribute.
+	* trans-array.c (gfc_array_allocate): Add flag that the component to
+	allocate is not an ultimate coarray component.  Add allocation of
+	pointer arrays.
+	(structure_alloc_comps): Extend nullify to treat pointer components in
+	coarrays correctly.  Restructure nullify to remove redundant code.
+	(gfc_nullify_alloc_comp): Allow setting caf_mode flags.
+	* trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
+	* trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
+	derived type coarrays with pointer components.
+	* trans-expr.c (gfc_trans_structure_assign): Also treat pointer
+	components.
+	(trans_caf_token_assign): Handle assignment of token of scalar pointer
+	components.
+	(gfc_trans_pointer_assignment): Call above routine.
+	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
+	components.
+	(gfc_conv_intrinsic_caf_get): Likewise.
+	(conv_caf_send): Likewise.
+	* trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
+	a coarray pre-register the tokens.
+	(gfc_trans_deallocate): Simply determining the coarray type (scalar or
+	array) and deregistering it correctly.
+	* trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
+	actual codim to allow lookup of array types in the cache.
+	(gfc_build_array_type): Likewise.
+	(gfc_get_array_descriptor_base): Likewise.
+	(gfc_get_array_type_bounds): Likewise.
+	(gfc_get_derived_type): Likewise.
+	* trans-types.h: Likewise.
+	* trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
+	of coarray components.
+	(gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
+	instead of caf_deregister.
+
+2017-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* simplify.c (simplify_transformation_to_array): Use
+	GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of
+	#pragma GCC diagnostic {push,ignored,pop}.
+
+2017-01-06  Alexandre Oliva <aoliva@redhat.com>
+
+	* simplify.c (simplify_transformation_to_array): Silence
+	array bounds warning.  Fix whitespace.
+
+2017-01-04  Alexandre Oliva <aoliva@redhat.com>
+
+	* module.c (load_omp_udrs): Initialize name.
+
+2017-01-02  Janne Blomqvist  <jb@gcc.gnu.org>
+
+	PR fortran/78534
+	* trans-expr.c (gfc_trans_string_copy): Rework string copy
+	algorithm to avoid -Wstringop-overflow warning.
+
+2017-01-01  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.
+
+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
+notice and this notice are preserved.
diff --git a/gcc/fortran/gfc-internals.texi b/gcc/fortran/gfc-internals.texi
index cef61a767852..7b6718c16a4c 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-2017
+@set copyrights-gfortran 2007-2018
 
 @include gcc-common.texi
 
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index fc95ec0bf746..a8fdf92aaa01 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-2017
+@set copyrights-gfortran 1999-2018
 
 @include gcc-common.texi
 
diff --git a/gcc/fortran/gfortranspec.c b/gcc/fortran/gfortranspec.c
index 7a27f53da572..7749bb069e18 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 2017 Free Software Foundation, Inc.\n",
+	  printf ("Copyright %s 2018 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 58ace824c467..fbe9938b0e31 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -1,5 +1,5 @@
 @ignore
-Copyright (C) 2005-2017 Free Software Foundation, Inc.
+Copyright (C) 2005-2018 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 7b6f161516e4..3d64056591e4 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -1,10 +1,10 @@
-@c Copyright (C) 2004-2017 Free Software Foundation, Inc.
+@c Copyright (C) 2004-2018 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-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 2004-2018 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 f70755679f4c..e03f73ded5b6 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -8035,7 +8035,7 @@ driver::maybe_print_and_exit () const
     {
       printf (_("%s %s%s\n"), progname, pkgversion_string,
 	      version_string);
-      printf ("Copyright %s 2017 Free Software Foundation, Inc.\n",
+      printf ("Copyright %s 2018 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 7dc28bbf216a..e79e34f9d9f4 100644
--- a/gcc/gcov-dump.c
+++ b/gcc/gcov-dump.c
@@ -148,7 +148,7 @@ static void
 print_version (void)
 {
   printf ("gcov-dump %s%s\n", pkgversion_string, version_string);
-  printf ("Copyright (C) 2017 Free Software Foundation, Inc.\n");
+  printf ("Copyright (C) 2018 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 74e77b90d72a..18a33e79f064 100644
--- a/gcc/gcov-tool.c
+++ b/gcc/gcov-tool.c
@@ -526,7 +526,7 @@ static void
 print_version (void)
 {
   fnotice (stdout, "%s %s%s\n", progname, pkgversion_string, version_string);
-  fnotice (stdout, "Copyright %s 2014-2017 Free Software Foundation, Inc.\n",
+  fnotice (stdout, "Copyright %s 2018 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 24e6da09fcf3..a109d6cd5728 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -843,7 +843,7 @@ static void
 print_version (void)
 {
   fnotice (stdout, "gcov %s%s\n", pkgversion_string, version_string);
-  fprintf (stdout, "Copyright %s 2017 Free Software Foundation, Inc.\n",
+  fprintf (stdout, "Copyright %s 2018 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 a829159119f2..4d78e187a04b 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -1,3 +1,7 @@
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* gccgo.texi: Bump @copyrights-go year.
+
 2017-12-12  Tony Reix  <tony.reix@atos.net>
 	    Ian Lance Taylor  <iant@golang.org>
 
diff --git a/gcc/go/gccgo.texi b/gcc/go/gccgo.texi
index e268c25fabfa..f54cc1030035 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-2017
+@set copyrights-go 2010-2018
 
 @copying
 @c man begin COPYRIGHT
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 0a53eaa63464..37ffd6e17ff6 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,7 @@
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* libgomp.texi: Bump @copying's copyright year.
+
 2017-12-30  Tom de Vries  <tom@codesourcery.com>
 
 	PR libgomp/83046
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index 8753aaf22210..c994a404d063 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -7,7 +7,7 @@
 
 
 @copying
-Copyright @copyright{} 2006-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 2006-2018 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 fb2e94932248..39dad15d929e 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,3 +1,7 @@
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* libitm.texi: Bump @copying's copyright year.
+
 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
 
 	* Makefile.in: Regenerate.
diff --git a/libitm/libitm.texi b/libitm/libitm.texi
index 7f49ca7d2e60..7a91348947f0 100644
--- a/libitm/libitm.texi
+++ b/libitm/libitm.texi
@@ -7,7 +7,7 @@
 
 
 @copying
-Copyright @copyright{} 2011-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 2011-2018 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 284f4d98e74c..5a649e0e06bc 100644
--- a/libquadmath/ChangeLog
+++ b/libquadmath/ChangeLog
@@ -1,4 +1,8 @@
- 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
+2018-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* libquadmath.texi: Bump @copying's copyright year.
+
+2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
 
 	* Makefile.am: Update AM_CFLAGS.
 	* Makefile.in: Regenerate:
diff --git a/libquadmath/libquadmath.texi b/libquadmath/libquadmath.texi
index e107ff9e75f0..af576334a3e0 100644
--- a/libquadmath/libquadmath.texi
+++ b/libquadmath/libquadmath.texi
@@ -6,7 +6,7 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2010-2017 Free Software Foundation, Inc.
+Copyright @copyright{} 2010-2018 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
-- 
GitLab