[gcc/devel/gccgo] re PR tree-optimization/93098 (ICE with negative shifter)

Ian Lance Taylor ian@gcc.gnu.org
Wed Jan 22 23:55:00 GMT 2020


https://gcc.gnu.org/g:2efa10d528bb20bff299a899b1f226b6174b50da

commit 2efa10d528bb20bff299a899b1f226b6174b50da
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Jan 1 01:20:39 2020 +0100

    re PR tree-optimization/93098 (ICE with negative shifter)
    
    	PR tree-optimization/93098
    	* match.pd (popcount): For shift amounts, use integer_onep
    	or wi::to_widest () == cst instead of tree_to_uhwi () == cst
    	tests.  Make sure that precision is power of two larger than or equal
    	to 16.  Ensure shift is never negative.  Use HOST_WIDE_INT_UC macro
    	instead of ULL suffixed constants.  Formatting fixes.
    
    	* gcc.c-torture/compile/pr93098.c: New test.
    
    From-SVN: r279809

Diff:
---
 gcc/ChangeLog                                 | 37056 +-----------------------
 gcc/ChangeLog-2019                            | 37052 +++++++++++++++++++++++
 gcc/match.pd                                  |    79 +-
 gcc/testsuite/ChangeLog                       | 19185 +-----------
 gcc/testsuite/ChangeLog-2019                  | 19187 ++++++++++++
 gcc/testsuite/gcc.c-torture/compile/pr93098.c |    37 +
 6 files changed, 56332 insertions(+), 56264 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9f5782f..70caa82 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,37051 +1,13 @@
-2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_condition): Only nullify cond_expr
-	if we've created a new condition.  Don't nullify it if we've decided
-	to keep it and then invert the result.
-
-2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Return
-	the incoming virtual operand definition.
-	(vect_do_peeling): When vectorizing an epilogue loop, handle the
-	case in which the main loop has a virtual phi and the epilogue
-	and scalar loops don't.  Restore an earlier comment about the
-	update_ssa call.
-
-2019-12-30  Olivier Hainque  <hainque@adacore.com>
-
-	* config/vxworks/stdint.h: New file.  Include _yvals.h
-	then stdint-gcc.h.
-	* config/t-vxworks: Arrange to install the stdint.h wrapper.
-	* config.gcc (*-*-vxworks*): Add stdint-gcc.h to $extra_headers
-	so it gets copied.  Set use_gcc_stdint to request _not_ crafting
-	stdint.h through the common Makefile rules.
-
-2019-12-30  Olivier Hainque  <hainque@adacore.com>
-
-	* config/vxworks/_yvals.h: New file.
-	* config/vxworks/_yvals-wrapper.h: New file.
-	* gcc/config/vxworks/math.h: Use it to wrap the VxWorks
-	math.h header.
-	* gcc/config/vxworks/complex.h: Likewise.
-	* gcc/config/vxworks/setjmp.h: Likewise.
-	* gcc/config/vxworks/inttypes.h: Likewise.
-	* config.gcc (*-*-vxworks*): Add system header wrappers
-	to extra_headers.
-	(powerpc-*-vxworks*): Reuse the common extra_headers.
-
-2019-12-30  Olivier Hainque  <hainque@adacore.com>
-
-	* config/vxworks/_vxworks-versions.h: New file.
-	* config.gcc (*-*-vxworks*): Add it to extra_headers.
-
-2019-12-30  Olivier Hainque  <hainque@adacore.com>
-
-	* config/t-vxworks: Rework the vxworks.o compilation
-	rules to use $(COMPILE).
-
-2019-12-30  Joel Brobecker  <brobecker@adacore.com>
-
-	* config.gcc <*-*-vxworks*>: Add vxworks-c.o to c_target_objs
-	and cxx_target_objs. Set target_has_targetcm to "yes". Add
-	vxworks-predef.h to extra_headers.
-	* config/t-vxworks (vxworks-c.o): New target.
-	* config/vxworks-c.c: New file.
-	* config/vxworks/vxworks-predef.h: New file.
-
-2019-12-30  Alexandre Oliva  <oliva@adacore.com>
-            Olivier Hainque  <hainque@adacore.com>
-
-	* config/vx-common.h (WCHAR_TYPE_SIZE): 32 on VxWorks 7.
-	(WCHAR_TYPE): Pick accordingly.
-	(WINT_TYPE_SIZE): Define in terms of WCHAR_TYPE_SIZE.
-	(WINT_TYPE): Define in terms of WCHAR_TYPE.
-
-2019-12-30  Olivier Hainque  <hainque@adacore.com>
-
-	* config/vx-common.h: Minor reorganization and add
-	sectioning comments.
-
-2019-12-30  Doug Rupp  <rupp@adacore.com>
-
-	* config/rs6000/vxworks.h (STARTFILE_PREFIX_SPEC): Define.
-
-2019-12-30  Olivier Hainque  <hainque@adacore.com>
-            Jerome Lambourg  <labourg@adacore.com>
-
-	* config/t-vxworks: Arrange to alter/restore glimits.h
-	before/after stmp-int-hdrs, so it uses a different macro
-	name to protect itself against recursive inclusions.
-
-2019-12-30  Peter Bergner <bergner@linux.ibm.com>
-
-	PR target/92923
-	* config/rs6000/rs6000-builtin.def (VAND, VANDC, VNOR, VOR, VXOR):
-	Delete.
-	(EQV_V16QI_UNS, EQV_V8HI_UNS, EQV_V4SI_UNS, EQV_V2DI_UNS, EQV_V1TI_UNS,
-	NAND_V16QI_UNS, NAND_V8HI_UNS, NAND_V4SI_UNS, NAND_V2DI_UNS,
-	NAND_V1TI_UNS, ORC_V16QI_UNS, ORC_V8HI_UNS, ORC_V4SI_UNS, ORC_V2DI_UNS,
-	ORC_V1TI_UNS, VAND_V16QI_UNS, VAND_V16QI, VAND_V8HI_UNS, VAND_V8HI,
-	VAND_V4SI_UNS, VAND_V4SI, VAND_V2DI_UNS, VAND_V2DI, VAND_V4SF,
-	VAND_V2DF, VANDC_V16QI_UNS, VANDC_V16QI, VANDC_V8HI_UNS, VANDC_V8HI,
-	VANDC_V4SI_UNS, VANDC_V4SI, VANDC_V2DI_UNS, VANDC_V2DI, VANDC_V4SF,
-	VANDC_V2DF, VNOR_V16QI_UNS, VNOR_V16QI, VNOR_V8HI_UNS, VNOR_V8HI,
-	VNOR_V4SI_UNS, VNOR_V4SI, VNOR_V2DI_UNS, VNOR_V2DI, VNOR_V4SF,
-	VNOR_V2DF, VOR_V16QI_UNS, VOR_V16QI, VOR_V8HI_UNS, VOR_V8HI,
-	VOR_V4SI_UNS, VOR_V4SI, VOR_V2DI_UNS, VOR_V2DI, VOR_V4SF, VOR_V2DF,
-	VXOR_V16QI_UNS, VXOR_V16QI, VXOR_V8HI_UNS, VXOR_V8HI,
-	VXOR_V4SI_UNS, VXOR_V4SI, VXOR_V2DI_UNS, VXOR_V2DI, VXOR_V4SF,
-	VXOR_V2DF): Add definitions.
-	* config/rs6000/rs6000-call.c (altivec_overloaded_builtins)
-	<ALTIVEC_BUILTIN_VAND, ALTIVEC_BUILTIN_VANDC, ALTIVEC_BUILTIN_VNOR,
-	ALTIVEC_BUILTIN_VOR, ALTIVEC_BUILTIN_VXOR>: Remove.
-	<ALTIVEC_BUILTIN_VAND_V4SF, ALTIVEC_BUILTIN_VAND_V2DF,
-	ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V2DI_UNS,
-	ALTIVEC_BUILTIN_VAND_V4SI_UNS, ALTIVEC_BUILTIN_VAND_V4SI,
-	ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V8HI,
-	ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V16QI_UNS,
-	ALTIVEC_BUILTIN_VANDC_V4SF, ALTIVEC_BUILTIN_VANDC_V2DF,
-	ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS,
-	ALTIVEC_BUILTIN_VANDC_V4SI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI,
-	ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V8HI,
-	ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V4SF, ALTIVEC_BUILTIN_VNOR_V2DF,
-	ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
-	ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF,
-	ALTIVEC_BUILTIN_VOR_V2DI, ALTIVEC_BUILTIN_VOR_V2DI_UNS,
-	ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI,
-	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI,
-	ALTIVEC_BUILTIN_VOR_V16QI, ALTIVEC_BUILTIN_VOR_V16QI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V4SF, ALTIVEC_BUILTIN_VXOR_V2DF,
-	ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V4SI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI,
-	ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS>: Add
-	definitions.
-	<P8V_BUILTIN_EQV_V16QI, P8V_BUILTIN_EQV_V8HI, P8V_BUILTIN_EQV_V4SI,
-	P8V_BUILTIN_EQV_V2DI, P8V_BUILTIN_NAND_V16QI, P8V_BUILTIN_NAND_V8HI,
-	P8V_BUILTIN_NAND_V4SI, P8V_BUILTIN_NAND_V2DI, P8V_BUILTIN_ORC_V16QI,
-	P8V_BUILTIN_ORC_V8HI, P8V_BUILTIN_ORC_V4SI,
-	P8V_BUILTIN_ORC_V2DI>: Change unsigned usages to use the new *_UNS
-	definition names.
-	(rs6000_gimple_fold_builtin) <ALTIVEC_BUILTIN_VAND_V16QI_UNS,
-	ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V8HI_UNS,
-	ALTIVEC_BUILTIN_VAND_V8HI, ALTIVEC_BUILTIN_VAND_V4SI_UNS,
-	ALTIVEC_BUILTIN_VAND_V4SI, ALTIVEC_BUILTIN_VAND_V2DI_UNS,
-	ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V4SF,
-	ALTIVEC_BUILTIN_VAND_V2DF, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
-	ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V8HI_UNS,
-	ALTIVEC_BUILTIN_VANDC_V8HI, ALTIVEC_BUILTIN_VANDC_V4SI_UNS,
-	ALTIVEC_BUILTIN_VANDC_V4SI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS,
-	ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V4SF,
-	ALTIVEC_BUILTIN_VANDC_V2DF, P8V_BUILTIN_NAND_V16QI_UNS,
-	P8V_BUILTIN_NAND_V8HI_UNS, P8V_BUILTIN_NAND_V4SI_UNS,
-	P8V_BUILTIN_NAND_V2DI_UNS, P8V_BUILTIN_NAND_V2DI,
-	ALTIVEC_BUILTIN_VOR_V16QI_UNS, ALTIVEC_BUILTIN_VOR_V16QI,
-	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI,
-	ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI,
-	ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V2DI,
-	ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF,
-	P8V_BUILTIN_ORC_V16QI_UNS, P8V_BUILTIN_ORC_V8HI_UNS,
-	P8V_BUILTIN_ORC_V4SI_UNS, P8V_BUILTIN_ORC_V2DI_UNS,
-	P8V_BUILTIN_ORC_V2DI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V4SI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V4SI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V4SF,
-	ALTIVEC_BUILTIN_VXOR_V2DF, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V4SF,
-	ALTIVEC_BUILTIN_VNOR_V2DF>: Use new definition names.
-	(builtin_function_type) <ALTIVEC_BUILTIN_VAND_V16QI_UNS,
-	ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V4SI_UNS,
-	ALTIVEC_BUILTIN_VAND_V2DI_UNS, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
-	ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI_UNS,
-	ALTIVEC_BUILTIN_VANDC_V2DI_UNS, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V8HI_UNS, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
-	ALTIVEC_BUILTIN_VNOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V16QI_UNS,
-	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V4SI_UNS,
-	ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VXOR_V16QI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V8HI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI_UNS,
-	ALTIVEC_BUILTIN_VXOR_V2DI_UNS, P8V_BUILTIN_EQV_V16QI_UNS,
-	P8V_BUILTIN_EQV_V8HI_UNS, P8V_BUILTIN_EQV_V4SI_UNS,
-	P8V_BUILTIN_EQV_V2DI_UNS, P8V_BUILTIN_EQV_V1TI_UNS,
-	P8V_BUILTIN_NAND_V16QI_UNS, P8V_BUILTIN_NAND_V8HI_UNS,
-	P8V_BUILTIN_NAND_V4SI_UNS, P8V_BUILTIN_NAND_V2DI_UNS,
-	P8V_BUILTIN_NAND_V1TI_UNS, P8V_BUILTIN_ORC_V16QI_UNS,
-	P8V_BUILTIN_ORC_V8HI_UNS, P8V_BUILTIN_ORC_V4SI_UNS,
-	P8V_BUILTIN_ORC_V2DI_UNS, P8V_BUILTIN_ORC_V1TI_UNS>: Handle unsigned
-	builtins.
-
-2019-12-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/93078
-	* config/i386/i386-builtins.c (ix86_builtin_vectorized_function):
-	Remove CASE_CFN_RINT handling.
-	* config/i386/i386-builtin.def (IX86_BUILTIN_RINTPD,
-	IX86_BUILTIN_RINTPS, IX86_BUILTIN_RINTPD256, IX86_BUILTIN_RINTPS256):
-	Remove.
-	* config/i386/sse.md (nearbyint<mode>2, rint<mode>2): New expanders
-	with VF iterator.
-
-2019-12-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vect_get_strided_load_store_ops): Copy
-	DR_STEP before gimplifying it.
-
-2019-12-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_condition): For extract-last
-	reductions, check that the target supports the required comparison
-	operation.
-
-2019-12-27  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/iterators.md (V_INT_CONTAINER): Fix VNx2SF entry.
-
-2019-12-27  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (vectorizable_reduction): Check whether the
-	target supports the required VEC_COND_EXPR operation before
-	allowing the fallback handling of masked fold-left reductions.
-
-2019-12-24  Jiufu Guo  <guojiufu@linux.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Enable
-	-fweb and -frename-registers with -funroll-loops
-
-2019-12-22  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/invoke.texi (-flto): Use "compile time" as a noun.
-
-2019-12-21  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/93015
-	* ipa-cp.c (ipcp_store_vr_results): Check that info exists
-
-2019-12-20   Michael Meissner  <meissner@linux.ibm.com>
-
-	* config/rs6000/predicates.md (cint34_operand): Use
-	SIGNED_INTEGER_34BIT_P macro.
-	* config/rs6000/rs6000.c (num_insns_constant_gpr): Use the
-	SIGNED_INTEGER_16BIT_P and SIGNED_INTEGER_34BIT_P macros.
-	(address_to_insn_form): Use the SIGNED_INTEGER_16BIT_P and
-	SIGNED_INTEGER_34BIT_P macros.
-	* config/rs6000/rs6000.h (SIGNED_INTEGER_NBIT_P): New macro.
-	(SIGNED_INTEGER_16BIT_P): Rename SIGNED_16BIT_OFFSET_P to be
-	SIGNED_INTEGER_34BIT_P.
-	(SIGNED_INTEGER_34BIT_P): Rename SIGNED_34BIT_OFFSET_P to be
-	SIGNED_INTEGER_34BIT_P.
-
-2019-12-20  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
-
-	* doc/sourcebuild.texi
-	(arm_v8_2a_bf16_neon_ok): Document new target supports option.
-	(arm_v8_2a_i8mm_ok): Likewise.
-
-2019-12-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92841
-	* config/i386/i386.md (*stack_protect_set_3): For pic_32bit_operand
-	always use lea{q}, no matter what value which_alternative has.
-
-	PR target/93002
-	* config/i386/i386.md (dec reg; cmp $-1, reg; jne lab): New
-	define_peephole2.
-
-2019-12-19  Julian Brown  <julian@codesourcery.com>
-
-	* gimplify.c (gimplify_omp_var_data): Add GOVD_MAP_HAS_ATTACHMENTS.
-	(insert_struct_comp_map): Support derived-type member mappings
-	for arrays with descriptors which use GOMP_MAP_TO_PSET.  Support
-	GOMP_MAP_ATTACH_DETACH.
-	(gimplify_scan_omp_clauses): Tidy up OACC_ENTER_DATA/OACC_EXIT_DATA
-	mappings.  Handle attach/detach clauses and component references.
-	(gimplify_adjust_omp_clauses_1): Skip adjustments for explicit
-	attach/detach clauses.
-	(gimplify_omp_target_update): Handle struct mappings and finalize for
-	detach operations.
-	* omp-low.c (lower_omp_target): Support GOMP_MAP_ATTACH,
-	GOMP_MAP_DETACH, GOMP_MAP_FORCE_DETACH.
-	* tree-pretty-print.c (dump_omp_clause): Likewise, plus
-	GOMP_MAP_ATTACH_DETACH.
-
-2019-12-19  Julian Brown  <julian@codesourcery.com>
-
-	* gimplify.c (insert_struct_comp_map, extract_base_bit_offset): New.
-	(gimplify_scan_omp_clauses): Outline duplicated code into calls to
-	above two functions.
-
-2019-12-19  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR target/92905
-	* lra-constraints.c (process_alt_operands): Check offmemok when
-	processing preferred_reload_class.
-
-2019-12-19  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md
-	(<convop><VEC_ALL1REG_INT_ALT:mode><VEC_ALL1REG_INT_MODE:mode>2<exec>):
-	Change input predcate to gcn_alu_operand.
-	(extend<VEC_ALL1REG_INT_ALT:mode><VEC_ALL1REG_INT_MODE:mode>2<exec>):
-	Likewise.
-	(truncv64di<mode>2): Likewise.
-	(truncv64di<mode>2_exec): Likewise.
-	(<convop><mode>v64di2): Likewise.
-	(<convop><mode>v64di2_exec): Likewise.
-
-2019-12-19  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md (*plus_carry_dpp_shr_<mode>): Rename to ...
-	(*plus_carry_dpp_shr_v64si): ... this, and replace all
-	VEC_1REG_INT_MODE with V64SI.
-
-2019-12-19  David Malcolm  <dmalcolm@redhat.com>
-
-	* hash-map-tests.c (selftest::test_map_of_int_to_strings): New
-	selftest.
-	(selftest::hash_map_tests_c_tests): Call it.
-
-2019-12-19  David Malcolm  <dmalcolm@redhat.com>
-
-	* gimple-predict.h (gimple_predict_predictor): Make "gs" param
-	const.
-	(gimple_predict_outcome): Likewise.
-	* gimple-pretty-print.c (do_niy): Likewise.
-	(dump_unary_rhs): Likewise.
-	(dump_binary_rhs): Likewise.
-	(dump_ternary_rhs): Likewise.
-	(dump_gimple_assign): Likewise.
-	(dump_gimple_return): Likewise.
-	(dump_gimple_call_args): Likewise.
-	(pp_points_to_solution): Make "pt" param const.
-	(dump_gimple_call): Make "gs" param const.
-	(dump_gimple_switch): Likewise.
-	(dump_gimple_cond): Likewise.
-	(dump_gimple_label): Likewise.
-	(dump_gimple_goto): Likewise.
-	(dump_gimple_bind): Likewise.
-	(dump_gimple_try): Likewise.
-	(dump_gimple_catch): Likewise.
-	(dump_gimple_eh_filter): Likewise.
-	(dump_gimple_eh_must_not_throw): Likewise.
-	(dump_gimple_eh_else): Likewise.
-	(dump_gimple_resx): Likewise.
-	(dump_gimple_eh_dispatch): Likewise.
-	(dump_gimple_debug): Likewise.
-	(dump_gimple_omp_for): Likewise.
-	(dump_gimple_omp_continue): Likewise.
-	(dump_gimple_omp_single): Likewise.
-	(dump_gimple_omp_taskgroup): Likewise.
-	(dump_gimple_omp_target): Likewise.
-	(dump_gimple_omp_teams): Likewise.
-	(dump_gimple_omp_sections): Likewise.
-	(dump_gimple_omp_block): Likewise.
-	(dump_gimple_omp_critical): Likewise.
-	(dump_gimple_omp_ordered): Likewise.
-	(dump_gimple_omp_scan): Likewise.
-	(dump_gimple_omp_return): Likewise.
-	(dump_gimple_transaction): Likewise.
-	(dump_gimple_asm): Likewise.
-	(dump_gimple_phi): Make "phi" param const.
-	(dump_gimple_omp_parallel): Make "gs" param const.
-	(dump_gimple_omp_task): Likewise.
-	(dump_gimple_omp_atomic_load): Likewise.
-	(dump_gimple_omp_atomic_store): Likewise.
-	(dump_gimple_mem_ops): Likewise.
-	(pp_gimple_stmt_1): Likewise.  Add "const" to the various as_a <>
-	casts throughout.
-	* gimple-pretty-print.h (gimple_stmt_1): Make gimple * param const.
-	* gimple.h (is_a_helper <const gdebug *>::test): New.
-	(is_a_helper <const ggoto *>::test): New.
-	(is_a_helper <const glabel *>::test): New.
-	(is_a_helper <const geh_else *>::test): New.
-	(is_a_helper <const geh_mnt *>::test): New.
-	(is_a_helper <const gswitch *>::test): New.
-	(is_a_helper <const gtry *>::test): New.
-	(is_a_helper <const greturn *>::test): New.
-	(gimple_call_tail_p): Make param const.
-	(gimple_call_return_slot_opt_p): Likewise.
-	(gimple_call_va_arg_pack_p): Likewise.
-	(gimple_call_use_set): Add const overload.
-	(gimple_call_clobber_set): Likewise.
-	(gimple_has_lhs): Make param const.
-	(gimple_bind_body): Likewise.
-	(gimple_catch_handler): Likewise.
-	(gimple_eh_filter_failure): Likewise.
-	(gimple_eh_must_not_throw_fndecl): Likewise.
-	(gimple_eh_else_n_body): Likewise.
-	(gimple_eh_else_e_body): Likewise.
-	(gimple_try_eval): Likewise.
-	(gimple_try_cleanup): Likewise.
-	(gimple_phi_arg): Add const overload.
-	(gimple_phi_arg_def): Make param const.
-	(gimple_phi_arg_edge): Likewise.
-	(gimple_phi_arg_location): Likewise.
-	(gimple_phi_arg_has_location): Likewise.
-	(gimple_debug_bind_get_var): Likewise.
-	(gimple_debug_bind_get_value): Likewise.
-	(gimple_debug_source_bind_get_var): Likewise.
-	(gimple_debug_source_bind_get_value): Likewise.
-	(gimple_omp_body): Likewise.
-	(gimple_omp_for_collapse): Likewise.
-	(gimple_omp_for_pre_body): Likewise.
-	(gimple_transaction_body): Likewise.
-	* tree-eh.c (lookup_stmt_eh_lp_fn): Make param "t" const.
-	(lookup_stmt_eh_lp): Likewise.
-	* tree-eh.h (lookup_stmt_eh_lp_fn): Make param const.
-	(lookup_stmt_eh_lp): Likewise.
-	* tree-ssa-alias.h (pt_solution_empty_p): Make param const.
-	* tree-ssa-structalias.c (pt_solution_empty_p): Likewise.
-
-2019-12-19  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): When
-	handling partial SVE vectors, use the container mode rather than
-	the element mode if the constant isn't a single-element duplicate.
-	* config/aarch64/aarch64-sve.md (@aarch64_sve_reinterpret<mode>):
-	Check targetm.can_change_mode_class instead of BYTES_BIG_ENDIAN.
-
-2019-12-19  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md (addv64si3<exec_clobber>): Rename to ...
-	(add<mode>3<exec_clobber>): ... this, and use VEC_ALL1REG_INT_MODE.
-	(addv64si3_dup<exec_clobber>): Rename to ...
-	(add<mode>3_dup<exec_clobber>): ... this, and use VEC_ALL1REG_INT_MODE.
-	(subv64si3<exec_clobber>): Rename to ...
-	(sub<mode>3<exec_clobber>): ... this, and use VEC_ALL1REG_INT_MODE.
-
-2019-12-19  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_can_change_mode_class):
-	Don't allow changes between partial SVE modes and other kinds
-	of mode.  Don't allow changes between two partial SVE modes
-	if they have different container or element sizes.
-
-2019-12-19  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_function_value_1): New function,
-	split out from...
-	(aarch64_function_value): ...here.  Handle partial SVE modes by
-	pretending that they have the associated/traditional integer mode,
-	then wrap the result in the real mode.
-	(aarch64_layout_arg): Take an orig_mode argument and pass it to
-	aarch64_function_arg_alignment.  Handle partial SVE modes analogously
-	to aarch64_function_value.
-	(aarch64_function_arg): Update call accordingly.
-	(aarch64_function_arg_advance): Likewise.
-
-2019-12-19  Jan Hubicka  <hubicka@ucw.cz>
-	    Xi Ruoyao  <xry111@mengyan1223.wang>
-
-	* cgraph.c (cgraph_node_cannot_be_local_p_1): Prevent targets of
-	symver attributes to be localized.
-	* ipa-visibility.c (cgraph_externally_visible_p,
-	varpool_node::externally_visible_p): Likewise.
-	* symtab.c (symtab_node::verify_base): Check visibility of symbol
-	versions.
-
-2019-12-19  Jan Hubicka  <hubicka@ucw.cz>
-	    Luo Xiong Hu  <luoxhu@linux.ibm.com
-
-	* ipa-fnsummary.h (ipa_size_summary): Remove copy consturctor.
-	(ipa_size_summary_t): Add duplicate method; move to heap.
-	* ipa-fnsumary.c (ipa_fn_summary_alloc): Fix allocation.
-
-2019-12-19  Feng Xue  <fxue@os.amperecomputing.com>
-
-	PR ipa/92794
-	* ipa-cp.c (self_recursive_agg_pass_through_p): New function.
-	(intersect_with_plats): Use error_mark_node as place holder
-	when aggregate jump function is simple pass-through for
-	self-recursive call.
-	(intersect_with_agg_replacements): Likewise.
-	(intersect_aggregates_with_edge): Likewise.
-	(find_aggregate_values_for_callers_subset): Likewise.
-
-2019-12-18  David Malcolm  <dmalcolm@redhat.com>
-
-	* common.opt (fdiagnostics-show-cwe): Add.
-	* diagnostic-core.h (class diagnostic_metadata): New forward decl.
-	(warning_at): Add overload taking a const diagnostic_metadata &.
-	(emit_diagnostic_valist): Add overload taking a
-	const diagnostic_metadata *.
-	* diagnostic-format-json.cc: Include "diagnostic-metadata.h".
-	(json_from_metadata): New function.
-	(json_end_diagnostic): Call it to add "metadata" child for
-	diagnostics with metadata.
-	(diagnostic_output_format_init): Clear context->show_cwe.
-	* diagnostic-metadata.h: New file.
-	* diagnostic.c: Include "diagnostic-metadata.h".
-	(diagnostic_impl): Add const diagnostic_metadata * param.
-	(diagnostic_n_impl): Likewise.
-	(diagnostic_initialize): Initialize context->show_cwe.
-	(diagnostic_set_info_translated): Initialize diagnostic->metadata.
-	(get_cwe_url): New function.
-	(print_any_cwe): New function.
-	(diagnostic_report_diagnostic): Call print_any_cwe if the
-	diagnostic has non-NULL metadata.
-	(emit_diagnostic): Pass NULL as the metadata in the call to
-	diagnostic_impl.
-	(emit_diagnostic_valist): Likewise.
-	(emit_diagnostic_valist): New overload taking a
-	const diagnostic_metadata *.
-	(inform): Pass NULL as the metadata in the call to
-	diagnostic_impl.
-	(inform_n): Likewise for diagnostic_n_impl.
-	(warning): Likewise.
-	(warning_at): Likewise.  Add overload that takes a
-	const diagnostic_metadata &.
-	(warning_n): Pass NULL as the metadata in the call to
-	diagnostic_n_impl.
-	(pedwarn): Likewise for diagnostic_impl.
-	(permerror): Likewise.
-	(error): Likewise.
-	(error_n): Likewise.
-	(error_at): Likewise.
-	(sorry): Likewise.
-	(sorry_at): Likewise.
-	(fatal_error): Likewise.
-	(internal_error): Likewise.
-	(internal_error_no_backtrace): Likewise.
-	* diagnostic.h (diagnostic_info::metadata): New field.
-	(diagnostic_context::show_cwe): New field.
-	* doc/invoke.texi (-fno-diagnostics-show-cwe): New option.
-	* opts.c (common_handle_option): Handle OPT_fdiagnostics_show_cwe.
-	* toplev.c (general_init): Initialize global_dc->show_cwe.
-
-2019-12-19  Julian Brown  <julian@codesourcery.com>
-	    Maciej W. Rozycki  <macro@codesourcery.com>
-	    Tobias Burnus  <tobias@codesourcery.com>
-	    Thomas Schwinge  <thomas@codesourcery.com>
-
-	* omp-low.c (lower_omp_target): Support GOMP_MAP_NO_ALLOC.
-	* tree-pretty-print.c (dump_omp_clause): Likewise.
-
-2019-12-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* ira.c (ira): Use simple LRA algorithm when not optimizing.
-
-2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* gimplify.c (gimplify_omp_target_update): Elaborate 'exit data'
-	'finalize' handling.
-
-2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
-
-	PR middle-end/86416
-	*  Makefile.in (CFLAGS-lto-streamer-in.o): Pass target_noncanonical on.
-	* lto-streamer-in.c (lto_input_mode_table): Improve unsupported-mode
-	diagnostic.
-
-2019-12-18  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64-cores.def: 
-	("cortex-a76ae"): Use neoversen1 tuning.
-	("cortex-a77"): Likewise.
-	("cortex-a65"): Use cortexa53 scheduler.
-	("cortex-a65ae"): Likewise.
-	("neoverse-e1"): Use cortexa73 tuning.
-
-2019-12-18  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/92971
-	* ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Fix
-	definition of values, release memory on exit.
-
-2019-12-17  Jan Hubicka  <hubicka@ucw.cz>
-	    Martin Jambor  <mjambor@suse.cz>
-
-	* ipa-param-manipulation.h (get_original_index): Declare.
-	* ipa-param-manipulation.c (ipa_param_adjustments::get_original_index):
-	New member function.
-	* ipa-prop.c (ipcp_get_parm_bits): New function.
-	* ipa-prop.h (ipcp_get_parm_bits): Declare.
-	* tree-ssa-ccp.c: Include cgraph.h, alloc-pool.h, symbol-summary.h,
-	ipa-utils.h and ipa-prop.h
-	(get_default_value): Use ipcp_get_parm_bits.
-
-2019-12-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR lto/92972
-	* lto-wrapper.c (merge_and_complain): Use just "-fno-pie" instead of
-	big ? "-fno-pie" : "-fno-pie".  Formatting fixes.  Fix comment typo.
-
-2019-12-17  Martin Sebor  <msebor@redhat.com>
-
-	PR c++/61339
-	* doc/invoke.texi (-Wmismatched-tags, -Wredundant-tags): Document
-	new C++ options.
-
-2019-12-17  Michael Meissner  <meissner@linux.ibm.com>
-
-	* config/rs6000/rs6000.c (num_insns_constant_gpr): Return 1 if the
-	constant can be loaded with PLI if -mcpu=future.
-	* config/rs6000/rs6000.md (add<mode>3): Add alternative to
-	generate PADDI for 34-bit constants if -mcpu=future.
-	(movdi_internal64): Add alternative to use PLI to load up 34-bit
-	constants if -mcpu=future.
-	(movsi_internal1): Add alternative to use PLI to load up 32-bit
-	constants if -mcpu=future.
-	* config/rs6000/predicates.md (add_operand): Allow eI constants.
-
-2019-12-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92841
-	* config/i386/i386.md (@stack_protect_set_1_<mode>,
-	@stack_protect_test_1_<mode>): Use output_asm_insn.
-	(*stack_protect_set_2_<mode>, *stack_protect_set_3): New define_insns
-	and corresponding define_peephole2s.
-
-2019-12-17  Jan Hubicka  <hubicka@ucw.cz>
-
-	* symtab.c (symtab_node::get_partitioning_class): Aliases of external
-	symbols are external.
-
-2019-12-17  Christophe Lyon  <christophe.lyon@linaro.org>
-
-	* config/arm/arm-protos.h (thumb1_gen_const_int): Add new prototype.
-	* config/arm/arm.c (arm_option_check_internal): Remove restriction
-	on MOVT for -mpure-code.
-	(thumb1_gen_const_int): New function.
-	(thumb1_legitimate_address_p): Support -mpure-code.
-	(thumb1_rtx_costs): Likewise.
-	(thumb1_size_rtx_costs): Likewise.
-	(arm_thumb1_mi_thunk): Likewise.
-	* config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Likewise.
-	* config/arm/thumb1.md (thumb1_movsi_symbol_ref): New.
-	(*thumb1_movhf): Support -mpure-code.
-	* doc/invoke.texi (-mpure-code): Remove restriction on MOVT.
-
-2019-12-17  Andrew Stubbs  <ams@codesourcery.com>
-
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Mention pr92772
-	in the comments.
-
-2019-12-17  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md (extract_last_<mode>): New expander.
-	(fold_extract_last_<mode>): New expander.
-
-2019-12-17  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
-	(CTZ_DEFINED_VALUE_AT_ZERO): Define.
-	* config/gcn/gcn.md (s_mnemonic): Add clz and ctz.
-	(expander): Likewise.
-	(countzeros): New code iterator.
-	(<expander>si2): New insn pattern.
-	(<expander>di2): New insn pattern.
-
-2019-12-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92962
-	* common/config/i386/i386-common.c (processor_alias_table): Formatting
-	fixes.
-	* doc/invoke.texi (bdver3, bdver4, znver1): Add missing closing paren.
-	(znver2): Likewise.  Add RDPID and WBNOINVD, remove spurious comma
-	before CLWB.
-
-2019-12-17  Hongyu Wang  <hongyu.wang@intel.com>
-
-	PR target/92651
-	* config/i386/i386.h (TARGET_EXPAND_ABS): New macro.
-	* config/i386/x86-tune.def (X86_TUNE_EXPAND_ABS): New.
-	* config/i386/i386.md (abs<SWI48x>2): New define_expand.
-
-2019-12-17  H.J. Lu  <hjl.tools@gmail.com>
-
-	PR target/92807
-	* config/i386/i386.c (ix86_lea_outperforms): Check !TARGET_BONNELL.
-	(ix86_avoid_lea_for_addr): When not optimizing for Bonnell, use add
-	for a = a + b and a = b + a.
-
-2019-12-16  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/92952
-	* builtins.c (compute_objsize): Adjust offset by the array low bound.
-
-2019-12-16  David Malcolm  <dmalcolm@redhat.com>
-
-	* pretty-print.c (pp_write_text_as_html_like_dot_to_stream): New
-	function.
-	* pretty-print.h (pp_write_text_as_html_like_dot_to_stream): New decl.
-
-2019-12-16  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (movsi_to_cr_one): Use CR0_REGNO instead of
-	hardcoding the (old, expired) register number.
-	(*mtcrfsi): Ditto.
-
-2019-12-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config.gcc: s/msp430*-*-*/msp430-*-*.
-	Handle msp430-*-elfbare.
-	* config/msp430/msp430-devices.c (TARGET_SUBDIR): Define.
-	(_MSPMKSTR): Define.
-	(__MSPMKSTR): Define.
-	(rest_of_devices_path): Use TARGET_SUBDIR value in string.
-	* config/msp430/msp430.c (msp430_option_override): Error if
-	-fuse-cxa-atexit is used when it has been disabled at configure time.
-	* config/msp430/t-msp430: Define TARGET_SUBDIR when building
-	msp430-devices.o.
-	* doc/install.texi: Document msp430-*-elf and msp430-*-elfbare.
-	* doc/invoke.texi: Update documentation about which path devices.csv is
-	searched for.
-
-2019-12-16  Andreas Krebbel  <krebbel@linux.ibm.com>
-
-	PR target/92950
-	* config/s390/vector.md ("mov<mode>" for V_8): Replace lh, lhy,
-	and lhrl with llc.
-
-2019-12-14  Martin Sebor  <msebor@redhat.com>
-
-	* doc/extend.texi (attribute access): Correct typos.
-
-2019-12-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR ipa/92357
-	* ipa-fnsummary.c (ipa_fn_summary_write): Use
-	lto_symtab_encoder_iterator with lsei_start_function_in_partition and
-	lsei_next_function_in_partition instead of walking all cgraph nodes
-	in encoder.
-
-	PR tree-optimization/92930
-	* ipa-pure-const.c (special_builtin_state): Don't handle
-	BUILT_IN_APPLY.  Formatting fixes.
-	(check_call): Formatting fixes.
-
-2019-12-14  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.h (DARWIN_EXTRA_SPECS): Add new
-	bundle spec. (DARWIN_BUNDLE1_SPEC): New.
-	(STARTFILE_SPEC): Use darwin bundle spec.
-	* config/rs6000/darwin.h (DARWIN_BUNDLE1_SPEC): New.
-	(DARWIN_DYLIB1_SPEC): Delete duplicate.
-
-2019-12-13  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/91582
-	PR middle-end/92868
-	* builtins.c (addr_decl_size): New function.
-	(gimple_call_alloc_size): Add arguments.
-	(compute_objsize): Add an argument.  Set *PDECL even for allocated
-	objects.
-	Correct checking for negative wide_int.
-	Correct handling of negative outer offsets into unknown regions
-	or with unknown inner offsets.
-	Extend offsets to at most sizetype precision.
-	Only handle constant subobject sizes.
-	* builtins.h (gimple_call_alloc_size): Add arguments.
-	* tree.c (component_ref_size): Always return sizetype.
-	* tree-ssa-strlen.c (strinfo::alloc): New member.
-	(get_addr_stridx): Add argument.
-	(get_stridx): Use ptrdiff_t.  Add argument.
-	(new_strinfo): Set new member.
-	(get_string_length): Handle alloca and VLA.
-	(dump_strlen_info): Dump more state.
-	(maybe_invalidate): Print more info.  Decrease indentation.
-	(unshare_strinfo): Set new member.
-	(valid_builtin_call): Handle alloca and VLA.
-	(maybe_warn_overflow): Check and set no-warning bit.  Improve
-	handling of offsets.  Print allocated objects.
-	(handle_builtin_strlen): Handle strinfo records with null lengths.
-	(handle_builtin_strcpy): Add argument.  Call maybe_warn_overflow.
-	(is_strlen_related_p): Handle dynamically allocated objects.
-	(get_range): Add argument.
-	(handle_builtin_malloc): Rename...
-	(handle_alloc): ...to this and handle all allocation functions.
-	(handle_builtin_memset): Call maybe_warn_overflow.
-	(count_nonzero_bytes): Handle more MEM_REF forms.
-	(strlen_check_and_optimize_call): Call handle_alloc_call.  Pass
-	arguments to more callees.
-	(handle_integral_assign): Add argument.  Create strinfo entries
-	for MEM_REF assignments.
-	(check_and_optimize_stmt): Handle more MEM_REF forms.
-
-2019-12-13  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/rs6000/darwin.h (DARWIN_DYLIB1_SPEC): New.
-
-2019-12-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* lto-streamer-in.c (input_function): Add node parameter.
-	(lto_read_body_or_constructor): Use it.
-
-2019-12-13  Roman Zhuykov  <zhroma@ispras.ru>
-
-	PR rtl-optimization/92591
-	* modulo-sched.c (ps_add_node_check_conflicts): Improve checking
-	for history > 0 case.
-
-2019-12-13  Roman Zhuykov  <zhroma@ispras.ru>
-
-	* modulo-sched.c (sms_schedule): Use param_sms_max_ii_factor
-	value instead of macro.  Adjust comment.
-	(sms_schedule_by_order): Use parameter value without macro.
-	* params.opt: Add ranges for modulo scheduler parameters,
-	set param_sms_max_ii_factor = 2 by default.
-
-2019-12-13  Roman Zhuykov  <zhroma@ispras.ru>
-
-	PR rtl-optimization/90001
-	* ddg.c (create_ddg): Init max_dist array for each node.
-	(free_ddg): Free max_dist array.
-	(create_ddg_edge): Use bool field instead of aux union.
-	(set_recurrence_length): Use prepared max_dist information instead
-	of calling longest_simple_path.
-	(create_scc): Remove graph argument, fill node's aux.count with
-	SCC id, and move set_recurrence_length call to...
-	(create_ddg_all_sccs): ...here, after filling all max_dist arrays
-	using Floyd–Warshall-like algorithm.
-	(update_dist_to_successors): Remove the whole function.
-	(longest_simple_path): Likewise.
-	* ddg.h (struct ddg_node): Add max_dist pointer.
-	(struct ddg_edge): Use bool field instead of unused aux union.
-
-2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md (mulv64si3<exec>): Rename to ...
-	(mul<mode>3<exec>): ... this, and implement sub-dword patterns.
-	(mulv64si3_dup<exec>): Rename to ...
-	(mul<mode>3_dup<exec>): ... this, and implement sub-dword patterns.
-
-2019-12-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-utils.c (ipa_merge_profiles): Improve dumping; merge common
-	targets.
-
-2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md (sdwa): New mode attribute.
-	(VCVT_FROM_MODE): Rename to ...
-	(VCVT_MODE): ... this.
-	(VCVT_TO_MODE): Delete mode iterator.
-	(VCVT_FMODE): New mode iterator.
-	(VCVT_IMODE): Likewise.
-	(<cvt_name><VCVT_FROM_MODE:mode><VCVT_TO_MODE:mode>2<exec>): Change ...
-	(<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): ... to this.
-	(<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): New.
-	(zero_convert): New code iterator.
-	(convop): New code attribute.
-	(<convop><VEC_ALL1REG_INT_ALT:mode><VEC_ALL1REG_INT_MODE:mode>2<exec>)
-	: New.
-	(extend<VEC_ALL1REG_INT_ALT:mode><VEC_ALL1REG_INT_MODE:mode>2<exec>)
-	: New.
-	(vec_truncatev64div64si): Rename to ...
-	(truncv64di<mode>2): ... this and implement sub-dword patterns.
-	(vec_truncatev64div64si_exec): Rename to ...
-	(truncv64di<mode>2_exec): ... this and implement sub-dword patterns.
-	(<convop><mode>v64di2): New insn_and_split.
-	(<convop><mode>v64di2_exec): Likewise.
-	(mask_gather_load<mode>): Update truncate names.
-	(mask_scatter_store<mode>): Likewise.
-	* config/gcn/gcn.c (gcn_expand_scaled_offsets): Update truncate names.
-
-2019-12-13  Dennis Zhang  <dennis.zhang@arm.com>
-
-	* config/aarch64/aarch64-arches.def (armv8.6-a): New.
-	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
-	__ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC and
-	__ARM_FEATURE_BF16_SCALAR_ARITHMETIC when enabled.
-	* config/aarch64/aarch64-option-extensions.def (i8mm, bf16): New.
-	(fp): Disabling fp also disables i8mm and bf16.
-	(simd): Disabling simd also disables i8mm.
-	* config/aarch64/aarch64.h (AARCH64_FL_V8_6): New macro.
-	(AARCH64_FL_I8MM, AARCH64_FL_BF16, AARCH64_FL_FOR_ARCH8_6): Likewise.
-	(AARCH64_ISA_V8_6, AARCH64_ISA_I8MM, AARCH64_ISA_BF16): Likewise.
-	(TARGET_I8MM, TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise.
-	* doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options
-	and add a new table to list permissible values for ARCH.
-
-2019-12-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92908
-	* simplify-rtx.c (simplify_relational_operation): Punt for vector
-	cmp_mode and scalar mode, if simplify_relational_operation returned
-	const_true_rtx.
-	(simplify_const_relational_operation): Change VOID_mode in function
-	comment to VOIDmode.
-
-2019-12-13  Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/rs6000.c (adjust_vectorization_cost): New function.
-	(rs6000_add_stmt_cost): Call adjust_vectorization_cost and update
-	stmt_cost.
-
-2019-12-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92904
-	* config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and
-	not need_temp, decrease alignment of the read because the GPR save
-	area only guarantees 8-byte alignment.
-
-2019-12-12  Georg-Johann Lay  <avr@gjlay.de>
-
-	Add support for some more AVR devices from avrxmega3 family.
-
-	* config/avr/avr-mcus.def (attiny1604, attiny1606, attiny1607)
-	(attiny402, attiny404, attiny406)
-	(attiny804, attiny806, attiny807)
-	(attiny202, attiny204): Add AVR_MCU lines to support them.
-	* doc/avr-mmcu.texi: Regenerate.
-
-2019-12-12  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering
-	of execution of function call parameters.
-
-2019-12-12  Vineet Gupta  <vgupta@synopsys.com>
-
-	* config/arc/arc-modes.def (CC_FPUE): New Mode CC_FPUE which
-	helps codegen generate exceptions even for quiet NaN.
-	* config/arc/arc.c (arc_init_reg_tables): Handle New CC_FPUE mode.
-	(get_arc_condition_code): Likewise.
-	(arc_select_cc_mode): LT, LE, GT, GE to use the New CC_FPUE mode.
-	* config/arc/arc.h (REVERSE_CONDITION): Handle New CC_FPUE mode.
-	* config/arc/predicates.md (proper_comparison_operator): Likewise.
-	* config/arc/fpu.md (cmpsf_fpu_trap): New Pattern for CC_FPUE.
-	(cmpdf_fpu_trap): Likewise.
-
-2019-12-12  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE.
-	(cstoredi4): Use TARGET_HARD_FLOAT.
-
-2019-12-11  Jakub Jelinek  <jakub@redhat.com>
-
-	* opts.c (default_options_table): Move -ftree-loop-distribute-patterns
-	entry from -O3 or later section to -O2 or later section.
-	* doc/invoke.texi (-ftree-loop-distribute-patterns): Mention the
-	option is enabled by default at -O2+ rather than just at -O3.
-
-	PR target/92723
-	* tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not
-	vect_internal_def, use oprnd1 as is, without trying to cast it.
-	Formatting fix.
-
-2019-12-11  Martin Sebor  <msebor@redhat.com>
-
-	* builtins.c (compute_objsize): Add an argument and set it to offset
-	into destination.
-	* builtins.h (compute_objsize): Add an argument.
-	* tree-object-size.c (addr_object_size): Add an argument and set it
-	to offset into destination.
-	(compute_builtin_object_size): Same.
-	* tree-object-size.h (compute_builtin_object_size): Add an argument.
-	* tree-ssa-strlen.c (get_addr_stridx): Add an argument and set it
-	to offset into destination.
-	(maybe_warn_overflow): New function.
-	(handle_store): Call maybe_warn_overflow to issue warnings.
-
-2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430.h (STARTFILE_SPEC) [!fexceptions]: Use
-	crtbegin_no_eh.o if building for the C language.
-	[fno-exceptions]: Use crtbegin_no_eh.o if building for any language
-	except C.
-	(ENDFILE_SPEC) [!fexceptions]: Use crtend_no_eh.o if building for 
-	the C language.
-	[fno-exceptions]: Use crtend_no_eh.o if building for any language
-	except C.
-	* config/msp430/t-msp430: Add -fno-exceptions multilib.
-	* doc/install.texi: Document --disable-no-exceptions multilib configure
-	option.
-	* doc/sourcebuild.texi: Document exceptions_enabled effective target.
-
-2019-12-11  David Malcolm  <dmalcolm@redhat.com>
-
-	* pretty-print.c (pretty_printer::pretty_printer): New copy-ctor.
-	(pretty_printer::clone): New vfunc implementation.
-	* pretty-print.h (format_postprocessor::clone): New pure vfunc
-	decl.
-	(pretty_printer::pretty_printer): New copy-ctor decl.
-	(pretty_printer::clone): New vfunc decl.
-
-2019-12-11  David Malcolm  <dmalcolm@redhat.com>
-
-	* function-tests.c (selftest::make_fndecl): Make non-static.
-	* selftest.h (selftest::make_fndecl): New decl.
-
-2019-12-11  Lewis Hyatt  <lhyatt@gmail.com>
-
-	PR 91853
-	* pretty-print.c (pp_quoted_string): Avoid hex-escaping valid
-	multibyte input.  Fix off-by-one-bug printing the last byte before a
-	hex-escaped output.
-	(pp_character): Don't apply line wrapping in the middle of multibyte
-	characters.
-	(test_utf8): New test.
-	(pretty_print_c_tests): Call the new test.
-
-2019-12-11  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-cpus.in (ALL_SIMD_EXTERNAL): New fgroup.
-	(ALL_SIMD): Use it.
-	(ALL_FPU_EXTERNAL): New fgroup.
-	(ALL_FP): Use it.
-	(cortex-a55, cortex-a75, cortex-a76, cortex-a76ae): Remove redundant
-	+simd from architecture specification.
-	(cortex-a77, neoverse-n1, cortex-a75.cortex-a55): Likewise.
-	* config/arm/arm.c (isa_all_fpubits, fpu_bitlist): Rename to ...
-	(isa_all_fpubits_internal, fpu_bitlist_internal): ... these.
-	(isa_all_fpbits): New bitmap.
-	(arm_option_override): Initialize it.
-	(arm_configure_build_target): If the target isa does not have any
-	FP enabled, do not warn about mismatches in FP-related feature bits.
-
-2019-12-11  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
-
-	* real.c (struct arm_bfloat_half_format,
-	encode_arm_bfloat_half, decode_arm_bfloat_half): New.
-	* real.h (arm_bfloat_half_format): New.
-
-2019-12-11  Hongtao Liu  <hongtao.liu@intel.com>
-
-	PR target/92865
-	* config/i386/i386-expand.c (ix86_valid_mask_cmp_mode): Enable
-	integer mask cmov when available even with TARGET_XOP.
-
-2019-12-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92891
-	* builtins.c (gimple_call_alloc_size): Convert size to sizetype
-	before returning it.
-
-2019-12-10  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/92796
-	* lra-int.h (lra_risky_transformations_p): Rename to
-	check_and_force_assignment_correctness_p.
-	* lra-assigns.c: Ditto.
-	(lra_assign): Reset check_and_force_assignment_correctness_p.
-	* lra-constraints.c (lra_risky_transformations_p): Rename to
-	check_and_force_assignment_correctness_p.
-	(lra_constraints): Set up check_and_force_assignment_correctness_p
-	only for the 1st sub-pass.
-	* lra-eliminations.c (process_insn_for_elimination): Set up
-	check_and_force_assignment_correctness_p if the insn chnaged its
-	code.
-
-2019-12-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/92882
-	* regstat.c (regstat_bb_compute_calls_crossed): Don't check
-	INSN_UID against DF_INSN_SIZE or use DF_INSN_INFO_GET unless
-	NONDEBUG_INSN_P.
-
-	PR ipa/92883
-	* ipa-cp.c (propagate_vr_across_jump_function): Pass jvr rather
-	than *jfunc->m_vr to intersect.  Formatting fix.
-
-	PR middle-end/92825
-	* cfgexpand.c (add_stack_protection_conflicts): Change return type
-	from void to bool, return true if at least one stack_vars[i].decl
-	is addressable.
-	(record_or_union_type_has_array_p, stack_protect_decl_p): Remove.
-	(expand_used_vars): Don't call stack_protect_decl_p, instead for
-	-fstack-protector-strong set gen_stack_protect_signal to true
-	if add_stack_protection_conflicts returned true.  Formatting fixes.
-	* doc/invoke.texi (-fstack-protector-strong): Clarify that optimized
-	out variables or variables not living on the stack don't count.
-	(-fstack-protector): Likewise.  Clarify it affects >= 8 byte arrays
-	rather than > 8 byte.
-
-	* ipa-param-manipulation.c
-	(ipa_param_body_adjustments::register_replacement): Fix comment typo
-	- accross -> across.
-	* ipa-sra.c (propagate_used_across_scc_edge, ipa_sra_analysis):
-	Likewise.
-	(param_splitting_across_edge): Fix typo in dump message - accross
-	-> across.
-
-2019-12-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_node::verify_node): Verify tp_first_run.
-	* cgraph.h (cgrpah_node): Turn tp_first_run back to int.
-	* cgraphunit.c (tp_first_run_node_cmp): Do not watch for overflows.
-	(expand_all_functions): First expand ordered section and then
-	unordered.
-	* profile.c (compute_value_histograms): Error on out of range
-	tp_first_runs.
-
-2019-12-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* predict.c (compute_function_frequency): Check for presence of IPA
-	profile.
-
-2019-12-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* varasm.c (default_function_section): Fix confused tests for
-	tp_first_run reordering.
-
-2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Don't
-	allow SVE modes in GPRs.
-
-2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/iterators.md (vccore): New iterator.
-	* config/aarch64/aarch64-sve.md (vec_series<mode>): Use it instead
-	of vwcore.
-	(*vec_series<mode>_plus): Likewise.
-
-2019-12-10  Frederik Harwath  <frederik@codesourcery.com>
-
-	* omp-low.c (scan_omp_for): Use clause location in warning.
-
-2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* dwarf2out.c (loc_descriptor): Punt for MODE_VECTOR_BOOL.
-	(add_const_value_attribute): Likewise.
-
-2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): When
-	handling direct_slp_reduc, allow the PHI arguments to have
-	a different type from the vector elements.
-
-2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_condition): Record the loop
-	masks required for extract-last reductions.
-
-2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vect_finish_replace_stmt): Always use the
-	original scalar statement rather than a pattern statement.
-	(vectorizable_condition): Likewise, in the handling of extract-last
-	reductions.
-
-2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (vectorizable_reduction): Don't use
-	EXTRACT_LAST_REDUCTION for chained reductions.
-
-2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* ipa-utils.h (get_odr_name_for_type): Check for a TYPE_DECL.
-	* ipa-devirt.c (warn_types_mismatch): Don't call xstrdup for the
-	second demangled name.
-
-2019-12-10  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (IX86_LEA_PRIORITY): Fix comment typos.
-
-2019-12-10  Martin Liska  <mliska@suse.cz>
-
-	PR tree-optimization/92862
-	* predict.c (predict_paths_leading_to_edge): Fix typo from e to e2.
-	* tree-ssa-loop-niter.c (loop_only_exit_p): Return false
-	instead of true;
-
-2019-12-09  David Malcolm  <dmalcolm@redhat.com>
-
-	* gcc-rich-location.c
-	(maybe_range_label_for_tree_type_mismatch::get_text): Replace
-	label_text ctor call with label_text::borrow.
-	* gcc-rich-location.h (text_range_label::get_text): Replace
-	label_text ctor called with false with label_text::borrow.
-
-2019-12-09  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (diagnostic_show_locus): Remove initial
-	newline.
-	(selftest::test_diagnostic_show_locus_unknown_location): Remove
-	initial newline from expected outputs.
-	(selftest::test_one_liner_simple_caret): Likewise.
-	(selftest::test_one_liner_caret_and_range): Likewise.
-	(selftest::test_one_liner_multiple_carets_and_ranges): Likewise.
-	(selftest::test_one_liner_fixit_insert_before): Likewise.
-	(selftest::test_one_liner_fixit_insert_after): Likewise.
-	(selftest::test_one_liner_fixit_remove): Likewise.
-	(selftest::test_one_liner_fixit_replace): Likewise.
-	(selftest::test_one_liner_fixit_replace_non_equal_range):
-	Likewise.
-	(selftest::test_one_liner_fixit_replace_equal_secondary_range):
-	Likewise.
-	(selftest::test_one_liner_fixit_validation_adhoc_locations):
-	Likewise.
-	(selftest::test_one_liner_many_fixits_1): Likewise.
-	(selftest::test_one_liner_many_fixits_2): Likewise.
-	(selftest::test_one_liner_labels): Likewise.
-	(selftest::test_one_liner_simple_caret_utf8): Likewise.
-	(selftest::test_one_liner_caret_and_range_utf8): Likewise.
-	(selftest::test_one_liner_multiple_carets_and_ranges_utf8):
-	Likewise.
-	(selftest::test_one_liner_fixit_insert_before_utf8): Likewise.
-	(selftest::test_one_liner_fixit_insert_after_utf8): Likewise.
-	(selftest::test_one_liner_fixit_remove_utf8): Likewise.
-	(selftest::test_one_liner_fixit_replace_utf8): Likewise.
-	(selftest::test_one_liner_fixit_replace_non_equal_range_utf8):
-	Likewise.
-	(selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8):
-	Likewise.
-	(selftest::test_one_liner_fixit_validation_adhoc_locations_utf8):
-	Likewise.
-	(selftest::test_one_liner_many_fixits_1_utf8): Likewise.
-	(selftest::test_one_liner_many_fixits_2_utf8): Likewise.
-	(selftest::test_one_liner_labels_utf8): Likewise.
-	(selftest::test_add_location_if_nearby): Likewise.
-	(selftest::test_diagnostic_show_locus_fixit_lines): Likewise.
-	(selftest::test_overlapped_fixit_printing): Likewise.
-	(selftest::test_overlapped_fixit_printing_utf8): Likewise.
-	(selftest::test_overlapped_fixit_printing_2): Likewise.
-	(selftest::test_fixit_insert_containing_newline): Likewise.
-	(selftest::test_fixit_insert_containing_newline_2): Likewise.
-	(selftest::test_fixit_replace_containing_newline): Likewise.
-	(selftest::test_fixit_deletion_affecting_newline): Likewise.
-	(selftest::test_line_numbers_multiline_range): Likewise.
-	* diagnostic.c (default_diagnostic_finalizer): Add pp_newline call
-	before call to diagnostic_show_locus.
-	(diagnostic_append_note): Likewise.
-
-2019-12-09  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/92761
-	PR middle-end/92762
-	* hash-map-tests.c (test_map_of_type_with_ctor_and_dtor): Tighten
-	up tests.
-	* hash-table.h (hash_table::expand): Use placement new to copy
-	construct objects in uninitialized storage.
-	(hash_table::empty_slow): Avoid invoking copy assignment on
-	uninitialized objects.
-
-2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
-
-	PR preprocessor/49973
-	* input.c (location_compute_display_column): New function to help with
-	multibyte awareness in diagnostics.
-	(test_cpp_utf8): New self-test.
-	(input_c_tests): Call the new test.
-	* input.h (location_compute_display_column): Declare.
-	* diagnostic-show-locus.c: Pervasive changes to add multibyte awareness
-	to all classes and functions.
-	(enum column_unit): New enum.
-	(class exploc_with_display_col): New class.
-	(class layout_point): Convert m_column member to array m_columns[2].
-	(layout_range::contains_point): Add col_unit argument.
-	(test_layout_range_for_single_point): Pass new argument.
-	(test_layout_range_for_single_line): Likewise.
-	(test_layout_range_for_multiple_lines): Likewise.
-	(line_bounds::convert_to_display_cols): New function.
-	(layout::get_state_at_point): Add col_unit argument.
-	(make_range): Use empty filename rather than dummy filename.
-	(get_line_width_without_trailing_whitespace): Rename to...
-	(get_line_bytes_without_trailing_whitespace): ...this.
-	(test_get_line_width_without_trailing_whitespace): Rename to...
-	(test_get_line_bytes_without_trailing_whitespace): ...this.
-	(class layout): m_exploc changed to exploc_with_display_col from
-	plain expanded_location.
-	(layout::get_linenum_width): New accessor member function.
-	(layout::get_x_offset_display): Likewise.
-	(layout::calculate_linenum_width): New subroutine for the constuctor.
-	(layout::calculate_x_offset_display): Likewise.
-	(layout::layout): Use the new subroutines. Add multibyte awareness.
-	(layout::print_source_line): Add multibyte awareness.
-	(layout::print_line): Likewise.
-	(layout::print_annotation_line): Likewise.
-	(line_label::line_label): Likewise.
-	(layout::print_any_labels): Likewise.
-	(layout::annotation_line_showed_range_p): Likewise.
-	(get_printed_columns): Likewise.
-	(class line_label): Rename m_length to m_display_width.
-	(get_affected_columns): Rename to...
-	(get_affected_range): ...this; add col_unit argument and multibyte
-	awareness.
-	(class correction): Add m_affected_bytes and m_display_cols
-	members.  Rename m_len to m_byte_length for clarity.  Add multibyte
-	awareness throughout.
-	(correction::insertion_p): Add multibyte awareness.
-	(correction::compute_display_cols): New function.
-	(correction::ensure_terminated): Use new member name m_byte_length.
-	(line_corrections::add_hint): Add multibyte awareness.
-	(layout::print_trailing_fixits): Likewise.
-	(layout::get_x_bound_for_row): Likewise.
-	(test_one_liner_simple_caret_utf8): New self-test analogous to the one
-	with _utf8 suffix removed, testing multibyte awareness.
-	(test_one_liner_caret_and_range_utf8): Likewise.
-	(test_one_liner_multiple_carets_and_ranges_utf8): Likewise.
-	(test_one_liner_fixit_insert_before_utf8): Likewise.
-	(test_one_liner_fixit_insert_after_utf8): Likewise.
-	(test_one_liner_fixit_remove_utf8): Likewise.
-	(test_one_liner_fixit_replace_utf8): Likewise.
-	(test_one_liner_fixit_replace_non_equal_range_utf8): Likewise.
-	(test_one_liner_fixit_replace_equal_secondary_range_utf8): Likewise.
-	(test_one_liner_fixit_validation_adhoc_locations_utf8): Likewise.
-	(test_one_liner_many_fixits_1_utf8): Likewise.
-	(test_one_liner_many_fixits_2_utf8): Likewise.
-	(test_one_liner_labels_utf8): Likewise.
-	(test_diagnostic_show_locus_one_liner_utf8): Likewise.
-	(test_overlapped_fixit_printing_utf8): Likewise.
-	(test_overlapped_fixit_printing): Adapt for changes to
-	get_affected_columns, get_printed_columns and class corrections.
-	(test_overlapped_fixit_printing_2): Likewise.
-	(test_linenum_sep): New constant.
-	(test_left_margin): Likewise.
-	(test_offset_impl): Helper function for new test.
-	(test_layout_x_offset_display_utf8): New test.
-	(diagnostic_show_locus_c_tests): Call new tests.
-
-2019-12-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute
-	TYPE_CANONICAL from the element type only if it is true.  Remove a few
-	obsolete lines and adjust recursive call.
-	(fld_process_array_type): Adjust call to build_array_type_1.
-	(build_array_type): Likewise.
-	(build_nonshared_array_type): Likewise.
-
-2019-12-09  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md (gather<mode>_insn_1offset<exec>): Change
-	%s to %o in asm output.
-	(gather<mode>_insn_2offsets<exec>): Likewise.
-
-2019-12-09  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/t-multilib: Use arm->thumb multilib reuse rules
-	on a-profile.
-
-2019-12-09  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (unnamed mfcr define_insn): Name this
-	set<mode>_cc.
-	(unnamed define_insn_and_split): Delete.
-	(unnamed define_insn): Delete.
-	(unnamed define_insn): Delete.
-	(unnamed define_split): Delete.
-
-2019-12-09  Matthew Malcomson  <matthew.malcomson@arm.com>
-
-	* regstat.c (regstat_bb_compute_calls_crossed): Add a cast to
-	avoid a warning.
-
-2019-12-09  Matthew Malcomson  <matthew.malcomson@arm.com>
-
-	PR middle-end/92410
-	* bb-reorder.c (pass_reorder_blocks::execute): Recompute
-	dataflow luids once basic blocks have been reordered.
-	* haifa-sched.c (reemit_notes): Create df insn record for each
-	new note.
-	* regstat.c (regstat_bb_compute_calls_crossed): Assert every
-	insn has an insn record before trying to use it.
-
-2019-12-09  Hongtao Liu  <hongtao.liu@intel.com>
-
-	* common/config/i386/i386-common.c
-	(OPTION_MASK_ISA_AVX5124FMAPS_SET): Rename to
-	OPTION_MASK_ISA2_AVX5124FMAPS_SET.
-	(OPTION_MASK_ISA_AVX5124VNNIW_SET, OPTION_MASK_ISA_AVX512BF16_SET,
-	OPTION_MASK_ISA_AVX512VP2INTERSECT_SET,
-	OPTION_MASK_ISA_PCONFIG_SET, OPTION_MASK_ISA_WBNOINVD_SET,
-	OPTION_MASK_ISA_SGX_SET, OPTION_MASK_ISA_CX16_SET,
-	OPTION_MASK_ISA_MOVBE_SET, OPTION_MASK_ISA_PTWRITE_SET,
-	OPTION_MASK_ISA_MWAITX_SET, OPTION_MASK_ISA_CLZERO_SET,
-	OPTION_MASK_ISA_RDPID_SET, OPTION_MASK_ISA_VAES_SET,
-	OPTION_MASK_ISA_MOVDIR64B_SET, OPTION_MASK_ISA_WAITPKG_SET,
-	OPTION_MASK_ISA_CLDEMOTE_SET, OPTION_MASK_ISA_ENQCMD_SET,
-	OPTION_MASK_ISA_AVX5124FMAPS_UNSET,
-	OPTION_MASK_ISA_AVX5124VNNIW_UNSET,
-	OPTION_MASK_ISA_AVX512BF16_UNSET,
-	OPTION_MASK_ISA_AVX512VP2INTERSECT_UNSET,
-	OPTION_MASK_ISA_PCONFIG_UNSET, OPTION_MASK_ISA_WBNOINVD_UNSET,
-	OPTION_MASK_ISA_SGX_UNSET, OPTION_MASK_ISA_CX16_UNSET,
-	OPTION_MASK_ISA_MOVBE_UNSET, OPTION_MASK_ISA_PTWRITE_UNSET,
-	OPTION_MASK_ISA_MWAITX_UNSET, OPTION_MASK_ISA_CLZERO_UNSET,
-	OPTION_MASK_ISA_RDPID_UNSET, OPTION_MASK_ISA_VAES_UNSET,
-	OPTION_MASK_ISA_MOVDIR64B_UNSET, OPTION_MASK_ISA_WAITPKG_UNSET,
-	OPTION_MASK_ISA_CLDEMOTE_UNSET, OPTION_MASK_ISA_ENQCMD_UNSET,
-	OPTION_MASK_ISA_AVX5124FMAPS, OPTION_MASK_ISA_AVX5124VNNIW,
-	OPTION_MASK_ISA_AVX512BF16, OPTION_MASK_ISA_AVX512VP2INTERSECT,
-	OPTION_MASK_ISA_PCONFIG, OPTION_MASK_ISA_WBNOINVD,
-	OPTION_MASK_ISA_SGX, OPTION_MASK_ISA_CX16, OPTION_MASK_ISA_MOVBE,
-	OPTION_MASK_ISA_PTWRITE, OPTION_MASK_ISA_MWAITX,
-	OPTION_MASK_ISA_CLZERO, OPTION_MASK_ISA_RDPID,
-	OPTION_MASK_ISA_VAES, OPTION_MASK_ISA_MOVDIR64B,
-	OPTION_MASK_ISA_WAITPKG, OPTION_MASK_ISA_CLDEMOTE,
-	OPTION_MASK_ISA_ENQCMD): Ditto.
-	* config/i386/i386-builtin.def
-	(OPTION_MASK_ISA_AVX5124FMAPS, OPTION_MASK_ISA_AVX5124VNNIW,
-	OPTION_MASK_ISA_AVX512BF16, OPTION_MASK_ISA_AVX512VP2INTERSECT,
-	OPTION_MASK_ISA_WBNOINVD, OPTION_MASK_ISA_PTWRITE,
-	OPTION_MASK_ISA_RDPID, OPTION_MASK_ISA_VAES,
-	OPTION_MASK_ISA_MOVDIR64B, OPTION_MASK_ISA_ENQCMD): Ditto.
-	* config/i386/i386-builtins.c (OPTION_MASK_ISA_MWAITX,
-	OPTION_MASK_ISA_CLZERO, OPTION_MASK_ISA_WAITPKG,
-	OPTION_MASK_ISA_CLDEMOTE, OPTION_MASK_ISA_WBNOINVD): Ditto.
-	* config/i386/i386-c.c
-	(OPTION_MASK_ISA_AVX5124FMAPS, OPTION_MASK_ISA_AVX5124VNNIW,
-	OPTION_MASK_ISA_AVX512BF16, OPTION_MASK_ISA_AVX512VP2INTERSECT,
-	OPTION_MASK_ISA_PCONFIG, OPTION_MASK_ISA_WBNOINVD,
-	OPTION_MASK_ISA_SGX, OPTION_MASK_ISA_CX16, OPTION_MASK_ISA_MOVBE,
-	OPTION_MASK_ISA_PTWRITE, OPTION_MASK_ISA_MWAITX,
-	OPTION_MASK_ISA_CLZERO, OPTION_MASK_ISA_RDPID,
-	OPTION_MASK_ISA_VAES, OPTION_MASK_ISA_MOVDIR64B,
-	OPTION_MASK_ISA_WAITPKG, OPTION_MASK_ISA_CLDEMOTE,
-	OPTION_MASK_ISA_ENQCMD): Ditto.
-	* config/i386/i386-option.c: Ditto
-	* config/i386/i386.opt: Ditto..
-	* config/i386/i386.h: (TARGET_ISA_AVX5124FMAPS,
-	TARGET_ISA_AVX5124VNNIW,  TARGET_ISA_AVX512BF16,
-	TARGET_ISA_AVX512VP2INTERSECT, TARGET_ISA_PCONFIG,
-	TARGET_ISA_WBNOINVD, TARGET_ISA_SGX, TARGET_ISA_CX16,
-	TARGET_ISA_MOVBE, TARGET_ISA_PTWRITE, TARGET_ISA_MWAITX,
-	TARGET_ISA_CLZERO, TARGET_ISA_RDPID, TARGET_ISA_VAES,
-	TARGET_ISA_MOVDIR64B, TARGET_ISA_WAITPKG, TARGET_ISA_CLDEMOTE)
-	TARGET_ISA_ENQCMD): Ditto.
-
-2019-12-09  Sudakshina Das  <sudi.das@arm.com>
-	    Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmt.c (vectorizable_shift): Condition ndts for
-	vect_model_simple_cost call on scalar_shift_arg.
-
-2019-12-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92834
-	* match.pd (A - ((A - B) & -(C cmp D)) -> (C cmp D) ? B : A,
-	A + ((B - A) & -(C cmp D)) -> (C cmp D) ? B : A): New simplifications.
-
-2019-12-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/89007
-	* tree-vect-patterns.c (vect_recog_average_pattern): If there is no
-	target support available, generate code to distribute rshift over plus
-	and add a carry.
-
-2019-12-09  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/92737
-	* cgraph.c (symbol_table_test::symbol_table_test): Fix
-	coding style.
-	* cgraph.h (symtab_node::symtab_node): New constructor.
-	(cgraph_node::cgraph_node): Likewise.
-	(varpool_node::varpool_node): Likewise.
-	(symbol_table::allocate_cgraph_symbol): Use newly
-	created constructor.
-	(symbol_table::allocate_cgraph_symbol): Remove.
-	* cgraphunit.c (symtab_terminator): Likewise.
-	* varpool.c (varpool_node::create_empty): Use newly
-	created constructor.
-
-2019-12-09  Hongtao Liu  <hongtao.liu@intel.com>
-
-	PR target/92686
-	* config/i386/sse.md
-	(*<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
-	*<avx512>_cmp<mode>3<mask_scalar_merge_name>,
-	*<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
-	*<avx512>_ucmp<mode>3<mask_scalar_merge_name>): New.
-	* config/i386/i386.c (ix86_print_operand): New operand substitution.
-	* config/i386/i386-expand.c (ix86_valid_mask_cmp_mode):
-	New function.
-	(ix86_expand_sse_cmp): Relax condition for integer mask from
-	512-bit vector to all 128/256/512-bit vector. Delete code gen
-	for avx512f compare patterns since we have generic pattern now.
-	(ix86_expand_sse_movcc): Adjust condition and codegen for
-	maskcmp.
-	(ix86_expand_int_sse_cmp): Don't canonicalize the comparison
-	when corresponding vector compare is available.
-
-2019-12-08  Sandra Loosemore  <sandra@codesourcery.com>
-
-	Revert:
-	2019-12-05  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/linux.h (LINK_EH_SPEC): Define.
-
-2019-12-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_node::dump): Make tp_first_run 64bit.
-	* cgraph.h (cgrpah_node): Likewise.
-	(tp_first_run_node_cmp): Deeclare.
-	* cgraphunit.c (node_cmp): Rename to ...
-	(tp_first_run_node_cmp): ... this; export; watch for 64bit overflows;
-	clear tp_first_run for no_reorder and !flag_profile_reorder_functions.
-	(expand_all_functions): Collect tp_first_run and normal functions to
-	two vectors so the other functions remain sorted. Do not check for
-	flag_profile_reorder_functions it is function local flag.
-	* profile.c (compute_value_histograms): Update tp_first_run printing.
-
-2019-12-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* opts.c (common_handle_option): Do not clear ipa_reference for
-	-fprofile-use.
-
-2019-12-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-split.c (split_function): Preserve 0 tp_first_run.
-
-2019-12-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (do_estimate_edge_time): Silence overactive
-	sanity check.
-
-2019-12-07  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR tree-optimization/92860
-	* common.opt (fprofile-reorder-functions, ftoplevel-reorder): Add
-	Optimization flag.
-
-2019-12-07  Marek Polacek  <polacek@redhat.com>
-
-	PR c++/91678 - wrong error with decltype and location wrapper.
-	* fold-const.c (maybe_lvalue_p): Handle VIEW_CONVERT_EXPR.
-
-2019-12-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR middle-end/90840
-	* expr.c (expand_assignment): In the case of a CONCAT on the LHS, make
-	sure to pass a valid inner mode in calls to simplify_gen_subreg.
-
-2019-12-07  Tobias Burnus  <tobias@codesourcery.com>
-	    David Malcolm  <dmalcolm@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/87488
-	* pretty-print.c (pp_begin_url, pp_end_url, test_urls): Use BEL
-	instead of ST sequence to terminate OSC 8 strings.
-
-2019-12-06  Andreas Krebbel  <krebbel@linux.ibm.com>
-	    Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/92176
-	* lra.c (simplify_subreg_regno): Don't permit unconditional
-	changing mode for LRA too.
-
-2019-12-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.h (TCTX_ALLOCATION, TCTX_DEALLOCATION, TCTX_EXCEPTIONS)
-	(TCTX_CAPTURE_BY_COPY): New type_context_kinds.
-	* config/aarch64/aarch64-sve-builtins.cc (verify_type_context):
-	Handle them.
-
-2019-12-06  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md (gather<mode>_insn_1offset<exec>): Use %o
-	in the asm output.
-
-2019-12-06  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md (VEC_1REG_MODE): Remove V64QI and V64HI.
-	(VEC_1REG_ALT): Likewise.
-	(VEC_ALL1REG_MODE): New mode iterator.
-	(VEC_1REG_INT_MODE): Remove V64QI and V64HI.
-	(VEC_1REG_INT_ALT): Likewise.
-	(VEC_ALL1REG_INT_MODE): New mode interator.
-	(VEC_ALL1REG_INT_ALT): Likewise.
-	(VEC_REG_MODE): Remove V64QI and V64HI.
-	(VEC_ALLREG_MODE): New mode interator.
-	(vec_merge): Change to VEC_ALLREG_MODE.
-	(vec_merge_with_clobber): Likewise.
-	(vec_merge_with_vcc): Likewise.
-	(mov<mode>): Likewise.
-	(mov<mode>_unspec): Likewise.
-	(*mov<mode>): Change to VEC_ALL1REG_MODE.
-	(mov<mode>_exec): Likewise.
-	(*mov<mode>_exec_match): Likewise.
-	(mov<mode>_sgprbase): Likewise.
-	(reload_in<mode>): Change to VEC_ALLREG_MODE.
-	(reload_out<mode>): Likewise.
-	(scalar address splits): Likewise.
-	(*vec_set<mode>): Change to VEC_ALL1REG_MODE.
-	(vec_set<mode>): Change to VEC_ALLREG_MODE.
-	(*vec_set<mode>_1): Change to VEC_ALL1REG_MODE.
-	(vec_duplicate<mode><exec>): Likewise.
-	(vec_extract<mode><scalar_mode>): Likewise.
-	(vec_init<mode><scalar_mode>): Change to VEC_ALLREG_MODE.
-	(gather_load<mode>): Likewise.
-	(gather<mode>_exec): Likewise.
-	(gather<mode>_expr<exec>): Likewise.
-	(gather<mode>_insn_1offset<exec>): Likewise.
-	(gather<mode>_insn_1offset_ds<exec>): Likewise.
-	(gather<mode>_insn_2offsets<exec>): Likewise.
-	(ds_bpermute<mode>): Change to VEC_ALL1REG_MODE.
-	(VEC_INT_MODE): Remove V64QI and V64HI.
-	(vcond_mask_<mode>di): Change to VEC_ALLREG_MODE.
-	(vcond<VEC_1REG_MODE:mode><VEC_1REG_ALT:mode>): Change to
-	VEC_ALL1REG_MODE.
-	(vcond<VEC_1REG_MODE:mode><VEC_1REG_ALT:mode>_exec): Likewise.
-	(vcondu<VEC_1REG_MODE:mode><VEC_1REG_INT_ALT:mode>): Likewise.
-	(vcondu<VEC_1REG_MODE:mode><VEC_1REG_INT_ALT:mode>_exec): Likewise.
-	(maskload<mode>di): Change to VEC_ALL1REG_MODE.
-	(maskstore<mode>di): Likewise.
-	(mask_gather_load<mode>): Likewise.
-	(mov_from_lane63_<mode>): Likewise.
-	* config/gcn/gcn.c (gcn_vector_mode_supported_p): Renable V64QImode
-	and V64HImode vectorization.
-	(gcn_related_vector_mode): New function.
-	(TARGET_VECTORIZE_RELATED_MODE): New define.
-
-2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
-	    Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* omp-low.c (lower_omp_target): For optional arguments, deref once
-	more to obtain the type.
-
-2019-12-06  Richard Biener  <rguenther@suse.de>
-
-	* match.pd (nop_convert): Remove empty match.  Use nop_convert?
-	everywhere.
-
-2019-12-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.c (prune_runtime_alias_test_list): Exit early
-	for empty vectors.  Avoid using ordered_remove and instead
-	shuffle the vector as we go.
-
-2019-12-06  Richard Biener  <rguenther@suse.de>
-
-	* genmatch.c (enum tree_code): Remove CONVERT{0,1,2} and
-	VIEW_CONVERT{0,1,2}.
-	(expr::opt_grp): Add and initialize.
-	(lower_opt_convert): Rename to ...
-	(lower_opt): ... and work on opt_grp, simply switching operations
-	from being optional to being present or not.
-	(has_opt_convert): Rename to ...
-	(has_opt): ... and adjust.
-	(parser::parse_operation): Return the optional opt_grp,
-	remove special-casing of conditional operations and more generally
-	parse [digit]'?'.
-	(parser::parse_expr): Stick on the parsed opt_grp and perform
-	rough verification.
-	(parser::parse_for): Remove now unnecessary code.
-	(main): Likewise.
-	* doc/match-and-simplify.texi: Mention ? now works on all
-	unary operations and also match predicates.
-
-2019-12-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphclones.c (cgraph_node::create_clone): Only localize toplevel
-	functions, not inline clones.
-
-2019-12-06  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cfgexpand.c (expand_debug_expr): Do not ICE on SAD_EXPR.
-
-2019-12-06  Richard Biener  <rguenther@suse.de>
-
-	* genmatch.c (c_expr::gen_transform): Emit newlines from line
-	number changes rather than after every semicolon.
-
-2019-12-06  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92819
-	* match.pd (VEC_PERM_EXPR -> BIT_INSERT_EXPR): Handle inserts
-	into the last lane.  For two-element vectors try inserting
-	into the last lane when inserting into the first fails.
-
-2019-12-06  Jakub Jelinek  <jakub@redhat.com>
-
-	* common.opt (fprofile-partial-training): Terminate description with
-	full stop.
-
-2019-12-05  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/92622
-	* tree-vrp.c (vrp_prop::check_array_ref): Avoid using a variable
-	left uninitialized by get_addr_base_and_unit_offset on failure.
-
-2019-12-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-prop.c (ipa_set_jf_unknown): Do not clear bits and m_vr.
-	(detect_type_change_from_memory_writes): Remoe parameter JFUNC.
-	(detect_type_change): Likewise.
-	(detect_type_change_ssa): Likewise.
-	(ipa_analyze_virtual_call_uses): Update.
-
-2019-12-05  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/nios2/linux.h (LINK_EH_SPEC): Define.
-
-2019-12-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-transform.c (inline_call): Fix maintenatnce of comdat_local
-
-2019-12-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphclones.c (localize_profile): New function.
-	(cgraph_node::create_clone): Use it for partial profiles.
-	* common.opt (fprofile-partial-training): New flag.
-	* doc/invoke.texi (-fprofile-partial-training): Document.
-	* ipa-cp.c (update_profiling_info): For partial profiles do not
-	set function profile to zero.
-	* profile.c (compute_branch_probabilities): With partial profile
-	watch if edge count is zero and turn all probabilities to guessed.
-	(compute_branch_probabilities): For partial profiles do not apply
-	profile when entry count is zero.
-	* tree-profile.c (tree_profiling): Only do value_profile_transformations
-	when profile is read.
-
-2019-12-05  Sudakshina Das  <sudi.das@arm.com>
-
-	* tree-vect-loop.c (vect_model_reduction_cost): Remove reduction_type
-	check from if condition.
-
-2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
-
-	* omp-low.c (lower_omp_target): For use_device_ptr/use_derice_addr
-	and Fortran's optional arguments, unconditionally add the is-present
-	condition before the libgomp call.
-
-2019-12-05  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR middle-end/92768
-	* tree-core.h (OEP_BITWISE): New flag.
-	* fold-const.c (operand_compare::operand_equal_p): Handle it.
-	* tree-vector-builder.h (tree_vector_builder::equal_p): Pass it.
-
-2019-12-05  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/92818
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Improve
-	heuristics on what don't care element to choose.
-	* match.pd (VEC_PERM_EXPR -> BIT_INSERT_EXPR): Fix typo.
-
-2019-12-05  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/92817
-	* coverage.c (build_gcov_exit_decl): Remove superfluous
-	void_type_node.
-
-2019-12-05  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430.md (cbranch<mode>4): Use
-	msp430_general_dst_nonv_operand instead of nonimmediate_operand for
-	dest operand of CMP instruction.
-	(cbranchpsi4_real): Likewise.
-	(cbranchqi4_real): Likewise.
-	(cbranchhi4_real): Likewise.
-	(cbranchpsi4_reversed): Likewise.
-	(cbranchqi4_reversed): Likewise.
-	(cbranchhi4_reversed): Likewise.
-
-2019-12-05  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92803
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Fix
-	invariant vector construction.
-
-2019-12-05  Martin Liska  <mliska@suse.cz>
-
-	PR gcov-profile/91971
-	* coverage.c (coverage_init): Mangle full path
-	only when -fprofile-dir is used.
-
-2019-12-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92791
-	* config/i386/i386.md (movstrict<mode>): Move test for
-	TARGET_PARTIAL_REG_STALL and not optimizing for size from
-	expander's condition to the body - FAIL; in that case.
-
-2019-12-03  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/91582
-	* builtins.c (gimple_call_alloc_size): New function.
-	(compute_objsize): Add argument.  Call gimple_call_alloc_size.
-	Handle variable offsets and indices.
-	* builtins.h (gimple_call_alloc_size): Declare.
-	(compute_objsize): Add argument.
-	* gimple-ssa-warn-restrict.c: Remove assertions.
-	* tree-ssa-strlen.c (handle_store): Handle calls to allocated objects.
-
-2019-12-04  Julian Brown  <julian@codesourcery.com>
-
-	* config/gcn/gcn.h (FIXED_REGISTERS): Make s6/s7 fixed registers.
-
-2019-12-04  Peter Bergner <bergner@linux.ibm.com>
-
-	PR bootstrap/92661
-	* config/rs6000/rs6000-c.c (struct altivec_builtin_types): Move to
-	rs6000.h.
-	(altivec_overloaded_builtins): Move to rs6000-call.c.
-	* config/rs6000/rs6000.h (struct altivec_builtin_types): Moved from
-	rs6000-c.c.
-	* config/rs6000/rs6000-call.c (rs6000_builtin_info): Make static.
-	(altivec_overloaded_builtins): Moved from rs6000-c.c.
-	(rs6000_common_init_builtins): Do no define builtins that overload
-	builtins that have been disabled.
-
-2019-12-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.c (arm_option_override_internal):
-	Use max_cond_insns from CPU tuning unless -mrestrict-it is used.
-
-2019-12-04  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c
-	(thunderxt88_tunings): Use AARCH64_FUSE_ALU_BRANCH.
-	(thunderx_tunings): Likewise.
-	(tsv110_tunings): Use AARCH64_FUSE_ALU_BRANCH and AARCH64_FUSE_ALU_CBZ.
-	(thunderx2t99_tunings): Likewise.
-	(aarch_macro_fusion_pair_p): Add support for AARCH64_FUSE_CMP_BRANCH.
-	* config/aarch64/aarch64-fusion-pairs.def: Add ALU_CBZ fusion.
-
-2019-12-04  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Properly guard
-	empty CTOR and memset partial-def registering.  Take advantage
-	of fancy offset analysis in memset handling.
-
-2019-12-04  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* fold-const.c (native_encode_vector_part): Handle
-	VECTOR_BOOLEAN_TYPE_Ps that have subbyte precision.
-	(native_decode_vector_tree): Delete, moving the bulk of the code to...
-	(native_interpret_vector_part): ...this new function.  Use a pointer
-	and length instead of a vec<> and start index.
-	(native_interpret_vector): Use native_interpret_vector_part.
-	(fold_view_convert_vector_encoding): Likewise.
-
-2019-12-04  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Handle
-	non-constant defs in the most trivial way.
-	(vn_reference_lookup_3): Also push down SSA partial defs.
-
-2019-12-04  Martin Liska  <mliska@suse.cz>
-
-	* tree-switch-conversion.c (switch_decision_tree::try_switch_expansion):
-	Initialize count of newly created BB.
-
-2019-12-04  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92734
-	* match.pd ((A +- B) - A -> +- B, (A +- B) -+ B -> A,
-	A - (A +- B) -> -+ B, A +- (B -+ A) -> +- B): Handle nop_convert.
-
-2019-12-04  Kewen Lin  <linkw@gcc.gnu.org>
-
-	PR target/92760
-	* config/rs6000/rs6000.c (rs6000_preferred_simd_mode): Use
-	VECTOR_MEM_NONE_P instead of VECTOR_UNIT_NONE_P.
-
-2019-12-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c: Include tree-into-ssa.h.
-	(compute_fn_summary): Call update_ssa.
-
-2019-12-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_node::verify_node): Check that calls_comdat_local
-	is set only for symbol in comdat group.
-	* symtab.c (symtab_node::dissolve_same_comdat_group_1): Clear it.
-
-2019-12-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c: Include tree-into-ssa.h
-	(cgraph_node::get_body): Call update_ssa.
-	* cgraphunit.c (cgraph_node::expand): Likewise.
-	* lto-streamer-in.c (input_function): Do not call update_ssa.
-
-2019-12-03  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* gimplify.c (gimplify_compound_lval): Don't gimplify and install
-	an array element size if array_element_size is already an invariant.
-	Similarly don't gimplify and install a field offset if
-	component_ref_field_offset is already an invariant.
-
-2019-12-03  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cfgexpand.c (discover_nonconstant_array_refs_r): If an access
-	with POLY_INT_CST size is made to a fixed-size object, force the
-	object to live in memory.
-
-2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-valu.md: Change "vcondu" patterns to use VEC_1REG_MODE
-	for the data mode.
-
-2019-12-03  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92758
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Restore
-	operation on uniform vectors.
-
-2019-12-03  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92645
-	* gimple-fold.c (gimple_fold_builtin_memory_op): Fold memcpy
-	from or to a properly aligned register variable.
-
-2019-12-03  Matthias Klose  <doko@ubuntu.com>
-
-	* Makefile.in (SOURCES): Add doc/lto-dump.1.
-	(install-man): Add $(LTO_DUMP_INSTALL_NAME)$(man1ext).
-	($(LTO_DUMP_INSTALL_NAME)$(man1ext): New.
-
-2019-12-03  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92751
-	* tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Fail
-	when a clobber ends up in the partial-def vector.
-	(vn_reference_lookup_3): Let clobbers be handled by the
-	assignment from CTOR handling.
-
-2019-12-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92734
-	* match.pd ((CST1 - A) +- CST2 -> CST3 - A,
-	CST1 - (CST2 - A) -> CST3 + A): Handle nop casts around
-	inner subtraction.
-
-2019-12-03  Uroš Bizjak  <ubizjak@gmail.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92744
-	* config/i386/i386.md (peephole2 for *swap<mode>): Use
-	general_reg_operand predicates instead of register_operand.
-
-2019-12-03  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92645
-	* tree-ssa.c (execute_update_addresses_taken): Avoid representing
-	a full def of a vector via a BIT_INSERT_EXPR.
-
-2019-12-02  Bill Schmidt  <wschmidt@linux.ibm.com>
-
-	* config/rs6000/rs6000-call.c (rs6000_invalid_builtin): Make
-	static.
-	* config/rs6000/rs6000-internal.h (rs6000_invalid_builtin): Remove
-	decl.
-
-2019-12-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR middle-end/92741
-	* fold-const.c (fold_convertible_p): Check vector types more
-	thoroughly.
-
-2019-12-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_report_sve_required): New function.
-	(aarch64_expand_mov_immediate): Use it when attempting to measure
-	the length of an SVE vector.
-	(aarch64_mov_operand_p): Only allow SVE CNT immediates when
-	SVE is enabled.
-
-2019-12-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-sve-builtins.h
-	(gimple_folder::force_vector): Declare.
-	* config/aarch64/aarch64-sve-builtins.cc
-	(gimple_folder::force_vector): New function.
-	* config/aarch64/aarch64-sve-builtins-base.cc
-	(svcmp_impl::fold): Likewise.
-	(svdup_impl::fold): Handle svdup_z too.
-
-2019-12-02  Martin Liska  <mliska@suse.cz>
-
-	* ipa-devirt.c (warn_types_mismatch): Use get_odr_name_for_type
-	function.
-	(debug_tree_odr_name): New.
-	* ipa-utils.h (get_odr_name_for_type): New.
-
-2019-12-02  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92742
-	* tree-vect-loop.c (vect_fixup_reduc_chain): Do not
-	touch the def-type but verify it is consistent with the
-	original stmts.
-
-2019-12-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92712
-	* match.pd ((A * B) +- A -> (B +- 1) * A,
-	A +- (A * B) -> (1 +- B) * A): Allow optimizing signed integers
-	even when we don't know anything about range of A, but do know
-	something about range of B and the simplification won't introduce
-	new UB.
-
-2019-12-02  Feng Xue  <fxue@os.amperecomputing.com>
-
-	PR ipa/92133
-	* doc/invoke.texi (ipa-cp-max-recursive-depth): Document new option.
-	(ipa-cp-min-recursive-probability): Likewise.
-	* params.opt (ipa-cp-max-recursive-depth): New.
-	(ipa-cp-min-recursive-probability): Likewise.
-	* ipa-cp.c (ipcp_lattice<valtype>::add_value): Add two new parameters
-	val_p and unlimited.
-	(self_recursively_generated_p): New function.
-	(get_val_across_arith_op): Likewise.
-	(propagate_vals_across_arith_jfunc): Add constant propagation for
-	self-recursive function.
-	(incorporate_penalties): Do not penalize pure self-recursive function.
-	(good_cloning_opportunity_p): Dump node_is_self_scc flag.
-	(propagate_constants_topo): Set node_is_self_scc flag for cgraph node.
-	(get_info_about_necessary_edges): Relax hotness check for edge to
-	self-recursive function.
-	* ipa-prop.h (ipa_node_params): Add new field node_is_self_scc.
-
-2019-12-01  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR target/92499
-
-	* config/nios2/nios2.c (nios2_in_small_data_p): Do not consider
-	objects of flexible types to be small if they have internal linkage
-	or are declared extern.
-	* config/nios2/nios2.h (ASM_OUTPUT_ALIGNED_LOCAL): Replace with...
-	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): ...this.  Use targetm.in_small_data_p
-	instead of the size of the object initializer.
-	* tree.c (flexible_array_type_p): Move from C front end, and
-	generalize to handle fields in non-C structures.
-	* tree.h (flexible_array_type_p): Declare.
-
-2019-11-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.h (profile_count::operator<): Use IPA value for
-	comparsion.
-	(profile_count::operator>): Likewise.
-	(profile_count::operator<=): Likewise.
-	(profile_count::operator>=): Likewise.
-	* predict.c (maybe_hot_count_p): Do not convert to gcov_type.
-
-2019-11-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (compute_max_insns): Return int64_t.
-	(inline_small_functions): Simplify.
-
-2019-11-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-cfg.c (execute_fixup_cfg): Update also max_bb_count when
-	scaling happen.
-
-2019-11-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.h (symtab_node): Add symver flag.
-	* cgraphunit.c (process_symver_attribute): New.
-	(process_common_attributes): Use process_symver_attribute.
-	* lto-cgraph.c (lto_output_node): Stream symver.
-	(lto_output_varpool_node): Stream symver.
-	(input_overwrite_node): Stream symver.
-	(input_varpool_node): Stream symver.
-	* output.h (do_assemble_symver): Decalre.
-	* symtab.c (symtab_node::dump_base): Dump symver.
-	(symtab_node::verify_base): Verify symver.
-	(symtab_node::resolve_alias): Handle symver.
-	* varasm.c (do_assemble_symver): New function.
-	* varpool.c (varpool_node::assemble_aliases): Use it.
-	* doc/extend.texi: (symver attribute): Document.
-	* config/elfos.h (ASM_OUTPUT_SYMVER_DIRECTIVE): New.
-
-2019-11-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.h (type_context_kind): New enum.
-	(verify_type_context): Declare.
-	* target.def (verify_type_context): New target hook.
-	* doc/tm.texi.in (TARGET_VERIFY_TYPE_CONTEXT): Likewise.
-	* doc/tm.texi: Regenerate.
-	* tree.c (verify_type_context): New function.
-	* config/aarch64/aarch64-protos.h (aarch64_sve::verify_type_context):
-	Declare.
-	* config/aarch64/aarch64-sve-builtins.cc (verify_type_context):
-	New function.
-	* config/aarch64/aarch64.c (aarch64_verify_type_context): Likewise.
-	(TARGET_VERIFY_TYPE_CONTEXT): Define.
-
-2019-11-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_node::dump): Dump unit_id and merged_extern_inline.
-	* cgraph.h (cgraph_node): Add unit_id and
-	merged_extern_inline.
-	(symbol_table): Add max_unit.
-	(symbol_table::symbol_table): Initialize it.
-	* cgraphclones.c (duplicate_thunk_for_node): Copy unit_id.
-	merged_comdat, merged_extern_inline.
-	(cgraph_node::create_clone): Likewise.
-	(cgraph_node::create_version_clone): Likewise.
-	* ipa-fnsummary.c (dump_ipa_call_summary): Dump info about cross module
-	calls.
-	* ipa-fnsummary.h (cross_module_call_p): New inline function.
-	* ipa-inline-analyssi.c (simple_edge_hints): Use it.
-	* ipa-inline.c (inline_small_functions): Likewise.
-	* lto-symtab.c (lto_cgraph_replace_node): Record merged_extern_inline;
-	copy merged_comdat and merged_extern_inline.
-	* lto-cgraph.c (lto_output_node): Stream out merged_comdat,
-	merged_extern_inline and unit_id.
-	(input_overwrite_node): Stream in these.
-	(input_cgraph_1): Set unit_base.
-	* lto-streamer.h (lto_file_decl_data): Add unit_base.
-	* symtab.c (symtab_node::make_decl_local): Record former_comdat.
-
-2019-11-30  Maciej W. Rozycki  <macro@wdc.com>
-
-	* gcc.c (process_command): Only warn about an ineffective `-x'
-	option if any input files have actually been supplied.
-
-2019-11-30  Maciej W. Rozycki  <macro@wdc.com>
-
-	* doc/install.texi (Options specification): Remove the list of
-	target library subdirectories supporting
-	`--enable-version-specific-runtime-libs'.  Document defaults for
-	the option.
-
-2019-11-29  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/92283
-	* lra.c (lra): Update reg notes after inheritance sub-pass and
-	before constraint sub-pass.
-
-2019-11-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/91003
-	* tree-vect-slp.c (vect_mask_constant_operand_p): Pass in the
-	operand number, avoid handling the non-condition operands of
-	COND_EXPRs as comparisons.
-	(vect_get_constant_vectors): Pass down the operand number.
-	(vect_get_slp_defs): Likewise.
-
-2019-11-29  Frederik Harwath  <frederik@codesourcery.com>
-
-	* gimple-match-head.c (maybe_resimplify_conditional_op): Use
-  	generic_expr_could_trap_p to check if the condition of COND_EXPR or
-  	VEC_COND_EXPR can trap.
-
-2019-11-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/92677
-	* tree-vect-loop.c (vect_dissolve_slp_only_groups): Set the gap
-	to zero when dissolving a group of strided accesses.
-
-2019-11-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/92596
-	* tree-vect-stmts.c (vectorizable_call): Punt on hybrid mask/nonmask
-	operations.
-	(vectorizable_operation): Likewise, instead of relying on
-	vect_get_mask_type_for_stmt to do this.
-	(vect_get_vector_types_for_stmt): Always return a vector type
-	immediately, rather than deferring the choice for boolean results.
-	Use a vector mask type instead of a normal vector if
-	vect_use_mask_type_p.
-	(vect_get_mask_type_for_stmt): Delete.
-	* tree-vect-loop.c (vect_determine_vf_for_stmt_1): Remove
-	mask_producers argument and special boolean_type_node handling.
-	(vect_determine_vf_for_stmt): Remove mask_producers argument and
-	update calls to vect_determine_vf_for_stmt_1.  Remove doubled call.
-	(vect_determine_vectorization_factor): Update call accordingly.
-	* tree-vect-slp.c (vect_build_slp_tree_1): Remove special
-	boolean_type_node handling.
-	(vect_slp_analyze_node_operations_1): Likewise.
-
-2019-11-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (stmt_vec_info::mask_precision): New field.
-	(vect_use_mask_type_p): New function.
-	* tree-vect-patterns.c (vect_init_pattern_stmt): Copy the
-	mask precision to the pattern statement.
-	(append_pattern_def_seq): Add a scalar_type_for_mask parameter
-	and use it to initialize the new stmt's mask precision.
-	(search_type_for_mask_1): Delete.
-	(search_type_for_mask): Replace with...
-	(integer_type_for_mask): ...this new function.  Use the information
-	cached in the stmt_vec_info.
-	(vect_recog_bool_pattern): Update accordingly.
-	(build_mask_conversion): Pass the scalar type associated with the
-	mask type to append_pattern_def_seq.
-	(vect_recog_mask_conversion_pattern): Likewise.  Call
-	integer_type_for_mask instead of search_type_for_mask.
-	(vect_convert_mask_for_vectype): Call integer_type_for_mask instead
-	of search_type_for_mask.
-	(possible_vector_mask_operation_p): New function.
-	(vect_determine_mask_precision): Likewise.
-	(vect_determine_stmt_precisions): Call it.
-
-2019-11-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (get_mask_type_for_scalar_type): Replace
-	the slp_tree parameter with a group size parameter.
-	(vect_get_mask_type_for_stmt): Likewise.
-	* tree-vect-stmts.c (get_mask_type_for_scalar_type): Likewise.
-	(vect_get_mask_type_for_stmt): Likewise.
-	* tree-vect-slp.c (vect_slp_analyze_node_operations_1): Update
-	call accordingly.
-
-2019-11-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_operation): Punt early
-	on codes that are handled elsewhere.
-
-2019-11-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* doc/sourcebuild.texi (vect_bool_cmp): Document.
-	* tree-vect-patterns.c (search_type_for_mask_1): If neither
-	operand to a boolean comparison is a natural vector mask,
-	handle both operands like normal integers instead.
-
-2019-11-29  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Bail
-	out early for too large objects.
-
-2019-11-29  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/92476
-	* ipa-cp.c (set_single_call_flag): Set node_calling_single_call in
-	the summary only if the summary exists.
-	(find_more_scalar_values_for_callers_subset): Check node_dead in
-	the summary only if the summary exists.
-	(ipcp_store_bits_results): Ignore nodes without lattices.
-	(ipcp_store_vr_results): Likewise.
-	* cgraphclones.c: Include ipa-fnsummary.h and ipa-prop.h and the
-	header files required by them.
-	(cgraph_node::expand_all_artificial_thunks): Analyze expanded thunks.
-
-2019-11-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/92710
-	* tree-vect-stmts.c (vectorizable_simd_clone_call): Reject
-	vector mask arguments.
-
-2019-11-29  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.c (profile_count::to_cgraph_frequency,
-	profile_count::to_sreal_scale): Check for compaibility of counts.
-	* profile-count.h (compatible_p): Make public; add checking for
-	global0 versus global types.
-	* cgraph.c (cgraph_node::verify_node): Verify count compatibility.
-
-2019-11-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92715
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Bail
-	out for uniform vectors and source vectors with less elements
-	than the destination.
-
-2019-11-29  Martin Liska  <mliska@suse.cz>
-
-	PR lto/91574
-	* ipa-devirt.c (types_same_for_odr): Check for existence
-	of TYPE_NAMEs first.
-
-2019-11-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92704
-	* tree-if-conv.c (combine_blocks): Deal with virtual PHIs
-	in loops performing only loads.
-
-2019-11-29  Julian Brown  <julian@codesourcery.com>
-
-	* builtin-types.def (BT_DFLOAT32_PTR, BT_DFLOAT64_PTR,
-	BT_DFLOAT128_PTR) Remove.
-	* tree-core.h (TI_DFLOAT32_PTR_TYPE, TI_DFLOAT64_PTR_TYPE,
-	TI_DFLOAT128_PTR_TYPE): Remove.
-	* tree.c (build_common_type_nodes): Remove dfloat32_ptr_type_node,
-	dfloat64_ptr_type_node and dfloat128_ptr_type_node initialisation.
-	* tree.h (dfloat32_ptr_type_node, dfloat64_ptr_type_node,
-	dfloat128_ptr_type_node): Remove macros.
-
-2019-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (*movsi_internal1): Fix formatting.  Improve
-	formatting.
-	(*movdi_internal64): Ditto.
-
-2019-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/92602
-	* config/rs6000/rs6000.md (bswap<mode>2_load for HSI): Change the
-	indexed_or_indirect_operand to be memory_operand.
-	(bswap<mode>2_store for HSI): Ditto.
-	(bswapdi2_load): Ditto.
-	(bswapdi2_store): Ditto.
-
-2019-11-28  Martin Liska  <mliska@suse.cz>
-
-	PR debug/46558
-	* dbgcnt.c (dbg_cnt_list_all_counters): Mark table
-	headers for translation.
-
-2019-11-28  Martin Liska  <mliska@suse.cz>
-
-	PR lto/92609
-	* ipa-devirt.c (warn_types_mismatch): Use TYPE_MAIN_VARIANT
-	consistently.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (want_early_inline_function_p): Remove leftover optimize
-	checks.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.c (profile_count::combine_with_ipa_count): Return
-	uninitialized count if called on ininitialized count.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-transform.c (inline_transform): Scale profile before
-	redirecting.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.h (profile_count::max): Work on profiles of different
-	type.
-	(profile_count::apply_scale): Be sure that ret is not local or global0
-	type if num is global.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.h (profile_count::max): Work on profiles of different
-	type.
-	(profile_count::apply_scale): Be sure that ret is not local or global0
-	type if num is global.
-
-2019-11-28  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/92697
-	* cgraph.c (cgraph_node_cannot_be_local_p_1): Return true for
-	ifunc_resolvers.
-	* symtab.c (symtab_node::dump_base): Dump ifunc_resolver flag.
-	Removed trailig whitespace.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.h (profile_count::combine_with_ipa_count_within):
-	Declare.
-	* profile-count.c (profile_count::combine_with_ipa_count_within):
-	New.
-	* cgraphclones.c (cgraph_edge::clone, cgraph_node::create_clone): Use
-	it.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-utils.c (ipa_merge_profiles): Be sure that all type transtions
-	of counters are done same way.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (update_profiling_info): Fix scaling.
-
-2019-11-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92645
-	* tree-inline.c (remap_gimple_stmt): When the return value
-	is not wanted, elide GIMPLE_RETURN.
-
-2019-11-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92645
-	* tree-ssa-forwprop.c (get_bit_field_ref_def): Also handle
-	conversions inside a mode class.  Remove restriction on
-	preserving the element size.
-	(simplify_vector_constructor): Deal with the above and for
-	identity permutes also try using VEC_UNPACK_[FLOAT_]LO_EXPR
-	and VEC_PACK_TRUNC_EXPR.
-
-2019-11-28  Georg-Johann Lay  <avr@gjlay.de>
-
-	Must use push insn to pass varargs arguments of DFmode because
-	otherwise the middle-end generates wrong code.
-
-	PR target/92055
-	* config/avr/avr.md (MPUSH) [DF, DC]: Add modes to mode iterator.
-
-2019-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92691
-	* tree-ssa-strlen.c (handle_store): Clarify return value meaning
-	in function comment.
-	(strlen_check_and_optimize_call): Likewise.  For handle_printf_call
-	calls, return !handle_printf_call rather than always returning true.
-	(check_and_optimize_stmt): Describe return value meaning in function
-	comment.  Formatting fix.
-
-2019-11-28  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.c (profile_count::to_sreal_scale): Handle correctly
-	combination of globa0 and global counters..
-
-2019-11-28  Kewen Lin  <linkw@gcc.gnu.org>
-
-	PR target/92566
-	* config/rs6000/rs6000.c (rs6000_preferred_simd_mode): Check
-	by VECTOR_UNIT_NONE_P instead.
-
-2019-11-28  Hongtao Liu  <hongtao.liu@inte.com>
-
-	* config/i386/sse.md (avx512f_maskcmp<mode>3):
-	Refine VF to VF_AVX512VL.
-
-2019-11-27  Michael Meissner  <meissner@linux.ibm.com>
-
-	* config/rs6000/rs6000.md (movsi_internal): Reformat.
-	(movdi_internal64): Reformat.
-
-2019-11-27  Peter Bergner <bergner@linux.ibm.com>
-
-	PR bootstrap/92661
-	* config/rs6000/rs6000-call.c: (def_builtin): Do not define the
-	builtin if we don't have an actual type.
-	(builtin_function_type): If the builtin function uses a DFP type
-	and decimal float has been disabled, then return NULL_TREE.
-
-2019-11-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/92510
-	* combine.c (gen_lowpart_for_combine): Only transform lowpart subreg
-	of comparison into a comparison with different mode if both imode and
-	omode are scalar integral modes.
-
-2019-11-27  Vladimir Makarov  <vmakarov@redhat.com>
-
-	PR rtl-optimization/90007
-	* recog.c (constrain_operands): Permit hard registers too for
-	memory when LRA is used.
-
-2019-11-27  Bernd Schmidt  <bernds_cb1@t-online.de>
-
-	* config/m68k/m68k.c (m68k_output_compare_fp): Restore differences
-	between Coldfire and regular m68k.
-	* config/m68k/m68k.md (cmp1_cf_constraints): Disallow constants.
-
-2019-11-27  Richard Biener  <rguenther@suse.de>
-
-	* target.def (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
-	* targhooks.c (default_builtin_vectorized_conversion): Likewise.
-	* targhooks.h (default_builtin_vectorized_conversion): Likewise.
-	* optabs-tree.c (supportable_convert_operation): Do not call
-	targetm.vectorize.builtin_conversion.  Remove unused decl parameter.
-	* optabs-tree.h (supportable_convert_operation): Adjust.
-	* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
-	* doc/tm.texi: Regenerate.
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Adjust.
-	* tree-vect-generic.c (expand_vector_conversion): Likewise.
-	* tree-vect-stmts.c (vect_gen_widened_results_half): Remove
-	unused decl parameter and adjust.
-	(vect_create_vectorized_promotion_stmts): Likewise.
-	(vectorizable_conversion): Adjust.
-
-2019-11-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92690
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Avoid
-	converting elements not originally converted.
-
-2019-11-27  Tobias Burnus  <tobias@codesourcery.com>
-
-	PR middle-end/92463
-	* builtins.c (do_mpfr_ckconv, do_mpc_ckconv, do_mpfr_remquo,
-	do_mpfr_lgamma_r, do_mpc_arg2): Use MPFR_RNDx instead of GMP_RNDx,
-	mpfr_rnd_t instead of mp_rnd_t.
-	* fold-const-call.c (do_mpfr_ckconv, do_mpfr_arg1, do_mpfr_sincos,
-	do_mpfr_arg2, do_mpfr_arg3, do_mpc_arg1, do_mpc_arg2): Likewise.
-	* gimple-ssa-sprintf.c (format_floating_max, format_floating):
-	Use mpfr_exp_t instead of mp_exp_t.
-	* real.c (real_from_string, dconst_e_ptr, dconst_sqrt2_ptr): Use
-	MPFR_RNDx instead of GMP_RNDx.
-	* realmpfr.c (real_from_mpfr, mpfr_from_real): Use mpfr_rnd_t and
-	mpfr_exp_t instead mp_rnd_t and mp_exp_t, respectively.
-	* realmpfr.h (real_from_mpfr, mpfr_from_real): Use mpfr_rnd_t instead
-	of mp_rnd_t and remove MPFR_RNDx poisoning.
-	* ubsan.c (ubsan_instrument_float_cast): MPFR_RNDx instead of GMP_RNDx.
-
-2019-11-27  Kewen Lin  <linkw@gcc.gnu.org>
-
-	PR tree-optimization/91790
-	* tree-vect-stmts.c (vectorizable_load): Use the adjusted
-	DR for vect_setup_realignment when first_stmt_info is different
-	from first_stmt_info_for_drptr.
-
-2019-11-27  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92645
-	* tree-ssa-forwprop.c (simplify_vector_constructor): Handle
-	CTORs with just a subset of the original vectors.
-
-2019-11-27  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/92674
-	* tree-inline.c (expand_call_inline): Delay purging EH/abnormal
-	edges and instead record blocks in bitmap.
-	(gimple_expand_calls_inline): Adjust.
-	(fold_marked_statements): Delay EH cleanup until all folding is
-	done.
-	(optimize_inline_calls): Do EH/abnormal cleanup for calls after
-	inlining finished.
-
-2019-11-27  Bernd Schmidt  <bernds_cb1@t-online.de>
-
-	* auto-inc-dec.c (merge_in_block): Allow autoinc in jumps unless
-	LRA is enabled.
-	* combine.c (can_combine_p): Disallow autoinc in jumps unless LRA is
-	disabled.
-
-2019-11-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/92664
-	* dwarf2out.c (lookup_filename): Use "<stdin>" instead of "".
-
-2019-11-26  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/92683
-	* gimple-fold.c (gimple_fold_builtin_string_compare): Restore a test
-	inadvertently removed in a previous change.  Rename local variable
-	for clarity.
-
-2019-11-26  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/92669
-	* cfganal.c (pre_and_rev_post_order_compute_fn): Deal with
-	NULL pre_order.
-
-2019-11-26  Robin Dapp  <rdapp@linux.ibm.com>
-
-	* config/s390/linux.h: Add undef for MUSL_DYNAMIC_LINKERxx.
-
-2019-11-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92644
-	* tree-ssa-phiopt.c (minmax_replacement): Add INTEGRAL_TYPE_P check
-	next to INTEGER_CST checks.
-
-2019-11-26  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92645
-	* tree-vect-slp.c (vect_build_slp_tree_2): For unary ops
-	do not build the operation from scalars if the operand is.
-
-2019-11-25  Tobias Burnus  <tobias@codesourcery.com>
-
-	* config/gcn/mkoffload.c (COMMENT_PREFIX, struct id_map,
-	func_ids, funcs_tail, var_ids, vars_tail) Remove unused
-	definitions.
-
-2019-11-25  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf.c (sem_item_optimizer::dump_cong_classes): Clean
-	up used dump message.
-
-2019-11-25  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/92653
-	* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Comment out
-	too strict checking assert.
-
-2019-11-25  Joseph Myers  <joseph@codesourcery.com>
-
-	PR c/91985
-	* builtin-types.def (BT_DFLOAT32, BT_DFLOAT64, BT_DFLOAT128)
-	(BT_DFLOAT32_PTR, BT_DFLOAT64_PTR, BT_DFLOAT128_PTR): Define to
-	error_mark_node if corresponding global tree node is NULL.
-	* tree.c (build_common_tree_nodes): Do not initialize
-	dfloat32_type_node, dfloat64_type_node or dfloat128_type_node if
-	decimal floating-point not supported.
-
-2019-11-25  Joseph Myers  <joseph@codesourcery.com>
-
-	* attribs.c (decl_attributes): Do not ignore C++11 attributes on
-	types.
-
-2019-11-25  Bernd Schmidt  <bernds_cb1@t-online.de>
-
-	* config/m68k/m68k.c (output_move_himode, output_move_qimode):
-	Replace code for non-CONST_INT constants with gcc_unreachable.
-	* config/m68k/m68k.md (cbranchdi): Don't generate individual
-	compare and test.
-	(CMPMODE): New mode_iterator.
-	(cbranchsi4, cbranchqi4, cbranchhi4): Replace expanders with
-	cbranch<mode>4.
-	(cstoresi4, cstoreqi4, cstorehi4): Replace expanders with
-	cstore<mode>4.
-	(cmp<mode>_68881): Remove 'F' constraint from first comparison
-	operand.
-	(bit test insns patterns): Use nonimmediate_operand, not
-	register_operand, for source operands that allow memory in
-	their constraints.
-	(divmodsi4, udivmodsi4, divmodhi4 and related unnamed patterns):
-	Use register_operand, not nonimmediate_operand, for the
-	destinations.
-	(DBCC): New mode_iterator.
-	(dbcc peepholes): Use it to reduce duplication.
-	(trap): Use const_true_rtx, not const1_rtx.
-	* config/m68k/predicates.md (m68k_comparison_operand): Renamed
-	from m68k_subword_comparison_operand and changed to handle
-	SImode.
-
-	PR target/91851
-	* config/m68k/m68k-protos.h (output-dbcc_and_branch): Adjust
-	declaration.
-	(m68k_init_cc): New declaration.
-	(m68k_output_compare_di, m68k_output_compare_si)
-	(m68k_output_compare_hi, m68k_output_compare_qi)
-	(m68k_output_compare_fp, m68k_output_btst, m68k_output_bftst)
-	(m68k_find_flags_value, m68k_output_scc, m68k_output_scc_float)
-	(m68k_output_branch_integer, m68k_output_branch_integer_rev.
-	m68k_output_branch_float, m68k_output_branch_float_rev):
-	Likewise.
-	(valid_dbcc_comparison_p_2, flags_in_68881)
-	(output_btst): Remove declaration.
-	* config/m68k/m68k.c (INCLDUE_STRING): Define.
-	(TARGET_ASM_FINAL_POSTSCAN_INSN): Define.
-	(valid_dbcc_comparison_p_2, flags_in_68881): Delete functions.
-	(flags_compare_op0, flags_compare_op1, flags_operand1,
-	flags_operand2, flags_valid): New static variables.
-	(m68k_find_flags_value, m68k_init_cc): New functions.
-	(handle_flags_for_move, m68k_asm_final_postscan_insn,
-	remember_compare_flags): New static functions.
-	(output_dbcc_and_branch): New argument CODE.  Use it, and add
-	PLUS and MINUS to the possible codes.  All callers changed.
-	(m68k_output_btst): Renamed from output_btst.  Remove OPERANDS
-	and INSN arguments, add CODE arg.  Return the comparison code
-	to use.  All callers changed.  Use CODE instead of
-	next_insn_tests_no_inequality, and replace cc_status management
-	with changing the return code.
-	(m68k_rtx_costs): Instead of testing for COMPARE, test for
-	RTX_COMPARE or RTX_COMM_COMPARE.
-	(output_move_simode, output_move_qimode): Call
-	handle_flags_for_move.
-	(notice_update_cc): Delete function.
-	(m68k_output_bftst, m68k_output_compare_di, m68k_output_compare_si,
-	m68k_output_compare_hi, m68k_output_compare_qi,
-	m68k_output_compare_fp, m68k_output_branch_integer,
-	m68k_output_branch_integer_rev, m68k_output_scc,
-	m68k_output_branch_float, m68k_output_branch_float_rev,
-	m68k_output_scc_float): New functions.
-	(output_andsi3, output_iorsi3, output_xorsi3): Call CC_STATUS_INIT
-	once at the start, and set flags_valid and flags_operand1 if the
-	flags are usable.
-	* config/m68k/m68k.h (CC_IN_68881, NOTICE_UPDATE_CC,
-	CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, OUTPUT_JUMP): Remove
-	definitions.
-	(CC_STATUS_INIT): Define.
-	* config/m68k/m68k.md (flags_valid): New define_attr.
-	(tstdi, tstsi_internal_68020_cf, tstsi_internal, tsthi_internal,
-	tstqi_internal, tst<mode>_68881, tst<mode>_cf, cmpdi_internal,
-	cmpdi, unnamed cmpsi/cmphi/cmpqi patterns, cmpsi_cf,
-	cmp<mode>_68881, cmp<mode>_cf, unnamed btst patterns,
-	tst_bftst_reg, tst_bftst_reg, unnamed scc patterns, scc,
-	sls, sordered_1, sunordered_1, suneq_1, sunge_1, sungt_1,
-	sunle_1, sunlt_1, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
-	bge0_di, blt0_di, beq, bne, bgt, bgtu, blt, bltu, bge, bgeu,
-	ble, bleu, bordered, bunordered, buneq, bunge, bungt, bunle,
-	bunlt, bltgt, beq_rev, bne_rev, bgt_rev, bgtu_rev,
-	blt_rev, bltu_rev, bge_rev, bgeu_rev, ble_rev, bleu_rev,
-	bordered_rev, bunordered_rev, buneq_rev, bunge_rv, bungt_rev,
-	bunle_rev, bunlt_rev, bltgt_rev, ctrapdi4, ctrapsi4, ctraphi4,
-	ctrapqi4, conditional_trap): Delete patterns.
-	(cbranchdi4_insn): New pattern.
-	(cbranchdi4): Don't generate cc0 patterns.  When testing LT or GE,
-	test high part only.  When testing EQ or NE, generate beq0_di
-	and bne0_di patterns directly.
-	(cstoredi4): When testing LT or GE, test high part only.
-	(both sets of cbranch<mode>4, cstore<mode>4): Don't generate cc0
-	patterns.
-	(scc0_constraints, cmp1_constraints, cmp2_constraints,
-	scc0_cf_constraints, cmp1_cf_constraints, cmp2_cf_constraints,
-	cmp2_cf_predicate): New define_mode_attrs.
-	(cbranch<mode>4_insn, cbranch<mode>4_insn_rev,
-	cbranch<mode>4_insn_cf, cbranch<mode>4_insn_cf_rev,
-	cstore<mode>4_insn, cstore<mode>4_insn_cf for integer modes)
-	New patterns.
-	(cbranch<mode>4_insn_68881, cbranch<mode>4_insn_rev_68881):
-	(cbranch<mode>4_insn_cf, cbranch<mode>4_insn_rev_cf,
-	cstore<mode>4_insn_68881, cstore<mode>4_insn_cf for FP):
-	New patterns.
-	(cbranchsi4_btst_mem_insn, cbranchsi4_btst_reg_insn,
-	cbranchsi4_btst_mem_insn_1, cbranchsi4_btst_reg_insn_1):
-	Likewise.
-	(BTST): New define_mode_iterator.
-	(btst_predicate, btst_constraint, btst_range): New
-	define_mode_attrs.
-	(cbranch_bftst<mode>_insn, cstore_bftst<mode>_insn): New
-	patterns.
-	(movsi_m68k_movsi_m68k2, movsi_cf, unnamed movstrict patterns,
-	unnamed movhi and movqi patterns, unnamed movsf, movdf and movxf
-	patterns): Set attr "flags_valid".
-	(truncsiqi2, trunchiqi2, truncsihi2): Remove manual CC_STATUS
-	management.  Set attr "flags_valid".
-	(extendsidi2, extendplussidi, unnamed float_extendsfdf pattern,
-	extendsfdf2_cf, fix_truncdfsi2, fix_truncdfhi2, fix_truncdfqi2,
-	addi_sexthishl32, adddi_dilshr32, adddi_dilshr32_cf,
-	addi_dishl32, subdi_sexthishl32, subdi_dishl32, subdi3): Remove
-	manual CC_STATUS management.
-	(addsi3_internal, addhi3, addqi3, subsi3, subhi3, subqi3,
-	unnamed strict_lowpart subhi and subqi patterns): Set attr
-	"flags_valid".
-	(unnamed strict_lowpart addhi3 and addqi3 patterns): Likewise.
-	Remove code to operate on address regs and assert the case
-	does not occur.
-	(unnamed mulsidi patterns, divmodhi4, udivmodhi4): Remove
-	manual CC_STATUS_INIT.
-	(andsi3_internal, andhi3, andqi3, iorsi3_internal, iorhi3, iorqi3,
-	xorsi3_internal, xorhi3, xorqi3, negsi2_internal,
-	negsi2_5200, neghi2, negqi2, one_cmplsi2_internal, one_cmplhi2,
-	one_cmplqi2, unnamed strict_lowpart patterns
-	for andhi, andqi, iorhi, iorqi, xorhi, xorqi, neghi, negqi,
-	one_cmplhi and one_cmplqi): Set attr "flags_valid".
-	(iorsi_zext_ashl16, iorsi_zext): Remove manual CC_STATUS_INIT.
-	(ashldi_sexthi, ashlsi_16, ashlsi_17_24): Remove manual
-	CC_STATUS_INIT.
-	(ashlsi3, ashlhi3, ashlqi3, ashrsi3, ashrhi3, ashrqi3, lshrsi3,
-	lshrhi3, shrqi3, rotlsi3, rotlhi3, rotlhi3_lowpart, rotlqi3,
-	rotlqi3_lowpart, rotrsi3, rotrhi3, rotrhi_lowpart, rotrqi3,
-	unnamed strict_low_part patterns for HI and
-	QI versions): Set attr "flags_valid".
-	(bsetmemqi, bsetmemqi_ext, bsetdreg, bchgdreg, bclrdreg,
-	bclrmemqi, extzv_8_16_reg, extzv_bfextu_mem, insv_bfchg_mem,
-	insv_bfclr_mem, insv_bfset_mem, extv_bfextu_reg,
-	insv_bfclr_reg, insv_bfset_reg, dbne_hi, dbne_si, dbge_hi,
-	dbge_si, extendsfxf2, extenddfxf2, ): Remove manual cc_status management.
-	(various unnamed peepholes): Adjust compare/branch sequences
-	for new cbranch patterns.
-	(dbcc peepholes): Likewise, and output the comparison here
-	as well.
-	* config/m68k/predicates.md (valid_dbcc_comparison_p): Delete.
-	(fp_src_operand): Allow constant zero.
-	(address_reg_operand): New predicate.
-
-	* rtl.h (inequality_comparisons_p): Remove declaration.
-	* recog.h (next_insn_tests_no_inequality): Likewise.
-	* rtlanal.c (inequality_comparisons_p): Delete function.
-	* recog.c (next_insn_tests_no_inequality): Likewise.
-
-2019-11-25  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Add assertion.
-	(vect_detect_hybrid_slp): Swap lane and instance iteration,
-	properly re-building the visited hash-map for each lane.
-
-2019-11-25  Tobias Burnus  <tobias@codesourcery.com>
-
-	* config/gcn/gcn.c (gcn_expand_scalar_to_vector_address,
-	gcn_md_reorg): Remove unused variables.
-	(gcn_emutls_var_init): Add missing (but unreachable) return
-	to silence warning.
-	(gcn_hsa_declare_function_name): Add gcc_unreachable to ensure
-	target != TARGET_GCN3 or TARGET_GCN3 will fail instead of use
-	an uninitialized variable.
-
-2019-11-25  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/92109
-	* cgraph.h (cgraph_node::remove_from_clone_tree): Declare.
-	* cgraphclones.c (cgraph_node::remove_from_clone_tree): New method.
-	(cgraph_materialize_clone): Move removel from clone tree to the
-	the new method and use it instead.
-	* ipa.c (symbol_table::remove_unreachable_nodes): When removing
-	bodies of clones, also remove it from the clone tree.
-
-2019-11-25  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/91956
-	* ipa-sra.c (process_isra_node_results): Put the new node to the
-	same comdat group as the original node.
-
-2019-11-25  Georg-Johann Lay  <avr@gjlay.de>
-
-	Build double32 / long-double32 multilibs if needed.
-
-	PR target/92055
-	* config/avr/t-avr:
-	(HAVE_DOUBLE_MULTILIB, HAVE_LONG_DOUBLE_MULTILIB): Remove vars.
-	(HAVE_DOUBLE32, HAVE_LONG_DOUBLE32, WITH_LONG_DOUBLE)
-	(HAVE_DOUBLE64, HAVE_LONG_DOUBLE64, WITH_DOUBLE): Set from
-	tm_defines and pass to genmultilib.awk.
-	* config/avr/genmultilib.awk: Use these variables to add double32
-	and / or long-double32 multilib(s) as needed.
-	* config/avr/driver-avr.c (avr_double_lib): Adjust comment.
-
-2019-11-25  Richard Biener  <rguenther@suse.de>
-
-	* cfgloop.h (get_loop_exit_edges): Add extra parameter denoting
-	loop body, defaulted to NULL.
-	(single_likely_exit): Add exit vector argument
-	* tree-ssa-loop-niter.h (loop_only_exit_p): Add loop body argument.
-	(number_of_iterations_exit): Likewise.
-	(number_of_iterations_exit_assumptions): Likewise.
-	* cfgloop.c (get_loop_exit_edges): Use passed in loop body
-	if not NULL.
-	* cfgloopanal.c (single_likely_exit): Use passed in exit vector.
-	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
-	Compute exit vector around call to single_likely_exit.
-	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_loop): Pass down
-	loop body to loop_only_exit_p.
-	* tree-ssa-loop-niter.c (loop_only_exit_p): Get loop body from
-	caller.
-	(number_of_iterations_exit_assumptions): Get loop body from caller
-	if not NULL.
-	(number_of_iterations_exit): Pass through new loop body arg.
-	(infer_loop_bounds_from_undefined): Get loop body from caller.
-	(estimate_numbers_of_iterations): Compute loop body once.
-
-2019-11-25  Richard Biener  <rguenther@suse.de>
-
-	* cfganal.c (pre_and_rev_post_order_compute_fn): Use an
-	auto_bb_flag instead of an sbitmap for visited handling.
-
-2019-11-25 Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/vector.md (vector_fp_comparison_simple): New code
-	iterator.
-	(vector_fp_comparison_complex): Likewise.
-	(vector_<code><mode> for VEC_F and vector_fp_comparison_simple): New
-	define_and_split.
-	(vector_<code><mode> for VEC_F and vector_fp_comparison_complex):
-	Likewise.
-	(vector_lt<mode> for VEC_F): Refactor with
-	vector_fp_comparison_simple.
-	(vector_le<mode> for VEC_F): Likewise.
-	(vector_unge<mode> for VEC_F): Likewise.
-	(vector_unle<mode> for VEC_F): Likewise.
-	(vector_ne<mode> for VEC_F): Likewise.
-	(vector_ungt<mode> for VEC_F): Likewise.
-	(vector_unlt<mode> for VEC_F): Likewise.
-	(vector_ltgt<mode> for VEC_F): Refactor with
-	vector_fp_comparison_complex.
-	(vector_ordered<mode> for VEC_F): Likewise.
-	(vector_uneq<mode> for VEC_F): Likewise.
-	(vector_unordered<mode> for VEC_F): Likewise.
-
-2019-11-24  Bernd Schmidt  <bernds_cb1@t-online.de>
-
-	* config/i386/i386.c (ix86_rtx_costs): Handle care of a PLUS in a
-	COMPARE, representing an overflow detection.
-
-	* combine.c (combine_instructions): Record costs for jumps.
-
-	* combine.c (can_combine_p): Allow autoinc in jumps.
-
-2019-11-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT): Remove.
-	* doc/invoke.texi (max-inline-insns-single-O2,
-	inline-heuristics-hint-percent-O2, inline-min-speedup-O2,
-	early-inlining-insns-O2): Remove documentation.
-	* ipa-fnsummary.c (analyze_function_body,
-	compute_fn_summary): Use opt_for_fn when accessing parameters.
-	* ipa-inline.c (caller_growth_limits, can_inline_edge_p,
-	inline_insns_auto, can_inline_edge_by_limits_p,
-	want_early_inline_function_p, big_speedup_p,
-	want_inline_small_function_p, want_inline_self_recursive_call_p,
-	recursive_inlining, compute_max_insns, inline_small_functions):
-	Likewise.
-	* opts.c (default_options): Add -O3 defaults for
-	OPT__param_early_inlining_insns_,
-	OPT__param_inline_heuristics_hint_percent_,
-	OPT__param_inline_min_speedup_, OPT__param_max_inline_insns_single_.
-	* params.opt (-param=early-inlining-insns-O2=,
-	-param=inline-heuristics-hint-percent-O2=,
-	-param=inline-min-speedup-O2=, -param=max-inline-insns-single-O2=
-	-param=early-inlining-insns=, -param=inline-heuristics-hint-percent=,
-	-param=inline-min-speedup=, -param=inline-unit-growth=,
-	-param=large-function-growth=, -param=large-stack-frame=,
-	-param=large-stack-frame-growth=, -param=large-unit-insns=,
-	-param=max-inline-insns-recursive=,
-	-param=max-inline-insns-recursive-auto=,
-	-param=max-inline-insns-single=,
-	-param=max-inline-insns-size=, -param=max-inline-insns-small=,
-	-param=max-inline-recursive-depth=,
-	-param=max-inline-recursive-depth-auto=,
-	-param=min-inline-recursive-probability=,
-	-param=partial-inlining-entry-probability=,
-	-param=uninlined-function-insns=, -param=uninlined-function-time=,
-	-param=uninlined-thunk-insns=, -param=uninlined-thunk-time=): Add
-	Optimization.
-
-2019-11-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* ipa-fnsummary.c: Fix comment typos.
-	* ipa-ref.h: Likewise.
-	* ipa-predicate.h: Likewise.
-	* ipa-split.c: Likewise.
-	* ipa-inline-analysis.c: Likewise.
-	* ipa-predicate.c: Likewise.
-	* ipa-devirt.c: Likewise.
-	* ipa-icf.h: Likewise.
-	* profile-count.c: Likewise.
-	* ipa-icf.c: Likewise.
-	(sem_function::equals_wpa): Fix typos in dump messages.
-	* ipa-icf-gimple.h: Fix comment typos.
-	* ipa-inline-transform.c: Likewise.
-	* ipa-polymorphic-call.c: Likewise.
-	* ipa-fnsummary.h: Likewise.
-	* ipa-inline.c: Likewise.
-	(dump_inline_stats): Fix typo in debug dump message.
-	* profile-count.h: Fix comment typos.
-
-	PR target/92615
-	* config/i386/i386.c (ix86_md_asm_adjust): If dest_mode is
-	GET_MODE (dest), is not QImode, using ZERO_EXTEND and dest is not
-	register_operand, force x into register before storing it into dest.
-	Formatting fix.
-
-	PR middle-end/83859
-	* doc/extend.texi (attribute access): Fix a typo.
-
-	PR rtl-optimization/92610
-	* cse.c (rest_of_handle_cse2): Call cleanup_cfg (0) also if
-	cse_cfg_altered is set, even when tem is 0.
-	(rest_of_handle_cse_after_global_opts): Likewise.
-
-2019-11-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/92458
-	* tree-hash-traits.h (tree_decl_hash, tree_ssa_name_hash,
-	tree_hash): Move to ...
-	* tree.h (tree_decl_hash, tree_ssa_name_hash, tree_hash): ... here.
-	(struct decl_tree_cache_traits, struct type_tree_cache_traits): New
-	types.
-	(decl_tree_cache_map, tree_tree_cache_map): New typedefs.
-
-	PR tree-optimization/92618
-	* tree-ssa-reassoc.c (v_info): Change from auto_vec to a struct
-	containing the auto_vec and a tree.
-	(undistribute_bitref_for_vector): Handle the case when element type
-	of vec is not the same as type of the BIT_FIELD_REF.  Formatting
-	fixes.
-
-2019-11-22  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/83859
-	* attribs.h (struct attr_access): New.
-	* attribs.c (decl_attributes): Add an informational note.
-	* builtins.c (check_access): Make extern.  Consistently set no-warning
-	after issuing a warning.  Handle calls through function pointers.  Set
-	no-warning.
-	* builtins.h (check_access): Declare.
-	* calls.c (rdwr_access_hash): New type.
-	(rdwr_map): Same.
-	(init_attr_rdwr_indices): New function.
-	(maybe_warn_rdwr_sizes): Same.
-	(initialize_argument_information): Call init_attr_rdwr_indices.
-	Call maybe_warn_rdwr_sizes.
-	(get_size_range): Avoid null argument.
-	* doc/extend.texi (attribute access): Document new attribute.
-
-2019-11-22  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn.c (OMP_LDS_SIZE): Define.
-	(ACC_LDS_SIZE): Define.
-	(OTHER_LDS_SIZE): Define.
-	(LDS_SIZE): Redefine using above.
-	(gcn_expand_prologue): Initialize m0 with LDS_SIZE-1.
-
-2019-11-22  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/88226
-	* builtins.c (check_nul_terminated_array): New function.
-	(fold_builtin_0): Remove declaration.
-	(fold_builtin_1): Same.
-	(fold_builtin_2): Same.
-	(fold_builtin_3): Same.
-	(fold_builtin_strpbrk): Add argument.
-	(fold_builtin_strspn): Same.
-	(fold_builtin_strcspn): Same.
-	(expand_builtin_strcat): Call it.  Remove unused argument.
-	(expand_builtin_stpncpy): Same.
-	(expand_builtin_strncat): Same.
-	(expand_builtin_strncpy): Same.  Adjust indentation.
-	(expand_builtin_strcmp): Same.
-	(expand_builtin_strncmp): Same.
-	(expand_builtin_fork_or_exec): Same.
-	(expand_builtin): Handle more built-ins.
-	(fold_builtin_2): Add argument.
-	(fold_builtin_n): Make static.  Add argument.
-	(fold_call_expr): Pass new argument to fold_builtin_n and fold_builtin_2.
-	(fold_builtin_call_array): Pass new argument to fold_builtin_n.
-	(fold_builtin_strpbrk): Add argument.  Call check_nul_terminated_array.
-	(fold_call_stmt): Pass new argument to fold_builtin_n.
-	* builtins.h: Correct a comment.
-	* gimple-fold.c (gimple_fold_builtin_strchr): Call
-	check_nul_terminated_array.
-	* tree-ssa-strlen.c (handle_builtin_strlen): Call
-	check_nul_terminated_array.
-	(handle_builtin_strchr): Same.
-	(handle_builtin_string_cmp): Same.
-
-2019-11-22  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/92501
-	* gimple-fold.c ((gimple_fold_builtin_string_compare): Let strncmp
-	handle unterminated arrays.  Rename local variables for clarity.
-
-2019-11-22  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn.c (gcn_hsa_declare_function_name): Calculate
-	granulated_sgprs according to architecture.
-
-2019-11-22  Jan Hubicka  <jh@suse.cz>
-
-	* ggc-page.c (ggc_collect): Call memory_block_pool::trim.
-	* memory-block.cc (memory_block_pool::clear_free_list): Rename to ...
-	(memory_block_pool::reduce_free_list): ... this one.
-	(memory_block_pool::trim): New static function.
-	* memory-block.h (memory_block_pool::freelist_size): New constant
-	(memory_block_pool::clear_free_list): Rename to ...
-	(memory_block_pool::reduce_free_list): ... this one.
-	(memory_block_pool::trim): Declare.
-
-2019-11-22  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vect_model_simple_cost): Take an optional
-	vect_cost_for_stmt.
-	(vectorizable_condition): Calculate the cost of EXTRACT_LAST_REDUCTION
-	here rather than...
-	* tree-vect-loop.c (vect_model_reduction_cost): ...here.
-
-2019-11-22  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (bic_f): Use cc_set_register predicate.
-	(bic_cmp0_noout): New pattern.
-	(bic_cmp0): Likewise.
-	(neg_scc_insn): Remove pattern.
-	(not_scc_insn): Likewise.
-
-2019-11-21  Harald van Dijk  <harald@gigawatt.nl>
-
-	* doc/invoke.texi (-fcommon): Remove claim about ISO C.
-
-2019-11-21  Joseph Myers  <joseph@codesourcery.com>
-
-	* gimplify.c (expand_FALLTHROUGH_r, expand_FALLTHROUGH): Use
-	pedwarn instead of warning_at for fallthrough not preceding a case
-	or default label.
-
-2019-11-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/92608
-	* tree-ssa-loop-unswitch.c (find_loop_guard): Use safe_dyn_cast instead
-	of dyn_cast.
-
-2019-11-21  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/predicates.md (extra_insn_branch_comparison_operator):
-	New predicate.
-	* config/rs6000/rs6000-protos.h (rs6000_emit_fp_cror): New declaration.
-	* config/rs6000/rs6000.c (rs6000_generate_compare): Don't do anything
-	special for FP comparisons that need a cror instruction eventually.
-	(rs6000_emit_fp_cror): New function.
-	(rs6000_emit_sCOND): Expand all floating point comparisons to one
-	instruction, for normal FP modes, with HONOR_NANS.
-	(rs6000_emit_cbranch): Reformat.
-	* config/rs6000/rs6000.md (fp_rev): New iterator.
-	(fp_two): New iterator.
-	*<code><mode>_cc for fp_rev and GPR: New define_insn_and_split.
-	*<code><mode>_cc for fp_two and GPR: New define_insn_and_split.
-	*cbranch_2insn: New define_insn_and_split.
-
-2019-11-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/92526
-	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Reject
-	versioning for alignment if the accesses do not have a consistent
-	mask, rather than asserting that the masks are consistent.
-
-2019-11-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/92595
-	* tree-vect-stmts.c (get_group_load_store_type): Add a VECTOR_MODE_P
-	check.
-	(vectorizable_store, vectorizable_load): Likewise.
-
-2019-11-21  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (update_callee_keys): Add parameter UPDATE_SINCE.
-	(resolve_noninline_speculation, inline_small_functions): Avoid
-	redundant updates.
-
-2019-11-21  Richard Biener  <rguenther@suse.de>
-
-	* lra.c (lra_insn_recog_data_pool): New.
-	(free_insn_recog_data): Adjust.
-	(finish_insn_recog_data): Release lra_insn_recog_data_pool.
-	(lra_set_insn_recog_data): Allocate from lra_insn_recog_data_pool.
-
-2019-11-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92596
-	* tree-vect-slp.c (vect_build_slp_tree): Fix pasto.
-
-2019-11-21  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-fnsummary.c (evaluate_conditions_for_known_args): Be
-	ready for some vectors to not be allocated.
-	(evaluate_properties_for_edge): Document better; make
-	known_vals and known_aggs caller allocated; avoid determining
-	values of parameters which are not used.
-	(ipa_merge_fn_summary_after_inlining): Pre allocate known_vals and
-	known_aggs.
-	* ipa-inline-analysis.c (do_estimate_edge_time): Likewise.
-	(do_estimate_edge_size): Likewise.
-	(do_estimate_edge_hints): Likewise.
-	* ipa-cp.c (ipa_get_indirect_edge_target_1): Do not early exit when
-	values are not known.
-	(ipa_release_agg_values): Add option to not release vector itself.
-	* ipa-prop.h (ipa_release_agg_values): Add parameter RELEASE_VECTOR.
-
-2019-11-21  Richard Biener  <rguenther@suse.de>
-
-	* cfgloop.h (loop_iterator::~loop_iterator): Remove.
-	(loop_iterator::to_visit): Use an auto_vec with internal storage.
-	(loop_iterator::loop_iterator): Adjust.
-	* cfganal.c (compute_dominance_frontiers_1): Fold into...
-	(compute_dominance_frontiers): ... this.  Hoist invariant
-	get_immediate_dominator call.
-	(compute_idf): Use a work-set instead of a work-list for more
-	optimal iteration order and duplicate avoidance.
-	* tree-into-ssa.c (mark_phi_for_rewrite): Avoid re-allocating
-	the vector all the time, instead pre-allocate the vector only
-	once.
-	(delete_update_ssa): Simplify.
-	* vec.h (va_heap::release): Disable -Wfree-nonheap-object around it.
-
-2019-11-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/91355
-	* tree-ssa-sink.c (select_best_block): Use >= rather than >
-	for early_bb scaled count with best_bb count comparison.
-
-	* ipa-fnsummary.h (enum ipa_hints_vals): Fix comment typo,
-	preffer -> prefer.
-	* ipa-inline.c (edge_badness): Likewise.
-	* lto-streamer.h (class lto_location_cache): Likewise.
-	* tree-ssa-sink.c (select_best_block): Likewise.  Fix comment typos,
-	gratutious -> gratuitous.
-
-2019-11-21  Richard Biener  <rguenther@suse.de>
-
-	Revert
-	2019-09-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/91790
-	* tree-vect-stmts.c (vectorizable_load): For BB vectorization
-	use the correct DR for setting up realignment.
-
-2019-11-21  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-structalias.c (equiv_class_hasher): Change to nofree.
-	(equiv_class_obstack): New.
-	(equiv_class_lookup_or_add): Allocate from equiv_class_obstack.
-	(perform_var_substitution): Initialize equiv_class_obstack.
-	(free_var_substitution_info): Free equiv_class_obstack.
-
-2019-11-20  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (want_early_inline_function_p): Do not estimate
-	edge growth when callee function is very large.
-	* ipa-inline.h (estimate_min_edge_growth): New.
-
-2019-11-20  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Allow
-	negative time in calls summary; correct roundoff errors
-	leading to negative times.
-	(ipa_merge_fn_summary_after_inlining): Update calls size time table
-	if present.
-	(ipa_update_overall_fn_summary): Add RESET parameter.
-	* ipa-fnsummary.h (ipa_update_overall_fn_summary): Update prototype.
-	* ipa-inline-transform.c (inline_call): Enable incremental updates.
-
-2019-11-20  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-slp.c (vect_schedule_slp_instance): Restore stmt
-	def types for two-operation SLP.
-
-2019-11-20  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR testsuite/92366
-	* doc/sourcebuild.texi (vect_char_add): Document.
-
-2019-11-20  Alexandre Oliva <oliva@adacore.com>
-
-	* function.h (CALLEE_FROM_CGRAPH_P): Remove.
-	* function.c (record_final_call): Record even calls that might
-	have been in the cgraph.
-	* toplev.c (dump_final_node_vcg): Skip iteration over cgraph
-	callees.
-
-2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>
-
-	* configure.ac: Use https for gcc.gnu.org
-	* configure: Regenerated.
-	* doc/install.texi: Use https for gcc.gnu.org.
-	* doc/sourcebuild.texi: Likewise.
-
-2019-11-20  Julian Brown  <julian@codesourcery.com>
-
-	* config/gcn/gcn.c (gcn_asm_output_symbol_ref): Handle null cfun.
-
-2019-11-20  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Add CALL
-	parameter and update call_size_time_table.
-	(ipa_fn_summary::max_size_time_table_size): New constant.
-	(estimate_calls_size_and_time_1): Break out from ...
-	(estimate_calls_size_and_time): ... here; implement summary production.
-	(summarize_calls_size_and_time): New function.
-	(ipa_call_context::estimate_size_and_time): Bypass
-	estimate_calls_size_and_time for leaf functions.
-	(ipa_update_overall_fn_summary): Likewise.
-	* ipa-fnsummary.h (call_size_time_table): New.
-	(ipa_fn_summary::account_size_time): Update prototype.
-
-2019-11-20  Joseph Myers  <joseph@codesourcery.com>
-
-	* doc/invoke.texi (-Wc11-c2x-compat): Document.
-
-2019-11-20  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR85678
-	* common.opt (fcommon): Change init to 1.
-	* doc/invoke.texi (-fcommon): Update documentation.
-
-2019-11-20  Jan Hubicka  <jh@suse.cz>
-
-	* fibonacci_heap.h (fibonacci_heap<K,V>::consolidate): Turn auto_vec
-	to ordinary array.
-
-2019-11-20  Jan Hubicka  <jh@suse.cz>
-
-	* fibonacci_heap.h (fibonacci_heap<K,V>::fibonacci_heap):
-	Add allocator parameter.
-	(fibonacci_heap<K,V>::~fibonacci_heap): Optimize destruction.
-	(fibonacci_heap<K,V>::m_allocator): New.
-	(fibonacci_heap<K,V>::m_own_allocator): New.
-	(fibonacci_heap<K,V>::insert): Use allocator.
-	(fibonacci_heap<K,V>::extract_min): Likewise.
-	(fibonacci_heap<K,V>::union_with): Assert that both heaps share
-	allocator.
-	(fibonacci_heap<K,V>::consolidate): Allocate constant sized vector
-	on stack.
-	* fibonacci_heap.c: Include alloc-pool
-	(test_empty_heap): Initialize allocator.
-	(test_union): Likewise.
-	* bb-reorder.c: Include alloc-pool.h.
-	* tracer.c: Inlclude alloc-pool.h.
-
-2019-11-20  Jan Hubicka  <jh@suse.cz>
-
-	* lto-streamer-out.c (DFS::sccstack): Turn into auto-vec.
-	Preallocate for 32 entries.
-	(DFS::worklist): Likewise.
-	(DFS::DFS): Do not initialize sccstack and worklist.
-	(DFS::~DFS): Do not release sccstack.
-
-2019-11-20  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/92573
-	* config/rs6000/dfp.md (dfptstsfi_<code>_<mode> for DFP_TEST and DDTD):
-	Handle UNORDERED if !HONOR_NANS.
-
-2019-11-20  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (wrapper_heuristics_may_apply): Break out from ...
-	(edge_badness): ... here.
-	(inline_small_functions): Use monotonicity of badness calculation
-	to avoid redundant updates.
-
-2019-11-20  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_analyze_slp_instance): Dump
-	constructors we are actually analyzing.
-	(vect_slp_check_for_constructors): Do not vectorize uniform
-	constuctors, do not dump here.
-
-2019-11-20  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92537
-	* tree-vect-slp.c (vect_analyze_slp_instance): Move CTOR
-	vectorization validity check...
-	(vect_slp_analyze_operations): ... here.
-
-2019-11-20  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc-protos.h (make_pass_arc_ifcvt): Declare.
-	(make_pass_arc_predicate_delay_insns): Likewise.
-	* config/arc/arc.c (class pass_arc_ifcvt): Reformat text, add gate
-	method, remove clone.
-	(class pass_arc_predicate_delay_insns): Likewise.
-	(arc_init): Remove registering of ARC specific passes.
-	* config/arc/t-arc (PASSES_EXTRA): Add arc-passes.def.
-	* config/arc/arc-passes.def: New file.
-
-2019-11-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/90840
-	* expmed.c (store_bit_field_1): Handle the case where op0 is not a MEM
-	and has a mode that doesn't have corresponding integral type.
-
-	PR target/90867
-	* config/i386/i386-options.c (ix86_valid_target_attribute_tree): Don't
-	clear opts->x_ix86_isa_flags{,2} here...
-	(ix86_valid_target_attribute_inner_p): ... but here when seeing
-	arch=.  Also clear opts->x_ix86_isa_flags{,2}_explicit.
-
-	PR c/90898
-	* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Remove
-	assertion.
-	(insert_clobbers_for_var): Fix a typo in function comment.
-
-2019-11-20  Jiangning Liu  <jiangning.liu@amperecomputing.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/91195
-	* tree-ssa-phiopt.c (cond_store_replacement): Move lhs unsharing
-	earlier.  Set TREE_NO_WARNING on the rhs1 of the artificially added
-	load.
-
-2019-11-20  Georg-Johann Lay  <avr@gjlay.de>
-
-	Make 0-series device specs work with older versions of avr-gcc.
-
-	PR target/92545
-	* config/avr/specs.h (LINK_SPEC) <%(link_pm_base_address)>: Remove.
-	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
-	<*link_pm_base_address>: Don't write spec.
-	<*link_arch>: Add --defsym=__RODATA_PM_OFFSET__= as needed.
-
-2019-11-20  Richard Biener  <rguenther@suse.de>
-
-	PR c/92088
-	* builtins.c (compute_objsize): Deal with VLAs.
-
-2019-11-19  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* config/rs6000/rs6000.c (move_to_end_of_ready): New, factored out
-	from common code.
-	(power6_sched_reorder2): Factored out from rs6000_sched_reorder2,
-	call new function.
-	(power9_sched_reorder2): Call new function.
-	(rs6000_sched_reorder2): Likewise.
-
-2019-11-18  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-fnsummary.c (estimate_edge_size_and_time): Drop parameter PROB.
-	(estimate_calls_size_and_time): Update.
-
-2019-11-18  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (inlining_speedup): New function.
-	(edge_badness): Use it.
-
-2019-11-19  Zoran Jovanovic <zoran.jovanovic@mips.com>
-			Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
-
-	* config/mips/mips-msa.md (msa_<msabr>_<msafmt_f>, msa_<msabr>_v_<msafmt_f>):
-	Mark as not having "likely" version.
-	* config/mips/mips.md (insn_count): The simd_div instruction with
-	TARGET_CHECK_ZERO_DIV consists of 3 instructions.
-	(can_delay): Exclude simd_branch.
-	(defile_delay *): Add simd_branch instructions.
-	They have one regular delay slot.
-
-2019-11-19  Richard Sandiford  <richard.sandiford@arm.com>
-
-	Revert:
-	2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cse.c (cse_insn): Delete no-op register moves too.
-	* simplify-rtx.c (comparison_to_mask): Handle unsigned comparisons.
-	Take a second comparison to control the value for NE.
-	(mask_to_comparison): Handle unsigned comparisons.
-	(simplify_logical_relational_operation): Likewise.  Update call
-	to comparison_to_mask.  Handle AND if !HONOR_NANs.
-	(simplify_binary_operation_1): Call the above for AND too.
-
-2019-11-19  Martin Liska  <mliska@suse.cz>
-
-	* toplev.c (general_init): Move the call...
-	(toplev::main): ... here as we need init_options_struct
-	being called.
-
-2019-11-19  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	PR target/79262
-	* config/aarch64/aarch64.c (generic_vector_cost): Adjust
-	vec_to_scalar_cost.
-
-2019-11-19  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm-cpus.in (armv7): Set tune to Cortex-A53.
-	(armv7-a): Likewise.
-	(armv7ve): Likewise.
-
-2019-11-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92581
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): For
-	condition reduction chains gather all conditions involved
-	for computing the index reduction vector.
-
-2019-11-19  Dennis Zhang  <dennis.zhang@arm.com>
-
-	* config/aarch64/aarch64-builtins.c (enum aarch64_builtins): Add
-	AARCH64_MEMTAG_BUILTIN_START, AARCH64_MEMTAG_BUILTIN_IRG,
-	AARCH64_MEMTAG_BUILTIN_GMI, AARCH64_MEMTAG_BUILTIN_SUBP,
-	AARCH64_MEMTAG_BUILTIN_INC_TAG, AARCH64_MEMTAG_BUILTIN_SET_TAG,
-	AARCH64_MEMTAG_BUILTIN_GET_TAG, and AARCH64_MEMTAG_BUILTIN_END.
-	(aarch64_init_memtag_builtins): New.
-	(AARCH64_INIT_MEMTAG_BUILTINS_DECL): New macro.
-	(aarch64_general_init_builtins): Call aarch64_init_memtag_builtins.
-	(aarch64_expand_builtin_memtag): New.
-	(aarch64_general_expand_builtin): Call aarch64_expand_builtin_memtag.
-	(AARCH64_BUILTIN_SUBCODE): New macro.
-	(aarch64_resolve_overloaded_memtag): New.
-	(aarch64_resolve_overloaded_builtin_general): New. Call
-	aarch64_resolve_overloaded_memtag to handle overloaded MTE builtins.
-	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
-	__ARM_FEATURE_MEMORY_TAGGING when enabled.
-	(aarch64_resolve_overloaded_builtin): Call
-	aarch64_resolve_overloaded_builtin_general.
-	* config/aarch64/aarch64-protos.h
-	(aarch64_resolve_overloaded_builtin_general): New declaration.
-	* config/aarch64/aarch64.h (AARCH64_ISA_MEMTAG): New macro.
-	(TARGET_MEMTAG): Likewise.
-	* config/aarch64/aarch64.md (UNSPEC_GEN_TAG): New unspec.
-	(UNSPEC_GEN_TAG_RND, and UNSPEC_TAG_SPACE): Likewise.
-	(irg, gmi, subp, addg, ldg, stg): New instructions.
-	* config/aarch64/arm_acle.h (__arm_mte_create_random_tag): New macro.
-	(__arm_mte_exclude_tag, __arm_mte_ptrdiff): Likewise.
-	(__arm_mte_increment_tag, __arm_mte_set_tag): Likewise.
-	(__arm_mte_get_tag): Likewise.
-	* config/aarch64/predicates.md (aarch64_memtag_tag_offset): New.
-	(aarch64_granule16_uimm6, aarch64_granule16_simm9): New.
-	* config/arm/types.md (memtag): New.
-	* doc/invoke.texi (-memtag): Update description.
-
-2019-11-19  Richard Henderson  <richard.henderson@linaro.org>
-
-	* config/arm/arm-c.c (arm_cpu_builtins): Use def_or_undef_macro
-	to define __GCC_ASM_FLAG_OUTPUTS__.
-	* config/arm/arm.c (thumb1_md_asm_adjust): New function.
-	(arm_option_params_internal): Swap out targetm.md_asm_adjust
-	depending on TARGET_THUMB1.
-	* doc/extend.texi (FlagOutputOperands): Document thumb1 restriction.
-
-2019-11-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92549
-	* config/i386/i386.md (peephole2 for *swap<mode>): New peephole2.
-
-	PR middle-end/91450
-	* internal-fn.c (expand_mul_overflow): For s1 * s2 -> ur, if one
-	operand is negative and one non-negative, compare the non-negative
-	one against 0 rather than comparing s1 & s2 against 0.  Otherwise,
-	don't compare (s1 & s2) == 0, but compare separately both s1 == 0
-	and s2 == 0, unless one of them is known to be negative.  Remove
-	tem2 variable, use tem where tem2 has been used before.
-
-2019-11-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* doc/invoke.texi (-gno-internal-reset-location-views): Fix typo.
-
-2019-11-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92557
-	* omp-low.c (omp_clause_aligned_alignment): Punt if TYPE_MODE is not
-	vmode rather than asserting it always is.
-
-2019-11-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92554
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Look
-	for the actual condition stmt and deal with sign-changes.
-
-2019-11-19  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92555
-	* tree-vect-loop.c (vect_update_vf_for_slp): Also scan PHIs
-	for non-SLP stmts.
-
-2019-11-19  Martin Liska  <mliska@suse.cz>
-
-	PR bootstrap/92540
-	* config/riscv/riscv.c (riscv_address_insns): Initialize
-	addr in order to remove boostrap -Wmaybe-uninitialized
-	error.
-
-2019-11-18  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/92493
-	* gimple-ssa-sprintf.c (get_origin_and_offset): Remove spurious
-	assignment.
-
-2019-11-18  Giuliano Belinassi  <giuliano.belinassi@usp.br>
-
-	* cfgloop.c (get_loop_body_in_custom_order): New.
-	* cfgloop.h (get_loop_body_in_custom_order): New prototype.
-	* tree-loop-distribution.c (class loop_distribution): New.
-	(bb_top_order_cmp): Remove.
-	(bb_top_order_cmp_r): New.
-	(create_rdg_vertices): Move into class loop_distribution.
-	(stmts_from_loop): Same as above.
-	(update_for_merge): Same as above.
-	(partition_merge_into): Same as above.
-	(get_data_dependence): Same as above.
-	(data_dep_in_cycle_p): Same as above.
-	(update_type_for_merge): Same as above.
-	(build_rdg_partition_for-vertex): Same as above.
-	(classify_builtin_ldst): Same as above.
-	(classify_partition): Same as above.
-	(share_memory_accesses): Same as above.
-	(rdg_build_partitions): Same as above.
-	(pg_add_dependence_edges): Same as above.
-	(build_partition_graph): Same as above.
-	(merge_dep_scc_partitions): Same as above.
-	(break_alias_scc_partitions): Same as above.
-	(finalize_partitions): Same as above.
-	(distribute_loop): Same as above.
-	(bb_top_order_init): New method
-	(bb_top_order_destroy): New method.
-	(get_bb_top_order_index_size): New method.
-	(get_bb_top_order_index_index): New method.
-	(get_bb_top_order_index_index): New method.
-	(loop_distribution::execute): New method.
-	(pass_loop_distribution::execute): Instantiate loop_distribution.
-
-2019-11-18  Jan Hubicka  <jh@suse.cz>
-
-	PR ipa/92508
-	* ipa-inline.c (inline_small_functions): Add new edges after reseting
-	caches.
-	* ipa-inline-analysis.c (do_estimate_edge_time): Fix sanity check.
-
-2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* doc/sourcebuild.texi (vect_check_ptrs): Document.
-	* optabs.def (check_raw_ptrs_optab, check_war_ptrs_optab): New optabs.
-	* doc/md.texi: Document them.
-	* internal-fn.def (IFN_CHECK_RAW_PTRS, IFN_CHECK_WAR_PTRS): New
-	internal functions.
-	* internal-fn.h (internal_check_ptrs_fn_supported_p): Declare.
-	* internal-fn.c (check_ptrs_direct): New macro.
-	(expand_check_ptrs_optab_fn): Likewise.
-	(direct_check_ptrs_optab_supported_p): Likewise.
-	(internal_check_ptrs_fn_supported_p): New fuction.
-	* tree-data-ref.c: Include internal-fn.h.
-	(create_ifn_alias_checks): New function.
-	(create_intersect_range_checks): Use it.
-	* config/aarch64/iterators.md (SVE2_WHILE_PTR): New int iterator.
-	(optab, cmp_op): Handle it.
-	(raw_war, unspec): New int attributes.
-	* config/aarch64/aarch64.md (UNSPEC_WHILERW, UNSPEC_WHILE_WR): New
-	constants.
-	* config/aarch64/predicates.md (aarch64_bytes_per_sve_vector_operand):
-	New predicate.
-	* config/aarch64/aarch64-sve2.md (check_<raw_war>_ptrs<mode>): New
-	expander.
-	(@aarch64_sve2_while<cmp_op><GPI:mode><PRED_ALL:mode>_ptest): New
-	pattern.
-
-2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree.c (build_vector_from_ctor): Directly return a zero vector for
-	empty constructors.
-
-2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cse.c (cse_insn): Delete no-op register moves too.
-	* simplify-rtx.c (comparison_to_mask): Handle unsigned comparisons.
-	Take a second comparison to control the value for NE.
-	(mask_to_comparison): Handle unsigned comparisons.
-	(simplify_logical_relational_operation): Likewise.  Update call
-	to comparison_to_mask.  Handle AND if !HONOR_NANs.
-	(simplify_binary_operation_1): Call the above for AND too.
-
-2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* fold-const.c (native_encode_vector): Turn into a wrapper function,
-	splitting the main code out into...
-	(native_encode_vector_part): ...this new function.
-	(native_decode_vector_tree): New function.
-	(fold_view_convert_vector_encoding): Likewise.
-	(fold_view_convert_expr): Use it for converting VECTOR_CSTs
-	to VECTOR_TYPEs.
-
-2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.c (create_intersect_range_checks_index): If the
-	alias pair describes simple WAW and WAR dependencies, just check
-	whether the first B access overlaps later A accesses.
-	(create_waw_or_war_checks): New function that performs the same
-	optimization on addresses.
-	(create_intersect_range_checks): Call it.
-
-2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* lra-constraints.c (valid_address_p): Take the operand and a
-	constraint as argument.  If the operand is a MEM and the constraint
-	is a memory constraint, check whether the eliminated form of the
-	MEM already satisfies the constraint.
-	(process_address_1): Update calls accordingly.
-
-2019-11-18  Tom Tromey  <tromey@adacore.com>
-
-	* doc/tm.texi: Rebuild.
-	* doc/tm.texi.in (Misc): Don't document MODIFY_JNI_METHOD_CALL.
-	* config/i386/cygming.h (MODIFY_JNI_METHOD_CALL): Don't define.
-
-2019-11-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92516
-	* tree-vect-slp.c (vect_analyze_slp_instance): Add bst_map
-	argument, hoist bst_map creation/destruction to ...
-	(vect_analyze_slp): ... here, forming a true graph with
-	SLP instances being the entries.
-	(vect_detect_hybrid_slp_stmts): Remove wrapper.
-	(vect_detect_hybrid_slp): Use one visited set for all
-	graph entries.
-	(vect_slp_analyze_node_operations): Simplify visited/lvisited
-	to hash-sets of slp_tree.
-	(vect_slp_analyze_operations): Likewise.
-	(vect_bb_slp_scalar_cost): Remove wrapper.
-	(vect_bb_vectorization_profitable_p): Use one visited set for
-	all graph entries.
-	(vect_schedule_slp_instance): Elide bst_map use.
-	(vect_schedule_slp): Likewise.
-
-2019-11-18  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_analyze_slp_instance): When a CTOR
-	was vectorized with just external refs fail.
-
-2019-11-18  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/92525
-	* ipa-icf.c (sem_function::init): Unset m_checker
-	at the end of the function.
-
-2019-11-18  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92558
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): When
-	reducting the width of a reduction vector def update new_phis.
-
-2019-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* configure.ac (gcc_cv_target_ldbl128): Set for powerpc*-*-linux-musl*
-	and s390*-*-linux-musl* targets.
-	* configure: Regenerate.
-
-2019-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* config/s390/linux.h (MUSL_DYNAMIC_LINKER32): Define.
-	(MUSL_DYNAMIC_LINKER64): Define.
-
-2019-11-18  Martin Liska  <mliska@suse.cz>
-
-	* dbgcnt.c (dbg_cnt_set_limit_by_name): Provide error
-	message for an unknown counter.
-	(dbg_cnt_process_single_pair): Support 0 as minimum value.
-	(dbg_cnt_process_opt): Remove unreachable code.
-
-2019-11-18  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/92529
-	* ipa-icf-gimple.c (func_checker::compare_gimple_assign):
-	Compare LHS types of NOP_EXPR.
-
-2019-11-18  Matthew Malcomson  <matthew.malcomson@arm.com>
-
-	* run-rtl-passes.c (run_rtl_passes): Accept and handle empty
-	"initial_pass_name" argument -- by running "*clean_state" pass.
-	Also free the "initial_pass_name" when done.
-
-2019-11-18  Richard Biener  <rguenther@suse.de>
-
-	PR rtl-optimization/92462
-	* alias.c (find_base_term): Restrict the look through ANDs.
-	(find_base_value): Likewise.
-
-2019-11-18  Georg-Johann Lay  <avr@gjlay.de>
-
-	Add support for AVR devices from the 0-series.
-
-	PR target/92545
-	* config/avr/avr-arch.h (avr_mcu_t) <flash_pm_offset>: New field.
-	* config/avr/avr-devices.c (avr_mcu_types): Adjust initializers.
-	* config/avr/avr-mcus.def (AVR_MCU): Add respective field.
-	* config/avr/specs.h (LINK_SPEC) <%(link_pm_base_address)>: Add.
-	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
-	<*cpp, *cpp_mcu, *cpp_avrlibc, *link_pm_base_address>: Emit code
-	for spec definitions.
-	* doc/avr-mmcu.texi: Regenerate.
-
-2019-11-18  Hongtao Liu  <hongtao.liu@intel.com>
-
-	PR target/92448
-	* config/i386/i386-expand.c (ix86_expand_set_or_cpymem):
-	Replace TARGET_AVX128_OPTIMAL with TARGET_AVX256_SPLIT_REGS.
-	* config/i386/i386-option.c (ix86_vec_cost): Ditto.
-	(ix86_reassociation_width): Ditto.
-	* config/i386/i386-options.c (ix86_option_override_internal):
-	Replace TARGET_AVX128_OPTIAML with
-	ix86_tune_features[X86_TUNE_AVX128_OPTIMAL]
-	* config/i386/i386.h (TARGET_AVX256_SPLIT_REGS): New macro.
-	(TARGET_AVX128_OPTIMAL): Deleted.
-	* config/i386/x86-tune.def (X86_TUNE_AVX256_SPLIT_REGS): New
-	DEF_TUNE.
-
-2019-11-16  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (cceq_ior_compare): Rename to...
-	(@cceq_ior_compare_<mode> for GPR): ... this.  Allow GPR instead of
-	just SI.
-	(cceq_rev_compare): Rename to...
-	(@cceq_rev_compare_<mode> for GPR): ... this.  Allow GPR instead of
-	just SI.
-	(define_split for <bd>tf_<mode>): Add SImode first argument to
-	gen_cceq_ior_compare.
-
-2019-11-16  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* common/config/powerpcspe: Delete.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-sve.md (aarch64_wrffr): Wrap the FFRT
-	output in UNSPEC_WRFFR.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.c (create_intersect_range_checks_index): Rewrite
-	the index tests to have the form (unsigned T) (B - A + bias) <= limit.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.c (create_intersect_range_checks_index)
-	(create_intersect_range_checks): Print dump messages.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.c (dump_alias_pair): New function.
-	(prune_runtime_alias_test_list): Use it to dump each merged alias pair.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.h (DR_ALIAS_MIXED_STEPS): New flag.
-	* tree-data-ref.c (prune_runtime_alias_test_list): Set it when
-	merging data references with different steps.
-	(create_intersect_range_checks_index): Take a
-	dr_with_seg_len_pair_t instead of two dr_with_seg_lens.
-	Bail out if DR_ALIAS_MIXED_STEPS is set.
-	(create_intersect_range_checks): Take a dr_with_seg_len_pair_t
-	instead of two dr_with_seg_lens.  Update call to
-	create_intersect_range_checks_index.
-	(create_runtime_alias_checks): Update call accordingly.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.h (DR_ALIAS_RAW, DR_ALIAS_WAR, DR_ALIAS_WAW)
-	(DR_ALIAS_ARBITRARY, DR_ALIAS_SWAPPED, DR_ALIAS_UNSWAPPED): New flags.
-	(dr_with_seg_len_pair_t::sequencing): New enum.
-	(dr_with_seg_len_pair_t::flags): New member variable.
-	(dr_with_seg_len_pair_t::dr_with_seg_len_pair_t): Take a sequencing
-	parameter and initialize the flags member variable.
-	* tree-loop-distribution.c (compute_alias_check_pairs): Update
-	call accordingly.
-	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
-	Ensure the two data references in an alias pair are in statement
-	order, if there is a defined order.
-	* tree-data-ref.c (prune_runtime_alias_test_list): Use
-	DR_ALIAS_SWAPPED and DR_ALIAS_UNSWAPPED to record whether we've
-	swapped the references in a dr_with_seg_len_pair_t.  OR together
-	the flags when merging two dr_with_seg_len_pair_ts.  After merging,
-	try to restore the original dr_with_seg_len order, updating the
-	flags if that fails.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.c (prune_runtime_alias_test_list): Delay
-	swapping the dr_as based on init values until we've decided
-	whether to merge them.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-data-ref.c (prune_runtime_alias_test_list): Sort the
-	two accesses in each dr_with_seg_len_pair_t before trying to
-	combine separate dr_with_seg_len_pair_ts.
-	* tree-loop-distribution.c (compute_alias_check_pairs): Don't do
-	that here.
-	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-sve.md
-	(scatter_store<SVE_FULL_SD:mode><v_int_equiv>): Extend to...
-	(scatter_store<SVE_24:mode><v_int_container>): ...this.
-	(mask_scatter_store<SVE_FULL_S:mode><v_int_equiv>): Extend to...
-	(mask_scatter_store<SVE_4:mode><v_int_equiv>): ...this.
-	(mask_scatter_store<SVE_FULL_D:mode><v_int_equiv>): Extend to...
-	(mask_scatter_store<SVE_2:mode><v_int_equiv>): ...this.
-	(*mask_scatter_store<mode><v_int_container>_<su>xtw_unpacked): New
-	pattern.
-	(*mask_scatter_store<SVE_FULL_D:mode><v_int_equiv>_sxtw): Extend to...
-	(*mask_scatter_store<SVE_2:mode><v_int_equiv>_sxtw): ...this.
-	(*mask_scatter_store<SVE_FULL_D:mode><v_int_equiv>_uxtw): Extend to...
-	(*mask_scatter_store<SVE_2:mode><v_int_equiv>_uxtw): ...this.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/iterators.md (SVE_2BHSI, SVE_2HSDI, SVE_4BHI)
-	(SVE_4HSI): New mode iterators.
-	(ANY_EXTEND2): New code iterator.
-	* config/aarch64/aarch64-sve.md
-	(@aarch64_gather_load_<ANY_EXTEND:optab><VNx4_WIDE:mode><VNx4_NARROW:mode>):
-	Extend to...
-	(@aarch64_gather_load_<ANY_EXTEND:optab><SVE_4HSI:mode><SVE_4BHI:mode>):
-	...this, handling extension to partial modes as well as full modes.
-	Describe the extension as a predicated rather than unpredicated
-	extension.
-	(@aarch64_gather_load_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>):
-	Likewise extend to...
-	(@aarch64_gather_load_<ANY_EXTEND:optab><SVE_2HSDI:mode><SVE_2BHSI:mode>):
-	...this, making the same adjustments.
-	(*aarch64_gather_load_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>_sxtw):
-	Likewise extend to...
-	(*aarch64_gather_load_<ANY_EXTEND:optab><SVE_2HSDI:mode><SVE_2BHSI:mode>_sxtw)
-	...this, making the same adjustments.
-	(*aarch64_gather_load_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>_uxtw):
-	Likewise extend to...
-	(*aarch64_gather_load_<ANY_EXTEND:optab><SVE_2HSDI:mode><SVE_2BHSI:mode>_uxtw)
-	...this, making the same adjustments.
-	(*aarch64_gather_load_<ANY_EXTEND:optab><SVE_2HSDI:mode><SVE_2BHSI:mode>_<ANY_EXTEND2:su>xtw_unpacked):
-	New pattern.
-	(*aarch64_ldff1_gather<mode>_sxtw): Canonicalize to a constant
-	extension predicate.
-	(@aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx4_WIDE:mode><VNx4_NARROW:mode>)
-	(@aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>)
-	(*aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>_uxtw):
-	Describe the extension as a predicated rather than unpredicated
-	extension.
-	(*aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>_sxtw):
-	Likewise.  Canonicalize to a constant extension predicate.
-	* config/aarch64/aarch64-sve-builtins-base.cc
-	(svld1_gather_extend_impl::expand): Add an extra predicate for
-	the extension.
-	(svldff1_gather_extend_impl::expand): Likewise.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/iterators.md (SVE_24, SVE_2, SVE_4): New mode
-	iterators.
-	* config/aarch64/aarch64-sve.md
-	(gather_load<SVE_FULL_SD:mode><v_int_equiv>): Extend to...
-	(gather_load<SVE_24:mode><v_int_container>): ...this.
-	(mask_gather_load<SVE_FULL_S:mode><v_int_equiv>): Extend to...
-	(mask_gather_load<SVE_4:mode><v_int_container>): ...this.
-	(mask_gather_load<SVE_FULL_D:mode><v_int_equiv>): Extend to...
-	(mask_gather_load<SVE_2:mode><v_int_container>): ...this.
-	(*mask_gather_load<SVE_2:mode><v_int_container>_<su>xtw_unpacked):
-	New pattern.
-	(*mask_gather_load<SVE_FULL_D:mode><v_int_equiv>_sxtw): Extend to...
-	(*mask_gather_load<SVE_2:mode><v_int_equiv>_sxtw): ...this.
-	Allow the nominal extension predicate to be different from the
-	load predicate.
-	(*mask_gather_load<SVE_FULL_D:mode><v_int_equiv>_uxtw): Extend to...
-	(*mask_gather_load<SVE_2:mode><v_int_equiv>_uxtw): ...this.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-sve.md
-	(trunc<SVE_HSDI:mode><SVE_PARTIAL_I:mode>2): New pattern.
-	* config/aarch64/aarch64.c (aarch64_integer_truncation_p): New
-	function.
-	(aarch64_sve_adjust_stmt_cost): Call it.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-sve.md
-	(@aarch64_load_<ANY_EXTEND:optab><VNx8_WIDE:mode><VNx8_NARROW:mode>):
-	(@aarch64_load_<ANY_EXTEND:optab><VNx4_WIDE:mode><VNx4_NARROW:mode>)
-	(@aarch64_load_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>):
-	Combine into...
-	(@aarch64_load_<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>):
-	...this new pattern, handling extension to partial modes as well
-	as full modes.  Describe the extension as a predicated rather than
-	unpredicated extension.
-	(@aarch64_ld<fn>f1_<ANY_EXTEND:optab><VNx8_WIDE:mode><VNx8_NARROW:mode>)
-	(@aarch64_ld<fn>f1_<ANY_EXTEND:optab><VNx4_WIDE:mode><VNx4_NARROW:mode>)
-	(@aarch64_ld<fn>f1_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>):
-	Combine into...
-	(@aarch64_ld<fn>f1_<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>):
-	...this new pattern, handling extension to partial modes as well
-	as full modes.  Describe the extension as a predicated rather than
-	unpredicated extension.
-	* config/aarch64/aarch64-sve-builtins.cc
-	(function_expander::use_contiguous_load_insn): Add an extra
-	predicate for extending loads.
-	* config/aarch64/aarch64.c (aarch64_extending_load_p): New function.
-	(aarch64_sve_adjust_stmt_cost): Likewise.
-	(aarch64_add_stmt_cost): Use aarch64_sve_adjust_stmt_cost to adjust
-	the cost of SVE vector stmts.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/iterators.md (SVE_HSDI): New mode iterator.
-	(narrower_mask): Handle VNx4HI, VNx2HI and VNx2SI.
-	* config/aarch64/aarch64-sve.md
-	(<ANY_EXTEND:optab><SVE_PARTIAL_I:mode><SVE_HSDI:mode>2): New pattern.
-	(*<ANY_EXTEND:optab><SVE_PARTIAL_I:mode><SVE_HSDI:mode>2): Likewise.
-	(@aarch64_pred_sxt<SVE_FULL_HSDI:mode><SVE_PARTIAL_I:mode>): Update
-	comment.  Avoid new narrower_mask ambiguity.
-	(@aarch64_cond_sxt<SVE_FULL_HSDI:mode><SVE_PARTIAL_I:mode>): Likewise.
-	(*cond_uxt<mode>_2): Update comment.
-	(*cond_uxt<mode>_any): Likewise.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-modes.def: Define partial SVE vector
-	float modes.
-	* config/aarch64/aarch64-protos.h (aarch64_sve_pred_mode): New
-	function.
-	* config/aarch64/aarch64.c (aarch64_classify_vector_mode): Handle the
-	new vector float modes.
-	(aarch64_sve_container_bits): New function.
-	(aarch64_sve_pred_mode): Likewise.
-	(aarch64_get_mask_mode): Use it.
-	(aarch64_sve_element_int_mode): Handle structure modes and partial
-	modes.
-	(aarch64_sve_container_int_mode): New function.
-	(aarch64_vectorize_related_mode): Return SVE modes when given
-	SVE modes.  Handle partial modes, taking the preferred number
-	of units from the size of the given mode.
-	(aarch64_hard_regno_mode_ok): Allow partial modes to be stored
-	in registers.
-	(aarch64_expand_sve_ld1rq): Use the mode form of aarch64_sve_pred_mode.
-	(aarch64_expand_sve_const_vector): Handle partial SVE vectors.
-	(aarch64_split_sve_subreg_move): Use the mode form of
-	aarch64_sve_pred_mode.
-	(aarch64_secondary_reload): Handle partial modes in the same way
-	as full big-endian vectors.
-	(aarch64_vector_mode_supported_p): Allow partial SVE vectors.
-	(aarch64_autovectorize_vector_modes): Try unpacked SVE vectors,
-	merging with the Advanced SIMD modes.  If two modes have the
-	same size, try the Advanced SIMD mode first.
-	(aarch64_simd_valid_immediate): Use the container rather than
-	the element mode for INDEX constants.
-	(aarch64_simd_vector_alignment): Make the alignment of partial
-	SVE vector modes the same as their minimum size.
-	(aarch64_evpc_sel): Use the mode form of aarch64_sve_pred_mode.
-	* config/aarch64/aarch64-sve.md (mov<SVE_FULL:mode>): Extend to...
-	(mov<SVE_ALL:mode>): ...this.
-	(movmisalign<SVE_FULL:mode>): Extend to...
-	(movmisalign<SVE_ALL:mode>): ...this.
-	(*aarch64_sve_mov<mode>_le): Rename to...
-	(*aarch64_sve_mov<mode>_ldr_str): ...this.
-	(*aarch64_sve_mov<SVE_FULL:mode>_be): Rename and extend to...
-	(*aarch64_sve_mov<SVE_ALL:mode>_no_ldr_str): ...this.  Handle
-	partial modes regardless of endianness.
-	(aarch64_sve_reload_be): Rename to...
-	(aarch64_sve_reload_mem): ...this and enable for little-endian.
-	Use aarch64_sve_pred_mode to get the appropriate predicate mode.
-	(@aarch64_pred_mov<SVE_FULL:mode>): Extend to...
-	(@aarch64_pred_mov<SVE_ALL:mode>): ...this.
-	(*aarch64_sve_mov<SVE_FULL:mode>_subreg_be): Extend to...
-	(*aarch64_sve_mov<SVE_ALL:mode>_subreg_be): ...this.
-	(@aarch64_sve_reinterpret<SVE_FULL:mode>): Extend to...
-	(@aarch64_sve_reinterpret<SVE_ALL:mode>): ...this.
-	(*aarch64_sve_reinterpret<SVE_FULL:mode>): Extend to...
-	(*aarch64_sve_reinterpret<SVE_ALL:mode>): ...this.
-	(maskload<SVE_FULL:mode><vpred>): Extend to...
-	(maskload<SVE_ALL:mode><vpred>): ...this.
-	(maskstore<SVE_FULL:mode><vpred>): Extend to...
-	(maskstore<SVE_ALL:mode><vpred>): ...this.
-	(vec_duplicate<SVE_FULL:mode>): Extend to...
-	(vec_duplicate<SVE_ALL:mode>): ...this.
-	(*vec_duplicate<SVE_FULL:mode>_reg): Extend to...
-	(*vec_duplicate<SVE_ALL:mode>_reg): ...this.
-	(sve_ld1r<SVE_FULL:mode>): Extend to...
-	(sve_ld1r<SVE_ALL:mode>): ...this.
-	(vec_series<SVE_FULL_I:mode>): Extend to...
-	(vec_series<SVE_I:mode>): ...this.
-	(*vec_series<SVE_FULL_I:mode>_plus): Extend to...
-	(*vec_series<SVE_I:mode>_plus): ...this.
-	(@aarch64_pred_sxt<SVE_FULL_HSDI:mode><SVE_PARTIAL_I:mode>): Avoid
-	new VPRED ambiguity.
-	(@aarch64_cond_sxt<SVE_FULL_HSDI:mode><SVE_PARTIAL_I:mode>): Likewise.
-	(add<SVE_FULL_I:mode>3): Extend to...
-	(add<SVE_I:mode>3): ...this.
-	* config/aarch64/iterators.md (SVE_ALL, SVE_I): New mode iterators.
-	(Vetype, Vesize, VEL, Vel, vwcore): Handle partial SVE vector modes.
-	(VPRED, vpred): Likewise.
-	(Vctype): New iterator.
-	(vw): Remove SVE modes.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/iterators.md (SVE_PARTIAL): Rename to...
-	(SVE_PARTIAL_I): ...this.
-	* config/aarch64/aarch64-sve.md: Apply the above renaming throughout.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/iterators.md (SVE_ALL): Rename to...
-	(SVE_FULL): ...this.
-	(SVE_I): Rename to...
-	(SVE_FULL_I): ...this.
-	(SVE_F): Rename to...
-	(SVE_FULL_F): ...this.
-	(SVE_BHSI): Rename to...
-	(SVE_FULL_BHSI): ...this.
-	(SVE_HSD): Rename to...
-	(SVE_FULL_HSD): ...this.
-	(SVE_HSDI): Rename to...
-	(SVE_FULL_HSDI): ...this.
-	(SVE_HSF): Rename to...
-	(SVE_FULL_HSF): ...this.
-	(SVE_SD): Rename to...
-	(SVE_FULL_SD): ...this.
-	(SVE_SDI): Rename to...
-	(SVE_FULL_SDI): ...this.
-	(SVE_SDF): Rename to...
-	(SVE_FULL_SDF): ...this.
-	(SVE_S): Rename to...
-	(SVE_FULL_S): ...this.
-	(SVE_D): Rename to...
-	(SVE_FULL_D): ...this.
-	* config/aarch64/aarch64-sve.md: Apply the above renaming throughout.
-	* config/aarch64/aarch64-sve2.md: Likewise.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.opt (--param=aarch64-sve-compare-costs):
-	New option.
-	* doc/invoke.texi: Document it.
-	* config/aarch64/aarch64.c (aarch64_autovectorize_vector_modes):
-	By default, return VECT_COMPARE_COSTS for SVE.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.h (VECT_COMPARE_COSTS): New constant.
-	* target.def (autovectorize_vector_modes): Return a bitmask of flags.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_autovectorize_vector_modes): Update accordingly.
-	* targhooks.c (default_autovectorize_vector_modes): Likewise.
-	* config/aarch64/aarch64.c (aarch64_autovectorize_vector_modes):
-	Likewise.
-	* config/arc/arc.c (arc_autovectorize_vector_modes): Likewise.
-	* config/arm/arm.c (arm_autovectorize_vector_modes): Likewise.
-	* config/i386/i386.c (ix86_autovectorize_vector_modes): Likewise.
-	* config/mips/mips.c (mips_autovectorize_vector_modes): Likewise.
-	* tree-vectorizer.h (_loop_vec_info::vec_outside_cost)
-	(_loop_vec_info::vec_inside_cost): New member variables.
-	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize them.
-	(vect_better_loop_vinfo_p, vect_joust_loop_vinfos): New functions.
-	(vect_analyze_loop): When autovectorize_vector_modes returns
-	VECT_COMPARE_COSTS, try vectorizing the loop with each available
-	vector mode and picking the one with the lowest cost.
-	(vect_estimate_min_profitable_iters): Record the computed costs
-	in the loop_vec_info.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (can_duplicate_and_interleave_p): Take an
-	element type rather than an element mode.
-	* tree-vect-slp.c (can_duplicate_and_interleave_p): Likewise.
-	Use get_vectype_for_scalar_type to query the natural types
-	for a given element type rather than basing everything on
-	GET_MODE_SIZE (vinfo->vector_mode).  Limit int_mode_for_size
-	query to MAX_FIXED_MODE_SIZE.
-	(duplicate_and_interleave): Update call accordingly.
-	* tree-vect-loop.c (vectorizable_reduction): Likewise.
-
-2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_get_vector_types_for_stmt): Take an
-	optional maximum nunits.
-	(get_vectype_for_scalar_type): Likewise.  Also declare a form that
-	takes an slp_tree.
-	(get_mask_type_for_scalar_type): Take an optional slp_tree.
-	(vect_get_mask_type_for_stmt): Likewise.
-	* tree-vect-data-refs.c (vect_analyze_data_refs): Don't store
-	the vector type in STMT_VINFO_VECTYPE for BB vectorization.
-	* tree-vect-patterns.c (vect_recog_bool_pattern): Use
-	vect_get_vector_types_for_stmt instead of STMT_VINFO_VECTYPE
-	to get an assumed vector type for data references.
-	* tree-vect-slp.c (vect_update_shared_vectype): New function.
-	(vect_update_all_shared_vectypes): Likewise.
-	(vect_build_slp_tree_1): Pass the group size to
-	vect_get_vector_types_for_stmt.  Use vect_update_shared_vectype
-	for BB vectorization.
-	(vect_build_slp_tree_2): Call vect_update_all_shared_vectypes
-	before building the vectof from scalars.
-	(vect_analyze_slp_instance): Pass the group size to
-	get_vectype_for_scalar_type.
-	(vect_slp_analyze_node_operations_1): Don't recompute the vector
-	types for BB vectorization here; just handle the case in which
-	we deferred the choice for booleans.
-	(vect_get_constant_vectors): Pass the slp_tree to
-	get_vectype_for_scalar_type.
-	* tree-vect-stmts.c (vect_prologue_cost_for_slp_op): Likewise.
-	(vectorizable_call): Likewise.
-	(vectorizable_simd_clone_call): Likewise.
-	(vectorizable_conversion): Likewise.
-	(vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_comparison): Likewise.
-	(vect_is_simple_cond): Take the slp_tree as argument and
-	pass it to get_vectype_for_scalar_type.
-	(vectorizable_condition): Update call accordingly.
-	(get_vectype_for_scalar_type): Take a group_size argument.
-	For BB vectorization, limit the the vector to that number
-	of elements.  Also define an overload that takes an slp_tree.
-	(get_mask_type_for_scalar_type): Add an slp_tree argument and
-	pass it to get_vectype_for_scalar_type.
-	(vect_get_vector_types_for_stmt): Add a group_size argument
-	and pass it to get_vectype_for_scalar_type.  Don't use the
-	cached vector type for BB vectorization if a group size is given.
-	Handle data references in that case.
-	(vect_get_mask_type_for_stmt): Take an slp_tree argument and
-	pass it to get_mask_type_for_scalar_type.
-
-2019-11-15  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.h (do_estimate_edge_time): Add nonspec_time
-	parameter.
-	(estimate_edge_time): Use it.
-	* ipa-inline-analysis.c (do_estimate_edge_time): Add
-	ret_nonspec_time parameter.
-
-2019-11-15  Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	* config/m68k/linux.h (MUSL_DYNAMIC_LINKER): Define.
-
-2019-11-15  Nick Clifton  <nickc@redhat.com>
-	    Szabolcs Nagy  <szabolcs.nagy@arm.com>
-
-	PR target/65649
-	* config/microblaze/microblaze.c (print_operand): Print value as long.
-
-2019-11-15  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (edge_badness, inline_small_functions): Revert
-	accidental commit.
-
-2019-11-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* config/gcn/gcn.h (FIXED_REGISTERS): Unfix frame pointer.
-	(CALL_USED_REGISTERS): Make frame pointer callee-saved.
-
-2019-11-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* config/gcn/gcn.c (MAX_NORMAL_SGPR_COUNT, MAX_NORMAL_VGPR_COUNT): New.
-	(gcn_conditional_register_usage): Use constants in place of hard-coded
-	values.
-	(gcn_hsa_declare_function_name): Set lower bound for number of
-	SGPRs/VGPRs in non-leaf kernels to MAX_NORMAL_SGPR_COUNT and
-	MAX_NORMAL_VGPR_COUNT.
-
-2019-11-15  Martin Jambor  <mjambor@suse.cz>
-
-	* ipa-utils.h (ipa_remove_useless_jump_functions): Remove stray
-	declaration.
-
-2019-11-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* config/gcn/gcn.c (default_requested_args): New.
-	(gcn_parse_amdgpu_hsa_kernel_attribute): Initialize requested args
-	set with default_requested_args.
-	(gcn_conditional_register_usage): Limit register usage of non-kernel
-	functions.  Reassign fixed registers if a non-standard set of args is
-	requested.
-	* config/gcn/gcn.h (FIXED_REGISTERS): Fix registers according to ABI.
-
-2019-11-15  Feng Xue  <fxue@os.amperecomputing.com>
-
-	PR ipa/92528
-	* ipa-prop.c (update_jump_functions_after_inlining): Invalidate
-	aggregate jump function when inlined-to caller has no edge summary.
-
-2019-11-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* config/gcn/gcn.c (gcn_init_cumulative_args): Call reinit_regs.
-
-2019-11-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* config/gcn/gcn.c (gcn_expand_prologue): Remove initialization and
-	prologue use of v0.
-	(print_operand_address): Use v1 for zero vector offset.
-
-2019-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/92515
-	* tree-vect-stmts.c (vectorizable_shift): Record incompatible op1
-	types when converting a vector/scalar shift into a vector/vector one,
-	using tree_nop_conversion_p instead of useless_type_conversion_p.
-	Move the conversion code to the transform block.
-
-2019-11-15  Matthew Malcomson  <matthew.malcomson@arm.com>
-
-	* read-rtl-function.c
-	(function_reader::add_fixup_source_location): Take additional
-	parameter of a column.
-	(function_reader::maybe_read_location): Optionally parse column
-	information and pass to add_fixup_source_location.
-
-2019-11-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92512
-	* tree-vect-loop.c (check_reduction_path): Fix operand index
-	computability check.  Add check for second use in COND_EXPRs.
-
-2019-11-15  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR target/92515
-	* config/rs6000/rs6000-call.c (rs6000_gimple_fold_builtin): Use
-	VIEW_CONVERT_EXPR to reinterpret vectors as different types.
-
-2019-11-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* config/gcn/gcn.c (gcn_regno_reg_class): Return VCC_CONDITIONAL_REG
-	register class for VCC_LO and VCC_HI.
-	(gcn_spill_class): Use SGPR_REGS to spill registers in
-	VCC_CONDITIONAL_REG.
-
-2019-11-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92324
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Fix
-	singedness of SLP reduction epilouge operations.  Also reduce
-	the vector width for SLP reductions before doing elementwise
-	operations if possible.
-
-2019-11-15  Matthew Malcomson  <matthew.malcomson@arm.com>
-
-	* passes.c (skip_pass): Set epilogue_completed if skipping the
-	pro_and_epilogue pass.
-
-2019-11-15  Matthew Malcomson  <matthew.malcomson@arm.com>
-
-	* passes.c (should_skip_pass_p): Always run "dfinish".
-
-2019-11-15  Richard Biener  <rguenther@suse.de>
-
-	* ipa-inline.c (inline_small_functions): Move assignment
-	to next before call destroying edge.
-
-2019-11-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92039
-	PR tree-optimization/91975
-	* tree-ssa-loop-ivcanon.c (constant_after_peeling): Revert
-	previous change, treat invariants consistently as non-constant.
-	(tree_estimate_loop_size): Ternary ops with just the first op
-	constant are not optimized away.
-
-2019-11-15  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimplify.c (gimplify_call_expr): Don't call
-	omp_resolve_declare_variant after gimplification.
-	* omp-general.c (omp_context_selector_matches): For isa that might
-	match in some other function, defer if in declare simd function.
-	(omp_context_compute_score): Don't look for " score" in construct
-	trait set.  Set *score to -1 if it can't ever match.
-	(omp_resolve_declare_variant): If any variants need to be deferred,
-	don't punt immediately, but compute scores of all variants and if
-	ther eis a score winner that doesn't need to be deferred, return that.
-
-2019-11-15  Luo Xiong Hu  <luoxhu@linux.ibm.com>
-
-	* ipa-comdats.c: Fix comments typo.
-	* ipa-profile.c: Fix comments typo.
-	* tree-profile.c (gimple_gen_ic_profiler): Use the new variable
-	__gcov_indirect_call.counters and __gcov_indirect_call.callee.
-	(gimple_gen_ic_func_profiler): Likewise.
-	(pass_ipa_tree_profile::gate): Fix comments typo.
-
-2019-11-15  Xiong Hu Luo  <luoxhu@linux.ibm.com>
-
-	* ipa-inline.c (inline_small_functions): Update iterator of next.
-
-2019-11-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* lra-spills.c (assign_spill_hard_regs): Check that the spill
-	register is suitable for the mode.
-
-2019-11-14  Andrew MacLeod  <amacleod@redhat.com>
-
-	* range-op.h (range_operator::fold_range): Return a bool.
-	* range-op.cc (range_operator::wi_fold): Assert supported type.
-	(range_operator::fold_range): Assert supported type and return true.
-	(operator_equal::fold_range): Return true.
-	(operator_not_equal::fold_range): Same.
-	(operator_lt::fold_range): Same.
-	(operator_le::fold_range): Same.
-	(operator_gt::fold_range): Same.
-	(operator_ge::fold_range): Same.
-	(operator_plus::op1_range): Adjust call to fold_range.
-	(operator_plus::op2_range): Same.
-	(operator_minus::op1_range): Same.
-	(operator_minus::op2_range): Same.
-	(operator_exact_divide::op1_range): Same.
-	(operator_lshift::fold_range): Return true and adjust fold_range call.
-	(operator_rshift::fold_range): Same.
-	(operator_cast::fold_range): Return true.
-	(operator_logical_and::fold_range): Same.
-	(operator_logical_or::fold_range): Same.
-	(operator_logical_not::fold_range): Same.
-	(operator_bitwise_not::fold_range): Adjust call to fold_range.
-	(operator_bitwise_not::op1_range): Same.
-	(operator_cst::fold_range): Return true.
-	(operator_identity::fold_range): Return true.
-	(operator_negate::fold_range): Return true and adjust fold_range call.
-	(operator_addr_expr::fold_range): Return true.
-	(operator_addr_expr::op1_range): Adjust call to fold_range.
-	(range_cast): Same.
-	* tree-vrp.c (range_fold_binary_symbolics_p): Adjust call to fold_range.
-	(range_fold_unary_symbolics_p): Same.
-
-2019-11-14  Andrew MacLeod  <amacleod@redhat.com>
-
-	PR tree-optimization/92506
-	* range-op.cc (range_operator::fold_range): Start with range undefined.
-	(operator_abs::wi_fold): Fix wrong line copy... With wrapv, abs with
-	overflow is varying.
-
-2019-11-14  Aldy Hernandez  <aldyh@redhat.com>
-
-	* range-op.cc (*operator*::*range): Remove calls to
-	range_intersect, range_invert, and range_union in favor of calling
-	the in-place API methods.
-	(range_tests): Same.
-	* range.cc (range_intersect): Remove.
-	(range_union): Remove.
-	(range_invert): Remove.
-	* range.h (range_intersect): Remove.
-	(range_union): Remove.
-	(range_intersect): Remove.
-
-2019-11-14  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR rtl-optimization/92430
-	* cfgcleanup.c (pass_jump_after_combine::gate): New function.
-	(pass_jump_after_combine::execute): Perform jump threading
-	unconditionally.
-
-2019-11-14  Jerome Lambourg  <lambourg@adacore.com>
-	    Doug Rupp <rupp@adacore.com>
-	    Olivier Hainque  <hainque@adacore.com>
-
-	* config.gcc: Collapse the arm-vxworks entries into
-	a single arm-wrs-vxworks7* one, bpabi based.  Update
-	the default cpu from arm8 to armv7-a
-	* config/arm/vxworks.h (CC1_SPEC): Simplify, knowing that
-	we always use ARM_UNWIND_INFO.
-	(DWARF2_UNWIND_INFO): Remove redefinition.
-	(ARM_TARGET2_DWARF_FORMAT): Likewise.
-	(VXWORKS_PERSONALITY): Define, to "llvm".
-	(VXWORKS_EXTRA_LIBS_RTP): Define, to "-lllvm".
-
-2019-11-14  Jerome Lambourg  <lambourg@adacore.com>
-
-	* config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Use
-	_VX_CPU instead of CPU and handle arm_arch8.
-
-2019-11-14  Doug Rupp  <rupp@adacore.com>
-	    Olivier Hainque  <hainque@adacore.com>
-	    Jerome Lambourg  <lambourg@adacore.com>
-
-	* config.gcc: Handle aarch64*-wrs-vxworks7*.
-	* config/aarch64/aarch64-vxworks.h: New file.
-	* config/aarch64/t-aarch64-vxworks: New file.
-
-2019-11-06  Jerome Lambourg  <lambourg@adacore.com>
-	    Olivier Hainque  <hainque@adacore.com>
-
-	* config/vx-common.h (USE_TM_CLONE_REGISTRY): Remove
-	definition, pointless with a VxWorks specific version
-	of crtstuff.
-	(DWARF2_UNWIND_INFO): Conditionalize on !ARM_UNWIND_INFO.
-	* config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC):
-	New local macros, controlling the addition of vxworks specific
-	crtstuff objects depending on the EH mechanism and kind of
-	module being linked.
-	(VXWORKS_STARTFILE_SPEC, VXWORKS_ENDFILE_SPEC): Use them.
-
-2019-11-06  Pat Bernardi  <bernardi@adacore.com>
-            Jerome Lambourg  <lambourg@adacore.com>
-            Olivier Hainque  <hainque@adacore.com>
-
-	* config.gcc: Add comment to introduce the TARGET_VXWORKS
-	common macro definitions, conveying VXWORKS7 or 64bit general
-	variations.  Add a block to set gcc_cv_initfini_array
-	unconditionally to "yes" for VxWorks7.
-	config/vx-common.h (VXWORKS_CC1_SPEC): New macro, empty string
-	by default.  Update some comments.
-	config/vxworks.h (VXWORKS_EXTRA_LIBS_RTP): New macro, empty by
-	default, to be added the end of VXWORKS_LIBS_RTP.
-	(VXWORKS_LIBS_RTP): Replace hardcoded part by VXWORKS_BASE_LIBS_RTP
-	and append VXWORKS_EXTRA_LIBS_RTP, both of which specific ports may
-	redefine.
-	(VXWORKS_NET_LIBS_RTP): Account for VxWorks7 specificities.
-	(VXWORKS_CC1_SPEC): Common base definition, with VxWorks7 variation
-	to account for the now available TLS abilities.
-	(TARGET_LIBC_HAS_FUNCTION): Account for VxWorks7 abilities.
-	(VXWORKS_HAVE_TLS): Likewise.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-slp.c (vect_contains_pattern_stmt_p): New function.
-	(vect_slp_convert_to_external): Likewise.
-	(vect_slp_analyze_node_operations): If analysis fails, try building
-	the node from scalars instead.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-cfg.c (verify_gimple_assign_unary): Handle conversions
-	between vector types.
-	* tree-vect-stmts.c (vectorizable_conversion): Extend the
-	non-widening and non-narrowing path to handle standard
-	conversion codes, if the target supports them.
-	* expr.c (convert_move): Try using the extend and truncate optabs
-	for vectors.
-	* optabs-tree.c (supportable_convert_operation): Likewise.
-	* config/aarch64/iterators.md (Vnarroqw): New iterator.
-	* config/aarch64/aarch64-simd.md (<optab><Vnarrowq><mode>2)
-	(trunc<mode><Vnarrowq>2): New patterns.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vect_get_vector_types_for_stmt): Don't
-	require vectype and nunits_vectype to have the same size;
-	instead assert that nunits_vectype has at least as many
-	elements as vectype.  Don't compute a separate nunits_vectype
-	if the scalar type is obviously the same as vectype's.
-	Tweak dump messages.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_vectorize_related_mode): New
-	function.
-	(aarch64_autovectorize_vector_modes): Also add V4HImode and V2SImode.
-	(TARGET_VECTORIZE_RELATED_MODE): Define.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vec_info::mode_set): New typedef.
-	(vec_info::used_vector_mode): New member variable.
-	(vect_chooses_same_modes_p): Declare.
-	* tree-vect-stmts.c (get_vectype_for_scalar_type): Record each
-	chosen vector mode in vec_info::used_vector_mode.
-	(vect_chooses_same_modes_p): New function.
-	* tree-vect-loop.c (vect_analyze_loop): Use it to avoid trying
-	the same vector statements multiple times.
-	* tree-vect-slp.c (vect_slp_bb_region): Likewise.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* machmode.h (opt_machine_mode::operator==): New function.
-	(opt_machine_mode::operator!=): Likewise.
-	* tree-vectorizer.h (vec_info::vector_mode): Update comment.
-	(get_related_vectype_for_scalar_type): Delete.
-	(get_vectype_for_scalar_type_and_size): Declare.
-	* tree-vect-slp.c (vect_slp_bb_region): Print dump messages to say
-	whether analysis passed or failed, and with what vector modes.
-	Use related_vector_mode to check whether trying a particular
-	vector mode would be redundant with the autodetected mode,
-	and print a dump message if we decide to skip it.
-	* tree-vect-loop.c (vect_analyze_loop): Likewise.
-	(vect_create_epilog_for_reduction): Use
-	get_related_vectype_for_scalar_type instead of
-	get_vectype_for_scalar_type_and_size.
-	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Replace
-	with...
-	(get_related_vectype_for_scalar_type): ...this new function.
-	Take a starting/"prevailing" vector mode rather than a vector size.
-	Take an optional nunits argument, with the same meaning as for
-	related_vector_mode.  Use related_vector_mode when not
-	auto-detecting a mode, falling back to mode_for_vector if no
-	target mode exists.
-	(get_vectype_for_scalar_type): Update accordingly.
-	(get_same_sized_vectype): Likewise.
-	* tree-vectorizer.c (get_vec_alignment_for_array_type): Likewise.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_call): Require the types
-	to have the same size.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_call): If an operand is
-	constant or external, use get_vectype_for_scalar_type
-	rather than get_same_sized_vectype to get its vector type.
-	(vectorizable_conversion, vectorizable_shift): Likewise.
-	(vectorizable_operation): Likewise.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vec_info::vector_size): Replace with...
-	(vec_info::vector_mode): ...this new field.
-	* tree-vect-loop.c (vect_update_vf_for_slp): Update accordingly.
-	(vect_analyze_loop, vect_transform_loop): Likewise.
-	* tree-vect-loop-manip.c (vect_do_peeling): Likewise.
-	* tree-vect-slp.c (can_duplicate_and_interleave_p): Likewise.
-	(vect_make_slp_decision, vect_slp_bb_region): Likewise.
-	* tree-vect-stmts.c (get_vectype_for_scalar_type): Likewise.
-	* tree-vectorizer.c (try_vectorize_loop_1): Likewise.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.h (vector_sizes, auto_vector_sizes): Delete.
-	(vector_modes, auto_vector_modes): New typedefs.
-	* target.def (autovectorize_vector_sizes): Replace with...
-	(autovectorize_vector_modes): ...this new hook.
-	* doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
-	Replace with...
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): ...this new hook.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_autovectorize_vector_sizes): Delete.
-	(default_autovectorize_vector_modes): New function.
-	* targhooks.c (default_autovectorize_vector_sizes): Delete.
-	(default_autovectorize_vector_modes): New function.
-	* omp-general.c (omp_max_vf): Use autovectorize_vector_modes instead
-	of autovectorize_vector_sizes.  Use the number of units in the mode
-	to calculate the maximum VF.
-	* omp-low.c (omp_clause_aligned_alignment): Use
-	autovectorize_vector_modes instead of autovectorize_vector_sizes.
-	Use a loop based on related_mode to iterate through all supported
-	vector modes for a given scalar mode.
-	* optabs-query.c (can_vec_mask_load_store_p): Use
-	autovectorize_vector_modes instead of autovectorize_vector_sizes.
-	* tree-vect-loop.c (vect_analyze_loop, vect_transform_loop): Likewise.
-	* tree-vect-slp.c (vect_slp_bb_region): Likewise.
-	* config/aarch64/aarch64.c (aarch64_autovectorize_vector_sizes):
-	Replace with...
-	(aarch64_autovectorize_vector_modes): ...this new function.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Delete.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Define.
-	* config/arc/arc.c (arc_autovectorize_vector_sizes): Replace with...
-	(arc_autovectorize_vector_modes): ...this new function.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Delete.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Define.
-	* config/arm/arm.c (arm_autovectorize_vector_sizes): Replace with...
-	(arm_autovectorize_vector_modes): ...this new function.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Delete.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Define.
-	* config/i386/i386.c (ix86_autovectorize_vector_sizes): Replace with...
-	(ix86_autovectorize_vector_modes): ...this new function.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Delete.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Define.
-	* config/mips/mips.c (mips_autovectorize_vector_sizes): Replace with...
-	(mips_autovectorize_vector_modes): ...this new function.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Delete.
-	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): Define.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_shift): Check the number
-	of vector elements as well as the type mode when deciding
-	whether an op1_vectype is compatible.  Reuse the result of
-	this check when generating vector statements.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): If
-	targetm.vectorize.preferred_simd_mode returns an integer mode,
-	use mode_for_vector to decide what the vector type's mode
-	should actually be.  Use build_vector_type_for_mode instead
-	of build_vector_type.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.def (get_mask_mode): Take a vector mode itself as argument,
-	instead of properties about the vector mode.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_get_mask_mode): Update to reflect new
-	get_mode_mask interface.
-	* targhooks.c (default_get_mask_mode): Likewise.  Use
-	related_int_vector_mode.
-	* optabs-query.c (can_vec_mask_load_store_p): Update call
-	to get_mask_mode.
-	* tree-vect-stmts.c (check_load_store_masking): Likewise, checking
-	first that the original mode really is a vector.
-	* tree.c (build_truth_vector_type_for): Likewise.
-	* config/aarch64/aarch64.c (aarch64_get_mask_mode): Update for new
-	get_mode_mask interface.
-	(aarch64_expand_sve_vcond): Update call accordingly.
-	* config/gcn/gcn.c (gcn_vectorize_get_mask_mode): Update for new
-	get_mode_mask interface.
-	* config/i386/i386.c (ix86_get_mask_mode): Likewise.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree.h (build_truth_vector_type): Delete.
-	(build_same_sized_truth_vector_type): Likewise.
-	* tree.c (build_truth_vector_type): Rename to...
-	(build_truth_vector_type_for): ...this.  Make static and take
-	a vector type as argument.
-	(truth_type_for): Update accordingly.
-	(build_same_sized_truth_vector_type): Delete.
-	* tree-vect-generic.c (expand_vector_divmod): Use truth_type_for
-	instead of build_same_sized_truth_vector_type.
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
-	(vect_record_loop_mask, vect_get_loop_mask): Likewise.
-	* tree-vect-patterns.c (build_mask_conversion): Likeise.
-	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
-	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
-	(vect_build_gather_load_calls, vectorizable_call): Likewise.
-	(scan_store_can_perm_p, vectorizable_scan_store): Likewise.
-	(vectorizable_store, vectorizable_condition): Likewise.
-	(get_mask_type_for_scalar_type, get_same_sized_vectype): Likewise.
-	(vect_get_mask_type_for_stmt): Use truth_type_for instead of
-	build_truth_vector_type.
-	* config/aarch64/aarch64-sve-builtins.cc (gimple_folder::convert_pred):
-	Use truth_type_for instead of build_same_sized_truth_vector_type.
-	* config/rs6000/rs6000-call.c (fold_build_vec_cmp): Likewise.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree.h (build_truth_vector_type_for_mode): Declare.
-	* tree.c (build_truth_vector_type_for_mode): New function,
-	split out from...
-	(build_truth_vector_type): ...here.
-	(build_opaque_vector_type): Fix head comment.
-	* tree-vectorizer.h (supportable_narrowing_operation): Remove
-	vec_info parameter.
-	(vect_halve_mask_nunits): Replace vec_info parameter with the
-	mode of the new vector.
-	(vect_double_mask_nunits): Likewise.
-	* tree-vect-loop.c (vect_halve_mask_nunits): Likewise.
-	(vect_double_mask_nunits): Likewise.
-	* tree-vect-loop-manip.c: Include insn-config.h, rtl.h and recog.h.
-	(vect_maybe_permute_loop_masks): Remove vinfo parameter.  Update call
-	to vect_halve_mask_nunits, getting the required mode from the unpack
-	patterns.
-	(vect_set_loop_condition_masked): Update call accordingly.
-	* tree-vect-stmts.c (supportable_narrowing_operation): Remove vec_info
-	parameter and update call to vect_double_mask_nunits.
-	(vectorizable_conversion): Update call accordingly.
-	(simple_integer_narrowing): Likewise.  Remove vec_info parameter.
-	(vectorizable_call): Update call accordingly.
-	(supportable_widening_operation): Update call to
-	vect_halve_mask_nunits.
-	* config/aarch64/aarch64-sve-builtins.cc (register_builtin_types):
-	Use build_truth_vector_type_mode instead of build_truth_vector_type.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* machmode.h (mode_for_int_vector): Delete.
-	(related_int_vector_mode): Declare.
-	* stor-layout.c (mode_for_int_vector): Delete.
-	(related_int_vector_mode): New function.
-	* optabs.c (expand_vec_perm_1): Use related_int_vector_mode
-	instead of mode_for_int_vector.
-	(expand_vec_perm_const): Likewise.
-	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Likewise.
-	(aarch64_evpc_sve_tbl): Likewise.
-	* config/s390/s390.c (s390_expand_vec_compare_cc): Likewise.
-	(s390_expand_vcond): Likewise.
-
-2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.def (related_mode): New hook.
-	* doc/tm.texi.in (TARGET_VECTORIZE_RELATED_MODE): New hook.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_vectorize_related_mode): Declare.
-	* targhooks.c (default_vectorize_related_mode): New function.
-	* machmode.h (related_vector_mode): Declare.
-	* stor-layout.c (related_vector_mode): New function.
-	* expmed.c (extract_bit_field_1): Use it instead of mode_for_vector.
-	* optabs-query.c (qimode_for_vec_perm): Likewise.
-	* tree-vect-stmts.c (get_group_load_store_type): Likewise.
-	(vectorizable_store, vectorizable_load): Likewise
-
-2019-11-14  Richard Henderson  <richard.henderson@linaro.org>
-
-	* config/arm/aarch-common-protos.h (arm_md_asm_adjust): Declare.
-	* config/arm/aarch-common.c (arm_md_asm_adjust): New.
-	* config/arm/arm-c.c (arm_cpu_builtins): Define
-	__GCC_ASM_FLAG_OUTPUTS__.
-	* config/arm/arm.c (TARGET_MD_ASM_ADJUST): New.
-	* config/aarch64/aarch64-c.c (aarch64_define_unconditional_macros):
-	Define __GCC_ASM_FLAG_OUTPUTS__.
-	* config/aarch64/aarch64.c (TARGET_MD_ASM_ADJUST): New.
-	* doc/extend.texi (FlagOutputOperands): Add documentation
-	for ARM and AArch64.
-
-	* config/arm/arm-modes.def (CC_NZ): Rename from CC_NOOV.
-	* config/arm/predicates.md (nz_comparison_operator): Rename
-	from noov_comparison_operator.
-	* config/arm/arm.c (arm_select_cc_mode): Use CC_NZmode name.
-	(arm_gen_dicompare_reg): Likewise.
-	(maybe_get_arm_condition_code): Likewise.
-	(thumb1_final_prescan_insn): Likewise.
-	(arm_emit_coreregs_64bit_shift): Likewise.
-	* config/arm/arm.md (addsi3_compare0): Likewise.
-	(*addsi3_compare0_scratch, subsi3_compare0): Likewise.
-	(*mulsi3_compare0, *mulsi3_compare0_v6): Likewise.
-	(*mulsi3_compare0_scratch, *mulsi3_compare0_scratch_v6): Likewise.
-	(*mulsi3addsi_compare0, *mulsi3addsi_compare0_v6): Likewise.
-	(*mulsi3addsi_compare0_scratch): Likewise.
-	(*mulsi3addsi_compare0_scratch_v6): Likewise.
-	(*andsi3_compare0, *andsi3_compare0_scratch): Likewise.
-	(*zeroextractsi_compare0_scratch): Likewise.
-	(*ne_zeroextractsi, *ne_zeroextractsi_shifted): Likewise.
-	(*ite_ne_zeroextractsi, *ite_ne_zeroextractsi_shifted): Likewise.
-	(andsi_not_shiftsi_si_scc_no_reuse): Likewise.
-	(andsi_not_shiftsi_si_scc): Likewise.
-	(*andsi_notsi_si_compare0, *andsi_notsi_si_compare0_scratch): Likewise.
-	(*iorsi3_compare0, *iorsi3_compare0_scratch): Likewise.
-	(*xorsi3_compare0, *xorsi3_compare0_scratch): Likewise.
-	(*shiftsi3_compare0, *shiftsi3_compare0_scratch): Likewise.
-	(*not_shiftsi_compare0, *not_shiftsi_compare0_scratch): Likewise.
-	(*notsi_compare0, *notsi_compare0_scratch): Likewise.
-	(return_addr_mask, *check_arch2): Likewise.
-	(*arith_shiftsi_compare0, *arith_shiftsi_compare0_scratch): Likewise.
-	(*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch): Likewise.
-	(compare_scc splitters): Likewise.
-	(movcond_addsi): Likewise.
-	* config/arm/thumb2.md (thumb2_addsi3_compare0): Likewise.
-	(*thumb2_addsi3_compare0_scratch): Likewise.
-	(*thumb2_mulsi_short_compare0): Likewise.
-	(*thumb2_mulsi_short_compare0_scratch): Likewise.
-	(compare peephole2s): Likewise.
-	* config/arm/thumb1.md (thumb1_cbz): Use CC_NZmode and
-	nz_comparison_operator names.
-	(cbranchsi4_insn): Likewise.
-
-	* config/arm/constraints.md (c): Use cc_register predicate.
-
-	* config/aarch64/constraints.md (c): New constraint.
-
-2019-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (ipa_call_context::estimate_size_and_time,
-	ipa_merge_fn_summary_after_inlining): Micro optimize.
-
-2019-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* params.opt (max-inline-insns-single-O2): Set to 70 (instead of 30).
-
-2019-11-14  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (ipa_vr_operation_and_type_effects): Move up in file.
-	(ipa_value_range_from_jfunc): New function.
-	* ipa-fnsummary.c (evaluate_conditions_for_known_args): Add
-	known_value_ranges parameter; use it to evalulate conditions.
-	(evaluate_properties_for_edge): Compute known value ranges.
-	(ipa_fn_summary_t::duplicate): Update use of
-	evaluate_conditions_for_known_args.
-	(estimate_ipcp_clone_size_and_time): Likewise.
-	(ipa_merge_fn_summary_after_inlining): Likewise.
-	* ipa-prop.h (ipa_value_range_from_jfunc): Declare.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	* ipa-inline.c (want_inline_small_function_p): Use
-	CIF_MAX_INLINE_INSNS_AUTO_LIMIT instead
-	of CIF_MAX_INLINE_INSNS_SINGLE_O2_LIMIT.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	* ipa-cp.c (devirtualization_time_bonus): Use opt_for_fn
-	of a callee to get value of the param.
-	* ipa-inline.c (inline_insns_auto): Use proper
-	opt_for_fn.
-	* opts.c (maybe_default_option): Do not overwrite param
-	value if optimization level does not match.  Note that
-	params usually have default value set via Init() keyword.
-	* params.opt: Remove -param=max-inline-insns-auto-O2.
-	* cif-code.def (MAX_INLINE_INSNS_AUTO_O2_LIMIT): Remove.
-	* doc/invoke.texi: Remove documentation of
-	max-inline-insns-auto-O2.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	* tree-switch-conversion.c (switch_conversion::switch_conversion):
-	Do not initialize m_other_count.
-	(switch_conversion::collect): Do not count m_default_count and
-	m_other_count as we use frequencies for edges.
-	* tree-switch-conversion.h: Remove m_default_count and m_other_count.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	PR other/92329
-	* doc/invoke.texi: Document -fallocation-dce.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	PR target/92389
-	* config/i386/i386.h: Add PTA_AVX512VPOPCNTDQ to
-	PTA_ICELAKE_CLIENT which is later interited by
-	PTA_ICELAKE_SERVER and PTA_TIGERLAKE.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf.c (sem_item_optimizer::execute): Save
-	loaded_symbols.
-	(sem_item_optimizer::parse_nonsingleton_classes):
-	Return number of loaded symbols.
-	(sem_item_optimizer::merge_classes): Print
-	statistics about totally needed symbols.
-	* ipa-icf.h (parse_nonsingleton_classes): Change return
-	type.
-	(merge_classes): Add one argument.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.c (func_checker::hash_operand): Improve
-	func_checker::hash_operand by handling of FIELD_DECLs.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.h (func_checker::func_checker): Add
-	default constructor.
-	* ipa-icf.c (sem_function::init): Make operand_equal_p
-	and hash_operand public.
-	(sem_item::add_expr): Remove.
-	(sem_item::add_type): Remove.
-	(sem_function::hash_stmt): Use m_checker for hashing
-	of GIMPLE statements.
-	(sem_function::parse): Init with checker.
-	(sem_variable::parse): Pass NULL as checker.
-	(sem_item_optimizer::parse_funcs_and_vars):
-	Pass checker to ::parse function.
-	(sem_item_optimizer::parse_nonsingleton_classes): Likewise.
-	(sem_variable::parse): New function.
-	(sem_variable::get_hash): Only return computed hash value.
-	(sem_variable::init): Initialize hash of a variable.
-	* ipa-icf.h: Remove add_expr, add_type and add func_checker
-	to couple of functions as a new argument.
-
-2019-11-14  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.c (func_checker::compare_gimple_call): Update
-	bail out reason.
-	(func_checker::compare_gimple_assign): Likewise.
-
-2019-11-14  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386-options.c (ix86_omp_device_kind_arch_isa): Don't
-	change sse4.2 to sse4_2 and sse4.1 to sse4.1.
-	* config/i386/t-omp-device (omp-device-properties-i386): Likewise.
-
-	* omp-general.c (omp_context_name_list_prop): New function.
-	(omp_context_selector_matches): Use it.  Return 0 if it returns
-	NULL.
-	(omp_context_selector_props_compare): Allow equivalency of an
-	identifier and a string literal containing no embedded zeros.
-
-2019-11-14  Aldy Hernandez  <aldyh@redhat.com>
-
-	* range-op.cc (RANGE3): Remove.
-	(range_tests): Remove all selftest that check for multi-ranges.
-	Put tests in namespace selftest.
-	* selftest.h: Move range_tests into namespace selftest.
-	* value-range.h (class value_range): Unfriend range_tests.
-
-2019-11-14  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (range_fold_binary_symbolics_p): Adapt for
-	normalize_symbolics and normalize_addresses working in place.
-	(range_fold_unary_symbolics_p): Same.
-	(range_fold_unary_symbolics_p): Same.
-	* value-range.cc (num_pairs): Same.
-	(lower_bound): Same.
-	(upper_bound): Same.
-	(contains_p): Same.
-	(normalize_addresses): Same.
-	(normalize_symbolics): Same.
-	* value-range.h (normalize_symbolics): Same.
-	(normalize_addresses): Same.
-
-2019-11-14  Feng Xue  <fxue@os.amperecomputing.com>
-
-	PR ipa/91682
-	* ipa-prop.h (jump_func_type): New value IPA_JF_LOAD_AGG.
-	(ipa_load_agg_data, ipa_agg_value, ipa_agg_value_set): New structs.
-	(ipa_agg_jf_item): Add new field jftype and type, redefine field value.
-	(ipa_agg_jump_function): Remove member function equal_to.
-	(ipa_agg_jump_function_p): Remove typedef.
-	(ipa_copy_agg_values, ipa_release_agg_values): New functions.
-	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Dump
-	information for aggregate jump function.
-	(get_ssa_def_if_simple_copy): Add new parameter rhs_stmt to
-	record last definition statement.
-	(load_from_unmodified_param_or_agg): New function.
-	(ipa_known_agg_contents_list): Add new field type and value, remove
-	field constant.
-	(build_agg_jump_func_from_list): Rename parameter const_count to
-	value_count, build aggregate jump function from ipa_load_agg_data.
-	(analyze_agg_content_value): New function.
-	(extract_mem_content): Analyze memory store assignment to prepare
-	information for aggregate jump function generation.
-	(determine_known_aggregate_parts): Add new parameter fbi, remove
-	parameter aa_walk_budeget_p.
-	(update_jump_functions_after_inlining): Update aggregate jump function.
-	(ipa_find_agg_cst_for_param): Change type of parameter agg.
-	(try_make_edge_direct_simple_call): Add new parameter new_root.
-	(try_make_edge_direct_virtual_call): Add new parameter new_root and
-	new_root_info.
-	(update_indirect_edges_after_inlining): Pass new argument to
-	try_make_edge_direct_simple_call and try_make_edge_direct_virtual_call.
-	(ipa_write_jump_function): Write aggregate jump function to file.
-	(ipa_read_jump_function): Read aggregate jump function from file.
-	(ipa_agg_value::equal_to): Migrate from ipa_agg_jf_item::equal_to.
-	* ipa-cp.c (ipa_get_jf_arith_result): New function.
-	(ipa_agg_value_from_node): Likewise.
-	(ipa_agg_value_set_from_jfunc): Likewise.
-	(propagate_vals_across_arith_jfunc): Likewise.
-	(propagate_aggregate_lattice): Likewise.
-	(ipa_get_jf_pass_through_result): Call ipa_get_jf_arith_result.
-	(propagate_vals_across_pass_through): Call
-	propagate_vals_across_arith_jfunc.
-	(get_clone_agg_value): Move forward.
-	(propagate_aggs_across_jump_function): Handle value propagation for
-	aggregate jump function.
-	(agg_jmp_p_vec_for_t_vec): Remove.
-	(context_independent_aggregate_values): Replace vec<ipa_agg_jf_item>
-	with vec<ipa_agg_value>.
-	(copy_plats_to_inter, intersect_with_plats): Likewise.
-	(agg_replacements_to_vector, intersect_with_agg_replacements): Likewise.
-	(intersect_aggregate_with_edge): Likewise.
-	(find_aggregate_values_for_callers_subset): Likewise.
-	(cgraph_edge_brings_all_agg_vals_for_node): Likewise.
-	(estimate_local_effects): Replace vec<ipa_agg_jump_function> and
-	vec<ipa_agg_jump_function_p> with vec<ipa_agg_value_set>.
-	(gather_context_independent_values): Likewise.
-	(perform_estimation_of_a_value, decide_whether_version_node): Likewise.
-	* ipa-fnsummary.c (evaluate_conditions_for_known_args): Replace
-	vec<ipa_agg_jump_function_p> with vec<ipa_agg_value_set>.
-	(evaluate_properties_for_edge): Likewise.
-	(estimate_edge_devirt_benefit): Likewise.
-	(estimate_edge_size_and_time):  Likewise.
-	(estimate_calls_size_and_time): Likewise.
-	(ipa_call_context::ipa_call_context): Likewise.
-	(estimate_ipcp_clone_size_and_time):  Likewise.
-	* ipa-fnsummary.h (ipa_call_context): Replace
-	vec<ipa_agg_jump_function_p> with vec<ipa_agg_value_set>.
-	* ipa-inline-analysis.c (do_estimate_edge_time): Replace
-	vec<ipa_agg_jump_function_p> with vec<ipa_agg_value_set>.
-	(do_estimate_edge_size): Likewise.
-	(do_estimate_edge_hints): Likewise.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (propagate_vr_across_jump_function): Propagate also across
-	binary operations.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-profile.c (check_argument_count): Check properly that e_info
-	is non-NULL; do not check descriptors.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (do_estimate_edge_time): Relax
-	check for ipa profiles.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR c++/92421
-	* ipa-prop.c (update_indirect_edges_after_inlining):
-	Mark parameter as used.
-	* ipa-inline.c (recursive_inlining): Reset node cache
-	after inlining.
-	(inline_small_functions): Remove checking ifdef.
-	* ipa-inline-analysis.c (do_estimate_edge_time): Verify
-	cache consistency.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/92498
-	* ipa-profile.c (check_argument_count): Do not ICE when descriptors
-	is NULL.
-	(ipa_profile): Fix reversed test.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (ignore_edge_p): Do not check caller flags.
-	(propagate_constants_topo): Fix typo.
-
-2019-11-13  Aldy Hernandez  <aldyh@redhat.com>
-
-	* Makefile.in (OBJS): Add value-range.o.
-	(GTFILES): Add value-range.h.
-	* gengtype.c (open_base_files): Add value-range.h to list of
-	header files.
-	* tree-vrp.c: Move the following value_range related functions:
-	ranges_from_anti_range, value_range, check, equal_p, symbolic_p,
-	constant_p, set_undefined, set_varying, may_contain_p,
-	singleton_p, type, dump, dump_value_range, debug, vrp_val_max,
-	vrp_val_min, vrp_val_is_min, vrp_val_is_max, set, set_nonzero,
-	set_zero, vrp_operand_equal_p, range_has_numeric_bounds_p,
-	value_inside_range, ranges_from_anti_range, union_ranges,
-	intersect_ranges, intersect_helper, union_helper, union_,
-	normalize_addresses, normalize_symbolics, num_pairs, lower_bound,
-	upper_bound, contains_p, invert, intersect...
-	* value-range.cc: ...to here.
-	* tree-vrp.h: Move class value_range, enum_value_range_kind, and
-	associated inline methods from here...
-	* value-range.h: ...to here.
-
-2019-11-13  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
-
-	* config/mips/mips.md (rotr<mode>3): Sanitize the constant argument
-	instead of asserting its value.
-
-(2019-11-13  Aldy Hernandez  <aldyh@redhat.com>
-
-	* gimple-fold.c (size_must_be_zero_p): Rewrite use of value_range
-	constructors and set methods so value_range_kind is the last
-	argument and defaults to VR_RANGE.
-	* gimple-ssa-evrp-analyze.c (record_ranges_from_stmt): Same.
-	* ipa-cp.c (propagate_vr_across_jump_function): Same.
-	* ipa-prop.c (ipa_get_value_range): Same.
-	(ipa_compute_jump_functions_for_edge): Same.
-	* range-op.cc (value_range_from_overflowed_bounds): Same.
-	(operator_cast::op1_range): Same.
-	(range_tests): Same.
-	* range.cc (range_nonzero): Same.
-	* tree-ssanames.c (get_range_info): Same.
-	* tree-vrp.c (value_range_equiv::set): Same.
-	(value_range::value_range): Same.
-	(value_range_equiv::value_range_equiv): Same.
-	(value_range_equiv::update): Same.
-	(value_range_equiv::deep_copy): Same.
-	(value_range_equiv::move): Same.
-	(value_range_equiv::set_undefined): Same.
-	(value_range::set): Same.
-	(value_range::set_nonzero): Same.
-	(ranges_from_anti_range): Same.
-	(extract_range_from_plus_minus_expr): Same.
-	(value_range::intersect_helper): Same.
-	(value_range_equiv::intersect): Same.
-	(value_range::union_helper): Same.
-	(value_range_equiv::union_): Same.
-	(value_range::normalize_symbolics): Same.
-	(value_range::invert): Same.
-	(determine_value_range_1): Same.
-	* tree-vrp.h (class value_range): Same.
-	(class value_range_equiv): Same.
-	* vr-values.c (set_value_range_to_nonnegative): Same.
-	(set_value_range_to_truthvalue): Same.
-	(vr_values::update_value_range): Same.
-	(vr_values::extract_range_for_var_from_comparison_expr): Same.
-	(vr_values::extract_range_from_binary_expr): Same.
-	(vr_values::extract_range_from_comparison): Same.
-	(vr_values::extract_range_basic): Same.
-	(vr_values::adjust_range_with_scev): Same.
-	(vr_values::vrp_evaluate_conditional_warnv_with_ops): Same.
-	(vr_values::extract_range_from_phi_node): Same.
-
-2019-11-13  Ulrich Drepper  <drepper@redhat.com>
-
-	* tree-dump.c (dequeue_and_dump): Print first tree operand
-	for VIEW_CONVERT_EXPR.
-
-2019-11-13  Joseph Myers  <joseph@codesourcery.com>
-
-	* ginclude/float.c [__STDC_VERSION__ > 201710L] (FLT_NORM_MAX,
-	DBL_NORM_MAX, LDBL_NORM_MAX): Define.
-	* real.c (get_max_float): Add norm_max argument.
-	* real.h (get_max_float): Update prototype.
-	* builtins.c (fold_builtin_interclass_mathfn): Update calls to
-	get_max_float.
-
-2019-11-13  Martin Liska  <mliska@suse.cz>
-
-	* dbgcnt.c (test_sorted_dbg_counters): New.
-	(dbgcnt_c_tests): Likewise.
-	* selftest-run-tests.c (selftest::run_tests): Likewise.
-	* selftest.h (dbgcnt_c_tests): Likewise.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-	    Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/92454
-	* ipa-cp.c (spread_undeadness): Check that IPA_NODE_REF exists.
-	(identify_dead_nodes): Likewise.
-
-2019-11-13  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf.c (sem_function::equals_private): Do not overuse
-	push/pop_cfun functions.
-
-2019-11-13  Martin Liska  <mliska@suse.cz>
-
-	* common.opt: Document change of -fdbg-cnt option.
-	* dbgcnt.c (DEBUG_COUNTER): Remove.
-	(dbg_cnt_is_enabled): Remove.
-	(dbg_cnt): Work with new intervals.
-	(dbg_cnt_set_limit_by_index): Set to new
-	list of intervals.
-	(dbg_cnt_set_limit_by_name): Likewise.
-	(dbg_cnt_process_single_pair): Process new format.
-	(dbg_cnt_process_opt): Likewise.
-	(dbg_cnt_list_all_counters): Likewise.
-	* doc/invoke.texi: Document change of -fdbg-cnt option.
-	(cmp_tuples): New.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (ipa_inline): Check that function is defined before
-	flattening.
-
-2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
-	    Julian Brown  <julian@codesourcery.com>
-
-	* config/gcn/gcn.c (gcn_goacc_validate_dims): Ensure
-	flag_worker_partitioning is not set.
-	(TARGET_GOACC_WORKER_PARTITIONING): Remove target hook definition.
-	* config/gcn/gcn.opt (macc-experimental-workers): Default to off.
-
-2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
-
-	* config/gcn/gcn-run.c (heap_region): New global variable.
-	(struct hsa_runtime_fn_info): Add hsa_memory_assign_agent_fn.
-	(init_hsa_runtime_functions): Initialize hsa_memory_assign_agent.
-	(get_kernarg_region): Move contents to ....
-	(get_memory_region): .... here.
-	(get_heap_region): New function.
-	(init_device): Initialize the heap_region.
-	(device_malloc): Add region parameter.
-	(struct kernargs): Move heap ....
-	(heap): ... to global scope.
-	(main): Allocate heap separate to kernargs.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-prop.c (ipa_print_node_jump_functions,
-	ipa_print_node_params): Print info about missing summaries.
-
-2019-11-13  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Include
-	the cost of generating loop masks.
-
-2019-11-13  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_apply_runtime_profitability_check_p):
-	New function.
-	* tree-vect-loop-manip.c (vect_loop_versioning): Use it.
-	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
-	(vect_transform_loop): Likewise.
-	(vect_analyze_loop_costing): Don't take the cost of versioning
-	into account for the static profitability threshold if it turns
-	out that no versioning is needed.
-
-2019-11-13  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa.c (cgraph_build_static_cdtor): Pass optimization_default_node
-	and target_option_default_node to get -fprofile-generate ctors working
-	right with LTO.
-
-2019-11-13  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_nop_conversion_p): Declare.
-	* tree-vect-stmts.c (vect_nop_conversion_p): New function.
-	(vectorizable_assignment): Don't add a cost for nop conversions.
-	* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
-	Likewise.
-	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Likewise.
-
-2019-11-13  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vect_model_promotion_demotion_cost): Take the
-	number of ncopies as an additional argument.
-	(vectorizable_conversion): Update call accordingly.  Use "modifier"
-	to check whether a conversion is between vectors with the same
-	numbers of units.
-
-2019-11-13  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-sve-builtins-functions.h
-	(unary_count::expand): Use aarch64_sve_int_mode instead of
-	mode_for_int_vector.
-
-2019-11-13  Martin Liska  <mliska@suse.cz>
-
-	* opts.c: Update comment about OPT_LEVELS_2_PLUS_SPEED_ONLY.
-
-2019-11-13  Martin Liska  <mliska@suse.cz>
-
-	* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers):
-	Remove call to finalize_options_struct.
-
-2019-11-13  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/92055
-	* config/avr/t-avr (avr-mcus): Do not depend on
-	$(srcdir)/config/avr/t-multilib.
-
-2019-11-13  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92473
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Perform
-	direct optab reduction in the correct type.
-
-2019-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (rs6000_set_fpscr_drn): Use ULL on big
-	hexadecimal literal.
-
-2019-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/vsx.md (xscmpexpdp_<code> for CMP_TEST): Handle
-	UNORDERED if !HONOR_NANS (DFmode).
-	(xscmpexpqp_<code>_<mode> for CMP_TEST and IEEE128): Handle UNORDERED
-	if !HONOR_NANS (<MODE>mode).
-
-2019-11-12  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (ignore_edge_p): Also look for optimize flag.
-	(ipcp_verify_propagated_values): Likewise.
-	(propagate_constants_across_call): Likewise.
-	(propagate_constants_topo): Likewise.
-	(ipcp_propagate_stage): Likewise.
-
-2019-11-12  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/92471
-	* ipa-profile.c (check_argument_count): Break out from ...;
-	watch for missing summaries.
-	(ipa_profile): Here.
-
-2019-11-12  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/92412
-	* targhooks.c (default_ref_may_alias_errno): Errono can only alias
-	extern variables.
-
-2019-11-12  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/83688
-	* gimple-ssa-sprintf.c (format_result::alias_info): New struct.
-	(directive::argno): New member.
-	(format_result::aliases, format_result::alias_count): New data members.
-	(format_result::append_alias): New member function.
-	(fmtresult::dst_offset): New data member.
-	(pass_sprintf_length::call_info::dst_origin): New data member.
-	(pass_sprintf_length::call_info::dst_field, dst_offset): Same.
-	(char_type_p, array_elt_at_offset, field_at_offset): New functions.
-	(get_origin_and_offset): Same.
-	(format_string): Call it.
-	(format_directive): Call append_alias and set directive argument
-	number.
-	(maybe_warn_overlap): New function.
-	(pass_sprintf_length::compute_format_length): Call it.
-	(pass_sprintf_length::handle_gimple_call): Initialize new members.
-	* tree-ssa-strlen.c (): Also enable when -Wrestrict is on.
-
-2019-11-12  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR rtl-optimization/92430
-	* cfgcleanup.c (pass_jump_after_combine::execute): Free
-	dominance info at the beginning.
-
-2019-11-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92460
-	* tree-vect-stmts.c (vectorizable_simd_clone_call): Unshare
-	expression before gimplifying.
-
-2019-11-12  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92461
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Update
-	stmt after propagation.
-
-2019-11-12  Martin Liska  <mliska@suse.cz>
-
-	* config/i386/i386-options.c (ix86_recompute_optlev_based_flags):
-	Use SET_OPTION_IF_UNSET.
-	(ix86_option_override_internal): Likewise.
-	* opts.c (default_options_optimization): Likewise.
-	(finish_options): Likewise.
-	(enable_fdo_optimizations): Likewise.
-	(common_handle_option): Likewise.
-
-2019-11-12  Martin Liska  <mliska@suse.cz>
-
-	* common/common-target.def: Remove option_validate_param and
-	option_default_params.
-	* common/common-targhooks.c (default_option_validate_param):
-	Remove.
-	* common/common-targhooks.h (default_option_validate_param):
-	Remove.
-	* common/config/aarch64/aarch64-common.c (TARGET_OPTION_DEFAULT_PARAMS):
-	Remove usage of this.
-	(TARGET_OPTION_VALIDATE_PARAM): Likewise.
-	(aarch64_option_validate_param): Likewise.
-	(aarch64_option_default_params): Likewise
-	* common/config/bpf/bpf-common.c (bpf_option_default_params): Likewise.
-	(TARGET_OPTION_DEFAULT_PARAMS): Likewise.
-	* common/config/ia64/ia64-common.c (ia64_option_default_params): Likewise.
-	(TARGET_OPTION_DEFAULT_PARAMS): Likewise.
-	* common/config/powerpcspe/powerpcspe-common.c (rs6000_option_default_params): Likewise.
-	(TARGET_OPTION_DEFAULT_PARAMS): Likewise.
-	* common/config/rs6000/rs6000-common.c (rs6000_option_default_params): Likewise.
-	(TARGET_OPTION_DEFAULT_PARAMS): Likewise.
-	* common/config/sh/sh-common.c (sh_option_default_params): Likewise.
-	(TARGET_OPTION_DEFAULT_PARAMS): Likewise.
-	* config/aarch64/aarch64.c (aarch64_override_options_internal): Validate
-	guard_size here.
-	* doc/tm.texi: Remove option_default_params and option_validate_param.
-	* doc/tm.texi.in: Likewise.
-
-2019-11-12  Martin Liska  <mliska@suse.cz>
-
-	* common/common-target.def:
-	Do not mention set_default_param_value
-	and set_param_value.
-	* doc/tm.texi: Likewise.
-
-2019-11-12  Martin Liska  <mliska@suse.cz>
-
-	* common.opt: Remove param_values.
-	* config/i386/i386-options.c (ix86_valid_target_attribute_p):
-	Remove finalize_options_struct.
-	* gcc.c (driver::decode_argv): Do not call global_init_params
-	and finish_params.
-	(driver::finalize): Do not call params_c_finalize
-	and finalize_options_struct.
-	* opt-suggestions.c (option_proposer::get_completions): Remove
-	special casing of params.
-	(option_proposer::find_param_completions): Remove.
-	(test_completion_partial_match): Update expected output.
-	* opt-suggestions.h: Remove find_param_completions.
-	* opts-common.c (add_misspelling_candidates): Add
-	--param with a space.
-	* opts.c (handle_param): Remove.
-	(init_options_struct):. Remove init_options_struct and
-	similar calls.
-	(finalize_options_struct): Remove.
-	(common_handle_option): Use SET_OPTION_IF_UNSET.
-	* opts.h (finalize_options_struct): Remove.
-	* toplev.c (general_init): Do not call global_init_params.
-	(toplev::finalize): Do not call params_c_finalize and
-	finalize_options_struct.
-
-2019-11-12  Martin Liska  <mliska@suse.cz>
-
-	* Makefile.in: Remove PARAMS_H and params.list
-	and params.options.
-	* params-enum.h: Remove.
-	* params-list.h: Remove.
-	* params-options.h: Remove.
-	* params.c: Remove.
-	* params.def: Remove.
-	* params.h: Remove.
-	* asan.c: Do not include params.h.
-	* auto-profile.c: Likewise.
-	* bb-reorder.c: Likewise.
-	* builtins.c: Likewise.
-	* cfgcleanup.c: Likewise.
-	* cfgexpand.c: Likewise.
-	* cfgloopanal.c: Likewise.
-	* cgraph.c: Likewise.
-	* combine.c: Likewise.
-	* common/config/aarch64/aarch64-common.c: Likewise.
-	* common/config/gcn/gcn-common.c: Likewise.
-	* common/config/ia64/ia64-common.c: Likewise.
-	* common/config/powerpcspe/powerpcspe-common.c: Likewise.
-	* common/config/rs6000/rs6000-common.c: Likewise.
-	* common/config/sh/sh-common.c: Likewise.
-	* config/aarch64/aarch64.c: Likewise.
-	* config/alpha/alpha.c: Likewise.
-	* config/arm/arm.c: Likewise.
-	* config/avr/avr.c: Likewise.
-	* config/csky/csky.c: Likewise.
-	* config/i386/i386-builtins.c: Likewise.
-	* config/i386/i386-expand.c: Likewise.
-	* config/i386/i386-features.c: Likewise.
-	* config/i386/i386-options.c: Likewise.
-	* config/i386/i386.c: Likewise.
-	* config/ia64/ia64.c: Likewise.
-	* config/rs6000/rs6000-logue.c: Likewise.
-	* config/rs6000/rs6000.c: Likewise.
-	* config/s390/s390.c: Likewise.
-	* config/sparc/sparc.c: Likewise.
-	* config/visium/visium.c: Likewise.
-	* coverage.c: Likewise.
-	* cprop.c: Likewise.
-	* cse.c: Likewise.
-	* cselib.c: Likewise.
-	* dse.c: Likewise.
-	* emit-rtl.c: Likewise.
-	* explow.c: Likewise.
-	* final.c: Likewise.
-	* fold-const.c: Likewise.
-	* gcc.c: Likewise.
-	* gcse.c: Likewise.
-	* ggc-common.c: Likewise.
-	* ggc-page.c: Likewise.
-	* gimple-loop-interchange.cc: Likewise.
-	* gimple-loop-jam.c: Likewise.
-	* gimple-loop-versioning.cc: Likewise.
-	* gimple-ssa-split-paths.c: Likewise.
-	* gimple-ssa-sprintf.c: Likewise.
-	* gimple-ssa-store-merging.c: Likewise.
-	* gimple-ssa-strength-reduction.c: Likewise.
-	* gimple-ssa-warn-alloca.c: Likewise.
-	* gimple-ssa-warn-restrict.c: Likewise.
-	* graphite-isl-ast-to-gimple.c: Likewise.
-	* graphite-optimize-isl.c: Likewise.
-	* graphite-scop-detection.c: Likewise.
-	* graphite-sese-to-poly.c: Likewise.
-	* graphite.c: Likewise.
-	* haifa-sched.c: Likewise.
-	* hsa-gen.c: Likewise.
-	* ifcvt.c: Likewise.
-	* ipa-cp.c: Likewise.
-	* ipa-fnsummary.c: Likewise.
-	* ipa-inline-analysis.c: Likewise.
-	* ipa-inline.c: Likewise.
-	* ipa-polymorphic-call.c: Likewise.
-	* ipa-profile.c: Likewise.
-	* ipa-prop.c: Likewise.
-	* ipa-split.c: Likewise.
-	* ipa-sra.c: Likewise.
-	* ira-build.c: Likewise.
-	* ira-conflicts.c: Likewise.
-	* loop-doloop.c: Likewise.
-	* loop-invariant.c: Likewise.
-	* loop-unroll.c: Likewise.
-	* lra-assigns.c: Likewise.
-	* lra-constraints.c: Likewise.
-	* modulo-sched.c: Likewise.
-	* opt-suggestions.c: Likewise.
-	* opts.c: Likewise.
-	* postreload-gcse.c: Likewise.
-	* predict.c: Likewise.
-	* reload.c: Likewise.
-	* reorg.c: Likewise.
-	* resource.c: Likewise.
-	* sanopt.c: Likewise.
-	* sched-deps.c: Likewise.
-	* sched-ebb.c: Likewise.
-	* sched-rgn.c: Likewise.
-	* sel-sched-ir.c: Likewise.
-	* sel-sched.c: Likewise.
-	* shrink-wrap.c: Likewise.
-	* stmt.c: Likewise.
-	* targhooks.c: Likewise.
-	* toplev.c: Likewise.
-	* tracer.c: Likewise.
-	* trans-mem.c: Likewise.
-	* tree-chrec.c: Likewise.
-	* tree-data-ref.c: Likewise.
-	* tree-if-conv.c: Likewise.
-	* tree-inline.c: Likewise.
-	* tree-loop-distribution.c: Likewise.
-	* tree-parloops.c: Likewise.
-	* tree-predcom.c: Likewise.
-	* tree-profile.c: Likewise.
-	* tree-scalar-evolution.c: Likewise.
-	* tree-sra.c: Likewise.
-	* tree-ssa-ccp.c: Likewise.
-	* tree-ssa-dom.c: Likewise.
-	* tree-ssa-dse.c: Likewise.
-	* tree-ssa-ifcombine.c: Likewise.
-	* tree-ssa-loop-ch.c: Likewise.
-	* tree-ssa-loop-im.c: Likewise.
-	* tree-ssa-loop-ivcanon.c: Likewise.
-	* tree-ssa-loop-ivopts.c: Likewise.
-	* tree-ssa-loop-manip.c: Likewise.
-	* tree-ssa-loop-niter.c: Likewise.
-	* tree-ssa-loop-prefetch.c: Likewise.
-	* tree-ssa-loop-unswitch.c: Likewise.
-	* tree-ssa-math-opts.c: Likewise.
-	* tree-ssa-phiopt.c: Likewise.
-	* tree-ssa-pre.c: Likewise.
-	* tree-ssa-reassoc.c: Likewise.
-	* tree-ssa-sccvn.c: Likewise.
-	* tree-ssa-scopedtables.c: Likewise.
-	* tree-ssa-sink.c: Likewise.
-	* tree-ssa-strlen.c: Likewise.
-	* tree-ssa-structalias.c: Likewise.
-	* tree-ssa-tail-merge.c: Likewise.
-	* tree-ssa-threadbackward.c: Likewise.
-	* tree-ssa-threadedge.c: Likewise.
-	* tree-ssa-uninit.c: Likewise.
-	* tree-switch-conversion.c: Likewise.
-	* tree-vect-data-refs.c: Likewise.
-	* tree-vect-loop.c: Likewise.
-	* tree-vect-slp.c: Likewise.
-	* tree-vrp.c: Likewise.
-	* tree.c: Likewise.
-	* value-prof.c: Likewise.
-	* var-tracking.c: Likewise.
-
-2019-11-12  Martin Liska  <mliska@suse.cz>
-
-	* asan.c (asan_sanitize_stack_p): Replace old parameter syntax
-	with the new one, include opts.h if needed.  Use SET_OPTION_IF_UNSET
-	macro.
-	(asan_sanitize_allocas_p): Likewise.
-	(asan_emit_stack_protection): Likewise.
-	(asan_protect_global): Likewise.
-	(instrument_derefs): Likewise.
-	(instrument_builtin_call): Likewise.
-	(asan_expand_mark_ifn): Likewise.
-	* auto-profile.c (auto_profile): Likewise.
-	* bb-reorder.c (copy_bb_p): Likewise.
-	(duplicate_computed_gotos): Likewise.
-	* builtins.c (inline_expand_builtin_string_cmp): Likewise.
-	* cfgcleanup.c (try_crossjump_to_edge): Likewise.
-	(try_crossjump_bb): Likewise.
-	* cfgexpand.c (defer_stack_allocation): Likewise.
-	(stack_protect_classify_type): Likewise.
-	(pass_expand::execute): Likewise.
-	* cfgloopanal.c (expected_loop_iterations_unbounded): Likewise.
-	(estimate_reg_pressure_cost): Likewise.
-	* cgraph.c (cgraph_edge::maybe_hot_p): Likewise.
-	* combine.c (combine_instructions): Likewise.
-	(record_value_for_reg): Likewise.
-	* common/config/aarch64/aarch64-common.c (aarch64_option_validate_param): Likewise.
-	(aarch64_option_default_params): Likewise.
-	* common/config/ia64/ia64-common.c (ia64_option_default_params): Likewise.
-	* common/config/powerpcspe/powerpcspe-common.c (rs6000_option_default_params): Likewise.
-	* common/config/rs6000/rs6000-common.c (rs6000_option_default_params): Likewise.
-	* common/config/sh/sh-common.c (sh_option_default_params): Likewise.
-	* config/aarch64/aarch64.c (aarch64_output_probe_stack_range): Likewise.
-	(aarch64_allocate_and_probe_stack_space): Likewise.
-	(aarch64_expand_epilogue): Likewise.
-	(aarch64_override_options_internal): Likewise.
-	* config/alpha/alpha.c (alpha_option_override): Likewise.
-	* config/arm/arm.c (arm_option_override): Likewise.
-	(arm_valid_target_attribute_p): Likewise.
-	* config/i386/i386-options.c (ix86_option_override_internal): Likewise.
-	* config/i386/i386.c (get_probe_interval): Likewise.
-	(ix86_adjust_stack_and_probe_stack_clash): Likewise.
-	(ix86_max_noce_ifcvt_seq_cost): Likewise.
-	* config/ia64/ia64.c (ia64_adjust_cost): Likewise.
-	* config/rs6000/rs6000-logue.c (get_stack_clash_protection_probe_interval): Likewise.
-	(get_stack_clash_protection_guard_size): Likewise.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise.
-	* config/s390/s390.c (allocate_stack_space): Likewise.
-	(s390_emit_prologue): Likewise.
-	(s390_option_override_internal): Likewise.
-	* config/sparc/sparc.c (sparc_option_override): Likewise.
-	* config/visium/visium.c (visium_option_override): Likewise.
-	* coverage.c (get_coverage_counts): Likewise.
-	(coverage_compute_profile_id): Likewise.
-	(coverage_begin_function): Likewise.
-	(coverage_end_function): Likewise.
-	* cse.c (cse_find_path): Likewise.
-	(cse_extended_basic_block): Likewise.
-	(cse_main): Likewise.
-	* cselib.c (cselib_invalidate_mem): Likewise.
-	* dse.c (dse_step1): Likewise.
-	* emit-rtl.c (set_new_first_and_last_insn): Likewise.
-	(get_max_insn_count): Likewise.
-	(make_debug_insn_raw): Likewise.
-	(init_emit): Likewise.
-	* explow.c (compute_stack_clash_protection_loop_data): Likewise.
-	* final.c (compute_alignments): Likewise.
-	* fold-const.c (fold_range_test): Likewise.
-	(fold_truth_andor): Likewise.
-	(tree_single_nonnegative_warnv_p): Likewise.
-	(integer_valued_real_single_p): Likewise.
-	* gcse.c (want_to_gcse_p): Likewise.
-	(prune_insertions_deletions): Likewise.
-	(hoist_code): Likewise.
-	(gcse_or_cprop_is_too_expensive): Likewise.
-	* ggc-common.c: Likewise.
-	* ggc-page.c (ggc_collect): Likewise.
-	* gimple-loop-interchange.cc (MAX_NUM_STMT): Likewise.
-	(MAX_DATAREFS): Likewise.
-	(OUTER_STRIDE_RATIO): Likewise.
-	* gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise.
-	* gimple-loop-versioning.cc (loop_versioning::max_insns_for_loop): Likewise.
-	* gimple-ssa-split-paths.c (is_feasible_trace): Likewise.
-	* gimple-ssa-store-merging.c (imm_store_chain_info::try_coalesce_bswap): Likewise.
-	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
-	(imm_store_chain_info::output_merged_store): Likewise.
-	(pass_store_merging::process_store): Likewise.
-	* gimple-ssa-strength-reduction.c (find_basis_for_base_expr): Likewise.
-	* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): Likewise.
-	(scop_to_isl_ast): Likewise.
-	* graphite-optimize-isl.c (get_schedule_for_node_st): Likewise.
-	(optimize_isl): Likewise.
-	* graphite-scop-detection.c (build_scops): Likewise.
-	* haifa-sched.c (set_modulo_params): Likewise.
-	(rank_for_schedule): Likewise.
-	(model_add_to_worklist): Likewise.
-	(model_promote_insn): Likewise.
-	(model_choose_insn): Likewise.
-	(queue_to_ready): Likewise.
-	(autopref_multipass_dfa_lookahead_guard): Likewise.
-	(schedule_block): Likewise.
-	(sched_init): Likewise.
-	* hsa-gen.c (init_prologue): Likewise.
-	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Likewise.
-	(cond_move_process_if_block): Likewise.
-	* ipa-cp.c (ipcp_lattice::add_value): Likewise.
-	(merge_agg_lats_step): Likewise.
-	(devirtualization_time_bonus): Likewise.
-	(hint_time_bonus): Likewise.
-	(incorporate_penalties): Likewise.
-	(good_cloning_opportunity_p): Likewise.
-	(ipcp_propagate_stage): Likewise.
-	* ipa-fnsummary.c (decompose_param_expr): Likewise.
-	(set_switch_stmt_execution_predicate): Likewise.
-	(analyze_function_body): Likewise.
-	(compute_fn_summary): Likewise.
-	* ipa-inline-analysis.c (estimate_growth): Likewise.
-	* ipa-inline.c (caller_growth_limits): Likewise.
-	(inline_insns_single): Likewise.
-	(inline_insns_auto): Likewise.
-	(can_inline_edge_by_limits_p): Likewise.
-	(want_early_inline_function_p): Likewise.
-	(big_speedup_p): Likewise.
-	(want_inline_small_function_p): Likewise.
-	(want_inline_self_recursive_call_p): Likewise.
-	(edge_badness): Likewise.
-	(recursive_inlining): Likewise.
-	(compute_max_insns): Likewise.
-	(early_inliner): Likewise.
-	* ipa-polymorphic-call.c (csftc_abort_walking_p): Likewise.
-	* ipa-profile.c (ipa_profile): Likewise.
-	* ipa-prop.c (determine_known_aggregate_parts): Likewise.
-	(ipa_analyze_node): Likewise.
-	(ipcp_transform_function): Likewise.
-	* ipa-split.c (consider_split): Likewise.
-	* ipa-sra.c (allocate_access): Likewise.
-	(process_scan_results): Likewise.
-	(ipa_sra_summarize_function): Likewise.
-	(pull_accesses_from_callee): Likewise.
-	* ira-build.c (loop_compare_func): Likewise.
-	(mark_loops_for_removal): Likewise.
-	* ira-conflicts.c (build_conflict_bit_table): Likewise.
-	* loop-doloop.c (doloop_optimize): Likewise.
-	* loop-invariant.c (gain_for_invariant): Likewise.
-	(move_loop_invariants): Likewise.
-	* loop-unroll.c (decide_unroll_constant_iterations): Likewise.
-	(decide_unroll_runtime_iterations): Likewise.
-	(decide_unroll_stupid): Likewise.
-	(expand_var_during_unrolling): Likewise.
-	* lra-assigns.c (spill_for): Likewise.
-	* lra-constraints.c (EBB_PROBABILITY_CUTOFF): Likewise.
-	* modulo-sched.c (sms_schedule): Likewise.
-	(DFA_HISTORY): Likewise.
-	* opts.c (default_options_optimization): Likewise.
-	(finish_options): Likewise.
-	(common_handle_option): Likewise.
-	* postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
-	(if): Likewise.
-	* predict.c (get_hot_bb_threshold): Likewise.
-	(maybe_hot_count_p): Likewise.
-	(probably_never_executed): Likewise.
-	(predictable_edge_p): Likewise.
-	(predict_loops): Likewise.
-	(expr_expected_value_1): Likewise.
-	(tree_predict_by_opcode): Likewise.
-	(handle_missing_profiles): Likewise.
-	* reload.c (find_equiv_reg): Likewise.
-	* reorg.c (redundant_insn): Likewise.
-	* resource.c (mark_target_live_regs): Likewise.
-	(incr_ticks_for_insn): Likewise.
-	* sanopt.c (pass_sanopt::execute): Likewise.
-	* sched-deps.c (sched_analyze_1): Likewise.
-	(sched_analyze_2): Likewise.
-	(sched_analyze_insn): Likewise.
-	(deps_analyze_insn): Likewise.
-	* sched-ebb.c (schedule_ebbs): Likewise.
-	* sched-rgn.c (find_single_block_region): Likewise.
-	(too_large): Likewise.
-	(haifa_find_rgns): Likewise.
-	(extend_rgns): Likewise.
-	(new_ready): Likewise.
-	(schedule_region): Likewise.
-	(sched_rgn_init): Likewise.
-	* sel-sched-ir.c (make_region_from_loop): Likewise.
-	* sel-sched-ir.h (MAX_WS): Likewise.
-	* sel-sched.c (process_pipelined_exprs): Likewise.
-	(sel_setup_region_sched_flags): Likewise.
-	* shrink-wrap.c (try_shrink_wrapping): Likewise.
-	* targhooks.c (default_max_noce_ifcvt_seq_cost): Likewise.
-	* toplev.c (print_version): Likewise.
-	(process_options): Likewise.
-	* tracer.c (tail_duplicate): Likewise.
-	* trans-mem.c (tm_log_add): Likewise.
-	* tree-chrec.c (chrec_fold_plus_1): Likewise.
-	* tree-data-ref.c (split_constant_offset): Likewise.
-	(compute_all_dependences): Likewise.
-	* tree-if-conv.c (MAX_PHI_ARG_NUM): Likewise.
-	* tree-inline.c (remap_gimple_stmt): Likewise.
-	* tree-loop-distribution.c (MAX_DATAREFS_NUM): Likewise.
-	* tree-parloops.c (MIN_PER_THREAD): Likewise.
-	(create_parallel_loop): Likewise.
-	* tree-predcom.c (determine_unroll_factor): Likewise.
-	* tree-scalar-evolution.c (instantiate_scev_r): Likewise.
-	* tree-sra.c (analyze_all_variable_accesses): Likewise.
-	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Likewise.
-	* tree-ssa-dse.c (setup_live_bytes_from_ref): Likewise.
-	(dse_optimize_redundant_stores): Likewise.
-	(dse_classify_store): Likewise.
-	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
-	* tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise.
-	* tree-ssa-loop-im.c (LIM_EXPENSIVE): Likewise.
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
-	(try_peel_loop): Likewise.
-	(tree_unroll_loops_completely): Likewise.
-	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
-	(CONSIDER_ALL_CANDIDATES_BOUND): Likewise.
-	(MAX_CONSIDERED_GROUPS): Likewise.
-	(ALWAYS_PRUNE_CAND_SET_BOUND): Likewise.
-	* tree-ssa-loop-manip.c (can_unroll_loop_p): Likewise.
-	* tree-ssa-loop-niter.c (MAX_ITERATIONS_TO_TRACK): Likewise.
-	* tree-ssa-loop-prefetch.c (PREFETCH_BLOCK): Likewise.
-	(L1_CACHE_SIZE_BYTES): Likewise.
-	(L2_CACHE_SIZE_BYTES): Likewise.
-	(should_issue_prefetch_p): Likewise.
-	(schedule_prefetches): Likewise.
-	(determine_unroll_factor): Likewise.
-	(volume_of_references): Likewise.
-	(add_subscript_strides): Likewise.
-	(self_reuse_distance): Likewise.
-	(mem_ref_count_reasonable_p): Likewise.
-	(insn_to_prefetch_ratio_too_small_p): Likewise.
-	(loop_prefetch_arrays): Likewise.
-	(tree_ssa_prefetch_arrays): Likewise.
-	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise.
-	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
-	(convert_mult_to_fma): Likewise.
-	(math_opts_dom_walker::after_dom_children): Likewise.
-	* tree-ssa-phiopt.c (cond_if_else_store_replacement): Likewise.
-	(hoist_adjacent_loads): Likewise.
-	(gate_hoist_loads): Likewise.
-	* tree-ssa-pre.c (translate_vuse_through_block): Likewise.
-	(compute_partial_antic_aux): Likewise.
-	* tree-ssa-reassoc.c (get_reassociation_width): Likewise.
-	* tree-ssa-sccvn.c (vn_reference_lookup_pieces): Likewise.
-	(vn_reference_lookup): Likewise.
-	(do_rpo_vn): Likewise.
-	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Likewise.
-	* tree-ssa-sink.c (select_best_block): Likewise.
-	* tree-ssa-strlen.c (new_stridx): Likewise.
-	(new_addr_stridx): Likewise.
-	(get_range_strlen_dynamic): Likewise.
-	(class ssa_name_limit_t): Likewise.
-	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise.
-	(create_variable_info_for_1): Likewise.
-	(init_alias_vars): Likewise.
-	* tree-ssa-tail-merge.c (find_clusters_1): Likewise.
-	(tail_merge_optimize): Likewise.
-	* tree-ssa-threadbackward.c (thread_jumps::profitable_jump_thread_path): Likewise.
-	(thread_jumps::fsm_find_control_statement_thread_paths): Likewise.
-	(thread_jumps::find_jump_threads_backwards): Likewise.
-	* tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest): Likewise.
-	* tree-ssa-uninit.c (compute_control_dep_chain): Likewise.
-	* tree-switch-conversion.c (switch_conversion::check_range): Likewise.
-	(jump_table_cluster::can_be_handled): Likewise.
-	* tree-switch-conversion.h (jump_table_cluster::case_values_threshold): Likewise.
-	(SWITCH_CONVERSION_BRANCH_RATIO): Likewise.
-	(param_switch_conversion_branch_ratio): Likewise.
-	* tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Likewise.
-	(vect_enhance_data_refs_alignment): Likewise.
-	(vect_prune_runtime_alias_test_list): Likewise.
-	* tree-vect-loop.c (vect_analyze_loop_costing): Likewise.
-	(vect_get_datarefs_in_loop): Likewise.
-	(vect_analyze_loop): Likewise.
-	* tree-vect-slp.c (vect_slp_bb): Likewise.
-	* tree-vectorizer.h: Likewise.
-	* tree-vrp.c (find_switch_asserts): Likewise.
-	(vrp_prop::check_mem_ref): Likewise.
-	* tree.c (wide_int_to_tree_1): Likewise.
-	(cache_integer_cst): Likewise.
-	* var-tracking.c (EXPR_USE_DEPTH): Likewise.
-	(reverse_op): Likewise.
-	(vt_find_locations): Likewise.
-
-2019-11-12  Martin Liska  <mliska@suse.cz>
-
-	* Makefile.in: Include params.opt.
-	* flag-types.h (enum parloops_schedule_type): Add
-	parloops_schedule_type used in params.opt.
-	* params.opt: New file.
-
-2019-11-12  Martin Liska  <mliska@suse.cz>
-
-	* common.opt: Remove --param and --param= options.
-	* opt-functions.awk: Mark CL_PARAMS for options
-	that have Param keyword.
-	* opts-common.c (decode_cmdline_options_to_array):
-	Replace --param key=value with --param=key=value.
-	* opts.c (print_filtered_help): Remove special
-	printing of params.
-	(print_specific_help): Update title for params.
-	(common_handle_option): Do not handle OPT__param.
-	opts.h (SET_OPTION_IF_UNSET): New macro.
-	* doc/options.texi: Document Param keyword.
-
-2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
-	    Frederik Harwath  <frederik@codesourcery.com>
-	    Thomas Schwinge  <thomas@codesourcery.com>
-
-	* gimple.h (gf_mask): Add GF_OMP_TARGET_KIND_OACC_SERIAL
-	enumeration constant.
-	(is_gimple_omp_oacc): Handle GF_OMP_TARGET_KIND_OACC_SERIAL.
-	(is_gimple_omp_offloaded): Likewise.
-	* gimplify.c (omp_region_type): Add ORT_ACC_SERIAL enumeration
-	constant.  Adjust the value of ORT_NONE accordingly.
-	(is_gimple_stmt): Handle OACC_SERIAL.
-	(oacc_default_clause): Handle ORT_ACC_SERIAL.
-	(gomp_needs_data_present): Likewise.
-	(gimplify_adjust_omp_clauses): Likewise.
-	(gimplify_omp_workshare): Handle OACC_SERIAL.
-	(gimplify_expr): Likewise.
-	* omp-expand.c (expand_omp_target):
-	Handle GF_OMP_TARGET_KIND_OACC_SERIAL.
-	(build_omp_regions_1, omp_make_gimple_edges): Likewise.
-	* omp-low.c (is_oacc_parallel): Rename function to...
-	(is_oacc_parallel_or_serial): ... this.
-	Handle GF_OMP_TARGET_KIND_OACC_SERIAL.
-	(scan_sharing_clauses): Adjust accordingly.
-	(scan_omp_for): Likewise.
-	(lower_oacc_head_mark): Likewise.
-	(convert_from_firstprivate_int): Likewise.
-	(lower_omp_target): Likewise.
-	(check_omp_nesting_restrictions): Handle
-	GF_OMP_TARGET_KIND_OACC_SERIAL.
-	(lower_oacc_reductions): Likewise.
-	(lower_omp_target): Likewise.
-	* tree.def (OACC_SERIAL): New tree code.
-	* tree-pretty-print.c (dump_generic_node): Handle OACC_SERIAL.
-
-	* doc/generic.texi (OpenACC): Document OACC_SERIAL.
-
-2019-11-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92449
-	* tree-complex.c (expand_complex_multiplication): If !HONOR_NANS,
-	don't emit UNORDERED_EXPR guarded libcall.  Formatting fixes.
-
-	PR tree-optimization/92452
-	* tree-vrp.c (vrp_prop::check_array_ref): If TRUNC_DIV_EXPR folds
-	into NULL_TREE, set up_bound to NULL_TREE instead of computing
-	MINUS_EXPR on it.
-
-2019-11-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* tree-vect-loop.c (vect_transform_loop): Don't overwrite epilogues
-	safelen with 0.
-
-2019-11-12  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/predicates.md (unspec_tls): Allow const0_rtx for got
-	element of unspec vec.
-	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Support
-	PC-relative TLS.
-	* config/rs6000/rs6000.md (UNSPEC_TLSTLS_PCREL): New unspec.
-	(tls_gd_pcrel, tls_ld_pcrel): New insns.
-	(tls_dtprel, tls_tprel): Set attr prefixed when tls_size is not 16.
-	(tls_got_tprel_pcrel, tls_tls_pcrel): New insns.
-
-2019-11-12  Alan Modra  <amodra@gmail.com>
-
-	* config/rs6000/rs6000.opt (mtls-markers): Delete.
-	* config/rs6000/rs6000.h (TARGET_TLS_MARKERS): Don't define.
-	(IS_NOMARK_TLSGETADDR): Likewise.
-	* config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Delete.
-	* config/rs6000/rs6000.c (rs6000_output_tlsargs): Delete.
-	(rs6000_legitimize_tls_address): Remove !TARGET_TLS_MARKERS code.
-	(rs6000_call_template_1): Delete TARGET_TLS_MARKERS test and
-	allow other UNSPECs besides UNSPEC_TLSGD and UNSPEC_TLSLD.
-	(rs6000_indirect_call_template_1): Likewise.
-	(rs6000_pltseq_template): Likewise.
-	(rs6000_opt_vars): Remove "tls-markers" entry.
-	* config/rs6000/rs6000.md (tls_gd<bits>): Replace TARGET_TLS_MARKERS
-	with TARGET_ELF.
-	(tls_gd_high<bits>, tls_gd_low<bits>): Likewise.
-	(tls_ld<bits>, tls_ld_high<bits>, tls_ld_low<bits>): Likewise.
-	(pltseq_plt_pcrel<mode>): Likewise.
-	(call_value_local32): Remove IS_NOMARK_TLSGETADDR predicate test.
-	(call_value_local64): Likewise.
-	(call_value_indirect_nonlocal_sysv<mode>): Remove IS_NOMARK_TLSGETADDR
-	output and length attribute sub-expression.
-	(call_value_nonlocal_sysv<mode>),
-	(call_value_nonlocal_sysv_secure<mode>),
-	(call_value_local_aix<mode>, call_value_nonlocal_aix<mode>),
-	(call_value_indirect_aix<mode>, call_value_indirect_elfv2<mode>),
-	(call_value_indirect_pcrel<mode>): Likewise.
-	* doc/install.texi (powerpc-*-*): Require binutils-2.20.
-	* configure.ac (HAVE_AS_TLS_MARKERS): Delete test.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-
-2019-11-11  Michael Meissner  <meissner@linux.ibm.com>
-
-	* config/rs6000/predicates.md (prefixed_memory): New predicate.
-	* config/rs6000/rs6000.md (stack_protect_setdi): Deal with either
-	address being a prefixed load/store.
-	(stack_protect_testdi): Deal with either address being a prefixed
-	load.
-
-2019-11-11  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/92433
-	* config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Guard
-	ALTIVEC_BUILTIN_VEC_VCMPGE_P argument swapping with n == 3 check.  Use
-	std::swap.
-
-2019-11-11  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR tree-optimization/92420
-	* tree-vect-stmts.c (get_negative_load_store_type): Move further
-	up file.
-	(get_group_load_store_type): Use it for reversed SLP accesses.
-
-2019-11-11  Jan Hubicka  <hubcika@ucw.cz>
-
-	* ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipcp
-	summary.
-	(ipcp_transformation_t::duplicate): Break out from ...
-	(ipa_node_params_t::duplicate): ... here; add copying of agg
-	replacements.
-	* ipa-prop.h (ipcp_transformation): Add constructor and destructor.
-	(ipcp_transformation_t): Add duplicate.
-
-2019-11-11  Janne Blomqvist  <jb@gcc.gnu.org>
-
-        PR fortran/91828
-        * doc/install.texi: Document that the minimum MPFR version is
-        3.1.0.
-
-2019-11-11  Claudiu Zissulescu <claziss@gmail.com>
-
-	* config/arc/arc.md (movsi_ne): Reorder instruction variants and
-	use new register constraint letters.
-
-2019-11-11  Claudiu Zissulescu <claziss@gmail.com>
-
-	* config/arc/arc.c (arc_legitimize_pic_address): Consider UNSPECs
-	as well, if interesting recover the symbol and re-legitimize the
-	pic address.
-
-2019-11-11  Martin Liska  <mliska@suse.cz>
-
-	* dbgcnt.def (DEBUG_COUNTER): Sort counters
-	alphabetically.
-
-2019-11-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* tree-vect-loop-manip.c (vect_do_peeling): Take epilogue gaps into
-	account when checking if there are enough iterations to vectorize
-	epilogue.
-
-2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
-	    Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* langhooks-def.h (LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT):
-	Renamed from LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT; update define.
-	(LANG_HOOKS_DECLS): Rename also here.
-	* langhooks.h (lang_hooks_for_decls): Rename
-	omp_is_optional_argument to omp_check_optional_argument; take
-	additional bool argument.
-	* omp-general.h (omp_check_optional_argument): Likewise.
-	* omp-general.h (omp_check_optional_argument): Likewise.
-	* omp-low.c (lower_omp_target): Update calls; handle absent
-	Fortran optional arguments with USE_DEVICE_ADDR/USE_DEVICE_PTR.
-
-2019-11-11  H.J. Lu  <hjl.tools@gmail.com>
-
-	PR target/87833
-	* config/i386/intelmic-mkoffload.c (prepare_target_image): Put
-	-fPIC and -shared the last to create offload image.
-
-2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
-
-	* gimplify.c (gimplify_scan_omp_clauses): Assert 'offset2' instead
-	of 'offset'.
-
-	* Makefile.in (LANG_CONFIGUREFRAGS): Define.
-	(config.status): Use/depend on it.
-	* configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'.
-	* configure: Regenerate.
-
-2019-11-11  Jiufu Guo  <guojiufu@linux.ibm.com>
-
-	PR tree-optimization/88760
-	* config/rs6000/rs6000.opt (-munroll-only-small-loops): New option.
-	* common/config/rs6000/rs6000-common.c
-	(rs6000_option_optimization_table) [OPT_LEVELS_2_PLUS_SPEED_ONLY]:
-	Turn on -funroll-loops and -munroll-only-small-loops.
-	[OPT_LEVELS_ALL]: Turn off -fweb and -frename-registers.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
-	set of PARAM_MAX_UNROLL_TIMES and PARAM_MAX_UNROLLED_INSNS.
-	Turn off -munroll-only-small-loops for explicit -funroll-loops.
-	(TARGET_LOOP_UNROLL_ADJUST): Add loop unroll adjust hook.
-	(rs6000_loop_unroll_adjust): Define it.  Use -munroll-only-small-loops.
-
-2019-11-11  Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
-	Make scalar_load, vector_load, unaligned_load and
-	vector_gather_load cost more to conform hardware latency and
-	insn cost settings.
-
-2019-11-10  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.h (MACHO_SYMBOL_FLAG_LINKER_VIS): New.
-	(MACHO_SYMBOL_LINKER_VIS_P): New.
-
-2019-11-10  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* lra-spills.c (assign_spill_hard_regs): Do not spill into
-	registers in eliminable_regset.
-
-2019-11-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (compute_uninlined_call_time,
-	compute_inlined_call_time): Take edge frequency as
-	parameter rather than computing it by itself.
-	(big_speedup_p, edge_badness): Manually CSE sreal
-	frequency calculations.
-
-2019-11-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* profile-count.c (profile_count::to_sreal_scale): Short circuit
-	case where profiles are same.
-
-2019-11-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.c (cgraph_edge::maybe_hot_p): Do not use sreal_frequency.
-
-2019-11-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge
-	args summaries of inlined edge unless it holds info about
-	described reference.
-
-2019-11-10  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.md (CC_any): New mode iterator.
-	(*movcc_internal1): Rename to...
-	(*movcc_<mode> for CC_any): ... this.  Support moves of all CC modes.
-
-2019-11-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraph.h (struct cgraph_node): Add ipcp_clone flag.
-	(cgraph_node::create_virtual_clone): Copy it.
-	* ipa-cp.c (ipcp_versionable_function_p): Watch for missing
-	summaries.
-	(ignore_edge_p): If caller has ipa-cp disabled, skip the edge, too.
-	(ipcp_verify_propagated_values): Do not verify nodes where ipcp
-	is disabled.
-	(propagate_constants_across_call): If callee is not analyzed, give up.
-	(propagate_constants_topo): Lower to bottom latties of all callees of
-	functions with ipa-cp disabled.
-	(ipcp_propagate_stage): Skip functions with ipa-cp disabled.
-	(cgraph_edge_brings_value_p): Check for availability first.
-	(create_specialized_node): Set ipcp_clone.
-	(ipcp_store_bits_results): Check that info is present.
-	* ipa-fnsummary.c (evaluate_properties_for_edge): Do not analyze
-	thunks.
-	(ipa_call_context::duplicate_from, ipa_call_context::equal_to): Be
-	conservative when callee summary is missing.
-	(remap_edge_summaries): Lookup call summary only when needed.
-	* ipa-icf.c (sem_function::param_used_p): Be ready for missing summary.
-	* ipa-prpo.c (ipa_alloc_node_params, ipa_initialize_node_params):
-	Use get_create.
-	(ipa_analyze_node): Use get_create.
-	(propagate_controlled_uses): Do not propagate when function is not
-	analyzed.
-	(ipa_propagate_indirect_call_infos): Remove summary of inline clone.
-	(ipa_read_node_info): Use get_create.
-	* ipa-prop.h (IPA_NODE_REF): Use get.
-	(IPA_NODE_REF_GET_CREATE): New.
-
-2019-11-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (evaluate_properties_for_edge): Call IPA_NODE_REF
-	on function symbol.
-
-2019-11-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree.c (fld_incomplete_type_of): Clear TYPE_FINAL_P, TYPE_EMPTY_P,
-	ENUM_IS_OPAQUE and ENUM_IS_SCOPED.
-	(free_lang_data_in_binfo): Clear TREE_PUBLIC in BINFO
-	(free_lang_data_in_type): Clear ENUM_IS_OPAQUE and ENUM_IS_SCOPED.
-
-2019-11-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-analysis.c (do_estimate_growth_1): Add support for
-	capping the growth cumulated.
-	(offline_size): Break out from ...
-	(estimate_growth): ... here.
-	(check_callers): Add N, OFFLINE and MIN_SIZE and KNOWN_EDGE
-	parameters.
-	(growth_likely_positive): Turn to ...
-	(growth_positive_p): Re-implement.
-	* ipa-inline.h (growth_likely_positive): Remove.
-	(growth_positive_p): Declare.
-	* ipa-inline.c (want_inline_small_function_p): Use
-	growth_positive_p.
-	(want_inline_function_to_all_callers_p): Likewise.
-
-2019-11-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (ipa_call_context::estimate_size_and_time): Fix
-	calculation of min_size.
-	(ipa_update_overall_fn_summary): Likewise.
-
-2019-11-09  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (estimate_edge_size_and_time): Do not call
-	estimate_edge_devirt_benefit when not computing hints;
-	do not compute time when not asked for.
-	(estimate_calls_size_and_time): Pass NULL hints and time when
-	these are not computed; do not evaluate hint predicates when these are
-	not computed.
-	(ipa_merge_fn_summary_after_inlining): Do not re-evaluate edge
-	frequency.
-
-2019-11-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92401
-	* gimple-match-head.c (gimple_resimplify1): Call const_unop only
-	if res_op->code is an expression with code length 1.
-	* gimple-match-head.c (gimple_resimplify2): Call const_binop only
-	if res_op->code is an expression with code length 2.
-	* gimple-match-head.c (gimple_resimplify3): Call fold_ternary only
-	if res_op->code is an expression with code length 3.
-
-2019-11-09  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (machopic_mcount_stub_name): Validate the
-	symbol stub name when it is created.
-	* config/i386/darwin.h (FUNCTION_PROFILER): Remove the symbol
-	stub validation.
-
-2019-11-09  Jakub Jelinek  <jakub@redhat.com>
-
-	* symtab.c: Fix comment typos.
-	* cgraphunit.c: Likewise.
-	* cgraph.h: Likewise.
-	* cgraphclones.c: Likewise.
-	* cgraph.c: Likewise.
-	* varpool.c: Likewise.
-	* tree-ssa-strlen.c: Likewise.
-	* ipa-sra.c: Likewise.
-	(scan_expr_access, check_all_callers_for_issues): Fix typo
-	in a dump message.
-
-2019-11-08  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin-protos.h: Add include quard.
-
-2019-11-08  Andrew MacLeod  <amacleod@redhat.com>
-
-	* range-op.h (range_operator::fold_range): Return result in a
-	reference parameter instead of by value.
-	(range_operator::wi_fold): Same.
-	* range-op.cc (range_operator::wi_fold): Return result in a reference
-	parameter instead of by value.
-	(range_operator::fold_range): Same.
-	(value_range_from_overflowed_bounds): Same.
-	(value_range_with_overflow): Same
-	(create_possibly_reversed_range): Same.
-	(operator_equal::fold_range): Same.
-	(operator_not_equal::fold_range): Same.
-	(operator_lt::fold_range): Same.
-	(operator_le::fold_range): Same.
-	(operator_gt::fold_range): Same.
-	(operator_ge::fold_range): Same.
-	(operator_plus::wi_fold): Same.
-	(operator_plus::op1_range): Change call to fold_range.
-	(operator_plus::op2_range): Change call to fold_range.
-	(operator_minus::wi_fold): Return result via reference parameter.
-	(operator_minus::op1_range): Change call to fold_range.
-	(operator_minus::op2_range): Change call to fold_range.
-	(operator_min::wi_fold): Return result via reference parameter.
-	(operator_max::wi_fold): Same.
-	(cross_product_operator::wi_cross_product): Same.
-	(operator_mult::wi_fold): Same.
-	(operator_div::wi_fold): Same.
-	(operator_div op_floor_div): Fix whitespace.
-	(operator_exact_divide::op1_range): Change call to fold_range.
-	(operator_lshift::fold_range): Return result via reference parameter.
-	(operator_lshift::wi_fold): Same.
-	(operator_rshift::fold_range): Same.
-	(operator_rshift::wi_fold): Same.
-	(operator_cast::fold_range): Same.
-	(operator_cast::op1_range): Change calls to fold_range.
-	(operator_logical_and::fold_range): Return result via reference.
-	(wi_optimize_and_or): Adjust call to value_range_with_overflow.
-	(operator_bitwise_and::wi_fold): Return result via reference.
-	(operator_logical_or::fold_range): Same.
-	(operator_bitwise_or::wi_fold): Same.
-	(operator_bitwise_xor::wi_fold): Same.
-	(operator_trunc_mod::wi_fold): Same.
-	(operator_logical_not::fold_range): Same.
-	(operator_bitwise_not::fold_range): Same.
-	(operator_bitwise_not::op1_range): Change call to fold_range.
-	(operator_cst::fold_range): Return result via reference.
-	(operator_identity::fold_range): Same.
-	(operator_abs::wi_fold): Same.
-	(operator_absu::wi_fold): Same.
-	(operator_negate::fold_range): Same.
-	(operator_negate::op1_range): Change call to fold_range.
-	(operator_addr_expr::fold_range): Return result via reference.
-	(operator_addr_expr::op1_range): Change call to fold_range.
-	(operator_pointer_plus::wi_fold): Return result via reference.
-	(operator_pointer_min_max::wi_fold): Same.
-	(operator_pointer_and::wi_fold): Same.
-	(operator_pointer_or::wi_fold): Same.
-	(range_op_handler): Change call to fold_range.
-	(range_cast): Same.
-	* tree-vrp.c (range_fold_binary_symbolics_p): Change call to
-	fold_range.
-	(range_fold_unary_symbolics_p): Same.
-	(range_fold_binary_expr): Same.
-	(range_fold_unary_expr): Same.
-
-2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (neutral_op_for_slp_reduction): Take the
-	vector type as an argument rather than reading it from the
-	stmt_vec_info.
-	(vect_create_epilog_for_reduction): Update accordingly.
-	(vectorizable_reduction): Likewise.
-	(vect_transform_cycle_phi): Likewise.
-
-2019-11-08  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/predicates.md (branch_comparison_operator): Allow only
-	the comparison codes that make sense for the mode used, and only the
-	codes that can be done with a single branch instruction.
-
-2019-11-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	PR tree-optimization/92351
-	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): When we are
-	peeling the main loop for alignment, make sure to set the misalignment
-	of the epilogue's data references to DR_MISALIGNMENT_UNKNOWN.
-
-2019-11-08  Richard Biener  <rguenther@suse.de>
-
-	* dbgcnt.def (ivopts_loop): Add.
-	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Check
-	ivopts_loop before optimizing a loop.
-
-2019-11-08  Richard Biener  <rguenther@suse.de>
-
-	PR ipa/92409
-	* tree-inline.c (declare_return_variable): Properly handle
-	type mismatches for the return slot.
-
-2019-11-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/92095
-	* config/sparc/sparc-protos.h (output_load_pcrel_sym): Declare.
-	* config/sparc/sparc.c (sparc_cannot_force_const_mem): Revert latest
- 	change.
-	(got_helper_needed): New static variable.
-	(output_load_pcrel_sym): New function.
-	(get_pc_thunk_name): Remove after inlining...
-	(load_got_register): ...here.  Rework the initialization of the GOT
-	register and of the GOT helper.
-	(save_local_or_in_reg_p): Test the REGNO of the GOT register.
-	(sparc_file_end): Test got_helper_needed to decide whether the GOT
-	helper must be emitted.  Use output_asm_insn instead of fprintf.
-	(sparc_init_pic_reg): In PIC mode, always initialize the PIC register
-	if optimization is enabled.
-	* config/sparc/sparc.md (load_pcrel_sym<P:mode>): Emit the assembly
-	by calling output_load_pcrel_sym.
-
-2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-sra.c (create_access): Delay disqualifying the base
-	for poly_int values until we know we have a base.
-
-2019-11-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop): Disable epilogue vectorization
-	for loops with SIMDUID set.  Enable epilogue vectorization for loops
-	with SIMDLEN set after finding a main loop with a VF that matches it.
-
-2019-11-08  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/92038
-	* gimple-ssa-store-merging.c (find_constituent_stores): For return
-	value only, return non-NULL if there is a single non-clobber
-	constituent store even if there are constituent clobbers and return
-	one of clobber constituent stores if all constituent stores are
-	clobbers.
-	(split_group): Handle clobbers.
-	(imm_store_chain_info::output_merged_store): When computing
-	bzero_first, look after all clobbers at the start.  Don't count
-	clobber stmts in orig_num_stmts, except if the first orig store is
-	a clobber covering the whole area and split_stores cover the whole
-	area, consider equal number of stmts ok.  Punt if split_stores
-	contains only ->orig stores and their number plus number of original
-	clobbers is equal to original number of stmts.  For ->orig, look past
-	clobbers in the constituent stores.
-	(imm_store_chain_info::output_merged_stores): Don't remove clobber
-	stmts.
-	(rhs_valid_for_store_merging_p): Don't return false for clobber stmt
-	rhs.
-	(store_valid_for_store_merging_p): Allow clobber stmts.
-	(verify_clear_bit_region_be): Fix up a thinko in function comment.
-
-	PR c++/92384
-	* function.c (assign_parm_setup_block, assign_parm_setup_stack): Don't
-	copy TYPE_EMPTY_P arguments from data->entry_parm to data->stack_parm
-	slot.
-	(assign_parms): For TREE_ADDRESSABLE parms with TYPE_EMPTY_P type
-	force creation of a unique data.stack_parm slot.
-
-2019-11-08  Richard Biener  <rguenther@suse.de>
-
-	* genmatch.c (expr::gen_transform): Use the resimplify
-	member function instead of hard-coding the gimple_resimplifyN variant.
-	(dt_simplify::gen_1): Likewise.
-
-2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
-	POLY_INT_CST.
-
-2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-inline.c (declare_return_variable): Check for poly_int_tree_p
-	instead of INTEGER_CST.
-
-2019-11-08  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92324
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Use
-	STMT_VINFO_REDUC_VECTYPE for all computations, inserting
-	sign-conversions as necessary.
-	(vectorizable_reduction): Reject conversions in the chain
-	that are not sign-conversions, base analysis on a non-converting
-	stmt and its operation sign.  Set STMT_VINFO_REDUC_VECTYPE.
-	* tree-vect-stmts.c (vect_stmt_relevant_p): Don't dump anything
-	for debug stmts.
-	* tree-vectorizer.h (_stmt_vec_info::reduc_vectype): New.
-	(STMT_VINFO_REDUC_VECTYPE): Likewise.
-
-2019-11-08  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/92055
-	* config/avr/avr.opt (-mdouble=, -mlong-double=):
-	Fix a missing '-' when displaying these options in the
-	help screen.
-
-2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/iterators.md (SVE_BH, SVE_BHS): Delete.
-
-2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-builtins.c
-	(aarch64_builtin_vectorized_function): Remove bswap handling.
-
-2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-core.h (tree_type_common::indivisible_p): New member variable.
-	* tree.h (TYPE_INDIVISIBLE_P): New macro.
-	* config/aarch64/aarch64-sve-builtins.cc (register_builtin_types):
-	Treat the vector types as indivisible.
-
-2019-11-08  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* optabs.def (gather_load_optab, mask_gather_load_optab)
-	(scatter_store_optab, mask_scatter_store_optab): Turn into
-	conversion optabs, with the offset mode given explicitly.
-	* doc/md.texi: Update accordingly.
-	* config/aarch64/aarch64-sve-builtins-base.cc
-	(svld1_gather_impl::expand): Likewise.
-	(svst1_scatter_impl::expand): Likewise.
-	* internal-fn.c (gather_load_direct, scatter_store_direct): Likewise.
-	(expand_scatter_store_optab_fn): Likewise.
-	(direct_gather_load_optab_supported_p): Likewise.
-	(direct_scatter_store_optab_supported_p): Likewise.
-	(expand_gather_load_optab_fn): Likewise.  Expect the mask argument
-	to be argument 4.
-	(internal_fn_mask_index): Return 4 for IFN_MASK_GATHER_LOAD.
-	(internal_gather_scatter_fn_supported_p): Replace the offset sign
-	argument with the offset vector type.  Require the two vector
-	types to have the same number of elements but allow their element
-	sizes to be different.  Treat the optabs as conversion optabs.
-	* internal-fn.h (internal_gather_scatter_fn_supported_p): Update
-	prototype accordingly.
-	* optabs-query.c (supports_at_least_one_mode_p): Replace with...
-	(supports_vec_convert_optab_p): ...this new function.
-	(supports_vec_gather_load_p): Update accordingly.
-	(supports_vec_scatter_store_p): Likewise.
-	* tree-vectorizer.h (vect_gather_scatter_fn_p): Take a vec_info.
-	Replace the offset sign and bits parameters with a scalar type tree.
-	* tree-vect-data-refs.c (vect_gather_scatter_fn_p): Likewise.
-	Pass back the offset vector type instead of the scalar element type.
-	Allow the offset to be wider than the memory elements.  Search for
-	an offset type that the target supports, stopping once we've
-	reached the maximum of the element size and pointer size.
-	Update call to internal_gather_scatter_fn_supported_p.
-	(vect_check_gather_scatter): Update calls accordingly.
-	When testing a new scale before knowing the final offset type,
-	check whether the scale is supported for any signed or unsigned
-	offset type.  Check whether the target supports the source and
-	target types of a conversion before deciding whether to look
-	through the conversion.  Record the chosen offset_vectype.
-	* tree-vect-patterns.c (vect_get_gather_scatter_offset_type): Delete.
-	(vect_recog_gather_scatter_pattern): Get the scalar offset type
-	directly from the gs_info's offset_vectype instead.  Pass a zero
-	of the result type to IFN_GATHER_LOAD and IFN_MASK_GATHER_LOAD.
-	* tree-vect-stmts.c (check_load_store_masking): Update call to
-	internal_gather_scatter_fn_supported_p, passing the offset vector
-	type recorded in the gs_info.
-	(vect_truncate_gather_scatter_offset): Update call to
-	vect_check_gather_scatter, leaving it to search for a valid
-	offset vector type.
-	(vect_use_strided_gather_scatters_p): Convert the offset to the
-	element type of the gs_info's offset_vectype.
-	(vect_get_gather_scatter_ops): Get the offset vector type directly
-	from the gs_info.
-	(vect_get_strided_load_store_ops): Likewise.
-	(vectorizable_load): Pass a zero of the result type to IFN_GATHER_LOAD
-	and IFN_MASK_GATHER_LOAD.
-	* config/aarch64/aarch64-sve.md (gather_load<mode>): Rename to...
-	(gather_load<mode><v_int_equiv>): ...this.
-	(mask_gather_load<mode>): Rename to...
-	(mask_gather_load<mode><v_int_equiv>): ...this.
-	(scatter_store<mode>): Rename to...
-	(scatter_store<mode><v_int_equiv>): ...this.
-	(mask_scatter_store<mode>): Rename to...
-	(mask_scatter_store<mode><v_int_equiv>): ...this.
-
-2019-11-08  Kewen Lin  <linkw@gcc.gnu.org>
-
-	PR target/92132
-	* config/rs6000/predicates.md
-	(signed_or_equality_comparison_operator): New predicate.
-	(unsigned_or_equality_comparison_operator): Likewise.
-	* config/rs6000/rs6000.md (one_cmpl<mode>2): Remove expand.
-	(one_cmpl<mode>3_internal): Rename to one_cmpl<mode>2.
-	* config/rs6000/vector.md
-	(vcond_mask_<mode><mode> for VEC_I and VEC_I): New expand.
-	(vec_cmp<mode><mode> for VEC_I and VEC_I): Likewise.
-	(vec_cmpu<mode><mode> for VEC_I and VEC_I): Likewise.
-	(vcond_mask_<mode><VEC_int> for VEC_F): New expand for float
-	vector modes and same-size integer vector modes.
-	(vec_cmp<mode><VEC_int> for VEC_F): Likewise.
-	(vector_lt<mode> for VEC_F): New expand.
-	(vector_le<mode> for VEC_F): Likewise.
-	(vector_ne<mode> for VEC_F): Likewise.
-	(vector_unge<mode> for VEC_F): Likewise.
-	(vector_ungt<mode> for VEC_F): Likewise.
-	(vector_unle<mode> for VEC_F): Likewise.
-	(vector_unlt<mode> for VEC_F): Likewise.
-	(vector_uneq<mode>): Expose name.
-	(vector_ltgt<mode>): Likewise.
-	(vector_unordered<mode>): Likewise.
-	(vector_ordered<mode>): Likewise.
-
-2019-11-08  Hongtao Liu  <Hongtao.liu@intel.com>
-
-	PR target/92295
-	* config/i386/i386-expand.c (ix86_expand_vector_init_concat)
-	Enhance ix86_expand_vector_init_concat.
-
-2019-11-08  Joseph Myers  <joseph@codesourcery.com>
-
-	* doc/invoke.texi (-Wold-style-definition): Document () not being
-	considered an old-style definition for C2x.
-
-2019-11-07  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.md (memory_barrier): Revise to use ldcw barriers.
-	Enhance comment.
-	(memory_barrier_coherent, memory_barrier_64, memory_barrier_32): New
-	insn patterns using ldcw instruction.
-	(memory_barrier): Remove insn pattern using sync instruction.
-	* config/pa/pa.opt (coherent-ldcw): New option.
-	(ordered): New option.
-
-2019-11-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.c (validate_condition_mode): Don't assert for
-	valid conditions.
-
-2019-11-07  Jakub Jelinek  <jakub@redhat.com>
-
-	* ipa-utils.c (ipa_merge_profiles): Fix fprintf format string
-	typo - mistmatch -> mismatch.
-	* ipa-profile.c (ipa_profile): Likewise.
-	* ipa-devirt.c (compare_virtual_tables): Fix a comment typo
-	- mistmatch -> mismatch.
-
-2018-11-07  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* simplify-rtx.c (comparison_to_mask): New function.
-	(mask_to_comparison): New function.
-	(simplify_logical_relational_operation): New function.
-	(simplify_binary_operation_1): Call
-	simplify_logical_relational_operation.
-
-2019-11-07  Peter Bergner <bergner@linux.ibm.com>
-
-	PR other/92090
-	* config/rs6000/predicates.md (input_operand): Allow MODE_PARTIAL_INT
-	modes for integer constants.
-
-2019-11-07  Jan Hubicka  <jh@suse.cz>
-
-	PR ipa/92406
-	* ipa-fnsummary.c (analyze_function_body): Use get_create to copy
-	summary.
-
-2019-11-07  Jan Hubicka  <jh@suse.cz>
-
-	* optc-save-gen.awk: Generate cl_target_option_free
-	and cl_optimization_option_free.
-	* opth-en.awk: Declare cl_target_option_free
-	and cl_optimization_option_free.
-	* tree.c (free_node): Use it.
-
-2019-11-06  Jan Hubicka  <jh@suse.cz>
-
-	* lto-streamer-in.c: Include alloc-pool.h.
-	(freeing_string_slot_hasher): Remove.
-	(string_slot_allocator): New object allocator.
-	(file_name_hash_table): Turn to hash_table<string_slot_hasher>.
-	(file_name_obstack): New obstack.
-	(canon_file_name): Allocate in obstack and allocator.
-	(lto_reader_init): Initialize obstack and allocator.
-	(lto_free_file_name_hash): New function.
-	* lto-streamer.h (lto_free_file_name_hash): New.
-
-2019-11-07  Feng Xue  <fxue@os.amperecomputing.com>
-
-	PR tree-optimization/89134
-	* doc/invoke.texi (min-loop-cond-split-prob): Document new --params.
-	* params.def: Add min-loop-cond-split-prob.
-	* tree-ssa-loop-split.c (split_loop): Remove niter parameter, move some
-	outside checks on loop into the function.
-	(split_info): New class.
-	(find_vdef_in_loop, get_control_equiv_head_block): New functions.
-	(find_control_dep_blocks, vuse_semi_invariant_p): Likewise.
-	(ssa_semi_invariant_p, loop_iter_phi_semi_invariant_p): Likewise.
-	(control_dep_semi_invariant_p, stmt_semi_invariant_p_1): Likewise.
-	(stmt_semi_invariant_p, branch_removable_p): Likewise.
-	(get_cond_invariant_branch, compute_added_num_insns): Likewise.
-	(get_cond_branch_to_split_loop, do_split_loop_on_cond): Likewise.
-	(split_loop_on_cond): Likewise.
-	(tree_ssa_split_loops): Add loop split on conditional statement.
-
-2019-11-07  Andreas Krebbel  <krebbel@linux.ibm.com>
-
-	* config/s390/s390.md ("*cstorecc<mode>_z13"): New insn_and_split
-	pattern.
-
-2019-11-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92405
-	* tree-vect-loop.c (vectorizable_reduction): Appropriately
-	restrict lane-reducing ops to single stmt chains.
-
-2019-11-07  Martin Jambor  <mjambor@suse.cz>
-
-	PR lto/70929
-	* cif-code.def (MISMATCHED_ARGUMENTS): Removed.
-	* cgraph.h (gimple_check_call_matching_types): Remove
-	* cgraph.c (gimple_check_call_args): Likewise.
-	(gimple_check_call_matching_types): Likewise.
-	(symbol_table::create_edge): Do not call
-	gimple_check_call_matching_types.
-	(cgraph_edge::make_direct): Likewise.
-	(cgraph_edge::redirect_call_stmt_to_callee): Likewise.
-	* value-prof.h (check_ic_target): Remove.
-	* value-prof.c (check_ic_target): Remove.
-	(gimple_ic_transform): Do nat call check_ic_target.
-	* auto-profile.c (function_instance::find_icall_target_map): Likewise.
-	(afdo_indirect_call): Likewise.
-	* ipa-prop.c (update_indirect_edges_after_inlining): Do not call
-	gimple_check_call_matching_types.
-	* ipa-inline.c (early_inliner): Likewise.
-
-2019-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.md (arm_<simd32_op>): New define_expand.
-	(arm_<simd32_op><add_clobber_q_name>_insn): New define_insn.
-	* config/arm/arm_acle.h (__ssat16, __usat16): Define.
-	* config/arm/arm_acle_builtins.def: Define builtins for the above.
-	* config/arm/iterators.md (USSAT16): New int_iterator.
-	(simd32_op): Handle UNSPEC_SSAT16, UNSPEC_USAT16.
-	(sup): Likewise.
-	* config/arm/predicates.md (ssat16_imm): New predicate.
-	(usat16_imm): Likewise.
-	* config/arm/unspecs.md (UNSPEC_SSAT16, UNSPEC_USAT16): Define.
-
-2019-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.md (arm_<simd32_op><add_clobber_q_name>_insn):
-	New define_insns.
-	(arm_<simd32_op>): New define_expands.
-	* config/arm/arm_acle.h (__smlad, __smladx, __smlsd, __smlsdx,
-	__smuad, __smuadx): Define.
-	* config/arm/arm_acle_builtins.def: Define builtins for the above.
-	* config/arm/iterators.md (SIMD32_TERNOP_Q): New int_iterator.
-	(SIMD32_BINOP_Q): Likewise.
-	(simd32_op): Handle the above.
-	* config/arm/unspecs.md: Define unspecs for the above.
-
-2019-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/aout.h (REGISTER_NAMES): Add apsrge.
-	* config/arm/arm.md (APSRGE_REGNUM): Define.
-	(arm_<simd32_op>): New define_insn.
-	(arm_sel): Likewise.
-	* config/arm/arm.h (FIXED_REGISTERS): Add entry for apsrge.
-	(CALL_USED_REGISTERS): Likewise.
-	(REG_ALLOC_ORDER): Likewise.
-	(FIRST_PSEUDO_REGISTER): Update value.
-	(ARM_GE_BITS_READ): Define.
-	* config/arm/arm.c (arm_conditional_register_usage): Clear
-	APSRGE_REGNUM from operand_reg_set.
-	(arm_ge_bits_access): Define.
-	* config/arm/arm-builtins.c (arm_check_builtin_call): Handle
-	ARM_BUIILTIN_sel.
-	* config/arm/arm-protos.h (arm_ge_bits_access): Declare prototype.
-	* config/arm/arm-fixed.md (add<mode>3): Convert to define_expand.
-	FAIL if ARM_GE_BITS_READ.
-	(*arm_add<mode>3): New define_insn.
-	(sub<mode>3): Convert to define_expand.  FAIL if ARM_GE_BITS_READ.
-	(*arm_sub<mode>3): New define_insn.
-	* config/arm/arm_acle.h (__sel, __sadd8, __ssub8, __uadd8, __usub8,
-	__sadd16, __sasx, __ssax, __ssub16, __uadd16, __uasx, __usax,
-	__usub16): Define.
-	* config/arm/arm_acle_builtins.def: Define builtins for the above.
-	* config/arm/iterators.md (SIMD32_GE): New int_iterator.
-	(simd32_op): Handle the above.
-	* config/arm/unspecs.md (UNSPEC_GE_SET): Define.
-	(UNSPEC_SEL, UNSPEC_SADD8, UNSPEC_SSUB8, UNSPEC_UADD8, UNSPEC_USUB8,
-	UNSPEC_SADD16, UNSPEC_SASX, UNSPEC_SSAX, UNSPEC_SSUB16, UNSPEC_UADD16,
-	UNSPEC_UASX, UNSPEC_USAX, UNSPEC_USUB16): Define.
-
-2019-11-07  Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.md (arm_smlabb_setq): New define_insn.
-	(arm_smlabb): New define_expand.
-	(*maddhisi4tb): Rename to...
-	(maddhisi4tb): ... This.
-	(*maddhisi4tt): Rename to...
-	(maddhisi4tt): ... This.
-	(arm_smlatb_setq): New define_insn.
-	(arm_smlatb): New define_expand.
-	(arm_smlatt_setq): New define_insn.
-	(arm_smlatt): New define_expand.
-	(arm_<smlaw_op><add_clobber_name>_insn): New define_insn.
-	(arm_<smlaw_op>): New define_expand.
-	* config/arm/arm_acle.h (__smlabb, __smlatb, __smlabt, __smlatt,
-	__smlawb, __smlawt): Define.
-	* config/arm_acle_builtins.def: Define builtins for the above.
-	* config/arm/iterators.md (SMLAWBT): New int_iterator.
-	(slaw_op): New int_attribute.
-	* config/arm/unspecs.md (UNSPEC_SMLAWB, UNSPEC_SMLAWT): Define.
-
-2019-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/arm.md (arm_<ss_op>): New define_expand.
-	(arm_<ss_op><add_clobber_q_name>_insn): New define_insn.
-	* config/arm/arm_acle.h (__qadd, __qsub, __qdbl): Define.
-	* config/arm/arm_acle_builtins.def: Add builtins for qadd, qsub.
-	* config/arm/iterators.md (SSPLUSMINUS): New code iterator.
-	(ss_op): New code_attr.
-
-2019-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/arm/aout.h (REGISTER_NAMES): Add apsrq.
-	* config/arm/arm.md (APSRQ_REGNUM): Define.
-	(add_setq): New define_subst.
-	(add_clobber_q_name): New define_subst_attr.
-	(add_clobber_q_pred): Likewise.
-	(maddhisi4): Change to define_expand.  Split into mult and add if
-	ARM_Q_BIT_READ.
-	(arm_maddhisi4): New define_insn.
-	(*maddhisi4tb): Disable for ARM_Q_BIT_READ.
-	(*maddhisi4tt): Likewise.
-	(arm_ssat): New define_expand.
-	(arm_usat): Likewise.
-	(arm_get_apsr): New define_insn.
-	(arm_set_apsr): Likewise.
-	(arm_saturation_occurred): New define_expand.
-	(arm_set_saturation): Likewise.
-	(*satsi_<SAT:code>): Rename to...
-	(satsi_<SAT:code><add_clobber_q_name>): ... This.
-	(*satsi_<SAT:code>_shift): Disable for ARM_Q_BIT_READ.
-	* config/arm/arm.h (FIXED_REGISTERS): Mark apsrq as fixed.
-	(CALL_USED_REGISTERS): Mark apsrq.
-	(FIRST_PSEUDO_REGISTER): Update value.
-	(REG_ALLOC_ORDER): Add APSRQ_REGNUM.
-	(machine_function): Add q_bit_access.
-	(ARM_Q_BIT_READ): Define.
-	* config/arm/arm.c (TARGET_CHECK_BUILTIN_CALL): Define.
-	(arm_conditional_register_usage): Clear APSRQ_REGNUM from
-	operand_reg_set.
-	(arm_q_bit_access): Define.
-	* config/arm/arm-builtins.c: Include stringpool.h.
-	(arm_sat_binop_imm_qualifiers,
-	arm_unsigned_sat_binop_unsigned_imm_qualifiers,
-	arm_sat_occurred_qualifiers, arm_set_sat_qualifiers): Define.
-	(SAT_BINOP_UNSIGNED_IMM_QUALIFIERS,
-	UNSIGNED_SAT_BINOP_UNSIGNED_IMM_QUALIFIERS, SAT_OCCURRED_QUALIFIERS,
-	SET_SAT_QUALIFIERS): Likewise.
-	(arm_builtins): Define ARM_BUILTIN_SAT_IMM_CHECK.
-	(arm_init_acle_builtins): Initialize __builtin_sat_imm_check.
-	Handle 0 argument expander.
-	(arm_expand_acle_builtin): Handle ARM_BUILTIN_SAT_IMM_CHECK.
-	(arm_check_builtin_call): Define.
-	* config/arm/arm.md (ssmulsa3, usmulusa3, usmuluha3,
-	arm_ssatsihi_shift, arm_usatsihi): Disable when ARM_Q_BIT_READ.
-	* config/arm/arm-protos.h (arm_check_builtin_call): Declare prototype.
-	(arm_q_bit_access): Likewise.
-	* config/arm/arm_acle.h (__ssat, __usat, __ignore_saturation,
-	__saturation_occurred, __set_saturation_occurred): Define.
-	* config/arm/arm_acle_builtins.def: Define builtins for ssat, usat,
-	saturation_occurred, set_saturation_occurred.
-	* config/arm/unspecs.md (UNSPEC_Q_SET): Define.
-	(UNSPEC_APSR_READ): Likewise.
-	(VUNSPEC_APSR_WRITE): Likewise.
-	* config/arm/arm-fixed.md (ssadd<mode>3): Convert to define_expand.
-	(*arm_ssadd<mode>3): New define_insn.
-	(sssub<mode>3): Convert to define_expand.
-	(*arm_sssub<mode>3): New define_insn.
-	(ssmulsa3): Convert to define_expand.
-	(*arm_ssmulsa3): New define_insn.
-	(usmulusa3): Convert to define_expand.
-	(*arm_usmulusa3): New define_insn.
-	(ssmulha3): FAIL if ARM_Q_BIT_READ.
-	(arm_ssatsihi_shift, arm_usatsihi): Disable for ARM_Q_BIT_READ.
-	* config/arm/iterators.md (qaddsub_clob_q): New mode attribute.
-
-2019-11-07  Martin Liska  <mliska@suse.cz>
-
-	PR c++/92354
-	* cgraph.c (delete_function_version): Clear global
-	variable version_info_node if equal to deleted
-	function.
-
-2019-11-07  Martin Liska  <mliska@suse.cz>
-
-	* fold-const.c (operand_compare::operand_equal_p): Add comparison
-	of CONSTRUCTOR_NO_CLEARING.
-	(operand_compare::hash_operand): Likewise.
-
-2019-11-07  Georg-Johann Lay  <avr@gjlay.de>
-
-	Support 64-bit double and 64-bit long double configurations.
-
-	PR target/92055
-	* config.gcc (tm_defines) [avr]: Set from --with-double=,
-	--with-long-double=.
-	* config/avr/t-multilib: Remove.
-	* config/avr/t-avr: Output of genmultilib.awk is now fully
-	dynamically generated and no more part of the repo.
-	(HAVE_DOUBLE_MULTILIB, HAVE_LONG_DOUBLE_MULTILIB): New variables.
-	Pass them down to...
-	* config/avr/genmultilib.awk: ...here and handle them.
-	* config/avr/avr.opt (-mdouble=, avr_double). New option and var.
-	(-mlong-double=, avr_long_double). New option and var.
-	* common/config/avr/avr-common.c (opts.h, diagnostic.h): Include.
-	(TARGET_OPTION_OPTIMIZATION_TABLE) <-mdouble=, -mlong-double=>:
-	Set default as requested by --with-double=
-	(TARGET_HANDLE_OPTION): Define to this...
-	(avr_handle_option): ...new hook worker.
-	* config/avr/avr.h (DOUBLE_TYPE_SIZE): Define to avr_double.
-	(LONG_DOUBLE_TYPE_SIZE): Define to avr_long_double.
-	(avr_double_lib): New proto for spec function.
-	(EXTRA_SPEC_FUNCTIONS) <double-lib>: Add.
-	(DRIVER_SELF_SPECS): Call %:double-lib.
-	* config/avr/avr.c (avr_option_override): Assert
-	sizeof(long double) >= sizeof(double) for the target.
-	* config/avr/avr-c.c (avr_cpu_cpp_builtins)
-	[__HAVE_DOUBLE_MULTILIB__, __HAVE_LONG_DOUBLE_MULTILIB__]
-	[__HAVE_DOUBLE64__, __HAVE_DOUBLE32__, __DEFAULT_DOUBLE__=]
-	[__HAVE_LONG_DOUBLE64__, __HAVE_LONG_DOUBLE32__]
-	[__HAVE_LONG_DOUBLE_IS_DOUBLE__, __DEFAULT_LONG_DOUBLE__=]:
-	New built-in define depending on --with-double=, --with-long-double=.
-	* config/avr/driver-avr.c (avr_double_lib): New spec function.
-	* doc/invoke.tex (AVR Options) <-mdouble=,-mlong-double=>: Doc.
-	* doc/install.texi (Cross-Compiler-Specific Options)
-	<--with-double=, --with-long-double=>: Doc.
-
-2019-11-07  Richard Biener  <rguenther@suse.de>
-
-	* dbgcnt.def (gimple_unroll): New.
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Check
-	gimple_unroll debug counter before applying transform.
-	(try_peel_loop): Likewise.
-
-2019-11-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* ira.c (setup_alloc_regs): Setup no_unit_alloc_regs for
-	frame pointer in multiple registers.
-	(ira_setup_eliminable_regset): Setup eliminable_regset,
-	ira_no_alloc_regs and regs_ever_live for frame pointer in
-	multiple registers.
-
-2019-11-06  Kelvin Nilsen  <kelvin@gcc.gnu.org>
-
-	* config/rs6000/vsx.md (xxswapd_<mode>): Add support for V2DF and
-	V2DI modes.
-
-2019-11-06  Jan Hubicka  <jh@suse.cz>
-
-	* ggc-common.c (ggc_prune_overhead_list): Do not delete surviving
-	allocations.
-	* mem-stats.h (mem_alloc_description<T>::release_object_overhead):
-	Do not silently ignore summary corruptions.
-
-2019-11-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop): Only try to vectorize
-	the epilogue if there are peeled iterations for it to handle.
-
-2019-11-06  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.c (arc_split_ior): Add asserts.
-	(arc_split_mov_const): Likewise.
-	(arc_check_ior_const): Do not match known short immediate values.
-	* config/arc/arc.md (movsi): Don't split predicated instructions
-	(iorsi): Likewise.
-
-2019-11-06  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.opt (mea): Update help string.
-	* doc/invoke.texi(ARC): Update mea option info.
-
-2019-11-06  Claudiu Zissulescu  <claziss@synopsys.com>
-
-	* config/arc/arc.md (zero_extendqihi2_i): Cleanup pattern.
-	(zero_extendqisi2_ac): Likewise.
-	(zero_extendhisi2_i): Likewise.
-	(extendqihi2_i): Likewise.
-	(extendqisi2_ac): Likewise.
-	(extendhisi2_i): Likewise.
-
-2019-11-06  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vectorizable_reduction): Remember reduction
-	PHI.  Use STMT_VINFO_REDUC_IDX to skip the reduction operand.
-	Simplify single_defuse_cycle condition.
-
-2019-11-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop_2): When vectorizing an
-	epilogue loop, make sure that the VF is small enough or that
-	the epilogue loop can be fully-masked.
-
-2019-11-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop): Break out of the main
-	loop when we've finished, rather than returning directly from
-	the loop.  Use a local variable to track whether we're still
-	searching for the preferred simdlen.  Make vect_epilogues
-	record whether the next iteration should try to treat the
-	loop as an epilogue.
-
-2019-11-06  Vineet Gupta  <vgupta@synopsys.com>
-
-	* config/arc/arc-c.c (arc_cpu_cpp_builtins) : Add
-	__arc_hard_float__, __ARC_HARD_FLOAT__,
-	__arc_soft_float__, __ARC_SOFT_FLOAT__
-
-2019-11-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	PR tree-optimization/92317
-	* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard2): Also
-	update phi's with constant phi arguments.
-
-2019-11-06  Eric Botcazou  <ebotcazou@adacore.com>
-	    Alexandre Oliva  <oliva@adacore.com>
-
-	* common.opt (-fcallgraph-info[=]): New option.
-	* doc/invoke.texi (Developer options): Document it.
-	* opts.c (common_handle_option): Handle it.
-	* builtins.c (expand_builtin_alloca): Record allocation if
-	-fcallgraph-info=da.
-	* calls.c (expand_call): If -fcallgraph-info, record the call.
-	(emit_library_call_value_1): Likewise.
-	* flag-types.h (enum callgraph_info_type): New type.
-	* explow.c: Include stringpool.h.
-	(set_stack_check_libfunc): Set SET_SYMBOL_REF_DECL on the symbol.
-	* function.c (allocate_stack_usage_info): New.
-	(allocate_struct_function): Call it for -fcallgraph-info.
-	(prepare_function_start): Call it otherwise.
-	(record_final_call, record_dynamic_alloc): New.
-	* function.h (struct callinfo_callee): New.
-	(CALLEE_FROM_CGRAPH_P): New.
-	(struct callinfo_dalloc): New.
-	(struct stack_usage): Add callees and dallocs.
-	(record_final_call, record_dynamic_alloc): Declare.
-	* gimplify.c (gimplify_decl_expr): Record dynamically-allocated
-	object if -fcallgraph-info=da.
-	* optabs-libfuncs.c (build_libfunc_function): Keep SYMBOL_REF_DECL.
-	* print-tree.h (print_decl_identifier): Declare.
-	(PRINT_DECL_ORIGIN, PRINT_DECL_NAME, PRINT_DECL_UNIQUE_NAME): New.
-	* print-tree.c: Include print-tree.h.
-	(print_decl_identifier): New function.
-	* toplev.c: Include print-tree.h.
-	(callgraph_info_file): New global variable.
-	(callgraph_info_external_printed): Likewise.
-	(output_stack_usage): Rename to...
-	(output_stack_usage_1): ... this.  Make it static, add cf
-	parameter.  If -fcallgraph-info=su, print stack usage to cf.
-	If -fstack-usage, use print_decl_identifier for
-	pretty-printing.
-	(INDIRECT_CALL_NAME): New.
-	(dump_final_node_vcg_start): New.
-	(dump_final_callee_vcg, dump_final_node_vcg): New.
-	(output_stack_usage): New.
-	(lang_dependent_init): Open and start file if
-	-fcallgraph-info.  Allocated callgraph_info_external_printed.
-	(finalize): If callgraph_info_file is not null, finish it,
-	close it, and release callgraph_info_external_printed.
-
-2019-11-06  Gergö Barany  <gergo@codesourcery.com>
-	    Frederik Harwath  <frederik@codesourcery.com>
-	    Thomas Schwinge  <thomas@codesourcery.com>
-
-	* omp-low.c (struct omp_context): New fields
-	local_reduction_clauses, outer_reduction_clauses.
-	(new_omp_context): Initialize these.
-	(scan_sharing_clauses): Record reduction clauses on OpenACC constructs.
-	(scan_omp_for): Check reduction clauses for incorrect nesting.
-
-2019-11-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR inline-asm/92352
-	* gimplify.c (gimplify_asm_expr): Reject VLA in output or input
-	operands with non-memory constraints.
-
-2019-11-05  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/92373
-	* tree.c (component_ref_size): Only consider initializers of objects
-	of matching struct types.
-	Return null for instances of interior zero-length arrays.
-
-2019-11-05  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* doc/md.texi (Insn Splitting): Fix combiner documentation.
-
-2019-11-05  Jason Merrill  <jason@redhat.com>
-
-	PR tree-optimization/91825
-	* expmed.c: Reduce -Wmaybe-uninitialized to warning.
-
-2019-11-05  Jim Wilson  <jimw@sifive.com>
-
-	PR middle-end/92263
-	* expr.c (emit_move_complex): Only use BLOCK_OP_NO_LIBCALL when
-	optimize_insn_for_speed_p is true.
-
-2019-11-05  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/92333
-	PR middle-end/82608
-	* tree-vrp.c (vrp_prop::check_array_ref): Handle VLAs with constant
-	size.
-	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Use a meaninful
-	name and location for a temporary variable.
-
-2019-11-05  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (value_range::value_range): Fix whitespace.
-	(defined_ranges_p): Same.
-	(range_fold_binary_symbolics_p): Same.
-	(value_range::intersect_helper): Same.
-	(value_range::union_helper): Same.
-	* tree-vrp.h (range_fold_binary_expr): Same.
-
-2019-11-04  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/92341
-	PR middle-end/82612
-	* tree-sra.c (get_access_for_expr): Fail for out-of-bounds offsets.
-	* tree-vrp.c (vrp_prop::check_array_ref): Correct index and text
-	of message printed in a warning for empty arrays.
-	(vrp_prop::check_mem_ref): Also handle function parameters and
-	empty arrays.
-
-2019-11-05  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92371
-	* tree-vect-loop.c (vectorizable_reduction): Set STMT_VINFO_REDUC_DEF
-	on the original stmt of live stmts in the chain.
-	(vectorizable_live_operation): Look at the original stmt when
-	checking STMT_VINFO_REDUC_DEF.
-
-2019-11-05  Aldy Hernandez  <aldyh@redhat.com>
-
-	* gimple-fold.c, gimple-loop-versioning.cc,
-	gimple-ssa-evrp-analyze.[ch], gimple-ssa-evrp.c,
-	gimple-ssa-sprintf.c, ipa-cp.c, ipa-prop.c, ipa-prop.h,
-	range-op.[hc]*, range.[hc]*, selftest.h, tree-ssa-dom.c,
-	tree-ssa-strlen.c, tree-ssa-threadedge.c, tree-ssanames.[hc],
-	tree-vrp.[hc], vr-values.[hc]: Global rename of value_range to
-	value_range_equiv, and value_range_base to value_range.
-
-2019-11-05  Matthew Malcomson  <matthew.malcomson@arm.com>
-
-	* expr.c (build_personality_function): Fix generated type to
-	match actual personality functions.
-
-2019-11-05  Matthew Malcomson  <matthew.malcomson@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_handle_attr_cpu): Allocate
-	enough bytes for the NULL character.
-
-2019-11-05  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92280
-	* match.pd (BIT_FIELD_REF of CTOR): Unless the original CTOR
-	had a single use do not create a new CTOR.
-	* tree-ssa-forwprop.c (simplify_bitfield_ref): Do not re-fold
-	BIT_FIELD_REF of a CTOR via GENERIC.
-
-2019-11-05  Andreas Krebbel  <krebbel@linux.ibm.com>
-
-	* config/s390/s390.c (s390_vector_alignment): Check if the value
-	fits into uhwi before using it.
-
-2019-11-05  Martin Liska  <mliska@suse.cz>
-
-	* symbol-summary.h: Use ggc_delete.
-
-2019-11-05  Anton Youdkevitch  <anton.youdkevitch@bell-sw.com>
-
-	* config/aarch64/aarch64.c (thunderx2t99_vector_cost):
-	Change vec_perm field to 10.
-
-2019-11-05  Arnaud Charlet  <charlet@adacore.com>
-
-	* doc/install.texi: Further fix syntax for html generation.
-
-2019-11-05  Martin Liska  <mliska@suse.cz>
-
-	* symbol-summary.h: Rename allocator to m_allocator and
-	add comment.
-
-2019-11-05  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92324
-	* tree-vect-loop.c (check_reduction_path): For MIN/MAX require
-	all signed or unsigned operations.
-
-2019-11-05  Jan Hubicka  <jh@suse.cz>
-
-	* hsa-brig.c: Include alloc-pool.h
-	* hsa-dump.c: Likewise.
-	* hsa-gen.c: Likewise.
-	* hse-regalloc.c: Likewise.
-	* ipa-hsa.c: Likewise.
-	* ipa-predicate.c: Likewise.
-	* ipa-reference.c: Likewise.
-	* ipa-sra.c: Likewise.
-	* omp-expand.c: Likewise.
-	* omp-general.c: Likewise.
-	* omp-low.c: Likewise.
-	* sumbol-summary.h (function_summary_base): Add allocator.
-	(function_summary<T *>::function_summary): Update construction.
-	(fast_function_summary<T *, V>::fast_function_summary): Likewise.
-	(call_summary_base): Add allcator.
-	(call_summary<T *>::call_summary): Update construction.
-	(fast_call_summary<T *, V>::fast_call_summary): Likewise.
-
-2019-11-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/91945
-	* builtins.c (compute_objsize): For ARRAY_REF, only multiply off
-	by tpsize if it is both non-NULL and INTEGER_CST, otherwise punt.
-	Formatting fix.
-
-2019-11-05  Aldy Hernandez  <aldyh@redhat.com>
-
-	* range-op.cc (wi_set_zero_nonzero_bits): Remove static qualifier.
-	* range-op.h (wi_set_zero_nonzero_bits): New prototype.
-	* tree-vrp.h (vrp_set_zero_nonzero_bits): Remove.
-	* tree-vrp.c (wide_int_range_set_zero_nonzero_bits): Remove.
-	(vrp_set_zero_nonzero_bits): Move to...
-	* vr-values.c (vr_set_zero_nonzero_bits): ...here.
-	(vr_values::simplify_bit_ops_using_ranges): Rename
-	vrp_set_zero_nonzero_bits to vr_set_zero_nonzero_bits.
-
-2019-11-05  Martin Liska  <mliska@suse.cz>
-
-	PR c++/92339
-	* fold-const.c (operand_compare::hash_operand): Remove
-	FIELD_DECL handling.
-
-2019-11-05  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.h (vrp_bitmap_equal_p): Remove.
-	* tree-vrp.c (vrp_bitmap_equal_p): Move before use and make
-	static.
-
-2019-11-05  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (value_range_base::operator==): Use equal_p to
-	properly handle symbolics.
-	(range_compatible_p): Remove.
-
-2019-11-04  Kamlesh Kumar  <kamleshbhalui@gmail.com>
-
-	* common.opt (-fabi-version): Document =14.
-	* doc/invoke.texi (C++ Dialect Options): Likewise.
-
-2019-11-04  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (value_range_base::set): Do not special case pointers.
-
-2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
-
-	* config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): New function.
-	(TARGET_OMP_DEVICE_KIND_ARCH_ISA): Redefine to
-	gcn_omp_device_kind_arch_isa.
-	* config/gcn/t-omp-device: New file.
-	* configure.ac: Support gcn for omp_device_property.
-	* configure: Regenerate.
-
-2019-11-04  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.h (vrp_val_min): Remove handle_pointers argument.
-	(vrp_val_max): Same.
-	(vrp_val_is_min): Same.
-	(vrp_val_is_max): Same.
-	(value_range_base::nonzero_p): Remove last argument to
-	vrp_val_is_max.
-	* tree-vrp.c (vrp_val_min): Remove handle_pointers argument.
-	(vrp_val_max): Same.
-	(vrp_val_is_min): Same.
-	(vrp_val_is_max): Same.
-	(value_range_base::set_varying): Remove last argument to vrp_val*.
-	(value_range_base::dump): Same.
-	(value_range_base::set): Same.
-	(value_range_base::normalize_symbolics): Same.
-	(value_range_base::num_pairs): Same.
-	(value_range_base::lower_bound): Same.
-	(value_range_base::upper_bound): Same.
-	(ranges_from_anti_range): Remove handle_pointers argument.
-	(value_range_base::singleton_p): Remove last argument to
-	ranges_from_anti_range.
-
-2019-11-04  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-reference.c (init_function_info): Initialize
-	info->global.statics_read.
-
-2019-11-04  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (value_range_base::invert): Use constructors to build
-	range.
-
-2019-11-04  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (range_int_cst_singleton_p): Remove.
-	* tree-vrp.h (range_int_cst_singleton_p): Remove.
-
-2019-11-04  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (value_range_base::normalize_addresses): Handle
-	VR_UNDEFINED.
-
-2019-11-04  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (dump_assert_info): New.
-	(dump_asserts_info): New.
-
-2019-11-04  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline-transform.c: Include ipa-utils.h
-	(inline_call): Set thunk_expansion flag.
-	* ipa-utils.h (thunk_expansion): Declare.
-	* ipa-devirt.c (thunk_expansion): New global var.
-	(devirt_node_removal_hook): Do not invalidate cache while
-	doing thunk expansion.
-
-2019-11-04  Tamar Christina  <tamar.christina@arm.com>
-
-	* tree-vect-slp.c (vectorize_slp_instance_root_stmt): Initialize rstmt.
-
-2019-11-04  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/92349
-	* tree-vrp.c (vrp_prop::check_array_ref): Avoid assuming struct
-	memebers have constant sizes.
-
-2019-11-04  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop): Remove orig_loop_vinfo
-	parameter.
-	* tree-vectorizer.h (vect_analyze_loop): Update declaration.
-	* tree-vectorizer.c (try_vectorize_loop_1): Update calls to
-	vect_analyze_loop.
-
-2019-11-04  Joel Hutton  <Joel.Hutton@arm.com>
-
-	* expr.c (store_constructor): Modify to handle single element vectors.
-	* tree-vect-slp.c (vect_analyze_slp_instance): Add case for vector
-	constructors.
-	(vect_slp_check_for_constructors): New function.
-	(vect_slp_analyze_bb_1): Call new function to check for vector
-	constructors.
-	(vectorize_slp_instance_root_stmt): New function.
-	(vect_schedule_slp): Call new function to vectorize root stmt of vector
-	constructors.
-	* tree-vectorizer.h (SLP_INSTANCE_ROOT_STMT): New field.
-
-2019-11-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92345
-	* tree-vect-loop.c (vect_is_simple_reduction): Return whether
-	we produced a reduction chain.
-	(vect_analyze_scalar_cycles_1): Do not add reduction chains to
-	LOOP_VINFO_REDUCTIONS.
-
-2019-11-04  Jan Hubicka  <jh@suse.cz>
-
-	* cgraphclones.c (cgraph_node::create_version_clone): Do not
-	duplicate summaries.
-	* ipa-fnsummary.c (ipa_fn_summary_alloc): Allocate size summary
-	first.
-	(ipa_fn_summary_t::duplicate): Use get instead of get_create to
-	access call summaries.
-	(dump_ipa_call_summary): Be ready for missing edge summaries.
-	(analyze_function_body): Use get instead of get_create to access
-	edge summary.
-	(estimate_calls_size_and_time): Do not access summaries of
-	inlined edges; sanity check they are missing.
-	(ipa_call_context::estimate_size_and_time): Use get instead
-	of get_create to access node summary.
-	(inline_update_callee_summaries): Do not update depth of
-	inlined edge.
-	(ipa_merge_fn_summary_after_inlining): Remove inline edge from
-	growth caches.
-	(ipa_merge_fn_summary_after_inlining): Use get instead
-	of get_create.
-	* ipa-fnsummary.h (ipa_remove_from_growth_caches): Declare.
-	* ipa-inline-analyssi.c (edge_growth_cache): Turn to
-	fast summary.
-	(initialize_growth_caches): Update.
-	(do_estimate_edge_time): Remove redundant copy of context.
-	(ipa_remove_from_growth_caches): New function.
-	* ipa-inline.c (flatten_function): Update overall summary
-	only when optimizing.
-	(inline_to_all_callers): Update overall summary of function
-	inlined to.
-	* ipa-inline.h (edge_growth_cache): Turn to fast summary.
-	* symbol-summary.h (call_summary_base): Set m_initialize_when_cloning
-	to false.
-
-2019-11-04  Richard Biener  <rguenther@suse.de>
-
-	* system.h: Include malloc.h if INCLUDE_MALLOC_H and HAVE_MALLINFO.
-	* ggc-common.c: Remove inclusion of malloc.h, define INCLUDE_MALLOC_H.
-
-2019-11-04  David Edelsohn  <dje.gcc@gmail.com>
-
-	* ggc-common.c: Include system.h before malloc.h.
-
-2019-11-04  Alexandre Oliva <oliva@adacore.com>
-
-	* configure.ac: Pass --enable-obsolete=* and
-	--enable-option-checking=* down to build configure, and fail
-	if it fails.  AC_SUBST HAVE_AUTO_BUILD.
-	* configure: Rebuild.
-	* Makefile.in [HAVE_AUTO_BUILD] (auto-build.h): New rule.
-	[HAVE_AUTO_BUILD] (config.status): Depend on auto-build.h.
-
-2019-11-04  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config.in: Regenerate.
-	* config/msp430/msp430.c (msp430_option_override): Emit an error if
-	-mtiny-printf is used without GCC being configured with
-	--enable-newlib-nano-formatted-io.
-	* config/msp430/msp430.h (LINK_SPEC): Pass 
-	"--wrap puts --wrap printf" when -mtiny-printf is used.
-	* config/msp430/msp430.opt: Document -mtiny-printf.
-	* configure: Regenerate.
-	* configure.ac: Enable --enable-newlib-nano-formatted-io flag.
-	Define HAVE_NEWLIB_NANO_FORMATTED_IO if
-	--enable-newlib-nano-formatted-io is passed.
-	* doc/invoke.texi: Document -mtiny-printf.
-
-2019-11-04  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* configure: Regenerate.
-
-2019-11-04  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/driver-msp430.c
-	(msp430_get_linker_devices_include_path): New spec function.
-	* config/msp430/msp430-devices.c (msp430_dirname): New function.
-	(extract_devices_dir_from_exec_prefix): New function.
-	(extract_devices_dir_from_collect_gcc): New function.
-	(msp430_check_env_var_for_devices): New function.
-	(msp430_check_path_for_devices): Use xstrdup instead of ASTRDUP.
-	(parse_devices_csv): Call msp430_check_env_var_for_devices if
-	devices.csv was not found using other methods.
-	* config/msp430/msp430-devices.h (msp430_check_env_var_for_devices):
-	New prototype.
-	(msp430_dirname): Likewise.
-	* config/msp430/msp430.c (msp430_register_pre_includes): New function.
-	* config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Add
-	msp430_get_linker_devices_include_path.
-	(TARGET_EXTRA_PRE_INCLUDES): Define.
-	* doc/invoke.texi: Document new ways of searching for support files.
-
-2019-11-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92301
-	* tree-vect-stmts.c (process_use): Force reduction PHI defs live
-	as required by epilogue generation
-
-2019-11-04  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/92304
-	* fold-const.c (operand_compare::hash_operand): Fix field
-	hashing of CONSTRUCTOR.
-
-2019-11-04  Martin Liska  <mliska@suse.cz>
-
-	* ggc.h (ggc_delete): New function.
-	* ipa-fnsummary.c (ipa_free_fn_summary): Use it.
-	* ipa-prop.c (ipa_free_all_edge_args): Likewise.
-	(ipa_free_all_node_params): Likewise.
-	* ipa-sra.c (ipa_sra_analysis): Likewise.
-
-2019-11-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (set_cond_stmt_execution_predicate,
-	set_switch_stmt_execution_predicate, compute_bb_predicates,
-	will_be_nonconstant_expr_predicate,
-	phi_result_unknown_predicate,
-	analyze_function_body): Pass arround params summary.
-	(ipa_call_context::duplicate_from): New comment;
-	only duplicate useful values.
-	(ipa_call_context::equal_to): Only compare useful values.
-	(remap_edge_summaries): Pass params_summary.
-	(remap_hint_predicate): Likewise.
-	(ipa_merge_fn_summary_after_inlining): Likewise.
-	(inline_read_section): Initialize params summary used flags.
-	* ipa-predicate.c (predicate::remap_after_inlining): Pass
-	around param_summary.
-	(add_condition): Initialized used params summary flags.
-	* ipa-predicate.h (inline_param_summary::equals_to): Make const.
-	(inline_param_summary::useless_p): New predicate.
-	(remap_after_inlining, add_condition): Update prototype
-	* ipa-prop.c (ipa_populate_param_decls): Watch overflow in
-	move_cost.
-	(ipa_note_param_call): Add parameter POLYMORPHIC; update params
-	summaries.
-	(ipa_analyze_indirect_call_uses): Update use of ipa_note_param_call.
-	(ipa_analyze_virtual_call_uses): Likewise.
-	(update_indirect_edges_after_inlining): Update param summaries.
-	(ipa_print_node_params): Print used flags.
-	(ipa_read_indirect_edge_info): Update param summareis.
-	* ipa-prop.h (ipa_param_descriptor): Add
-	used_by_ipa_predicates, used_by_indirect_call
-	and used_by_polymorphic_call.
-	(ipa_set_param_used_by_ipa_predicates,
-	ipa_set_param_used_by_indirect_call,
-	ipa_set_param_used_by_polymorphic_call,
-	ipa_is_param_used_by_ipa_predicates,
-	ipa_is_param_used_by_indirect_call,
-	ipa_is_param_used_by_polymorphic_call): New inline functions.
-
-2019-11-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (ipa_call_context::duplicate_from): New
-	member function.
-	(ipa_call_context::release): Add ALL parameter.
-	(ipa_call_context::equal_to): New member function.
-	* ipa-fnsummary.h (ipa_call_context): Add empty constructor;
-	duplicate_form, release, equal_to and exists_p member functoins.
-	* ipa-inline-analysis.c (node_context_cache_entry): New
-	class.
-	(node_context_summary): Likewise.
-	(node_context_cache, node_context_cache_hit, node_context_cache_miss,
-	node_context_clear): New static vars.
-	(initialize_growth_caches): New function.
-	(free_growth_caches): Also delete node_context_cache; output stats.
-	(do_estimate_edge_time): Cache contexts.
-	(reset_node_cache): New function.
-	* ipa-inline.c (reset_edge_caches): Reset also node cache.
-	(inline_small_functions): Initialize growth caches.
-	* ipa-inline.h (reset_node_cache, initialize_growth_caches):
-	Declare.
-	* ipa-predicate.h (inline_param_summary::equal_to): New.
-	* ipa-prop.c (ipa_agg_jf_item::equal_to): New.
-	* ipa-prop.h (ipa_agg_jf_item): Declare equal_to member function.
-	(ipa_agg_jump_function): Implement equal_to member function.
-
-2019-11-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (inline_read_section): Set vector size
-	ahead of time.
-
-2019-11-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-fnsummary.c (ipa_call_context): New constructor.
-	(estimate_node_size_and_time): Turn to ...
-	(ipa_call_context::estimate_size_and_time): ... this one.
-	(ipa_call_context::release): New.
-	* ipa-fnsummary.h (ipa_call_context): New class.
-	(estimate_node_size_and_time): Remove.
-	* ipa-inline-analysis.c (do_estimate_edge_time, do_estimate_edge_size,
-	do_estimate_edge_hints): Update.
-
-2019-11-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* config.in: Regenerate.
-	* configure: Regenerate.
-	* configure.ac: Check for mallinfo.
-	* ggc-common.c: Include malloc.h if available;
-	include options.h
-	(report_heap_memory_use): New functoin.
-	* ggc-page.c (ggc_grow): Do not print "start".
-	* ggc.h (report_heap_memory_use): Declare.
-	* pases.c (execute_one_pass): Report memory after IPA passes.
-	(ipa_read_summaries_1): Likewise.
-	(ipa_read_optimization_summaries_1): Likewise.
-
-2019-11-02  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimplify.h (omp_construct_selector_matches): Change return
-	type to int, add a new SCORES argument.
-	* gimplify.c (omp_construct_selector_matches): Likewise.  If
-	SCORES is non-NULL, compute scores of each construct.
-	* omp-general.h (omp_get_context_selector): Declare.
-	* omp-general.c (omp_maybe_offloaded, omp_context_selector_matches):
-	Adjust omp_construct_selector_matches callers.
-	(omp_get_context_selector): New function, moved from c-family/c-omp.c.
-	(omp_context_compute_score): New function.
-	(omp_resolve_declare_variant): Compute scores and decide based on
-	that.
-
-	PR bootstrap/92314
-	* configure.ac: Don't look for omp-device-properties files from
-	installed offloading compilers.  Instead add tmake_file snippets
-	for configured offloading targets and use files they generate.
-	* Makefile.in (install): Don't depend on
-	install-omp-device-properties.
-	(install-omp-device-properties): Remove goal.
-	* config/i386/t-omp-device: New file.
-	* config/i386/t-intelmic (omp-device-properties): Remove goal.
-	* config/nvptx/t-omp-device: New file.
-	* config/nvptx/t-nvptx (omp-device-properties): Remove goal.
-	* configure: Regenerated.
-
-	* omp-general.h (omp_context_selector_set_compare): Declare.
-	* omp-general.c (omp_construct_simd_compare,
-	omp_context_selector_props_compare, omp_context_selector_set_compare,
-	omp_context_selector_compare): New functions.
-	(omp_resolve_declare_variant): Prune variants that are strict subset
-	of another variant.
-
-2019-11-01  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/91679
-	PR middle-end/91647
-	PR middle-end/91463
-	PR middle-end/92312
-	* doc/invoke.texi (-Wzero-length-bounds): Document.
-	* gimple-match-head.c (try_conditional_simplification): Use memcpy
-	instead of a hand-rolled loop to avoid PR 92323.
-	* tree-vrp.c (vrp_prop::check_array_ref): Handle trailing arrays
-	with initializers.
-	(vrp_prop::check_mem_ref): Handle declared struct objects.
-	* tree.c (last_field): New function.
-	(array_at_struct_end_p): Handle MEM_REF.
-	(get_initializer_for): New helper.
-	(component_ref_size): Add argument.  Rename locals.  Call
-	get_initializer_for instead of fold_ctor_reference.  Correct handling
-	of flexible array members.
-	* wide-int.h (generic_wide_int <storage>::sign_mask): Assert invariant.
-
-2019-11-01  Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/rs6000-modes.def (V2SF, V2SI): New modes.
-	* config/rs6000/vsx.md (UNSPEC_VSX_CVSPSXDS,
-	UNSPEC_VSX_CVSPUXDS): Remove.
-	(vsx_xvcvspdp): New define_expand, old define_insn split to...
-	(vsx_xvcvspdp_be): ... this.  New.  And...
-	(vsx_xvcvspdp_le): ... this.  New.
-	(vsx_xvcv<su>xwdp): New define_expand, old define_insn split to...
-	(vsx_xvcv<su>xwdp_be): ... this.  New.  And...
-	(vsx_xvcv<su>xwdp_le): ... this.  New.
-	(vsx_xvcvsp<su>xds): New define_expand, old define_insn split to...
-	(vsx_xvcvsp<su>xds_be): ... this.  New.  And...
-	(vsx_xvcvsp<su>xds_le): ... this.  New.
-
-2019-11-01  Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/vsx.md (UNSPEC_VSX_CVSXWSP, UNSPEC_VSX_CVUXWSP,
-	UNSPEC_VSX_XVCVSXDDP, UNSPEC_VSX_XVCVUXDDP,
-	UNSPEC_VSX_XVCVDPSXDS, UNSPEC_VSX_XVCVDPUXDS,
-	UNSPEC_VSX_XVCVSPSXWS): Remove.
-	(vsx_xvcv<su>xddp, vsx_xvcvdp<su>xds, vsx_xvcvsp<su>xws,
-	vsx_xvcv<su>xwsp): Update define_insn RTL patterns.
-
-2019-11-01  Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/vsx.md (vsx_xvcdpsp): Remove define_insn.
-	(UNSPEC_VSX_XVCDPSP): Remove.
-	* config/rs6000/rs6000.c (rs6000_generate_float2_double_code):
-	Replace gen_vsx_xvcdpsp by gen_vsx_xvcvdpsp.
-
-2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
-
-	* hooks.c (hook_tree_tree_bool_null): New.
-	* hooks.h (hook_tree_tree_bool_null): Declare.
-	* langhooks-def.h (LANG_HOOKS_OMP_ARRAY_DATA): Define.
-	(LANG_HOOKS_DECLS): Add it.
-	* langhooks.h (lang_hooks_for_decls): Add omp_array_data.
-	* omp-low.c (install_var_field): New mode for Fortran descriptor arrays.
-	(lower_omp_target): Handle Fortran array with descriptor in
-	OMP_CLAUSE_USE_DEVICE_ADDR/OMP_CLAUSE_USE_DEVICE_PTR.
-
-2019-10-31  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-sve-builtins.cc (register_builtin_types):
-	Assert that the type we store in abi_vector_types is its own
-	main variant.
-	(svbool_type_p): Don't apply TYPE_MAIN_VARIANT here.
-
-2019-10-31  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (arm_legitimize_address): Don't form negative offsets
-	from a CONST_INT address when TARGET_THUMB2.
-
-2019-10-31  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (add_not_cin): New insn.
-	(add_not_shift_cin): Likewise.
-
-2019-10-31  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.c (func_checker::compare_tree_ssa_label): Remove.
-	* ipa-icf-gimple.h: Remove declaration from compare_tree_ssa_label
-	and compare_memory_operand.
-
-2019-10-31  Jakub Jelinek  <jakub@redhat.com>
-
-	* configure.ac: Compute and substitute omp_device_properties and
-	omp_device_property_deps.
-	* Makefile.in (generated_files): Add omp-device-properties.h.
-	(omp-general.o): Depend on omp-device-properties.h.
-	(omp_device_properties): New make variable.
-	(omp-device-properties.h, s-omp-device-properties-h,
-	install-omp-device-properties): New goals.
-	(install): Depend on install-omp-device-properties for accelerators.
-	* target.def (TARGET_OMP_DEVICE_KIND_ARCH_ISA): New target hook.
-	* target.h (enum omp_device_kind_arch_isa): New enum.
-	* doc/tm.texi.in: Add placeholder for TARGET_OMP_DEVICE_KIND_ARCH_ISA
-	documentation.
-	* omp-general.c: Include omp-device-properties.h.
-	(omp_max_simt_vf): Expect OFFLOAD_TARGET_NAMES to be separated by
-	colon instead of comma.
-	(omp_offload_device_kind_arch_isa, omp_maybe_offloaded): New
-	functions.
-	(omp_context_selector_matches): Implement device set arch/isa
-	selectors, improve device set kind selector handling.
-	* config/i386/i386-options.h (ix86_omp_device_kind_arch_isa): Declare.
-	* config/i386/i386.c (TARGET_SIMD_CLONE_ADJUST,
-	TARGET_SIMD_CLONE_USABLE): Formatting fix.
-	(TARGET_OMP_DEVICE_KIND_ARCH_ISA): Redefine to
-	ix86_omp_device_kind_arch_isa.
-	* config/i386/i386-options.c (struct ix86_target_opts): Move type
-	definition from ix86_target_string to file scope.
-	(isa2_opts, isa_opts): Moved arrays from ix86_target_string function
-	to file scope.
-	(ix86_omp_device_kind_arch_isa): New function.
-	(ix86_target_string): Moved struct ix86_target_opts, isa2_opts and
-	isa_opts definitions to file scope.
-	* config/i386/t-intelmic (omp-device-properties): New goal.
-	* config/nvptx/t-nvptx (omp-device-properties): Likewise.
-	* config/nvptx/nvptx.c (nvptx_omp_device_kind_arch_isa): New function.
-	(TARGET_OMP_DEVICE_KIND_ARCH_ISA): Redefine to
-	nvptx_omp_device_kind_arch_isa.
-	* configure: Regenerate.
-	* doc/tm.texi: Regenerate.
-
-	PR middle-end/92231
-	* tree.h (fndecl_built_in_p): Use fndecl_built_in_p instead of
-	DECL_BUILT_IN in comment.  Remove redundant ()s around return
-	argument.
-	* tree.c (free_lang_data_in_decl): Check if var is FUNCTION_DECL
-	before calling fndecl_built_in_p.
-	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Check if
-	TREE_OPERAND (fn, 0) is a FUNCTION_DECL before calling
-	fndecl_built_in_p on it.
-
-2019-10-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* params.def (PARAM_VECT_EPILOGUES_NOMASK): Enable by default.
-
-2019-10-31  Martin Liska  <mliska@suse.cz>
-
-	* config/arm/arm.c (arm_get_pcs_model): Remove usage
-	of cgraph_local_info and use local_info_node instead.
-	* config/bfin/bfin.c (bfin_load_pic_reg): Likewise.
-	(bfin_function_ok_for_sibcall): Likewise.
-	* config/c6x/c6x.c (c6x_function_ok_for_sibcall): Likewise.
-	(must_reload_pic_reg_p): Likewise.
-
-2019-10-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/90947
-	* tree.h (type_initializer_zero_p): Remove.
-	* tree.c (type_initializer_zero_p): Remove.
-
-2019-10-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/invoke.texi (-Wshadow, -Wshadow=global
-	-Wshadow=local, -Wshadow=compatible-local): Update documentation.
-
-2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
-
-	* gimplify.c (gimplify_scan_omp_clauses): Remove FE-generated
-	GOMP_MAP_TO_PSET and GOMP_MAP_POINTER mapping for 'target update'
-	and 'target exit data'.
-
-2019-10-30  Martin Jambor  <mjambor@suse.cz>
-
-	ipa/92278
-	* cgraph.c (cgraph_edge::possibly_call_in_translation_unit_p): Fix
-	availability comparison.
-
-2019-10-30  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430.c (msp430_expand_helper): Support expansion of
-	calls to __mspabi_mpy* functions.
-	* config/msp430/msp430.md (mulhisi3): New define_expand.
-	(umulhisi3): New define_expand.
-	(*mulhisi3_inline): Use old mulhisi3 define_insn.
-	(*umulhisi3_inline): Use old umulhisi3 define_insn.
-
-2019-10-30  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430.c (msp430_check_index_not_high_mem): New.
-	(msp430_check_plus_not_high_mem): New.
-	(msp430_op_not_in_high_mem): Use new functions to check if the operand
-	might be in low memory.
-	Indicate that a 16-bit absolute address is in lower memory.
-
-2019-10-30  Martin Jambor  <mjambor@suse.cz>
-
-	* ipa-prop.c (ipa_compute_jump_functions_for_bb): Fix the call to
-	ultimate_alias_target.
-
-2019-10-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92275
-	* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_loops):
-	Copy all loop-closed PHIs.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.c (func_checker::compare_ssa_name): Use
-	const_tree as function argument.
-	(func_checker::compare_decl): Likewise.
-	(func_checker::operand_equal_p): Likewise.
-	(func_checker::compare_variable_decl): Likewise.
-	(func_checker::parse_labels): Likewise.
-	* ipa-icf-gimple.h: Likewise.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.c (func_checker::compatible_types_p):
-	Do not compare alias sets.  It's handled by operand_equal_p.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.c (func_checker::func_checker): Do not
-	initialize m_compare_polymorphic.
-	(func_checker::compare_decl): Do not compare polymorphic types.
-	* ipa-icf-gimple.h (m_compare_polymorphic): Remove.
-	* ipa-icf.c (sem_function::equals_private): Do not call
-	compare_polymorphic_p.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.c (func_checker::compare_ssa_name): Call
-	compare_operand.
-	(func_checker::compare_memory_operand): Remove.
-	(func_checker::compare_cst_or_decl): Remove.
-	(func_checker::operand_equal_valueize): Do not handle
-	FIELD_DECL.
-	(func_checker::compare_gimple_call): Call compare_operand.
-	(func_checker::compare_gimple_assign): Likewise.
-	* ipa-icf-gimple.h: Remove compare_cst_or_decl.
-	* ipa-icf.c (sem_function::icf_handled_component_p): Remove.
-	* ipa-icf.h (icf_handled_component_p): Remove.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	* ipa-icf-gimple.c (func_checker::hash_operand): New.
-	(func_checker::compare_cst_or_decl): Remove handling
-	of FIELD_DECL.
-	(func_checker::compare_operand): Transform to ...
-	(func_checker::operand_equal_p): ... this.
-	* ipa-icf-gimple.h (class func_checker): Add
-	operand_equal_p and hash_operand.
-	* ipa-icf.c (sem_function::equals_private): Fix
-	pushing and popping of cfun.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	* fold-const.c (operand_equal_p): Move to ...
-	(operand_compare::operand_equal_p): ... here.
-	(operand_compare::verify_hash_value): New.
-	(add_expr): Move to ...
-	(operand_compare::hash_operand): ... here.
-	* fold-const.h (operand_equal_p): Move to the class.
-	(class operand_compare): New.
-	* tree.c (add_expr): Remove.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	* fold-const.c (operand_equal_p): Support OBJ_TYPE_REF.
-	* tree.c (add_expr): Hash parts of OBJ_TYPE_REF.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	PR lto/91393
-	PR lto/88220
-	* cgraph.c (cgraph_node::get_create): Overwrite node->order
-	from a first_clone in order to get proper LTO section
-	in LTO stream.
-	(cgraph_node::get_untransformed_body):
-	Use lto_get_section_data where symtab_node::order
-	must be provided.
-	* cgraphclones.c (cgraph_node::find_replacement):
-	Update also symbol order.
-	* ipa-fnsummary.c (ipa_fn_summary_read):
-	Use new function lto_get_summary_section_data.
-	* ipa-hsa.c (ipa_hsa_read_summary): Likewise.
-	* ipa-icf.c (sem_item_optimizer::read_summary):
-	Likewise.
-	* ipa-prop.c (ipa_prop_read_jump_functions):
-	Likewise.
-	(ipcp_read_transformation_summaries): Likewise.
-	* ipa-sra.c (ipa_sra_read_summary): Likewise.
-	* lto-cgraph.c (input_node): Add also order_base.
-	(input_varpool_node): Likewise.
-	(input_cgraph_1): Assign the order_base.
-	(input_cgraph_opt_summary): Use new lto_get_summary_section_data.
-	* lto-opts.c (lto_write_options): Pass new argument.
-	* lto-section-in.c (lto_get_section_data): Add new argumente order.
-	(lto_get_summary_section_data): New.
-	(lto_get_raw_section_data): Add order argument.
-	(lto_create_simple_input_block): Likewise.
-	* lto-section-out.c (lto_destroy_simple_output_block):
-	Likewise.
-	* lto-streamer-in.c (lto_input_toplevel_asms):
-	Use lto_get_summary_section_data.
-	(lto_input_mode_table): Likewise.
-	* lto-streamer-out.c (produce_asm): Pass symtab_node::order.
-	(lto_output_toplevel_asms): Pass new argument.
-	(copy_function_or_variable): Likewise.
-	(produce_lto_section):Likewise.
-	(produce_symtab): Likewise.
-	(lto_write_mode_table): Likewise.
-	(produce_asm_for_decls): Likewise.
-	* lto-streamer.c (lto_get_section_name): Concat symbol name
-	and symbol order.
-	* lto-streamer.h (lto_get_section_data): Add order argument.
-	(lto_get_summary_section_data): New.
-	(lto_get_raw_section_data): Add order argument.
-	(lto_get_section_name): Likewise.
-	* varpool.c (varpool_node::get_constructor): Pass order argument.
-
-2019-10-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92262
-	* tree-ssa-loop-ivopts.c (get_debug_computation_at): Don't unshare
-	ubase or cbase here.
-	(remove_unused_ivs): Unshare comp before using it.
-
-2019-10-30  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-prop.c (update_jump_functions_after_inlining):
-	Watch for missing summaries.
-
-2019-10-30  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/65930
-	* tree-vect-loop.c (vect_is_simple_reduction): For reduction
-	chains also allow a leading and trailing conversion.
-	* tree-vect-slp.c (vect_get_and_check_slp_defs): Handle
-	intermediate reduction chains.
-	(vect_analyze_slp_instance): Likewise.  Build a SLP
-	node for a trailing conversion manually.
-
-2019-10-30  Martin Liska  <mliska@suse.cz>
-
-	* cgraph.c (cgraph_node::local_info): Transform to ...
-	(cgraph_node::local_info_node): ... this.
-	(cgraph_node::dump): Remove cgraph_local_info and
-	put its fields directly into cgraph_node.
-	(cgraph_node::get_availability): Likewise.
-	(cgraph_node::make_local): Likewise.
-	(cgraph_node::verify_node): Likewise.
-	* cgraph.h (struct GTY): Likewise.
-	* cgraphclones.c (set_new_clone_decl_and_node_flags): Likewise.
-	(duplicate_thunk_for_node): Likewise.
-	(cgraph_node::create_clone): Likewise.
-	(cgraph_node::create_virtual_clone): Likewise.
-	(cgraph_node::create_version_clone): Likewise.
-	* cgraphunit.c (cgraph_node::reset): Likewise.
-	(cgraph_node::finalize_function): Likewise.
-	(cgraph_node::add_new_function): Likewise.
-	(analyze_functions): Likewise.
-	* combine.c (setup_incoming_promotions): Likewise.
-	* config/i386/i386.c (ix86_function_regparm): Likewise.
-	(ix86_function_sseregparm): Likewise.
-	(init_cumulative_args): Likewise.
-	* ipa-cp.c (determine_versionability): Likewise.
-	(count_callers): Likewise.
-	(set_single_call_flag): Likewise.
-	(initialize_node_lattices): Likewise.
-	(estimate_local_effects): Likewise.
-	(create_specialized_node): Likewise.
-	(identify_dead_nodes): Likewise.
-	* ipa-fnsummary.c (compute_fn_summary): Likewise.
-	(ipa_fn_summary_generate): Likewise.
-	* ipa-hsa.c (check_warn_node_versionable): Likewise.
-	(process_hsa_functions): Likewise.
-	* ipa-icf.c (set_local): Likewise.
-	* ipa-inline-analysis.c (initialize_inline_failed): Likewise.
-	* ipa-inline.c (speculation_useful_p): Likewise.
-	* ipa-profile.c (ipa_propagate_frequency): Likewise.
-	(ipa_profile): Likewise.
-	* ipa-split.c (split_function): Likewise.
-	(execute_split_functions): Likewise.
-	* ipa-sra.c (ipa_sra_preliminary_function_checks): Likewise.
-	(ipa_sra_ipa_function_checks): Likewise.
-	* ipa-visibility.c (function_and_variable_visibility): Likewise.
-	* ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
-	* lto-cgraph.c (lto_output_node): Likewise.
-	(input_overwrite_node): Likewise.
-	* multiple_target.c (expand_target_clones): Likewise.
-	* omp-simd-clone.c (simd_clone_create): Likewise.
-	* trans-mem.c (expand_call_tm): Likewise.
-	(ipa_tm_mayenterirr_function): Likewise.
-	(ipa_tm_diagnose_tm_safe): Likewise.
-	(ipa_tm_diagnose_transaction): Likewise.
-	(ipa_tm_create_version): Likewise.
-	(ipa_tm_transform_calls_redirect): Likewise.
-	(ipa_tm_execute): Likewise.
-	* tree-inline.c (expand_call_inline): Likewise.
-
-2019-10-29  Martin Liska  <mliska@suse.cz>
-
-	* symbol-summary.h (function_summary): Pass memory location
-	to underlaying hash_map (or vec).
-	(V>::fast_function_summary): Likewise.
-
-2019-10-29  Martin Liska  <mliska@suse.cz>
-
-	* ggc.h (ggc_alloc_no_dtor): New function.
-	* ipa-fnsummary.c (ipa_free_fn_summary): Call
-	destructor and ggc_free.
-	(ipa_free_size_summary): Call delete instead
-	of release.
-	* ipa-fnsummary.h: Use new function ggc_alloc_no_dtor.
-	* ipa-prop.c (ipa_check_create_edge_args): Likewise.
-	(ipa_free_all_edge_args): Call destructor and ggc_free.
-	(ipa_free_all_node_params): Likewise.
-	(ipcp_free_transformation_sum): Likewise.
-	* ipa-prop.h (ipa_check_create_node_params):
-	Call new ggc_alloc_no_dtor.
-	* ipa-sra.c (ipa_sra_generate_summary): Likewise.
-	(ipa_sra_analysis): Call destructor and ggc_free.
-	Replace release with delete operator.
-	* symbol-summary.h (release): Remove ..
-	(V>::~fast_function_summary): and move logic here.
-	Likewise for other classes.
-
-2019-10-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92260
-	* tree-vect-slp.c (vect_get_constant_vectors): Special-case
-	lane-reducing ops.
-
-2019-10-29  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	PR tree-optimization/88915
-	* tree-ssa-loop-niter.h (simplify_replace_tree): Change declaration.
-	* tree-ssa-loop-niter.c (simplify_replace_tree): Add context parameter
-	and make the valueize function pointer also take a void pointer.
-	* tree-ssa-sccvn.c (vn_valueize_wrapper): New function to wrap
-	around vn_valueize, to call it without a context.
-	(process_bb): Use vn_valueize_wrapper instead of vn_valueize.
-	* tree-vect-loop.c (_loop_vec_info): Initialize epilogue_vinfos.
-	(~_loop_vec_info): Release epilogue_vinfos.
-	(vect_analyze_loop_costing): Use knowledge of main VF to estimate
-	number of iterations of epilogue.
-	(vect_analyze_loop_2): Adapt to analyse main loop for all supported
-	vector sizes when vect-epilogues-nomask=1.  Also keep track of lowest
-	versioning threshold needed for main loop.
-	(vect_analyze_loop): Likewise.
-	(find_in_mapping): New helper function.
-	(update_epilogue_loop_vinfo): New function.
-	(vect_transform_loop): When vectorizing epilogues re-use analysis done
-	on main loop and call update_epilogue_loop_vinfo to update it.
-	* tree-vect-loop-manip.c (vect_update_inits_of_drs): No longer insert
-	stmts on loop preheader edge.
-	(vect_do_peeling): Enable skip-vectors when doing loop versioning if
-	we decided to vectorize epilogues.  Update epilogues NITERS and
-	construct ADVANCE to update epilogues data references where needed.
-	* tree-vectorizer.h (_loop_vec_info): Add epilogue_vinfos.
-	(vect_do_peeling, vect_update_inits_of_drs,
-	 determine_peel_for_niter, vect_analyze_loop): Add or update
-	declarations.
-	* tree-vectorizer.c (try_vectorize_loop_1): Make sure to use already
-	created loop_vec_info's for epilogues when available.  Otherwise analyse
-	epilogue separately.
-
-2019-10-29  Richard Biener  <rguenther@suse.de>
-
-	* doc/tree-ssa.texi (Immediate Uses): Fix FOR_EACH_IMM_USE_STMT
-	example.
-
-2019-10-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (vectorizable_condition): Get the reduction
-	index for the COND_EXPR from stmt_info rather than reduc_info.
-
-2019-10-29  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/65930
-	* tree-vect-loop.c (check_reduction_path): Relax single-use
-	check allowing out-of-loop uses.
-	(vect_is_simple_reduction): SLP reduction chains cannot have
-	intermediate stmts used outside of the loop.
-	(vect_create_epilog_for_reduction): The adjustment might need
-	to be converted.
-	(vectorizable_reduction): Annotate live stmts of the reduction
-	chain with STMT_VINFO_REDUC_DEF.
-	* tree-vect-stms.c (process_use): Remove no longer true asserts.
-
-2019-10-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* calls.c (pass_by_reference): Leave the target to decide whether
-	POLY_INT_CST-sized arguments should be passed by value or reference,
-	rather than forcing them to be passed by reference.
-	(must_pass_in_stack_var_size): Likewise.
-	* config/aarch64/aarch64.md (LAST_SAVED_REGNUM): Redefine from
-	V31_REGNUM to P15_REGNUM.
-	* config/aarch64/aarch64-protos.h (aarch64_init_cumulative_args):
-	Take an extra "silent_p" parameter, defaulting to false.
-	(aarch64_sve::svbool_type_p): Declare.
-	(aarch64_sve::nvectors_if_data_type): Likewise.
-	* config/aarch64/aarch64.h (NUM_PR_ARG_REGS): New macro.
-	(aarch64_frame::reg_offset): Turn into poly_int64s.
-	(aarch64_frame::save_regs_size): Likewise.
-	(aarch64_frame::below_hard_fp_saved_regs_size): New field.
-	(aarch64_frame::sve_callee_adjust): Likewise.
-	(aarch64_frame::spare_reg_reg): Likewise.
-	(ARM_PCS_SVE): New arm_pcs value.
-	(CUMULATIVE_ARGS::aapcs_nprn): New field.
-	(CUMULATIVE_ARGS::aapcs_nextnprn): Likewise.
-	(CUMULATIVE_ARGS::silent_p): Likewise.
-	(BITS_PER_SVE_PRED): New macro.
-	* config/aarch64/aarch64.c (handle_aarch64_vector_pcs_attribute): New
-	function.  Reject aarch64_vector_pcs attributes on SVE functions.
-	(aarch64_attribute_table): Use the above handler.
-	(aarch64_sve_abi): New function.
-	(aarch64_sve_argument_p): Likewise.
-	(aarch64_returns_value_in_sve_regs_p): Likewise.
-	(aarch64_takes_arguments_in_sve_regs_p): Likewise.
-	(aarch64_fntype_abi): Check for SVE functions and return the SVE PCS
-	descriptor for them.
-	(aarch64_simd_decl_p): Delete.
-	(aarch64_emit_cfi_for_reg_p): New function.
-	(aarch64_reg_save_mode): Remove the fndecl argument and instead use
-	crtl->abi to choose the mode for FP registers.  Handle the SVE PCS.
-	(aarch64_hard_regno_call_part_clobbered): Do not treat FP registers
-	as partly clobbered for the SVE PCS.
-	(aarch64_function_ok_for_sibcall): Check whether the two functions
-	use the same ABI, rather than checking specifically for whether
-	they're aarch64_vector_pcs functions.
-	(aarch64_pass_by_reference): Raise an error for attempts to pass
-	SVE arguments when SVE is disabled.  Pass SVE arguments by reference
-	if there are not enough free registers left, or if the argument is
-	variadic.
-	(aarch64_function_value): Handle SVE predicates, vectors and tuples.
-	(aarch64_return_in_memory): Do not return SVE predicates, vectors and
-	tuples in memory.
-	(aarch64_layout_arg): Take a function_arg_info rather than
-	individual properties.  Handle SVE predicates, vectors and tuples.
-	Raise an error if they are passed to unprototyped functions.
-	(aarch64_function_arg): If the silent_p flag is set, suppress the
-	usual error about using float registers without TARGET_FLOAT.
-	(aarch64_init_cumulative_args): Take a silent_p parameter and store
-	it in the cumulative_args structure.  Initialize aapcs_nprn and
-	aapcs_nextnprn.  If the silent_p flag is set, suppress the usual
-	error about using float registers without TARGET_FLOAT.
-	If the silent_p flag is not set, also raise an error about
-	using SVE functions when SVE is disabled.
-	(aarch64_function_arg_advance): Update the call to aarch64_layout_arg,
-	and call it for SVE functions too.  Update aapcs_nprn similarly
-	to the other register counts.
-	(aarch64_layout_frame): If a big-endian function needs to save
-	and restore Z8-Z15, search for a spare predicate that it can use.
-	Store SVE predicates at the bottom of the register save area,
-	followed by SVE vectors, then followed by the normal slots.
-	Keep pointing the hard frame pointer at the base of the normal slots,
-	above the SVE vectors.  Update the various frame creation and
-	tear-down strategies for the new layout, initializing the new
-	sve_callee_adjust field.  Add an additional layout for frames
-	whose saved registers are all SVE registers.
-	(aarch64_register_saved_on_entry): Cope with poly_int64 reg_offsets.
-	(aarch64_return_address_signing_enabled): Likewise.
-	(aarch64_push_regs, aarch64_pop_regs): Update calls to
-	aarch64_reg_save_mode.
-	(aarch64_adjust_sve_callee_save_base): New function.
-	(aarch64_add_cfa_expression): Move earlier in file.  Take the
-	saved register as an rtx rather than a register number and use
-	its mode for the MEM slot.
-	(aarch64_save_callee_saves): Remove the mode argument and instead
-	use aarch64_reg_save_mode to get the mode of each save slot.
-	Add a hard_fp_valid_p parameter.  Cope with poly_int64 register
-	offsets.  Allow GP offsets to be saved at a VL-based offset from
-	the stack, handling this case using the frame pointer if available
-	or a temporary register otherwise.  Use ST1D to save Z8-Z15 for
-	big-endian SVE functions; use normal moves for other SVE saves.
-	Only mark the save as frame-related if aarch64_emit_cfi_for_reg_p
-	returns true.  Add explicit CFA notes when not storing via the
-	stack pointer.  Do not try to pair SVE saves.
-	(aarch64_restore_callee_saves): Cope with poly_int64 register
-	offsets.  Use LD1D to restore Z8-Z15 for big-endian SVE functions;
-	use normal moves for other SVE restores.  Only add CFA restore notes
-	if aarch64_emit_cfi_for_reg_p returns true.  Do not try to pair
-	SVE restores.
-	(aarch64_get_separate_components): Always keep the first SVE save
-	in the prologue if we need to use it as a stack probe.  Don't allow
-	Z8-Z15 saves and loads to be shrink-wrapped for big-endian targets.
-	Likewise the spare predicate register that they need.  Update the
-	offset calculation to account for the SVE save area.  Use the
-	appropriate range check for SVE LDR and STR instructions.
-	(aarch64_components_for_bb): Cope with poly_int64 reg_offsets.
-	(aarch64_process_components): Likewise.  Update the offset
-	calculation to account for the SVE save area.  Only mark the
-	save as frame-related if aarch64_emit_cfi_for_reg_p returns true.
-	Do not try to pair SVE saves.
-	(aarch64_allocate_and_probe_stack_space): Cope with poly_int64
-	reg_offsets.  When handling the final allocation, expect the
-	first SVE register save to be part of the initial allocation
-	and for it to act as a probe at SP.  Account for the SVE callee
-	save area in the dump information.
-	(aarch64_expand_prologue): Update the frame diagram.  Fold the
-	SVE callee allocation into the initial allocation if stack clash
-	protection is enabled.  Use new variables to track the offset
-	of the frame chain (and hard frame pointer) from the current
-	stack pointer, and likewise the offset of the bottom of the
-	register save area.  Update calls to aarch64_save_callee_saves
-	and aarch64_add_cfa_expression.  Apply sve_callee_adjust before
-	saving the FP&SIMD registers.  Save the predicate registers.
-	(aarch64_expand_epilogue): Take below_hard_fp_saved_regs_size
-	into account when setting the stack pointer from the frame pointer,
-	and when deciding whether we can inherit the initial adjustment
-	amount from the prologue.  Restore the predicate registers after
-	the vector registers, then apply sve_callee_adjust, then restore
-	the general registers.
-	(aarch64_secondary_reload): Don't use secondary SVE reloads
-	for VNx16BImode.
-	(aapcs_vfp_sub_candidate): Assert that the type is not an SVE type.
-	(aarch64_short_vector_p): Return false for SVE types.
-	(aarch64_vfp_is_call_or_return_candidate): Initialize *is_ha
-	at the start of the function.  Return false for SVE types.
-	(aarch64_asm_output_variant_pcs): Output .variant_pcs for SVE
-	functions too.
-	(TARGET_STRICT_ARGUMENT_NAMING): Redefine to request strict naming.
-	* config/aarch64/aarch64-sve.md (*aarch64_sve_mov<mode>_le): Extend
-	to big-endian targets for bytewise moves.
-	(*aarch64_sve_mov<mode>_be): Exclude the bytewise case.
-
-2019-10-29  Richard Sandiford  <richard.sandiford@arm.com>
-	    Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
-	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* config.gcc (aarch64*-*-*): Add arm_sve.h to extra_headers.
-	Add aarch64-sve-builtins.o, aarch64-sve-builtins-shapes.o and
-	aarch64-sve-builtins-base.o to extra_objs.  Add
-	aarch64-sve-builtins.h and aarch64-sve-builtins.cc to target_gtfiles.
-	* config/aarch64/t-aarch64 (aarch64-sve-builtins.o): New rule.
-	(aarch64-sve-builtins-shapes.o): Likewise.
-	(aarch64-sve-builtins-base.o): New rules.
-	* config/aarch64/aarch64-c.c (aarch64_pragma_aarch64): New function.
-	(aarch64_resolve_overloaded_builtin): Likewise.
-	(aarch64_check_builtin_call): Likewise.
-	(aarch64_register_pragmas): Install aarch64_resolve_overloaded_builtin
-	and aarch64_check_builtin_call in targetm.  Register the GCC aarch64
-	pragma.
-	* config/aarch64/aarch64-protos.h (AARCH64_FOR_SVPRFOP): New macro.
-	(aarch64_svprfop): New enum.
-	(AARCH64_BUILTIN_SVE): New aarch64_builtin_class enum value.
-	(aarch64_sve_int_mode, aarch64_sve_data_mode): Declare.
-	(aarch64_fold_sve_cnt_pat, aarch64_output_sve_prefetch): Likewise.
-	(aarch64_output_sve_cnt_pat_immediate): Likewise.
-	(aarch64_output_sve_ptrues, aarch64_sve_ptrue_svpattern_p): Likewise.
-	(aarch64_sve_sqadd_sqsub_immediate_p, aarch64_sve_ldff1_operand_p)
-	(aarch64_sve_ldnf1_operand_p, aarch64_sve_prefetch_operand_p)
-	(aarch64_ptrue_all_mode, aarch64_convert_sve_data_to_pred): Likewise.
-	(aarch64_expand_sve_dupq, aarch64_replace_reg_mode): Likewise.
-	(aarch64_sve::init_builtins, aarch64_sve::handle_arm_sve_h): Likewise.
-	(aarch64_sve::builtin_decl, aarch64_sve::builtin_type_p): Likewise.
-	(aarch64_sve::mangle_builtin_type): Likewise.
-	(aarch64_sve::resolve_overloaded_builtin): Likewise.
-	(aarch64_sve::check_builtin_call, aarch64_sve::gimple_fold_builtin)
-	(aarch64_sve::expand_builtin): Likewise.
-	* config/aarch64/aarch64.c (aarch64_sve_data_mode): Make public.
-	(aarch64_sve_int_mode): Likewise.
-	(aarch64_ptrue_all_mode): New function.
-	(aarch64_convert_sve_data_to_pred): Make public.
-	(svprfop_token): New function.
-	(aarch64_output_sve_prefetch): Likewise.
-	(aarch64_fold_sve_cnt_pat): Likewise.
-	(aarch64_output_sve_cnt_pat_immediate): Likewise.
-	(aarch64_sve_move_pred_via_while): Use gen_while with UNSPEC_WHILE_LO
-	instead of gen_while_ult.
-	(aarch64_replace_reg_mode): Make public.
-	(aarch64_init_builtins): Call aarch64_sve::init_builtins.
-	(aarch64_fold_builtin): Handle AARCH64_BUILTIN_SVE.
-	(aarch64_gimple_fold_builtin, aarch64_expand_builtin): Likewise.
-	(aarch64_builtin_decl, aarch64_builtin_reciprocal): Likewise.
-	(aarch64_mangle_type): Call aarch64_sve::mangle_type.
-	(aarch64_sve_sqadd_sqsub_immediate_p): New function.
-	(aarch64_sve_ptrue_svpattern_p): Likewise.
-	(aarch64_sve_pred_valid_immediate): Check
-	aarch64_sve_ptrue_svpattern_p.
-	(aarch64_sve_ldff1_operand_p, aarch64_sve_ldnf1_operand_p)
-	(aarch64_sve_prefetch_operand_p, aarch64_output_sve_ptrues): New
-	functions.
-	* config/aarch64/aarch64.md (UNSPEC_LDNT1_SVE, UNSPEC_STNT1_SVE)
-	(UNSPEC_LDFF1_GATHER, UNSPEC_PTRUE, UNSPEC_WHILE_LE, UNSPEC_WHILE_LS)
-	(UNSPEC_WHILE_LT, UNSPEC_CLASTA, UNSPEC_UPDATE_FFR)
-	(UNSPEC_UPDATE_FFRT, UNSPEC_RDFFR, UNSPEC_WRFFR)
-	(UNSPEC_SVE_LANE_SELECT, UNSPEC_SVE_CNT_PAT, UNSPEC_SVE_PREFETCH)
-	(UNSPEC_SVE_PREFETCH_GATHER, UNSPEC_SVE_COMPACT, UNSPEC_SVE_SPLICE):
-	New unspecs.
-	* config/aarch64/iterators.md (SI_ONLY, DI_ONLY, VNx8HI_ONLY)
-	(VNx2DI_ONLY, SVE_PARTIAL, VNx8_NARROW, VNx8_WIDE, VNx4_NARROW)
-	(VNx4_WIDE, VNx2_NARROW, VNx2_WIDE, PRED_HSD): New mode iterators.
-	(UNSPEC_ADR, UNSPEC_BRKA, UNSPEC_BRKB, UNSPEC_BRKN, UNSPEC_BRKPA)
-	(UNSPEC_BRKPB, UNSPEC_PFIRST, UNSPEC_PNEXT, UNSPEC_CNTP, UNSPEC_SADDV)
-	(UNSPEC_UADDV, UNSPEC_FMLA, UNSPEC_FMLS, UNSPEC_FEXPA, UNSPEC_FTMAD)
-	(UNSPEC_FTSMUL, UNSPEC_FTSSEL, UNSPEC_COND_CMPEQ_WIDE): New unspecs.
-	(UNSPEC_COND_CMPGE_WIDE, UNSPEC_COND_CMPGT_WIDE): Likewise.
-	(UNSPEC_COND_CMPHI_WIDE, UNSPEC_COND_CMPHS_WIDE): Likewise.
-	(UNSPEC_COND_CMPLE_WIDE, UNSPEC_COND_CMPLO_WIDE): Likewise.
-	(UNSPEC_COND_CMPLS_WIDE, UNSPEC_COND_CMPLT_WIDE): Likewise.
-	(UNSPEC_COND_CMPNE_WIDE, UNSPEC_COND_FCADD90, UNSPEC_COND_FCADD270)
-	(UNSPEC_COND_FCMLA, UNSPEC_COND_FCMLA90, UNSPEC_COND_FCMLA180)
-	(UNSPEC_COND_FCMLA270, UNSPEC_COND_FMAX, UNSPEC_COND_FMIN): Likewise.
-	(UNSPEC_COND_FMULX, UNSPEC_COND_FRECPX, UNSPEC_COND_FSCALE): Likewise.
-	(UNSPEC_LASTA, UNSPEC_ASHIFT_WIDE, UNSPEC_ASHIFTRT_WIDE): Likewise.
-	(UNSPEC_LSHIFTRT_WIDE, UNSPEC_LDFF1, UNSPEC_LDNF1): Likewise.
-	(Vesize): Handle partial vector modes.
-	(self_mask, narrower_mask, sve_lane_con, sve_lane_pair_con): New
-	mode attributes.
-	(UBINQOPS, ANY_PLUS, SAT_PLUS, ANY_MINUS, SAT_MINUS): New code
-	iterators.
-	(s, paired_extend, inc_dec): New code attributes.
-	(SVE_INT_ADDV, CLAST, LAST): New int iterators.
-	(SVE_INT_UNARY): Add UNSPEC_RBIT.
-	(SVE_FP_UNARY, SVE_FP_UNARY_INT): New int iterators.
-	(SVE_FP_BINARY, SVE_FP_BINARY_INT): Likewise.
-	(SVE_COND_FP_UNARY): Add UNSPEC_COND_FRECPX.
-	(SVE_COND_FP_BINARY): Add UNSPEC_COND_FMAX, UNSPEC_COND_FMIN and
-	UNSPEC_COND_FMULX.
-	(SVE_COND_FP_BINARY_INT, SVE_COND_FP_ADD): New int iterators.
-	(SVE_COND_FP_SUB, SVE_COND_FP_MUL): Likewise.
-	(SVE_COND_FP_BINARY_I1): Add UNSPEC_COND_FMAX and UNSPEC_COND_FMIN.
-	(SVE_COND_FP_BINARY_REG): Add UNSPEC_COND_FMULX.
-	(SVE_COND_FCADD, SVE_COND_FP_MAXMIN, SVE_COND_FCMLA)
-	(SVE_COND_INT_CMP_WIDE, SVE_FP_TERNARY_LANE, SVE_CFP_TERNARY_LANE)
-	(SVE_WHILE, SVE_SHIFT_WIDE, SVE_LDFF1_LDNF1, SVE_BRK_UNARY)
-	(SVE_BRK_BINARY, SVE_PITER): New int iterators.
-	(optab): Handle UNSPEC_SADDV, UNSPEC_UADDV, UNSPEC_FRECPE,
-	UNSPEC_FRECPS, UNSPEC_RSQRTE, UNSPEC_RSQRTS, UNSPEC_RBIT,
-	UNSPEC_SMUL_HIGHPART, UNSPEC_UMUL_HIGHPART, UNSPEC_FMLA, UNSPEC_FMLS,
-	UNSPEC_FCMLA, UNSPEC_FCMLA90, UNSPEC_FCMLA180, UNSPEC_FCMLA270,
-	UNSPEC_FEXPA, UNSPEC_FTSMUL, UNSPEC_FTSSEL, UNSPEC_COND_FCADD90,
-	UNSPEC_COND_FCADD270, UNSPEC_COND_FCMLA, UNSPEC_COND_FCMLA90,
-	UNSPEC_COND_FCMLA180, UNSPEC_COND_FCMLA270, UNSPEC_COND_FMAX,
-	UNSPEC_COND_FMIN, UNSPEC_COND_FMULX, UNSPEC_COND_FRECPX and
-	UNSPEC_COND_FSCALE.
-	(maxmin_uns): Handle UNSPEC_COND_FMAX and UNSPEC_COND_FMIN.
-	(binqops_op, binqops_op_rev, last_op): New int attributes.
-	(su): Handle UNSPEC_SADDV and UNSPEC_UADDV.
-	(fn, ab): New int attributes.
-	(cmp_op): Handle UNSPEC_COND_CMP*_WIDE and UNSPEC_WHILE_*.
-	(while_optab_cmp, brk_op, sve_pred_op): New int attributes.
-	(sve_int_op): Handle UNSPEC_SMUL_HIGHPART, UNSPEC_UMUL_HIGHPART,
-	UNSPEC_ASHIFT_WIDE, UNSPEC_ASHIFTRT_WIDE, UNSPEC_LSHIFTRT_WIDE and
-	UNSPEC_RBIT.
-	(sve_fp_op): Handle UNSPEC_FRECPE, UNSPEC_FRECPS, UNSPEC_RSQRTE,
-	UNSPEC_RSQRTS, UNSPEC_FMLA, UNSPEC_FMLS, UNSPEC_FEXPA, UNSPEC_FTSMUL,
-	UNSPEC_FTSSEL, UNSPEC_COND_FMAX, UNSPEC_COND_FMIN, UNSPEC_COND_FMULX,
-	UNSPEC_COND_FRECPX and UNSPEC_COND_FSCALE.
-	(sve_fp_op_rev): Handle UNSPEC_COND_FMAX, UNSPEC_COND_FMIN and
-	UNSPEC_COND_FMULX.
-	(rot): Handle UNSPEC_COND_FCADD* and UNSPEC_COND_FCMLA*.
-	(brk_reg_con, brk_reg_opno): New int attributes.
-	(sve_pred_fp_rhs1_operand, sve_pred_fp_rhs2_operand): Handle
-	UNSPEC_COND_FMAX, UNSPEC_COND_FMIN and UNSPEC_COND_FMULX.
-	(sve_pred_fp_rhs2_immediate): Handle UNSPEC_COND_FMAX and
-	UNSPEC_COND_FMIN.
-	(max_elem_bits): New int attribute.
-	(min_elem_bits): Handle UNSPEC_RBIT.
-	* config/aarch64/predicates.md (subreg_lowpart_operator): Handle
-	TRUNCATE as well as SUBREG.
-	(ascending_int_parallel, aarch64_simd_reg_or_minus_one)
-	(aarch64_sve_ldff1_operand, aarch64_sve_ldnf1_operand)
-	(aarch64_sve_prefetch_operand, aarch64_sve_ptrue_svpattern_immediate)
-	(aarch64_sve_qadd_immediate, aarch64_sve_qsub_immediate)
-	(aarch64_sve_gather_immediate_b, aarch64_sve_gather_immediate_h)
-	(aarch64_sve_gather_immediate_w, aarch64_sve_gather_immediate_d)
-	(aarch64_sve_sqadd_operand, aarch64_sve_gather_offset_b)
-	(aarch64_sve_gather_offset_h, aarch64_sve_gather_offset_w)
-	(aarch64_sve_gather_offset_d, aarch64_gather_scale_operand_b)
-	(aarch64_gather_scale_operand_h): New predicates.
-	* config/aarch64/constraints.md (UPb, UPd, UPh, UPw, Utf, Utn, vgb)
-	(vgd, vgh, vgw, vsQ, vsS): New constraints.
-	* config/aarch64/aarch64-sve.md: Add a note on the FFR handling.
-	(*aarch64_sve_reinterpret<mode>): Allow any source register
-	instead of requiring an exact match.
-	(*aarch64_sve_ptruevnx16bi_cc, *aarch64_sve_ptrue<mode>_cc)
-	(*aarch64_sve_ptruevnx16bi_ptest, *aarch64_sve_ptrue<mode>_ptest)
-	(aarch64_wrffr, aarch64_update_ffr_for_load, aarch64_copy_ffr_to_ffrt)
-	(aarch64_rdffr, aarch64_rdffr_z, *aarch64_rdffr_z_ptest)
-	(*aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, *aarch64_rdffr_cc)
-	(aarch64_update_ffrt): New patterns.
-	(@aarch64_load_<ANY_EXTEND:optab><VNx8_WIDE:mode><VNx8_NARROW:mode>)
-	(@aarch64_load_<ANY_EXTEND:optab><VNx4_WIDE:mode><VNx4_NARROW:mode>)
-	(@aarch64_load_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>)
-	(@aarch64_ld<fn>f1<mode>): New patterns.
-	(@aarch64_ld<fn>f1_<ANY_EXTEND:optab><VNx8_WIDE:mode><VNx8_NARROW:mode>)
-	(@aarch64_ld<fn>f1_<ANY_EXTEND:optab><VNx4_WIDE:mode><VNx4_NARROW:mode>)
-	(@aarch64_ld<fn>f1_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>)
-	(@aarch64_ldnt1<mode>): New patterns.
-	(gather_load<mode>): Use aarch64_sve_gather_offset_<Vesize> for
-	the scalar part of the address.
-	(mask_gather_load<SVE_S:mode>): Use aarch64_sve_gather_offset_w for the
-	scalar part of the addresse and add an alternative for handling
-	nonzero offsets.
-	(mask_gather_load<SVE_D:mode>): Likewise aarch64_sve_gather_offset_d.
-	(*mask_gather_load<mode>_sxtw, *mask_gather_load<mode>_uxtw)
-	(@aarch64_gather_load_<ANY_EXTEND:optab><VNx4_WIDE:mode><VNx4_NARROW:mode>)
-	(@aarch64_gather_load_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>)
-	(*aarch64_gather_load_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>_sxtw)
-	(*aarch64_gather_load_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>_uxtw)
-	(@aarch64_ldff1_gather<SVE_S:mode>, @aarch64_ldff1_gather<SVE_D:mode>)
-	(*aarch64_ldff1_gather<mode>_sxtw, *aarch64_ldff1_gather<mode>_uxtw)
-	(@aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx4_WIDE:mode><VNx4_NARROW:mode>)
-	(@aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>)
-	(*aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>_sxtw)
-	(*aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode><VNx2_NARROW:mode>_uxtw)
-	(@aarch64_sve_prefetch<mode>): New patterns.
-	(@aarch64_sve_gather_prefetch<SVE_I:mode><VNx4SI_ONLY:mode>)
-	(@aarch64_sve_gather_prefetch<SVE_I:mode><VNx2DI_ONLY:mode>)
-	(*aarch64_sve_gather_prefetch<SVE_I:mode><VNx2DI_ONLY:mode>_sxtw)
-	(*aarch64_sve_gather_prefetch<SVE_I:mode><VNx2DI_ONLY:mode>_uxtw)
-	(@aarch64_store_trunc<VNx8_NARROW:mode><VNx8_WIDE:mode>)
-	(@aarch64_store_trunc<VNx4_NARROW:mode><VNx4_WIDE:mode>)
-	(@aarch64_store_trunc<VNx2_NARROW:mode><VNx2_WIDE:mode>)
-	(@aarch64_stnt1<mode>): New patterns.
-	(scatter_store<mode>): Use aarch64_sve_gather_offset_<Vesize> for
-	the scalar part of the address.
-	(mask_scatter_store<SVE_S:mode>): Use aarch64_sve_gather_offset_w for
-	the scalar part of the addresse and add an alternative for handling
-	nonzero offsets.
-	(mask_scatter_store<SVE_D:mode>): Likewise aarch64_sve_gather_offset_d.
-	(*mask_scatter_store<mode>_sxtw, *mask_scatter_store<mode>_uxtw)
-	(@aarch64_scatter_store_trunc<VNx4_NARROW:mode><VNx4_WIDE:mode>)
-	(@aarch64_scatter_store_trunc<VNx2_NARROW:mode><VNx2_WIDE:mode>)
-	(*aarch64_scatter_store_trunc<VNx2_NARROW:mode><VNx2_WIDE:mode>_sxtw)
-	(*aarch64_scatter_store_trunc<VNx2_NARROW:mode><VNx2_WIDE:mode>_uxtw):
-	New patterns.
-	(vec_duplicate<mode>): Use QI as the mode of the input operand.
-	(extract_last_<mode>): Generalize to...
-	(@extract_<LAST:last_op>_<mode>): ...this.
-	(*<SVE_INT_UNARY:optab><mode>2): Rename to...
-	(@aarch64_pred_<SVE_INT_UNARY:optab><mode>): ...this.
-	(@cond_<SVE_INT_UNARY:optab><mode>): New expander.
-	(@aarch64_pred_sxt<SVE_HSDI:mode><SVE_PARTIAL:mode>): New pattern.
-	(@aarch64_cond_sxt<SVE_HSDI:mode><SVE_PARTIAL:mode>): Likewise.
-	(@aarch64_pred_cnot<mode>, @cond_cnot<mode>): New expanders.
-	(@aarch64_sve_<SVE_FP_UNARY_INT:optab><mode>): New pattern.
-	(@aarch64_sve_<SVE_FP_UNARY:optab><mode>): Likewise.
-	(*<SVE_COND_FP_UNARY:optab><mode>2): Rename to...
-	(@aarch64_pred_<SVE_COND_FP_UNARY:optab><mode>): ...this.
-	(@cond_<SVE_COND_FP_UNARY:optab><mode>): New expander.
-	(*<SVE_INT_BINARY_IMM:optab><mode>3): Rename to...
-	(@aarch64_pred_<SVE_INT_BINARY_IMM:optab><mode>): ...this.
-	(@aarch64_adr<mode>, *aarch64_adr_sxtw): New patterns.
-	(*aarch64_adr_uxtw_unspec): Likewise.
-	(*aarch64_adr_uxtw): Rename to...
-	(*aarch64_adr_uxtw_and): ...this.
-	(@aarch64_adr<mode>_shift): New expander.
-	(*aarch64_adr_shift_sxtw): New pattern.
-	(aarch64_<su>abd<mode>_3): Rename to...
-	(@aarch64_pred_<su>abd<mode>): ...this.
-	(<su>abd<mode>_3): Update accordingly.
-	(@aarch64_cond_<su>abd<mode>): New expander.
-	(@aarch64_<SBINQOPS:su_optab><optab><mode>): New pattern.
-	(@aarch64_<UBINQOPS:su_optab><optab><mode>): Likewise.
-	(*<su>mul<mode>3_highpart): Rename to...
-	(@aarch64_pred_<optab><mode>): ...this.
-	(@cond_<MUL_HIGHPART:optab><mode>): New expander.
-	(*cond_<MUL_HIGHPART:optab><mode>_2): New pattern.
-	(*cond_<MUL_HIGHPART:optab><mode>_z): Likewise.
-	(*<SVE_INT_BINARY_SD:optab><mode>3): Rename to...
-	(@aarch64_pred_<SVE_INT_BINARY_SD:optab><mode>): ...this.
-	(cond_<SVE_INT_BINARY_SD:optab><mode>): Add a "@" marker.
-	(@aarch64_bic<mode>, @cond_bic<mode>): New expanders.
-	(*v<ASHIFT:optab><mode>3): Rename to...
-	(@aarch64_pred_<ASHIFT:optab><mode>): ...this.
-	(@aarch64_sve_<SVE_SHIFT_WIDE:sve_int_op><mode>): New pattern.
-	(@cond_<SVE_SHIFT_WIDE:sve_int_op><mode>): New expander.
-	(*cond_<SVE_SHIFT_WIDE:sve_int_op><mode>_m): New pattern.
-	(*cond_<SVE_SHIFT_WIDE:sve_int_op><mode>_z): Likewise.
-	(@cond_asrd<mode>): New expander.
-	(*cond_asrd<mode>_2, *cond_asrd<mode>_z): New patterns.
-	(sdiv_pow2<mode>3): Expand to *cond_asrd<mode>_2.
-	(*sdiv_pow2<mode>3): Delete.
-	(@cond_<SVE_COND_FP_BINARY_INT:optab><mode>): New expander.
-	(*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_2): New pattern.
-	(*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_any): Likewise.
-	(@aarch64_sve_<SVE_FP_BINARY:optab><mode>): New pattern.
-	(@aarch64_sve_<SVE_FP_BINARY_INT:optab><mode>): Likewise.
-	(*<SVE_COND_FP_BINARY_REG:optab><mode>3): Rename to...
-	(@aarch64_pred_<SVE_COND_FP_BINARY_REG:optab><mode>): ...this.
-	(@aarch64_pred_<SVE_COND_FP_BINARY_INT:optab><mode>): New pattern.
-	(cond_<SVE_COND_FP_BINARY:optab><mode>): Add a "@" marker.
-	(*add<SVE_F:mode>3): Rename to...
-	(@aarch64_pred_add<SVE_F:mode>): ...this and add alternatives
-	for SVE_STRICT_GP.
-	(@aarch64_pred_<SVE_COND_FCADD:optab><mode>): New pattern.
-	(@cond_<SVE_COND_FCADD:optab><mode>): New expander.
-	(*cond_<SVE_COND_FCADD:optab><mode>_2): New pattern.
-	(*cond_<SVE_COND_FCADD:optab><mode>_any): Likewise.
-	(*sub<SVE_F:mode>3): Rename to...
-	(@aarch64_pred_sub<SVE_F:mode>): ...this and add alternatives
-	for SVE_STRICT_GP.
-	(@aarch64_pred_abd<SVE_F:mode>): New expander.
-	(*fabd<SVE_F:mode>3): Rename to...
-	(*aarch64_pred_abd<SVE_F:mode>): ...this.
-	(@aarch64_cond_abd<SVE_F:mode>): New expander.
-	(*mul<SVE_F:mode>3): Rename to...
-	(@aarch64_pred_<SVE_F:optab><mode>): ...this and add alternatives
-	for SVE_STRICT_GP.
-	(@aarch64_mul_lane_<SVE_F:mode>): New pattern.
-	(*<SVE_COND_FP_MAXMIN_PUBLIC:optab><mode>3): Rename and generalize
-	to...
-	(@aarch64_pred_<SVE_COND_FP_MAXMIN:optab><mode>): ...this.
-	(*<LOGICAL:optab><PRED_ALL:mode>3_ptest): New pattern.
-	(*<nlogical><PRED_ALL:mode>3): Rename to...
-	(aarch64_pred_<nlogical><PRED_ALL:mode>_z): ...this.
-	(*<nlogical><PRED_ALL:mode>3_cc): New pattern.
-	(*<nlogical><PRED_ALL:mode>3_ptest): Likewise.
-	(*<logical_nn><PRED_ALL:mode>3): Rename to...
-	(aarch64_pred_<logical_nn><mode>_z): ...this.
-	(*<logical_nn><PRED_ALL:mode>3_cc): New pattern.
-	(*<logical_nn><PRED_ALL:mode>3_ptest): Likewise.
-	(*fma<SVE_I:mode>4): Rename to...
-	(@aarch64_pred_fma<SVE_I:mode>): ...this.
-	(*fnma<SVE_I:mode>4): Rename to...
-	(@aarch64_pred_fnma<SVE_I:mode>): ...this.
-	(@aarch64_<sur>dot_prod_lane<vsi2qi>): New pattern.
-	(*<SVE_FP_TERNARY:optab><mode>4): Rename to...
-	(@aarch64_pred_<SVE_FP_TERNARY:optab><mode>): ...this.
-	(cond_<SVE_FP_TERNARY:optab><mode>): Add a "@" marker.
-	(@aarch64_<SVE_FP_TERNARY_LANE:optab>_lane_<mode>): New pattern.
-	(@aarch64_pred_<SVE_COND_FCMLA:optab><mode>): Likewise.
-	(@cond_<SVE_COND_FCMLA:optab><mode>): New expander.
-	(*cond_<SVE_COND_FCMLA:optab><mode>_4): New pattern.
-	(*cond_<SVE_COND_FCMLA:optab><mode>_any): Likewise.
-	(@aarch64_<FCMLA:optab>_lane_<mode>): Likewise.
-	(@aarch64_sve_tmad<mode>): Likewise.
-	(vcond_mask_<SVE_ALL:mode><vpred>): Add a "@" marker.
-	(*aarch64_sel_dup<mode>): Rename to...
-	(@aarch64_sel_dup<mode>): ...this.
-	(@aarch64_pred_cmp<cmp_op><SVE_I:mode>_wide): New pattern.
-	(*aarch64_pred_cmp<cmp_op><SVE_I:mode>_wide_cc): Likewise.
-	(*aarch64_pred_cmp<cmp_op><SVE_I:mode>_wide_ptest): Likewise.
-	(@while_ult<GPI:mode><PRED_ALL:mode>): Generalize to...
-	(@while_<while_optab_cmp><GPI:mode><PRED_ALL:mode>): ...this.
-	(*while_ult<GPI:mode><PRED_ALL:mode>_cc): Generalize to.
-	(*while_<while_optab_cmp><GPI:mode><PRED_ALL:mode>_cc): ...this.
-	(*while_<while_optab_cmp><GPI:mode><PRED_ALL:mode>_ptest): New pattern.
-	(*fcm<cmp_op><mode>): Rename to...
-	(@aarch64_pred_fcm<cmp_op><mode>): ...this.  Make operand order
-	match @aarch64_pred_cmp<cmp_op><SVE_I:mode>.
-	(*fcmuo<mode>): Rename to...
-	(@aarch64_pred_fcmuo<mode>): ...this.  Make operand order
-	match @aarch64_pred_cmp<cmp_op><SVE_I:mode>.
-	(@aarch64_pred_fac<cmp_op><mode>): New expander.
-	(@vcond_mask_<PRED_ALL:mode><mode>): New pattern.
-	(fold_extract_last_<mode>): Generalize to...
-	(@fold_extract_<last_op>_<mode>): ...this.
-	(@aarch64_fold_extract_vector_<last_op>_<mode>): New pattern.
-	(*reduc_plus_scal_<SVE_I:mode>): Replace with...
-	(@aarch64_pred_reduc_<optab>_<mode>): ...this pattern, making the
-	DImode result explicit.
-	(reduc_plus_scal_<mode>): Update accordingly.
-	(*reduc_<optab>_scal_<SVE_I:mode>): Rename to...
-	(@aarch64_pred_reduc_<optab>_<SVE_I:mode>): ...this.
-	(*reduc_<optab>_scal_<SVE_F:mode>): Rename to...
-	(@aarch64_pred_reduc_<optab>_<SVE_F:mode>): ...this.
-	(*aarch64_sve_tbl<mode>): Rename to...
-	(@aarch64_sve_tbl<mode>): ...this.
-	(@aarch64_sve_compact<mode>): New pattern.
-	(*aarch64_sve_dup_lane<mode>): Rename to...
-	(@aarch64_sve_dup_lane<mode>): ...this.
-	(@aarch64_sve_dupq_lane<mode>): New pattern.
-	(@aarch64_sve_splice<mode>): Likewise.
-	(aarch64_sve_<perm_insn><mode>): Rename to...
-	(@aarch64_sve_<perm_insn><mode>): ...this.
-	(*aarch64_sve_ext<mode>): Rename to...
-	(@aarch64_sve_ext<mode>): ...this.
-	(aarch64_sve_<su>unpk<perm_hilo>_<SVE_BHSI:mode>): Add a "@" marker.
-	(*aarch64_sve_<optab>_nontrunc<SVE_F:mode><SVE_HSDI:mode>): Rename
-	to...
-	(@aarch64_sve_<optab>_nontrunc<SVE_F:mode><SVE_HSDI:mode>): ...this.
-	(*aarch64_sve_<optab>_trunc<VNx2DF_ONLY:mode><VNx4SI_ONLY:mode>):
-	Rename to...
-	(@aarch64_sve_<optab>_trunc<VNx2DF_ONLY:mode><VNx4SI_ONLY:mode>):
-	...this.
-	(@cond_<optab>_nontrunc<SVE_F:mode><SVE_HSDI:mode>): New expander.
-	(@cond_<optab>_trunc<VNx2DF_ONLY:mode><VNx4SI_ONLY:mode>): Likewise.
-	(*cond_<optab>_trunc<VNx2DF_ONLY:mode><VNx4SI_ONLY:mode>): New pattern.
-	(*aarch64_sve_<optab>_nonextend<SVE_HSDI:mode><SVE_F:mode>): Rename
-	to...
-	(@aarch64_sve_<optab>_nonextend<SVE_HSDI:mode><SVE_F:mode>): ...this.
-	(aarch64_sve_<optab>_extend<VNx4SI_ONLY:mode><VNx2DF_ONLY:mode>): Add
-	a "@" marker.
-	(@cond_<optab>_nonextend<SVE_HSDI:mode><SVE_F:mode>): New expander.
-	(@cond_<optab>_extend<VNx4SI_ONLY:mode><VNx2DF_ONLY:mode>): Likewise.
-	(*cond_<optab>_extend<VNx4SI_ONLY:mode><VNx2DF_ONLY:mode>): New
-	pattern.
-	(*aarch64_sve_<optab>_trunc<SVE_SDF:mode><SVE_HSF:mode>): Rename to...
-	(@aarch64_sve_<optab>_trunc<SVE_SDF:mode><SVE_HSF:mode>): ...this.
-	(@cond_<optab>_trunc<SVE_SDF:mode><SVE_HSF:mode>): New expander.
-	(*cond_<optab>_trunc<SVE_SDF:mode><SVE_HSF:mode>): New pattern.
-	(aarch64_sve_<optab>_nontrunc<SVE_HSF:mode><SVE_SDF:mode>): Add a
-	"@" marker.
-	(@cond_<optab>_nontrunc<SVE_HSF:mode><SVE_SDF:mode>): New expander.
-	(*cond_<optab>_nontrunc<SVE_HSF:mode><SVE_SDF:mode>): New pattern.
-	(aarch64_sve_punpk<perm_hilo>_<mode>): Add a "@" marker.
-	(@aarch64_brk<SVE_BRK_UNARY:brk_op>): New pattern.
-	(*aarch64_brk<SVE_BRK_UNARY:brk_op>_cc): Likewise.
-	(*aarch64_brk<SVE_BRK_UNARY:brk_op>_ptest): Likewise.
-	(@aarch64_brk<SVE_BRK_BINARY:brk_op>): Likewise.
-	(*aarch64_brk<SVE_BRK_BINARY:brk_op>_cc): Likewise.
-	(*aarch64_brk<SVE_BRK_BINARY:brk_op>_ptest): Likewise.
-	(@aarch64_sve_<SVE_PITER:sve_pred_op><mode>): Likewise.
-	(*aarch64_sve_<SVE_PITER:sve_pred_op><mode>_cc): Likewise.
-	(*aarch64_sve_<SVE_PITER:sve_pred_op><mode>_ptest): Likewise.
-	(aarch64_sve_cnt_pat): Likewise.
-	(@aarch64_sve_<ANY_PLUS:inc_dec><DI_ONLY:mode>_pat): Likewise.
-	(*aarch64_sve_incsi_pat): Likewise.
-	(@aarch64_sve_<SAT_PLUS:inc_dec><SI_ONLY:mode>_pat): Likewise.
-	(@aarch64_sve_<ANY_PLUS:inc_dec><VNx2DI_ONLY:mode>_pat): Likewise.
-	(@aarch64_sve_<ANY_PLUS:inc_dec><VNx4SI_ONLY:mode>_pat): Likewise.
-	(@aarch64_sve_<ANY_PLUS:inc_dec><VNx8HI_ONLY:mode>_pat): New expander.
-	(*aarch64_sve_<ANY_PLUS:inc_dec><VNx8HI_ONLY:mode>_pat): New pattern.
-	(@aarch64_sve_<ANY_MINUS:inc_dec><DI_ONLY:mode>_pat): Likewise.
-	(*aarch64_sve_decsi_pat): Likewise.
-	(@aarch64_sve_<SAT_MINUS:inc_dec><SI_ONLY:mode>_pat): Likewise.
-	(@aarch64_sve_<ANY_MINUS:inc_dec><VNx2DI_ONLY:mode>_pat): Likewise.
-	(@aarch64_sve_<ANY_MINUS:inc_dec><VNx4SI_ONLY:mode>_pat): Likewise.
-	(@aarch64_sve_<ANY_MINUS:inc_dec><VNx8HI_ONLY:mode>_pat): New expander.
-	(*aarch64_sve_<ANY_MINUS:inc_dec><VNx8HI_ONLY:mode>_pat): New pattern.
-	(@aarch64_pred_cntp<mode>): Likewise.
-	(@aarch64_sve_<ANY_PLUS:inc_dec><DI_ONLY:mode><PRED_ALL:mode>_cntp):
-	New expander.
-	(*aarch64_sve_<ANY_PLUS:inc_dec><DI_ONLY:mode><PRED_ALL:mode>_cntp)
-	(*aarch64_incsi<PRED_ALL:mode>_cntp): New patterns.
-	(@aarch64_sve_<SAT_PLUS:inc_dec><SI_ONLY:mode><PRED_ALL:mode>_cntp):
-	New expander.
-	(*aarch64_sve_<SAT_PLUS:inc_dec><SI_ONLY:mode><PRED_ALL:mode>_cntp):
-	New pattern.
-	(@aarch64_sve_<ANY_PLUS:inc_dec><VNx2DI_ONLY:mode>_cntp): New expander.
-	(*aarch64_sve_<ANY_PLUS:inc_dec><VNx2DI_ONLY:mode>_cntp): New pattern.
-	(@aarch64_sve_<ANY_PLUS:inc_dec><VNx4SI_ONLY:mode>_cntp): New expander.
-	(*aarch64_sve_<ANY_PLUS:inc_dec><VNx4SI_ONLY:mode>_cntp): New pattern.
-	(@aarch64_sve_<ANY_PLUS:inc_dec><VNx8HI_ONLY:mode>_cntp): New expander.
-	(*aarch64_sve_<ANY_PLUS:inc_dec><VNx8HI_ONLY:mode>_cntp): New pattern.
-	(@aarch64_sve_<ANY_MINUS:inc_dec><DI_ONLY:mode><PRED_ALL:mode>_cntp):
-	New expander.
-	(*aarch64_sve_<ANY_MINUS:inc_dec><DI_ONLY:mode><PRED_ALL:mode>_cntp)
-	(*aarch64_incsi<PRED_ALL:mode>_cntp): New patterns.
-	(@aarch64_sve_<SAT_MINUS:inc_dec><SI_ONLY:mode><PRED_ALL:mode>_cntp):
-	New expander.
-	(*aarch64_sve_<SAT_MINUS:inc_dec><SI_ONLY:mode><PRED_ALL:mode>_cntp):
-	New pattern.
-	(@aarch64_sve_<ANY_MINUS:inc_dec><VNx2DI_ONLY:mode>_cntp): New
-	expander.
-	(*aarch64_sve_<ANY_MINUS:inc_dec><VNx2DI_ONLY:mode>_cntp): New pattern.
-	(@aarch64_sve_<ANY_MINUS:inc_dec><VNx4SI_ONLY:mode>_cntp): New
-	expander.
-	(*aarch64_sve_<ANY_MINUS:inc_dec><VNx4SI_ONLY:mode>_cntp): New pattern.
-	(@aarch64_sve_<ANY_MINUS:inc_dec><VNx8HI_ONLY:mode>_cntp): New
-	expander.
-	(*aarch64_sve_<ANY_MINUS:inc_dec><VNx8HI_ONLY:mode>_cntp): New pattern.
-	* config/aarch64/arm_sve.h: New file.
-	* config/aarch64/aarch64-sve-builtins.h: Likewise.
-	* config/aarch64/aarch64-sve-builtins.cc: Likewise.
-	* config/aarch64/aarch64-sve-builtins.def: Likewise.
-	* config/aarch64/aarch64-sve-builtins-base.h: Likewise.
-	* config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
-	* config/aarch64/aarch64-sve-builtins-base.def: Likewise.
-	* config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
-	* config/aarch64/aarch64-sve-builtins-shapes.h: Likewise.
-	* config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
-
-2019-10-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-sve.md (@aarch64_sve_rev<PRED_ALL:mode>):
-	New pattern.
-	* config/aarch64/aarch64.c (aarch64_evpc_rev_global): Handle all
-	SVE modes.
-
-2019-10-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.md (FFR_REGNUM, FFRT_REGNUM): New constants.
-	* config/aarch64/aarch64.h (FIRST_PSEUDO_REGISTER): Bump to
-	FFRT_REGNUM + 1.
-	(FFR_REGS, PR_AND_FFR_REGS): New register classes.
-	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for them.
-	* config/aarch64/aarch64.c (pr_or_ffr_regnum_p): New function.
-	(aarch64_hard_regno_nregs): Handle the new register classes.
-	(aarch64_hard_regno_mode_ok): Likewise.
-	(aarch64_regno_regclass): Likewise.
-	(aarch64_class_max_nregs): Likewise.
-	(aarch64_register_move_cost): Likewise.
-	(aarch64_conditional_register_usage): Don't treat FFR and FFRT
-	as general register_operands.
-
-2019-10-29  Martin Liska  <mliska@suse.cz>
-
-	* ggc-common.c: One can't subtract unsigned types
-	in compare function.
-
-2019-10-29  Martin Liska  <mliska@suse.cz>
-
-	* cgraphunit.c (symbol_table::compile): Pass
-	title as dump_memory_report argument.
-	* toplev.c (dump_memory_report):  New argument.
-	(finalize): Pass new argument.
-	* toplev.h (dump_memory_report): Add argument.
-
-2019-10-29  Martin Liska  <mliska@suse.cz>
-
-	* ggc-common.c: Move Leak to the first column.
-
-2019-10-29  Martin Liska  <mliska@suse.cz>
-
-	* cgraphunit.c (symbol_table::compile): Remove argument
-	for dump_memory_report.
-	* ggc-common.c (dump_ggc_loc_statistics): Likewise.
-	(compare_final): Remove in order to make report
-	better readable.
-	* ggc.h (dump_ggc_loc_statistics):  Remove argument.
-	* mem-stats.h (mem_alloc_description::get_list):
-	Do not pass cmp.
-	(mem_alloc_description::dump): Likewise here.
-	* toplev.c (dump_memory_report): Remove final
-	argument.
-	(finalize): Likewise.
-	* toplev.h (dump_memory_report): Remove argument.
-
-2019-10-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_sve_cmp_immediate_p)
-	(aarch64_simd_shift_imm_p): Accept scalars as well as vectors.
-	* config/aarch64/predicates.md (aarch64_sve_cmp_vsc_immediate)
-	(aarch64_sve_cmp_vsd_immediate): Accept "const_int", but don't
-	accept "const".
-
-2019-10-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* coretypes.h (string_int_pair): New typedef.
-	* langhooks-def.h (LANG_HOOKS_SIMULATE_ENUM_DECL): Define.
-	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Include it.
-	* langhooks.h (lang_hooks_for_types::simulate_enum_decl): New hook.
-
-2019-10-29  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* langhooks.h (lang_hooks::simulate_builtin_function_decl): New hook.
-	(simulate_builtin_function_decl): Declare.
-	* langhooks-def.h (LANG_HOOKS_SIMULATE_BUILTIN_FUNCTION_DECL): Define.
-	(LANG_HOOKS_INITIALIZER): Include it.
-	* langhooks.c (add_builtin_function_common): Rename to...
-	(build_builtin_function): ...this.  Add a location parameter and use
-	it instead of BUILTINS_LOCATION.  Remove the hook parameter and return
-	the decl instead.
-	(add_builtin_function): Update accordingly, passing the returned
-	decl to the lang hook.
-	(add_builtin_function_ext_scope): Likewise
-	(simulate_builtin_function_decl): New function.
-
-2019-10-29  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/install.texi (--enable-offload-targets): Fix up a typo in the
-	example, use actual names of supported offload targets.
-
-	PR target/92258
-	* config/i386/sse.md (iptr): Revert 2019-10-27 change.
-
-2019-10-28  Martin Sebor  <msebor@redhat.com>
-
-	* tree-ssa-strlen.c (get_addr_stridx): Add argument and use it.
-	(handle_store): Pass argument to get_addr_stridx.
-
-2019-10-28  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/92226
-	* tree-ssa-strlen.c (compare_nonzero_chars): Return -1 also when
-	the offset is in the open range outlined by SI's length.
-
-2019-10-28  Martin Sebor  <msebor@redhat.com>
-
-	PR c/66970
-	* doc/cpp.texi (__has_builtin): Document.
-	* doc/extend.texi (__builtin_frob_return_addr): Correct spelling.
-
-2019-10-28  Mihailo Stojanovic  <mistojanovic@wavecomp.com>
-
-	PR target/82981
-	* config/mips/mips.md (<u>mulditi3): Generate patterns for high
-	doubleword and low doubleword result of multiplication on
-	MIPS64R6.
-
-	* config/mips/mips.c (DIRECT_BUILTIN_PURE): New macro. Add a
-	pure qualifier to the built-in.
-	(MSA_BUILTIN_PURE): New macro. Add a pure qualifier to the MSA
-	built-ins.
-	(struct mips_builtin_description): Add is_pure flag.
-	(mips_init_builtins): Mark built-in as pure if the flag in the
-	corresponding mips_builtin_description struct is set.
-
-	* config/mips/mips-msa.md (msa_insert_<msaftm_f>): Add an
-	alternative which covers the floating-point input value. Also
-	forbid the split of insert.d pattern for floating-point values.
-
-2019-10-28  Andrew Burgess  <andrew.burgess@embecosm.com>
-
-	* config.gcc: Add riscv-sr.o to extra_objs for riscv.
-	* config/riscv/riscv-sr.c: New file.
-	* config/riscv/riscv.c (riscv_reorg): New function.
-	(TARGET_MACHINE_DEPENDENT_REORG): Define.
-	* config/riscv/riscv.h (SIBCALL_REG_P): Define.
-	(riscv_remove_unneeded_save_restore_calls): Declare.
-	* config/riscv/t-riscv (riscv-sr.o): New build rule.
-
-2019-10-28  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/92163
-	* tree-ssa-dse.c (delete_dead_or_redundant_assignment): New param
-	need_eh_cleanup with default value NULL. Gate on need_eh_cleanup
-	before calling bitmap_set_bit.
-	(dse_optimize_redundant_stores): Pass global need_eh_cleanup to
-	delete_dead_or_redundant_assignment.
-	(dse_dom_walker::dse_optimize_stmt): Likewise.
-	* tree-ssa-dse.h (delete_dead_or_redundant_assignment): Adjust prototype.
-
-2019-10-28  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR middle-end/91272
-	* tree-vect-stmts.c (vectorizable_condition): Support
-	EXTRACT_LAST_REDUCTION with fully-masked loops.
-
-2019-10-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92252
-	* tree-vect-slp.c (vect_get_and_check_slp_defs): Adjust
-	STMT_VINFO_REDUC_IDX when swapping operands.
-
-2019-10-28  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92241
-	* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): When
-	we failed to update the reduction index do not use the pattern
-	stmts for the reduction chain.
-	(vectorizable_reduction): When the reduction chain is corrupt,
-	fail.
-	* tree-vect-patterns.c (vect_mark_pattern_stmts): Stop when we
-	fail to update the reduction chain.
-
-2019-10-28  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Use
-	STMT_VINFO_REDUC_IDX from the actual stmt.
-	(vect_transform_reduction): Likewise.
-	(vectorizable_reduction): Compute the reduction chain length,
-	do not recompute the reduction operand index.  Remove no longer
-	necessary restriction for condition reduction chains.
-
-2019-10-28  Uroš Bizjak  <ubizjak@gmail.com>
-
-	PR target/92225
-	* config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE4_2
-	condition for V2DImode.
-
-2019-10-28  Uroš Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (sse_cvtss2si<rex64namesuffix>_2):
-	Remove %k operand modifier.
-	(*vec_extractv2df_1_sse): Remove %q operand modifier.
-
-2019-10-28  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR rtl-optimization/92007
-	* cfgcleanup.c (thread_jump): Add an assertion that we don't
-	call it after reload if hot/cold partitioning has been done.
-	(class pass_postreload_jump): Rename to
-	pass_jump_after_combine.
-	(make_pass_postreload_jump): Rename to
-	make_pass_jump_after_combine.
-	* passes.def(pass_postreload_jump): Move before reload, rename
-	to pass_jump_after_combine.
-	* tree-pass.h (make_pass_postreload_jump): Rename to
-	make_pass_jump_after_combine.
-
-2019-10-25  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/92242
-	* ipa-fnsummary.c (ipa_merge_fn_summary_after_inlining): Check
-	for missing EDGE_REF
-	* ipa-prop.c (update_jump_functions_after_inlining): Likewise.
-
-2019-10-25  Jiufu Guo  <guojiufu@linux.ibm.com>
-
-	PR tree-optimization/88760
-	* config/rs6000/rs6000-common.c (rs6000_option_optimization_table):
-	Enable -funroll-loops for -O2 and above.
-	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
-	PARAM_MAX_UNROLL_TIMES to 2 and PARAM_MAX_UNROLLED_INSNS to 20, and
-	do not turn on web and rngreg implicitly, if the unroller is not
-	explicitly enabled.
-
-2019-10-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-prop.c (ipa_propagate_indirect_call_infos): Do not remove
-	jump functions.
-
-2019-10-27  Eric Botcazou <ebotcazou@adacore.com>
-
-	* cgraph.c (cgraph_node::rtl_info): Fix cut&pasto in comment.
-	* cgraph.h (cgraph_node::rtl_info): Likewise.
-
-2019-10-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-cp.c (propagate_constants_across_call): If args are not available
-	just drop everything to varying.
-	(find_aggregate_values_for_callers_subset): Watch for missing
-	edge summary.
-	(find_more_scalar_values_for_callers_subs): Likewise.
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge,
-	update_jump_functions_after_inlining, propagate_controlled_uses):
-	Watch for missing summaries.
-	(ipa_propagate_indirect_call_infos): Remove summary after propagation
-	is finished.
-	(ipa_write_node_info): Watch for missing summaries.
-	(ipa_read_edge_info): Create new ref.
-	(ipa_edge_args_sum_t): Add remove.
-	(IPA_EDGE_REF_GET_CREATE): New macro.
-	* ipa-fnsummary.c (evaluate_properties_for_edge): Watch for missing
-	edge summary.
-	(remap_edge_change_prob): Likewise.
-
-2019-10-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline-transform.c (inline_call): update function summaries
-	after expanidng thunk.
-
-2019-10-27  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-icf.c (sem_function::merge): Update function summaries.
-	* ipa-prop.h (ipa_get_param): Do not sanity check for WPA.
-
-2019-10-27  Hongtao Liu  <hongtao.liu@intel.com>
-
-	* config/i386/sse.md (*<sse>_vm<plusminus_insn><mode>3,
-	<sse>_vm<multdiv_mnemonic><mode>3): Remove <iptr> since
-	operand already has scalar mode.
-	(iptr): Remove SF/DF.
-
-2019-10-26  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR target/91289
-	* config/rs6000/rs6000-logue.c (rs6000_emit_allocate_stack): Don't add
-	an immediate to r0; use r11 instead.  Save and restore r11 to r0 around
-	this.
-
-2019-10-26  Hongtao Liu  <hongtao.liu@intel.com>
-
-	* config/i386/sse.md
-	(<sse>_vm<plusminus_insn><mode>3<mask_scalar_name><round_scalar_name>,
-	<sse>_vm<multdiv_mnemonic><mode>3<mask_scalar_name><round_scalar_name>,
-	<sse>_vmsqrt<mode>2<mask_scalar_name><round_scalar_name>,
-	<sse>_vm<code><mode>3<mask_scalar_name><round_saeonly_scalar_name>,
-	<sse>_vmmaskcmp<mode>3):
-	Change predicates from vector_operand to nonimmediate_operand,
-	constraints xBm to xm, since scalar operations don't need
-	memory address alignment.
-	(avx512f_vmcmp<mode>3<round_saeonly_name>,
-	avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Replace
-	round_saeonly_nimm_predicate with
-	round_saeonly_nimm_scalar_predicate.
-	(fmai_vmfmadd_<mode><round_name>, fmai_vmfmsub_<mode><round_name>,
-	fmai_vmfnmadd_<mode><round_name>,fmai_vmfnmsub_<mode><round_name>,
-	*fmai_fmadd_<mode>, *fmai_fmsub_<mode>,
-	*fmai_fnmadd_<mode><round_name>, *fmai_fnmsub_<mode><round_name>,
-	avx512f_vmfmadd_<mode>_mask3<round_name>,
-	avx512f_vmfmadd_<mode>_maskz_1<round_name>,
-	*avx512f_vmfmsub_<mode>_mask<round_name>,
-	avx512f_vmfmsub_<mode>_mask3<round_name>,
-	*avx512f_vmfmsub_<mode>_maskz_1<round_name>,
-	*avx512f_vmfnmadd_<mode>_mask<round_name>,
-	*avx512f_vmfnmadd_<mode>_mask3<round_name>,
-	*avx512f_vmfnmadd_<mode>_maskz_1<round_name>,
-	*avx512f_vmfnmsub_<mode>_mask<round_name>,
-	*avx512f_vmfnmsub_<mode>_mask3<round_name>,
-	*avx512f_vmfnmsub_<mode>_maskz_1<round_name>,
-	cvtusi2<ssescalarmodesuffix>32<round_name>,
-	cvtusi2<ssescalarmodesuffix>64<round_name>, ): Replace
-	round_nimm_predicate with round_nimm_scalr_predicate.
-	(avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>,
-	avx512f_sfixupimm<mode>_mask<round_saeonly_name>,
-	avx512er_vmrcp28<mode><round_saeonly_name>,
-	avx512er_vmrsqrt28<mode><round_saeonly_name>,
-	): Replace round_saeonly_nimm_predicate with
-	round_saeonly_nimm_scalar_predicate.
-	(avx512dq_vmfpclass<mode><mask_scalar_merge_name>): Replace
-	vector_operand with nonimmediate_operand.
-	* config/i386/subst.md (round_scalar_nimm_predicate,
-	round_saeonly_scalar_nimm_predicate): Replace
-	vector_operand with nonimmediate_operand.
-
-2019-10-26  Hongtao Liu  <hongtao.liu@intel.com>
-
-	PR target/89071
-	* config/i386/i386.md (*rcpsf2_sse): Add
-	avx_partial_xmm_update, prefer m constraint for TARGET_AVX.
-	(*rsqrtsf2_sse): Ditto.
-	(*sqrt<mode>2_sse): Ditto.
-	(sse4_1_round<mode>2): separate constraint vm, add
-	avx_partail_xmm_update, prefer m constraint for TARGET_AVX.
-	* config/i386/sse.md (*sse_vmrcpv4sf2"): New define_insn used
-	by pass rpad.
-	(*<sse>_vmsqrt<mode>2<mask_scalar_name><round_scalar_name>*):
-	Ditto.
-	(*sse_vmrsqrtv4sf2): Ditto.
-	(*avx512f_rndscale<mode><round_saeonly_name>): Ditto.
-	(*sse4_1_round<ssescalarmodesuffix>): Ditto.
-	(sse4_1_round<ssescalarmodesuffix>): Add m constraint and
-	<iptr> pointer size modifier since vround support memory operand.
-
-2019-10-18  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/85969
-	* config/avr/gen-avr-mmcu-specs.c (str_prefix_p): Remove unused
-	static function.
-
-2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
-	    Tobias Burnus  <tobias@codesourcery.com>
-
-	* gimplify.c (oacc_default_clause): Privatize fortran common blocks.
-	(omp_notice_variable): Defer the expansion of DECL_VALUE_EXPR for
-	common block decls.
-
-2019-10-25  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92222
-	* tree-vect-slp.c (_slp_oprnd_info::first_pattern): Remove.
-	(_slp_oprnd_info::second_pattern): Likewise.
-	(_slp_oprnd_info::any_pattern): New.
-	(vect_create_oprnd_info): Adjust.
-	(vect_get_and_check_slp_defs): Compute whether any stmt is
-	in a pattern.
-	(vect_build_slp_tree_2): Avoid building up a node from scalars
-	if any of the operand defs, not just the first, is in a pattern.
-
-2019-10-25  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_get_and_check_slp_defs): Only fail
-	swapping if we actually have to modify the IL on a shared stmt.
-	(vect_build_slp_tree_2): Never fail swapping on shared stmts
-	because we no longer modify the IL.
-
-2019-10-25  Martin Liska  <mliska@suse.cz>
-
-	* tree.c (dump_tree_statistics): Use sorted index 'j' and not 'i'.
-
-2019-10-25  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop.c (vectorizable_reduction): Restrict the
-	LOOP_VINFO_CAN_FULLY_MASK_P handling to cases that will be
-	handled by vect_transform_reduction.  Allow fully-masked loops
-	to be used with reduction chains.
-	* tree-vect-stmts.c (vectorizable_operation): Handle reduction
-	operations in fully-masked loops.
-	(vectorizable_condition): Reject EXTRACT_LAST_REDUCTION
-	operations in fully-masked loops.
-
-2019-10-25  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vectorizable_reduction): Verify
-	STMT_VINFO_REDUC_IDX on the to be vectorized stmts is set up
-	correctly.
-	* tree-vect-patterns.c (vect_mark_pattern_stmts): Transfer
-	STMT_VINFO_REDUC_IDX from the original stmts to the pattern
-	stmts.
-
-2019-10-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* gimplify.h (omp_construct_selector_matches): Declare.
-	* gimplify.c (struct gimplify_omp_ctx): Add code member.
-	(gimplify_call_expr): Call omp_resolve_declare_variant and remap
-	called function if needed for flag_openmp.
-	(gimplify_scan_omp_clauses): Set ctx->code.
-	(omp_construct_selector_matches): New function.
-	* omp-general.h (omp_constructor_traits_to_codes,
-	omp_context_selector_matches, omp_resolve_declare_variant): Declare.
-	* omp-general.c (omp_constructor_traits_to_codes,
-	omp_context_selector_matches, omp_resolve_declare_variant): New
-	functions.
-
-	* config/arc/arc.c (hwloop_optimize): Add missing space in string
-	literal.
-	* config/rx/rx.c (rx_print_operand): Likewise.
-	* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
-	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
-	* ipa-sra.c (create_parameter_descriptors, process_scan_results):
-	Likewise.
-	* genemit.c (emit_c_code): Likewise.
-	* plugin.c (try_init_one_plugin): Likewise.  Formatting fix.
-
-2019-10-24  Jan Hubicka  <hubicka@ucw.cz>
-
-	* symbols-summary.h (fast_function_summary<T *, V>::release,
-	fast_call_summary<T *, V>::release): Free m_vector.
-
-2019-10-24  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cgraphunit.c (symbol_table::process_new_functions): Call
-	ipa_free_size_summary.
-	* ipa-cp.c (ipcp_cloning_candidate_p): Update.
-	(devirtualization_time_bonus): Update.
-	(ipcp_propagate_stage): Update.
-	* ipa-fnsummary.c (ipa_size_summaries): New.
-	(ipa_fn_summary_alloc): Alloc size summary.
-	(dump_ipa_call_summary): Update.
-	(ipa_dump_fn_summary): Update.
-	(analyze_function_body): Update.
-	(compute_fn_summary): Likewise.
-	(ipa_get_stack_frame_offset): New function.
-	(inline_update_callee_summaries): Do not update frame offsets.
-	(ipa_merge_fn_summary_after_inlining): Update frame offsets here;
-	remove call and function summary.
-	(ipa_update_overall_fn_summary): Update.
-	(inline_read_section): Update.
-	(ipa_fn_summary_write): Update.
-	(ipa_free_fn_summary): Do not remove summaries.
-	(ipa_free_size_summary): New.
-	(release summary pass): Also run at WPA.
-	* ipa-fnsummary.h (ipa_size_summary): Declare.
-	(ipa_fn_summary): Remove size, self_size, stack_frame_offset,
-	estimated_self_stack_size.
-	(ipa_size_summary_t): New type.
-	(ipa_size_summaries): Declare.
-	(ipa_free_size_summary): Declare.
-	(ipa_get_stack_frame_offset): Declare.
-	* ipa-icf.c (sem_function::merge): Update.
-	* ipa-inline-analysis.c (estimate_size_after_inlining): Update.
-	(estimate_growth): Update.
-	(growth_likely_positive): Update.
-	(clone_inlined_nodes): Update.
-	(inline_call): Update.
-	* ipa-inline.c (caller_growth_limits): Update.
-	(edge_badness): Update.
-	(recursive_inlining): Update.
-	(inline_small_functions): Update.
-	(inline_to_all_callers_1): Update.
-	* ipa-prop.h (ipa_edge_args_sum_t): Update comment.
-
-2019-10-24  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/altivec.md (altivec_vavgu<VI_char>): Rename to...
-	(uavg<mode>3_ceil): ... This.
-	(altivec_vavgs<VI_char>): Rename to...
-	(avg<mode>3_ceil): ... This.
-	* config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH,
-	VAVGUW, VAVGSW): Adjust.
-
-2019-10-24  Nathan Sidwell  <nathan@acm.org>
-
-	* dumpfile.c (dump_begin): Reorder decls to use RAII.
-
-2019-10-24  Martin Liska  <mliska@suse.cz>
-
-	* symbol-summary.h (gt_pch_nx): Mark all functions
-	with gcc_unreachable as we do not expect to be called.
-
-2019-10-24  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_get_and_check_slp_defs): For reduction
-	chains try harder with operand swapping and instead of
-	putting a shifted chain into the reduction operands put
-	a repetition of the final reduction op there as if we'd
-	reassociate the expression.
-
-2019-10-24  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-reference.c (ipa_reference_optimization_summary_d): Rename
-	statics_not_read and statics_not_written to statics_read and
-	statics_written respectively.
-	(no_module_statics): New static var.
-	(ipa_reference_get_not_read_global): Rename to ...
-	(ipa_reference_get_read_global): ... this.
-	(ipa_reference_get_not_written_global): Rename to ...
-	(ipa_reference_get_written_global): ... this.
-	(dump_static_vars_set_to_file): Dump no_module_statics.
-	(copy_static_var_set): Add for propagation parameter.
-	(ipa_init): Initialize no_module_statics.
-	(ipa_ref_opt_summary_t::duplicate): Update.
-	(ipa_ref_opt_summary_t::remove): Update.
-	(propagate): Update.
-	(write_node_summary_p): Look correctly for bitmap differences.
-	(ipa_reference_write_optimization_summary): Update.
-	(ipa_reference_read_optimization_summary): Update.
-	* ipa-reference.h
-	(ipa_reference_get_not_read_global): Rename to ...
-	(ipa_reference_get_read_global): ... this.
-	(ipa_reference_get_not_written_global): Rename to ...
-	(ipa_reference_get_written_global): ... this.
-	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Update.
-	(call_may_clobber_ref_p_1): Update.
-
-2019-10-24  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430.c (msp430_hard_regno_nregs_has_padding): Remove
-	and add comment.
-	(msp430_hard_regno_nregs_with_padding): Remove.
-
-2019-10-24  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/constraints.md: Allow post_inc for "Ya" constraint.
-	* config/msp430/msp430.md (430x_shift_left): Use RLAM when the constant
-	shift amount is between 1 and 4.
-	(430x_arithmetic_shift_right): Use RRAM when the constant shift amount
-	is between 1 and 4.
-
-2019-10-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92205
-	* tree-vect-loop.c (vectorizable_reduction): Restrict
-	search for alternate vectype_in to lane-reducing patterns
-	we support.
-
-2019-10-24  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92203
-	* treee-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
-	Skip eliminating conversion stmts inserted by insertion.
-
-2019-10-24  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	* config/s390/s390.c (s390_get_thread_pointer): Use
-	gen_get_thread_pointer.
-	(s390_expand_split_stack_prologue): Likewise.
-	* config/s390/s390.md (UNSPEC_GET_TP): New UNSPEC.
-	(*get_tp_31): New 31-bit splitter for UNSPEC_GET_TP.
-	(*get_tp_64): New 64-bit splitter for UNSPEC_GET_TP.
-	(get_thread_pointer<mode>): Use UNSPEC_GET_TP, use
-	parameterized name.
-
-2019-10-24  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_analyze_slp): When reduction group
-	SLP discovery fails try to handle the reduction as part
-	of SLP reduction discovery.
-
-2019-10-23  Michael Meissner  <meissner@linux.ibm.com>
-
-	* config/rs6000/rs6000-protos.h (rs6000_adjust_insn_length): New
-	declaration.
-	* config/rs6000/rs6000.c (rs6000_insn_cost): Use num_insns insn
-	attribute if it exists, rather than the insn size.  If we use the
-	insn size, adjust the size to remove the extra size that prefixed
-	instructions take.
-	(rs6000_adjust_insn_length): New function.
-	* config/rs6000/rs6000.h (ADJUST_INSN_LENGTH): New target hook to
-	update the instruction sized if prefixed instructions are used.
-	* config/rs6000/rs6000.md (prefixed_length attribute): Delete.
-	(non_prefixed_length attribute): Delete.
-	(num_insns attribute): New insn attribute to return the number of
-	instructions.
-	(max_prefixed_insns attribute): New insn attribute to return the
-	maximum number of prefixed instructions in an insn.
-	(length attribute): Do not adjust for prefix instructions here,
-	punt to ADJUST_INSN_LENGTH.
-	(mov<mode>_64bit): Set max_prefixed_insns and num_insns.
-	(movtd_64bit_nodm): Set max_prefixed_insns and num_insns.
-	(mov<mode>_ppc64): Set max_prefixed_insns and num_insns.
-	* config/rs6000/vsx.md: (vsx_mov<mode>_64bit): Set
-	max_prefixed_insns and num_insns.
-
-	* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Reformat.
-	(movtd_64bit_nodm): Reformat.
-	(mov<mode>_32bit): Reformat.
-	(mov<mode>_softfloat): Reformat.
-	(FMOVE128_GPR splitter): Reformat.
-	(DIFD splitter): Reformat.
-	(TI2 splitter): Reformat.
-	* config/rs6000/predicates.md (lwa_operand): If the bottom two
-	bits of the offset for the memory address are non-zero, use PLWA
-	if prefixed instructions are available.
-
-2019-10-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* lto-streamer-out.c (cmp_symbol_files): Watch for overflow.
-
-2019-10-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-reference.c (varpool_removal_hook, ipa_reference_c_finalize): Fix
-	previous patch.
-
-2019-10-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* lto-streamer-out.c (output_constructor): Push CTORS_OUT timevar.
-	(cmp_symbol_files): New.
-	(lto_output): Copy sections in file order.
-	* lto-streamer.h (lto_file_decl_data): Add field order.
-
-2019-10-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-reference.h (ipa_reference_var_uid): Move offline.
-	* ipa-reference.c (reference_vars_map_t): new type.
-	(ipa_reference_vars_map, ipa_reference_vars_uids): New static vars.
-	(ipa_reference_var_uid): Implement.
-	(varpool_node_hooks): New static var.
-	(varpool_removal_hook): New function.
-	(is_improper): Do not check bitmap for id==-1
-	(get_static_name): Update.
-	(ipa_init): Initialize new datastructures.
-	(analyze_function): Do not recompute ids.
-	(propagate): Free reference_vars_to_consider.
-	(stream_out_bitmap): Update.
-	(ipa_reference_read_optimization_summary): Update.
-
-2019-10-23  qing zhao  <qing.zhao@oracle.com>
-
-	PR gcov-profile/91971
-	* coverage.c (coverage_init): Mangle the full path of filename when
-	filename is a absolute path.
-
-2019-10-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430-protos.h (msp430_has_hwmult): New.
-	* config/msp430/msp430.c (msp430_no_hwmult): Remove.
-	(msp430_has_hwmult): New.
-	(msp430_output_labelref):
-	s/msp430_hwmult_type != MSP430_HWMULT_NONE/msp430_has_hwmult ()/
-	* config/msp430/msp430.md (mulhisi3): Likewise.
-	(umulhisi3): Likewise.
-	(mulsidi3): Likewise.
-	(umulsidi3): Likewise.
-
-2019-10-23  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR ipa/92074
-	* params.def (inline-heuristics-hint-percent): Set to 600.
-
-2019-10-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/65930
-	* tree-vect-loop.c (check_reduction_path): Allow conversions
-	that only change the sign.
-	(vectorizable_reduction): Relax latch def stmts we handle further.
-
-2019-10-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/90231
-	* tree-ssa-loop-ivopts.c (get_debug_computation_at): New function.
-	(remove_unused_ivs): Use it instead of get_computation_at.  When
-	choosing best candidate, only consider candidates where
-	get_debug_computation_at actually returns non-NULL.
-
-2019-10-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR tree-optimization/92131
-	* tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting
-	range would be symbolic, drop to varying for any explicit overflow
-	in the constant part or if neither range is a singleton.
-
-2019-10-23  Martin Liska  <mliska@suse.cz>
-
-	PR middle-end/81669
-	* fibonacci_heap.h (fibonacci_node::fibonacci_node):
-	Initialize m_data.
-
-2019-10-23  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Use
-	int_mode_for_mode rather than mode_for_int_vector for scalars.
-
-2019-10-23  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92179
-	* tree-vect-stmts.c (vectorizable_shift): For shift args
-	that are all the same remove type restriction in the SLP case.
-	Adjust SLP code to handle converting of the shift arg to
-	only apply in case the modes are different.
-
-2019-10-23  Martin Liska  <mliska@suse.cz>
-
-	PR ipa/91969
-	* ipa-inline.c (recursive_inlining): Do not print
-	when curr->count is not initialized.
-
-2019-10-23  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-slp.c (vect_build_slp_tree_2): Do not build
-	op from scalars in case there's a constant operand in its
-	definition.
-
-2019-10-23  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard
-	against out of range max skip or log values.
-
-2019-10-22  Giuliano Belinassi  <giuliano.belinassi@usp.br>
-
-	* cgraph.c (dump_graphviz): Change name to dump_name
-
-2019-10-22  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (rsbsi_carryin_reg): New pattern.
-	* config/arm/arm.c (arm_rtx_costs_internal, case MINUS): Handle
-	subtraction from a carry operation.
-
-2019-10-22  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/predicates.md (arm_borrow_operation): Handle CC_ADCmode.
-
-2019-10-22  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92173
-	* tree-vect-loop.c (vectorizable_reduction): If
-	vect_transform_reduction cannot handle code-generation try without
-	the single-def-use-cycle optimization.  Pass optab_vector to
-	optab_for_tree_code to get vector shifts as that's what we'd
-	generate.
-
-2019-10-22  Michael Matz  <matz@suse.de>
-
-	PR middle-end/90796
-	* gimple-loop-jam.c (any_access_function_variant_p): New function.
-	(adjust_unroll_factor): Use it to constrain safety, new parameter.
-	(tree_loop_unroll_and_jam): Adjust call and profitable unroll factor.
-
-2019-10-22  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92173
-	* tree-vect-loop.c (vectorizable_reduction): If
-	vect_transform_reduction cannot handle code-generation try without
-	the single-def-use-cycle optimization.  Pass optab_vector to
-	optab_for_tree_code to get vector shifts as that's what we'd
-	generate.
-
-2019-10-22  Martin Liska  <mliska@suse.cz>
-
-	* diagnostic-format-json.cc (json_from_expanded_location):
-	Use json::integer_number.
-	* gcov.c (output_intermediate_json_line): Use new
-	json::integer_number.
-	(output_json_intermediate_file): Likewise.
-	* json.cc (number::print): Move to ...
-	(float_number::print): ... this.
-	(integer_number::print): New.
-	(test_writing_numbers): Move to ...
-	(test_writing_float_numbers): ... this.
-	(test_writing_integer_numbers): New.
-	(json_cc_tests): Register test_writing_integer_numbers.
-	* json.h (class value): Add forward declaration
-	for float_number and integer_number.
-	(enum kind): Add JSON_INTEGER and JSON_FLOAT.
-	(class number): Move to ...
-	(class float_number): ... this.
-	(class integer_number): New.
-	* optinfo-emit-json.cc (optrecord_json_writer::impl_location_to_json):
-	Use json::integer_number.
-	(optrecord_json_writer::location_to_json): Likewise.
-	(optrecord_json_writer::profile_count_to_json): Likewise.
-	(optrecord_json_writer::pass_to_json): Likewise.
-
-2019-10-22  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-slp.c (vect_slp_bb_region): Check whether
-	autodetected_vector_size rather than vector_size is zero.
-	* tree-vect-loop.c (vect_analyze_loop): Likewise.
-	Set autodetected_vector_size immediately after calling
-	vect_analyze_loop_2.  Check for a fatal error before advancing
-	next_size.
-
-2019-10-21  Jason Merrill  <jason@redhat.com>
-
-	* lock-and-run.sh: Check for process existence rather than timeout.
-
-2019-10-21  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* expr.c (expand_expr_real_2): Don't widen constant op1 when expanding
-	widening multiplication.
-
-2019-10-21  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/iterators.md (t2_binop0): Fix typo in comment.
-	* config/arm/arm.md (addsi3_carryin_shift): Simplify selection of the
-	type attribute.
-	(subsi3_carryin_shift): Separate into register and constant controlled
-	alternatives.  Use shift_amount_operand for operand 4.  Set shift
-	attribute and simplify type attribute.
-	(subsi3_carryin_shift_alt): Likewise.
-	(rsbsi3_carryin_shift): Likewise.
-	(rsbsi3_carryin_shift_alt): Likewise.
-	(andsi_not_shiftsi_si): Enable for TARGET_32BIT.  Separate constant
-	and register controlled shifts into distinct alternatives.
-	(andsi_not_shiftsi_si_scc_no_reuse): Likewise.
-	(andsi_not_shiftsi_si_scc): Likewise.
-	(arm_cmpsi_negshiftsi_si): Likewise.
-	(not_shiftsi): Remove redundant M constraint from alternative 1.
-	(not_shiftsi_compare0): Likewise.
-	(arm_cmpsi_insn): Remove redundant alternative 2.
-	(cmpsi_shift_swp): Likewise.
-	(sub_shiftsi): Likewise.
-	(sub_shiftsi_compare0_scratch): Likewise.
-	* config/arm/thumb2.md (thumb_andsi_not_shiftsi_si): Delete pattern.
-	(thumb2_cmpsi_neg_shiftsi): Likewise.
-
-2019-10-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92162
-	* tree-vect-loop.c (vect_create_epilog_for_reduction): Lookup
-	STMT_VINFO_REDUC_IDX in reduc_info.
-	* tree-vect-stmts.c (vectorizable_condition): Likewise.
-
-2019-10-21  Richard Biener  <rguenther@suse.de>
-
-	* tree-vectorizer.h (_slp_tree::ops): New member.
-	(SLP_TREE_SCALAR_OPS): New.
-	(vect_get_slp_defs): Adjust prototype.
-	* tree-vect-slp.c (vect_free_slp_tree): Release
-	SLP_TREE_SCALAR_OPS.
-	(vect_create_new_slp_node): Initialize it.  New overload for
-	initializing by an operands array.
-	(_slp_oprnd_info::ops): New member.
-	(vect_create_oprnd_info): Initialize it.
-	(vect_free_oprnd_info): Release it.
-	(vect_get_and_check_slp_defs): Populate the operands array.
-	Do not swap operands in the IL when not necessary.
-	(vect_build_slp_tree_2): Build SLP nodes for invariant operands.
-	Record SLP_TREE_SCALAR_OPS for all invariant nodes.  Also
-	swap operands in the operands array.  Do not swap operands in
-	the IL.
-	(vect_slp_rearrange_stmts): Re-arrange SLP_TREE_SCALAR_OPS as well.
-	(vect_gather_slp_loads): Fix.
-	(vect_detect_hybrid_slp_stmts): Likewise.
-	(vect_slp_analyze_node_operations_1): Search for a internal
-	def child for computing reduction SLP_TREE_NUMBER_OF_VEC_STMTS.
-	(vect_slp_analyze_node_operations): Skip ops-only stmts for
-	the def-type push/pop dance.
-	(vect_get_constant_vectors): Compute number_of_vectors here.
-	Use SLP_TREE_SCALAR_OPS and simplify greatly.
-	(vect_get_slp_vect_defs): Use gimple_get_lhs also for PHIs.
-	(vect_get_slp_defs): Simplify greatly.
-	* tree-vect-loop.c (vectorize_fold_left_reduction): Simplify.
-	(vect_transform_reduction): Likewise.
-	* tree-vect-stmts.c (vect_get_vec_defs): Simplify.
-	(vectorizable_call): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_load): Likewise.
-	(vectorizable_condition): Likewise.
-	(vectorizable_comparison): Likewise.
-
-2019-10-21  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92161
-	* tree-vect-loop.c (vect_analyze_loop_2): Reset stmts def-type
-	for reductions.
-
-2019-10-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
-
-	* config/aarch64/aarch64.md (UNSPEC_RNDR, UNSPEC_RNDRRS): Define.
-	(aarch64_rndr): New define_insn.
-	(aarch64_rndrrs): Likewise.
-	* config/aarch64/aarch64.h (AARCH64_ISA_RNG): Define.
-	(TARGET_RNG): Likewise.
-	* config/aarch64/aarch64.c (aarch64_expand_builtin): Use IGNORE
-	argument.
-	* config/aarch64/aarch64-protos.h (aarch64_general_expand_builtin):
-	Add fourth argument in prototype.
-	* config/aarch64/aarch64-builtins.c (enum aarch64_builtins):
-	Add AARCH64_BUILTIN_RNG_RNDR, AARCH64_BUILTIN_RNG_RNDRRS.
-	(aarch64_init_rng_builtins): Define.
-	(aarch64_general_init_builtins): Call aarch64_init_rng_builtins.
-	(aarch64_expand_rng_builtin): Define.
-	(aarch64_general_expand_builtin): Use IGNORE argument, handle
-	RNG builtins.
-	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
-	__ARM_FEATURE_RNG when TARGET_RNG.
-	* config/aarch64/arm_acle.h (__rndr, __rndrrs): Define.
-
-2019-10-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* tree-vect-stmts (ensure_base_align): Only change alignment if new
-	alignment is more restrictive.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vec_info::vector_size): New member variable.
-	(vect_update_max_nunits): Update comment.
-	(current_vector_size): Delete.
-	* tree-vect-stmts.c (current_vector_size): Likewise.
-	(get_vectype_for_scalar_type): Use vec_info::vector_size instead
-	of current_vector_size.
-	(get_mask_type_for_scalar_type): Likewise.
-	* tree-vectorizer.c (try_vectorize_loop_1): Likewise.
-	* tree-vect-loop.c (vect_update_vf_for_slp): Likewise.
-	(vect_analyze_loop, vect_halve_mask_nunits): Likewise.
-	(vect_double_mask_nunits, vect_transform_loop): Likewise.
-	* tree-vect-slp.c (can_duplicate_and_interleave_p): Likewise.
-	(vect_make_slp_decision, vect_slp_bb_region): Likewise.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_double_mask_nunits): Take a vec_info.
-	* tree-vect-loop.c (vect_double_mask_nunits): Likewise.
-	* tree-vect-stmts.c (supportable_narrowing_operation):  Update call
-	accordingly.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_halve_mask_nunits): Take a vec_info.
-	* tree-vect-loop.c (vect_halve_mask_nunits): Likewise.
-	* tree-vect-loop-manip.c (vect_maybe_permute_loop_masks): Update
-	call accordingly.
-	* tree-vect-stmts.c (supportable_widening_operation): Likewise.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-loop-manip.c (vect_maybe_permute_loop_masks): Take
-	a loop_vec_info.
-	(vect_set_loop_condition_masked): Update call accordingly.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (supportable_narrowing_operation): Take a vec_info.
-	* tree-vect-stmts.c (supportable_narrowing_operation): Likewise.
-	(simple_integer_narrowing): Update call accordingly.
-	(vectorizable_conversion): Likewise.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-stmts.c (simple_integer_narrowing): Take a vec_info.
-	(vectorizable_call): Update call accordingly.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (can_duplicate_and_interleave_p): Take a vec_info.
-	* tree-vect-slp.c (can_duplicate_and_interleave_p): Likewise.
-	(duplicate_and_interleave): Update call accordingly.
-	* tree-vect-loop.c (vectorizable_reduction): Likewise.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (duplicate_and_interleave): Take a vec_info.
-	* tree-vect-slp.c (duplicate_and_interleave): Likewise.
-	(vect_get_constant_vectors): Update call accordingly.
-	* tree-vect-loop.c (get_initial_defs_for_reduction): Likewise.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (get_vectype_for_scalar_type): Take a vec_info.
-	* tree-vect-stmts.c (get_vectype_for_scalar_type): Likewise.
-	(vect_prologue_cost_for_slp_op): Update call accordingly.
-	(vect_get_vec_def_for_operand, vect_get_gather_scatter_ops)
-	(vect_get_strided_load_store_ops, vectorizable_simd_clone_call)
-	(vect_supportable_shift, vect_is_simple_cond, vectorizable_comparison)
-	(get_mask_type_for_scalar_type): Likewise.
-	(vect_get_vector_types_for_stmt): Likewise.
-	* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
-	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
-	(get_initial_def_for_reduction, build_vect_cond_expr): Likewise.
-	* tree-vect-patterns.c (vect_supportable_direct_optab_p): Likewise.
-	(vect_split_statement, vect_convert_input): Likewise.
-	(vect_recog_widen_op_pattern, vect_recog_pow_pattern): Likewise.
-	(vect_recog_over_widening_pattern, vect_recog_mulhs_pattern): Likewise.
-	(vect_recog_average_pattern, vect_recog_cast_forwprop_pattern)
-	(vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern)
-	(vect_synth_mult_by_constant, vect_recog_mult_pattern): Likewise.
-	(vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern)
-	(check_bool_pattern, adjust_bool_pattern_cast, adjust_bool_pattern)
-	(search_type_for_mask_1, vect_recog_bool_pattern): Likewise.
-	(vect_recog_mask_conversion_pattern): Likewise.
-	(vect_add_conversion_to_pattern): Likewise.
-	(vect_recog_gather_scatter_pattern): Likewise.
-	* tree-vect-slp.c (vect_build_slp_tree_2): Likewise.
-	(vect_analyze_slp_instance, vect_get_constant_vectors): Likewise.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (get_mask_type_for_scalar_type): Take a vec_info.
-	* tree-vect-stmts.c (get_mask_type_for_scalar_type): Likewise.
-	(vect_check_load_store_mask): Update call accordingly.
-	(vect_get_mask_type_for_stmt): Likewise.
-	* tree-vect-patterns.c (check_bool_pattern): Likewise.
-	(search_type_for_mask_1, vect_recog_mask_conversion_pattern): Likewise.
-	(vect_convert_mask_for_vectype): Likewise.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-patterns.c (vect_supportable_direct_optab_p): Take
-	a vec_info.
-	(vect_recog_dot_prod_pattern): Update call accordingly.
-	(vect_recog_sad_pattern, vect_recog_pow_pattern): Likewise.
-	(vect_recog_widen_sum_pattern): Likewise.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.h (vect_supportable_shift): Take a vec_info.
-	* tree-vect-stmts.c (vect_supportable_shift): Likewise.
-	* tree-vect-patterns.c (vect_synth_mult_by_constant): Update call
-	accordingly.
-
-2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vectorizer.c (get_vec_alignment_for_array_type): Use
-	get_vectype_for_scalar_type_and_size instead of
-	get_vectype_for_scalar_type.
-
-2019-10-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* common.opt (-fcommon): Fix description.
-
-2019-10-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386-protos.h (ix86_pre_reload_split): Declare.
-	* config/i386/i386.c (ix86_pre_reload_split): New function.
-	* config/i386/i386.md (*fix_trunc<mode>_i387_1, *add<mode>3_eq,
-	*add<mode>3_ne, *add<mode>3_eq_0, *add<mode>3_ne_0, *add<mode>3_eq,
-	*add<mode>3_ne, *add<mode>3_eq_1, *add<mode>3_eq_0, *add<mode>3_ne_0,
-	*anddi3_doubleword, *andndi3_doubleword, *<code>di3_doubleword,
-	*one_cmpldi2_doubleword, *ashl<dwi>3_doubleword_mask,
-	*ashl<dwi>3_doubleword_mask_1, *ashl<mode>3_mask, *ashl<mode>3_mask_1,
-	*<shift_insn><mode>3_mask, *<shift_insn><mode>3_mask_1,
-	*<shift_insn><dwi>3_doubleword_mask,
-	*<shift_insn><dwi>3_doubleword_mask_1, *<rotate_insn><mode>3_mask,
-	*<rotate_insn><mode>3_mask_1, *<btsc><mode>_mask, *<btsc><mode>_mask_1,
-	*btr<mode>_mask, *btr<mode>_mask_1, *jcc_bt<mode>, *jcc_bt<mode>_1,
-	*jcc_bt<mode>_mask, *popcounthi2_1, frndintxf2_<rounding>,
-	*fist<mode>2_<rounding>_1, *<code><mode>3_1, *<code>di3_doubleword):
-	Use ix86_pre_reload_split instead of can_create_pseudo_p in condition.
-	* config/i386/sse.md (*sse4_1_<code>v8qiv8hi2<mask_name>_2,
-	*avx2_<code>v8qiv8si2<mask_name>_2,
-	*sse4_1_<code>v4qiv4si2<mask_name>_2,
-	*sse4_1_<code>v4hiv4si2<mask_name>_2,
-	*avx512f_<code>v8qiv8di2<mask_name>_2,
-	*avx2_<code>v4qiv4di2<mask_name>_2, *avx2_<code>v4hiv4di2<mask_name>_2,
-	*sse4_1_<code>v2hiv2di2<mask_name>_2,
-	*sse4_1_<code>v2siv2di2<mask_name>_2, sse4_2_pcmpestr,
-	sse4_2_pcmpistr): Likewise.
-
-2019-10-20  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Configuration, --enable-objc-gc): hboehm.info
-	now defaults to https.
-
-2019-10-20  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-alias.c (nonoverlapping_refs_since_match_p): Do not
-	skip non-zero array accesses.
-
-2019-10-20  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-slp.c (vect_slp_analyze_bb_1): Take a bb_vec_info
-	and return a boolean success value.  Move the allocation and
-	initialization of the bb_vec_info to...
-	(vect_slp_bb_region): ...here.  Update call accordingly.
-	(vect_slp_bb): Apply PARAM_SLP_MAX_INSNS_IN_BB here rather
-	than in vect_slp_analyze_bb_1.
-
-2019-10-20  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-vect-slp.c (vect_slp_analyze_bb_1): Call save_datarefs
-	when processing the given datarefs for the first time and
-	check_datarefs subsequently.
-	(vect_slp_bb_region): New function, split out of...
-	(vect_slp_bb): ...here.  Don't recompute the region bounds and
-	dataref sets when retrying with a different vector size.
-
-2019-10-19  Jakub Jelinek  <jakub@redhat.com>
-	    Uroš Bizjak  <ubizjak@gmail.com>
-
-	PR target/92140
-	* config/i386/predicates.md (int_nonimmediate_operand): New special
-	predicate.
-	* config/i386/i386.md (*add<mode>3_eq, *add<mode>3_ne,
-	*add<mode>3_eq_0, *add<mode>3_ne_0, *sub<mode>3_eq, *sub<mode>3_ne,
-	*sub<mode>3_eq_1, *sub<mode>3_eq_0, *sub<mode>3_ne_0): New
-	define_insn_and_split patterns.
-
-2019-10-19  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/rs6000/rs6000.md: Delete out--of-date comment about
-	special-casing integer loads.
-
-2019-10-19  JeanHeyd Meneide  <phdofthehouse@gmail.com>
-
-	* escaped_string.h (escaped_string): New header.
-	* tree.c (escaped_string): Remove escaped_string class.
-
-2019-10-18  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/92157
-	* tree-ssa-strlen.c (handle_builtin_string_cmp): Be prepared for
-	compute_string_length to return a negative result.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (negv<SIDI:mode>3): New expansion rule.
-	(negvsi3, negvdi3): Delete.
-	(negdi2_compare): Delete.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (subvdi4): Decompose calculation into 32-bit
-	operations.
-	(subdi3_compare1): Delete pattern.
-	(subvsi3_borrow): New insn pattern.
-	(subvsi3_borrow_imm): Likewise.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (subv<mode>4): Delete.
-	(subvdi4): New expander pattern.
-	(subvsi4): Likewise.  Handle some immediate values.
-	(subvsi3_intmin): New insn pattern.
-	(subvsi3): Likewise.
-	(subvsi3_imm1): Likewise.
-	* config/arm/arm.c (select_cc_mode): Also allow minus for CC_V
-	idioms.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (usubvdi4): Allow registers or integers for
-	incoming operands.  Early split the calculation into SImode
-	operations.
-	(usubvsi3_borrow): New insn pattern.
-	(usubvsi3_borrow_imm): Likewise.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (usubv<mode>4): Delete expansion.
-	(usubvsi4): New pattern.  Allow some immediate values for inputs.
-	(usubvdi4): New pattern.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (arm_select_cc_mode): Allow either the first
-	or second operand of the PLUS inside a DImode equality test to be
-	sign-extend when selecting CC_Vmode.
-	* config/arm/arm.md (addvdi4): Early-split the operation into SImode
-	instructions.
-	(addsi3_cin_vout_reg, addsi3_cin_vout_imm, addsi3_cin_vout_0): New
-	expand patterns.
-	(addsi3_cin_vout_reg_insn, addsi3_cin_vout_imm_insn): New patterns.
-	(addsi3_cin_vout_0): Likewise.
-	(adddi3_compareV): Delete.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (addsi3_compareV_reg_nosum): New insn.
-	(addsi3_compareV_imm_nosum): New insn.  Also add peephole2 patterns
-	to transform this back into the summation version when that leads
-	to smaller code.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (addv<mode>4): Delete.
-	(addvsi4): New pattern.  Handle immediate values that the architecture
-	supports.
-	(addvdi4): New pattern.
-	(addsi3_compareV): Rename to ...
-	(addsi3_compareV_reg): ... this.  Add constraints for thumb2 variants
-	and use COMPARE rather than NE.
-	(addsi3_compareV_imm): New pattern.
-	* config/arm/arm.c (arm_select_cc_mode): Return CC_Vmode for
-	a signed-overflow check.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-modes.def (CC_ADC): New CC mode.
-	* config/arm/arm.c (arm_select_cc_mode): Detect selection of
-	CC_ADCmode.
-	(maybe_get_arm_condition_code): Handle CC_ADCmode.
-	* config/arm/arm.md (uaddvdi4): Early expansion of unsigned addition
-	with overflow.
-	(addsi3_cin_cout_reg, addsi3_cin_cout_imm, addsi3_cin_cout_0): New
-	expand patterns.
-	(addsi3_cin_cout_reg_insn, addsi3_cin_cout_0_insn): New insn patterns
-	(addsi3_cin_cout_imm_insn): Likewise.
-	(adddi3_compareC): Delete insn.
-	* config/arm/predicates.md (arm_carry_operation): Handle CC_ADCmode.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (adddi3): Call gen_addsi3_compare_op1.
-	* (uaddv<mode>4): Delete expansion pattern.
-	(uaddvsi4): New pattern.
-	(uaddvdi4): Likewise.
-	(addsi3_compareC): Delete pattern, change callers to use
-	addsi3_compare_op1.
-	(addsi3_compare_op1): No-longer anonymous.  Clean up constraints to
-	reduce the number of alternatives and re-work type attribute handling.
-	(addsi3_compare_op2): Clean up constraints to reduce the number of
-	alternatives and re-work type attribute handling.
-	(compare_addsi2_op0): Likewise.
-	(compare_addsi2_op1): Likewise.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-modes.def (CC_NCV, CC_CZ): Delete CC modes.
-	* config/arm/arm.c (arm_select_cc_mode): Remove old selection code
-	for DImode operands.
-	(arm_gen_dicompare_reg): Remove unreachable expansion code.
-	(maybe_get_arm_condition_code): Remove support for CC_CZmode and
-	CC_NCVmode.
-	* config/arm/arm.md (arm_cmpdi_insn): Delete.
-	(arm_cmpdi_unsigned): Delete.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (arm_const_double_prefer_rsbs_rsc): New function.
-	(arm_canonicalize_comparison): For GT/LE/GTU/GEU, use the constant
-	unchanged only if that will be cheaper.
-	(arm_select_cc_mode): Recognize a swapped comparison that will
-	be regenerated using RSBS or RSCS.  Relax restriction on selecting
-	CC_RSBmode.
-	(arm_gen_dicompare_reg): Handle LE/GT/LEU/GEU comparisons against
-	a constant.
-	(arm_gen_compare_reg): Handle compare (CONST, X) when the mode
-	is CC_RSBmode.
-	(maybe_get_arm_condition_code): CC_RSBmode now returns the same codes
-	as CCmode.
-	* config/arm/arm.md (rsb_imm_compare_scratch): New pattern.
-	(rscsi3_<CC_EXTEND>out_scratch): New pattern.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-modes.def (CC_NV, CC_B): New CC modes.
-	* config/arm/arm.c (arm_select_cc_mode): Recognize constructs that
-	need these modes.
-	(arm_gen_dicompare_reg): New code to early expand the sub-operations
-	of EQ, NE, LT, GE, LTU and GEU.
-	* config/arm/iterators.md (CC_EXTEND): New code attribute.
-	* config/arm/predicates.md (arm_adcimm_operand): New predicate..
-	* config/arm/arm.md (cmpsi3_carryin_<CC_EXTEND>out): New pattern.
-	(cmpsi3_imm_carryin_<CC_EXTEND>out): Likewise.
-	(cmpsi3_0_carryin_<CC_EXTEND>out): Likewise.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (cbranchdi4): Accept reg_or_int_operand for
-	operand 2.
-	(cstoredi4): Similarly, but for operand 3.
-	* config/arm/arm.c (arm_canoncialize_comparison): Allow
-	canonicalization of unsigned compares with a constant on Arm.
-	Prefer using const+1 and adjusting the comparison over swapping the
-	operands whenever the original constant was not valid.
-	(arm_gen_dicompare_reg): If Y is not a valid operand, force it to a
-	register here.
-	(arm_validize_comparison): Do not force invalid DImode operands to
-	registers here.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (arm_select_cc_mode): For DImode equality tests
-	return CC_Zmode if comparing against a constant where one word is
-	zero.
-	(arm_gen_compare_reg): Split DImode handling to ...
-	(arm_gen_dicompare_reg): ... here.  Handle equality comparisons
-	against simple constants.
-	* config/arm/arm.md (arm_cmpdi_zero): Delete pattern.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (subsi3_carryin_shift_alt): New pattern.
-	(rsbsi3_carryin_shift_alt): Likewise.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (negscc_borrow): New pattern.
-	(mov_negscc): Don't split if the insn would match negscc_borrow.
-	* config/arm/thumb2.md (thumb2_mov_negscc): Likewise.
-	(thumb2_mov_negscc_strict_it): Likewise.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (arm_insn_cost): New function.
-	(TARGET_INSN_COST): Override default definition.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (arm_rtx_costs_internal, case MINUS): Handle
-	borrow operations.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (strip_carry_operation): New function.
-	(arm_rtx_costs_internal, case PLUS): Handle addtion with carry-in
-	for SImode.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/predicates.md (arm_carry_operation): New special
-	predicate.
-	* config/arm/iterators.md (LTUGEU): Delete iterator.
-	(cnb): Delete code attribute.
-	(optab): Delete ltu and geu elements.
-	* config/arm/arm.md (addsi3_carryin): Renamed from
-	addsi3_carryin_<optab>.  Remove iterator and use arm_carry_operand.
-	(add0si3_carryin): Similarly, but from add0si3_carryin_<optab>.
-	(addsi3_carryin_alt2): Similarly, but from addsi3_carryin_alt2_<optab>.
-	(addsi3_carryin_clobercc): Similarly.
-	(addsi3_carryin_shift): Similarly.  Do not allow register shifts in
-	Thumb2 state.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (arm_subdi3): Delete insn.
-	(zextendsidi_negsi, negdi_extendsidi): Delete insn_and_split.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-modes.def (CC_RSB): New CC mode.
-	* config/arm/predicates.md (arm_borrow_operation): Handle CC_RSBmode.
-	* config/arm/arm.c (arm_select_cc_mode): Detect when we should
-	return CC_RSBmode.
-	(maybe_get_arm_condition_code): Handle CC_RSBmode.
-	* config/arm/arm.md (subsi3_carryin): Make this pattern available to
-	expand.
-	(subdi3): Rewrite to early-expand the sub-operations.
-	(rsb_im_compare): New pattern.
-	(negdi2): Delete.
-	(negdi2_insn): Delete.
-	(arm_negsi2): Correct type attribute to alu_imm.
-	(negsi2_0compare): New insn pattern.
-	(negsi2_carryin): New insn pattern.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (addsi3_carryin_alt2): Use arm_not_operand for
-	operand 2.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (addsi3_carryin_shift_<optab>): Reorder operands
-	to match canonical form.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.md (zero_extend<mode>di2): Convert to define_expand.
-	(extend<mode>di2): Likewise.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-protos.h (arm_decompose_di_binop): New prototype.
-	* config/arm/arm.c (arm_decompose_di_binop): New function.
-	* config/arm/arm.md (adddi3): Also accept any const_int for op2.
-	If not generating Thumb-1 code, decompose the operation into 32-bit
-	pieces.
-	* add0si_carryin_<optab>: New pattern.
-
-2019-10-18  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.md (adddi3): Only accept register operands.
-	(arm_adddi3): Convert to simple insn with no split.  Do not accept
-	constants.
-	(adddi_sesidi_di): Delete patern.
-	(adddi_zesidi_di): Likewise.
-	(uaddv<mode>4): Use LTU as condition for branch.
-	(adddi3_compareV): Convert to simple insn with no split.
-	(addsi3_compareV_upper): Delete pattern.
-	(adddi3_compareC): Convert to simple insn with no split.  Correct
-	flags setting expression.
-	(addsi3_compareC_upper): Delete pattern.
-	(addsi3_compareC): Correct flags setting expression.
-	(subdi3_compare1): Convert to simple insn with no split.
-	(subsi3_carryin_compare): Delete pattern.
-	(arm_subdi3): Convert to simple insn with no split.
-	(subdi_zesidi): Delete pattern.
-	(subdi_di_sesidi): Delete pattern.
-	(subdi_zesidi_di): Delete pattern.
-	(subdi_sesidi_di): Delete pattern.
-	(subdi_zesidi_zesidi): Delete pattern.
-	(negvdi3): Use s_register_operand.
-	(negdi2_compare): Convert to simple insn with no split.
-	(negdi2_insn): Likewise.
-	(negsi2_carryin_compare): Delete pattern.
-	(negdi_zero_extendsidi): Delete pattern.
-	(arm_cmpdi_insn): Convert to simple insn with no split.
-	(negdi2): Don't call gen_negdi2_neon.
-	* config/arm/neon.md (adddi3_neon): Delete pattern.
-	(subdi3_neon): Delete pattern.
-	(negdi2_neon): Delete pattern.
-	(splits for negdi2_neon): Delete splits.
-
-2019-10-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/92153
-	* ggc-page.c (release_pages): Read g->alloc_size before free rather
-	than after it.
-
-2019-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* config/arm/t-multilib: Add rule to regenerate mutlilib header file
-	with any change to t-multilib, t-aprofile and t-rmprofile.  Also add
-	new multilib variants and new mappings.
-
-2019-10-18  Georg-Johann Lay  <avr@gjlay.de>
-
-	PR target/86040
-	* config/avr/avr.c (avr_out_lpm): Do not shortcut-return.
-
-2019-10-18  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-	    Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR target/86753
-	* tree-vectorizer.h (scalar_cond_masked_key): New struct,
-	and define hashmap traits for it.
-	(loop_vec_info::scalar_cond_masked_set): New member.
-	(vect_record_loop_mask): Adjust prototype.
-	* tree-vectorizer.c (scalar_cond_masked_key::get_cond_ops_from_tree):
-	Implement method.
-	* tree-vect-loop.c (vectorizable_reduction): Pass NULL as last arg to
-	vect_record_loop_mask.
-	(vectorizable_live_operation): Likewise.
-	(vect_record_loop_mask): New param scalar_mask. Add entry
-	cond, loop_mask	to scalar_cond_masked_set if scalar_mask is non NULL.
-	* tree-vect-stmts.c (check_load_store_masking): New param scalar_mask.
-	Pass it as last arg to vect_record_loop_mask.
-	(vectorizable_call): Pass scalar_mask as last arg to
-	vect_record_loop_mask.
-	(vectorizable_store): Likewise.
-	(vectorizable_load): Likewise.
-	(vectorizable_condition): Check if another part of vectorized code
-	applies loop_mask to condition or to it's inverse, and if yes,
-	apply loop_mask to result of vector comparison.
-
-2019-10-17  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_output_indirect_call): Fix typos in last change.
-
-2019-10-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92056
-	* tree-ssa-strlen.c (determine_min_objsize): Call init_object_sizes
-	before calling compute_builtin_object_size.
-
-2019-10-17  Iain Sandoe  <iain@sandoe.co.uk>
-
-	PR target/65342
-	* config/rs6000/darwin.md (movdi_low, movsi_low_st): Delete.
-	(movdi_low_st): Delete.
-	* config/rs6000/rs6000.c
-	(darwin_rs6000_legitimate_lo_sum_const_p): New.
-	(mem_operand_gpr): Validate Mach-O LO_SUM cases separately.
-	* config/rs6000/rs6000.md (movsi_low): Delete.
-
-2019-10-17  Jason Merrill  <jason@redhat.com>
-
-	* gimplify.h (get_initialized_tmp_var): Add default argument to
-	post_p.
-	* gimplify.c (gimplify_self_mod_expr, gimplify_omp_atomic): Remove
-	NULL post_p argument.
-	* targhooks (std_gimplify_va_arg_expr): Likewise.
-
-2019-10-17  Richard Biener  <rguenther@suse.de>
-
-	* tree-vectorizer.h (_stmt_vec_info::cond_reduc_code): Remove.
-	(STMT_VINFO_VEC_COND_REDUC_CODE): Likewise.
-	* tree-vectorizer.c (vec_info::new_stmt_vec_info): Do not
-	initialize STMT_VINFO_VEC_COND_REDUC_CODE.
-	* tree-vect-loop.c (vect_is_simple_reduction): Set
-	STMT_VINFO_REDUC_CODE.
-	(vectorizable_reduction): Remove dead and redundant code, use
-	STMT_VINFO_REDUC_CODE instead of STMT_VINFO_VEC_COND_REDUC_CODE.
-
-2019-10-17  Georg-Johann Lay  <avr@gjlay.de>
-
-	Fix breakage introduced by r276985.
-
-	* config/avr/avr.c (avr_option_override): Remove set of
-	PARAM_ALLOW_STORE_DATA_RACES.
-	* common/config/avr/avr-common.c (avr_option_optimization_table)
-	[OPT_LEVELS_ALL]: Turn on -fallow-store-data-races.
-
-2019-10-17  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.h (processor_costs): Add clear_ratio.
-	(CLEAR_RATIO): Remove MIN and use ix86_cost->clear_ratio.
-	* config/i386/x86-tune-costs.h: Set clear_ratio to the minimum
-	of 6 and move_ratio in all cost models.
-
-2019-10-17  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (check_reduction_path): Compute reduction
-	operation here.
-	(vect_is_simple_reduction): Remove special-case of single-stmt
-	reduction path detection.
-
-2019-10-17  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm-cpus.in (marvel-pj4): Add +fp to the architecture.
-
-2019-10-17  Yuliang Wang  <yuliang.wang@arm.com>
-
-	* config/aarch64/aarch64-sve2.md (aarch64_sve2_eor3<mode>)
-	(aarch64_sve2_nor<mode>, aarch64_sve2_nand<mode>)
-	(aarch64_sve2_bsl<mode>, aarch64_sve2_nbsl<mode>)
-	(aarch64_sve2_bsl1n<mode>, aarch64_sve2_bsl2n<mode>):
-	New combine patterns.
-	* config/aarch64/iterators.md (BSL_DUP): New int iterator for the
-	above.
-	(bsl_1st, bsl_2nd, bsl_dup, bsl_mov): Attributes for the above.
-
-2019-10-17  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (value_range_base::dump): Display +INF for both
-	pointers and integers when appropriate.
-
-2019-10-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* tree-vect-loop.c (vect_analyze_loop_2): Use same condition to decide
-	when to use versioning threshold.
-
-2019-10-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* tree-vect-loop.c (determine_peel_for_niter): New function contained
-	outlined code from ...
-	(vect_analyze_loop_2): ... here.
-
-2019-10-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>
-
-	* tree-vect-loop.c (vect_transform_loop): Move code from here...
-	* tree-vect-loop-manip.c (vect_loop_versioning): ... to here.
-	* tree-vectorizer.h (vect_loop_versioning): Remove unused parameters.
-
-2019-10-17  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (needs_fold_left_reduction_p): Export.
-	(vect_is_simple_reduction): Move all validity checks ...
-	(vectorizable_reduction): ... here.  Compute whether we
-	need a fold-left reduction here.
-	* tree-vect-patterns.c (vect_reassociating_reduction_p): Merge
-	both overloads, check needs_fold_left_reduction_p directly.
-	* tree-vectorizer.h (needs_fold_left_reduction_p): Declare.
-
-2019-10-17  Richard Biener  <rguenther@suse.de>
-
-	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Fix
-	TARGET_MEM_REF creation.
-
-2019-10-17  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92129
-	* tree-vect-loop.c (vectorizable_reduction): Also fail
-	on GIMPLE_SINGLE_RHS.
-
-2019-10-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/92056
-	* tree-object-size.c (cond_expr_object_size): Return early if then_
-	processing resulted in unknown size.
-
-	PR tree-optimization/92115
-	* tree-ssa-ifcombine.c (ifcombine_ifandif): Force condition into
-	temporary if it could trap.
-
-2019-10-17  Richard Biener  <rguenther@suse.de>
-
-	PR debug/91887
-	* dwarf2out.c (gen_formal_parameter_die): Also try to match
-	context_die against a DW_TAG_GNU_formal_parameter_pack parent.
-
-2019-10-16  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-ssa-strlen.c (maybe_invalidate): Use
-	HOST_WIDE_INT_PRINT_UNSIGNED instead of "%zu".
-
-2019-10-16  Andrew Burgess  <andrew.burgess@embecosm.com>
-	    Jim Wilson  <jimw@sifive.com>
-
-	* config/riscv/riscv.h (REG_CLASS_CONTENTS): Add argument passing
-	regs to SIBCALL_REGS.
-	* config/riscv/riscv.c (riscv_regno_to_class): Change argument
-	passing regs to SIBCALL_REGS.
-
-2019-10-16  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/83821
-	* tree-ssa-strlen.c (maybe_invalidate): Add argument.  Consider
-	the length of a string when available.
-	(handle_builtin_memset) Add argument.
-	(handle_store, strlen_check_and_optimize_call): Same.
-	(check_and_optimize_stmt): Same.  Pass it to callees.
-
-2019-10-16  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/91996
-	* tree-ssa-strlen.c (maybe_warn_pointless_strcmp): Improve location
-	information.
-	(compare_nonzero_chars): Add an overload.
-	(count_nonzero_bytes): Add an argument.  Call overload above.
-	Handle non-constant lengths in some range.
-	(handle_store): Add an argument.
-	(check_and_optimize_stmt): Pass an argument to handle_store.
-
-2019-10-16  Richard Earnshaw  <rearnsha@arm.com>
-
-	* config/arm/arm.c (neon_valid_immediate): Clear bytes before use.
-
-2019-10-16  Mihailo Stojanovic  <mistojanovic@wavecomp.com>
-
-	* config/mips/mips.c (mips_expand_builtin_insn): Force the
-	operands which correspond to the same input-output register to
-	have the same pseudo assigned to them.
-
-2019-10-16  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	* cfgrtl.c (find_partition_fixes): Remove bbs_in_cold_partition.
-
-2019-10-16  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_classify_symbol):
-	Apply reasonable limit to symbol offsets.
-
-2019-10-16  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_valid_reduction_input_p): Remove.
-	(vect_is_simple_reduction): Delay checking to
-	vectorizable_reduction and relax the checking.
-	(vectorizable_reduction): Check we have a simple use.  Check
-	for bogus condition reductions.
-	* tree-vect-stmts.c (vect_transform_stmt): Make sure we
-	are looking at the last stmt in a pattern sequence when
-	filling in backedge PHI values.
-
-2019-10-16  Peter Bergner <bergner@linux.ibm.com>
-	    Jiufu Guo  <guojiufu@linux.ibm.com>
-
-	PR target/70010
-	* config/rs6000/rs6000.c (rs6000_can_inline_p): Prohibit inlining if
-	the callee explicitly disables some isa_flags the caller is using.
-
-2019-10-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* function-abi.cc (expr_callee_abi): Assert for POINTER_TYPE_P.
-
-2019-10-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* genmodes.c (mode_data::order): New field.
-	(blank_mode): Update accordingly.
-	(VECTOR_MODES_WITH_PREFIX): Add an order parameter.
-	(make_vector_modes): Likewise.
-	(VECTOR_MODES): Update use accordingly.
-	(cmp_modes): Sort by the new order field ahead of sorting by size.
-	* config/aarch64/aarch64-modes.def (VNx2QI, VN2xHI, VNx2SI)
-	(VNx4QI, VNx4HI, VNx8QI): New partial vector modes.
-	* config/aarch64/aarch64.c (VEC_PARTIAL): New flag value.
-	(aarch64_classify_vector_mode): Handle the new partial modes.
-	(aarch64_vl_bytes): New function.
-	(aarch64_hard_regno_nregs): Use it instead of BYTES_PER_SVE_VECTOR
-	when counting the number of registers in an SVE mode.
-	(aarch64_class_max_nregs): Likewise.
-	(aarch64_hard_regno_mode_ok): Don't allow partial vectors
-	in registers yet.
-	(aarch64_classify_address): Treat partial vectors analogously
-	to full vectors.
-	(aarch64_print_address_internal): Consolidate the printing of
-	MUL VL addresses, using aarch64_vl_bytes as the number of
-	bytes represented by "VL".
-	(aarch64_vector_mode_supported_p): Reject partial vector modes.
-
-2019-10-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_layout_frame): Use is_constant
-	rather than known_lt when choosing frame layouts.
-
-2019-10-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_layout_frame): Assert
-	that all the adjustments add up to the full frame size.
-	Use crtl->outgoing_args_size directly as the final adjustment
-	where appropriate.
-
-2019-10-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_layout_frame): Use a local
-	"frame" reference instead of always referring directly to
-	"cfun->machine->frame".
-
-2019-10-16  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92119
-	* tree-vect-patterns.c (vect_recog_rotate_pattern): Guard
-	against missing bswap lhs.
-
-2019-10-16  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR middle-end/92033
-	* poly-int.h (constant_lower_bound_with_limit): New function.
-	(constant_upper_bound_with_limit): Likewise.
-	* doc/poly-int.texi: Document them.
-	* tree-vrp.c (value_range_base::set): Convert POLY_INT_CST bounds
-	into the worst-case INTEGER_CST bounds.
-
-2019-10-16  Feng Xue  <fxue@os.amperecomputing.com>
-
-	PR ipa/91088
-	* doc/invoke.texi (ipa-max-param-expr-ops): Document new option.
-	* params.def (PARAM_IPA_MAX_PARAM_EXPR_OPS): New.
-	* ipa-predicat.h (struct expr_eval_op): New struct.
-	(expr_eval_ops): New typedef.
-	(struct condition): Add type and param_ops fields, remove size field.
-	(add_condition): Replace size parameter with type parameter, add
-	param_ops parameter.
-	* ipa-predicat.c (expr_eval_ops_equal_p): New function.
-	(predicate::add_clause): Add comparisons on type and param_ops.
-	(dump_condition): Add debug dump for param_ops.
-	(remap_after_inlining): Adjust call arguments to add_condition.
-	(add_condition): Replace size parameter with type parameter, add
-	param_ops parameter. Unshare constant value used in conditions.
-	* ipa-fnsummary.c (evaluate_conditions_for_known_args): Fold
-	parameter expressions using param_ops.
-	(decompose_param_expr):  New function.
-	(set_cond_stmt_execution_predicate): Use call to decompose_param_expr
-	to replace call to unmodified_parm_or_parm_agg_item.
-	(set_switch_stmt_execution_predicate): Likewise.
-	(will_be_nonconstant_expr_predicate): Likewise. Replace usage of size
-	with type.
-	(inline_read_section): Read param_ops from summary stream.
-	(ipa_fn_summary_write): Write param_ops to summary stream.
-
-2019-10-15  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	PR rtl-optimization/92107
-	* genattrtab.c (write_attr_value) <do_operator>: Parenthesize the
-	expression written.
-
-2019-10-15  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c: Update description of fix and continue.
-
-2019-10-15  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (darwin_binds_local_p): Update to call
-	default_binds_local_p_3 () directly. amend comments.
-
-2019-10-15  Richard Biener  <rguenther@suse.de>
-
-	* lto-streamer-out.c (lto_variably_modified_type_p): New.
-	(tree_is_indexable): Use it.
-	* tree-streamer-out.c (pack_ts_type_common_value_fields):
-	Stream variably_modified_type_p as TYPE_LANG_FLAG_0.
-	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
-
-2019-10-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430.md (zero_extendqipsi2): New.
-	(zero_extendqisi2): Optimize case where src register and base dst
-	register are the same.
-	(zero_extendhipsi2): Don't use 430X insn for rYs->r case.
-	(zero_extendpsisi2): Optimize r->m case.
-	Add unnamed insn patterns to catch insns combine searches for when
-	optimizing pointer manipulation.
-
-2019-10-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430.md: Group zero_extend* insns together.
-
-2019-10-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/constraints.md: Allow post_inc operand for "Ya"
-	constraint.
-	* config/msp430/msp430.c (msp430_legitimate_address_p): Handle
-	POST_INC.
-	(msp430_subreg): Likewise.
-	(msp430_split_addsi): Likewise.
-	(msp430_print_operand_addr): Likewise.
-	* config/msp430/msp430.h (HAVE_POST_INCREMENT): Define.
-	(USE_STORE_POST_INCREMENT): Define.
-	* config/msp430/msp430.md: Use the msp430_general_dst_operand or
-	msp430_general_dst_nonv_operand predicates for the lvalues of insns.
-	* config/msp430/predicates.md (msp430_nonpostinc_operand): New.
-	(msp430_general_dst_operand): New.
-	(msp430_general_dst_nonv_operand): New.
-	(msp430_nonsubreg_operand): Remove.
-	(msp430_nonsubreg_dst_operand): New.
-	(msp430_nonsubreg_or_imm_operand): Allow reg or mem operands in place
-	of defunct msp430_nonsubreg_operand.
-	(msp430_nonsubregnonpostinc_or_imm_operand): New.
-
-2019-10-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/91929
-	* tree-ssa-pre.c (pre_expr_d::loc): New member.
-	(get_or_alloc_expr_for_name): Initialize it.
-	(get_or_alloc_expr_for_constant): Likewise.
-	(phi_translate_1): Copy it.
-	(create_expression_by_pieces): Use the original location
-	of the expression for the inserted stmt.
-	(compute_avail): Record the location of the stmt for the
-	expressions created.
-
-2019-10-15  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* tree-ssa-strlen.c (count_nonzero_bytes): Check tree_fits_uhwi_p
-	before using tree_to_uhwi.
-
-2019-10-15  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	* config/s390/s390.md: Run %a0:DI splitters only after reload.
-
-2019-10-15  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92094
-	* tree-vect-loop.c (vectorizable_reduction): For nested cycles
-	do not adjust the reduction definition def type.
-	* tree-vect-stmts.c (vect_transform_stmt): Verify the scalar stmt
-	defines the latch argument of the PHI.
-
-2019-10-15  Hongyu Wang  <hongtao.wang@intel.com>
-
-	PR target/92035
-	* config/i386/avx512fintrin.h (_mm_mask_roundscale_ss,
-	_mm_maskz_roundscale_ss, _mm_maskz_roundscale_round_ss,
-	_mm_maskz_roundscale_round_ss, _mm_mask_roundscale_sd,
-	_mm_maskz_roundscale_sd, _mm_mask_roundscale_round_sd,
-	_mm_maskz_roundscale_round_sd): New intrinsics.
-	(_mm_roundscale_ss, _mm_roundscale_round_ss): Use
-	__builtin_ia32_rndscales?_mask_round builtins instead of
-	__builtin_ia32_rndscales?_round.
-	* config/i386/i386-builtin.def (__builtin_ia32_rndscaless_round,
-	__builtin_ia32_rndscalesd_round): Remove.
-	(__builtin_ia32_rndscaless_mask_round,
-	__builtin_ia32_rndscalesd_mask_round): New intrinsics.
-	* config/i386/sse.md
-	(avx512f_rndscale<mode><round_saeonly_name>): Renamed to ...
-	(avx512f_rndscale<mode><mask_scalar_name><round_saeonly_scalar_name>):
-	 ... this, adjust and add subst atrributes to make it maskable.
-
-2019-10-15  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/92046
-	* common.opt (fallow-store-data-races): New.
-	* params.def (PARAM_ALLOW_STORE_DATA_RACES): Remove.
-	* params.h (ALLOW_STORE_DATA_RACES): Likewise.
-	* doc/invoke.texi (fallow-store-data-races): Document.
-	(--param allow-store-data-races): Remove docs.
-	* opts.c (default_options_table): Enable -fallow-store-data-races
-	at -Ofast.
-	(default_options_optimization): Do not enable --param
-	allow-store-data-races at -Ofast.
-	* tree-if-conv.c (ifcvt_memrefs_wont_trap): Use flag_store_data_races
-	instead of PARAM_ALLOW_STORE_DATA_RACES.
-	* tree-ssa-loop-im.c (execute_sm): Likewise.
-
-2019-10-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	PR tree-optimization/92085
-	* tree-if-conv.c (ifcvt_local_dce): Call gsi_next in else clause,
-	instead of calling it unconditionally after
-	delete_dead_or_redundant_assignment and fix indentation.
-
-2019-10-15  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
-
-	* config/arm/vfp.md (fma<SDF:mode>4): Enable DF only when
-	TARGET_VFP_DOUBLE.
-	(*fmsub<SDF:mode>4): Likewise.
-	*fnmsub<SDF:mode>4): Likewise.
-	(*fnmadd<SDF:mode>4): Likewise.
-
-2019-10-14 Joel Hutton  <Joel.Hutton@arm.com>
-
-	* doc/tree-ssa.texi: Update renamed macro name.
-
-2019-10-14  Mihailo Stojanovic  <mistojanovic@wavecomp.com>
-
-	* config/mips/mips.c (mips_cannot_force_const_mem): Reject
-	vector constants.
-
-2019-10-14  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c: Use unsigned ints for the picbase label
-	counters, initialise the vars explicitly.
-	(update_pic_label_number_if_needed): Move a variable declaration
-	to where it's needed.
-	(machopic_output_function_base_name): Use a more strict checking
-	assert, and and unsigned int for the picbase label counter.
-	(machopic_get_function_picbase): Likewise.
-
-2019-10-14  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/92046
-	* dse.c (scan_insn): Use param max_active_local_stores.
-	(dse_step1): Get PARAM_MAX_DSE_ACTIVE_LOCAL_STORES and adjust
-	based on optimization level.
-	* loop-invariant.c (move_loop_invariants): Adjust
-	LOOP_INVARIANT_MAX_BBS_IN_LOOP based on optimization level.
-	* opts.c (default_options_optimization): Do not adjust
-	PARAM_MAX_DSE_ACTIVE_LOCAL_STORES and
-	LOOP_INVARIANT_MAX_BBS_IN_LOOP here.
-
-2019-10-14  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.c (arm_legitimize_address): Remove Thumb-2 bailout.
-
-2019-10-14  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.c (arm_option_override): Don't override sched
-	pressure algorithm.
-
-2019-10-14  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92069
-	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): For nested
-	cycles do not set vect_nested_cycle on the latch definition.
-
-2019-10-14  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* function-abi.h (expr_callee_abi): Declare.
-	* function-abi.cc (expr_callee_abi): New function.
-
-2019-10-14  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (value_range_base::set): Normalize unsigned ~[0,0]
-	into [1,MAX].
-	* tree-vrp.h (value_range_base::nonzero_p): Adjust for unsigned
-	non-zero being represented as [1,MAX].
-
-2019-10-14  Xiong Hu Luo  <luoxhu@linux.ibm.com>
-
-	* tree-sra.c (dump_access): Add missing braces.
-
-2019-10-13  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (machopic_indirection_name): Rework the
-	function to emit linker-visible symbols only for indirections
-	in the data section.  Clean up the code and update comments.
-
-2019-10-13  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (machopic_indirect_data_reference): Remove
-	redundant code.
-
-2019-10-13  Nathan Sidwell  <nathan@acm.org>
-
-	* gengtype-lex.l (CXX_KEYWORD): Add 'mutable'.
-
-2019-10-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
-
-	* doc/sourcebuild.texi (Test Directives, Add Options): Remove
-	c99_runtime.
-
-2019-10-12  Jan Hubicka  <hubicka@ucw.cz>
-
-	* lto-streamer-out.c (collect_block_tree_leafs): Renumber statements
-	so non-virutal are before virutals.
-	(output_function): Avoid body modifications.
-
-2019-10-12  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_output_call): Load descriptor address to register
-	%r22.  Load function address before global pointer.
-	(pa_attr_length_indirect_call): Adjust length of inline versions of
-	$$dyncall.
-	(pa_output_indirect_call): Remove fast inline version of $$dyncall
-	before normal cases.  Update inline $$dyncall sequences to preserve
-	function descriptor address in register %r22.
-	(TRAMPOLINE_CODE_SIZE): Adjust.
-	(pa_asm_trampoline_template): Revise 32-bit trampoline.  Don't assume
-	register %r22 contains trampoline address.
-	(pa_trampoline_init): Adjust offsets.
-	(pa_trampoline_adjust_address): Likewise.
-	* config/pa/pa.h (TRAMPOLINE_SIZE): Adjust 32-bit size.
-
-2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>
-
-	PR target/67183
-	* config/darwin.c (machopic_indirection): New field to flag
-	non-lazy-symbol-pointers in the data section.
-	(machopic_indirection_name): Compute if an indirection should
-	appear in the data section.
-	(machopic_output_data_section_indirection): New callback split
-	from machopic_output_indirection.
-	(machopic_output_stub_indirection): Likewise.
-	(machopic_output_indirection): Retain the code for non-lazy
-	symbol pointers in their regular section.
-	(machopic_finish): Use the new callbacks to order the indirection
-	output.
-
-2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin-protos.h (machopic_finish): Delete.
-	* config/darwin.c (machopic_finish): Make static.
-
-2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (darwin_file_end): Only emit empty CTOR/DTOR
-	sections when building kernel extension code.
-
-2019-10-12  Palmer Dabbelt  <palmer@sifive.com>
-
-	* doc/extend.texi (Alternate Keywords): Change "-std=c11" to "a
-	later standard."
-
-2019-10-12  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.c (pa_option_override): Remove trailing comma
-	from warning.
-
-2019-10-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/92063
-	* tree-eh.c (operation_could_trap_helper_p) <case COND_EXPR>
-	<case VEC_COND_EXPR>: Return false with *handled = false.
-	(tree_could_trap_p): For {,VEC_}COND_EXPR return false instead of
-	recursing on the first operand.
-	* fold-const.c (simple_operand_p_2): Use generic_expr_could_trap_p
-	instead of tree_could_trap_p.
-	* tree-ssa-sccvn.c (vn_nary_may_trap): Formatting fixes.
-
-2019-10-11  Jim Wilson  <jimw@sifive.com>
-
-	PR rtl-optimization/91860
-	* combine.c (subst): If new_rtx is a constant, also check for
-	SIGN_EXTEND when deciding whether to call simplify_unary_operation.
-
-2019-10-11  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* expr.c (store_expr): Use rtx_to_poly_int64 rather than
-	INTVAL when calling store_bit_field.
-
-2019-10-11  Wilco Dijkstra  <wdijkstr@arm.com>
-
-	* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Set when optimizing for
-	size.
-
-2019-10-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* tree-vect-loop.c (vect_analyze_loop_operations): Adjust call to
-	vectorizable_live_operation.
-	(vectorizable_live_operation): Adjust parameters.
-	* tree-vect-stmts.c (vect_init_vector,
-	vect_gen_widened_results_half): Fix typo in function comment.
-	(can_vectorize_live_stmts): Adjust function comment.
-	Adjust parameters.  Adjust call to vectorizable_live_operation.
-	(vect_analyze_stmt): Adjust call to can_vectorize_live_stmts.
-	(vect_transform_stmt): Adjust function comment.  Adjust call to
-	can_vectorize_live_stmts.
-	* tree-vectorizer.h (vectorizable_live_operation): Adjust parameters.
-
-2019-10-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/90883
-	PR tree-optimization/91091
-	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use correct
-	alias-sets both for recording VN table entries and continuing
-	walking after translating through copies.  Handle same-sized
-	reads from SSA names by returning the plain SSA name.
-	(eliminate_dom_walker::eliminate_stmt): Properly handle
-	non-size precision stores in redundant store elimination.
-
-2019-10-11  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ggc-page.c (release_pages): Output statistics when !quiet_flag.
-	(ggc_collect): Dump later to not interfere with release_page dump.
-	(ggc_trim): New function.
-	* ggc-none.c (ggc_trim): New.
-	* ggc.h (ggc_trim): Declare.
-
-2019-10-11  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/92066
-	PR tree-optimization/92046
-	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
-	Fix bogus cost model check.
-
-2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
-
-	* langhooks-def.h (LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR): Define.
-	(LANG_HOOKS_DECLS): Add it.
-	* langhooks.h (lang_hooks_for_decls): Add omp_is_allocatable_or_ptr;
-	update comment for omp_is_optional_argument.
-	* omp-general.c (omp_is_allocatable_or_ptr): New.
-	* omp-general.h (omp_is_allocatable_or_ptr): Declare.
-	* omp-low.c (scan_sharing_clauses, lower_omp_target): Handle
-	Fortran's optional arguments and allocatable/pointer scalars
-	with use_device_addr.
-
-2019-10-11  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR target/77918
-	* config/s390/2827.md: Add new opcodes.
-	* config/s390/2964.md: Likewise.
-	* config/s390/3906.md: Likewise.
-	* config/s390/8561.md: Likewise.
-	* config/s390/s390-builtins.def (s390_vfchesb): Use
-	the new vec_cmpgev4sf_quiet_nocc.
-	(s390_vfchedb): Use the new vec_cmpgev2df_quiet_nocc.
-	(s390_vfchsb): Use the new vec_cmpgtv4sf_quiet_nocc.
-	(s390_vfchdb): Use the new vec_cmpgtv2df_quiet_nocc.
-	(vec_cmplev4sf): Use the new vec_cmplev4sf_quiet_nocc.
-	(vec_cmplev2df): Use the new vec_cmplev2df_quiet_nocc.
-	(vec_cmpltv4sf): Use the new vec_cmpltv4sf_quiet_nocc.
-	(vec_cmpltv2df): Use the new vec_cmpltv2df_quiet_nocc.
-	* config/s390/s390-modes.def (CCSFPS): New mode.
-	* config/s390/s390.c (s390_match_ccmode_set): Support CCSFPS.
-	(s390_select_ccmode): Return CCSFPS for LT, LE, GT, GE and LTGT.
-	(s390_branch_condition_mask): Reuse CCS for CCSFPS.
-	(s390_expand_vec_compare): Use non-signaling patterns where
-	necessary.
-	(s390_reverse_condition): Support CCSFPS.
-	* config/s390/s390.md (*cmp<mode>_ccsfps): New pattern.
-	* config/s390/vector.md: (VFCMP_HW_OP): Remove.
-	(asm_fcmp_op): Likewise.
-	(*smaxv2df3_vx): Use pattern for quiet comparison.
-	(*sminv2df3_vx): Likewise.
-	(*vec_cmp<VFCMP_HW_OP:code><mode>_nocc): Remove.
-	(*vec_cmpeq<mode>_quiet_nocc): New pattern.
-	(vec_cmpgt<mode>_quiet_nocc): Likewise.
-	(vec_cmplt<mode>_quiet_nocc): New expander.
-	(vec_cmpge<mode>_quiet_nocc): New pattern.
-	(vec_cmple<mode>_quiet_nocc): New expander.
-	(*vec_cmpeq<mode>_signaling_nocc): New pattern.
-	(*vec_cmpgt<mode>_signaling_nocc): Likewise.
-	(*vec_cmpgt<mode>_signaling_finite_nocc): Likewise.
-	(*vec_cmpge<mode>_signaling_nocc): Likewise.
-	(*vec_cmpge<mode>_signaling_finite_nocc): Likewise.
-	(vec_cmpungt<mode>): New expander.
-	(vec_cmpunge<mode>): Likewise.
-	(vec_cmpuneq<mode>): Use quiet patterns.
-	(vec_cmpltgt<mode>): Allow only on z14+.
-	(vec_cmpordered<mode>): Use quiet patterns.
-	(vec_cmpunordered<mode>): Likewise.
-	(VEC_CMP_EXPAND): Add ungt and unge.
-
-2019-10-11  Jan Hubicka  <hubicka@ucw.cz>
-
-	* gimple-streamer-out.c (output_gimple_stmt): Add explicit function
-	parameter.
-	* lto-streamer-out.c: Include tree-dfa.h.
-	(output_cfg): Do not use cfun.
-	(lto_prepare_function_for_streaming): New.
-	(output_function): Do not push cfun; do not initialize loop optimizer.
-	* lto-streamer.h (lto_prepare_function_for_streaming): Declare.
-	* passes.c (ipa_write_summaries): Use it.
-	(ipa_write_optimization_summaries): Do not modify bodies.
-	* tree-dfa.c (renumber_gimple_stmt_uids): Add function parameter.
-	* tree.dfa.h (renumber_gimple_stmt_uids): Update prototype.
-	* tree-ssa-dse.c (pass_dse::execute): Update use of
-	renumber_gimple_stmt_uids.
-	* tree-ssa-math-opts.c (pass_optimize_widening_mul::execute): Likewise.
-
-2019-10-11  Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Lower
-	vec_promote_demote cost to 1 for non-Power7 VSX architectures.
-
-2019-10-10  Joseph Myers  <joseph@codesourcery.com>
-
-	* ginclude/float.h [!__DEC32_MANT_DIG__]: Do not define DFP
-	macros.
-	[__STDC_WANT_IEC_60559_DFP_EXT__ || __STDC_VERSION__ > 201710L]:
-	Also define DFP macros for these conditions.
-	[!__STDC_WANT_DEC_FP__] (DEC32_SUBNORMAL_MIN, DEC64_SUBNORMAL_MIN,
-	DEC128_SUBNORMAL_MIN): Do not define.
-	[__STDC_WANT_IEC_60559_DFP_EXT__ || __STDC_VERSION__ > 201710L]
-	(DEC32_TRUE_MIN, DEC64_TRUE_MIN, DEC128_TRUE_MIN): New macros.
-
-2019-10-10  Xiong Hu Luo  <luoxhu@linux.ibm.com>
-	    Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR middle-end/26241
-	* doc/lto.texi (IPA): Reference to the IPA passes.
-	* doc/passes.texi (Pass manager): Add node IPA passes and
-	  description for each IPA pass.
-
-2019-10-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-reference.c: Do not include splay-tree.h
-	(reference_vars_to_consider): Turn to hash map.
-	(get_static_name, ipa_init, analyze_function, propagate,
-	stream_out_bitmap, ipa_reference_write_optimization_summary,
-	ipa_reference_write_optimization_summary): Update.
-
-2019-10-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-reference.c (propagate): Fix releasing of IPA summaries.
-
-2019-10-10  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c: Lookup Objective C metadata and force indirection
-	for IVAR refs.
-
-2019-10-10  Michael Meissner  <meissner@linux.ibm.com>
-
-	* config/rs6000/rs6000.c (quad_address_p): Add check for prefixed
-	addresses.
-	(mem_operand_gpr): Add check for prefixed addresses.
-	(mem_operand_ds_form): Add check for prefixed addresses.
-	(rs6000_legitimate_offset_address_p): If we support prefixed
-	addresses, check for a 34-bit offset instead of 16-bit.
-	(rs6000_legitimate_address_p): Add check for prefixed addresses.
-	Do not allow load/store with update if the address is prefixed.
-	(rs6000_mode_dependent_address):  If we support prefixed
-	addresses, check for a 34-bit offset instead of 16-bit.
-
-2019-10-10  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR target/77918
-	* config/s390/vector.md (vcond_comparison_operator): New
-	predicate.
-	(vcond<V_HW:mode><V_HW2:mode>): Use vcond_comparison_operator.
-
-2019-10-10  David Malcolm  <dmalcolm@redhat.com>
-
-	PR 87488
-	* Makefile.in (CFLAGS-opts.o): Pass in DOCUMENTATION_ROOT_URL via
-	-D.
-	* configure.ac (--with-documentation-root-url): New option.
-	* configure: Regenerate.
-	* diagnostic-format-json.cc (json_end_diagnostic): If there is an
-	option URL, add it as a new string field of the diagnostic option.
-	* diagnostic.c (diagnostic_initialize): Initialize get_option_url.
-	(print_option_information): If get_option_url is non-NULL, call
-	it, and if the result is non-NULL, potentially emit an escape
-	sequence to markup the option text with the resulting URL.
-	* diagnostic.h (diagnostic_context::get_option_url): New callback.
-	* doc/invoke.texi (-fdiagnostics-format=): Add "option_url" to
-	example of JSON output.
-	* opts-diagnostic.h (get_option_url): New decl.
-	* opts.c (get_option_url): New function.
-	* toplev.c (general_init): Initialize the get_option_url callback.
-
-2019-10-10  David Malcolm  <dmalcolm@redhat.com>
-
-	PR 87488
-	* common.opt (fdiagnostics-urls=): New option.
-	(diagnostic-url.h): Add SourceInclude.
-	(diagnostic_url_rule): New enum.
-	* diagnostic-color.c: Include "diagnostic-url.h".
-	(diagnostic_urls_enabled_p): New function.
-	* diagnostic-url.h: New file.
-	* diagnostic.c: Include "diagnostic-url.h".
-	(diagnostic_urls_init): New function.
-	* diagnostic.h (diagnostic_urls_init): New decl.
-	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
-	-fdiagnostics-urls to the list.
-	(-fdiagnostics-urls): New option.
-	* gcc.c (driver_handle_option): Handle OPT_fdiagnostics_urls_.
-	(driver::global_initializations): Call diagnostic_urls_init.
-	* opts-global.c (init_options_once): Likewise.
-	* opts.c (common_handle_option): Handle OPT_fdiagnostics_urls_.
-	* pretty-print.c (pretty_printer::pretty_printer): Initialize
-	show_urls.
-	(pp_begin_url): New function.
-	(pp_end_url): New function.
-	(selftest::test_urls): New selftest.
-	(selftest::pretty_print_c_tests): Call it.
-	* pretty-print.h (pretty_printer::show_urls): New field.
-	(pp_begin_url): New decl.
-	(pp_end_url): New decl.
-
-2019-10-10  Uroš Bizjak  <ubizjak@gmail.com>
-
-	PR target/92022
-	* config/alpha/alpha.c (alpha_handle_trap_shadows): Skip DEBUG_INSN.
-
-2019-10-10  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/88630
-	* config/sh/sh.h (TARGET_FPU_SH4_300): New macro.
-	* config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns
-	also for TARGET_FPU_SH4_300.
-	(sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of
-	TARGET_SH4_300.
-	* config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition.
-	(negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr.
-	(*negsf2_i): Split into ...
-	(negsf2_fpscr, negsf2_no_fpscr): ... these new patterns.
-	(abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc.
-	(**abssf2_i): Split into ...
-	(abssf2_fpscr, abssf2_no_fpscr): ... these new patterns.
-	(negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr.
-	(*negdf2_i): Split into ...
-	(negdf2_fpscr, negdf2_no_fpscr): ... these new patterns.
-	(absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc.
-	(**abssf2_i): Split into ...
-	(absdf2_fpscr, absdf2_no_fpscr): ... these new patterns.
-
-2019-10-10  Richard Biener  <rguenther@suse.de>
-
-	PR middle-end/92046
-	* opts.c (finish_options): Do not influence global --params
-	from options that are adjustable per function.
-	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
-	Apply --param adjustment based on active cost-model.
-	* tree-ssa-phiopt.c (cond_if_else_store_replacement): Disable
-	further store-sinking when vectorization or if-conversion
-	are not enabled.
-
-2019-10-10  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR middle-end/92037
-	* cgraph.c (symbol_table_test::symbol_table_test): Use ggc_alloc
-	rather than ggc_alloc_cleared to alloc symbol table.
-	* toplev.c (general_init): Likewise.
-	* cgraph.h (symbol_table): Explicitly construct every field.
-
-2019-10-10  Andreas Krebbel  <krebbel@linux.ibm.com>
-
-	* common/config/s390/s390-common.c (PF_ARCH13): Rename to...
-	(PF_Z15): ... this.
-	* config.gcc: Add z15 as option for --with-arch and --with-tune
-	configure switches.
-	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Add
-	error reporting for unsupported builtins.
-	* config/s390/s390-opts.h (enum processor_type): Rename
-	PROCESSOR_8561_ARCH13 to PROCESSOR_8561_Z15.
-	* config/s390/8561.md: Rename arch13 to z15 throughout the file.
-	* config/s390/driver-native.c (s390_host_detect_local_cpu):
-	Likewise.
-	* config/s390/s390-builtins.def: Likewise.
-	* config/s390/s390.c (processor_table): Add z15 as option and keep arch13 as alternative.
-	(s390_expand_builtin): Add missing check for unsupported builtins.
-	(s390_canonicalize_comparison): Rename TARGET_ARCH13 to TARGET_Z15.
-	(s390_rtx_costs): Likewise.
-	(s390_get_sched_attrmask): Rename arch13 to z15.
-	(s390_get_unit_mask): Likewise.
-	(s390_is_fpd): Likewise.
-	(s390_is_fxd): Likewise.
-	* config/s390/s390.h (enum processor_flags): Likewise.
-	* config/s390/s390.md: Likewise.
-	* config/s390/vector.md: Likewise.
-	* config/s390/vx-builtins.md: Likewise.
-	* config/s390/s390.opt: Add z15 to processor_type value.
-
-2019-10-10  Andreas Krebbel  <krebbel@linux.ibm.com>
-
-	PR target/91035
-	* config/s390/s390-protos.h (s390_output_split_stack_data): Add
-	prototype.
-	* config/s390/s390.md (UNSPECV_SPLIT_STACK_DATA): Remove.
-	("split_stack_data", "split_stack_call")
-	("split_stack_call_<mode>", "split_stack_cond_call")
-	("split_stack_cond_call_<mode>"): Remove.
-	("@split_stack_call<mode>", "@split_stack_cond_call<mode>"): New
-	insn definition.
-	* config/s390/s390.c (s390_output_split_stack_data): New function.
-	(s390_expand_split_stack_prologue): Use the merged expander.
-
-2019-10-09  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/90879
-	* builtins.c (check_access): Avoid using maxbound when null.
-	* calls.c (maybe_warn_nonstring_arg): Adjust to get_range_strlen change.
-	* doc/invoke.texi (-Wstring-compare): Document new warning option.
-	* gimple-fold.c (get_range_strlen_tree): Make setting maxbound
-	conditional.
-	(get_range_strlen): Overwrite initial maxbound when non-null.
-	* gimple-ssa-sprintf.c (get_string_length): Adjust to get_range_strlen
-	changes.
-	* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Same.
-	(used_only_for_zero_equality): New function.
-	(handle_builtin_memcmp): Call it.
-	(determine_min_objsize): Return an integer instead of tree.
-	(get_len_or_size, strxcmp_eqz_result): New functions.
-	(maybe_warn_pointless_strcmp): New function.
-	(handle_builtin_string_cmp): Call it.  Fold zero-equality of strcmp
-	between a longer string and a smaller array.
-	(get_range_strlen_dynamic): Overwrite initial maxbound when non-null.
-
-2019-10-09  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (darwin_override_options): Make the check for
-	Objective-C ABI version more specific for 64bit code.
-
-2019-10-09  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (machopic_indirect_data_reference): Set flag to
-	indicate that the new symbol is an indirection.
-	(machopic_indirect_call_target): Likewise.
-	* config/darwin.h (MACHO_SYMBOL_FLAG_INDIRECTION): New.
-	(MACHO_SYMBOL_INDIRECTION_P): New.
-	(MACHO_SYMBOL_FLAG_STATIC): Adjust bit number.
-
-2019-10-08  Jason Merrill  <jason@redhat.com>
-
-	* doc/invoke.texi: Document -fconcepts-ts.
-
-2019-10-09  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vect_is_simple_reduction): Simplify and
-	allow stmts other than GIMPLE_ASSIGN in nested cycles.
-
-2019-10-08  Richard Biener  <rguenther@suse.de>
-
-	* tree-vectorizer.h (_stmt_vec_info::reduc_vectype_in): New.
-	(_stmt_vec_info::force_single_cycle): Likewise.
-	(STMT_VINFO_FORCE_SINGLE_CYCLE): New.
-	(STMT_VINFO_REDUC_VECTYPE_IN): Likewise.
-	* tree-vect-loop.c (vectorizable_reduction): Set
-	STMT_VINFO_REDUC_VECTYPE_IN and STMT_VINFO_FORCE_SINGLE_CYCLE.
-	(vect_transform_reduction): Use them to remove redundant code.
-	(vect_transform_cycle_phi): Likewise.
-
-2019-10-08  Dmitrij Pochepko <dmitrij.pochepko@bell-sw.com>
-
-	PR tree-optimization/90836
-	* match.pd (popcount): New pattern.
-
-2019-10-08  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/92026
-	PR middle-end/92014
-	* tree-ssa-strlen.c (count_nonzero_bytes): Avoid recursing for MEM_REF
-	again once nbytes has been set.  Set the access size when not yet set.
-
-2019-10-08  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (machopic_select_section): Remove dead code for
-	old Objective-C section selection method, replace with unreachable.
-
-2019-10-08  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (machopic_indirect_data_reference): Check for
-	required indirections before making direct access to defined
-	values.
-	(machopic_output_indirection): Place the indirected pointes for
-	required indirections into the non-lazy symbol pointers section.
-	(darwin_encode_section_info):
-	* config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New.
-	(MACHO_SYMBOL_MUST_INDIRECT_P): New.
-
-2019-10-08  Uroš Bizjak  <ubizjak@gmail.com>
-
-	PR target/91994
-	* config/i386/i386.c (x86_avx_u128_mode_needed): Use SSE_REG
-	instead of ALL_SSE_REG to check if function call preserves some
-	256-bit SSE registers.
-
-2019-10-08  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
-
-	* config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and
-	LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and
-	MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain.
-
-2019-10-08  Richard Biener  <rguenther@suse.de>
-
-	* tree-vectorizer.h (_stmt_vec_info::v_reduc_type): Remove.
-	(_stmt_vec_info::is_reduc_info): Add.
-	(STMT_VINFO_VEC_REDUCTION_TYPE): Remove.
-	(vectorizable_condition): Remove.
-	(vectorizable_shift): Likewise.
-	(vectorizable_reduction): Adjust.
-	(info_for_reduction): New.
-	* tree-vect-loop.c (vect_force_simple_reduction): Fold into...
-	(vect_analyze_scalar_cycles_1): ... here.
-	(vect_analyze_loop_operations): Adjust.
-	(needs_fold_left_reduction_p): Simplify for single caller.
-	(vect_is_simple_reduction): Likewise.  Remove stmt restriction
-	for nested cycles not part of double reductions.
-	(vect_model_reduction_cost): Pass in the reduction type.
-	(info_for_reduction): New function.
-	(vect_create_epilog_for_reduction): Use it, access reduction
-	meta off the stmt info it returns.  Use STMT_VINFO_REDUC_TYPE
-	instead of STMT_VINFO_VEC_REDUCTION_TYPE.
-	(vectorize_fold_left_reduction): Remove pointless assert.
-	(vectorizable_reduction): Analyze the full reduction when
-	visiting the outermost PHI.  Simplify.  Use STMT_VINFO_REDUC_TYPE
-	instead of STMT_VINFO_VEC_REDUCTION_TYPE.  Direct reduction
-	stmt code-generation to vectorizable_* in most cases.  Verify
-	code-generation only for cases handled by
-	vect_transform_reductuon.
-	(vect_transform_reduction): Use info_for_reduction to get at
-	reduction meta.  Simplify.
-	(vect_transform_cycle_phi): Likewise.
-	(vectorizable_live_operation): Likewise.
-	* tree-vect-patterns.c (vect_reassociating_reduction_p): Look
-	at the PHI node for STMT_VINFO_REDUC_TYPE.
-	* tree-vect-slp.c (vect_schedule_slp_instance): Remove no
-	longer necessary code.
-	* tree-vect-stmts.c (vectorizable_shift): Make static again.
-	(vectorizable_condition): Likewise.  Get at reduction related
-	info via info_for_reduction.
-	(vect_analyze_stmt): Adjust.
-	(vect_transform_stmt): Likewise.
-	* tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize
-	STMT_VINFO_REDUC_TYPE instead of STMT_VINFO_VEC_REDUCTION_TYPE.
-
-2019-10-08  Joseph Myers  <joseph@codesourcery.com>
-
-	* doc/invoke.texi (-ffp-int-builtin-inexact): Document
-	-fno-fp-int-builtin-inexact default for C2X.
-
-2019-10-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-	    Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/91532
-	* tree-if-conv.c: Include tree-ssa-dse.h.
-	(ifcvt_local_dce): Change param from bb to loop,
-	and call dse_classify_store.
-	(tree_if_conversion): Pass loop instead of loop->header as arg
-	to ifcvt_local_dce.
-	* tree-ssa-dse.c: Include tree-ssa-dse.h.
-	(delete_dead_or_redundant_assignment): Remove static qualifier from
-	declaration, and add prototype in tree-ssa-dse.h.
-	(dse_store_status): Move to tree-ssa-dse.h.
-	(dse_classify_store): Remove static qualifier and add new tree param
-	stop_at_vuse, and add prototype in tree-ssa-dse.h.
-	* tree-ssa-dse.h: New header.
-
-2019-10-07  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (machopic_output_indirection): Don't put
-	hidden symbol indirections into the .data section, use the
-	non-lazy symbol pointers section as normal.
-	(darwin_encode_section_info): Record if a symbol is hidden.
-	* config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New.
-	(MACHO_SYMBOL_HIDDEN_VIS_P): New.
-
-2019-10-07  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (machopic_symbol_defined_p): Use symbol flag
-	predicates instead of accessing bits directly.
-	(machopic_indirect_call_target): Likewise.
-	(machopic_output_indirection): Likewise.
-	(darwin_encode_section_info): Improve description.  Use renamed
-	symbol flags.  Use predicate macros for variables and functions.
-	* config/darwin.h:
-	Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE.
-	Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED.
-	Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC.
-	(MACHO_SYMBOL_VARIABLE_P): New.
-	(MACHO_SYMBOL_DEFINED_P):New.
-	(MACHO_SYMBOL_STATIC_P): New.
-	* config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete.
-	(SYMBOL_FLAG_SUBT_DEP): New.
-	* config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New.
-
-2019-10-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430.c (msp430_file_end): s/msp_/msp430_/
-	(msp430_expand_epilogue): Likewise.
-	* config/msp430/predicates.md: Likewise.
-	* config/msp430/msp430.md: Likewise.
-	Replace blocks of 8 spaces with tabs.
-
-2019-10-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config/msp430/msp430-protos.h (msp430_split_addsi): New prototype.
-	* config/msp430/msp430.c (msp430_split_addsi): New.
-	* config/msp430/msp430.md: Call msp430_split_addsi () instead of using
-	a block of C code for splitting addsi.
-
-2019-10-07  Uroš Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386-expand.c (ix86_expand_floorceildf_32,
-	ix86_expand_rounddf_32): Reorder functions.
-	* config/i386/i386-protos.h: Update.
-
-2019-10-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
-
-	* config.in: Regenerate.
-	* config/msp430/constraints.md: Fix docstring for "Ys" constraint.
-	Add new "Yx" constraint.
-	* config/msp430/driver-msp430.c (msp430_propagate_region_opt): New spec
-	function.
-	* config/msp430/msp430-protos.h (msp430_op_not_in_high_mem): New
-	prototype.
-	* config/msp430/msp430.c (msp430_option_override): Allow the lower
-	code/data region to be selected in the small memory model.
-	(msp430_section_attr): Don't warn if the "section" and "lower"
-	attributes are used together.
-	(msp430_handle_generic_attribute): Likewise.
-	(msp430_var_in_low_mem): New function.
-	(TARGET_ENCODE_SECTION_INFO): Define.
-	(msp430_encode_section_info): New function.
-	(gen_prefix): Return early in the small memory model.
-	Require TARGET_USE_LOWER_REGION_PREFIX to be set before adding the
-	".lower" prefix if -m{code,data}-region=lower have been passed.
-	(msp430_output_aligned_decl_common): Emit common symbols when
-	-mdata-region=lower is passed unless TARGET_USE_LOWER_REGION_PREFIX is
-	set.
-	(TARGET_ASM_FILE_END): Define.
-	(msp430_file_end): New function.
-	(msp430_do_not_relax_short_jumps): Allow relaxation when
-	function will be in the lower region.
-	(msp430_op_not_in_high_mem): New function.
-	(msp430_print_operand): Check "msp430_op_not_in_high_mem" for
-	the 'X' operand selector.
-	Clarify comment for 'x' operand selector.
-	* config/msp430/msp430.h (LINK_SPEC): Propagate
-	-m{code,data}-region to the linker via spec function
-	msp430_propagate_region_opt.
-	(msp430_propagate_region_opt): New prototype.
-	(EXTRA_SPEC_FUNCTIONS): Add msp430_propagate_region_opt.
-	(SYMBOL_FLAG_LOW_MEM): Define.
-	* config/msp430/msp430.md (addsipsi3): Add missing "%X" operand
-	selector.
-	(zero_extendqihi2): Fix operand number used by "%X" selector.
-	(zero_extendqisi2): Likewise.
-	(zero_extendhisi2): Likewise.
-	(movqi): Use "Yx" constraint in place of "%X" operand selector.
-	(movhi): Likewise.
-	(addqi3): Likewise.
-	(addhi3): Likewise.
-	(addsi3): Likewise.
-	(addhi3_cy): Likewise.
-	(addchi4_cy): Likewise.
-	(subqi3): Likewise.
-	(subhi3): Likewise.
-	(subsi3): Likewise.
-	(bic<mode>3): Likewise.
-	(and<mode>3): Likewise.
-	(ior<mode>3): Likewise.
-	(xor<mode>3): Likewise.
-	(slli_1): Add missing "%X" operand selector.
-	(slll_1): Likewise.
-	(slll_2): Likewise.
-	(srai_1): Likewise.
-	(sral_1): Likewise.
-	(sral_2): Likewise.
-	(srli_1): Likewise.
-	(srll_1): Likewise.
-	(cbranchqi4_real): Use "Yx" constraint in place of "%X" operand
-	selector.
-	(cbranchhi4_real): Likewise.
-	(cbranchqi4_reversed): Likewise.
-	(cbranchhi4_reversed): Likewise.
-	(*bitbranch<mode>4): Likewise.
-	(*bitbranch<mode>4_z): Remove unnecessary "%x" operand selector.
-	* config/msp430/msp430.opt (mcode-region=): Set default to
-	MSP430_REGION_LOWER. Improve docstring.
-	(mdata-region=): Likewise.
-	(muse-lower-region-prefix): New option.
-	* config/msp430/t-msp430 (MULTILIB_OPTIONS): Add
-	mdata-region=none multilib.
-	(MULTILIB_MATCHES): Set mdata-region={upper,either} to match
-	mdata-region=none multilib.
-	MULTILIB_EXCEPTIONS: Remove.
-	MULTILIB_REQUIRED: Define.
-	* configure: Regenerate.
-	* configure.ac: Define HAVE_AS_GNU_ATTRIBUTE and
-	HAVE_AS_MSPABI_ATTRIBUTE if GAS version >= 2.33.50.
-	* doc/extend.texi: Clarify comment for {upper,lower,either}
-	function attributes.
-	Add separate description for "lower" variable attribute.
-
-2019-10-07  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR target/77918
-	* optabs-tree.c (vcond_icode_p): New function.
-	(vcond_eq_icode_p): Likewise.
-	(expand_vec_cond_expr_p): Use vcond_icode_p and
-	vcond_eq_icode_p.
-	* optabs.c (can_vcond_compare_p): New function.
-	* optabs.h (can_vcond_compare_p): Likewise.
-
-2019-10-07  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR target/77918
-	* gimple-expr.c (gimple_cond_get_ops_from_tree): Assert that the
-	caller passes a non-trapping condition.
-	(is_gimple_condexpr): Allow trapping conditions.
-	(is_gimple_condexpr_1): New helper function.
-	(is_gimple_condexpr_for_cond): New function, acts like old
-	is_gimple_condexpr.
-	* gimple-expr.h (is_gimple_condexpr_for_cond): New function.
-	* gimple.c (gimple_could_trap_p_1): Handle COND_EXPR and
-	VEC_COND_EXPR. Fix an issue with statements like i = (fp < 1.).
-	* gimplify.c (gimplify_cond_expr): Use
-	is_gimple_condexpr_for_cond.
-	(gimplify_expr): Allow is_gimple_condexpr_for_cond.
-	* tree-eh.c (operation_could_trap_p): Assert on COND_EXPR and
-	VEC_COND_EXPR.
-	(tree_could_trap_p): Handle COND_EXPR and VEC_COND_EXPR.
-	* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Use
-	is_gimple_condexpr_for_cond, remove pointless tmp check
-	(forward_propagate_into_cond): Remove pointless tmp check.
-
-2019-10-07 Vladislav Ivanishin  <vlad@ispras.ru>
-
-	* gimple-iterator.h (gsi_next_nonvirtual_phi): Change the semantics to
-	match that of other gsi_next_* functions.  Adjust the comment.
-	(gsi_start_nonvirtual_phis): New function.
-	* ipa-icf.c (sem_function::compare_phi_node): Update uses of
-	gsi_next_nonvirtual_phi accordingly.  (No functional change.)
-
-2019-10-07 Vladislav Ivanishin  <vlad@ispras.ru>
-
-	* doc/invoke.texi (-Wuninitialized): Don't mention the clobbered by
-	setjmp situation here.  Fix a verb's ending: "the exact variables or
-	elements for which there are warnings depends" -> "... depend".
-
-2019-10-07  Aldy Hernandez  <aldyh@redhat.com>
-
-	* ipa-prop.c (ipa_vr::nonzero_p): Add TYPE_UNSIGNED check.
-
-2019-10-07  Aldy Hernandez  <aldyh@redhat.com>
-
-	* ipa-prop.c (ipa_vr::nonzero_p): New.
-	(ipcp_update_vr): Use nonzero_p instead of open-coding check for
-	non-zero range.
-	* ipa-prop.h (class ipa_vr): Add nonzero_p.
-	* tree-vrp.c (range_has_numeric_bounds_p): New.
-	(range_int_cst_p): Use range_has_numeric_bounds_p.
-	(get_range_op_handler): New.
-	(supported_types_p): New.
-	(defined_ranges_p): New.
-	(drop_undefines_to_varying): New.
-	(range_fold_binary_symbolics_p): New.
-	(range_fold_unary_symbolics_p): New.
-	(range_fold_unary_expr): Extract out into above functions.
-	(range_fold_binary_expr): Same.
-	(value_range_base::normalize_addresses): New.
-	(value_range_base::normalize_symbolics): Normalize addresses.
-	* tree-vrp.h (class value_range_base): Add normalize_addresses.
-
-2019-10-07  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-vrp.c (value_range_base::singleton_p): Use
-	value_range_base::num_pairs instead of vrp_val_is* to check
-	if a range has one sub-range.
-
-2019-10-07  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* ira-lives.c (check_and_make_def_conflict): Handle cases in which
-	DEF is not a true earlyclobber but is tied to a specific input
-	operand, and so is effectively earlyclobber wrt inputs that have
-	different values.
-	(make_early_clobber_and_input_conflicts): Pass this case to the above.
-
-2019-10-07  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* machmode.h (opt_mode): Mark constructors with CONSTEXPR.
-	(pod_mode): Mark operators likewise.
-	(scalar_int_mode): Mark non-default constructors and
-	operators with CONSTEXPR.
-	(scalar_float_mode, scalar_mode, complex_mode): Likewise.
-	(fixed_size_mode): Likewise.
-
-2019-10-07  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR target/91994
-	* config/i386/sse.md (avx_vzeroupper): Turn into a define_expand
-	and wrap the unspec_volatile in a parallel.
-	(*avx_vzeroupper): New define_insn.  Use a match_parallel around
-	the unspec_volatile.
-	* config/i386/predicates.md (vzeroupper_pattern): Expect the
-	unspec_volatile to be wrapped in a parallel.
-	* config/i386/i386-features.c (ix86_add_reg_usage_to_vzeroupper)
-	(ix86_add_reg_usage_to_vzerouppers): New functions.
-	(rest_of_handle_insert_vzeroupper): Use them to add register
-	usage information to the vzeroupper instructions.
-
-2019-10-07  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/91975
-	* tree-ssa-loop-ivcanon.c (constant_after_peeling): Consistently
-	handle invariants.
-
-2019-10-06  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* var-tracking.c (dataflow_set_clear_at_call): Hoist temporary
-	function result outside of EXECUTE_IF_SET_IN_HARD_REG_SET.
-
-2019-10-06  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (darwin_override_options): Adjust objective-c
-	ABI version error messages to avoid punctuation and contracted
-	negations.
-
-2019-10-05  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c: Fix type; compute size rather than self_size
-	for size of caller function.
-
-2019-10-05  Iain Sandoe  <iain@sandoe.co.uk>
-
-	PR target/59888
-	* config/darwin.c (darwin_rodata_section): Add relocation flag,
-	choose const_data section for constants with relocations.
-	(machopic_select_section): Pass relocation flag to
-	darwin_rodata_section ().
-
-2019-10-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/91734
-	* generic-match-head.c: Include fold-const-call.h.
-	* match.pd (sqrt(x) cmp c): Check the boundary value and
-	in case inexact computation of c*c affects comparison of the boundary,
-	turn LT_EXPR into LE_EXPR, GE_EXPR into GT_EXPR, LE_EXPR into LT_EXPR
-	or GT_EXPR into GE_EXPR.  Punt for sqrt comparisons against NaN and
-	for -frounding-math.  For c2, try the next smaller or larger floating
-	point constant depending on comparison code and if it has the same
-	sqrt as c2, use it instead of c2.
-
-2019-10-04  Martin Sebor  <msebor@redhat.com>
-
-	PR middle-end/91977
-	* tree-ssa-strlen.c (count_nonzero_bytes): Handle assignments with
-	MEM_REF right operand.  Avoid failing for MEM_REF assignments from
-	uninitialized objects.
-
-2019-10-04  Martin Sebor  <msebor@redhat.com>
-
-	* builtins.c (compute_objsize): Add an argument.
-	* tree-object-size.c (addr_object_size): Same.
-	(compute_builtin_object_size): Same.
-	* tree-object-size.h (compute_builtin_object): Same.
-
-2019-10-04  Jan Hubicka  <hubicka@ucw.cz>
-
-	* ipa-inline.c (inline_insns_single, inline_insns_auto): Fix typo.
-
-2019-10-04  Rafael Tsuha  <rafael.tsuha@usp.br>
-
-	* match.pd (sinh (x) / cosh (x)): New simplification rule.
-
-2019-10-04  Martin Jambor  <mjambor@suse.cz>
-
-	* tree-ssa-forwprop.c (simplify_builtin_call): Set gimple call
-	fntype when switching to calling memcpy instead of memset.
-
-2019-10-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* hash-table.h (hash_table::empty_slow): Don't assign
-	size_t values to int variables.
-
-2019-10-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* expr.c (convert_mode_scalar): Remove shadowing local var.
-	(emit_block_move): Rename local vars.
-	(block_move_libcall_safe_for_call_parm): Remove shadowing local var.
-	(emit_push_insn): Rename local vars.
-	(expand_assignment): Fix wrong mode in assign_stack_temp.  Remove
-	shadowing local vars.
-	(store_constructor): Remove shadowing local vars.  Rename local var.
-	(store_field, expand_cond_expr_using_cmove,
-	expand_expr_real_2): Remove shadowing local vars.
-	(expand_expr_real_1,
-	do_store_flag): Remove shadowing local vars.  Rename local vars.
-
-2019-10-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* cgraph.h (FOR_EACH_ALIAS): Avoid shadowing the loop variable.
-
-2019-10-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* genmatch.c (commutate): Rename local var.
-	(lower_cond): Reuse local var.
-	(dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1,
-	dt_operand::gen, dt_operand::gen_gimple_expr,
-	dt_simplify::gen): Add a param.  Rename generated vars.
-	(decision_tree::insert_operand,
-	(capture_info::walk_match, capture_info::walk_result,
-	capture_info::walk_c_expr): Rename local vars.
-	(expr::gen_transform): Rename generated vars.
-	Use snprintf.  Rename local vars.
-	(capture::gen_transform, dt_operand::get_name,
-	dt_operand::gen_opname): Rename generated vars.
-	(write_predicate): Adjust call to gen_kids.
-	(parser::get_internal_capture_id): Rename generated vars.
-	(parser::parse_expr): Rename local vars.
-	(parser::parse_if): Remove local var.
-	(parser::parse_pattern, add_operator): Rename local vars.
-
-2019-10-04  Joseph Myers  <joseph@codesourcery.com>
-
-	* builtins.def (DEF_C2X_BUILTIN): New macro.
-	(exp10, exp10f, exp10l, fabsd32, fabsd64, fabsd128, nand32)
-	(nand64, nand128, roundeven, roundevenf, roundevenl, strdup)
-	(strndup): Use DEF_C2X_BUILTIN.
-	* coretypes.h (enum function_class): Add function_c2x_misc.
-
-2019-10-04  Maya Rashish  <coypu@sdf.org>
-
-	* ira-color.c (update_costs_from_allocno): Call
-	ira_init_register_move_cost_if_necessary.
-
-2019-10-04  Jeff Law  <law@redhat.com>
-
-	* config/h8300/h8300.md (cpymemsi): Disable.
-	(movmd, movmd_internal_<mode>, movstr, movsd):
-	(movstr, movsd, stpcpy_internal_<mode>: Likewise.
-	(movmd splitter, movsd splitter): Likewise.
-
-	* range-op.cc (range_tests): Avoid two tests when ints and
-	shorts are the same size.
-
-2019-10-04  Richard Biener  <rguenther@suse.de>
-
-	PR lto/91968
-	* tree.c (find_decls_types_r): Do not remove LABEL_DECLs from
-	BLOCK_VARS.
-
-2019-10-04  Richard Biener  <rguenther@suse.de>
-
-	PR tree-optimization/91982
-	* tree-vect-loop.c (vectorizable_live_operation): Also guard
-	against EXTRACT_LAST_REDUCTION.
-	* tree-vect-stmts.c (vect_transform_stmt): Likewise.
-
-2019-10-04  Aldy Hernandez  <aldyh@redhat.com>
-
-	* range-op.o (value_range_from_overflowed_bounds): Rename from
-	adjust_overflow_bound.
-	(value_range_with_overflow): Rename from
-	create_range_with_overflow.
-	(create_possibly_reversed_range): Adjusted for above renames.
-	(operator_*::wi_fold): Same.
-	(cross_product_operator::wi_cross_productor): Same.
-
-2019-10-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-	* doc/invoke.texi (-Wshadow=global, -Wshadow=local,
-	-Wshadow=compatible-local): Fix description.
-	Add an example where -Wshadow=compatible-local does not
-	warn.
-
-2019-10-03  John David Anglin  <danglin@gcc.gnu.org>
-
-	* config/pa/pa.h (MAX_PCREL17F_OFFSET): Adjust.
-
-	* config/pa/pa.c (pa_output_call): Remove 64-bit sibcall sequence.
-	(pa_attr_length_call): Adjust length for 64-bit plabel sequence.
-
-2019-10-03  Aaron Sawdey <acsawdey@linux.ibm.com>
-
-	* expr.c (emit_block_move_hints): Slightly cleaner fix to
-	can_move_by_pieces issue.
-
-2019-10-03  Iain Sandoe  <iain@sandoe.co.uk>
-
-	PR target/87243
-	* config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New.
-	(darwin_driver_init): Use the sysroot provided by SDKROOT when that
-	is available and the user has not set one on the command line.
-
-2019-10-03  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
-
-	PR target/91769
-	* config/mips/mips.c (mips_split_move): Use reg_overlap_mentioned_p
-	instead of REGNO equality check on addr.reg.
-
-2019-10-03  Jan Hubicka  <hubicka@ucw.cz>
-
-	* params.def (PARAM_INLINE_HEURISTICS_HINT_PERCENT,
-	PARAM_INLINE_HEURISTICS_HINT_PERCENT_O2): New.
-	* doc/invoke.texi (inline-heuristics-hint-percent,
-	inline-heuristics-hint-percent-O2): Document.
-	* tree-inline.c (inline_insns_single, inline_insns_auto): Add new
-	hint attribute.
-	(can_inline_edge_by_limits_p): Use it.
-
-2019-10-03  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/arm/arm.c (arm_print_value): Use real_to_decimal
-	to print CONST_DOUBLEs.
-
-2019-10-03  Andrea Corallo  <andrea.corallo@arm.com>
-
-	* ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum.
-	* ipa-prop.c (ipcp_free_transformation_sum): New function.
-	* ipa-prop.h (ipcp_free_transformation_sum): Add declaration.
-
-2019-10-03  Aldy Hernandez  <aldyh@redhat.com>
-
-	* Makefile.in (OBJS): Add range.o and range-op.o.
-	Remove wide-int-range.o.
-	* function-tests.c (test_ranges): New.
-	(function_tests_c_tests): Call test_ranges.
-	* ipa-cp.c (ipa_vr_operation_and_type_effects): Call
-	range_fold_unary_expr instead of extract_range_from_unary_expr.
-	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Same.
-	* range-op.cc: New file.
-	* range-op.h: New file.
-	* range.cc: New file.
-	* range.h: New file.
-	* selftest.h (range_tests): New prototype.
-	* ssa.h: Include range.h.
-	* tree-vrp.c (value_range_base::value_range_base): New
-	constructors.
-	(value_range_base::singleton_p): Do not call
-	ranges_from_anti_range until sure we will need to.
-	(value_range_base::type): Rename gcc_assert to
-	gcc_checking_assert.
-	(vrp_val_is_max): New argument.
-	(vrp_val_is_min): Same.
-	(wide_int_range_set_zero_nonzero_bits): Move from
-	wide-int-range.cc.
-	(extract_range_into_wide_ints): Remove.
-	(extract_range_from_multiplicative_op): Remove.
-	(extract_range_from_pointer_plus_expr): Abstract POINTER_PLUS code
-	from extract_range_from_binary_expr.
-	(extract_range_from_plus_minus_expr): Abstract PLUS/MINUS code
-	from extract_range_from_binary_expr.
-	(extract_range_from_binary_expr): Remove.
-	(normalize_for_range_ops): New.
-	(range_fold_binary_expr): New.
-	(range_fold_unary_expr): New.
-	(value_range_base::num_pairs): New.
-	(value_range_base::lower_bound): New.
-	(value_range_base::upper_bound): New.
-	(value_range_base::upper_bound): New.
-	(value_range_base::contains_p): New.
-	(value_range_base::invert): New.
-	(value_range_base::union_): New.
-	(value_range_base::intersect): New.
-	(range_compatible_p): New.
-	(value_range_base::operator==): New.
-	(determine_value_range_1): Call range_fold_*expr instead of
-	extract_range_from_*expr.
-	* tree-vrp.h (class value_range_base): Add new constructors.
-	Add methods for union_, intersect, operator==, contains_p,
-	num_pairs, lower_bound, upper_bound, invert.
-	(vrp_val_is_min): Add handle_pointers argument.
-	(vrp_val_is_max): Same.
-	(extract_range_from_unary_expr): Remove.
-	(extract_range_from_binary_expr): Remove.
-	(range_fold_unary_expr): New.
-	(range_fold_binary_expr): New.
-	* vr-values.c (vr_values::extract_range_from_binary_expr): Call
-	range_fold_binary_expr instead of extract_range_from_binary_expr.
-	(vr_values::extract_range_basic): Same.
-	(vr_values::extract_range_from_unary_expr): Call
-	range_fold_unary_expr instead of extract_range_from_unary_expr.
-	* wide-int-range.cc: Remove.
-	* wide-int-range.h: Remove.
-
-2019-10-02   Michael Meissner  <meissner@linux.ibm.com>
-
-	* config/rs6000/rs6000.c (mem_operand_gpr): Use
-	SIGNED_16BIT_OFFSET_EXTRA_P macro.
-	(mem_operand_ds_form): Use SIGNED_16BIT_OFFSET_EXTRA_P macro.
-	(rs6000_mode_dependent_address): Use SIGNED_16BIT_OFFSET_EXTRA_P
-	macro.
-
-2019-10-02  Joseph Myers  <joseph@codesourcery.com>
-
-	* ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Change
-	condition on WIDTH macros to [__STDC_WANT_IEC_60559_BFP_EXT__ ||
-	(__STDC_VERSION__ && __STDC_VERSION__ > 201710L)].
-	* glimits.h: Likewise.
-
-2019-10-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/91976
-	* expr.c (emit_block_move_hints): Don't call can_move_by_pieces if
-	size is not CONST_INT_P, set pieces_ok to false in that case.  Simplify
-	CONST_INT_P (size) && pieces_ok to pieces_ok.  Formatting fix.
-
-2019-10-02  Martin Sebor  <msebor@redhat.com>
-
-	PR tree-optimization/80936
-	* builtins.def (bcmp, bcopy, bzero): Declare nonnull.
-
-2019-10-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cgraph.c (cgraph_node::rtl_info): Use SET_HARD_REG_SET
-	instead of reg_class_contents[ALL_REGS].
-
-2019-09-30  Jason Merrill  <jason@redhat.com>
-
-	Add some hash_map_safe_* functions like vec_safe_*.
-	* hash-map.h (default_hash_map_size): New variable.
-	(create_ggc): Use it as default argument.
-	(hash_map_maybe_create, hash_map_safe_get)
-	(hash_map_safe_get_or_insert, hash_map_safe_put): New fns.
-
-2019-10-02  Jan Hubicka  <hubicka@ucw.cz>
-
-	* cif-code.def (MAX_INLINE_INSNS_SINGLE_O2_LIMIT,
-	MAX_INLINE_INSNS_AUTO_O2_LIMIT): New.
-	* ipa-inline.c (inline_insns_single, inline_insns_auto): New functions.
-	(can_inline_edge_by_limits_p): Use it.
-	(big_speedup_p): Use PARAM_INLINE_MIN_SPEEDUP_O2.
-	(want_inline_small_function_p): Use O2 bounds.
-	(edge_badness): LIkewise.
-	* opts.c (default_options): Add OPT_finline_functions.
-	* params.def (PARAM_INLINE_MIN_SPEEDUP_O2,
-	PARAM_MAX_INLINE_INSNS_SINGLE_O2, PARAM_MAX_INLINE_INSNS_AUTO_O2):
-	New parameters.
-	* doc/invoke.texi (-finline-functions): Update documentation.
-	(max-inline-insns-single-O2, max-inline-insns-auto-O2,
-	inline-min-speedup-O2): Document.
-	(early-inlining-insns-O2): Simplify docs.
-
-2019-10-02  Alexander Monakov  <amonakov@ispras.ru>
-
-	PR rtl-optimization/87047
-	* ifcvt.c (average_cost): New static function.  Use it...
-	(noce_process_if_block): ... here.
-
-2019-10-02  Aaron Sawdey <acsawdey@linux.ibm.com>
-
-	* config/rs6000/rs6000-protos.h (expand_block_move): Change prototype.
-	* config/rs6000/rs6000-string.c (expand_block_move): Add
-	might_overlap parm.
-	* config/rs6000/rs6000.md (movmemsi): Add new pattern.
-	(cpymemsi): Add might_overlap parm to expand_block_move() call.
-
-2019-10-02  Aaron Sawdey <acsawdey@linux.ibm.com>
-
-	* builtins.c (expand_builtin_memory_copy_args): Add might_overlap parm.
-	(expand_builtin_memcpy): Use might_overlap parm.
-	(expand_builtin_mempcpy_args): Use might_overlap parm.
-	(expand_builtin_memmove): Call expand_builtin_memory_copy_args.
-	(expand_builtin_memory_copy_args): Add might_overlap parm.
-	* expr.c (emit_block_move_via_cpymem): Rename to
-	emit_block_move_via_pattern, add might_overlap parm, use cpymem
-	or movmem optab as appropriate.
-	(emit_block_move_hints): Add might_overlap parm, do the right
-	thing for might_overlap==true.
-	* expr.h (emit_block_move_hints): Update prototype.
-
-2019-10-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-eh.h (unsplit_eh_edges): Declare.
-	* tree-eh.c (maybe_remove_unreachable_handlers): Detect more cases.
-	(unsplit_eh_edges): New function wrapping unsplit_all_eh.
-	* gimple-ssa-store-merging.c: Include cfganal.h cfgcleanup.h except.h.
-	(struct store_immediate_info): Add lp_nr field.
-	(store_immediate_info::store_immediate_info): Add NR2 parameter and
-	initialize lp_nr with it.
-	(struct merged_store_group): Add lp_nr and only_constants fields.
-	(merged_store_group::merged_store_group): Initialize them.
-	(merged_store_group::can_be_merged_into): Deal with them.
-	(pass_store_merging): Rename terminate_and_release_chain into
-	terminate_and_process_chain.
-	(pass_store_merging::terminate_and_process_all_chains): Adjust to above
-	renaming and remove useless assertions.
-	(pass_store_merging::terminate_all_aliasing_chains): Small tweak.
-	(stmts_may_clobber_ref_p): Be prepared for different basic blocks.
-	(imm_store_chain_info::coalesce_immediate_stores): Use only_constants
-	instead of always recomputing it and compare lp_nr.
-	(imm_store_chain_info::output_merged_store): If the group is in an
-	active EH region, register new stores if they can throw.  Moreover,
-	if the insertion has created new basic blocks, adjust the PHI nodes
-	of the post landing pad.
-	(imm_store_chain_info::output_merged_stores): If the original stores
-	are in an active EH region, deregister them.
-	(lhs_valid_for_store_merging_p): Prettify.
-	(adjust_bit_pos): New function extracted from...
-	(mem_valid_for_store_merging): ...here.  Use it for the base address
-	and also for the offset if it is the addition of a constant.
-	(lp_nr_for_store): New function.
-	(pass_store_merging::process_store): Change return type to bool.
-	Call lp_nr_for_store to initialize the store info.  Propagate the
-	return status of various called functions to the return value.
-	(store_valid_for_store_merging_p): New predicate.
-	(enum basic_block_status): New enumeration.
-	(get_status_for_store_merging): New function.
-	(pass_store_merging::execute): If the function can throw and catch
-	non-call exceptions, unsplit the EH edges on entry and clean up the
-	CFG on exit if something changed.  Call get_status_for_store_merging
-	for every basic block and keep the chains open across basic blocks
-	when possible.  Terminate and process open chains at the end, if any.
-
-2019-10-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* reginfo.c (globalize_reg): Fix shadowed variable in
-	function_abis walk.
-
-2019-10-02  Martin Jambor  <mjambor@suse.cz>
-
-	* cgraph.c (symbol_table::create_edge): New parameter cloning_p,
-	do not compute some stuff when set.
-	(cgraph_node::create_edge): Likewise.
-	(cgraph_node::create_indirect_edge): Renamed last parameter to
-	coning_p and flipped its meaning, don't even calculate
-	inline_failed when set.
-	* cgraph.h (cgraph_node::create_edge): Add new parameter.
-	(symbol_table::::create_edge): Likewise.
-	(cgraph_node::create_indirect_edge): Rename last parameter, flip
-	the default value.
-	* cgraphclones.c (cgraph_edge::clone): Pass true cloning_p to all
-	call graph edge creating functions.
-
-2019-10-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR c++/91222
-	* ipa-devirt.c (warn_types_mismatch): Fix conditional on anonymous
-	namespace types.
-
-2019-10-02  Shahab Vahedi  <shahab@synopsys.com>
-
-	* config/arc/arc.h (ASM_SPEC): Pass -mcode-density.
-
-2019-10-02  Richard Biener  <rguenther@suse.de>
-
-	* tree-vectorizer.h (vect_transform_reduction): Declare.
-	* tree-vect-stmts.c (vect_transform_stmt): Use it.
-	* tree-vect-loop.c (vectorizable_reduction): Split out reduction
-	stmt transform to ...
-	(vect_transform_reduction): ... this.
-
-2019-10-02  Tobias Burnus  <tobias@codesourcery.com>
-
-	* omp-low.c (lower_omp_target): Dereference optional argument
-	to work with the right pointer.
-
-2019-10-02  Kwok Cheung Yeung  <kcy@codesourcery.com>
-
-	* langhooks-def.h (LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT): Default to
-	false.
-	(LANG_HOOKS_DECLS): Add LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT.
-	* langhooks.h (omp_is_optional_argument): New hook.
-	* omp-general.c (omp_is_optional_argument): New.
-	* omp-general.h (omp_is_optional_argument): New declaration.
-	* omp-low.c (lower_omp_target): Create temporary for received value
-	and take the address for new_var if the original variable was a
-	DECL_BY_REFERENCE.  Use size of referenced object when a
-	pass-by-reference optional argument used as argument to firstprivate.
-
-2019-10-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/91940
-	* tree-vect-patterns.c: Include tree-vector-builder.h and
-	vec-perm-indices.h.
-	(vect_recog_rotate_pattern): Also handle __builtin_bswap16, either by
-	unpromoting the argument back to uint16_t, or by converting into a
-	rotate, or into shifts plus ior.
-
-2019-10-02  Richard Biener  <rguenther@suse.de>
-
-	* tree-vectorizer.h (stmt_vec_info_type::cycle_phi_info_type):
-	New.
-	(vect_transform_cycle_phi): Declare.
-	* tree-vect-stmts.c (vect_transform_stmt): Call
-	vect_transform_cycle_phi.
-	* tree-vect-loop.c (vectorizable_reduction): Split out
-	PHI transformation stage to ...
-	(vect_transform_cycle_phi): ... here.
-
-2019-10-02  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR middle-end/91957
-	* lra-lives.c (make_hard_regno_dead): Don't record conflicts for
-	eliminable registers.
-	(make_hard_regno_live): Likewise, and don't make them live.
-
-2019-10-01  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (layout::print_gap_in_line_numbering):
-	Call pp_emit_prefix.
-	(layout::print_source_line): Likewise.
-	(layout::start_annotation_line): Likewise.
-	(diagnostic_show_locus): Remove call to temporarily clear the
-	prefix.
-	(selftest::test_one_liner_fixit_remove): Add test coverage for the
-	interaction of pp_set_prefix with rulers and fix-it hints.
-	* diagnostic.c (default_diagnostic_finalizer): Temporarily clear
-	prefix when calling diagnostic_show_locus, rather than destroying
-	it afterwards.
-	(print_parseable_fixits): Temporarily clear prefix.
-	* pretty-print.c (pp_format): Save and restore line_length, rather
-	than assuming it is zero.
-	(pp_output_formatted_text): Remove assertion that line_length is
-	zero.
-
-2019-10-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* tree-ssa-alias.c (nonoverlapping_component_refs_since_match_p):
-	Rename to ...
-	(nonoverlapping_refs_since_match_p): ... this; handle also
-	ARRAY_REFs.
-	(alias_stats): Update stats.
-	(dump_alias_stats): Likewise.
-	(cheap_array_ref_low_bound): New function.
-	(aliasing_matching_component_refs_p): Add partial_overlap
-	argument;
-	pass it to nonoverlapping_refs_since_match_p.
-	(aliasing_component_refs_walk): Update call of
-	aliasing_matching_component_refs_p
-	(nonoverlapping_array_refs_p): New function.
-	(decl_refs_may_alias_p, indirect_ref_may_alias_decl_p,
-	indirect_refs_may_alias_p): Update calls of
-	nonoverlapping_refs_since_match_p.
-
-2019-10-01  Maya Rashish  <coypu@sdf.org>
-
-	PR target/85401
-	* ira-color.c (allocno_copy_cost_saving): Call
-	ira_init_register_move_cost_if_necessary.
-
-2019-10-01  Maciej W. Rozycki  <macro@wdc.com>
-
-	* Makefile.in (gnat_install_lib): New variable.
-	* configure.ac: Substitute it.
-	* configure: Regenerate.
-
-2019-10-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	PR lto/91222
-	* ipa-devirt.c (warn_types_mismatch): Do not ICE when anonymous type
-	is matched with non-C++ type
-
-2019-10-01  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
-
-	* tree-if-conv.c (tree_if_conversion): Move call to ifcvt_local_dce
-	after local CSE.
-
-2019-10-01  Jan Hubicka  <hubicka@ucw.cz>
-
-	* doc/invoke.texi (early-inlining-insns-O2): Document.
-	(early-inlining-insns): Update.
-	* params.def (early-inlining-insns-O2): New bound.
-	(early-inlining-insns): Update docs.
-	* ipa-inline.c (want_early_inline_function_p): Use new bound.
-
-2019-10-01  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/88562
-	* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
-	sh_check_add_incdec_notes to preserve REG_INC notes when replacing
-	a memory access insn.
-
-2019-10-01  Bill Schmidt  <wschmidt@linux.ibm.com>
-
-	* config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Don't swap
-	vpmsumd.
-
-2019-10-01  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR target/77918
-	* config/s390/s390.c (s390_expand_vec_compare): Use
-	gen_vec_cmpordered and gen_vec_cmpunordered.
-	* config/s390/vector.md (vec_cmpuneq, vec_cmpltgt, vec_ordered,
-	vec_unordered): Delete.
-	(vec_ordered<mode>): Rename to vec_cmpordered<mode>.
-	(vec_unordered<mode>): Rename to vec_cmpunordered<mode>.
-	(VEC_CMP_EXPAND): New iterator for the generic dispatcher.
-	(vec_cmp<code>): Generic dispatcher.
-
-2019-10-01  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR target/77918
-	* config/s390/vector.md (V_HW): Add V1TI in order to make
-	vcond$a$b generate vcondv1tiv1tf.
-
-2019-10-01  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR rtl-optimization/91948
-	* ira-build.c (ira_create_allocno): Initialize
-	ALLOCNO_CROSSED_CALLS_ABIS.
-	* ira-color.c (allocno_reload_assign): Pass hard_regno rather
-	than regno to ira_need_caller_save_p.
-
-2019-10-01  Alexandre Oliva <oliva@adacore.com>
-
-	* config/i386/i386-options.c
-	(ix86_recompute_optlev_based_flags): New, moved out of...
-	(ix86_option_override_internal): ... this.  Call it.
-	(ix86_override_options_after_change): Call it here too.
-
-	PR debug/91507
-	* dwarf2out.c (override_type_for_decl_p): New.
-	(gen_variable_die): Use it.
-
-2019-10-01  Richard Biener  <rguenther@suse.de>
-
-	* tree-vect-loop.c (vectorizable_reduction): Move variables
-	to where they are used.
-
-2019-10-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* regrename.c (hide_operands): Use pc_rtx instead of cc0_rtx.
-	(build_def_use): Use PC instead of CC0 in a comment.
-
-2019-10-01  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* rtl.def (CLOBBER_HIGH): Delete.
-	* doc/rtl.texi (clobber_high): Remove documentation.
-	* rtl.h (SET_DEST): Remove CLOBBER_HIGH from the list of codes.
-	(reg_is_clobbered_by_clobber_high): Delete.
-	(gen_hard_reg_clobber_high): Likewise.
-	* alias.c (record_set): Remove CLOBBER_HIGH handling.
-	* cfgexpand.c (expand_gimple_stmt): Likewise.
-	* combine-stack-adj.c (single_set_for_csa): Likewise.
-	* combine.c (find_single_use_1, set_nonzero_bits_and_sign_copies)
-	(can_combine_p, is_parallel_of_n_reg_sets, try_combine)
-	(record_dead_and_set_regs_1, reg_dead_at_p_1): Likewise.
-	* cse.c (invalidate_reg): Remove clobber_high parameter.
-	(invalidate): Update call accordingly.
-	(canonicalize_insn): Remove CLOBBER_HIGH handling.
-	(invalidate_from_clobbers, invalidate_from_sets_and_clobbers)
-	(count_reg_usage, insn_live_p): Likewise.
-	* cselib.h (cselib_invalidate_rtx): Remove sett argument.
-	* cselib.c (cselib_invalidate_regno, cselib_invalidate_rtx): Likewise.
-	(cselib_invalidate_rtx_note_stores): Update call accordingly.
-	(cselib_expand_value_rtx_1): Remove CLOBBER_HIGH handling.
-	(cselib_invalidate_regno, cselib_process_insn): Likewise.
-	* dce.c (deletable_insn_p, mark_nonreg_stores_1): Likewise.
-	(mark_nonreg_stores_2): Likewise.
-	* df-scan.c (df_find_hard_reg_defs, df_uses_record): Likewise.
-	(df_get_call_refs): Likewise.
-	* dwarf2out.c (mem_loc_descriptor): Likewise.
-	* emit-rtl.c (verify_rtx_sharing): Likewise.
-	(copy_insn_1, copy_rtx_if_shared_1): Likewise.
-	(hard_reg_clobbers_high, gen_hard_reg_clobber_high): Delete.
-	* genconfig.c (walk_insn_part): Remove CLOBBER_HIGH handling.
-	* genemit.c (gen_exp, gen_insn): Likewise.
-	* genrecog.c (validate_pattern, remove_clobbers): Likewise.
-	* haifa-sched.c (haifa_classify_rtx): Likewise.
-	* ira-build.c (create_insn_allocnos): Likewise.
-	* ira-costs.c (scan_one_insn): Likewise.
-	* ira.c (equiv_init_movable_p, memref_referenced_p): Likewise.
-	(rtx_moveable_p, interesting_dest_for_shprep): Likewise.
-	* jump.c (mark_jump_label_1): Likewise.
-	* lra-int.h (lra_insn_reg::clobber_high): Delete.
-	* lra-eliminations.c (lra_eliminate_regs_1): Remove CLOBBER_HIGH
-	handling.
-	(mark_not_eliminable): Likewise.
-	* lra-lives.c (process_bb_lives): Likewise.
-	* lra.c (new_insn_reg): Remove clobber_high parameter.
-	(collect_non_operand_hard_regs): Likewise.  Update call to new
-	insn_reg.  Remove CLOBBER_HIGH handling.
-	(lra_set_insn_recog_data): Remove CLOBBER_HIGH handling.  Update call
-	to collect_non_operand_hard_regs.
-	(add_regs_to_insn_regno_info): Remove CLOBBER_HIGH handling.
-	Update call to new_insn_reg.
-	(lra_update_insn_regno_info): Remove CLOBBER_HIGH handling.
-	* postreload.c (reload_cse_simplify, reload_combine_note_use)
-	(move2add_note_store): Likewise.
-	* print-rtl.c (print_pattern): Likewise.
-	* recog.c (store_data_bypass_p_1, store_data_bypass_p): Likewise.
-	(if_test_bypass_p): Likewise.
-	* regcprop.c (kill_clobbered_value, kill_set_value): Likewise.
-	* reginfo.c (reg_scan_mark_refs): Likewise.
-	* reload1.c (maybe_fix_stack_asms, eliminate_regs_1): Likewise.
-	(elimination_effects, mark_not_eliminable, scan_paradoxical_subregs)
-	(forget_old_reloads_1): Likewise.
-	* reorg.c (find_end_label, try_merge_delay_insns, redundant_insn)
-	(own_thread_p, fill_simple_delay_slots, fill_slots_from_thread)
-	(dbr_schedule): Likewise.
-	* resource.c (update_live_status, mark_referenced_resources)
-	(mark_set_resources): Likewise.
-	* rtl.c (copy_rtx): Likewise.
-	* rtlanal.c (reg_referenced_p, set_of_1, single_set_2, noop_move_p)
-	(note_pattern_stores): Likewise.
-	(reg_is_clobbered_by_clobber_high): Delete.
-	* sched-deps.c (sched_analyze_reg, sched_analyze_insn): Remove
-	CLOBBER_HIGH handling.
-
-2019-10-01  Richard Sandiford  <richard.sandiford@arm.com>
-
-	PR target/91452
-	* config/aarch64/aarch64.h (ARM_PCS_TLSDESC): New arm_pcs.
-	* config/aarch64/aarch64-protos.h (aarch64_tlsdesc_abi_id): Declare.
-	* config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered):
-	Handle ARM_PCS_TLSDESC.
-	(aarch64_tlsdesc_abi_id): New function.
-	* config/aarch64/aarch64.md (tlsdesc_small_sve_<mode>): Use a call
-	rtx instead of a list of clobbers and clobber_highs.
-	(tlsdesc_small_<mode>): Update accordingly.
-
-2019-10-01  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_expand_call): Take an
-	extra callee_abi argument.
-	* config/aarch64/aarch64.c (aarch64_expand_call): Likewise.
-	Insert a CALLEE_ABI unspec into the call pattern as the second
-	element in the PARALLEL.
-	(aarch64_simd_call_p): Delete.
-	(aarch64_insn_callee_abi): Get the arm_pcs of the callee from
-	the new CALLEE_ABI element of the PARALLEL.
-	(aarch64_init_cumulative_args): Get the arm_pcs of the callee
-	from the function type, if given.
-	(aarch64_function_arg_advance): Handle ARM_PCS_SIMD.
-	(aarch64_function_arg): Likewise.  Return the arm_pcs of the callee
-	when passed the function_arg_info end marker.
-	(aarch64_output_mi_thunk): Pass the arm_pcs of the callee as the
-	final argument of gen_sibcall.
-	* config/aarch64/aarch64.md (UNSPEC_CALLEE_ABI): New unspec.
-	(call): Make operand 2 a const_int_operand and pass it to expand_call.
-	Wrap it in an UNSPEC_CALLEE_ABI unspec for the dummy define_expand
-	pattern.
-	(call_value): Likewise operand 3.
-	(sibcall): Likewise operand 2.  Place the unspec before rather than
-	after the return.
-	(sibcall_value): Likewise operand 3.
-	(*call_insn, *call_value_insn): Include an UNSPEC_CALLEE_ABI.
-	(tlsgd_small_<mode>, *tlsgd_small_<mode>): Likewise.
-	(*sibcall_insn, *sibcall_value_insn): Likewise.  Remove empty
-	constraint strings.
-	(untyped_call): Pass const0_rtx as the callee ABI to gen_call.
-
-2019-10-01  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* regs.h (HARD_REGNO_CALLER_SAVE_MODE): Update call to
-	choose_hard_reg_mode.
-	* config/sparc/sparc.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
-
-2019-10-01  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* doc/md.texi (vec_pack_trunc_@var{m}): Fix typo.
-	(vec_pack_sfix_trunc_@var{m}, vec_pack_ufix_trunc_@var{m}): Ditto.
-	(vec_packs_float_@var{m}, vec_packu_float_@var{m}): Ditto.
-
-2019-09-30  David Malcolm  <dmalcolm@redhat.com>
-
-	* diagnostic-show-locus.c (line_label::line_label): Initialize
-	m_has_vbar.
-	(line_label::comparator): Reverse the sort order by m_state_idx,
-	so that when the list is walked backwards the labels appear in
-	order of insertion into the rich_location.
-	(line_label::m_has_vbar): New field.
-	(layout::print_any_labels): When dealing with multiple labels at
-	the same line and column, only print vertical bars for the one
-	with the highest label_line.
-	(selftest::test_one_liner_labels): Update test for multiple labels
-	to expect the labels to be in the order of insertion into the
-	rich_location.  Add a test for many such labels, where the column
-	numbers are out-of-order relative to the insertion order.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/i386/i386.h (ix86_frame::expensive_p): New field.
-	(ix86_frame::expensive_count): Likewise.
-	* config/i386/i386.c (ix86_compute_frame_layout): Make the choice
-	of use_fast_prologue_epilogue robust against incidental changes
-	in function size.
-
-2019-09-30  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	PR target/77918
-	* config/s390/vector.md (vec_unordered<mode>): Call
-	gen_vec_ordered<mode>.
-
-2019-09-30  Yuliang Wang  <yuliang.wang@arm.com>
-
-	* config/aarch64/aarch64-sve.md (sdiv_pow2<mode>3):
-	New pattern for ASRD.
-	* config/aarch64/iterators.md (UNSPEC_ASRD): New unspec.
-	* internal-fn.def (IFN_DIV_POW2): New internal function.
-	* optabs.def (sdiv_pow2_optab): New optab.
-	* tree-vect-patterns.c (vect_recog_divmod_pattern):
-	Modify pattern to support new operation.
-	* doc/md.texi (sdiv_pow2$var{m3}): Documentation for the above.
-	* doc/sourcebuild.texi (vect_sdiv_pow2_si):
-	Document new target selector.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_layout_frame): Use crtl->abi
-	to test whether we're compiling a vector PCS function and to test
-	whether the function needs to save a particular register.
-	Remove the vector PCS handling of df_set_regs_ever_live.
-	(aarch64_components_for_bb): Use crtl->abi to test whether
-	the function needs to save a particular register.
-	(aarch64_process_components): Use crtl->abi to test whether
-	we're compiling a vector PCS function.
-	(aarch64_expand_prologue, aarch64_expand_epilogue): Likewise.
-	(aarch64_epilogue_uses): Remove handling of vector PCS functions.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64-protos.h (aarch64_use_simple_return_insn_p):
-	Delete.
-	* config/aarch64/aarch64.c (aarch64_components_for_bb): Check
-	whether the block calls a function that clobbers more registers
-	than the current function is allowed to.
-	(aarch64_use_simple_return_insn_p): Delete.
-	* config/aarch64/aarch64.md (simple_return): Remove condition.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* function-abi.h (function_abi_aggregator): New class.
-	* function-abi.cc (function_abi_aggregator::caller_save_regs): New
-	function.
-	* ira.c (update_equiv_regs_prescan): New function.  Call
-	set_paradoxical_subreg here rather than...
-	(update_equiv_regs): ...here.
-	(ira): Call update_equiv_regs_prescan.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* hard-reg-set.h (regs_invalidated_by_call): Only define if
-	IN_TARGET_CODE.
-	(call_used_or_fixed_regs): Likewise.
-	(call_used_or_fixed_reg_p): Likewise.
-	* reginfo.c (regs_invalidated_by_call): New macro.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* shrink-wrap.c: Include function-abi.h.
-	(requires_stack_frame_p): Use crtl->abi to test whether the
-	current function can use a register without saving it first.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* sel-sched-ir.h (_def::crosses_call): Replace with...
-	(_def::crossed_call_abis): ..this new field.
-	(def_list_add): Take a mask of ABIs instead of a crosses_call
-	boolean.
-	* sel-sched-ir.c (def_list_add): Likewise.  Update initialization
-	of _def accordingly.
-	* sel-sched.c: Include function-abi.h.
-	(hard_regs_data::regs_for_call_clobbered): Delete.
-	(reg_rename::crosses_call): Replace with...
-	(reg_rename::crossed_call_abis): ...this new field.
-	(fur_static_params::crosses_call): Replace with...
-	(fur_static_params::crossed_call_abis): ...this new field.
-	(init_regs_for_mode): Don't initialize sel_hrd.regs_for_call_clobbered.
-	(init_hard_regs_data): Use crtl->abi to test which registers the
-	current function would need to save before it uses them.
-	(mark_unavailable_hard_regs): Update handling of call-clobbered
-	registers, using call_clobbers_in_region to find out which registers
-	might be call-clobbered (but without taking -fipa-ra into account
-	for now).  Remove separate handling of partially call-clobbered
-	registers.
-	(verify_target_availability): Use crossed_call_abis instead of
-	crosses_call.
-	(get_spec_check_type_for_insn, find_used_regs): Likewise.
-	(fur_orig_expr_found, fur_on_enter, fur_orig_expr_not_found): Likewise.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* sched-deps.c (deps_analyze_insn): Use the ABI of the target
-	function to test whether a register is fully or partly clobbered.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* rtlanal.c: Include function-abi.h.
-	(reg_set_p): Use insn_callee_abi to get the ABI of the called
-	function and clobbers_reg_p to test whether the register
-	is call-clobbered.
-	(find_all_hard_reg_sets): When implicit is true, use insn_callee_abi
-	to get the ABI of the called function and full_reg_clobbers to
-	get the set of fully call-clobbered registers.  Warn about the
-	pitfalls of using this mode.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* reload.c: Include function-abi.h.
-	(find_equiv_reg): Use clobbers_reg_p to test whether either
-	of the equivalent registers is clobbered by a call.
-	* reload1.c: Include function-abi.h.
-	(reg_reloaded_call_part_clobbered): Delete.
-	(reload): Use crtl->abi to test which registers would need
-	saving in the prologue before use.
-	(find_reg): Likewise.
-	(emit_reload_insns): Remove code for reg_reloaded_call_part_clobbered.
-	(reload_as_needed): Likewise.  Use full_and_partial_reg_clobbers
-	instead of call_used_or_fixed_regs | reg_reloaded_call_part_clobbered.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* regrename.h (du_head::call_clobber_mask): New field.
-	(du_head::need_caller_save_reg): Replace with...
-	(du_head::call_abis): ...this new field.
-	* regrename.c: Include function-abi.h.
-	(call_clobbered_in_chain_p): New function.
-	(check_new_reg_p): Use crtl->abi when deciding whether a register
-	is free for use after RA.  Use call_clobbered_in_chain_p to test
-	whether a candidate register would be clobbered by a call.
-	(find_rename_reg): Don't add call-clobber conflicts here.
-	(rename_chains): Check call_abis instead of need_caller_save_reg.
-	(merge_chains): Update for changes to du_head.
-	(build_def_use): Use insn_callee_abi to get the ABI of the call insn
-	target.  Record the ABI identifier in call_abis and the set of
-	fully or partially clobbered registers in call_clobber_mask.
-	Add fully-clobbered registers to hard_conflicts here rather
-	than in find_rename_reg.
-	* config/aarch64/cortex-a57-fma-steering.c: Include function-abi.h.
-	(rename_single_chain): Check call_abis instead of need_caller_save_reg.
-	* config/aarch64/falkor-tag-collision-avoidance.c: Include
-	function-abi.h.
-	* config/c6x/c6x.c: Likewise.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* regcprop.c (copyprop_hardreg_forward_1): Use the recorded
-	mode of the register when deciding whether it is no longer
-	available after a call.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* recog.c: Include function-abi.h.
-	(peep2_find_free_register): Use crtl->abi when deciding whether
-	a register is free for use after RA.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* postreload-gcse.c: Include regs.h and function-abi.h.
-	(record_opr_changes): Use insn_callee_abi to get the ABI of the
-	call insn target.  Conservatively assume that partially-clobbered
-	registers are altered.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* postreload.c (reload_combine_recognize_pattern): Use crtl->abi
-	when deciding whether a register is free for use after RA.
-	(reload_combine): Remove unnecessary use of fixed_reg_set.
-	(reload_cse_move2add): Use insn_callee_abi to get the ABI of the
-	call insn target.  Use reg_mode when testing whether a register
-	is no longer available.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.def (return_call_with_max_clobbers): Delete.
-	* doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): Delete.
-	* doc/tm.texi: Regenerate.
-	* config/aarch64/aarch64.c (aarch64_return_call_with_max_clobbers)
-	(TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): Delete.
-	* lra-int.h (lra_reg::actual_call_used_reg_set): Delete.
-	(lra_reg::call_insn): Delete.
-	* lra.c: Include function-abi.h.
-	(initialize_lra_reg_info_element): Don't initialize the fields above.
-	(lra): Use crtl->abi to test whether the current function needs to
-	save a register in the prologue.  Remove special pre-inheritance
-	lra_create_live_ranges pass for flag_ipa_ra.
-	* lra-assigns.c: Include function-abi.h
-	(find_hard_regno_for_1): Use crtl->abi to test whether the current
-	function needs to save a register in the prologue.
-	(lra_assign): Assert that registers aren't allocated to a
-	conflicting register, rather than checking only for overlaps
-	with call_used_or_fixed_regs.  Do this even for flag_ipa_ra,
-	and for registers that are not live across a call.
-	* lra-constraints.c (last_call_for_abi): New variable.
-	(full_and_partial_call_clobbers): Likewise.
-	(setup_next_usage_insn): Remove the register from
-	full_and_partial_call_clobbers.
-	(need_for_call_save_p): Use call_clobbered_in_region_p to test
-	whether the register needs a caller save.
-	(need_for_split_p): Use full_and_partial_reg_clobbers instead
-	of call_used_or_fixed_regs.
-	(inherit_in_ebb): Initialize and maintain last_call_for_abi and
-	full_and_partial_call_clobbers.
-	* lra-lives.c (check_pseudos_live_through_calls): Replace
-	last_call_used_reg_set and call_insn arguments with an abi argument.
-	Remove handling of lra_reg::call_insn.  Use function_abi::mode_clobbers
-	as the set of conflicting registers.
-	(calls_have_same_clobbers_p): Delete.
-	(process_bb_lives): Track the ABI of the last call instead of an
-	insn/HARD_REG_SET pair.  Update calls to
-	check_pseudos_live_through_calls.  Use eh_edge_abi to calculate
-	the set of registers that could be clobbered by an EH edge.
-	Include partially-clobbered as well as fully-clobbered registers.
-	(lra_create_live_ranges_1): Don't initialize lra_reg::call_insn.
-	* lra-remat.c: Include function-abi.h.
-	(call_used_regs_arr_len, call_used_regs_arr): Delete.
-	(set_bb_regs): Use insn_callee_abi to get the set of call-clobbered
-	registers and bitmap_view to combine them into dead_regs.
-	(call_used_input_regno_present_p): Take a function_abi argument
-	and use it to test whether a register is call-clobbered.
-	(calculate_gen_cands): Use insn_callee_abi to get the ABI of the
-	call insn target.  Update tje call to call_used_input_regno_present_p.
-	(do_remat): Likewise.
-	(lra_remat): Remove the initialization of call_used_regs_arr_len
-	and call_used_regs_arr.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* loop-iv.c: Include regs.h and function-abi.h.
-	(simplify_using_initial_values): Use insn_callee_abi to get the
-	ABI of the call insn target.  Conservatively assume that
-	partially-clobbered registers are altered.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* function-abi.h (call_clobbers_in_region): Declare.
-	(call_clobbered_in_region_p): New function.
-	* function-abi.cc (call_clobbers_in_region): Likewise.
-	* ira-int.h: Include function-abi.h.
-	(ira_allocno::crossed_calls_abis): New field.
-	(ALLOCNO_CROSSED_CALLS_ABIS): New macro.
-	(ira_need_caller_save_regs): New function.
-	(ira_need_caller_save_p): Likewise.
-	* ira.c (setup_reg_renumber): Use ira_need_caller_save_p instead
-	of call_used_or_fixed_regs.
-	(do_reload): Use crtl->abi to test whether the current function
-	needs to save a register in the prologue.  Count registers that
-	need to be saved rather than registers that don't.
-	* ira-build.c (create_cap_allocno): Copy ALLOCNO_CROSSED_CALLS_ABIS.
-	Remove unnecessary | from ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
-	(propagate_allocno_info): Merge ALLOCNO_CROSSED_CALLS_ABIS too.
-	(propagate_some_info_from_allocno): Likewise.
-	(copy_info_to_removed_store_destinations): Likewise.
-	(ira_flattening): Say that ALLOCNO_CROSSED_CALLS_ABIS and
-	ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS are handled conservatively.
-	(ira_build): Use ira_need_caller_save_regs instead of
-	call_used_or_fixed_regs.
-	* ira-color.c (calculate_saved_nregs): Use crtl->abi to test
-	whether the current function would need to save a register
-	before using it.
-	(calculate_spill_cost): Likewise.
-	(allocno_reload_assign): Use ira_need_caller_save_regs and
-	ira_need_caller_save_p instead of call_used_or_fixed_regs.
-	* ira-conflicts.c (ira_build_conflicts): Use
-	ira_need_caller_save_regs rather than call_used_or_fixed_regs
-	as the set of call-clobbered registers.  Remove the
-	call_used_or_fixed_regs mask from the calculation of
-	temp_hard_reg_set and mask its use instead.  Remove special
-	handling of partially-clobbered registers.
-	* ira-costs.c (ira_tune_allocno_costs): Use ira_need_caller_save_p.
-	* ira-lives.c (process_bb_node_lives): Use mode_clobbers to
-	calculate the set of conflicting registers for calls that
-	can throw.  Record the ABIs of calls in ALLOCNO_CROSSED_CALLS_ABIS.
-	Use full_and_partial_reg_clobbers rather than full_reg_clobbers
-	for the calculation of ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
-	Use eh_edge_abi to calculate the set of registers that could
-	be clobbered by an EH edge.  Include partially-clobbered as
-	well as fully-clobbered registers.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* haifa-sched.c: Include function-abi.h.
-	(alloc_global_sched_pressure_data): Use crtl->abi to check whether
-	the function would need to save a register before using it.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* gcse.c: Include function-abi.h.
-	(compute_hash_table_work): Use insn_callee_abi to get the ABI of
-	the call insn target.  Invalidate partially call-clobbered
-	registers as well as fully call-clobbered ones.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* function.c (aggregate_value_p): Work out which ABI the
-	function is using before testing which registers are at least
-	partly preserved by a call.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* early-remat.c: Include regs.h and function-abi.h.
-	(early_remat::maybe_add_candidate): Don't check for call-clobbered
-	registers here.
-	(early_remat::restrict_remat_for_unavail_regs): New function.
-	(early_remat::restrict_remat_for_call): Likewise.
-	(early_remat::process_block): Before calling emit_remat_insns
-	for a previous call in the block, invalidate any candidates
-	that would clobber call-preserved registers.
-	(early_remat::emit_remat_insns_for_block): Likewise for the
-	final call in a block.  Do the same thing for live-in registers
-	when calling emit_remat_insns at the head of a block.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* df-scan.c (df_get_entry_block_def_set): Use crtl->abi to test
-	whether the current function needs to save at least part of a
-	register before using it.
-	(df_get_exit_block_use_set): Likewise for epilogue restores.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* df-problems.c: Include regs.h and function-abi.h.
-	(df_rd_problem_data): Rename sparse_invalidated_by_call to
-	sparse_invalidated_by_eh and dense_invalidated_by_call to
-	dense_invalidated_by_eh.
-	(df_print_bb_index): Update accordingly.
-	(df_rd_alloc, df_rd_start_dump, df_rd_confluence_n): Likewise.
-	(df_lr_confluence_n): Use eh_edge_abi to get the set of registers
-	that are clobbered by an EH edge.  Clobber partially-clobbered
-	registers as well as fully-clobbered ones.
-	(df_md_confluence_n): Likewise.
-	(df_rd_local_compute): Likewise.  Update for changes to
-	df_rd_problem_data.
-	* df-scan.c (df_scan_start_dump): Use eh_edge_abi to get the set
-	of registers that are clobbered by an EH edge.  Includde partially-
-	clobbered registers as well as fully-clobbered ones.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cselib.c (cselib_process_insn): If we know what mode a
-	register was set in, check whether it is clobbered in that
-	mode by a call.  Only fall back to reg_raw_mode if that fails.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cse.c: Include regs.h and function-abi.h.
-	(invalidate_for_call): Take the call insn as an argument.
-	Use insn_callee_abi to get the ABI of the call and invalidate
-	partially clobbered registers as well as fully clobbered ones.
-	(cse_insn): Update call accordingly.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* combine.c: Include function-abi.h.
-	(record_dead_and_set_regs): Use insn_callee_abi to get the ABI
-	of the target of call insns.  Invalidate partially-clobbered
-	registers as well as fully-clobbered ones.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cfgloopanal.c: Include regs.h and function-abi.h.
-	(init_set_costs): Use default_function_abi to test whether
-	a general register is call-clobbered.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* cfgcleanup.c (old_insns_match_p): Compare the ABIs of calls
-	instead of the call-clobbered sets.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* caller-save.c (setup_save_areas): Remove redundant |s of
-	fixed_reg_set.
-	(save_call_clobbered_regs): Likewise.  Use the call ABI rather
-	than call_used_or_fixed_regs to decide whether a REG_RETURNED
-	value is useful.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* rtl.h (predefined_function_abi): Declare.
-	(choose_hard_reg_mode): Take a pointer to a predefined_function_abi
-	instead of a boolean call_save flag.
-	* config/gcn/gcn.c (gcn_hard_regno_caller_save_mode): Update call
-	accordingly.
-	* config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
-	* config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
-	* config/mips/mips.c (mips_hard_regno_caller_save_mode): Likewise.
-	* config/msp430/msp430.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
-	* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
-	* config/sh/sh.c (sh_hard_regno_caller_save_mode): Likewise.
-	* reginfo.c (init_reg_modes_target): Likewise.
-	(choose_hard_reg_mode): Take a pointer to a predefined_function_abi
-	instead of a boolean call_save flag.
-	* targhooks.c: Include function-abi.h.
-	(default_dwarf_frame_reg_mode): Update call to choose_hard_reg_mode,
-	using eh_edge_abi to choose the mode.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.def (hard_regno_call_part_clobbered): Take an ABI
-	identifier instead of an rtx_insn.
-	* doc/tm.texi: Regenerate.
-	* hooks.h (hook_bool_insn_uint_mode_false): Delete.
-	(hook_bool_uint_uint_mode_false): New function.
-	* hooks.c (hook_bool_insn_uint_mode_false): Delete.
-	(hook_bool_uint_uint_mode_false): New function.
-	* config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered):
-	Take an ABI identifier instead of an rtx_insn.
-	* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Likewise.
-	* config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Likewise.
-	* config/mips/mips.c (mips_hard_regno_call_part_clobbered): Likewise.
-	* config/pru/pru.c (pru_hard_regno_call_part_clobbered): Likewise.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered):
-	Likewise.
-	* config/s390/s390.c (s390_hard_regno_call_part_clobbered): Likewise.
-	* cselib.c: Include function-abi.h.
-	(cselib_process_insn): Update call to
-	targetm.hard_regno_call_part_clobbered, using insn_callee_abi
-	to get the appropriate ABI identifier.
-	* function-abi.cc (predefined_function_abi::initialize): Update call
-	to targetm.hard_regno_call_part_clobbered.
-	* ira-conflicts.c (ira_build_conflicts): Likewise.
-	* ira-costs.c (ira_tune_allocno_costs): Likewise.
-	* lra-constraints.c: Include function-abi.h.
-	(need_for_call_save_p): Update call to
-	targetm.hard_regno_call_part_clobbered, using insn_callee_abi
-	to get the appropriate ABI identifier.
-	* lra-lives.c (check_pseudos_live_through_calls): Likewise.
-	* regcprop.c (copyprop_hardreg_forward_1): Update call
-	to targetm.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: Include function-abi.h.
-	(deps_analyze_insn): Update call to
-	targetm.hard_regno_call_part_clobbered, using insn_callee_abi
-	to get the appropriate ABI identifier.
-	* sel-sched.c (init_regs_for_mode, mark_unavailable_hard_regs): Update
-	call to targetm.hard_regno_call_part_clobbered.
-	* targhooks.c (default_dwarf_frame_reg_mode): Likewise.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/i386/i386.c: Include function-abi.h.
-	(ix86_avx_u128_mode_needed): Treat function calls as AVX_U128_ANY
-	if they preserve some 256-bit or 512-bit SSE registers.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.def (insn_callee_abi): New hook.
-	(remove_extra_call_preserved_regs): Delete.
-	* doc/tm.texi.in (TARGET_INSN_CALLEE_ABI): New macro.
-	(TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): Delete.
-	* doc/tm.texi: Regenerate.
-	* targhooks.h (default_remove_extra_call_preserved_regs): Delete.
-	* targhooks.c (default_remove_extra_call_preserved_regs): Delete.
-	* config/aarch64/aarch64.c (aarch64_simd_call_p): Constify the
-	insn argument.
-	(aarch64_remove_extra_call_preserved_regs): Delete.
-	(aarch64_insn_callee_abi): New function.
-	(TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): Delete.
-	(TARGET_INSN_CALLEE_ABI): New macro.
-	* rtl.h (get_call_fndecl): Declare.
-	(cgraph_rtl_info): Fix formatting.  Tweak comment for
-	function_used_regs.  Remove function_used_regs_valid.
-	* rtlanal.c (get_call_fndecl): Moved from final.c
-	* function-abi.h (insn_callee_abi): Declare.
-	(target_function_abi_info): Mention insn_callee_abi.
-	* function-abi.cc (fndecl_abi): Handle flag_ipa_ra in a similar
-	way to get_call_reg_set_usage did.
-	(insn_callee_abi): New function.
-	* regs.h (get_call_reg_set_usage): Delete.
-	* final.c: Include function-abi.h.
-	(collect_fn_hard_reg_usage): Add fixed and stack registers to
-	function_used_regs before the main loop rather than afterwards.
-	Use insn_callee_abi instead of get_call_reg_set_usage.  Exit early
-	if function_used_regs ends up not being useful.
-	(get_call_fndecl): Move to rtlanal.c
-	(get_call_cgraph_rtl_info, get_call_reg_set_usage): Delete.
-	* caller-save.c: Include function-abi.h.
-	(setup_save_areas, save_call_clobbered_regs): Use insn_callee_abi
-	instead of get_call_reg_set_usage.
-	* cfgcleanup.c: Include function-abi.h.
-	(old_insns_match_p): Use insn_callee_abi instead of
-	get_call_reg_set_usage.
-	* cgraph.h (cgraph_node::rtl_info): Take a const_tree instead of
-	a tree.
-	* cgraph.c (cgraph_node::rtl_info): Likewise.  Initialize
-	function_used_regs.
-	* df-scan.c: Include function-abi.h.
-	(df_get_call_refs): Use insn_callee_abi instead of
-	get_call_reg_set_usage.
-	* ira-lives.c: Include function-abi.h.
-	(process_bb_node_lives): Use insn_callee_abi instead of
-	get_call_reg_set_usage.
-	* lra-lives.c: Include function-abi.h.
-	(process_bb_lives): Use insn_callee_abi instead of
-	get_call_reg_set_usage.
-	* postreload.c: Include function-abi.h.
-	(reload_combine): Use insn_callee_abi instead of
-	get_call_reg_set_usage.
-	* regcprop.c: Include function-abi.h.
-	(copyprop_hardreg_forward_1): Use insn_callee_abi instead of
-	get_call_reg_set_usage.
-	* resource.c: Include function-abi.h.
-	(mark_set_resources, mark_target_live_regs): Use insn_callee_abi
-	instead of get_call_reg_set_usage.
-	* var-tracking.c: Include function-abi.h.
-	(dataflow_set_clear_at_call): Use insn_callee_abi instead of
-	get_call_reg_set_usage.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* target.def (fntype_abi): New target hook.
-	* doc/tm.texi.in (TARGET_FNTYPE_ABI): Likewise.
-	* doc/tm.texi: Regenerate.
-	* target.h (predefined_function_abi): Declare.
-	* function-abi.cc (fntype_abi): Call targetm.calls.fntype_abi,
-	if defined.
-	* config/aarch64/aarch64.h (ARM_PCS_SIMD): New arm_pcs value.
-	* config/aarch64/aarch64.c: Include function-abi.h.
-	(aarch64_simd_abi, aarch64_fntype_abi): New functions.
-	(TARGET_FNTYPE_ABI): Define.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* Makefile.in (OBJS): Add function-abi.o.
-	(GTFILES): Add function-abi.h.
-	* function-abi.cc: New file.
-	* function-abi.h: Likewise.
-	* emit-rtl.h (rtl_data::abi): New field.
-	* function.c: Include function-abi.h.
-	(prepare_function_start): Initialize crtl->abi.
-	* read-rtl-function.c: Include regs.h and function-abi.h.
-	(read_rtl_function_body): Initialize crtl->abi.
-	(read_rtl_function_body_from_file_range): Likewise.
-	* reginfo.c: Include function-abi.h.
-	(init_reg_sets_1): Initialize default_function_abi.
-	(globalize_reg): Call add_full_reg_clobber for each predefined ABI
-	when making a register global.
-	* target-globals.h (this_target_function_abi_info): Declare.
-	(target_globals::function_abi_info): New field.
-	(restore_target_globals): Copy it.
-	* target-globals.c: Include function-abi.h.
-	(default_target_globals): Initialize the function_abi_info field.
-	(target_globals): Allocate it.
-	(save_target_globals): Free it.
-
-2019-09-30  Nick Clifton  <nickc@redhat.com>
-
-	PR target/85978
-	* config/frv/frv.c (frv_register_move_cost): Add break statements
-	to avoid falling through to the wrong cases.  Tidy code.
-
-2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>
-
-	* config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered):
-	For multi-registers modes, test how big each register part is.
-
-2019-09-30  Nick Clifton  <nickc@redhat.com>
-
-	PR target/59205
-	* config/iq2000/iq2000.c (iq2000_select_section): Delete.
-	(TARGET_ASM_SELECT_SECTION): Remove definition.
-	(TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Allow definition.
-
-2019-09-30  Ilya Leoshkevich  <iii@linux.ibm.com>
-
-	* emit-rtl.c (init_raw_REG): New function.
-	(gen_raw_REG): Use init_raw_REG.
-	* gengenrtl.c (gendef): Emit init_* functions and alloca_*
-	macros.
-	* rtl.c (rtx_alloc_stat_v): Use rtx_init.
-	* rtl.h (rtx_init): New function.
-	(rtx_alloca): New function.
-	(init_raw_REG): New function.
-	(alloca_raw_REG): New macro.
-
-2019-09-30  Michael Meissner  <meissner@linux.ibm.com>
-
-	* config/rs6000/predicates.md (pcrel_address): Delete predicate.
-	(pcrel_local_address): Replace pcrel_address predicate, use the
-	new function address_to_insn_form.
-	(pcrel_external_address): Replace with new implementation using
-	address_to_insn_form..
-	(prefixed_mem_operand): Delete predicate which is now unused.
-	(pcrel_external_mem_operand): Delete predicate which is now
-	unused.
-	* config/rs6000/rs6000-protos.h (enum insn_form): New
-	enumeration.
-	(enum non_prefixed_form): New enumeration.
-	(address_to_insn_form): New declaration.
-	(prefixed_load_p): New declaration.
-	(prefixed_store_p): New declaration.
-	(prefixed_paddi_p): New declaration.
-	(rs6000_asm_output_opcode): New declaration.
-	(rs6000_final_prescan_insn): Move declaration and update calling
-	signature.
-	(address_is_prefixed): New helper inline function.
-	* config/rs6000/rs6000.c(print_operand_address): Check for either
-	PC-relative local symbols or PC-relative external symbols.
-	(rs6000_emit_move): Support loading PC-relative addresses.
-	(mode_supports_prefixed_address_p): Delete, no longer used.
-	(rs6000_prefixed_address_mode_p): Delete, no longer used.
-	(address_to_insn_form): New function to decode an address format.
-	(reg_to_non_prefixed): New function to identify what the
-	non-prefixed memory instruction format is for a register.
-	(prefixed_load_p): New function to identify prefixed loads.
-	(prefixed_store_p): New function to identify prefixed stores.
-	(prefixed_paddi_p): New function to identify prefixed load
-	immediates.
-	(next_insn_prefixed_p): New static state variable.
-	(rs6000_final_prescan_insn): New function to determine if an insn
-	uses a prefixed instruction.
-	(rs6000_asm_output_opcode): New function to emit 'p' in front of a
-	prefixed instruction.
-	* config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): New target hook.
-	(ASM_OUTPUT_OPCODE): New target hook.
-	* config/rs6000/rs6000.md (prefixed): New insn attribute for
-	prefixed instructions.
-	(prefixed_length): New insn attribute for the size of prefixed
-	instructions.
-	(non_prefixed_length): New insn attribute for the size of
-	non-prefixed instructions.
-	(pcrel_local_addr): New insn to load up a local PC-relative
-	address.
-	(pcrel_extern_addr): New insn to load up an external PC-relative
-	address.
-	(mov<mode>_64bit_dm): Split the alternatives for loading 0.0 to a
-	GPR and loading a 128-bit floating point type to a GPR.
-
-2019-09-30  Richard Biener  <rguenther@suse.de>
-
-	* gimple.c (gimple_get_lhs): For PHIs return the result.
-	* tree-vectorizer.h (vectorizable_live_operation): Also get the
-	SLP instance as argument.
-	* tree-vect-loop.c (vect_analyze_loop_operations): Also handle
-	double-reduction PHIs with vectorizable_lc_phi.
-	(vect_analyze_loop_operations): Adjust.
-	(vect_create_epilog_for_reduction): Remove all code not dealing
-	with reduction LC PHI or epilogue generation.
-	(vectorizable_live_operation): Call vect_create_epilog_for_reduction
-	for live stmts of reductions.
-	* tree-vect-stmts.c (vectorizable_condition): When !for_reduction
-	do not handle defs that are not vect_internal_def.
-	(can_vectorize_live_stmts): Adjust.
-	(vect_analyze_stmt): When the vectorized stmt defined a value
-	used on backedges adjust the backedge uses of vectorized PHIs.
-
-2019-09-30  Martin Jambor  <mjambor@suse.cz>
-
-	PR ipa/91853
-	* tree-inline.c (force_value_to_type): New function.
-	(setup_one_parameter): Use force_value_to_type to convert type.
-	* tree-inline.c (force_value_to_type): Declare.
-	* ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Deal
-	with register type mismatches.
-
-2019-09-30  Andreas Tobler  <andreast@gcc.gnu.org>
-
-	* config.gcc: Use the secure-plt on FreeBSD 13 and upwards for
-	32-bit PowerPC.
-	Define TARGET_FREEBSD32_SECURE_PLT for 64-bit PowerPC.
-	* config/rs6000/t-freebsd64: Make use of the above define and build
-	the 32-bit libraries with secure-plt.
-
-2019-09-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/91931
-	* config/i386/i386-expand.c (ix86_expand_adjust_ufix_to_sfix_si): Use
-	gen_int_mode instead of GEN_INT.
-
-2019-09-29  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (gen_macho_low): Amend to include the mode
-	argument.
-	(machopic_indirect_data_reference): Amend gen_macho_low call
-	to include mode argument
-	* config/rs6000/rs6000.c (emit_move): Likewise. Amend a comment.
-	* config/rs6000/darwin.md (@macho_low_<mode>): New, replaces
-	the macho_high expander and two define_insn entries.
-
-2019-09-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/90543
-	* optc-save-gen.awk: Fix up printing string option differences.
-
-2019-09-29  Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Lower
-	vec_perm cost to 1 for non-Power7 VSX architectures.
-
-2019-09-29  Kewen Lin  <linkw@gcc.gnu.org>
-
-	* config/rs6000/vsx.md (vec_pack[su]_float_v2di): New define_expand.
-	(vec_unpack_[su]fix_trunc_hi_v4sf): Likewise.
-	(vec_unpack_[su]fix_trunc_lo_v4sf): Likewise.
-
-2019-09-28  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/darwin.c (gen_macho_high): Amend to include the mode
-	argument.
-	(machopic_indirect_data_reference): Amend gen_macho_high call
-	to include mode argument.
-	(machopic_legitimize_pic_address): Likewise.
-	* config/rs6000/rs6000.c (rs6000_legitimize_address):
-	* config/rs6000/darwin.md (@macho_high_<mode>): New, replaces
-	the macho_high expander and two define_insn entries.
-
-2019-09-28  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/86805
-	* config/sh/sh.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
-
-2019-09-28  Oleg Endo  <olegendo@gcc.gnu.org>
-
-	PR target/80672
-	* config/sh/sh.c (parse_validate_atomic_model_option): Use
-	std::string::compare instead of std::string::find.
-
-2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
-
-	* configure: Regenerate.
-
-2019-09-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/91920
-	* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
-	variables as shared.
-
-2019-09-27  Iain Sandoe  <iain@sandoe.co.uk>
-
-	* config/rs6000/darwin.md (@macho_correct_pic_<mode>): New,
-	replaces the expander and two define_insn entries.
-	(@reload_macho_picbase_<mode>): Update gen_macho_correct_pic
-	call.
-	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise.
-
-2019-09-27  David Malcolm  <dmalcolm@redhat.com>
-
-	* fibonacci_heap[...]

[diff truncated at 524288 bytes]



More information about the Gcc-cvs mailing list