Daily bump.
[gcc.git] / gcc / ChangeLog
index 0a429d2bacd079dcbafa42a74e58a3e6a23a6da0..95aa1b5654faccd9341c322535b873b3308e1ef0 100644 (file)
+2020-10-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * Makefile.in: Add symtab-thunks.o
+       (GTFILES): Add symtab-thunks.h and symtab-thunks.cc; remove cgraphunit.c
+       * cgraph.c: Include symtab-thunks.h.
+       (cgraph_node::create_thunk): Update
+       (symbol_table::create_edge): Update
+       (cgraph_node::dump): Update
+       (cgraph_node::call_for_symbol_thunks_and_aliases): Update
+       (set_nothrow_flag_1): Update
+       (set_malloc_flag_1): Update
+       (set_const_flag_1): Update
+       (collect_callers_of_node_1): Update
+       (clone_of_p): Update
+       (cgraph_node::verify_node): Update
+       (cgraph_node::function_symbol): Update
+       (cgraph_c_finalize): Call thunk_info::release.
+       (cgraph_node::has_thunk_p): Update
+       (cgraph_node::former_thunk_p): Move here from cgraph.h; reimplement.
+       * cgraph.h (struct cgraph_thunk_info): Rename to symtab-thunks.h.
+       (cgraph_node): Remove thunk field; add thunk bitfield.
+       (cgraph_node::expand_thunk): Move to symtab-thunks.h
+       (symtab_thunks_cc_finalize): Declare.
+       (cgraph_node::has_gimple_body_p): Update.
+       (cgraph_node::former_thunk_p): Update.
+       * cgraphclones.c: Include symtab-thunks.h.
+       (duplicate_thunk_for_node): Update.
+       (cgraph_edge::redirect_callee_duplicating_thunks): Update.
+       (cgraph_node::expand_all_artificial_thunks): Update.
+       (cgraph_node::create_edge_including_clones): Update.
+       * cgraphunit.c: Include symtab-thunks.h.
+       (vtable_entry_type): Move to symtab-thunks.c.
+       (cgraph_node::analyze): Update.
+       (analyze_functions): Update.
+       (mark_functions_to_output): Update.
+       (thunk_adjust): Move to symtab-thunks.c
+       (cgraph_node::expand_thunk): Move to symtab-thunks.c
+       (cgraph_node::assemble_thunks_and_aliases): Update.
+       (output_in_order): Update.
+       (cgraphunit_c_finalize): Do not clear vtable_entry_type.
+       (cgraph_node::create_wrapper): Update.
+       * gengtype.c (open_base_files): Add symtab-thunks.h
+       * ipa-comdats.c (propagate_comdat_group): UPdate.
+       (ipa_comdats): Update.
+       * ipa-cp.c (determine_versionability): UPdate.
+       (gather_caller_stats): Update.
+       (count_callers): Update
+       (set_single_call_flag): Update
+       (initialize_node_lattices): Update
+       (call_passes_through_thunk_p): Update
+       (call_passes_through_thunk): Update
+       (propagate_constants_across_call): Update
+       (find_more_scalar_values_for_callers_subset): Update
+       (has_undead_caller_from_outside_scc_p): Update
+       * ipa-fnsummary.c (evaluate_properties_for_edge): Update.
+       (compute_fn_summary): Update.
+       (inline_analyze_function): Update.
+       * ipa-icf.c: Include symtab-thunks.h.
+       (sem_function::equals_wpa): Update.
+       (redirect_all_callers): Update.
+       (sem_function::init): Update.
+       (sem_function::parse): Update.
+       * ipa-inline-transform.c: Include symtab-thunks.h.
+       (inline_call): Update.
+       (save_inline_function_body): Update.
+       (preserve_function_body_p): Update.
+       * ipa-inline.c (inline_small_functions): Update.
+       * ipa-polymorphic-call.c: Include alloc-pool.h, symbol-summary.h,
+       symtab-thunks.h
+       (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Update.
+       * ipa-pure-const.c: Include symtab-thunks.h.
+       (analyze_function): Update.
+       * ipa-sra.c (check_for_caller_issues): Update.
+       * ipa-utils.c (ipa_reverse_postorder): Update.
+       (ipa_merge_profiles): Update.
+       * ipa-visibility.c (non_local_p): Update.
+       (cgraph_node::local_p): Update.
+       (function_and_variable_visibility): Update.
+       * ipa.c (symbol_table::remove_unreachable_nodes): Update.
+       * lto-cgraph.c: Include alloc-pool.h, symbol-summary.h and
+       symtab-thunks.h
+       (lto_output_edge): Update.
+       (lto_output_node): Update.
+       (compute_ltrans_boundary): Update.
+       (output_symtab): Update.
+       (verify_node_partition): Update.
+       (input_overwrite_node): Update.
+       (input_node): Update.
+       * lto-streamer-in.c (fixup_call_stmt_edges): Update.
+       * symtab-thunks.cc: New file.
+       * symtab-thunks.h: New file.
+       * toplev.c (toplev::finalize): Call symtab_thunks_cc_finalize.
+       * trans-mem.c (ipa_tm_mayenterirr_function): Update.
+       (ipa_tm_execute): Update.
+       * tree-inline.c (expand_call_inline): Update.
+       * tree-nested.c (create_nesting_tree): Update.
+       (convert_all_function_calls): Update.
+       (gimplify_all_functions): Update.
+       * tree-profile.c (tree_profiling): Update.
+       * tree-ssa-structalias.c (associate_varinfo_to_alias): Update.
+       * tree.c (free_lang_data_in_decl): Update.
+       * value-prof.c (init_node_map): Update.
+
+2020-10-23  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/91741
+       * doc/invoke.texi: Document -Wsizeof-array-div.
+
+2020-10-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97552
+       * attribs.c (init_attr_rdwr_indices): Handle static VLA parameters.
+
+2020-10-23  Douglas Rupp  <rupp@adacore.com>
+
+       * config/vxworks.h (VXWORKS_NET_LIBS_RTP): Use -lrtnet if
+       rtnetStackLib.h is available,fallback to -lnet otherwise.
+
+2020-10-23  Douglas Rupp  <rupp@adacore.com>
+
+       * gcc.c (if-exists-then-else): New built-in spec function.
+       * doc/invoke.texi: Document it.
+
+2020-10-23  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
+
+       * doc/extend.texi (PowerPC Built-in Functions): Replace
+       extraneous characters with whitespace.
+
+2020-10-23  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (read_count_file): Never call gcov_sync with a negative
+       value.
+
+2020-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (PLUGIN_HEADERS): Add gomp-constants.h and $(EXPR_H).
+       (s-header-vars): Accept not just spaces but also tabs between *_H name
+       and =.  Handle common/config/ headers similarly to config.  Don't
+       throw away everything from first ... to last / on the remaining
+       string, instead skip just ... to corresponding last / without
+       intervening spaces and tabs.
+       (install-plugin): Treat common/config headers like config headers.
+       * config/i386/t-i386 (TM_H): Add
+       $(srcdir)/common/config/i386/i386-cpuinfo.h.
+
+2020-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97164
+       * stor-layout.c (layout_type): Also reject arrays where element size
+       is constant, but not a multiple of element alignment.
+
+2020-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-loop-ivopts.c (analyze_and_mark_doloop_use): Bail out if
+       the loop is subject to a pragma Unroll with no specific count.
+
+2020-10-23  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vsubq<mode>): New entry for vsub instruction
+       using expression 'minus'.
+       (mve_vsubq_f<mode>): Use minus instead of VSUBQ_F unspec.
+       * config/arm/neon.md (sub<mode>3, sub<mode>3_fp16): Removed.
+       (neon_vsub<mode>): Use gen_sub<mode>3 instead of gen_sub<mode>3_fp16.
+       * config/arm/vec-common.md (sub<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH. Use iterator VDQ instead of VALL.
+
+2020-10-23  Martin Liska  <mliska@suse.cz>
+
+       PR lto/97524
+       * lto-wrapper.c (make_exists): New function.
+       (run_gcc): Use it to check that make is present and working
+       for parallel execution.
+
+2020-10-23  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2020-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97521
+       * expr.c (expand_expr_real_1): Be more careful when
+       expanding a VECTOR_BOOLEAN_TYPE_P VECTOR_CSTs.
+
+2020-10-23  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_transform_loop): Remove the redundant
+       LOOP_VINFO_FULLY_MASKED_P check.
+
+2020-10-23  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vsubq<mode>): New entry for vsub instruction
+       using expression 'minus'.
+       (mve_vsubq_f<mode>): Use minus instead of VSUBQ_F unspec.
+       * config/arm/neon.md (sub<mode>3, sub<mode>3_fp16): Removed.
+       (neon_vsub<mode>): Use gen_sub<mode>3 instead of gen_sub<mode>3_fp16.
+       * config/arm/vec-common.md (sub<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH. Use iterator VDQ instead of VALL.
+
+2020-10-22  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_xxspltidp_v2df): Delete
+       debug printf.  Remove trailing ".\n" from inform message.
+       Break long line.
+
+2020-10-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-gori.cc (is_gimple_logical_p): Use types_compatible_p
+       for logical compatibility.
+       (logical_stmt_cache::cacheable_p): Ditto.
+
+2020-10-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.c (cgraph_node::get_untransformed_body): Perform lazy
+       clone materialization.
+       * cgraph.h (cgraph_node::materialize_clone): Declare.
+       (symbol_table::materialize_all_clones): Remove.
+       * cgraphclones.c (cgraph_materialize_clone): Turn to ...
+       (cgraph_node::materialize_clone): .. this one; move here
+       dumping from symbol_table::materialize_all_clones.
+       (symbol_table::materialize_all_clones): Remove.
+       * cgraphunit.c (mark_functions_to_output): Clear stmt references.
+       (cgraph_node::expand): Initialize bitmaps early;
+       do not call execute_all_ipa_transforms if there are no transforms.
+       * ipa-inline-transform.c (save_inline_function_body): Fix formating.
+       (inline_transform): Materialize all clones before function is modified.
+       * ipa-param-manipulation.c (ipa_param_adjustments::modify_call):
+       Materialize clone if needed.
+       * ipa.c (class pass_materialize_all_clones): Remove.
+       (make_pass_materialize_all_clones): Remove.
+       * passes.c (execute_all_ipa_transforms): Materialize all clones.
+       * passes.def: Remove pass_materialize_all_clones.
+       * tree-pass.h (make_pass_materialize_all_clones): Remove.
+       * tree-ssa-structalias.c (ipa_pta_execute): Clear refs.
+
+2020-10-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/altivec.h (vec_xl_zext, vec_xl_sext, vec_xst_trunc):
+       New defines.
+       * config/rs6000/rs6000-builtin.def (BU_P10V_OVERLOAD_X): New builtin
+       macro.
+       (BU_P10V_AV_X): New builtin macro.
+       (se_lxvrhbx, se_lxrbhx, se_lxvrwx, se_lxvrdx): Define internal names
+       for load and sign extend vector element.
+       (ze_lxvrbx, ze_lxvrhx, ze_lxvrwx, ze_lxvrdx): Define internal names
+       for load and zero extend vector element.
+       (tr_stxvrbx, tr_stxvrhx, tr_stxvrwx, tr_stxvrdx): Define internal names
+       for truncate and store vector element.
+       (se_lxvrx, ze_lxvrx, tr_stxvrx): Define internal names for overloaded
+       load/store rightmost element.
+       * config/rs6000/rs6000-call.c (altivec_builtin_types): Define the
+       internal monomorphs P10_BUILTIN_SE_LXVRBX, P10_BUILTIN_SE_LXVRHX,
+       P10_BUILTIN_SE_LXVRWX, P10_BUILTIN_SE_LXVRDX,
+       P10_BUILTIN_ZE_LXVRBX, P10_BUILTIN_ZE_LXVRHX, P10_BUILTIN_ZE_LXVRWX,
+       P10_BUILTIN_ZE_LXVRDX,
+       P10_BUILTIN_TR_STXVRBX, P10_BUILTIN_TR_STXVRHX, P10_BUILTIN_TR_STXVRWX,
+       P10_BUILTIN_TR_STXVRDX,
+       (altivec_expand_lxvr_builtin): New expansion for load element builtins.
+       (altivec_expand_stv_builtin): Update to for truncate and store builtins.
+       (altivec_expand_builtin): Add clases for load/store rightmost builtins.
+       (altivec_init_builtins): Add def_builtin entries for
+       __builtin_altivec_se_lxvrbx, __builtin_altivec_se_lxvrhx,
+       __builtin_altivec_se_lxvrwx, __builtin_altivec_se_lxvrdx,
+       __builtin_altivec_ze_lxvrbx, __builtin_altivec_ze_lxvrhx,
+       __builtin_altivec_ze_lxvrwx, __builtin_altivec_ze_lxvrdx,
+       __builtin_altivec_tr_stxvrbx, __builtin_altivec_tr_stxvrhx,
+       __builtin_altivec_tr_stxvrwx, __builtin_altivec_tr_stxvrdx,
+       __builtin_vec_se_lxvrx, __builtin_vec_ze_lxvrx, __builtin_vec_tr_stxvrx.
+       * config/rs6000/vsx.md (vsx_lxvr<wd>x, vsx_stxvr<wd>x, vsx_stxvr<wd>x):
+       New define_insn entries.
+       * doc/extend.texi:  Add documentation for vsx_xl_sext, vsx_xl_zext,
+       and vec_xst_trunc.
+
+2020-10-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/vsx.md (enum unspec): Add
+       UNSPEC_EXTENDDITI2 and UNSPEC_MTVSRD_DITI_W1 entries.
+       (mtvsrdd_diti_w1, extendditi2_vector): New define_insns.
+       (extendditi2): New define_expand.
+
+2020-10-22  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/i386/mingw-w64.h (TARGET_LIBC_HAS_FUNCTION): Enable
+       sincos optimization.
+
+2020-10-22  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/vsx.md (vec_cntmb_<mode>, vec_extract_<mode>),
+       (vec_expand_<mode>): Replace <VSX_MM_SUFFIX> with <wd>.
+
+2020-10-22  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Refactor so
+       computing a vector type early is not needed, for store group
+       splitting compute a new vector type based on the desired
+       group size.
+
+2020-10-22  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97521
+       * expr.c (expand_expr_real_1): Be more careful when
+       expanding a VECTOR_BOOLEAN_TYPE_P VECTOR_CSTs.
+
+2020-10-22  David Malcolm  <dmalcolm@redhat.com>
+
+       * ipa-modref-tree.c (selftest::test_insert_search_collapse): Fix
+       leak.
+       (selftest::test_merge): Fix leaks.
+
+2020-10-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/97502
+       * config/s390/vector.md ("vec_cmp<VI_HW:mode><VI_HW:mode>")
+       ("vec_cmpu<VI_HW:mode><VI_HW:mode>"): New expanders.
+
+2020-10-22  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR rtl-optimization/97439
+       * dfp.c (decimal_real_maxval): Set the sign flag in the
+       generated number.
+
+2020-10-22  Martin Liska  <mliska@suse.cz>
+
+       PR c/94722
+       * cfgexpand.c (stack_protect_decl_phase):
+       Guard with lookup_attribute("no_stack_protector") at
+       various places.
+       (expand_used_vars): Likewise here.
+       * doc/extend.texi: Document no_stack_protector attribute.
+
+2020-10-22  Martin Liska  <mliska@suse.cz>
+
+       * cfgexpand.c: Move the enum to ...
+       * coretypes.h (enum stack_protector): ... here.
+       * function.c (assign_parm_adjust_stack_rtl): Use the stack_protector
+       enum.
+
+2020-10-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator: Add TODO, import itertools
+       and functools.reduce.
+       Handle expantion operator.
+       (LONG_EXT_PREFIXES): New.
+       (arch_canonicalize): Update comment and improve python3
+       debuggability/compatibility.
+       (add_underline_prefix): New.
+       (_expand_combination): Ditto.
+       (unique): Ditto.
+       (expand_combination): Ditto.
+
+2020-10-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-ssa-phiopt.c (cond_removal_in_popcount_clz_ctz_pattern):
+       For CLZ and CTZ tests, use type temporary instead of mode.
+
+2020-10-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * config.gcc (x86_archs): Add samuel-2, nehemiah, c7 and esther.
+       (x86_64_archs): Add eden-x2, nano, nano-1000, nano-2000, nano-3000,
+       nano-x2, eden-x4, nano-x4, x86-64-v2, x86-64-v3 and x86-64-v4.
+       (i[34567]86-*-* | x86_64-*-*): Only allow x86-64-v* as argument
+       to --with-arch_64=.
+
+2020-10-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-pure-const.c (funct_state_summary_t::insert): Free stale
+       summaries.
+
+2020-10-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.c: Include tree-nested.h
+       (cgraph_node::create): Call maybe_record_nested_function.
+       (cgraph_node::remove): Do not remove function from nested function
+       infos.
+       (cgraph_node::dump): Update.
+       (cgraph_node::unnest): Move to tree-nested.c
+       (cgraph_node::verify_node): Update.
+       (cgraph_c_finalize): Call nested_function_info::release.
+       * cgraph.h (struct symtab_node): Remove nested function info.
+       * cgraphclones.c (cgraph_node::create_clone): Do not clone nested
+       function info.
+       * cgraphunit.c (cgraph_node::analyze): Update.
+       (cgraph_node::expand): Do not worry about nested functions; they are
+       lowered.
+       (symbol_table::finalize_compilation_unit): Call
+       nested_function_info::release.
+       * gimplify.c: Include tree-nested.h
+       (unshare_body): Update.
+       (unvisit_body): Update.
+       * omp-offload.c (omp_discover_implicit_declare_target): Update.
+       * tree-nested.c: Include alloc-pool.h, tree-nested.h, symbol-summary.h
+       (nested_function_sum): New static variable.
+       (nested_function_info::get): New member function.
+       (nested_function_info::get_create): New member function.
+       (unnest_function): New function.
+       (nested_function_info::~nested_function_info): New member function.
+       (nested_function_info::release): New function.
+       (maybe_record_nested_function): New function.
+       (lookup_element_for_decl): Update.
+       (check_for_nested_with_variably_modified): Update.
+       (create_nesting_tree): Update.
+       (unnest_nesting_tree_1): Update.
+       (gimplify_all_functions): Update.
+       (lower_nested_functions): Update.
+       * tree-nested.h (class nested_function_info): New class.
+       (maybe_record_nested_function): Declare.
+       (unnest_function): Declare.
+       (first_nested_function): New inline function.
+       (next_nested_function): New inline function.
+       (nested_function_origin): New inline function.
+
+2020-10-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR rtl-optimization/97249
+       * simplify-rtx.c (simplify_binary_operation_1): Simplify
+       vec_select of a subreg of X to a vec_select of X.
+
+2020-10-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/87767
+       * config/i386/constraints.md ("Br"): New special memory
+       constraint.
+       * config/i386/i386-expand.c (ix86_binary_operator_ok): Both
+       source operand cannot be in memory or bcst_memory_operand.
+       * config/i386/i386.c (ix86_print_operand): Print bcst_mem_operand.
+       * config/i386/i386.h (VALID_BCST_MODE_P): New.
+       * config/i386/predicates.md (bcst_mem_operand): New predicate
+       for AVX512 embedding broadcast memory operand.
+       (bcst_vector_operand): New predicate, vector_operand or
+       bcst_mem_operand.
+       * config/i386/sse.md
+       (*<plusminus_insn><mode>3<mask_name><round_name>): Extend
+       predicate and constraints to handle bcst_mem_operand.
+       (*mul<mode>3<mask_name><round_name>): Ditto.
+       (<sse>_div<mode>3<mask_name><round_name>): Ditto.
+       (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>):
+       Ditto.
+       (*<plusminus_insn><mode>3): Ditto.
+       (avx512dq_mul<mode>3<mask_name>): Ditto.
+       (*<sse4_1_avx2>_mul<mode>3<mask_name>): Ditto.
+       (*andnot<mode>3): Ditto.
+       (<mask_codefor><code><mode>3<mask_name>): Ditto.
+       (*sub<mode>3<mask_name>_bcst): Removed.
+       (*add<mode>3<mask_name>_bcst): Ditto.
+       (*mul<mode>3<mask_name>_bcst): Ditto.
+       (*<avx512>_div<mode>3<mask_name>_bcst): Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_2):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_3):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_2):
+       Ditto.
+       (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_3):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_2):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_3):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_2):
+       Ditto.
+       (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_3):
+       Ditto.
+       (*sub<mode>3_bcst): Ditto.
+       (*add<mode>3_bcst): Ditto.
+       (*avx512dq_mul<mode>3<mask_name>_bcst): Ditto.
+       (*avx512f_mul<mode>3<mask_name>_bcst): Ditto.
+       (*andnot<mode>3_bcst): Ditto.
+       (*<code><mode>3_bcst): Ditto.
+       * config/i386/subst.md (bcst_round_constraint): New subst
+       attribute.
+       (bcst_round_nimm_predicate): Ditto.
+       (bcst_mask_prefix3): Ditto.
+       (bcst_mask_prefix4): Ditto.
+
+2020-10-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/87767
+       * ira-costs.c (record_operand_costs): Extract memory operand
+       from recog_data.operand[i] for record_address_regs.
+       (record_reg_classes): Extract memory operand from OP for
+       conditional judgement MEM_P.
+       * ira.c (ira_setup_alts): Ditto.
+       * lra-constraints.c (extract_mem_from_operand): New function.
+       (satisfies_memory_constraint_p): Extract memory operand from
+       OP for decompose_mem_address, return false when there's no
+       memory operand inside OP.
+       (process_alt_operands): Remove MEM_P (op) since it would be
+       judged in satisfies_memory_constraint_p.
+       * recog.c (asm_operand_ok): Extract memory operand from OP for
+       judgement of memory_operand (OP, VOIDmode).
+       (constrain_operands): Don't unwrapper unary operator when
+       there's memory operand inside.
+       * rtl.h (extract_mem_from_operand): New decl.
+
+2020-10-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vmaxq_<supf><mode>): Replace with ...
+       (mve_vmaxq_s<mode>, mve_vmaxq_u<mode>): ... these new insns to
+       use smax/umax instead of VMAXQ.
+       (mve_vminq_<supf><mode>): Replace with ...
+       (mve_vminq_s<mode>, mve_vminq_u<mode>): ... these new insns to
+       use smin/umin instead of VMINQ.
+       (mve_vmaxnmq_f<mode>): Use smax instead of VMAXNMQ_F.
+       (mve_vminnmq_f<mode>): Use smin instead of VMINNMQ_F.
+       * config/arm/vec-common.md (smin<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH.
+       (umin<mode>3, smax<mode>3, umax<mode>3): Likewise.
+
+2020-10-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97520
+       * gimple-range.cc (range_of_non_trivial_assignment): Handle x = &a
+       by returning a non-zero range.
+
+2020-10-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vmulq<mode>): New entry for vmul instruction
+       using expression 'mult'.
+       (mve_vmulq_f<mode>): Use mult instead of VMULQ_F.
+       * config/arm/neon.md (mul<mode>3): Removed.
+       * config/arm/vec-common.md (mul<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH. Use mode iterator VDQWH instead of VALLW.
+
+2020-10-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97515
+       * value-query.cc (range_query::value_of_expr): If the result is
+       UNDEFINED, check to see if the global value is a constant.
+       (range_query::value_on_edge): Ditto.
+
+2020-10-21  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/97445
+       * ipa-inline.c (inline_insns_single): Add hint2 parameter.
+       (inline_insns_auto): Add hint2 parameter.
+       (can_inline_edge_by_limits_p): Update.
+       (want_inline_small_function_p): Update.
+       (wrapper_heuristics_may_apply): Update.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+           Andrew MacLeod  <amacleod@redhat.com>
+           Martin Liska  <mliska@suse.cz>
+
+       PR target/97360
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Remove call to
+       build_distinct_type_copy().
+
+2020-10-21  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97445
+       * ipa-fnsummary.c (ipa_dump_hints): Add INLINE_HINT_builtin_constant_p.
+       (ipa_fn_summary::~ipa_fn_summary): Free builtin_constant_p_parms.
+       (ipa_fn_summary_t::duplicate): Duplicate builtin_constant_p_parms.
+       (ipa_dump_fn_summary): Dump builtin_constant_p_parms.
+       (add_builtin_constant_p_parm): New function
+       (set_cond_stmt_execution_predicate): Update builtin_constant_p_parms.
+       (ipa_call_context::estimate_size_and_time): Set
+       INLINE_HINT_builtin_constant_p..
+       (ipa_merge_fn_summary_after_inlining): Merge builtin_constant_p_parms.
+       (inline_read_section): Read builtin_constant_p_parms.
+       (ipa_fn_summary_write): Write builtin_constant_p_parms.
+       * ipa-fnsummary.h (enum ipa_hints_vals): Add
+       INLINE_HINT_builtin_constant_p.
+       * ipa-inline.c (want_inline_small_function_p): Use
+       INLINE_HINT_builtin_constant_p.
+       (edge_badness): Use INLINE_HINT_builtin_constant_p.
+
+2020-10-21  Douglas Rupp  <rupp@adacore.com>
+
+       * config/vx-common.h (LINK_SPEC, LIB_SPEC): Remove #undef.
+
+2020-10-21  Douglas Rupp  <rupp@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * config.gcc (powerpc*-wrs-vxworks7r*): New case.
+       * config/rs6000/vxworks.h: Rework to handle VxWorks7.
+       Refactor as common bits + vx6 vs vx7 ones. For the
+       latter, rely essentially on the Linux configuration
+       and adjust CPU to _VX_CPU in CPP_SPEC. Add a case
+       for e6500. Use SUB3TARGET_OVERRIDE_OPTIONS for specifics
+       to preserve the Linux SUBSUBTARGET_OVERRIDE_OPTIONS
+       for vx7.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97500
+       * tree-vect-slp.c (vect_analyze_slp_backedges): Do not
+       fill backedges for inductions.
+
+2020-10-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/97506
+       * config/i386/i386-expand.c (ix86_expand_sse_movcc): Move
+       op_true to dest directly when op_true equals op_false.
+
+2020-10-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97503
+       * tree-ssa-phiopt.c: Include internal-fn.h.
+       (cond_removal_in_popcount_pattern): Rename to ...
+       (cond_removal_in_popcount_clz_ctz_pattern): ... this.  Handle not just
+       popcount, but also clz and ctz if it has C?Z_DEFINED_VALUE_AT_ZERO 2.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+
+       * cfg.c (htab_bb_copy_original_entry): Remove.
+       (bb_copy_hasher): Likewise.
+       (bb_original, bb_copy, loop_copy): Use
+       hash_map<int_hash<int, -1, -2>, int>.
+       (original_copy_bb_pool): Remove.
+       (initialize_original_copy_tables): Adjust.
+       (reset_original_copy_tables): Likewise.
+       (free_original_copy_tables): Likewise.
+       (original_copy_tables_initialized_p): Likewise.
+       (copy_original_table_clear): Simplify.
+       (copy_original_table_set): Likewise.
+       (get_bb_original): Likewise.
+       (get_bb_copy): Likewise.
+       (get_loop_copy): Likewise.
+
+2020-10-21  Richard Biener  <rguenther@suse.de>
+
+       * cfghooks.c (copy_bbs): Split out loop computing new_edges.
+
+2020-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::range_of_ssa_name_with_loop_info):
+       Remove TREE_OVERFLOW special case.
+       * vr-values.c (bounds_of_var_in_loop): Adjust overflow for
+       invariants.
+
+2020-10-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.h: Remove simplify_cond_using_ranges_2.
+       (range_fits_type_p): New.
+       * vr-values.c (range_fits_type_p): Remove static qualifier.
+       (vrp_simplify_cond_using_ranges): Move...
+       * tree-vrp.c (vrp_simplify_cond_using_ranges): ...to here.
+
+2020-10-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vmaxq_<supf><mode>): Replace with ...
+       (mve_vmaxq_s<mode>, mve_vmaxq_u<mode>): ... these new insns to
+       use smax/umax instead of VMAXQ.
+       (mve_vminq_<supf><mode>): Replace with ...
+       (mve_vminq_s<mode>, mve_vminq_u<mode>): ... these new insns to
+       use smin/umin instead of VMINQ.
+       (mve_vmaxnmq_f<mode>): Use smax instead of VMAXNMQ_F.
+       (mve_vminnmq_f<mode>): Use smin instead of VMINNMQ_F.
+       * config/arm/vec-common.md (smin<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH.
+       (umin<mode>3, smax<mode>3, umax<mode>3): Likewise.
+
+2020-10-22  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/mve.md (mve_vmulq<mode>): New entry for vmul instruction
+       using expression 'mult'.
+       (mve_vmulq_f<mode>): Use mult instead of VMULQ_F.
+       * config/arm/neon.md (mul<mode>3): Removed.
+       * config/arm/vec-common.md (mul<mode>3): Use the new mode macros
+       ARM_HAVE_<MODE>_ARITH. Use mode iterator VDQWH instead of VALLW.
+
+2020-10-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97505
+       * vr-values.c (vr_values::extract_range_basic): Trap if
+       vr_values version disagrees with range_of_builtin_call.
+
+2020-10-20  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Don't implcitly enable Altivec ABI if set on the command line.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * calls.c (get_size_range): Adjust to work with ranger.
+       * calls.h (get_size_range): Add ranger argument to prototype.
+       * gimple-ssa-warn-restrict.c (class wrestrict_dom_walker): Remove.
+       (check_call): Pull out of wrestrict_dom_walker into a
+       static function.
+       (wrestrict_dom_walker::before_dom_children): Rename to...
+       (wrestrict_walk): ...this.
+       (pass_wrestrict::execute): Instantiate ranger.
+       (class builtin_memref): Add stmt and query fields.
+       (builtin_access::builtin_access): Add range_query field.
+       (builtin_memref::builtin_memref): Same.
+       (builtin_memref::extend_offset_range): Same.
+       (builtin_access::builtin_access): Make work with ranger.
+       (wrestrict_dom_walker::check_call): Pull out into...
+       (check_call): ...here.
+       (check_bounds_or_overlap): Add range_query argument.
+       * gimple-ssa-warn-restrict.h (check_bounds_or_overlap):
+       Add range_query and gimple stmt arguments.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-warn-alloca.c (enum alloca_type): Remove
+       ALLOCA_BOUND_UNKNOWN and ALLOCA_CAST_FROM_SIGNED.
+       (warn_limit_specified_p): New.
+       (alloca_call_type_by_arg): Remove.
+       (cast_from_signed_p): Remove.
+       (is_max): Remove.
+       (alloca_call_type): Remove heuristics and replace with call into
+       ranger.
+       (pass_walloca::execute): Instantiate ranger.
+
+2020-10-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * lto-wrapper.c (run_gcc): Use proper variable for
+       %u.ltrans_args dump suffix.
+
+2020-10-20  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for get/set reg intrinsics.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::range_of_builtin_ubsan_call):
+       Make externally visble...
+       (range_of_builtin_ubsan_call): ...here.  Add range_query argument.
+       (gimple_ranger::range_of_builtin_call): Make externally visible...
+       (range_of_builtin_call): ...here.  Add range_query argument.
+       * gimple-range.h (range_of_builtin_call): Move out from class and
+       make externally visible.
+       * vr-values.c (vr_values::extract_range_basic): Abstract out
+       builtin handling to...
+       (vr_values::range_of_expr): Handle non SSAs.
+       (vr_values::extract_range_builtin): ...here.
+       * vr-values.h (class vr_values): Add extract_range_builtin.
+       (range_of_expr): Rename NAME to EXPR.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97501
+       * gimple-range.cc (gimple_ranger::range_of_ssa_name_with_loop_info):
+       Saturate overflows returned from SCEV.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::operator=): Split up call to
+       copy_legacy_range into...
+       (irange::copy_to_legacy): ...this.
+       (irange::copy_legacy_to_multi_range): ...and this.
+       (irange::copy_legacy_range): Remove.
+       * value-range.h: Remove copoy_legacy_range.
+       Add copy_legacy_to_multi_range and copy_to_legacy.
+
+2020-10-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi (NVPTX options): Use @item not @itemx.
+
+2020-10-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (reinstall_phi_args): Remove.
+       (gimple_split_edge): Remove PHIs around the edge redirection
+       to avoid touching them at all.
+
+2020-10-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vectorizable_reduction): Use the correct
+       loops latch edge for the PHI arg lookup.
+
+2020-10-20  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.md (andneghi3): Allow general operand for
+       op1 and update output assembler template.
+
+2020-10-20  Tobias Burnus  <tobias@codesourcery.com>
+
+       * collect-utils.c (collect_execute, fork_execute): Add at-file suffix
+       argument.
+       * collect-utils.h (collect_execute, fork_execute): Update prototype.
+       * collect2.c (maybe_run_lto_and_relink, do_link, main, do_dsymutil):
+       Update calls by passing NULL.
+       * config/i386/intelmic-mkoffload.c (compile_for_target,
+       generate_host_descr_file, prepare_target_image, main): Likewise.
+       * config/gcn/mkoffload.c (compile_native, main): Pass at-file suffix.
+       * config/nvptx/mkoffload.c (compile_native, main): Likewise.
+       * lto-wrapper.c (compile_offload_image): Likewise.
+
+2020-10-20  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (operator_rshift::op1_range): Special case
+       shifting by zero.
+
+2020-10-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97496
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Guard extern
+       promotion with not in pattern.
+
+2020-10-20  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.c (s390_expand_vec_strlen): Add alignment
+       for memory access inside loop.
+
+2020-10-19  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97360
+       * gimple-range.h (range_compatible_p): New.
+       * gimple-range-gori.cc (is_gimple_logical_p): Use range_compatible_p.
+       (range_is_either_true_or_false): Ditto.
+       (gori_compute::outgoing_edge_range_p): Cast result to the correct
+       type if necessary.
+       (logical_stmt_cache::cacheable_p): Use range_compatible_p.
+       * gimple-range.cc (gimple_ranger::calc_stmt): Check range_compatible_p
+       before casting the range.
+       (gimple_ranger::range_on_exit): Use range_compatible_p.
+       (gimple_ranger::range_on_edge): Ditto.
+
+2020-10-19  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/97456
+       * tree-complex.c (set_component_ssa_name): Do not replace ignored decl
+       default definitions with new component vars.  Reorder if conditions.
+
+2020-10-19  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/vsx.md (vextract_fp_from_shorth):  Fix vals_be.
+       (vextract_fp_from_shortl) Same.
+
+2020-10-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97488
+       * range-op.cc (operator_lshift::op1_range): Handle large right shifts.
+
+2020-10-19  Martin Liska  <mliska@suse.cz>
+
+       * ipa-modref.c (compute_parm_map): Clear vector.
+
+2020-10-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97486
+       * tree-vect-slp.c (vect_slp_function): Split after stmts
+       ending a BB.
+
+2020-10-19  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/invoke.texi (OPptimize Options): Add missing closing
+       parenthesis.
+
+2020-10-19  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97467
+       * range-op.cc (operator_lshift::op1_range): Handle shifts by 0.
+
+2020-10-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97466
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove
+       spurious assert, re-indent.
+
+2020-10-19  Li Jia He  <helijia@gcc.gnu.org>
+
+       PR tree-optimization/66552
+       * match.pd (x << (n % C) -> x << (n & C-1)): New simplification.
+
+2020-10-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_gimple_comparison): Drop special-case
+       for pointer comparison.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       * vr-values.c (dump_all_value_ranges): Only dump names which are
+       still active.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       * range-op.cc (pointer_plus_operator::wi_fold): Make pointer_plus
+       [0, 0] + const return a [const, const] range.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-ssa-evrp.c (hybrid_folder::value_on_edge): Call
+       evrp_folder::value_of_expr directly.
+       (hybrid_folder::value_of_stmt): Ditto.
+
+2020-10-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97462
+       * range-op.cc (operator_lshift::op1_range): Don't trap on negative
+       shifts.
+
+2020-10-16  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.h (VX_CRTBEGIN_SPEC): Likewise.
+
+2020-10-16  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks/_vxworks-versions.h: Only include
+       version.h if _WRS_VXWORKS_MAJOR is not defined.
+       Provide a default _WRS_VXWORKS_MINOR (0).
+
+2020-10-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/97327
+       * config/arm/arm.c (fp_bitlist): Add isa_bit_mve_float to FP bits array.
+
+2020-10-16  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): For BB
+       vectorization swap operands only if it helps, demote mismatches to
+       external.
+
+2020-10-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/97291
+       * config/arm/arm-builtins.c (arm_strsbwbs_qualifiers): Modify array.
+       (arm_strsbwbu_qualifiers): Likewise.
+       (arm_strsbwbs_p_qualifiers): Likewise.
+       (arm_strsbwbu_p_qualifiers): Likewise.
+       * config/arm/arm_mve.h (__arm_vstrdq_scatter_base_wb_s64): Modify
+       function definition.
+       (__arm_vstrdq_scatter_base_wb_u64): Likewise.
+       (__arm_vstrdq_scatter_base_wb_p_s64): Likewise.
+       (__arm_vstrdq_scatter_base_wb_p_u64): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_s32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_u32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_s32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_u32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_f32): Likewise.
+       (__arm_vstrwq_scatter_base_wb_p_f32): Likewise.
+       * config/arm/arm_mve_builtins.def (vstrwq_scatter_base_wb_add_u): Remove
+       expansion for the builtin.
+       (vstrwq_scatter_base_wb_add_s): Likewise.
+       (vstrwq_scatter_base_wb_add_f): Likewise.
+       (vstrdq_scatter_base_wb_add_u): Likewise.
+       (vstrdq_scatter_base_wb_add_s): Likewise.
+       (vstrwq_scatter_base_wb_p_add_u): Likewise.
+       (vstrwq_scatter_base_wb_p_add_s): Likewise.
+       (vstrwq_scatter_base_wb_p_add_f): Likewise.
+       (vstrdq_scatter_base_wb_p_add_u): Likewise.
+       (vstrdq_scatter_base_wb_p_add_s): Likewise.
+       * config/arm/mve.md (mve_vstrwq_scatter_base_wb_<supf>v4si): Remove
+       expand.
+       (mve_vstrwq_scatter_base_wb_add_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_base_wb_<supf>v4si_insn): Rename pattern to ...
+       (mve_vstrwq_scatter_base_wb_<supf>v4si): This.
+       (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Remove expand.
+       (mve_vstrwq_scatter_base_wb_p_add_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_<supf>v4si_insn): Rename pattern to ...
+       (mve_vstrwq_scatter_base_wb_p_<supf>v4si): This.
+       (mve_vstrwq_scatter_base_wb_fv4sf): Remove expand.
+       (mve_vstrwq_scatter_base_wb_add_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_wb_fv4sf_insn): Rename pattern to ...
+       (mve_vstrwq_scatter_base_wb_fv4sf): This.
+       (mve_vstrwq_scatter_base_wb_p_fv4sf): Remove expand.
+       (mve_vstrwq_scatter_base_wb_p_add_fv4sf): Likewise.
+       (mve_vstrwq_scatter_base_wb_p_fv4sf_insn): Rename pattern to ...
+       (mve_vstrwq_scatter_base_wb_p_fv4sf): This.
+       (mve_vstrdq_scatter_base_wb_<supf>v2di): Remove expand.
+       (mve_vstrdq_scatter_base_wb_add_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_base_wb_<supf>v2di_insn): Rename pattern to ...
+       (mve_vstrdq_scatter_base_wb_<supf>v2di): This.
+       (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Remove expand.
+       (mve_vstrdq_scatter_base_wb_p_add_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_base_wb_p_<supf>v2di_insn): Rename pattern to ...
+       (mve_vstrdq_scatter_base_wb_p_<supf>v2di): This.
+
+2020-10-16  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator (IMPLIED_EXT): New.
+       (arch_canonicalize): Update comment and handle implied extensions.
+
+2020-10-16  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): First analyze
+       all operands and fill in the def_stmts and ops entries.
+       (vect_def_types_match): New helper.
+
+2020-10-16  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/97404
+       * ipa-prop.c (struct ipa_vr_ggc_hash_traits):
+       Compare types of VRP as we can merge ranges of different types.
+
+2020-10-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97428
+       * tree-vect-slp.c (vect_analyze_slp_instance): Split store
+       groups also for loop vectorization.
+
+2020-10-15  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97436
+       * config/nvptx/nvptx.opt (m32): Comment out.
+       * doc/invoke.texi (NVPTX options): Remove -m32.
+
+2020-10-15  Jan Hubicka  <hubicka@ucw.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       * attr-fnspec.h: Fix toplevel comment.
+
+2020-10-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_mem_ref): Print constant offset
+       also for TARGET_MEM_REF.
+
+2020-10-15  Jan Hubicka  <jh@suse.cz>
+
+       * symtab.c (symtab_node::binds_to_current_def_p): Also accept symbols
+       defined in other partition.
+
+2020-10-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vectorizable_live_operation): Adjust
+       dominance query.
+
+2020-10-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97482
+       * tree-data-ref.c (split_constant_offset_1): Handle
+       trivial conversions better.
+       * fold-const.c (convert_to_ptrofftype_loc): Elide conversion
+       if the offset is already ptrofftype_p.
+
+2020-10-15  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/97295
+       * profile-count.c (profile_count::to_frequency): Move part of
+       gcc_assert to STATIC_ASSERT.
+       * regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for
+       a function that does not have count_max initialized.
+
+2020-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * params.opt (-param-ipa-jump-function-lookups=): Add full stop at
+       the end of the parameter description.
+
+2020-10-15  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_cpu_tables): New.
+       (riscv_arch_str): Return empty string if current_subset_list
+       is NULL.
+       (riscv_find_cpu): New.
+       (riscv_handle_option): Verify option value of -mcpu.
+       (riscv_expand_arch): Using std::string.
+       (riscv_default_mtune): New.
+       (riscv_expand_arch_from_cpu): Ditto.
+       * config/riscv/riscv-cores.def: New.
+       * config/riscv/riscv-protos.h (riscv_find_cpu): New.
+       (riscv_cpu_info): New.
+       * config/riscv/riscv.c (riscv_tune_info): Rename ...
+       (riscv_tune_param): ... to this.
+       (riscv_cpu_info): Rename ...
+       (riscv_tune_info): ... to this.
+       (tune_info): Rename ...
+       (tune_param): ... to this.
+       (rocket_tune_info): Update data type name.
+       (sifive_7_tune_info): Ditto.
+       (optimize_size_tune_info): Ditto.
+       (riscv_cpu_info_table): Rename ...
+       (riscv_tune_info_table): ... to this.
+       (riscv_parse_cpu): Rename ...
+       (riscv_parse_tune): ... to this, and translate valid -mcpu option to
+       -mtune option.
+       (riscv_rtx_costs): Rename tune_info to tune_param.
+       (riscv_class_max_nregs): Ditto.
+       (riscv_memory_move_cost): Ditto.
+       (riscv_init_machine_status): Use value of -mcpu if -mtune is not
+       given, and rename tune_info to tune_param.
+       * config/riscv/riscv.h (riscv_expand_arch_from_cpu): New.
+       (riscv_default_mtune): Ditto.
+       (EXTRA_SPEC_FUNCTIONS): Add riscv_expand_arch_from_cpu and
+       riscv_default_mtune.
+       (OPTION_DEFAULT_SPECS): Handle default value of -march/-mabi.
+       (DRIVER_SELF_SPECS): Expand -march from -mcpu if -march is not
+       given.
+       * config/riscv/riscv.opt (-mcpu): New option.
+       * config/riscv/t-riscv ($(common_out_file)): Add
+       riscv-cores.def to dependency.
+       * doc/invoke.texi (RISC-V Option): Add -mcpu, and update the
+       description of default value for -mtune and -march.
+
+2020-10-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_available_features):
+       Detect HRESET.
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_HRESET_SET,
+       OPTION_MASK_ISA2_HRESET_UNSET): New macros.
+       (ix86_handle_option): Handle -mhreset.
+       * common/config/i386/i386-cpuinfo.h (enum processor_features):
+       Add FEATURE_HRESET.
+       * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY
+       for hreset.
+       * config.gcc: Add hresetintrin.h
+       * config/i386/hresetintrin.h: New header file.
+       * config/i386/x86gprintrin.h: Include hresetintrin.h.
+       * config/i386/cpuid.h (bit_HRESET): New.
+       * config/i386/i386-builtin.def: Add new builtin.
+       * config/i386/i386-expand.c (ix86_expand_builtin):
+       Handle new builtin.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __HRESET__.
+       * config/i386/i386-options.c (isa2_opts): Add -mhreset.
+       (ix86_valid_target_attribute_inner_p): Handle hreset.
+       * config/i386/i386.h (TARGET_HRESET, TARGET_HRESET_P,
+       PTA_HRESET): New.
+       (PTA_ALDERLAKE): Add PTA_HRESET.
+       * config/i386/i386.opt: Add option -mhreset.
+       * config/i386/i386.md (UNSPECV_HRESET): New unspec.
+       (hreset): New define_insn.
+       * doc/invoke.texi: Document -mhreset.
+       * doc/extend.texi: Document hreset.
+
+2020-10-15  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * common/config/i386/cpuinfo.h (get_available_features):
+       Detect UINTR.
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_UINTR_SET
+       OPTION_MASK_ISA2_UINTR_UNSET): New.
+       (ix86_handle_option): Handle -muintr.
+       * common/config/i386/i386-cpuinfo.h (enum processor_features):
+       Add FEATURE_UINTR.
+       * common/config/i386/i386-isas.h: Add ISA_NAMES_TABLE_ENTRY
+       for uintr.
+       * config.gcc: Add uintrintrin.h to extra_headers.
+       * config/i386/uintrintrin.h: New.
+       * config/i386/cpuid.h (bit_UINTR): New.
+       * config/i386/i386-builtin-types.def: Add new types.
+       * config/i386/i386-builtin.def: Add new builtins.
+       * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins): Add
+       __builtin_ia32_testui.
+       * config/i386/i386-builtins.h (ix86_builtins): Add
+       IX86_BUILTIN_TESTUI.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __UINTR__.
+       * config/i386/i386-expand.c (ix86_expand_special_args_builtin):
+       Handle UINT8_FTYPE_VOID.
+       (ix86_expand_builtin): Handle IX86_BUILTIN_TESTUI.
+       * config/i386/i386-options.c (isa2_opts): Add -muintr.
+       (ix86_valid_target_attribute_inner_p): Handle UINTR.
+       (ix86_option_override_internal): Add TARGET_64BIT check for UINTR.
+       * config/i386/i386.h (TARGET_UINTR, TARGET_UINTR_P, PTA_UINTR): New.
+       (PTA_SAPPHIRRAPIDS): Add PTA_UINTR.
+       * config/i386/i386.opt: Add -muintr.
+       * config/i386/i386.md
+       (define_int_iterator UINTR_UNSPECV): New.
+       (define_int_attr uintr_unspecv): New.
+       (uintr_<uintr_unspecv>, uintr_senduipi, testui):
+       New define_insn patterns.
+       * config/i386/x86gprintrin.h: Include uintrintrin.h
+       * doc/invoke.texi: Document -muintr.
+       * doc/extend.texi: Document uintr.
+
+2020-10-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97391
+       * builtins.c (gimple_parm_array_size): Peel off one less layer
+       of array types.
+
+2020-10-14  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97413
+       * attribs.c (init_attr_rdwr_indices): Unwrap extra list layer.
+
+2020-10-14  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/95483
+       * config/i386/avx2intrin.h (_mm_broadcastsi128_si256): New intrinsics.
+       (_mm_broadcastsd_pd): Ditto.
+       * config/i386/avx512bwintrin.h (_mm512_loadu_epi16): New intrinsics.
+       (_mm512_storeu_epi16): Ditto.
+       (_mm512_loadu_epi8): Ditto.
+       (_mm512_storeu_epi8): Ditto.
+       * config/i386/avx512dqintrin.h (_mm_reduce_round_sd): New intrinsics.
+       (_mm_mask_reduce_round_sd): Ditto.
+       (_mm_maskz_reduce_round_sd): Ditto.
+       (_mm_reduce_round_ss): Ditto.
+       (_mm_mask_reduce_round_ss): Ditto.
+       (_mm_maskz_reduce_round_ss): Ditto.
+       (_mm512_reduce_round_pd): Ditto.
+       (_mm512_mask_reduce_round_pd): Ditto.
+       (_mm512_maskz_reduce_round_pd): Ditto.
+       (_mm512_reduce_round_ps): Ditto.
+       (_mm512_mask_reduce_round_ps): Ditto.
+       (_mm512_maskz_reduce_round_ps): Ditto.
+       * config/i386/avx512erintrin.h
+       (_mm_mask_rcp28_round_sd): New intrinsics.
+       (_mm_maskz_rcp28_round_sd): Ditto.
+       (_mm_mask_rcp28_round_ss): Ditto.
+       (_mm_maskz_rcp28_round_ss): Ditto.
+       (_mm_mask_rsqrt28_round_sd): Ditto.
+       (_mm_maskz_rsqrt28_round_sd): Ditto.
+       (_mm_mask_rsqrt28_round_ss): Ditto.
+       (_mm_maskz_rsqrt28_round_ss): Ditto.
+       (_mm_mask_rcp28_sd): Ditto.
+       (_mm_maskz_rcp28_sd): Ditto.
+       (_mm_mask_rcp28_ss): Ditto.
+       (_mm_maskz_rcp28_ss): Ditto.
+       (_mm_mask_rsqrt28_sd): Ditto.
+       (_mm_maskz_rsqrt28_sd): Ditto.
+       (_mm_mask_rsqrt28_ss): Ditto.
+       (_mm_maskz_rsqrt28_ss): Ditto.
+       * config/i386/avx512fintrin.h (_mm_mask_sqrt_sd): New intrinsics.
+       (_mm_maskz_sqrt_sd): Ditto.
+       (_mm_mask_sqrt_ss): Ditto.
+       (_mm_maskz_sqrt_ss): Ditto.
+       (_mm_mask_scalef_sd): Ditto.
+       (_mm_maskz_scalef_sd): Ditto.
+       (_mm_mask_scalef_ss): Ditto.
+       (_mm_maskz_scalef_ss): Ditto.
+       (_mm_mask_cvt_roundsd_ss): Ditto.
+       (_mm_maskz_cvt_roundsd_ss): Ditto.
+       (_mm_mask_cvt_roundss_sd): Ditto.
+       (_mm_maskz_cvt_roundss_sd): Ditto.
+       (_mm_mask_cvtss_sd): Ditto.
+       (_mm_maskz_cvtss_sd): Ditto.
+       (_mm_mask_cvtsd_ss): Ditto.
+       (_mm_maskz_cvtsd_ss): Ditto.
+       (_mm512_cvtsi512_si32): Ditto.
+       (_mm_cvtsd_i32): Ditto.
+       (_mm_cvtss_i32): Ditto.
+       (_mm_cvti32_sd): Ditto.
+       (_mm_cvti32_ss): Ditto.
+       (_mm_cvtsd_i64): Ditto.
+       (_mm_cvtss_i64): Ditto.
+       (_mm_cvti64_sd): Ditto.
+       (_mm_cvti64_ss): Ditto.
+       * config/i386/avx512vlbwintrin.h (_mm256_storeu_epi8): New intrinsics.
+       (_mm_storeu_epi8): Ditto.
+       (_mm256_loadu_epi16): Ditto.
+       (_mm_loadu_epi16): Ditto.
+       (_mm256_loadu_epi8): Ditto.
+       (_mm_loadu_epi8): Ditto.
+       (_mm256_storeu_epi16): Ditto.
+       (_mm_storeu_epi16): Ditto.
+       * config/i386/avx512vlintrin.h (_mm256_load_epi64): New intrinsics.
+       (_mm_load_epi64): Ditto.
+       (_mm256_load_epi32): Ditto.
+       (_mm_load_epi32): Ditto.
+       (_mm256_store_epi32): Ditto.
+       (_mm_store_epi32): Ditto.
+       (_mm256_loadu_epi64): Ditto.
+       (_mm_loadu_epi64): Ditto.
+       (_mm256_loadu_epi32): Ditto.
+       (_mm_loadu_epi32): Ditto.
+       (_mm256_mask_cvt_roundps_ph): Ditto.
+       (_mm256_maskz_cvt_roundps_ph): Ditto.
+       (_mm_mask_cvt_roundps_ph): Ditto.
+       (_mm_maskz_cvt_roundps_ph): Ditto.
+       * config/i386/avxintrin.h (_mm256_cvtsi256_si32): New intrinsics.
+       * config/i386/emmintrin.h (_mm_loadu_si32): New intrinsics.
+       (_mm_loadu_si16): Ditto.
+       (_mm_storeu_si32): Ditto.
+       (_mm_storeu_si16): Ditto.
+       * config/i386/i386-builtin-types.def
+       (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT): Add new type.
+       (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT): Ditto.
+       (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT): Ditto.
+       (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT): Ditto.
+       * config/i386/i386-builtin.def
+       (__builtin_ia32_cvtsd2ss_mask_round): New builtin.
+       (__builtin_ia32_cvtss2sd_mask_round): Ditto.
+       (__builtin_ia32_rcp28sd_mask_round): Ditto.
+       (__builtin_ia32_rcp28ss_mask_round): Ditto.
+       (__builtin_ia32_rsqrt28sd_mask_round): Ditto.
+       (__builtin_ia32_rsqrt28ss_mask_round): Ditto.
+       (__builtin_ia32_reducepd512_mask_round): Ditto.
+       (__builtin_ia32_reduceps512_mask_round): Ditto.
+       (__builtin_ia32_reducesd_mask_round): Ditto.
+       (__builtin_ia32_reducess_mask_round): Ditto.
+       * config/i386/i386-expand.c
+       (ix86_expand_round_builtin): Expand round builtin for new type.
+       (V8DF_FTYPE_V8DF_INT_V8DF_UQI_INT)
+       (V16SF_FTYPE_V16SF_INT_V16SF_UHI_INT)
+       (V4SF_FTYPE_V4SF_V2DF_V4SF_UQI_INT)
+       (V2DF_FTYPE_V2DF_V4SF_V2DF_UQI_INT)
+       * config/i386/mmintrin.h ()
+       Define datatype __m32 and __m16.
+       Define datatype __m32_u and __m16_u.
+       * config/i386/sse.md: Adjust pattern.
+       (<mask_codefor>reducep<mode><mask_name><round_saeonly_name>): Adjust.
+       (reduces<mode><mask_scalar_name><round_saeonly_scalar_name>): Ditto.
+       (sse2_cvtsd2ss<mask_name><round_name>): Ditto.
+       (sse2_cvtss2sd<mask_name><round_saeonly_name>): Ditto.
+       (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Ditto.
+       (avx512er_vmrsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Fix
+       the VX_CPU selection for -mcpu=xscale on arm-vxworks.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Accommodate
+       expectations from different versions of VxWorks, for 32 or 64bit
+       configurations.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.h: #undef CPLUSPLUS_CPP_SPEC.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/t-vxworks: Adjust the VxWorks alternative LIMITS_H guard
+       for glimits.h, make it both closer to the previous one and easier to
+       search for.
+
+2020-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97387
+       * config/i386/i386.md (CC_CCC): New mode iterator.
+       (*setcc_qi_addqi3_cconly_overflow_1_<mode>): New
+       define_insn_and_split.
+       * config/i386/i386.c (ix86_cc_mode): Return CCCmode
+       for *setcc_qi_addqi3_cconly_overflow_1_<mode> pattern operands.
+       (ix86_rtx_costs): Return true and *total = 0;
+       for *setcc_qi_addqi3_cconly_overflow_1_<mode> pattern.  Use op0 and
+       op1 temporaries to simplify COMPARE checks.
+
+2020-10-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97396
+       * gimple-range.cc (gimple_ranger::range_of_phi): Do not call
+       range_of_ssa_name_with_loop_info with the loop tree root.
+
+2020-10-14  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Split out
+       test for compatible operand types.
+
+2020-10-14  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.c (vxworks_override_options): Guard pic checks with
+       flag_pic > 0 instead of just flag_pic.
+
+2020-10-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-fnsummary.c (remap_edge_summaries): Make offset_map HOST_WIDE_INT.
+       (remap_freqcounting_predicate): Likewise.
+       (ipa_merge_fn_summary_after_inlining): Likewise.
+       * ipa-predicate.c (predicate::remap_after_inlining): Likewise
+       * ipa-predicate.h (remap_after_inlining): Update.
+
+2020-10-14  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (compute_parm_map): Handle POINTER_PLUS_EXPR in
+       PASSTHROUGH.
+
+2020-10-14  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Move
+       check for duplicate/interleave of variable size constants
+       to a place done once and early.
+       (vect_build_slp_tree_2): Adjust heuristics when to build
+       a BB SLP node from scalars.
+
+2020-10-14  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (cached_can_duplicate_bb_p, analyze_bb): Use
+       can_duplicate_block_p.
+       (can_duplicate_insn_p, can_duplicate_bb_no_insn_iter_p)
+       (can_duplicate_bb_p): Move and merge ...
+       * tree-cfg.c (gimple_can_duplicate_bb_p): ... here.
+
+2020-10-14  Jan Hubicka  <hubicka@ucw.cz>
+
+       * doc/invoke.texi: (ipa-jump-function-lookups): Document param.
+       * ipa-modref.c (merge_call_side_effects): Use
+       unadjusted_ptr_and_unit_offset.
+       * ipa-prop.c (unadjusted_ptr_and_unit_offset): New function.
+       * ipa-prop.h (unadjusted_ptr_and_unit_offset): Declare.
+       * params.opt: (-param-ipa-jump-function-lookups): New.
+
+2020-10-14  Jan Hubicka  <jh@suse.cz>
+
+       PR bootstrap/97350
+       * ipa-modref.c (ignore_edge): Do not ignore inlined edes.
+       (ipa_merge_modref_summary_after_inlining): Improve debug output and
+       fix parameter of ignore_stores_p.
+
+2020-10-14  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/96759
+       * expr.c (expand_assignment): Handle misaligned stores with PARALLEL
+       value.
+
+2020-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97386
+       * combine.c (simplify_shift_const_1): Don't optimize nested ROTATEs if
+       they have different modes.
+
+2020-10-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97379
+       * gimple-range-edge.cc (outgoing_range::calc_switch_ranges): Do
+       not save hash slot across calls to hash_table<>::get_or_insert.
+
+2020-10-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * lto-wrapper.c (find_crtoffloadtable): Fix last commit
+       by adding NULL as last argument to concat.
+
+2020-10-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (neoversen2_tunings): Define.
+       * config/aarch64/aarch64-cores.def (neoverse-n2): Use it.
+
+2020-10-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * lto-wrapper.c (find_crtoffloadtable): With -save-temps,
+       use non-temp file name utilizing the dump prefix.
+       (run_gcc): Update call.
+
+2020-10-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97382
+       * tree-vectorizer.h (_stmt_vec_info::same_align_refs): Remove.
+       (STMT_VINFO_SAME_ALIGN_REFS): Likewise.
+       * tree-vectorizer.c (vec_info::new_stmt_vec_info): Do not
+       allocate STMT_VINFO_SAME_ALIGN_REFS.
+       (vec_info::free_stmt_vec_info): Do not release
+       STMT_VINFO_SAME_ALIGN_REFS.
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
+       Do not compute self and read-read dependences.
+       (vect_dr_aligned_if_related_peeled_dr_is): New helper.
+       (vect_dr_aligned_if_peeled_dr_is): Likewise.
+       (vect_update_misalignment_for_peel): Use it instead of
+       iterating over STMT_VINFO_SAME_ALIGN_REFS.
+       (dr_align_group_sort_cmp): New function.
+       (vect_enhance_data_refs_alignment): Count the number of
+       same aligned refs here and elide uses of STMT_VINFO_SAME_ALIGN_REFS.
+       (vect_find_same_alignment_drs): Remove.
+       (vect_analyze_data_refs_alignment): Do not call it.
+       * vec.h (auto_vec<T, 0>::auto_vec): Adjust CTOR to take
+       a vec<>&&, assert it isn't using auto storage.
+       (auto_vec& operator=): Apply a similar change.
+
+2020-10-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * config/nvptx/mkoffload.c (main): Add missing fclose (in).
+
+2020-10-13  Zhiheng Xie  <xiezhiheng@huawei.com>
+           Nannan Zheng  <zhengnannan@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for mul/mla/mls intrinsics.
+
+2020-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (add_taskreg_looptemp_clauses): For triangular loops
+       with non-constant number of iterations add another 4 _looptemp_
+       clauses before the (optional) one for lastprivate.
+       (lower_omp_for_lastprivate): Skip those clauses when looking for
+       the lastprivate clause.
+       (lower_omp_for): For triangular loops with non-constant number of
+       iterations add another 4 _looptemp_ clauses.
+       * omp-expand.c (expand_omp_for_init_counts): For triangular loops
+       with non-constant number of iterations set counts[0],
+       fd->first_inner_iterations, fd->factor and fd->adjn1 from the newly
+       added _looptemp_ clauses.
+       (expand_omp_for_init_vars): Initialize the newly added _looptemp_
+       clauses.
+       (find_lastprivate_looptemp): New function.
+       (expand_omp_for_static_nochunk, expand_omp_for_static_chunk,
+       expand_omp_taskloop_for_outer): Use it instead of manually skipping
+       _looptemp_ clauses.
+
+2020-10-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/97389
+       * ipa-modref.c (dump_lto_records): Fix formating of dump file.
+       (modref_summary::dump): Do not check loads to be non-null.
+       (modref_summary_lto::dump): Do not check loads to be non-null.
+       (merge_call_side_effects): Improve debug output.
+       (analyze_call): Crash when cur_summary->loads is NULL.
+       (analyze_function): Update.
+       (modref_summaries::insert): Insert only into summaries, not
+       optimization_summaries.
+       (modref_summaries::duplicate): Likewise; crash when load or sotres
+       are NULL.
+       (modref_summaries_lto::duplicate): Crash when loads or stores are NULL.
+       (write_modref_records): param_index is signed.
+       (read_modref_records): param_index is signed.
+       (modref_write): Crash when loads or stores are NULL.
+       (read_section): Compensate previous change.
+       (pass_modref::execute): Do not check optimization_summaries t be
+       non-NULL.
+       (ignore_edge): Fix.
+       (compute_parm_map): Fix formating.
+       (modref_propagate_in_scc): Do not expect loads/stores to be NULL.
+
+2020-10-12  Alexandre Oliva  <oliva@adacore.com>
+
+       * builtins.c (mathfn_built_in_type): Use CFN_ enumerators.
+
+2020-10-12  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97381
+       * gimple-range-gori.cc (gori_compute::compute_operand2_range): If a range cannot be
+       calculated through operand 2, return false.
+
+2020-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97378
+       * range-op.cc (operator_trunc_mod::wi_fold): Return VARYING for mod by zero.
+
+2020-10-12  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi: Document -Wanalyzer-write-to-const and
+       -Wanalyzer-write-to-string-literal.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97342
+       PR middle-end/97023
+       PR middle-end/96384
+       * builtins.c (access_ref::access_ref): Initialize new member.  Use
+       new enum.
+       (access_ref::size_remaining): Define new member function.
+       (inform_access): Handle expressions referencing objects.
+       (gimple_call_alloc_size): Call get_size_range instead of get_range.
+       (gimple_call_return_array): New function.
+       (get_range): Rename...
+       (get_offset_range): ...to this.  Improve detection of ranges from
+       types of expressions.
+       (gimple_call_return_array): Adjust calls to get_range per above.
+       (compute_objsize): Same.  Set maximum size or offset instead of
+       failing for unknown objects and handle more kinds of expressions.
+       (compute_objsize): Call access_ref::size_remaining.
+       (compute_objsize): Have transitional wrapper fail for pointers
+       into unknown objects.
+       (expand_builtin_strncmp): Call access_ref::size_remaining and
+       handle new cases.
+       * builtins.h (access_ref::size_remaining): Declare new member function.
+       (access_ref::set_max_size_range): Define new member function.
+       (access_ref::add_ofset, access_ref::add_max_ofset): Same.
+       (access_ref::add_base0): New data member.
+       * calls.c (get_size_range): Change argument type.  Handle new
+       condition.
+       * calls.h (get_size_range): Adjust signature.
+       (enum size_range_flags): Define new type.
+       * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Correct
+       argument to get_size_range.
+       * tree-ssa-strlen.c (get_range): Handle anti-ranges.
+       (maybe_warn_overflow): Check DECL_P before assuming it's one.
+
+2020-10-12  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/96511
+       PR middle-end/96384
+       * builtins.c (get_range): Return full range of type when neither
+       value nor its range is available.  Fail for ranges inverted due
+       to the signedness of offsets.
+       (compute_objsize): Handle more special array members.  Handle
+       POINTER_PLUS_EXPR and VIEW_CONVERT_EXPR that come up in front end
+       code.
+       (access_ref::offset_bounded): Define new member function.
+       * builtins.h (access_ref::eval): New data member.
+       (access_ref::offset_bounded): New member function.
+       (access_ref::offset_zero): New member function.
+       (compute_objsize): Declare a new overload.
+       * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): Use
+       enum special_array_member.
+       * tree.c (component_ref_size): Use special_array_member.
+       * tree.h (special_array_member): Define a new type.
+       (component_ref_size): Change signature.
+
+2020-10-12  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (modref_summaries): Remove field IPA.
+       (class modref_summary_lto): New global variable.
+       (class modref_summaries_lto): New.
+       (modref_summary::modref_summary): Remove loads_lto and stores_lto.
+       (modref_summary::~modref_summary): Remove loads_lto and stores_lto.
+       (modref_summary::useful_p): Do not use lto_useful.
+       (modref_records_lto): New typedef.
+       (struct modref_summary_lto): New type.
+       (modref_summary_lto::modref_summary_lto): New member function.
+       (modref_summary_lto::~modref_summary_lto): New member function.
+       (modref_summary_lto::useful_p): New member function.
+       (modref_summary::dump): Do not handle lto.
+       (modref_summary_lto::dump): New member function.
+       (get_modref_function_summary): Use optimization_summary.
+       (merge_call_side_effects): Use optimization_summary.
+       (analyze_call): Use optimization_summary.
+       (struct summary_ptrs): New struture.
+       (analyze_load): Update to handle separate lto and non-lto summaries.
+       (analyze_store): Likewise.
+       (analyze_stmt): Likewise.
+       (remove_summary): Break out from ...
+       (analyze_function): ... here; update to handle seprated summaries.
+       (modref_summaries::insert): Do not handle lto summary.
+       (modref_summaries_lto::insert): New member function.
+       (modref_summaries::duplicate): Do not handle lto summary.
+       (modref_summaries_lto::duplicate): New member function.
+       (read_modref_records): Expect nolto_ret or lto_ret to be NULL>
+       (modref_write): Write lto summary.
+       (read_section): Handle separated summaries.
+       (modref_read): Initialize separated summaries.
+       (modref_transform): Handle separated summaries.
+       (pass_modref::execute): Turn summary to optimization_summary; handle
+       separate summaries.
+       (ignore_edge): Handle separate summaries.
+       (ipa_merge_modref_summary_after_inlining): Likewise.
+       (collapse_loads): Likewise.
+       (modref_propagate_in_scc): Likewise.
+       (pass_ipa_modref::execute): Likewise.
+       (ipa_modref_c_finalize): Likewise.
+       * ipa-modref.h (modref_records_lto): Remove typedef.
+       (struct modref_summary): Remove stores_lto, loads_lto and finished
+       fields; remove lto_useful_p member function.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_slp_analyze_instance_dependence):
+       Use SLP_TREE_REPRESENTATIVE.
+       * tree-vectorizer.h (_slp_tree::vertex): New member used
+       for graphds interfacing.
+       * tree-vect-slp.c (vect_build_slp_tree_2): Allocate space
+       for PHI SLP children.
+       (vect_analyze_slp_backedges): New function filling in SLP
+       node children for PHIs that correspond to backedge values.
+       (vect_analyze_slp): Call vect_analyze_slp_backedges for the
+       graph.
+       (vect_slp_analyze_node_operations): Deal with a cyclic graph.
+       (vect_schedule_slp_instance): Likewise.
+       (vect_schedule_slp): Likewise.
+       (slp_copy_subtree): Remove.
+       (vect_slp_rearrange_stmts): Likewise.
+       (vect_attempt_slp_rearrange_stmts): Likewise.
+       (vect_slp_build_vertices): New functions.
+       (vect_slp_permute): Likewise.
+       (vect_slp_perms_eq): Likewise.
+       (vect_optimize_slp): Remove special code to elide
+       permutations with SLP reductions.  Implement generic
+       permute optimization.
+
+2020-10-12  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.c (arm_preferred_simd_mode): Use E_FOOmode
+       instead of FOOmode.
+
+2020-10-12  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/97079
+       * internal-fn.c (internal_fn_stored_value_index): Handle also
+       .MASK_STORE_LANES.
+       * tree-vect-patterns.c (vect_recog_over_widening_pattern): Bail
+       out for unsupported TREE_TYPE.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_partition_graph_r): Use visited
+       hash-map.
+       (vect_bb_partition_graph): Likewise.
+
+2020-10-12  Duan bo  <duanbo3@huawei.com>
+
+       PR target/96757
+       * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Add
+       the identification and handling of the dropped situation in the
+       cond expression processing phase.
+
+2020-10-12  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi (nvptx's -misa): Update default to sm_35.
+
+2020-10-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/97349
+       * config/aarch64/arm_neon.h (vdupq_n_p8, vdupq_n_p16,
+       vdupq_n_p64, vdupq_n_s8, vdupq_n_s16, vdupq_n_u8, vdupq_n_u16):
+       Fix argument type.
+
+2020-10-12  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390-protos.h (s390_build_signbit_mask): New
+       function.
+       * config/s390/s390.c (s390_contiguous_bitmask_vector_p):
+       Bitcast the argument to an integral mode.
+       (s390_expand_vec_init): Do not call
+       s390_contiguous_bitmask_vector_p with a scalar argument.
+       (s390_build_signbit_mask): New function.
+       * config/s390/vector.md (copysign<mode>3): Use bitwise
+       operations.
+
+2020-10-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97371
+       * range-op.cc (operator_rshift::op1_range): Ignore shifts larger than
+       or equal to type precision.
+
+2020-10-12  Martin Liska  <mliska@suse.cz>
+
+       * ipa-modref.c (merge_call_side_effects): Clear modref_parm_map
+       fields in the vector.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Set matches to true
+       after successful discovery but forced split.
+
+2020-10-12  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.opt (-msoft-stack-reserve-local): Rename to ...
+       (-msoft-stack-reserve-local=): ... this.
+
+2020-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97357
+       * tree-ssa-loop-split.c (ssa_semi_invariant_p): Abnormal
+       SSA names are not semi invariant.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_globalize_label): Make a subset of
+       metadate symbols global.
+       (darwin_label_is_anonymous_local_objc_name): Make a subset of
+       metadata symbols linker-visible.
+       (darwin_override_options): Track more target OS versions, make
+       the next_runtime version track this (unless it's set to 0 for
+       GNU runtime).
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_globalize_label): Add protocol
+       meta-data labels to the set that are global.
+       (darwin_label_is_anonymous_local_objc_name): Arrange for meta-
+       data start labels to be linker-visible.
+
+2020-10-11  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_objc2_section): Allow for
+       values > 1 to represent the next runtime.
+       (darwin_objc1_section): Likewise.
+       * config/darwin.h (NEXT_OBJC_RUNTIME): Set the default
+       next runtime value to be 10.5.8.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_transform): Fix parameter map computation.
+
+2020-10-10  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97318
+       * config/nvptx/nvptx.c (nvptx_replace_dot): New function.
+       (write_fn_proto, write_fn_proto_from_insn, nvptx_output_call_insn):
+       Use nvptx_replace_dot.
+
+2020-10-10  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (write_fn_proto_1): New function, factored out
+       of ...
+       (write_fn_proto): ... here.  Return void.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (remap_arguments): Check range in map access.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_transform): Use reserve instead of safe_grow.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_transform): Check that summaries are allocated.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref-tree.h (struct modref_tree): Revert prevoius change.
+       * ipa-modref.c (analyze_function): Dump original summary.
+       (modref_read): Only set IPA if streaming summary (not optimization
+       summary).
+       (remap_arguments): New function.
+       (modref_transform): New function.
+       (compute_parm_map): Fix offset calculation.
+       (ipa_merge_modref_summary_after_inlining): Do not merge stores when
+       they can be ignored.
+
+2020-10-10  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Improve debug dumps.
+       (call_may_clobber_ref_p_1): Improve debug dumps.
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (output_objc_section_asm_op): Avoid extra
+       objective-c section switches unless the linker needs them.
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-sections.def (objc2_data_section): New.
+       (objc2_ivar_section): New.
+       * config/darwin.c (darwin_objc2_section): Act on Protocol and
+       ivar refs.
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-sections.def (objc2_class_names_section,
+       objc2_method_names_section, objc2_method_types_section): New
+       * config/darwin.c (output_objc_section_asm_op): Output new
+       sections.  (darwin_objc2_section): Select new sections where
+       used.
+
+2020-10-10  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_emit_local_bss): Amend section names to
+       match system tools. (darwin_output_aligned_bss): Likewise.
+
+2020-10-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97359
+       * gimple-range-gori.cc (logical_stmt_cache::cacheable_p): Only
+       handle ANDs and ORs.
+       (gori_compute_cache::cache_stmt): Adjust comment.
+
+2020-10-09  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/97313
+       * lra-constraints.c (match_reload): Don't keep strict_low_part in
+       reloads for non-registers.
+
+2020-10-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97148
+       * config.gcc (extra_headers): Add x86gprintrin.h.
+       * config/i386/adxintrin.h: Check _X86GPRINTRIN_H_INCLUDED for
+       <x86gprintrin.h>.
+       * config/i386/bmi2intrin.h: Likewise.
+       * config/i386/bmiintrin.h: Likewise.
+       * config/i386/cetintrin.h: Likewise.
+       * config/i386/cldemoteintrin.h: Likewise.
+       * config/i386/clflushoptintrin.h: Likewise.
+       * config/i386/clwbintrin.h: Likewise.
+       * config/i386/enqcmdintrin.h: Likewise.
+       * config/i386/fxsrintrin.h: Likewise.
+       * config/i386/ia32intrin.h: Likewise.
+       * config/i386/lwpintrin.h: Likewise.
+       * config/i386/lzcntintrin.h: Likewise.
+       * config/i386/movdirintrin.h: Likewise.
+       * config/i386/pconfigintrin.h: Likewise.
+       * config/i386/pkuintrin.h: Likewise.
+       * config/i386/rdseedintrin.h: Likewise.
+       * config/i386/rtmintrin.h: Likewise.
+       * config/i386/serializeintrin.h: Likewise.
+       * config/i386/tbmintrin.h: Likewise.
+       * config/i386/tsxldtrkintrin.h: Likewise.
+       * config/i386/waitpkgintrin.h: Likewise.
+       * config/i386/wbnoinvdintrin.h: Likewise.
+       * config/i386/xsavecintrin.h: Likewise.
+       * config/i386/xsaveintrin.h: Likewise.
+       * config/i386/xsaveoptintrin.h: Likewise.
+       * config/i386/xsavesintrin.h: Likewise.
+       * config/i386/xtestintrin.h: Likewise.
+       * config/i386/immintrin.h: Include <x86gprintrin.h> instead of
+       <fxsrintrin.h>, <xsaveintrin.h>, <xsaveoptintrin.h>,
+       <xsavesintrin.h>, <xsavecintrin.h>, <lzcntintrin.h>,
+       <bmiintrin.h>, <bmi2intrin.h>, <xtestintrin.h>, <cetintrin.h>,
+       <movdirintrin.h>, <sgxintrin.h, <pconfigintrin.h>,
+       <waitpkgintrin.h>, <cldemoteintrin.h>, <enqcmdintrin.h>,
+       <serializeintrin.h>, <tsxldtrkintrin.h>, <adxintrin.h>,
+       <clwbintrin.h>, <clflushoptintrin.h>, <wbnoinvdintrin.h> and
+       <pkuintrin.h>.
+       (_wbinvd): Moved to config/i386/x86gprintrin.h.
+       (_rdrand16_step): Likewise.
+       (_rdrand32_step): Likewise.
+       (_rdpid_u32): Likewise.
+       (_readfsbase_u32): Likewise.
+       (_readfsbase_u64): Likewise.
+       (_readgsbase_u32): Likewise.
+       (_readgsbase_u64): Likewise.
+       (_writefsbase_u32): Likewise.
+       (_writefsbase_u64): Likewise.
+       (_writegsbase_u32): Likewise.
+       (_writegsbase_u64): Likewise.
+       (_rdrand64_step): Likewise.
+       (_ptwrite64): Likewise.
+       (_ptwrite32): Likewise.
+       * config/i386/x86gprintrin.h: New file.
+       * config/i386/x86intrin.h: Include <x86gprintrin.h>.  Don't
+       include <ia32intrin.h>, <lwpintrin.h>, <tbmintrin.h>,
+       <popcntintrin.h>, <mwaitxintrin.h> and <clzerointrin.h>.
+
+2020-10-09  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97348
+       * config/nvptx/nvptx.h (ASM_SPEC): Also pass -m to nvptx-as if
+       default is used.
+       * config/nvptx/nvptx.opt (misa): Init with PTX_ISA_SM35.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       * doc/sourcebuild.texi (vect_masked_load): Document.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97334
+       * tree-vect-slp.c (vect_build_slp_tree_1): Do not fatally
+       fail lanes other than zero when BB vectorizing.
+
+2020-10-09  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97292
+       PR ipa/97335
+       * ipa-modref-tree.h (copy_from): Drop summary in a
+       clone.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97347
+       * tree-vect-slp.c (vect_create_constant_vectors): Use
+       edge insertion when inserting on the fallthru edge,
+       appropriately insert at the start of BBs when inserting
+       after PHIs.
+
+2020-10-09  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/97317
+       * range-op.cc (operator_cast::op1_range): Handle casts where the precision
+       of the RHS is only 1 greater than the precision of the LHS.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       * cgraphunit.c (expand_all_functions): Free tp_first_run_order.
+       * ipa-modref.c (pass_ipa_modref::execute): Free order.
+       * tree-ssa-loop-niter.c (estimate_numbers_of_iterations): Free
+       loop body.
+       * tree-vect-data-refs.c (vect_find_stmt_data_reference): Free
+       data references upon failure.
+       * tree-vect-loop.c (update_epilogue_loop_vinfo): Free BBs
+       array of the original loop.
+       * tree-vect-slp.c (vect_slp_bbs): Use an auto_vec for
+       dataref_groups to release its memory.
+
+2020-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/94801
+       PR target/97312
+       * vr-values.c (vr_values::extract_range_basic) <CASE_CFN_CLZ,
+       CASE_CFN_CTZ>: When stmt is not an internal-fn call or
+       C?Z_DEFINED_VALUE_AT_ZERO is not 2, assume argument is not zero
+       and thus use [0, prec-1] range unless it can be further improved.
+       For CTZ, don't update maxi from upper bound if it was previously prec.
+       * gimple-range.cc (gimple_ranger::range_of_builtin_call) <CASE_CFN_CLZ,
+       CASE_CFN_CTZ>: Likewise.
+
+2020-10-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97325
+       * match.pd (FFS(nonzero) -> CTZ(nonzero) + 1): Cast argument to
+       corresponding unsigned type.
+
+2020-10-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_create_constant_vectors): Properly insert
+       after PHIs.
+
+2020-10-08  Alexandre Oliva  <oliva@adacore.com>
+
+       * builtins.c (mathfn_built_in_type): New.
+       * builtins.h (mathfn_built_in_type): Declare.
+       * tree-ssa-math-opts.c (execute_cse_sincos_1): Use it to
+       obtain the type expected by the intrinsic.
+
+2020-10-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (BU_P10_MISC_2): Rename
+       to BU_P10_POWERPC64_MISC_2.
+       CFUGED, CNTLZDM, CNTTZDM, PDEPD, PEXTD): Call renamed macro.
+
+2020-10-08  Jan Hubicka  <jh@suse.cz>
+
+       * tree-nrv.c (dest_safe_for_nrv_p): Disable tbaa in
+       call_may_clobber_ref_p and ref_maybe_used_by_stmt_p.
+       * tree-tailcall.c (find_tail_calls): Likewise.
+       * tree-ssa-alias.c (call_may_clobber_ref_p): Add tbaa_p parameter.
+       * tree-ssa-alias.h (call_may_clobber_ref_p): Update prototype.
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Pass data->tbaa_p
+       to call_may_clobber_ref_p_1.
+
+2020-10-08  Mark Wielaard  <mark@klomp.org>
+
+       * dwarf2out.c (dwarf2out_finish): Emit .file 0 entry when
+       generating DWARF5 .debug_line table through gas.
+
+2020-10-08  John Henning  <john.henning@oracle.com>
+
+       PR other/97309
+       * doc/invoke.texi: Improve documentation of
+       -fallow-store-data-races.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * config/arm/arm_mve.h (__arm_vcvtnq_u32_f32): New.
+
+2020-10-08  Martin Liska  <mliska@suse.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_bb_vec_info::const_iterator): Remove.
+       (_bb_vec_info::const_reverse_iterator): Likewise.
+       (_bb_vec_info::region_stmts): Likewise.
+       (_bb_vec_info::reverse_region_stmts): Likewise.
+       (_bb_vec_info::_bb_vec_info): Adjust.
+       (_bb_vec_info::bb): Remove.
+       (_bb_vec_info::region_begin): Remove.
+       (_bb_vec_info::region_end): Remove.
+       (_bb_vec_info::bbs): New vector of BBs.
+       (vect_slp_function): Declare.
+       * tree-vect-patterns.c (vect_determine_precisions): Use
+       regular stmt iteration.
+       (vect_pattern_recog): Likewise.
+       * tree-vect-slp.c: Include cfganal.h, tree-eh.h and tree-cfg.h.
+       (vect_build_slp_tree_1): Properly refuse to vectorize
+       volatile and throwing stmts.
+       (vect_build_slp_tree_2): Pass group-size down to
+       get_vectype_for_scalar_type.
+       (_bb_vec_info::_bb_vec_info): Use regular stmt iteration,
+       adjust for changed region specification.
+       (_bb_vec_info::~_bb_vec_info): Likewise.
+       (vect_slp_check_for_constructors): Likewise.
+       (vect_slp_region): Likewise.
+       (vect_slp_bbs): New worker operating on a vector of BBs.
+       (vect_slp_bb): Wrap it.
+       (vect_slp_function): New function splitting the function
+       into multi-BB regions.
+       (vect_create_constant_vectors): Handle the case of inserting
+       after a throwing def.
+       (vect_schedule_slp_instance): Adjust.
+       * tree-vectorizer.c (vec_info::remove_stmt): Simplify again.
+       (vec_info::insert_seq_on_entry): Adjust.
+       (pass_slp_vectorize::execute): Also init PHIs.  Call
+       vect_slp_function.
+
+2020-10-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97330
+       * tree-ssa-sink.c (statement_sink_location): Avoid skipping
+       PHIs when they dominate the insert location.
+
+2020-10-08  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (get_access): Fix handling of offsets.
+       * tree-ssa-alias.c (modref_may_conflict): Watch for overflows.
+
+2020-10-08  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.def (DEBUG_COUNTER): Add ipa_mod_ref debug counter.
+       * tree-ssa-alias.c (modref_may_conflict): Handle the counter.
+
+2020-10-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.c (try_vectorize_loop_1): Do not dump
+       "basic block vectorized".
+       (pass_slp_vectorize::execute): Likewise.
+       * tree-vect-slp.c (vect_analyze_slp_instance): Avoid
+       re-analyzing split single stmts.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * config/arm/arm_mve.h (vqrdmlashq_n_u8, vqrdmlashq_n_u16)
+       (vqrdmlashq_n_u32, vqrdmlahq_n_u8, vqrdmlahq_n_u16)
+       (vqrdmlahq_n_u32, vqdmlahq_n_u8, vqdmlahq_n_u16, vqdmlahq_n_u32)
+       (vmlaldavaxq_p_u16, vmlaldavaxq_p_u32): Remove.
+       * config/arm/arm_mve_builtins.def (vqrdmlashq_n_u, vqrdmlahq_n_u)
+       (vqdmlahq_n_u, vmlaldavaxq_p_u): Remove.
+       * config/arm/unspecs.md (VQDMLAHQ_N_U, VQRDMLAHQ_N_U)
+       (VQRDMLASHQ_N_U)
+       (VMLALDAVAXQ_P_U): Remove unspecs.
+       * config/arm/iterators.md (VQDMLAHQ_N_U, VQRDMLAHQ_N_U)
+       (VQRDMLASHQ_N_U, VMLALDAVAXQ_P_U): Remove attributes.
+       (VQDMLAHQ_N, VQRDMLAHQ_N, VQRDMLASHQ_N, VMLALDAVAXQ_P): Remove
+       unsigned variants from iterators.
+       * config/arm/mve.md (mve_vqdmlahq_n_<supf><mode>)
+       (mve_vqrdmlahq_n_<supf><mode>)
+       (mve_vqrdmlashq_n_<supf><mode>, mve_vmlaldavaxq_p_<supf><mode>):
+       Update comment.
+
+2020-10-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96914
+       * config/arm/arm_mve.h (vqdmlashq, vqdmlashq_m): Define.
+       * config/arm/arm_mve_builtins.def (vqdmlashq_n_s)
+       (vqdmlashq_m_n_s,): New.
+       * config/arm/unspecs.md (VQDMLASHQ_N_S, VQDMLASHQ_M_N_S): New
+       unspecs.
+       * config/arm/iterators.md (VQDMLASHQ_N_S, VQDMLASHQ_M_N_S): New
+       attributes.
+       (VQDMLASHQ_N): New iterator.
+       * config/arm/mve.md (mve_vqdmlashq_n_, mve_vqdmlashq_m_n_s): New
+       patterns.
+
+2020-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97322
+       * config/arm/arm.c (arm_expand_divmod_libfunc): Pass mode instead of
+       GET_MODE (op0) or GET_MODE (op1) to emit_library_call_value.
+
+2020-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97325
+       * gimple-range.cc (gimple_ranger::range_of_builtin_call): Handle
+       negative numbers in __builtin_ffs and __builtin_popcount.
+
+2020-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97315
+       * range-op.cc (value_range_with_overflow): Change any
+       non-overflow calculation in which both bounds are
+       overflow/underflow to be undefined.
+
+2020-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/97315
+       * gimple-ssa-evrp.c (hybrid_folder::choose_value): Removes the
+       trap and instead annotates the listing.
+
+2020-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/97294
+       * tree-cfg.c (move_block_to_fn): Call notice_special_calls on
+       call stmts being moved into dest_cfun.
+       * omp-low.c (lower_rec_input_clauses): Set cfun->calls_alloca when
+       adding __builtin_alloca_with_align call without gimplification.
+
+2020-10-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * common.opt (-fevrp-mode): Rename and move...
+       * params.opt (--param=evrp-mode): ...here.
+       * gimple-range.h (DEBUG_RANGE_CACHE): Use param_evrp_mode instead
+       of flag_evrp_mode.
+       * gimple-ssa-evrp.c (rvrp_folder): Same.
+       (hybrid_folder): Same.
+       (execute_early_vrp): Same.
+
+2020-10-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97307
+       * tree-ssa-sink.c (statement_sink_location): Change heuristic
+       for not skipping stores to look for virtual definitions
+       rather than uses.
+
+2020-10-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-range.h (irange_allocator::allocate): Allocate in two hunks
+       instead of using the variably-sized trailing array approach.
+
+2020-10-07  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fdiagnostics-plain-output): Add
+       -fdiagnostics-path-format=separate-events to list of
+       options injected by -fdiagnostics-plain-output.
+       * opts-common.c (decode_cmdline_options_to_array): Likewise.
+
+2020-10-07  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/96394
+       * ipa-prop.c (update_indirect_edges_after_inlining): Do not add
+       resolved speculation edges to vector of new direct edges even in
+       presence of multiple speculative direct edges for a single call.
+
+2020-10-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.md (unspec): Add UNSPEC_ADDPTR.
+       (addptrdi3): Add SGPR alternative.
+
+2020-10-07  Mark Wielaard  <mark@klomp.org>
+
+       * dwarf2out.c (add_filepath_AT_string): New function.
+       (asm_outputs_debug_line_str): Likewise.
+       (add_filename_attribute): Likewise.
+       (add_comp_dir_attribute): Call add_filepath_AT_string.
+       (gen_compile_unit_die): Call add_filename_attribute for name.
+       (init_sections_and_labels): Init debug_line_str_section when
+       asm_outputs_debug_line_str return true.
+       (dwarf2out_early_finish): Remove DW_AT_name and DW_AT_comp_dir
+       hack and call add_filename_attribute for the remap_debug_filename.
+
+2020-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac (HAVE_AS_GDWARF_5_DEBUG_FLAG,
+       HAVE_AS_WORKING_DWARF_4_FLAG): New tests.
+       * gcc.c (ASM_DEBUG_DWARF_OPTION): Define.
+       (ASM_DEBUG_SPEC): Use ASM_DEBUG_DWARF_OPTION instead of
+       "--gdwarf2".  Use %{cond:opt1;:opt2} style.
+       (ASM_DEBUG_OPTION_DWARF_OPT): Define.
+       (ASM_DEBUG_OPTION_SPEC): Define.
+       (asm_debug_option): New variable.
+       (asm_options): Add "%(asm_debug_option)".
+       (static_specs): Add asm_debug_option entry.
+       (static_spec_functions): Add dwarf-version-gt.
+       (debug_level_greater_than_spec_func): New function.
+       * config/darwin.h (ASM_DEBUG_OPTION_SPEC): Define.
+       * config/darwin9.h (ASM_DEBUG_OPTION_SPEC): Redefine.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+
+2020-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/97305
+       * optc-save-gen.awk: Don't declare mask variable if explicit_mask
+       array is not present.
+
+2020-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_simd): Don't emit MIN_EXPR and PLUS_EXPR
+       at the end of entry_bb and innermost init_bb, instead force arguments
+       for MIN_EXPR into temporaries in both cases and jump to a new bb that
+       performs MIN_EXPR and PLUS_EXPR.
+
+2020-10-07  Tom de Vries  <tdevries@suse.de>
+
+       * tree-ssa-loop-ch.c (ch_base::copy_headers): Add missing NULL test
+       for dump_file.
+
+2020-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * flag-types.h (enum evrp_mode): New enumerated type EVRP_MODE_*.
+       * common.opt (fevrp-mode): New undocumented flag.
+       * gimple-ssa-evrp.c: Include gimple-range.h
+       (class rvrp_folder): EVRP folding using ranger exclusively.
+       (rvrp_folder::rvrp_folder): New.
+       (rvrp_folder::~rvrp_folder): New.
+       (rvrp_folder::value_of_expr): New.  Use rangers value_of_expr.
+       (rvrp_folder::value_on_edge): New.  Use rangers value_on_edge.
+       (rvrp_folder::value_of_Stmt): New.  Use rangers value_of_stmt.
+       (rvrp_folder::fold_stmt): New.  Call the simplifier.
+       (class hybrid_folder): EVRP folding using both engines.
+       (hybrid_folder::hybrid_folder): New.
+       (hybrid_folder::~hybrid_folder): New.
+       (hybrid_folder::fold_stmt): New.  Simplify with one engne, then the
+       other.
+       (hybrid_folder::value_of_expr): New.  Use both value routines.
+       (hybrid_folder::value_on_edge): New.  Use both value routines.
+       (hybrid_folder::value_of_stmt): New.  Use both value routines.
+       (hybrid_folder::choose_value): New.  Choose between range_analzyer and
+       rangers values.
+       (execute_early_vrp): Choose a folder based on flag_evrp_mode.
+       * vr-values.c (simplify_using_ranges::fold_cond): Try range_of_stmt
+       first to see if it returns a value.
+       (simplify_using_ranges::simplify_switch_using_ranges): Return true if
+       any changes were made to the switch.
+
+2020-10-06  Andrew MacLeod  <amacleod@redhat.com>
+
+       * Makefile.in (OBJS): Add gimple-range*.o.
+       * gimple-range.h: New file.
+       * gimple-range.cc: New file.
+       * gimple-range-cache.h: New file.
+       * gimple-range-cache.cc: New file.
+       * gimple-range-edge.h: New file.
+       * gimple-range-edge.cc: New file.
+       * gimple-range-gori.h: New file.
+       * gimple-range-gori.cc: New file.
+
+2020-10-06  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/arm.c (arm_preferred_simd_mode): Enable MVE SIMD modes.
+
+2020-10-06  Tom de Vries  <tdevries@suse.de>
+
+       PR middle-end/90861
+       * gimplify.c (gimplify_bind_expr): Handle lookup in
+       oacc_declare_returns using key with decl-expr.
+
+2020-10-06  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/iterators.md (MVE_types): Move mode iterator from mve.md to
+       iterators.md.
+       (MVE_VLD_ST): Likewise.
+       (MVE_0): Likewise.
+       (MVE_1): Likewise.
+       (MVE_3): Likewise.
+       (MVE_2): Likewise.
+       (MVE_5): Likewise.
+       (MVE_6): Likewise.
+       (MVE_CNVT): Move mode attribute iterator from mve.md to iterators.md.
+       (MVE_LANES): Likewise.
+       (MVE_constraint): Likewise.
+       (MVE_constraint1): Likewise.
+       (MVE_constraint2): Likewise.
+       (MVE_constraint3): Likewise.
+       (MVE_pred): Likewise.
+       (MVE_pred1): Likewise.
+       (MVE_pred2): Likewise.
+       (MVE_pred3): Likewise.
+       (MVE_B_ELEM): Likewise.
+       (MVE_H_ELEM): Likewise.
+       (V_sz_elem1): Likewise.
+       (V_extr_elem): Likewise.
+       (earlyclobber_32): Likewise.
+       (supf): Move int attribute from mve.md to iterators.md.
+       (mode1): Likewise.
+       (VCVTQ_TO_F): Move int iterator from mve.md to iterators.md.
+       (VMVNQ_N): Likewise.
+       (VREV64Q): Likewise.
+       (VCVTQ_FROM_F): Likewise.
+       (VREV16Q): Likewise.
+       (VCVTAQ): Likewise.
+       (VMVNQ): Likewise.
+       (VDUPQ_N): Likewise.
+       (VCLZQ): Likewise.
+       (VADDVQ): Likewise.
+       (VREV32Q): Likewise.
+       (VMOVLBQ): Likewise.
+       (VMOVLTQ): Likewise.
+       (VCVTPQ): Likewise.
+       (VCVTNQ): Likewise.
+       (VCVTMQ): Likewise.
+       (VADDLVQ): Likewise.
+       (VCTPQ): Likewise.
+       (VCTPQ_M): Likewise.
+       (VCVTQ_N_TO_F): Likewise.
+       (VCREATEQ): Likewise.
+       (VSHRQ_N): Likewise.
+       (VCVTQ_N_FROM_F): Likewise.
+       (VADDLVQ_P): Likewise.
+       (VCMPNEQ): Likewise.
+       (VSHLQ): Likewise.
+       (VABDQ): Likewise.
+       (VADDQ_N): Likewise.
+       (VADDVAQ): Likewise.
+       (VADDVQ_P): Likewise.
+       (VANDQ): Likewise.
+       (VBICQ): Likewise.
+       (VBRSRQ_N): Likewise.
+       (VCADDQ_ROT270): Likewise.
+       (VCADDQ_ROT90): Likewise.
+       (VCMPEQQ): Likewise.
+       (VCMPEQQ_N): Likewise.
+       (VCMPNEQ_N): Likewise.
+       (VEORQ): Likewise.
+       (VHADDQ): Likewise.
+       (VHADDQ_N): Likewise.
+       (VHSUBQ): Likewise.
+       (VHSUBQ_N): Likewise.
+       (VMAXQ): Likewise.
+       (VMAXVQ): Likewise.
+       (VMINQ): Likewise.
+       (VMINVQ): Likewise.
+       (VMLADAVQ): Likewise.
+       (VMULHQ): Likewise.
+       (VMULLBQ_INT): Likewise.
+       (VMULLTQ_INT): Likewise.
+       (VMULQ): Likewise.
+       (VMULQ_N): Likewise.
+       (VORNQ): Likewise.
+       (VORRQ): Likewise.
+       (VQADDQ): Likewise.
+       (VQADDQ_N): Likewise.
+       (VQRSHLQ): Likewise.
+       (VQRSHLQ_N): Likewise.
+       (VQSHLQ): Likewise.
+       (VQSHLQ_N): Likewise.
+       (VQSHLQ_R): Likewise.
+       (VQSUBQ): Likewise.
+       (VQSUBQ_N): Likewise.
+       (VRHADDQ): Likewise.
+       (VRMULHQ): Likewise.
+       (VRSHLQ): Likewise.
+       (VRSHLQ_N): Likewise.
+       (VRSHRQ_N): Likewise.
+       (VSHLQ_N): Likewise.
+       (VSHLQ_R): Likewise.
+       (VSUBQ): Likewise.
+       (VSUBQ_N): Likewise.
+       (VADDLVAQ): Likewise.
+       (VBICQ_N): Likewise.
+       (VMLALDAVQ): Likewise.
+       (VMLALDAVXQ): Likewise.
+       (VMOVNBQ): Likewise.
+       (VMOVNTQ): Likewise.
+       (VORRQ_N): Likewise.
+       (VQMOVNBQ): Likewise.
+       (VQMOVNTQ): Likewise.
+       (VSHLLBQ_N): Likewise.
+       (VSHLLTQ_N): Likewise.
+       (VRMLALDAVHQ): Likewise.
+       (VBICQ_M_N): Likewise.
+       (VCVTAQ_M): Likewise.
+       (VCVTQ_M_TO_F): Likewise.
+       (VQRSHRNBQ_N): Likewise.
+       (VABAVQ): Likewise.
+       (VSHLCQ): Likewise.
+       (VRMLALDAVHAQ): Likewise.
+       (VADDVAQ_P): Likewise.
+       (VCLZQ_M): Likewise.
+       (VCMPEQQ_M_N): Likewise.
+       (VCMPEQQ_M): Likewise.
+       (VCMPNEQ_M_N): Likewise.
+       (VCMPNEQ_M): Likewise.
+       (VDUPQ_M_N): Likewise.
+       (VMAXVQ_P): Likewise.
+       (VMINVQ_P): Likewise.
+       (VMLADAVAQ): Likewise.
+       (VMLADAVQ_P): Likewise.
+       (VMLAQ_N): Likewise.
+       (VMLASQ_N): Likewise.
+       (VMVNQ_M): Likewise.
+       (VPSELQ): Likewise.
+       (VQDMLAHQ_N): Likewise.
+       (VQRDMLAHQ_N): Likewise.
+       (VQRDMLASHQ_N): Likewise.
+       (VQRSHLQ_M_N): Likewise.
+       (VQSHLQ_M_R): Likewise.
+       (VREV64Q_M): Likewise.
+       (VRSHLQ_M_N): Likewise.
+       (VSHLQ_M_R): Likewise.
+       (VSLIQ_N): Likewise.
+       (VSRIQ_N): Likewise.
+       (VMLALDAVQ_P): Likewise.
+       (VQMOVNBQ_M): Likewise.
+       (VMOVLTQ_M): Likewise.
+       (VMOVNBQ_M): Likewise.
+       (VRSHRNTQ_N): Likewise.
+       (VORRQ_M_N): Likewise.
+       (VREV32Q_M): Likewise.
+       (VREV16Q_M): Likewise.
+       (VQRSHRNTQ_N): Likewise.
+       (VMOVNTQ_M): Likewise.
+       (VMOVLBQ_M): Likewise.
+       (VMLALDAVAQ): Likewise.
+       (VQSHRNBQ_N): Likewise.
+       (VSHRNBQ_N): Likewise.
+       (VRSHRNBQ_N): Likewise.
+       (VMLALDAVXQ_P): Likewise.
+       (VQMOVNTQ_M): Likewise.
+       (VMVNQ_M_N): Likewise.
+       (VQSHRNTQ_N): Likewise.
+       (VMLALDAVAXQ): Likewise.
+       (VSHRNTQ_N): Likewise.
+       (VCVTMQ_M): Likewise.
+       (VCVTNQ_M): Likewise.
+       (VCVTPQ_M): Likewise.
+       (VCVTQ_M_N_FROM_F): Likewise.
+       (VCVTQ_M_FROM_F): Likewise.
+       (VRMLALDAVHQ_P): Likewise.
+       (VADDLVAQ_P): Likewise.
+       (VABAVQ_P): Likewise.
+       (VSHLQ_M): Likewise.
+       (VSRIQ_M_N): Likewise.
+       (VSUBQ_M): Likewise.
+       (VCVTQ_M_N_TO_F): Likewise.
+       (VHSUBQ_M): Likewise.
+       (VSLIQ_M_N): Likewise.
+       (VRSHLQ_M): Likewise.
+       (VMINQ_M): Likewise.
+       (VMULLBQ_INT_M): Likewise.
+       (VMULHQ_M): Likewise.
+       (VMULQ_M): Likewise.
+       (VHSUBQ_M_N): Likewise.
+       (VHADDQ_M_N): Likewise.
+       (VORRQ_M): Likewise.
+       (VRMULHQ_M): Likewise.
+       (VQADDQ_M): Likewise.
+       (VRSHRQ_M_N): Likewise.
+       (VQSUBQ_M_N): Likewise.
+       (VADDQ_M): Likewise.
+       (VORNQ_M): Likewise.
+       (VRHADDQ_M): Likewise.
+       (VQSHLQ_M): Likewise.
+       (VANDQ_M): Likewise.
+       (VBICQ_M): Likewise.
+       (VSHLQ_M_N): Likewise.
+       (VCADDQ_ROT270_M): Likewise.
+       (VQRSHLQ_M): Likewise.
+       (VQADDQ_M_N): Likewise.
+       (VADDQ_M_N): Likewise.
+       (VMAXQ_M): Likewise.
+       (VQSUBQ_M): Likewise.
+       (VMLASQ_M_N): Likewise.
+       (VMLADAVAQ_P): Likewise.
+       (VBRSRQ_M_N): Likewise.
+       (VMULQ_M_N): Likewise.
+       (VCADDQ_ROT90_M): Likewise.
+       (VMULLTQ_INT_M): Likewise.
+       (VEORQ_M): Likewise.
+       (VSHRQ_M_N): Likewise.
+       (VSUBQ_M_N): Likewise.
+       (VHADDQ_M): Likewise.
+       (VABDQ_M): Likewise.
+       (VMLAQ_M_N): Likewise.
+       (VQSHLQ_M_N): Likewise.
+       (VMLALDAVAQ_P): Likewise.
+       (VMLALDAVAXQ_P): Likewise.
+       (VQRSHRNBQ_M_N): Likewise.
+       (VQRSHRNTQ_M_N): Likewise.
+       (VQSHRNBQ_M_N): Likewise.
+       (VQSHRNTQ_M_N): Likewise.
+       (VRSHRNBQ_M_N): Likewise.
+       (VRSHRNTQ_M_N): Likewise.
+       (VSHLLBQ_M_N): Likewise.
+       (VSHLLTQ_M_N): Likewise.
+       (VSHRNBQ_M_N): Likewise.
+       (VSHRNTQ_M_N): Likewise.
+       (VSTRWSBQ): Likewise.
+       (VSTRBSOQ): Likewise.
+       (VSTRBQ): Likewise.
+       (VLDRBGOQ): Likewise.
+       (VLDRBQ): Likewise.
+       (VLDRWGBQ): Likewise.
+       (VLD1Q): Likewise.
+       (VLDRHGOQ): Likewise.
+       (VLDRHGSOQ): Likewise.
+       (VLDRHQ): Likewise.
+       (VLDRWQ): Likewise.
+       (VLDRDGBQ): Likewise.
+       (VLDRDGOQ): Likewise.
+       (VLDRDGSOQ): Likewise.
+       (VLDRWGOQ): Likewise.
+       (VLDRWGSOQ): Likewise.
+       (VST1Q): Likewise.
+       (VSTRHSOQ): Likewise.
+       (VSTRHSSOQ): Likewise.
+       (VSTRHQ): Likewise.
+       (VSTRWQ): Likewise.
+       (VSTRDSBQ): Likewise.
+       (VSTRDSOQ): Likewise.
+       (VSTRDSSOQ): Likewise.
+       (VSTRWSOQ): Likewise.
+       (VSTRWSSOQ): Likewise.
+       (VSTRWSBWBQ): Likewise.
+       (VLDRWGBWBQ): Likewise.
+       (VSTRDSBWBQ): Likewise.
+       (VLDRDGBWBQ): Likewise.
+       (VADCIQ): Likewise.
+       (VADCIQ_M): Likewise.
+       (VSBCQ): Likewise.
+       (VSBCQ_M): Likewise.
+       (VSBCIQ): Likewise.
+       (VSBCIQ_M): Likewise.
+       (VADCQ): Likewise.
+       (VADCQ_M): Likewise.
+       (UQRSHLLQ): Likewise.
+       (SQRSHRLQ): Likewise.
+       (VSHLCQ_M): Likewise.
+       * config/arm/mve.md (MVE_types): Move mode iterator to iterators.md from mve.md.
+       (MVE_VLD_ST): Likewise.
+       (MVE_0): Likewise.
+       (MVE_1): Likewise.
+       (MVE_3): Likewise.
+       (MVE_2): Likewise.
+       (MVE_5): Likewise.
+       (MVE_6): Likewise.
+       (MVE_CNVT): Move mode attribute iterator to iterators.md from mve.md.
+       (MVE_LANES): Likewise.
+       (MVE_constraint): Likewise.
+       (MVE_constraint1): Likewise.
+       (MVE_constraint2): Likewise.
+       (MVE_constraint3): Likewise.
+       (MVE_pred): Likewise.
+       (MVE_pred1): Likewise.
+       (MVE_pred2): Likewise.
+       (MVE_pred3): Likewise.
+       (MVE_B_ELEM): Likewise.
+       (MVE_H_ELEM): Likewise.
+       (V_sz_elem1): Likewise.
+       (V_extr_elem): Likewise.
+       (earlyclobber_32): Likewise.
+       (supf): Move int attribute to iterators.md from mve.md.
+       (mode1): Likewise.
+       (VCVTQ_TO_F): Move int iterator to iterators.md from mve.md.
+       (VMVNQ_N): Likewise.
+       (VREV64Q): Likewise.
+       (VCVTQ_FROM_F): Likewise.
+       (VREV16Q): Likewise.
+       (VCVTAQ): Likewise.
+       (VMVNQ): Likewise.
+       (VDUPQ_N): Likewise.
+       (VCLZQ): Likewise.
+       (VADDVQ): Likewise.
+       (VREV32Q): Likewise.
+       (VMOVLBQ): Likewise.
+       (VMOVLTQ): Likewise.
+       (VCVTPQ): Likewise.
+       (VCVTNQ): Likewise.
+       (VCVTMQ): Likewise.
+       (VADDLVQ): Likewise.
+       (VCTPQ): Likewise.
+       (VCTPQ_M): Likewise.
+       (VCVTQ_N_TO_F): Likewise.
+       (VCREATEQ): Likewise.
+       (VSHRQ_N): Likewise.
+       (VCVTQ_N_FROM_F): Likewise.
+       (VADDLVQ_P): Likewise.
+       (VCMPNEQ): Likewise.
+       (VSHLQ): Likewise.
+       (VABDQ): Likewise.
+       (VADDQ_N): Likewise.
+       (VADDVAQ): Likewise.
+       (VADDVQ_P): Likewise.
+       (VANDQ): Likewise.
+       (VBICQ): Likewise.
+       (VBRSRQ_N): Likewise.
+       (VCADDQ_ROT270): Likewise.
+       (VCADDQ_ROT90): Likewise.
+       (VCMPEQQ): Likewise.
+       (VCMPEQQ_N): Likewise.
+       (VCMPNEQ_N): Likewise.
+       (VEORQ): Likewise.
+       (VHADDQ): Likewise.
+       (VHADDQ_N): Likewise.
+       (VHSUBQ): Likewise.
+       (VHSUBQ_N): Likewise.
+       (VMAXQ): Likewise.
+       (VMAXVQ): Likewise.
+       (VMINQ): Likewise.
+       (VMINVQ): Likewise.
+       (VMLADAVQ): Likewise.
+       (VMULHQ): Likewise.
+       (VMULLBQ_INT): Likewise.
+       (VMULLTQ_INT): Likewise.
+       (VMULQ): Likewise.
+       (VMULQ_N): Likewise.
+       (VORNQ): Likewise.
+       (VORRQ): Likewise.
+       (VQADDQ): Likewise.
+       (VQADDQ_N): Likewise.
+       (VQRSHLQ): Likewise.
+       (VQRSHLQ_N): Likewise.
+       (VQSHLQ): Likewise.
+       (VQSHLQ_N): Likewise.
+       (VQSHLQ_R): Likewise.
+       (VQSUBQ): Likewise.
+       (VQSUBQ_N): Likewise.
+       (VRHADDQ): Likewise.
+       (VRMULHQ): Likewise.
+       (VRSHLQ): Likewise.
+       (VRSHLQ_N): Likewise.
+       (VRSHRQ_N): Likewise.
+       (VSHLQ_N): Likewise.
+       (VSHLQ_R): Likewise.
+       (VSUBQ): Likewise.
+       (VSUBQ_N): Likewise.
+       (VADDLVAQ): Likewise.
+       (VBICQ_N): Likewise.
+       (VMLALDAVQ): Likewise.
+       (VMLALDAVXQ): Likewise.
+       (VMOVNBQ): Likewise.
+       (VMOVNTQ): Likewise.
+       (VORRQ_N): Likewise.
+       (VQMOVNBQ): Likewise.
+       (VQMOVNTQ): Likewise.
+       (VSHLLBQ_N): Likewise.
+       (VSHLLTQ_N): Likewise.
+       (VRMLALDAVHQ): Likewise.
+       (VBICQ_M_N): Likewise.
+       (VCVTAQ_M): Likewise.
+       (VCVTQ_M_TO_F): Likewise.
+       (VQRSHRNBQ_N): Likewise.
+       (VABAVQ): Likewise.
+       (VSHLCQ): Likewise.
+       (VRMLALDAVHAQ): Likewise.
+       (VADDVAQ_P): Likewise.
+       (VCLZQ_M): Likewise.
+       (VCMPEQQ_M_N): Likewise.
+       (VCMPEQQ_M): Likewise.
+       (VCMPNEQ_M_N): Likewise.
+       (VCMPNEQ_M): Likewise.
+       (VDUPQ_M_N): Likewise.
+       (VMAXVQ_P): Likewise.
+       (VMINVQ_P): Likewise.
+       (VMLADAVAQ): Likewise.
+       (VMLADAVQ_P): Likewise.
+       (VMLAQ_N): Likewise.
+       (VMLASQ_N): Likewise.
+       (VMVNQ_M): Likewise.
+       (VPSELQ): Likewise.
+       (VQDMLAHQ_N): Likewise.
+       (VQRDMLAHQ_N): Likewise.
+       (VQRDMLASHQ_N): Likewise.
+       (VQRSHLQ_M_N): Likewise.
+       (VQSHLQ_M_R): Likewise.
+       (VREV64Q_M): Likewise.
+       (VRSHLQ_M_N): Likewise.
+       (VSHLQ_M_R): Likewise.
+       (VSLIQ_N): Likewise.
+       (VSRIQ_N): Likewise.
+       (VMLALDAVQ_P): Likewise.
+       (VQMOVNBQ_M): Likewise.
+       (VMOVLTQ_M): Likewise.
+       (VMOVNBQ_M): Likewise.
+       (VRSHRNTQ_N): Likewise.
+       (VORRQ_M_N): Likewise.
+       (VREV32Q_M): Likewise.
+       (VREV16Q_M): Likewise.
+       (VQRSHRNTQ_N): Likewise.
+       (VMOVNTQ_M): Likewise.
+       (VMOVLBQ_M): Likewise.
+       (VMLALDAVAQ): Likewise.
+       (VQSHRNBQ_N): Likewise.
+       (VSHRNBQ_N): Likewise.
+       (VRSHRNBQ_N): Likewise.
+       (VMLALDAVXQ_P): Likewise.
+       (VQMOVNTQ_M): Likewise.
+       (VMVNQ_M_N): Likewise.
+       (VQSHRNTQ_N): Likewise.
+       (VMLALDAVAXQ): Likewise.
+       (VSHRNTQ_N): Likewise.
+       (VCVTMQ_M): Likewise.
+       (VCVTNQ_M): Likewise.
+       (VCVTPQ_M): Likewise.
+       (VCVTQ_M_N_FROM_F): Likewise.
+       (VCVTQ_M_FROM_F): Likewise.
+       (VRMLALDAVHQ_P): Likewise.
+       (VADDLVAQ_P): Likewise.
+       (VABAVQ_P): Likewise.
+       (VSHLQ_M): Likewise.
+       (VSRIQ_M_N): Likewise.
+       (VSUBQ_M): Likewise.
+       (VCVTQ_M_N_TO_F): Likewise.
+       (VHSUBQ_M): Likewise.
+       (VSLIQ_M_N): Likewise.
+       (VRSHLQ_M): Likewise.
+       (VMINQ_M): Likewise.
+       (VMULLBQ_INT_M): Likewise.
+       (VMULHQ_M): Likewise.
+       (VMULQ_M): Likewise.
+       (VHSUBQ_M_N): Likewise.
+       (VHADDQ_M_N): Likewise.
+       (VORRQ_M): Likewise.
+       (VRMULHQ_M): Likewise.
+       (VQADDQ_M): Likewise.
+       (VRSHRQ_M_N): Likewise.
+       (VQSUBQ_M_N): Likewise.
+       (VADDQ_M): Likewise.
+       (VORNQ_M): Likewise.
+       (VRHADDQ_M): Likewise.
+       (VQSHLQ_M): Likewise.
+       (VANDQ_M): Likewise.
+       (VBICQ_M): Likewise.
+       (VSHLQ_M_N): Likewise.
+       (VCADDQ_ROT270_M): Likewise.
+       (VQRSHLQ_M): Likewise.
+       (VQADDQ_M_N): Likewise.
+       (VADDQ_M_N): Likewise.
+       (VMAXQ_M): Likewise.
+       (VQSUBQ_M): Likewise.
+       (VMLASQ_M_N): Likewise.
+       (VMLADAVAQ_P): Likewise.
+       (VBRSRQ_M_N): Likewise.
+       (VMULQ_M_N): Likewise.
+       (VCADDQ_ROT90_M): Likewise.
+       (VMULLTQ_INT_M): Likewise.
+       (VEORQ_M): Likewise.
+       (VSHRQ_M_N): Likewise.
+       (VSUBQ_M_N): Likewise.
+       (VHADDQ_M): Likewise.
+       (VABDQ_M): Likewise.
+       (VMLAQ_M_N): Likewise.
+       (VQSHLQ_M_N): Likewise.
+       (VMLALDAVAQ_P): Likewise.
+       (VMLALDAVAXQ_P): Likewise.
+       (VQRSHRNBQ_M_N): Likewise.
+       (VQRSHRNTQ_M_N): Likewise.
+       (VQSHRNBQ_M_N): Likewise.
+       (VQSHRNTQ_M_N): Likewise.
+       (VRSHRNBQ_M_N): Likewise.
+       (VRSHRNTQ_M_N): Likewise.
+       (VSHLLBQ_M_N): Likewise.
+       (VSHLLTQ_M_N): Likewise.
+       (VSHRNBQ_M_N): Likewise.
+       (VSHRNTQ_M_N): Likewise.
+       (VSTRWSBQ): Likewise.
+       (VSTRBSOQ): Likewise.
+       (VSTRBQ): Likewise.
+       (VLDRBGOQ): Likewise.
+       (VLDRBQ): Likewise.
+       (VLDRWGBQ): Likewise.
+       (VLD1Q): Likewise.
+       (VLDRHGOQ): Likewise.
+       (VLDRHGSOQ): Likewise.
+       (VLDRHQ): Likewise.
+       (VLDRWQ): Likewise.
+       (VLDRDGBQ): Likewise.
+       (VLDRDGOQ): Likewise.
+       (VLDRDGSOQ): Likewise.
+       (VLDRWGOQ): Likewise.
+       (VLDRWGSOQ): Likewise.
+       (VST1Q): Likewise.
+       (VSTRHSOQ): Likewise.
+       (VSTRHSSOQ): Likewise.
+       (VSTRHQ): Likewise.
+       (VSTRWQ): Likewise.
+       (VSTRDSBQ): Likewise.
+       (VSTRDSOQ): Likewise.
+       (VSTRDSSOQ): Likewise.
+       (VSTRWSOQ): Likewise.
+       (VSTRWSSOQ): Likewise.
+       (VSTRWSBWBQ): Likewise.
+       (VLDRWGBWBQ): Likewise.
+       (VSTRDSBWBQ): Likewise.
+       (VLDRDGBWBQ): Likewise.
+       (VADCIQ): Likewise.
+       (VADCIQ_M): Likewise.
+       (VSBCQ): Likewise.
+       (VSBCQ_M): Likewise.
+       (VSBCIQ): Likewise.
+       (VSBCIQ_M): Likewise.
+       (VADCQ): Likewise.
+       (VADCQ_M): Likewise.
+       (UQRSHLLQ): Likewise.
+       (SQRSHRLQ): Likewise.
+       (VSHLCQ_M): Likewise.
+       (define_c_enum "unspec"): Move MVE enumerator to unspecs.md from mve.md.
+       * config/arm/unspecs.md (define_c_enum "unspec"): Move MVE enumerator from
+       mve.md to unspecs.md.
+
+2020-10-06  Martin Liska  <mliska@suse.cz>
+
+       * common.opt: Remove -fdbg-cnt-list from deferred options.
+       * dbgcnt.c (dbg_cnt_set_limit_by_index): Make a copy
+       to original_limits.
+       (dbg_cnt_list_all_counters): Print also current counter value
+       and print to stderr.
+       * opts-global.c (handle_common_deferred_options): Do not handle
+       -fdbg-cnt-list.
+       * opts.c (common_handle_option): Likewise.
+       * toplev.c (finalize): Handle it after compilation here.
+
+2020-10-06  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.c (dbg_cnt): Report also upper limit.
+
+2020-10-06  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (count_insns): Rename to ...
+       (analyze_bb): ... this.
+       (cache_can_duplicate_bb_p, cached_can_duplicate_bb_p): New function.
+       (ignore_bb_p): Use cached_can_duplicate_bb_p.
+       (tail_duplicate): Call cache_can_duplicate_bb_p.
+
+2020-10-06  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (can_duplicate_insn_p, can_duplicate_bb_no_insn_iter_p)
+       (can_duplicate_bb_p): New function, factored out of ...
+       (ignore_bb_p): ... here.
+
+2020-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/97282
+       * tree-ssa-math-opts.c (divmod_candidate_p): Don't return false for
+       constant op2 if it is not a power of two and the type has precision
+       larger than HOST_BITS_PER_WIDE_INT or BITS_PER_WORD.
+       * internal-fn.c (contains_call_div_mod): New function.
+       (expand_DIVMOD): If last argument is a constant, try to expand it as
+       TRUNC_DIV_EXPR followed by TRUNC_MOD_EXPR, but if the sequence
+       contains any calls or {,U}{DIV,MOD} rtxes, throw it away and use
+       divmod optab or divmod libfunc.
+
+2020-10-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (irange_allocator::allocate): Increase
+       newir storage by one.
+
+2020-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97289
+       * omp-offload.c (omp_discover_declare_target_tgt_fn_r): Only follow
+       node->alias_target if it is a FUNCTION_DECL.
+
+2020-10-06  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/arm/arm-cpus.in:
+       (ALL_FPU_INTERNAL): Remove vfp_base.
+       (VFPv2): Remove vfp_base.
+       (MVE): Remove vfp_base.
+       (vfp_base): Redefine as implied bit dependent on MVE or FP
+       (cortex-m55): Add flags to disable MVE, MVE FP, FP and DSP extensions.
+       * config/arm/arm.c (arm_configure_build_target): Add implied bits to ISA.
+       * config/arm/parsecpu.awk:
+       (gen_isa): Print implied bits and their dependencies to ISA header.
+       (gen_data): Add parsing for implied feature bits.
+
+2020-10-06  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * doc/invoke.texi: Add z15/arch13 to the list of documented
+       -march/-mtune options.
+
+2020-10-05  Dennis Zhang  <dennis.zhang@arm.com>
+
+       * config/arm/arm.c (arm_preferred_simd_mode): Enable MVE SIMD modes.
+
+2020-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.cc (irange::legacy_intersect): Only handle
+       legacy ranges.
+       (irange::legacy_union): Same.
+       (irange::union_): When unioning legacy with non-legacy,
+       first convert to legacy and do everything in legacy mode.
+       (irange::intersect): Same, but for intersect.
+       * range-op.cc (range_tests): Adjust for above changes.
+
+2020-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (operator_div::wi_fold): Return varying for
+       division by zero.
+       (class operator_rshift): Move class up.
+       (operator_abs::wi_fold): Return [-MIN,-MIN] for ABS([-MIN,-MIN]).
+       (operator_tests): Adjust tests.
+
+2020-10-05  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (ignore_bb_p): Ignore GOMP_SIMT_XCHG_*.
+
+2020-10-05  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in (neoverse-v1): Add missing vendor and
+       part numbers.
+
+2020-10-05  Tom de Vries  <tdevries@suse.de>
+
+       * tracer.c (ignore_bb_p): Remove incorrect suggestion.
+
+2020-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * opth-gen.awk: Don't emit explicit_mask array if n_target_explicit
+       is equal to n_target_explicit_mask.
+       * optc-save-gen.awk: Compute has_target_explicit_mask and if false,
+       don't emit code iterating over explicit_mask array elements.  Stream
+       also explicit_mask_* target members.
+
+2020-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple-ssa-store-merging.c
+       (imm_store_chain_info::output_merged_store): Use ~0U instead of ~0 in
+       unsigned int array initializer.
+
+2020-10-05  Tom de Vries  <tdevries@suse.de>
+
+       PR fortran/95654
+       * tracer.c (ignore_bb_p): Ignore GOMP_SIMT_ENTER_ALLOC,
+       GOMP_SIMT_VOTE_ANY and GOMP_SIMT_EXIT.
+
+2020-10-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * opth-gen.awk: For variables referenced in Mask and InverseMask,
+       don't use the explicit_mask bitmask array, but add separate
+       explicit_mask_* members with the same types as the variables.
+       * optc-save-gen.awk: Save, restore, compare and hash the separate
+       explicit_mask_* members.
+
+2020-10-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.c (test_insert_search_collapse): Update andling
+       of accesses.
+       (test_merge): Likewise.
+       * ipa-modref-tree.h (struct modref_access_node): Add offset, size,
+       max_size, parm_offset and parm_offset_known.
+       (modref_access_node::useful_p): Constify.
+       (modref_access_node::range_info_useful_p): New predicate.
+       (modref_access_node::operator==): New.
+       (struct modref_parm_map): New structure.
+       (modref_tree::merge): Update for racking parameters)
+       * ipa-modref.c (dump_access): Dump new fields.
+       (get_access): Fill in new fields.
+       (merge_call_side_effects): Update handling of parm map.
+       (write_modref_records): Stream new fields.
+       (read_modref_records): Stream new fields.
+       (compute_parm_map): Update for new parm map.
+       (ipa_merge_modref_summary_after_inlining): Update.
+       (modref_propagate_in_scc): Update.
+       * tree-ssa-alias.c (modref_may_conflict): Handle known ranges.
+
+2020-10-03  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR other/97280
+       * doc/extend.texi: Replace roudnevenl with roundevenl
+
+2020-10-02  David Edelsohn  <dje.gcc@gmail.com>
+           Andrew MacLeod  <amacleod@redhat.com>
+
+       * config/rs6000/rs6000.c: Include ssa.h. Reorder some headers.
+       * config/rs6000/rs6000-call.c: Same.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * params.opt (ipa-cp-large-unit-insns): New parameter.
+       * ipa-cp.c (get_max_overall_size): Use the new parameter.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (estimate_local_effects): Add overeall_size to dumped
+       string.
+       (decide_about_value): Add dumping new overall_size.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-fnsummary.h (ipa_freqcounting_predicate): New type.
+       (ipa_fn_summary): Change the type of loop_iterations and loop_strides
+       to vectors of ipa_freqcounting_predicate.
+       (ipa_fn_summary::ipa_fn_summary): Construct the new vectors.
+       (ipa_call_estimates): New fields loops_with_known_iterations and
+       loops_with_known_strides.
+       * ipa-cp.c (hint_time_bonus): Multiply param_ipa_cp_loop_hint_bonus
+       with the expected frequencies of loops with known iteration count or
+       stride.
+       * ipa-fnsummary.c (add_freqcounting_predicate): New function.
+       (ipa_fn_summary::~ipa_fn_summary): Release the new vectors instead of
+       just two predicates.
+       (remap_hint_predicate_after_duplication): Replace with function
+       remap_freqcounting_preds_after_dup.
+       (ipa_fn_summary_t::duplicate): Use it or duplicate new vectors.
+       (ipa_dump_fn_summary): Dump the new vectors.
+       (analyze_function_body): Compute the loop property vectors.
+       (ipa_call_context::estimate_size_and_time): Calculate also
+       loops_with_known_iterations and loops_with_known_strides.  Adjusted
+       dumping accordinly.
+       (remap_hint_predicate): Replace with function
+       remap_freqcounting_predicate.
+       (ipa_merge_fn_summary_after_inlining): Use it.
+       (inline_read_section): Stream loopcounting vectors instead of two
+       simple predicates.
+       (ipa_fn_summary_write): Likewise.
+       * params.opt (ipa-max-loop-predicates): New parameter.
+       * doc/invoke.texi (ipa-max-loop-predicates): Document new param.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-inline-analysis.c (do_estimate_edge_time): Adjusted to use
+       ipa_call_estimates.
+       (do_estimate_edge_size): Likewise.
+       (do_estimate_edge_hints): Likewise.
+       * ipa-fnsummary.h (struct ipa_call_estimates): New type.
+       (ipa_call_context::estimate_size_and_time): Adjusted declaration.
+       (estimate_ipcp_clone_size_and_time): Likewise.
+       * ipa-cp.c (hint_time_bonus): Changed the type of the second argument
+       to ipa_call_estimates.
+       (perform_estimation_of_a_value): Adjusted to use ipa_call_estimates.
+       (estimate_local_effects): Likewise.
+       * ipa-fnsummary.c (ipa_call_context::estimate_size_and_time): Adjusted
+       to return estimates in a single ipa_call_estimates parameter.
+       (estimate_ipcp_clone_size_and_time): Likewise.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-fnsummary.h (ipa_cached_call_context): New forward declaration
+       and class.
+       (class ipa_call_context): Make friend ipa_cached_call_context.  Moved
+       methods duplicate_from and release to it too.
+       * ipa-fnsummary.c (ipa_call_context::duplicate_from): Moved to class
+       ipa_cached_call_context.
+       (ipa_call_context::release): Likewise, removed the parameter.
+       * ipa-inline-analysis.c (node_context_cache_entry): Change the type of
+       ctx to ipa_cached_call_context.
+       (do_estimate_edge_time): Remove parameter from the call to
+       ipa_cached_call_context::release.
+
+2020-10-02  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (ipa_auto_call_arg_values): New type.
+       (class ipa_call_arg_values): Likewise.
+       (ipa_get_indirect_edge_target): Replaced vector arguments with
+       ipa_call_arg_values in declaration.  Added an overload for
+       ipa_auto_call_arg_values.
+       * ipa-fnsummary.h (ipa_call_context): Removed members m_known_vals,
+       m_known_contexts, m_known_aggs, duplicate_from, release and equal_to,
+       new members m_avals, store_to_cache and equivalent_to_p.  Adjusted
+       construcotr arguments.
+       (estimate_ipcp_clone_size_and_time): Replaced vector arguments
+       with ipa_auto_call_arg_values in declaration.
+       (evaluate_properties_for_edge): Likewise.
+       * ipa-cp.c (ipa_get_indirect_edge_target): Adjusted to work on
+       ipa_call_arg_values rather than on separate vectors.  Added an
+       overload for ipa_auto_call_arg_values.
+       (devirtualization_time_bonus): Adjusted to work on
+       ipa_auto_call_arg_values rather than on separate vectors.
+       (gather_context_independent_values): Adjusted to work on
+       ipa_auto_call_arg_values rather than on separate vectors.
+       (perform_estimation_of_a_value): Likewise.
+       (estimate_local_effects): Likewise.
+       (modify_known_vectors_with_val): Adjusted both variants to work on
+       ipa_auto_call_arg_values and rename them to
+       copy_known_vectors_add_val.
+       (decide_about_value): Adjusted to work on ipa_call_arg_values rather
+       than on separate vectors.
+       (decide_whether_version_node): Likewise.
+       * ipa-fnsummary.c (evaluate_conditions_for_known_args): Likewise.
+       (evaluate_properties_for_edge): Likewise.
+       (ipa_fn_summary_t::duplicate): Likewise.
+       (estimate_edge_devirt_benefit): Adjusted to work on
+       ipa_call_arg_values rather than on separate vectors.
+       (estimate_edge_size_and_time): Likewise.
+       (estimate_calls_size_and_time_1): Likewise.
+       (summarize_calls_size_and_time): Adjusted calls to
+       estimate_edge_size_and_time.
+       (estimate_calls_size_and_time): Adjusted to work on
+       ipa_call_arg_values rather than on separate vectors.
+       (ipa_call_context::ipa_call_context): Construct from a pointer to
+       ipa_auto_call_arg_values instead of inividual vectors.
+       (ipa_call_context::duplicate_from): Adjusted to access vectors within
+       m_avals.
+       (ipa_call_context::release): Likewise.
+       (ipa_call_context::equal_to): Likewise.
+       (ipa_call_context::estimate_size_and_time): Adjusted to work on
+       ipa_call_arg_values rather than on separate vectors.
+       (estimate_ipcp_clone_size_and_time): Adjusted to work with
+       ipa_auto_call_arg_values rather than on separate vectors.
+       (ipa_merge_fn_summary_after_inlining): Likewise.  Adjusted call to
+       estimate_edge_size_and_time.
+       (ipa_update_overall_fn_summary): Adjusted call to
+       estimate_edge_size_and_time.
+       * ipa-inline-analysis.c (do_estimate_edge_time): Adjusted to work with
+       ipa_auto_call_arg_values rather than with separate vectors.
+       (do_estimate_edge_size): Likewise.
+       (do_estimate_edge_hints): Likewise.
+       * ipa-prop.c (ipa_auto_call_arg_values::~ipa_auto_call_arg_values):
+       New destructor.
+
+2020-10-02  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vmaxnmavq): Remove coercion of scalar
+       argument.
+       (__arm_vmaxnmvq): Likewise.
+       (__arm_vminnmavq): Likewise.
+       (__arm_vminnmvq): Likewise.
+       (__arm_vmaxnmavq_p): Likewise.
+       (__arm_vmaxnmvq_p): Likewise (and delete duplicate definition).
+       (__arm_vminnmavq_p): Likewise.
+       (__arm_vminnmvq_p): Likewise.
+       (__arm_vmaxavq): Likewise.
+       (__arm_vmaxavq_p): Likewise.
+       (__arm_vmaxvq): Likewise.
+       (__arm_vmaxvq_p): Likewise.
+       (__arm_vminavq): Likewise.
+       (__arm_vminavq_p): Likewise.
+       (__arm_vminvq): Likewise.
+       (__arm_vminvq_p): Likewise.
+
+2020-10-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (neoversev1_tunings): Define.
+       * config/aarch64/aarch64-cores.def (zeus): Use it.
+       (neoverse-v1): Likewise.
+
+2020-10-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * attr-fnspec.h: Update documentation.
+       (attr_fnsec::return_desc_size): Set to 2
+       (attr_fnsec::arg_desc_size): Set to 2
+       * builtin-attrs.def (STR1): Update fnspec.
+       * internal-fn.def (UBSAN_NULL): Update fnspec.
+       (UBSAN_VPTR): Update fnspec.
+       (UBSAN_PTR): Update fnspec.
+       (ASAN_CHECK): Update fnspec.
+       (GOACC_DIM_SIZE): Remove fnspec.
+       (GOACC_DIM_POS): Remove fnspec.
+       * tree-ssa-alias.c (attr_fnspec::verify): Update verification.
+
+2020-10-02  Jan Hubicka  <jh@suse.cz>
+
+       * attr-fnspec.h: New file.
+       * calls.c (decl_return_flags): Use attr_fnspec.
+       * gimple.c (gimple_call_arg_flags): Use attr_fnspec.
+       (gimple_call_return_flags): Use attr_fnspec.
+       * tree-into-ssa.c (pass_build_ssa::execute): Use attr_fnspec.
+       * tree-ssa-alias.c (attr_fnspec::verify): New member fuction.
+
+2020-10-02  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-alias.c (ao_ref_init_from_ptr_and_range): Break out from ...
+       (ao_ref_init_from_ptr_and_size): ... here.
+
+2020-10-02  Jan Hubicka  <hubicka@ucw.cz>
+
+       * data-streamer-in.c (streamer_read_poly_int64): New function.
+       * data-streamer-out.c (streamer_write_poly_int64): New function.
+       * data-streamer.h (streamer_write_poly_int64): Declare.
+       (streamer_read_poly_int64): Declare.
+
+2020-10-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_sve_pred_dominates_p):
+       Delete.
+       * config/aarch64/aarch64.c (aarch64_sve_pred_dominates_p): Likewise.
+       * config/aarch64/aarch64-sve.md: Add banner comment describing
+       how merging predicated FP operations are represented.
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_UNARY:optab><mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_any_relaxed): ...this
+       and...
+       (*cond_<SVE_COND_FP_BINARY_INT:optab><mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_2_const): Split into...
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_2_const_relaxed): ...this
+       and...
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_2_const_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_3): Split into...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_3_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_3_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_BINARY:optab><mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_any_const): Split into...
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_any_const_relaxed): ...this
+       and...
+       (*cond_<SVE_COND_FP_BINARY_I1:optab><mode>_any_const_strict): ...this.
+       (*cond_add<mode>_2_const): Split into...
+       (*cond_add<mode>_2_const_relaxed): ...this and...
+       (*cond_add<mode>_2_const_strict): ...this.
+       (*cond_add<mode>_any_const): Split into...
+       (*cond_add<mode>_any_const_relaxed): ...this and...
+       (*cond_add<mode>_any_const_strict): ...this.
+       (*cond_<SVE_COND_FCADD:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FCADD:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FCADD:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FCADD:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FCADD:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FCADD:optab><mode>_any_strict): ...this.
+       (*cond_sub<mode>_3_const): Split into...
+       (*cond_sub<mode>_3_const_relaxed): ...this and...
+       (*cond_sub<mode>_3_const_strict): ...this.
+       (*aarch64_pred_abd<mode>): Split into...
+       (*aarch64_pred_abd<mode>_relaxed): ...this and...
+       (*aarch64_pred_abd<mode>_strict): ...this.
+       (*aarch64_cond_abd<mode>_2): Split into...
+       (*aarch64_cond_abd<mode>_2_relaxed): ...this and...
+       (*aarch64_cond_abd<mode>_2_strict): ...this.
+       (*aarch64_cond_abd<mode>_3): Split into...
+       (*aarch64_cond_abd<mode>_3_relaxed): ...this and...
+       (*aarch64_cond_abd<mode>_3_strict): ...this.
+       (*aarch64_cond_abd<mode>_any): Split into...
+       (*aarch64_cond_abd<mode>_any_relaxed): ...this and...
+       (*aarch64_cond_abd<mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_2): Split into...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_2_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_2_strict): ...this.
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_4): Split into...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_4_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_4_strict): ...this.
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FP_TERNARY:optab><mode>_any_strict): ...this.
+       (*cond_<SVE_COND_FCMLA:optab><mode>_4): Split into...
+       (*cond_<SVE_COND_FCMLA:optab><mode>_4_relaxed): ...this and...
+       (*cond_<SVE_COND_FCMLA:optab><mode>_4_strict): ...this.
+       (*cond_<SVE_COND_FCMLA:optab><mode>_any): Split into...
+       (*cond_<SVE_COND_FCMLA:optab><mode>_any_relaxed): ...this and...
+       (*cond_<SVE_COND_FCMLA:optab><mode>_any_strict): ...this.
+       (*aarch64_pred_fac<cmp_op><mode>): Split into...
+       (*aarch64_pred_fac<cmp_op><mode>_relaxed): ...this and...
+       (*aarch64_pred_fac<cmp_op><mode>_strict): ...this.
+       (*cond_<optab>_nontrunc<SVE_FULL_F:mode><SVE_FULL_HSDI:mode>): Split
+       into...
+       (*cond_<optab>_nontrunc<SVE_FULL_F:mode><SVE_FULL_HSDI:mode>_relaxed):
+       ...this and...
+       (*cond_<optab>_nontrunc<SVE_FULL_F:mode><SVE_FULL_HSDI:mode>_strict):
+       ...this.
+       (*cond_<optab>_nonextend<SVE_FULL_HSDI:mode><SVE_FULL_F:mode>): Split
+       into...
+       (*cond_<optab>_nonextend<SVE_FULL_HSDI:mode><SVE_FULL_F:mode>_relaxed):
+       ...this and...
+       (*cond_<optab>_nonextend<SVE_FULL_HSDI:mode><SVE_FULL_F:mode>_strict):
+       ...this.
+       * config/aarch64/aarch64-sve2.md
+       (*cond_<SVE2_COND_FP_UNARY_LONG:optab><mode>): Split into...
+       (*cond_<SVE2_COND_FP_UNARY_LONG:optab><mode>_relaxed): ...this and...
+       (*cond_<SVE2_COND_FP_UNARY_LONG:optab><mode>_strict): ...this.
+       (*cond_<SVE2_COND_FP_UNARY_NARROWB:optab><mode>_any): Split into...
+       (*cond_<SVE2_COND_FP_UNARY_NARROWB:optab><mode>_any_relaxed): ...this
+       and...
+       (*cond_<SVE2_COND_FP_UNARY_NARROWB:optab><mode>_any_strict): ...this.
+       (*cond_<SVE2_COND_INT_UNARY_FP:optab><mode>): Split into...
+       (*cond_<SVE2_COND_INT_UNARY_FP:optab><mode>_relaxed): ...this and...
+       (*cond_<SVE2_COND_INT_UNARY_FP:optab><mode>_strict): ...this.
+
+2020-10-02  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/neon.md (*sub<VDQ:mode>3_neon): Use the new mode macros
+       for the insn condition.
+       (sub<VH:mode>3, *mul<VDQW:mode>3_neon): Likewise.
+       (mul<VDQW:mode>3add<VDQW:mode>_neon): Likewise.
+       (mul<VH:mode>3add<VH:mode>_neon): Likewise.
+       (mul<VDQW:mode>3neg<VDQW:mode>add<VDQW:mode>_neon): Likewise.
+       (fma<VCVTF:mode>4, fma<VH:mode>4, *fmsub<VCVTF:mode>4): Likewise.
+       (quad_halves_<code>v4sf, reduc_plus_scal_<VD:mode>): Likewise.
+       (reduc_plus_scal_<VQ:mode>, reduc_smin_scal_<VD:mode>): Likewise.
+       (reduc_smin_scal_<VQ:mode>, reduc_smax_scal_<VD:mode>): Likewise.
+       (reduc_smax_scal_<VQ:mode>, mul<VH:mode>3): Likewise.
+       (neon_vabd<VF:mode>_2, neon_vabd<VF:mode>_3): Likewise.
+       (fma<VH:mode>4_intrinsic): Delete.
+       (neon_vadd<VCVTF:mode>): Use the new mode macros to decide which
+       form of instruction to generate.
+       (neon_vmla<VDQW:mode>, neon_vmls<VDQW:mode>): Likewise.
+       (neon_vsub<VCVTF:mode>): Likewise.
+       (neon_vfma<VH:mode>): Generate the main fma<mode>4 form instead
+       of using fma<mode>4_intrinsic.
+
+2020-10-02  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/97193
+       * coverage.c (coverage_init): GCDA note files should not be
+       mangled and should end in output directory.
+
+2020-10-02  Jason Merril  <jason@redhat.com>
+
+       * gimple.h (gimple_call_operator_delete_p): Rename from
+       gimple_call_replaceable_operator_delete_p.
+       * gimple.c (gimple_call_operator_delete_p): Likewise.
+       * tree.h (DECL_IS_REPLACEABLE_OPERATOR_DELETE_P): Remove.
+       * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Adjust.
+       (propagate_necessity): Likewise.
+       (eliminate_unnecessary_stmts): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases_for_call): Likewise.
+
+2020-10-02  Richard Biener  <rguenther@suse.de>
+
+       * gimple.h (GF_CALL_FROM_NEW_OR_DELETE): New call flag.
+       (gimple_call_set_from_new_or_delete): New.
+       (gimple_call_from_new_or_delete): Likewise.
+       * gimple.c (gimple_build_call_from_tree): Set
+       GF_CALL_FROM_NEW_OR_DELETE appropriately.
+       * ipa-icf-gimple.c (func_checker::compare_gimple_call):
+       Compare gimple_call_from_new_or_delete.
+       * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Make
+       sure to only consider new/delete calls from new or delete
+       expressions.
+       (propagate_necessity): Likewise.
+       (eliminate_unnecessary_stmts): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases_for_call):
+       Likewise.
+
+2020-10-02  Jason Merril  <jason@redhat.com>
+
+       * tree.h (CALL_FROM_NEW_OR_DELETE_P): Move from cp-tree.h.
+       * tree-core.h: Document new usage of protected_flag.
+
+2020-10-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (irange::fits_p): New.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimize_address): Use
+       gen_int_mode for high part of address constant.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_linux64_override_options):
+       Formatting.  Correct setting of TARGET_NO_FP_IN_TOC and
+       TARGET_NO_SUM_IN_TOC.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/freebsd64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
+       rs6000_linux64_override_options.
+       * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Break
+       out to..
+       * config/rs6000/rs6000.c (rs6000_linux64_override_options): ..this,
+       new function.  Tweak non-biarch test and clearing of
+       profile_kernel to work with freebsd64.h.
+
+2020-10-01  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000-call.c: Include value-range.h.
+       * config/rs6000/rs6000.c: Likewise.
+
+2020-10-01  Tom de Vries  <tdevries@suse.de>
+
+       PR target/80845
+       * config/nvptx/nvptx.md (define_insn "truncsi<QHIM>2"): Emit mov.u32
+       instead of cvt.u32.u32.
+
+2020-10-01  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/96528
+       PR target/97288
+       * config/arm/arm-protos.h (arm_expand_vector_compare): Declare.
+       (arm_expand_vcond): Likewise.
+       * config/arm/arm.c (arm_expand_vector_compare): New function.
+       (arm_expand_vcond): Likewise.
+       * config/arm/neon.md (vec_cmp<VDQW:mode><v_cmp_result>): New pattern.
+       (vec_cmpu<VDQW:mode><VDQW:mode>): Likewise.
+       (vcond<VDQW:mode><VDQW:mode>): Require operand 5 to be a register
+       or zero.  Use arm_expand_vcond.
+       (vcond<V_cvtto><V32:mode>): New pattern.
+       (vcondu<VDQIW:mode><VDQIW:mode>): Generalize to...
+       (vcondu<VDQW:mode><v_cmp_result): ...this.  Require operand 5
+       to be a register or zero.  Use arm_expand_vcond.
+       (vcond_mask_<VDQW:mode><v_cmp_result>): New pattern.
+       (neon_vc<cmp_op><mode>, neon_vc<cmp_op><mode>_insn): Add "@" marker.
+       (neon_vbsl<mode>): Likewise.
+       (neon_vc<cmp_op>u<mode>): Reexpress as...
+       (@neon_vc<code><mode>): ...this.
+
+2020-10-01  Michael Davidsaver  <mdavidsaver@gmail.com>
+
+       * config/i386/t-rtems: Change from mtune to march when building
+       multilibs.  The mtune argument tunes or optimizes for a specific
+       CPU model but does not ensure the generated code is appropriate
+       for the CPU model. Prior to this patch, i386 compatible code
+       was always generated but tuned for later models.
+
+2020-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * builtins.c (compute_objsize): Replace vr_values with range_query.
+       (get_range): Same.
+       (gimple_call_alloc_size): Same.
+       * builtins.h (class vr_values):  Remove.
+       (gimple_call_alloc_size): Replace vr_values with range_query.
+       * gimple-ssa-sprintf.c (get_int_range): Same.
+       (struct directive): Pass gimple context to fmtfunc callback.
+       (directive::set_width): Replace inline with out-of-line version.
+       (directive::set_precision): Same.
+       (format_none): New gimple argument.
+       (format_percent): New gimple argument.
+       (format_integer): New gimple argument.
+       (format_floating): New gimple argument.
+       (get_string_length): Use range_query API.
+       (format_character): New gimple argument.
+       (format_string): New gimple argument.
+       (format_plain): New gimple argument.
+       (format_directive): New gimple argument.
+       (parse_directive): Replace vr_values with range_query.
+       (compute_format_length): Same.
+       (handle_printf_call): Same.  Adjust for range_query API.
+       * tree-ssa-strlen.c (get_range): Same.
+       (compare_nonzero_chars): Same.
+       (get_addr_stridx) Replace vr_values with range_query.
+       (get_stridx): Same.
+       (dump_strlen_info): Same.
+       (get_range_strlen_dynamic): Adjust for range_query API.
+       (set_strlen_range): Same
+       (maybe_warn_overflow): Replace vr_values with range_query.
+       (handle_builtin_strcpy): Same.
+       (maybe_diag_stxncpy_trunc): Add FIXME comment.
+       (handle_builtin_memcpy): Replace vr_values with range_query.
+       (handle_builtin_memset): Same.
+       (get_len_or_size): Same.
+       (strxcmp_eqz_result): Same.
+       (handle_builtin_string_cmp): Same.
+       (count_nonzero_bytes_addr): Same, plus adjust for range_query API.
+       (count_nonzero_bytes): Replace vr_values with range_query.
+       (handle_store): Same.
+       (strlen_check_and_optimize_call): Same.
+       (handle_integral_assign): Same.
+       (check_and_optimize_stmt): Same.
+       * tree-ssa-strlen.h (class vr_values): Remove.
+       (get_range): Replace vr_values with range_query.
+       (get_range_strlen_dynamic): Same.
+       (handle_printf_call): Same.
+
+2020-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-loop-versioning.cc (lv_dom_walker::before_dom_children):
+       Pass m_range_analyzer instead of get_vr_values.
+       (loop_versioning::name_prop::get_value): Rename to...
+       (loop_versioning::name_prop::value_of_expr): ...this.
+       * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::evrp_range_analyzer):
+       Adjust for evrp_range_analyzer
+       inheriting from vr_values.
+       (evrp_range_analyzer::try_find_new_range): Same.
+       (evrp_range_analyzer::record_ranges_from_incoming_edge): Same.
+       (evrp_range_analyzer::record_ranges_from_phis): Same.
+       (evrp_range_analyzer::record_ranges_from_stmt): Same.
+       (evrp_range_analyzer::push_value_range): Same.
+       (evrp_range_analyzer::pop_value_range): Same.
+       * gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Inherit from
+       vr_values.  Adjust accordingly.
+       * gimple-ssa-evrp.c: Adjust for evrp_range_analyzer inheriting from
+       vr_values.
+       (evrp_folder::value_of_evrp): Rename from get_value.
+       * tree-ssa-ccp.c (class ccp_folder): Rename get_value to
+       value_of_expr.
+       (ccp_folder::get_value): Rename to...
+       (ccp_folder::value_of_expr): ...this.
+       * tree-ssa-copy.c (class copy_folder): Rename get_value to
+       value_of_expr.
+       (copy_folder::get_value): Rename to...
+       (copy_folder::value_of_expr): ...this.
+       * tree-ssa-dom.c (dom_opt_dom_walker::after_dom_children): Adjust
+       for evrp_range_analyzer inheriting from vr_values.
+       (dom_opt_dom_walker::optimize_stmt): Same.
+       * tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in):
+       Call value_of_* instead of get_value.
+       (substitute_and_fold_engine::replace_phi_args_in): Same.
+       (substitute_and_fold_engine::propagate_into_phi_args): Same.
+       (substitute_and_fold_dom_walker::before_dom_children): Same.
+       * tree-ssa-propagate.h: Include value-query.h.
+       (class substitute_and_fold_engine): Inherit from value_query.
+       * tree-ssa-strlen.c (strlen_dom_walker::before_dom_children):
+       Adjust for evrp_range_analyzer inheriting from vr_values.
+       * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
+       Same.
+       * tree-vrp.c (class vrp_folder): Same.
+       (vrp_folder::get_value): Rename to value_of_expr.
+       * vr-values.c (vr_values::get_lattice_entry): Adjust for
+       vr_values inheriting from range_query.
+       (vr_values::range_of_expr): New.
+       (vr_values::value_of_expr): New.
+       (vr_values::value_on_edge): New.
+       (vr_values::value_of_stmt): New.
+       (simplify_using_ranges::op_with_boolean_value_range_p): Call
+       get_value_range through query.
+       (check_for_binary_op_overflow): Rename store to query.
+       (vr_values::vr_values): Remove vrp_value_range_pool.
+       (vr_values::~vr_values): Same.
+       (simplify_using_ranges::get_vr_for_comparison): Call get_value_range
+       through query.
+       (simplify_using_ranges::compare_names): Same.
+       (simplify_using_ranges::vrp_evaluate_conditional): Same.
+       (simplify_using_ranges::vrp_visit_cond_stmt): Same.
+       (simplify_using_ranges::simplify_abs_using_ranges): Same.
+       (simplify_using_ranges::simplify_cond_using_ranges_1): Same.
+       (simplify_cond_using_ranges_2): Same.
+       (simplify_using_ranges::simplify_switch_using_ranges): Same.
+       (simplify_using_ranges::two_valued_val_range_p): Same.
+       (simplify_using_ranges::simplify_using_ranges): Rename store to query.
+       (simplify_using_ranges::simplify): Assert that we have a query.
+       * vr-values.h (class range_query): Remove.
+       (class simplify_using_ranges): Remove inheritance of range_query.
+       (class vr_values): Add virtuals for range_of_expr, value_of_expr,
+       value_on_edge, value_of_stmt, and get_value_range.
+       Call range_query allocator instead of using vrp_value_range_pool.
+       Remove vrp_value_range_pool.
+       (simplify_using_ranges::get_value_range): Remove.
+
+2020-10-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97236
+       * tree-vect-stmts.c (get_group_load_store_type): Keep
+       VMAT_ELEMENTWISE for single-element vectors.
+
+2020-10-01  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (compute_parm_map): Be ready for callee_pi to be NULL.
+
+2020-10-01  Jan Hubicka  <jh@suse.cz>
+
+       PR ipa/97244
+       * ipa-fnsummary.c (pass_free_fnsummary::execute): Free
+       also indirect inlining datastructure.
+       * ipa-modref.c (pass_ipa_modref::execute): Do not free them here.
+       * ipa-prop.c (ipa_free_all_node_params): Do not crash when info does
+       not exist.
+       (ipa_unregister_cgraph_hooks): Likewise.
+
+2020-10-01  Jan Hubicka  <jh@suse.cz>
+
+       * internal-fn.c (DEF_INTERNAL_FN): Fix handling of fnspec
+
+2020-10-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in: Add value-query.o.
+       * value-query.cc: New file.
+       * value-query.h: New file.
+
+2020-10-01  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in: Fix ordering, move Neoverse N2 down.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+
+2020-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
+       TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
+       fenv_var and old_fpc.  Formatting fixes.
+
+2020-10-01  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
+       VIEW_CONVERT_EXPR.
+
+2020-10-01  Florian Weimer  <fweimer@redhat.com>
+
+       PR target/97250
+       * config/i386/i386.h (PTA_NO_TUNE, PTA_X86_64_BASELINE)
+       (PTA_X86_64_V2, PTA_X86_64_V3, PTA_X86_64_V4): New.
+       * common/config/i386/i386-common.c (processor_alias_table):
+       Add "x86-64-v2", "x86-64-v3", "x86-64-v4".
+       * config/i386/i386-options.c (ix86_option_override_internal):
+       Handle new PTA_NO_TUNE processor table entries.
+       * doc/invoke.texi (x86 Options): Document new -march values.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/ppc-asm.h: Support __PCREL__ code.
+
+2020-10-01  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't
+       set -mcmodel=small for -mno-minimal-toc when pcrel.
+
+2020-09-30  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97189
+       * attribs.c (attr_access::array_as_string): Avoid assuming a VLA
+       access specification string contains a closing bracket.
+
+2020-09-30  Martin Sebor  <msebor@redhat.com>
+
+       PR c/97206
+       * attribs.c (attr_access::array_as_string): Avoid modifying a shared
+       type in place and use build_type_attribute_qual_variant instead.
+
+2020-09-30  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/arm/arm-cpus.in: Add Cortex-A78 and Cortex-A78AE cores.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2020-09-30  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Cortex-A78 and Cortex-A78AE cores.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Add -mtune=cortex-a78 and -mtune=cortex-a78ae.
+
+2020-09-30  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/96795
+       * config/arm/arm_mve.h (__ARM_mve_coerce2): Define.
+       (__arm_vaddq): Correct the scalar argument.
+       (__arm_vaddq_m): Likewise.
+       (__arm_vaddq_x): Likewise.
+       (__arm_vcmpeqq_m): Likewise.
+       (__arm_vcmpeqq): Likewise.
+       (__arm_vcmpgeq_m): Likewise.
+       (__arm_vcmpgeq): Likewise.
+       (__arm_vcmpgtq_m): Likewise.
+       (__arm_vcmpgtq): Likewise.
+       (__arm_vcmpleq_m): Likewise.
+       (__arm_vcmpleq): Likewise.
+       (__arm_vcmpltq_m): Likewise.
+       (__arm_vcmpltq): Likewise.
+       (__arm_vcmpneq_m): Likewise.
+       (__arm_vcmpneq): Likewise.
+       (__arm_vfmaq_m): Likewise.
+       (__arm_vfmaq): Likewise.
+       (__arm_vfmasq_m): Likewise.
+       (__arm_vfmasq): Likewise.
+       (__arm_vmaxnmavq): Likewise.
+       (__arm_vmaxnmavq_p): Likewise.
+       (__arm_vmaxnmvq): Likewise.
+       (__arm_vmaxnmvq_p): Likewise.
+       (__arm_vminnmavq): Likewise.
+       (__arm_vminnmavq_p): Likewise.
+       (__arm_vminnmvq): Likewise.
+       (__arm_vminnmvq_p): Likewise.
+       (__arm_vmulq_m): Likewise.
+       (__arm_vmulq): Likewise.
+       (__arm_vmulq_x): Likewise.
+       (__arm_vsetq_lane): Likewise.
+       (__arm_vsubq_m): Likewise.
+       (__arm_vsubq): Likewise.
+       (__arm_vsubq_x): Likewise.
+
+2020-09-30  Joel Hutton  <joel.hutton@arm.com>
+
+       PR target/96837
+       * tree-vect-slp.c (vect_analyze_slp): Do not call
+       vect_attempt_slp_rearrange_stmts for vector constructors.
+
+2020-09-30  Tamar Christina  <tamar.christina@arm.com>
+
+       * tree-vectorizer.h (SLP_TREE_REF_COUNT): New.
+       * tree-vect-slp.c (_slp_tree::_slp_tree, _slp_tree::~_slp_tree,
+       vect_free_slp_tree, vect_build_slp_tree, vect_print_slp_tree,
+       slp_copy_subtree, vect_attempt_slp_rearrange_stmts): Use it.
+
+2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-offload.c (omp_discover_implicit_declare_target): Also
+       handled nested functions.
+
+2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * builtins.c (expand_builtin_cexpi, fold_builtin_sincos): Update
+       targetm.libc_has_function call.
+       * builtins.def (DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C11_BUILTIN):
+       (DEF_C2X_BUILTIN, DEF_C99_COMPL_BUILTIN, DEF_C99_C90RES_BUILTIN):
+       Same.
+       * config/darwin-protos.h (darwin_libc_has_function): Update prototype.
+       * config/darwin.c (darwin_libc_has_function): Add arg.
+       * config/linux-protos.h (linux_libc_has_function): Update prototype.
+       * config/linux.c (linux_libc_has_function): Add arg.
+       * config/i386/i386.c (ix86_libc_has_function): Update
+       targetm.libc_has_function call.
+       * config/nvptx/nvptx.c (nvptx_libc_has_function): New function.
+       (TARGET_LIBC_HAS_FUNCTION): Redefine to nvptx_libc_has_function.
+       * convert.c (convert_to_integer_1): Update targetm.libc_has_function
+       call.
+       * match.pd: Same.
+       * target.def (libc_has_function): Add arg.
+       * doc/tm.texi: Regenerate.
+       * targhooks.c (default_libc_has_function, gnu_libc_has_function)
+       (no_c99_libc_has_function): Add arg.
+       * targhooks.h (default_libc_has_function, no_c99_libc_has_function)
+       (gnu_libc_has_function): Update prototype.
+       * tree-ssa-math-opts.c (pass_cse_sincos::execute): Update
+       targetm.libc_has_function call.
+
+2020-09-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97184
+       * config/i386/i386.md (UNSPECV_MOVDIRI): Renamed to ...
+       (UNSPEC_MOVDIRI): This.
+       (UNSPECV_MOVDIR64B): Renamed to ...
+       (UNSPEC_MOVDIR64B): This.
+       (movdiri<mode>): Use SET operation.
+       (@movdir64b_<mode>): Likewise.
+
+2020-09-30  Florian Weimer  <fweimer@redhat.com>
+
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __LAHF_SAHF__ and __MOVBE__ based on ISA flags.
+
+2020-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/97150
+       * config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument
+       signed.
+       (vqrshlh_u16): Likewise.
+       (vqrshls_u32): Likewise.
+       (vqrshld_u64): Likewise.
+       (vqshlb_u8): Likewise.
+       (vqshlh_u16): Likewise.
+       (vqshls_u32): Likewise.
+       (vqshld_u64): Likewise.
+       (vshld_u64): Likewise.
+
+2020-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/96313
+       * config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS
+       qualifiers.
+       * config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call.
+       Remove unnecessary result cast.
+       (vqmovun_s32): Likewise.
+       (vqmovun_s64): Likewise.
+       (vqmovunh_s16): Likewise.  Fix return type.
+       (vqmovuns_s32): Likewise.
+       (vqmovund_s64): Likewise.
+
+2020-09-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_split_128bit_move_p): Add a
+       function comment.  Tighten check for FP moves.
+       * config/aarch64/aarch64.md (*movti_aarch64): Add a w<-Z alternative.
+       (*movtf_aarch64): Handle r<-Y like r<-r.  Remove unnecessary
+       earlyclobber.  Change splitter predicate from aarch64_reg_or_imm
+       to nonmemory_operand.
+
+2020-09-30  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/97251
+       * config/arm/arm.md (movsf): Relax TARGET_HARD_FLOAT to
+       TARGET_VFP_BASE.
+       (movdf): Likewise.
+       * config/arm/vfp.md (no_literal_pool_df_immediate): Likewise.
+       (no_literal_pool_sf_immediate): Likewise.
+
+2020-09-30  Alan Modra  <amodra@gmail.com>
+
+       * configure.ac (--with-long-double-format): Typo fix.
+       * configure: Regenerate.
+
+2020-09-30  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.md (@tablejump<mode>_normal): Don't use
+       non-existent operands[].
+       (@tablejump<mode>_nospec): Likewise.
+
+2020-09-30  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (tablejump): Simplify.
+       (tablejumpsi): Merge this ...
+       (tablejumpdi): ... and this ...
+       (@tablejump<mode>_normal): ... into this.
+       (tablejumpsi_nospec): Merge this ...
+       (tablejumpdi_nospec): ... and this ...
+       (@tablejump<mode>_nospec): ... into this.
+       (*tablejump<mode>_internal1): Delete, rename to ...
+       (@tablejump<mode>_insn_normal): ... this.
+       (*tablejump<mode>_internal1_nospec): Delete, rename to ...
+       (@tablejump<mode>_insn_nospec): ... this.
+
+2020-09-29  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97188
+       * calls.c (maybe_warn_rdwr_sizes): Simplify warning messages.
+       Correct handling of VLA argumments.
+
+2020-09-29  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/94695
+       * doc/invoke.texi: Document -Wrange-loop-construct.
+
+2020-09-29  Jim Wilson  <jimw@sifive.com>
+
+       PR bootstrap/97183
+       * configure.ac (gcc_cv_header_zstd_h): Check ZSTD_VERISON_NUMBER.
+       * configure: Regenerated.
+
+2020-09-29  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/arm/arm-cpus.in: Add Cortex-X1 core.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Update docs.
+
+2020-09-29  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Cortex-X1 Arm core.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Add -mtune=cortex-x1 docs.
+
+2020-09-29  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97247
+       * config/i386/enqcmdintrin.h: Replace <enqcmdntrin.h> with
+       <enqcmdintrin.h>.  Replace _ENQCMDNTRIN_H_INCLUDED with
+       _ENQCMDINTRIN_H_INCLUDED.
+
+2020-09-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97241
+       * tree-vect-loop.c (vectorizable_reduction): Move finding
+       the SLP node for the reduction stmt to a better place.
+
+2020-09-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp): Move SLP reduction
+       re-arrangement and SLP graph load gathering...
+       (vect_optimize_slp): ... here.
+       * tree-vectorizer.h (vec_info::slp_loads): Remove.
+
+2020-09-29  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/97231
+       * config/i386/amxbf16intrin.h: Add FSF copyright notes.
+       * config/i386/amxint8intrin.h: Ditto.
+       * config/i386/amxtileintrin.h: Ditto.
+       * config/i386/avx512vp2intersectintrin.h: Ditto.
+       * config/i386/avx512vp2intersectvlintrin.h: Ditto.
+       * config/i386/pconfigintrin.h: Ditto.
+       * config/i386/tsxldtrkintrin.h: Ditto.
+       * config/i386/wbnoinvdintrin.h: Ditto.
+
+2020-09-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97238
+       * tree-ssa-reassoc.c (ovce_extract_ops): Fix typo.
+
+2020-09-29  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm.h (ARM_HAVE_NEON_V8QI_ARITH, ARM_HAVE_NEON_V4HI_ARITH)
+       (ARM_HAVE_NEON_V2SI_ARITH, ARM_HAVE_NEON_V16QI_ARITH): New macros.
+       (ARM_HAVE_NEON_V8HI_ARITH, ARM_HAVE_NEON_V4SI_ARITH): Likewise.
+       (ARM_HAVE_NEON_V2DI_ARITH, ARM_HAVE_NEON_V4HF_ARITH): Likewise.
+       (ARM_HAVE_NEON_V8HF_ARITH, ARM_HAVE_NEON_V2SF_ARITH): Likewise.
+       (ARM_HAVE_NEON_V4SF_ARITH, ARM_HAVE_V8QI_ARITH, ARM_HAVE_V4HI_ARITH)
+       (ARM_HAVE_V2SI_ARITH, ARM_HAVE_V16QI_ARITH, ARM_HAVE_V8HI_ARITH)
+       (ARM_HAVE_V4SI_ARITH, ARM_HAVE_V2DI_ARITH, ARM_HAVE_V4HF_ARITH)
+       (ARM_HAVE_V2SF_ARITH, ARM_HAVE_V8HF_ARITH, ARM_HAVE_V4SF_ARITH):
+       Likewise.
+       * config/arm/iterators.md (VNIM, VNINOTM): Delete.
+       * config/arm/vec-common.md (add<VNIM:mode>3, addv8hf3)
+       (add<VNINOTM:mode>3): Replace with...
+       (add<VDQ:mode>3): ...this new expander.
+       * config/arm/neon.md (*add<VDQ:mode>3_neon): Use the new
+       ARM_HAVE_NEON_<MODE>_ARITH macros as the C condition.
+       (addv8hf3_neon, addv4hf3, add<VFH:mode>3_fp16): Delete in
+       favor of the above.
+       (neon_vadd<VH:mode>): Use gen_add<mode>3 instead of
+       gen_add<mode>3_fp16.
+
+2020-09-29  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): Define
+       __riscv_cmodel_medany when PIC mode.
+
+2020-09-29  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Move neoverse-n2 after saphira.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+
+2020-09-29  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * tree-switch-conversion.c (jump_table_cluster::can_be_handled):
+       Make a fast bail out.
+       (bit_test_cluster::can_be_handled): Likewise here.
+       * tree-switch-conversion.h (get_range): Use wi::to_wide instead
+       of a folding.
+
+2020-09-29  Martin Liska  <mliska@suse.cz>
+
+       Revert:
+       2020-09-22  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * doc/invoke.texi: Document new param max-switch-clustering-attempts.
+       * params.opt: Add new parameter.
+       * tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
+       Limit number of attempts.
+       (bit_test_cluster::find_bit_tests): Likewise.
+
+2020-09-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (class irange): Add irange_allocator friend.
+       (class irange_allocator): New.
+
+2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/96390
+       * omp-offload.c (omp_discover_declare_target_tgt_fn_r): Handle
+       alias nodes.
+
+2020-09-28  Paul A. Clarke  <pc@us.ibm.com>
+
+       * config/rs6000/smmintrin.h (_mm_insert_epi8): New.
+       (_mm_insert_epi32): New.
+       (_mm_insert_epi64): New.
+
+2020-09-28  liuhongt  <hongtao.liu@intel.com>
+
+       * common/config/i386/i386-common.c (OPTION_MASK_ISA2_AMX_TILE_SET,
+       OPTION_MASK_ISA2_AMX_INT8_SET, OPTION_MASK_ISA2_AMX_BF16_SET,
+       OPTION_MASK_ISA2_AMX_TILE_UNSET, OPTION_MASK_ISA2_AMX_INT8_UNSET,
+       OPTION_MASK_ISA2_AMX_BF16_UNSET, OPTION_MASK_ISA2_XSAVE_UNSET):
+       New marcos.
+       (ix86_handle_option): Hanlde -mamx-tile, -mamx-int8, -mamx-bf16.
+       * common/config/i386/i386-cpuinfo.h (processor_types): Add
+       FEATURE_AMX_TILE, FEATURE_AMX_INT8, FEATURE_AMX_BF16.
+       * common/config/i386/cpuinfo.h (XSTATE_TILECFG,
+       XSTATE_TILEDATA, XCR_AMX_ENABLED_MASK): New macro.
+       (get_available_features): Enable AMX features only if
+       their states are suoorited by OSXSAVE.
+       * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
+       for amx-tile, amx-int8, amx-bf16.
+       * config.gcc: Add amxtileintrin.h, amxint8intrin.h,
+       amxbf16intrin.h to extra headers.
+       * config/i386/amxbf16intrin.h: New file.
+       * config/i386/amxint8intrin.h: Ditto.
+       * config/i386/amxtileintrin.h: Ditto.
+       * config/i386/cpuid.h (bit_AMX_BF16, bit_AMX_TILE, bit_AMX_INT8):
+       New macro.
+       * config/i386/i386-c.c (ix86_target_macros_internal): Define
+       __AMX_TILE__, __AMX_INT8__, AMX_BF16__.
+       * config/i386/i386-options.c (ix86_target_string): Add
+       -mamx-tile, -mamx-int8, -mamx-bf16.
+       (ix86_option_override_internal): Handle AMX-TILE,
+       AMX-INT8, AMX-BF16.
+       * config/i386/i386.h (TARGET_AMX_TILE, TARGET_AMX_TILE_P,
+       TARGET_AMX_INT8, TARGET_AMX_INT8_P, TARGET_AMX_BF16_P,
+       PTA_AMX_TILE, PTA_AMX_INT8, PTA_AMX_BF16): New macros.
+       * config/i386/i386.opt: Add -mamx-tile, -mamx-int8, -mamx-bf16.
+       * config/i386/immintrin.h: Include amxtileintrin.h,
+       amxint8intrin.h, amxbf16intrin.h.
+       * doc/invoke.texi: Document -mamx-tile, -mamx-int8, -mamx-bf16.
+       * doc/extend.texi: Document amx-tile, amx-int8, amx-bf16.
+       * doc/sourcebuild.texi ((Effective-Target Keywords, Other
+       hardware attributes): Document amx_int8, amx_tile, amx_bf16.
+
+2020-09-28  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_general_expand_builtin): Do not alter value on a
+       force_reg returned rtx.
+
+2020-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-eh.c (lower_try_finally_dup_block): Revert latest change.
+
+2020-09-27  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (modref_summary::useful_p): Fix testing of stores.
+
+2020-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/97073
+       * optabs.c (expand_binop, expand_absneg_bit, expand_unop,
+       expand_copysign_bit): Check reg_overlap_mentioned_p between target
+       and operand(s) and if it returns true, force a pseudo as target.
+
+2020-09-27  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * gimple-isel.cc (gimple_expand_vec_set_expr): New function.
+       (gimple_expand_vec_cond_exprs): Rename to ...
+       (gimple_expand_vec_exprs): ... this and call
+       gimple_expand_vec_set_expr.
+       * internal-fn.c (vec_set_direct): New define.
+       (expand_vec_set_optab_fn): New function.
+       (direct_vec_set_optab_supported_p): New define.
+       * internal-fn.def (VEC_SET): New DEF_INTERNAL_OPTAB_FN.
+       * optabs.c (can_vec_set_var_idx_p): New function.
+       * optabs.h (can_vec_set_var_idx_p): New declaration.
+
+2020-09-26  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (analyze_stmt): Do not skip clobbers in early pass.
+       * ipa-pure-const.c (analyze_stmt): Update comment.
+
+2020-09-26  David Edelsohn  <dje.gcc@gmail.com>
+           Clement Chigot  <clement.chigot@atos.com>
+
+       * collect2.c (visibility_flag): New.
+       (main): Detect -fvisibility.
+       (write_c_file_stat): Push and pop default visibility.
+
+2020-09-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-inline-transform.c: Include ipa-modref-tree.h and ipa-modref.h.
+       (inline_call): Call ipa_merge_modref_summary_after_inlining.
+       * ipa-inline.c (ipa_inline): Do not free summaries.
+       * ipa-modref.c (dump_records): Fix formating.
+       (merge_call_side_effects): Break out from ...
+       (analyze_call): ... here; record recursive calls.
+       (analyze_stmt): Add new parameter RECURSIVE_CALLS.
+       (analyze_function): Do iterative dataflow on recursive calls.
+       (compute_parm_map): New function.
+       (ipa_merge_modref_summary_after_inlining): New function.
+       (collapse_loads): New function.
+       (modref_propagate_in_scc): Break out from ...
+       (pass_ipa_modref::execute): ... here; Do iterative dataflow.
+       * ipa-modref.h (ipa_merge_modref_summary_after_inlining): Declare.
+
+2020-09-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_simd): Help vectorizer for the collapse == 1
+       and non-composite collapse > 1 case with non-constant innermost loop
+       step by precomputing number of iterations before loop and using an
+       alternate IV from 0 to number of iterations - 1 with step of 1.
+
+2020-09-26  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-fnsummary.c (dump_ipa_call_summary): Dump
+       points_to_local_or_readonly_memory flag.
+       (analyze_function_body): Compute points_to_local_or_readonly_memory
+       flag.
+       (remap_edge_change_prob): Rename to ...
+       (remap_edge_params): ... this one; update
+       points_to_local_or_readonly_memory.
+       (remap_edge_summaries): Update.
+       (read_ipa_call_summary): Stream the new flag.
+       (write_ipa_call_summary): Likewise.
+       * ipa-predicate.h (struct inline_param_summary): Add
+       points_to_local_or_readonly_memory.
+       (inline_param_summary::equal_to): Update.
+       (inline_param_summary::useless_p): Update.
+
+2020-09-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_ref_node::insert_access): Track if something
+       changed.
+       (modref_base_node::insert_ref): Likewise (and add a new optional
+       argument)
+       (modref_tree::insert): Likewise.
+       (modref_tree::merge): Rewrite
+
+2020-09-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * doc/invoke.texi: Add -fno-ipa-modref to flags disabled by
+       -flive-patching.
+       * opts.c (control_options_for_live_patching): Disable ipa-modref.
+
+2020-09-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (analyze_stmt): Fix return value for gimple_clobber.
+
+2020-09-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-option-extensions.def (rng): Add
+       cpuinfo string.
+
+2020-09-25  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in (neoverse-v1): Add FP16.
+
+2020-09-25  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/64636
+       * value-prof.c (stream_out_histogram_value): Allow negative
+       values for HIST_TYPE_IOR.
+
+2020-09-25  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_integer, nvptx_print_operand):
+       Use gcc_fallthrough ().
+
+2020-09-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96814
+       * expr.c (store_constructor): Handle VECTOR_BOOLEAN_TYPE_P
+       CTORs correctly.
+
+2020-09-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97207
+       * vec.h (auto_vec<T>::operator=(auto_vec<T>&&)): Implement.
+
+2020-09-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm-protos.h (arm_mve_mode_and_operands_type_check):
+       Delete.
+       * config/arm/arm.c (arm_coproc_mem_operand_wb): Use a scale factor
+       of 2 rather than 4 for 16-bit modes.
+       (arm_mve_mode_and_operands_type_check): Delete.
+       * config/arm/constraints.md (Uj): Allow writeback for Neon,
+       but continue to disallow it for MVE.
+       * config/arm/arm.md (*arm32_mov<HFBF:mode>): Add !TARGET_HAVE_MVE.
+       * config/arm/vfp.md (*mov_load_vfp_hf16, *mov_store_vfp_hf16): Fold
+       back into...
+       (*mov<mode>_vfp_<mode>16): ...here but use Uj for the FPR memory
+       constraints.  Use for base MVE too.
+
+2020-09-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97199
+       * tree-if-conv.c (combine_blocks): Remove edges only
+       after looking at virtual PHI args.
+
+2020-09-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (scan_omp_1_stmt): Don't call scan_omp_simd for
+       collapse > 1 loops as simt doesn't support collapsed loops yet.
+       * omp-expand.c (expand_omp_for_init_counts, expand_omp_for_init_vars):
+       Small tweaks to function comment.
+       (expand_omp_simd): Rewritten collapse > 1 support to only attempt
+       to vectorize the innermost loop and emit set of outer loops around it.
+       For non-composite simd with collapse > 1 without broken loop don't
+       even try to compute number of iterations first.  Add support for
+       non-rectangular simd loops.
+       (expand_omp_for): Don't sorry_at on non-rectangular simd loops.
+
+2020-09-25  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_edge::debug): New.
+       * cgraph.h (cgraph_edge::debug): New.
+
+2020-09-25  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.c (cgraph_node::dump): Always print space at the end
+       of a message.  Remove one extra space.
+
+2020-09-24  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in (neoverse-n2): New.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Document support for Neoverse N2.
+
+2020-09-24  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Neoverse N2.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Document AArch64 support for Neoverse N2.
+
+2020-09-24  Richard Biener  <rguenther@suse.de>
+
+       * vec.h (auto_vec<T, 0>::auto_vec (auto_vec &&)): New move CTOR.
+       (auto_vec<T, 0>::operator=(auto_vec &&)): Delete.
+       * hash-table.h (hash_table::expand): Use std::move when expanding.
+       * cfgloop.h (get_loop_exit_edges): Return auto_vec<edge>.
+       * cfgloop.c (get_loop_exit_edges): Adjust.
+       * cfgloopmanip.c (fix_loop_placement): Likewise.
+       * ipa-fnsummary.c (analyze_function_body): Likewise.
+       * ira-build.c (create_loop_tree_nodes): Likewise.
+       (create_loop_tree_node_allocnos): Likewise.
+       (loop_with_complex_edge_p): Likewise.
+       * ira-color.c (ira_loop_edge_freq): Likewise.
+       * loop-unroll.c (analyze_insns_in_loop): Likewise.
+       * predict.c (predict_loops): Likewise.
+       * tree-predcom.c (last_always_executed_block): Likewise.
+       * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise.
+       * tree-ssa-loop-im.c (store_motion_loop): Likewise.
+       * tree-ssa-loop-ivcanon.c (loop_edge_to_cancel): Likewise.
+       (canonicalize_loop_induction_variables): Likewise.
+       * tree-ssa-loop-manip.c (get_loops_exits): Likewise.
+       * tree-ssa-loop-niter.c (find_loop_niter): Likewise.
+       (finite_loop_p): Likewise.
+       (find_loop_niter_by_eval): Likewise.
+       (estimate_numbers_of_iterations): Likewise.
+       * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise.
+       (may_use_storent_in_loop_p): Likewise.
+
+2020-09-24  Jan Hubicka  <jh@suse.cz>
+
+       * doc/invoke.texi: Document -fipa-modref, ipa-modref-max-bases,
+       ipa-modref-max-refs, ipa-modref-max-accesses, ipa-modref-max-tests.
+       * ipa-modref-tree.c (test_insert_search_collapse): Update.
+       (test_merge): Update.
+       (gt_ggc_mx): New function.
+       * ipa-modref-tree.h (struct modref_access_node): New structure.
+       (struct modref_ref_node): Add every_access and accesses array.
+       (modref_ref_node::modref_ref_node): Update ctor.
+       (modref_ref_node::search): New member function.
+       (modref_ref_node::collapse): New member function.
+       (modref_ref_node::insert_access): New member function.
+       (modref_base_node::insert_ref): Do not collapse base if ref is 0.
+       (modref_base_node::collapse): Copllapse also refs.
+       (modref_tree): Add accesses.
+       (modref_tree::modref_tree): Initialize max_accesses.
+       (modref_tree::insert): Add access parameter.
+       (modref_tree::cleanup): New member function.
+       (modref_tree::merge): Add parm_map; merge accesses.
+       (modref_tree::copy_from): New member function.
+       (modref_tree::create_ggc): Add max_accesses.
+       * ipa-modref.c (dump_access): New function.
+       (dump_records): Dump accesses.
+       (dump_lto_records): Dump accesses.
+       (get_access): New function.
+       (record_access): Record access.
+       (record_access_lto): Record access.
+       (analyze_call): Compute parm_map.
+       (analyze_function): Update construction of modref records.
+       (modref_summaries::duplicate): Likewise; use copy_from.
+       (write_modref_records): Stream accesses.
+       (read_modref_records): Sream accesses.
+       (pass_ipa_modref::execute): Update call of merge.
+       * params.opt (-param=modref-max-accesses): New.
+       * tree-ssa-alias.c (alias_stats): Add modref_baseptr_tests.
+       (dump_alias_stats): Update.
+       (base_may_alias_with_dereference_p): New function.
+       (modref_may_conflict): Check accesses.
+       (ref_maybe_used_by_call_p_1): Update call to modref_may_conflict.
+       (call_may_clobber_ref_p_1): Update call to modref_may_conflict.
+
+2020-09-24  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/arm/arm.md (*stack_protect_combined_set_insn): For non-PIC,
+       load the address of the canary rather than the address of the
+       constant pool entry that points to it.
+       (*stack_protect_combined_test_insn): Likewise.
+
+2020-09-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97085
+       * match.pd (mask ? { false,..} : { true, ..} -> ~mask): New.
+
+2020-09-24  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref-tree.h (modref_base::collapse): Release memory.
+       (modref_tree::create_ggc): New member function.
+       (modref_tree::colapse): Release memory.
+       (modref_tree::~modref_tree): New destructor.
+       * ipa-modref.c (modref_summaries::create_ggc): New function.
+       (analyze_function): Use create_ggc.
+       (modref_summaries::duplicate): Likewise.
+       (read_modref_records): Likewise.
+       (modref_read): Likewise.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_rtx_costs): Pass mode to
+       reg_or_add_cint_operand and reg_or_sub_cint_operand.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR target/93012
+       * config/rs6000/rs6000.c (num_insns_constant_gpr): Count rldimi
+       constants correctly.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
+       Conditionally define __PCREL__.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR target/97107
+       * config/rs6000/rs6000-internal.h (struct rs6000_stack): Improve
+       calls_p comment.
+       * config/rs6000/rs6000-logue.c (rs6000_stack_info): Likewise.
+       (rs6000_expand_split_stack_prologue): Emit the prologue for
+       functions that make a sibling call.
+
+2020-09-24  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi (Analyzer Paths): Add note about
+       -fno-analyzer-feasibility.
+       * doc/invoke.texi (Static Analyzer Options): Add
+       -fno-analyzer-feasibility.
+
+2020-09-24  Paul A. Clarke  <pc@us.ibm.com>
+
+       * doc/extend.texi: Add 'd' for doubleword variant of
+       vector insert instruction.
+
+2020-09-23  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-array-bounds.cc (build_zero_elt_array_type): New function.
+       (array_bounds_checker::check_mem_ref): Call it.
+
+2020-09-23  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/97175
+       * builtins.c (maybe_warn_for_bound): Handle both DECLs and EXPRESSIONs
+       in pad->dst.ref, same is pad->src.ref.
+
+2020-09-23  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-fnsummary.c (refs_local_or_readonly_memory_p): New function.
+       (points_to_local_or_readonly_memory_p): New function.
+       * ipa-fnsummary.h (refs_local_or_readonly_memory_p): Declare.
+       (points_to_local_or_readonly_memory_p): Declare.
+       * ipa-modref.c (record_access_p): Use refs_local_or_readonly_memory_p.
+       * ipa-pure-const.c (check_op): Likewise.
+
+2020-09-23  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.md: Don't allow operand containing sum of
+       function ref and const.
+
+2020-09-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_salt_type): New enum.
+       (aarch64_stack_protect_canary_mem): Declare.
+       * config/aarch64/aarch64.md (UNSPEC_SALT_ADDR): New unspec.
+       (stack_protect_set): Forward to stack_protect_combined_set.
+       (stack_protect_combined_set): New pattern.  Use
+       aarch64_stack_protect_canary_mem.
+       (reg_stack_protect_address_<mode>): Add a salt operand.
+       (stack_protect_test): Forward to stack_protect_combined_test.
+       (stack_protect_combined_test): New pattern.  Use
+       aarch64_stack_protect_canary_mem.
+       * config/aarch64/aarch64.c (strip_salt): New function.
+       (strip_offset_and_salt): Likewise.
+       (tls_symbolic_operand_type): Use strip_offset_and_salt.
+       (aarch64_stack_protect_canary_mem): New function.
+       (aarch64_cannot_force_const_mem): Use strip_offset_and_salt.
+       (aarch64_classify_address): Likewise.
+       (aarch64_symbolic_address_p): Likewise.
+       (aarch64_print_operand): Likewise.
+       (aarch64_output_addr_const_extra): New function.
+       (aarch64_tls_symbol_p): Use strip_salt.
+       (aarch64_classify_symbol): Likewise.
+       (aarch64_legitimate_pic_operand_p): Use strip_offset_and_salt.
+       (aarch64_legitimate_constant_p): Likewise.
+       (aarch64_mov_operand_p): Use strip_salt.
+       (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Override.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vreinterpretq_f64_p128,
+       vreinterpretq_p128_f64): Define.
+
+2020-09-23  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm-cpus.in (neoverse-v1): New.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm-tune.md: Regenerate.
+       * doc/invoke.texi: Document support for Neoverse V1.
+
+2020-09-23  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Neoverse V1.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Document support for Neoverse V1.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96453
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Remove
+       LT_EXPR -> NE_EXPR verification and also apply it for
+       non-constant masks.
+
+2020-09-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (modref_summary::lto_useful_p): New member function.
+       (modref_summary::useful_p): New member function.
+       (analyze_function): Drop useless summaries.
+       (modref_write): Skip useless summaries.
+       (pass_ipa_modref::execute): Drop useless summaries.
+       * ipa-modref.h (struct GTY): Declare useful_p and lto_useful_p.
+       * tree-ssa-alias.c (dump_alias_stats): Fix.
+       (modref_may_conflict): Fix stats.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96466
+       * internal-fn.c (expand_vect_cond_mask_optab_fn): Use
+       appropriate mode for force_reg.
+       * tree.c (build_truth_vector_type_for): Pass VOIDmode to
+       make_vector_type.
+
+2020-09-23  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (determine_peel_for_niter): Delete in favor of...
+       (vect_determine_partial_vectors_and_peeling): ...this new function.
+       * tree-vect-loop-manip.c (vect_update_epilogue_niters): New function.
+       Reject using vector epilogue loops for single iterations.  Install
+       the constant number of epilogue loop iterations in the associated
+       loop_vinfo.  Rely on vect_determine_partial_vectors_and_peeling
+       to do the main part of the test.
+       (vect_do_peeling): Use vect_update_epilogue_niters to handle
+       epilogue loops with a known number of iterations.  Skip recomputing
+       the number of iterations later in that case.  Otherwise, use
+       vect_determine_partial_vectors_and_peeling to decide whether the
+       epilogue loop needs to use partial vectors or peeling.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Set the
+       default can_use_partial_vectors_p to false if partial-vector-usage=0.
+       (determine_peel_for_niter): Remove in favor of...
+       (vect_determine_partial_vectors_and_peeling): ...this new function,
+       split out from...
+       (vect_analyze_loop_2): ...here.  Reflect the vect_verify_full_masking
+       and vect_verify_loop_lens results in CAN_USE_PARTIAL_VECTORS_P
+       rather than USING_PARTIAL_VECTORS_P.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/aarch64-simd-builtins.def (frintn): Use BUILTIN_VHSDF_HSDF
+       for modes.  Remove explicit hf instantiation.
+       * config/aarch64/arm_neon.h (vrndns_f32): Define.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97173
+       * tree-vect-loop.c (vectorizable_live_operation): Extend
+       assert to also conver element conversions.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vtrn1q_p64, vtrn2q_p64, vuzp1q_p64,
+       vuzp2q_p64, vzip1q_p64, vzip2q_p64): Define.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vldrq_p128): Define.
+
+2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vstrq_p128): Define.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97151
+       * tree-ssa-structalias.c (find_func_aliases_for_call):
+       DECL_IS_REPLACEABLE_OPERATOR_DELETE_P has no effect on
+       arguments.
+
+2020-09-23  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/97162
+       * alias.c (compare_base_decls): Use DECL_HARD_REGISTER
+       and guard with VAR_P.
+
+2020-09-23  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/97069
+       * profile.c (branch_prob): Line number must be at least 1.
+
+2020-09-23  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97158
+       * config/nvptx/nvptx.c (nvptx_output_mov_insn): Handle move from
+       DF subreg to DF reg.
+
+2020-09-23  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in: Add $(ZLIBINC) to CFLAGS-analyzer/engine.o.
+
+2020-09-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref.c (analyze_stmt): Ignore gimple clobber.
+
+2020-09-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-modref-tree.c: Add namespace selftest.
+       (modref_tree_c_tests): Rename to ...
+       (ipa_modref_tree_c_tests): ... this.
+       * ipa-modref.c (pass_modref): Remove destructor.
+       (ipa_modref_c_finalize): New function.
+       * ipa-modref.h (ipa_modref_c_finalize): Declare.
+       * selftest-run-tests.c (selftest::run_tests): Call
+       ipa_modref_c_finalize.
+       * selftest.h (ipa_modref_tree_c_tests): Declare.
+       * toplev.c: Include ipa-modref-tree.h and ipa-modref.h
+       (toplev::finalize): Call ipa_modref_c_finalize.
+
+2020-09-22  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi (Other Debugging Techniques): Mention
+       -fdump-analyzer-json.
+       * doc/invoke.texi (Static Analyzer Options): Add
+       -fdump-analyzer-json.
+
+2020-09-22  David Faust  <david.faust@oracle.com>
+
+       * config/bpf/bpf.md: Add defines for signed div and mod operators.
+
+2020-09-22  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96979
+       * doc/invoke.texi: Document new param max-switch-clustering-attempts.
+       * params.opt: Add new parameter.
+       * tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
+       Limit number of attempts.
+       (bit_test_cluster::find_bit_tests): Likewise.
+
+2020-09-22  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.md ("*cmp<mode>_ccs_0", "*cmp<mode>_ccz_0",
+       "*cmp<mode>_ccs_0_fastmath"): Basically change "*cmp<mode>_ccs_0" into
+       "*cmp<mode>_ccz_0" and for fast math add "*cmp<mode>_ccs_0_fastmath".
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vcls_u8, vcls_u16, vcls_u32,
+       vclsq_u8, vclsq_u16, vclsq_u32): Define.
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vceqq_p64, vceqz_p64, vceqzq_p64): Define.
+
+2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR target/71233
+       * config/aarch64/arm_neon.h (vadd_p8, vadd_p16, vadd_p64, vaddq_p8,
+       vaddq_p16, vaddq_p64, vaddq_p128): Define.
+
+2020-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * params.opt (--param=modref-max-tests=): Fix typo in help text:
+       perofmed -> performed.
+       * common.opt: Fix typo: incrmeental -> incremental.
+       * ipa-modref.c: Fix typos: recroding -> recording, becaue -> because,
+       analsis -> analysis.
+       (class modref_summaries): Fix typo: betweehn -> between.
+       (analyze_call): Fix typo: calle -> callee.
+       (read_modref_records): Fix typo: expcted -> expected.
+       (pass_ipa_modref::execute): Fix typo: calle -> callee.
+
+2020-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * common.opt (-fipa-modref): Add dot at the end of option help.
+       * params.opt (--param=modref-max-tests=): Likewise.
+
+2020-09-21  Marek Polacek  <polacek@redhat.com>
+
+       * doc/invoke.texi: Document -Wctad-maybe-unsupported.
+
+2020-09-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97139
+       * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): Only mark the
+       pattern root, track visited vectorized stmts.
+
+2020-09-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.ac: Use mallinfo mallinfo2 as first operand of
+       gcc_AC_CHECK_DECLS rather than [mallinfo, mallinfo2].
+       * configure: Regenerated.
+       * config.in: Regenerated.
+
+2020-09-21  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_general_expand_builtin): Use expand machinery not to
+       alter the value of an rtx returned by force_reg.
+
+2020-09-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97135
+       * tree-ssa-loop-im.c (sm_seq_push_down): Do not ignore
+       self-dependences.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96915
+       * tree-switch-conversion.c (switch_conversion::expand): Accept
+       also integer constants.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * print-tree.c (print_node): Remove extra space.
+
+2020-09-21  Andrea Corallo  <andrea.corallo@arm.com>
+
+       PR target/96968
+       * config/aarch64/aarch64-builtins.c
+       (aarch64_expand_fpsr_fpcr_setter): Fix comment nit.
+       (aarch64_expand_fpsr_fpcr_getter): New function, expand these
+       getters using expand_insn machinery.
+       (aarch64_general_expand_builtin): Make use of.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * ggc-common.c (ggc_rlimit_bound): Use ONE_? macro.
+       (ggc_min_expand_heuristic): Likewise.
+       (ggc_min_heapsize_heuristic): Likewise.
+       * ggc-page.c (ggc_collect): Likewise.
+       * system.h (ONE_G): Likewise.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * ggc-common.c (ggc_prune_overhead_list): Use SIZE_AMOUNT.
+       * ggc-page.c (release_pages): Likewise.
+       (ggc_collect): Likewise.
+       (ggc_trim): Likewise.
+       (ggc_grow): Likewise.
+       * timevar.c (timer::print): Likewise.
+
+2020-09-21  Martin Liska  <mliska@suse.cz>
+
+       * config.in: Regenerate.
+       * configure: Likewise.
+       * configure.ac: Detect for mallinfo2.
+       * ggc-common.c (defined): Use it.
+       * system.h: Handle also HAVE_MALLINFO2.
+
+2020-09-20  John David Anglin  < danglin@gcc.gnu.org>
+
+       * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Delete.
+       * config/pa/pa64-hpux.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+       (ENDFILE_SPEC): Link with libgcc_stub.a and mill.a.
+       * config/pa/pa32-linux.h (ENDFILE_SPEC): Link with libgcc.a.
+
+2020-09-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.c (dump_lto_records): Fix ICE.
+
+2020-09-20  David Cepelik  <d@dcepelik.cz>
+           Jan Hubicka  <hubicka@ucw.cz>
+
+       * Makefile.in: Add ipa-modref.c and ipa-modref-tree.c.
+       * alias.c: (reference_alias_ptr_type_1): Export.
+       * alias.h (reference_alias_ptr_type_1): Declare.
+       * common.opt (fipa-modref): New.
+       * gengtype.c (open_base_files): Add ipa-modref-tree.h and ipa-modref.h
+       * ipa-modref-tree.c: New file.
+       * ipa-modref-tree.h: New file.
+       * ipa-modref.c: New file.
+       * ipa-modref.h: New file.
+       * lto-section-in.c (lto_section_name): Add ipa_modref.
+       * lto-streamer.h (enum lto_section_type): Add LTO_section_ipa_modref.
+       * opts.c (default_options_table): Enable ipa-modref at -O1+.
+       * params.opt (-param=modref-max-bases, -param=modref-max-refs,
+       -param=modref-max-tests): New params.
+       * passes.def: Schedule pass_modref and pass_ipa_modref.
+       * timevar.def (TV_IPA_MODREF): New timevar.
+       (TV_TREE_MODREF): New timevar.
+       * tree-pass.h (make_pass_modref): Declare.
+       (make_pass_ipa_modref): Declare.
+       * tree-ssa-alias.c (dump_alias_stats): Include ipa-modref-tree.h
+       and ipa-modref.h
+       (alias_stats): Add modref_use_may_alias, modref_use_no_alias,
+       modref_clobber_may_alias, modref_clobber_no_alias, modref_tests.
+       (dump_alias_stats): Dump new stats.
+       (nonoverlapping_array_refs_p): Fix formating.
+       (modref_may_conflict): New function.
+       (ref_maybe_used_by_call_p_1): Use it.
+       (call_may_clobber_ref_p_1): Use it.
+       (call_may_clobber_ref_p): Update.
+       (stmt_may_clobber_ref_p_1): Update.
+       * tree-ssa-alias.h (call_may_clobber_ref_p_1): Update.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/82608
+       PR middle-end/94195
+       PR c/50584
+       PR middle-end/84051
+       * gimple-array-bounds.cc (get_base_decl): New function.
+       (get_ref_size): New function.
+       (trailing_array): New function.
+       (array_bounds_checker::check_array_ref): Call them.  Handle arrays
+       declared in function parameters.
+       (array_bounds_checker::check_mem_ref):  Same.  Handle references to
+       dynamically allocated arrays.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/50584
+       * builtins.c (warn_for_access): Add argument.  Distinguish between
+       reads and writes.
+       (check_access): Add argument.  Distinguish between reads and writes.
+       (gimple_call_alloc_size): Set range even on failure.
+       (gimple_parm_array_size): New function.
+       (compute_objsize): Call it.
+       (check_memop_access): Pass check_access an additional argument.
+       (expand_builtin_memchr, expand_builtin_strcat): Same.
+       (expand_builtin_strcpy, expand_builtin_stpcpy_1): Same.
+       (expand_builtin_stpncpy, check_strncat_sizes): Same.
+       (expand_builtin_strncat, expand_builtin_strncpy): Same.
+       (expand_builtin_memcmp): Same.
+       * builtins.h (compute_objsize): Declare a new overload.
+       (gimple_parm_array_size): Declare.
+       (check_access): Add argument.
+       * calls.c (append_attrname): Simplify.
+       (maybe_warn_rdwr_sizes): Handle internal attribute access.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Avoid adding
+       quotes.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Handle attribute
+       access internal representation of arrays.
+
+2020-09-19  Martin Sebor  <msebor@redhat.com>
+
+       PR c/50584
+       * attribs.c (decl_attributes): Also pass decl along with type
+       attributes to handlers.
+       (init_attr_rdwr_indices): Change second argument to attribute chain.
+       Handle internal attribute representation in addition to external.
+       (get_parm_access): New function.
+       (attr_access::to_internal_string): Define new member function.
+       (attr_access::to_external_string): Define new member function.
+       (attr_access::vla_bounds): Define new member function.
+       * attribs.h (struct attr_access): Declare new members.
+       (attr_access::from_mode_char): Define new member function.
+       (get_parm_access): Declare new function.
+       * calls.c (initialize_argument_information): Pass function type
+       attributes to init_attr_rdwr_indices.
+       * doc/invoke.texi (-Warray-parameter, -Wvla-parameter): Document.
+       * tree-pretty-print.c (dump_generic_node): Correct handling of
+       qualifiers.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Same.
+       * tree.h (access_mode): Add new enumerator.
+
+2020-09-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/generic.texi (Basic Statements): Document SWITCH_EXPR here,
+       not SWITCH_STMT.
+       (Statements for C and C++): Rename node to reflect what
+       the introduction already says about sharing between C and C++
+       front ends.  Copy-edit and correct documentation for structured
+       loops and switch.
+
+2020-09-19  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96861
+       * config/i386/x86-tune-costs.h (skylake_cost): increase rtx
+       cost of sse_to_integer from 2 to 6.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * config/arm/thumb2.md (*thumb2_csneg): New.
+       (*thumb2_negscc): Don't match if TARGET_COND_ARITH.
+       * config/arm/arm.md (*if_neg_move): Don't match if TARGET_COND_ARITH.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * config/arm/thumb2.md (*thumb2_csinc): New.
+       (*thumb2_cond_arith): Generate CINC where possible.
+
+2020-09-18  Sudi Das  <sudi.das@arm.com>
+           Omar Tahir  <omar.tahir@arm.com>
+
+       * config/arm/arm.h (TARGET_COND_ARITH): New macro.
+       * config/arm/arm.c (arm_have_conditional_execution): Return false if
+       TARGET_COND_ARITH before reload.
+       * config/arm/predicates.md (arm_comparison_operation): Returns true if
+       comparing CC_REGNUM with constant zero.
+       * config/arm/thumb2.md (*thumb2_csinv): New.
+       (*thumb2_movcond): Don't match if TARGET_COND_ARITH.
+
+2020-09-18  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/91957
+       * ira.c (ira_setup_eliminable_regset): Skip the special elimination
+       handling of the hard frame pointer if the hard frame pointer is fixed.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97081
+       * tree-vect-patterns.c (vect_recog_rotate_pattern): Use the
+       precision of the shifted operand to determine the mask.
+
+2020-09-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_print_operand): Update comment.
+       Cast to long when printing values formatted as long.
+       Support 'd', 'e', 'f' and 'g' modifiers.
+       Extract operand value with a single operation for all modifiers.
+       * doc/extend.texi (msp430Operandmodifiers): New.
+
+2020-09-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (increment_stack): Mark insns which increment
+       the stack as frame_related.
+       (msp430_expand_prologue): Add comments.
+       (msp430_expand_epilogue): Mark insns which decrement
+       the stack as frame_related.
+       Add reg_note to stack pop insns describing position of register
+       variables on the stack.
+
+2020-09-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-tree.c (execute_omp_gcn): Delete.
+       (make_pass_omp_gcn): Delete.
+       * config/gcn/t-gcn-hsa (PASSES_EXTRA): Delete.
+       * config/gcn/gcn-passes.def: Removed.
+
+2020-09-18  Alex Coplan  <alex.coplan@arm.com>
+
+       * cfgloop.h (nb_iter_bound): Reword comment describing is_exit.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97095
+       * tree-vect-loop.c (vectorizable_live_operation): Get
+       the SLP vector type from the correct object.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97089
+       * tree-ssa-sccvn.c (visit_nary_op): Do not replace unsigned
+       divisions.
+
+2020-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97098
+       * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): Do not
+       recurse to children when all stmts were already visited.
+
+2020-09-17  Sergei Trofimovich  <siarheit@google.com>
+
+       * profile.c (sort_hist_values): Clarify hist format:
+       start with a value, not counter.
+
+2020-09-17  Yeting Kuo  <fakepaper56@gmail.com>
+
+       * config/riscv/riscv.h (CSW_MAX_OFFSET): Fix typo.
+
+2020-09-17  Patrick Palka  <ppalka@redhat.com>
+
+       PR c/80076
+       * gensupport.c (alter_attrs_for_subst_insn) <case SET_ATTR>:
+       Reduce indentation of misleadingly indented code fragment.
+       * lra-constraints.c (multi_block_pseudo_p): Likewise.
+       * sel-sched-ir.c (merge_fences): Likewise.
+
+2020-09-17  Martin Sebor  <msebor@redhat.com>
+
+       * doc/invoke.texi (-Wuninitialized): Document -Wuninitialized for
+       allocated objects.
+        (-Wmaybe-uninitialized): Same.
+
+2020-09-17  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (visit_nary_op): Value-number multiplications
+       and divisions to negates of available negated forms.
+
+2020-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/97078
+       * function.c (use_register_for_decl): Test cfun->tail_call_marked
+       for a parameter here instead of...
+       (assign_parm_setup_reg): ...here.
+
+2020-09-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (multi_precision_range_tests): Normalize symbolics when copying to a
+       multi-range.
+       * value-range.cc (irange::copy_legacy_range): Add test.
+
+2020-09-17  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_node::get_availability): Fix availability of
+       functions in other partitions
+       * varpool.c (varpool_node::get_availability): Likewise.
+
+2020-09-17  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky.opt (msim): New.
+       * doc/invoke.texi (C-SKY Options): Document -msim.
+       * config/csky/csky-elf.h (LIB_SPEC): Add simulator runtime.
+
+2020-09-17  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/cppenv.texi: Use @code{} instead of @samp{@command{}}
+       around 'date %s'.
+
+2020-09-17  liuhongt  <hongtao.liu@intel.com>
+
+       * common/config/i386/i386-common.c
+       (OPTION_MASK_ISA_AVX_UNSET): Remove OPTION_MASK_ISA_XSAVE_UNSET.
+       (OPTION_MASK_ISA_XSAVE_UNSET): Add OPTION_MASK_ISA_AVX_UNSET.
+
+2020-09-16  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/rs6000/rs6000.c (have_compare_and_set_mask): Use
+       E_*mode in cases.
+
+2020-09-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/predicates.md (current_file_function_operand):
+       Remove argument from rs6000_pcrel_p call.
+       * config/rs6000/rs6000-logue.c (rs6000_decl_ok_for_sibcall):
+       Likewise.
+       (rs6000_global_entry_point_prologue_needed_p): Likewise.
+       (rs6000_output_function_prologue): Likewise.
+       * config/rs6000/rs6000-protos.h (rs6000_function_pcrel_p): New
+       prototype.
+       (rs6000_pcrel_p): Remove argument.
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove
+       argument from rs6000_pcrel_p call.
+       (rs6000_call_template_1): Likewise.
+       (rs6000_indirect_call_template_1): Likewise.
+       (rs6000_longcall_ref): Likewise.
+       (rs6000_call_aix): Likewise.
+       (rs6000_sibcall_aix): Likewise.
+       (rs6000_function_pcrel_p): Rename from rs6000_pcrel_p.
+       (rs6000_pcrel_p): Rewrite.
+       * config/rs6000/rs6000.md (*pltseq_plt_pcrel<mode>): Remove
+       argument from rs6000_pcrel_p call.
+       (*call_local<mode>): Likewise.
+       (*call_value_local<mode>): Likewise.
+       (*call_nonlocal_aix<mode>): Likewise.
+       (*call_value_nonlocal_aix<mode>): Likewise.
+       (*call_indirect_pcrel<mode>): Likewise.
+       (*call_value_indirect_pcrel<mode>): Likewise.
+
+2020-09-16  Marek Polacek  <polacek@redhat.com>
+
+       PR preprocessor/96935
+       * input.c (get_substring_ranges_for_loc): Return if start.column
+       is less than 1.
+
+2020-09-16  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96295
+       * tree-ssa-uninit.c (maybe_warn_operand): Work harder to avoid
+       warning for objects of empty structs
+
+2020-09-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-eh.c (lower_try_finally_dup_block): Backward propagate slocs
+       to stack restore builtin calls.
+       (cleanup_all_empty_eh): Do again a post-order traversal of the EH
+       region tree.
+
+2020-09-16  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * tree-vect-loop.c (vect_need_peeling_or_partial_vectors_p): New
+       function.
+       (vect_analyze_loop_2): Make use of it not to select partial
+       vectors if no peel is required.
+       (determine_peel_for_niter): Move out some logic into
+       'vect_need_peeling_or_partial_vectors_p'.
+
+2020-09-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/97032
+       * cfgexpand.c (asm_clobber_reg_kind): Set sp_is_clobbered_by_asm
+       to true if the stack pointer is clobbered by asm statement.
+       * emit-rtl.h (rtl_data): Add sp_is_clobbered_by_asm.
+       * config/i386/i386.c (ix86_get_drap_rtx): Set need_drap to true
+       if the stack pointer is clobbered by asm statement.
+
+2020-09-16  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/vector.md(*vec_tf_to_v1tf): Use "f" instead of "v"
+         for the source operand.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config.gcc (C-SKY): Set use_gcc_stdint=wrap for elf target.
+
+2020-09-16  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_stmt_vec_info::num_slp_uses): Remove.
+       (STMT_VINFO_NUM_SLP_USES): Likewise.
+       (vect_free_slp_instance): Adjust.
+       (vect_update_shared_vectype): Declare.
+       * tree-vectorizer.c (vec_info::~vec_info): Adjust.
+       * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
+       (vectorizable_live_operation): Use vector type from
+       SLP_TREE_REPRESENTATIVE.
+       (vect_transform_loop): Adjust.
+       * tree-vect-data-refs.c (vect_slp_analyze_node_alignment):
+       Set the shared vector type.
+       * tree-vect-slp.c (vect_free_slp_tree): Remove final_p
+       parameter, remove STMT_VINFO_NUM_SLP_USES updating.
+       (vect_free_slp_instance): Adjust.
+       (vect_create_new_slp_node): Remove STMT_VINFO_NUM_SLP_USES
+       updating.
+       (vect_update_shared_vectype): Always compare with the
+       present vector type, update if NULL.
+       (vect_build_slp_tree_1): Do not update the shared vector
+       type here.
+       (vect_build_slp_tree_2): Adjust.
+       (slp_copy_subtree): Likewise.
+       (vect_attempt_slp_rearrange_stmts): Likewise.
+       (vect_analyze_slp_instance): Likewise.
+       (vect_analyze_slp): Likewise.
+       (vect_slp_analyze_node_operations_1): Update the shared
+       vector type.
+       (vect_slp_analyze_operations): Adjust.
+       (vect_slp_analyze_bb_1): Likewise.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/t-csky-linux (CSKY_MULTILIB_OSDIRNAMES): Use mfloat-abi.
+       (MULTILIB_OPTIONS): Likewise.
+       * config/csky/t-csky-elf (MULTILIB_OPTIONS): Likewise.
+       (MULTILIB_EXCEPTIONS): Likewise.
+
+2020-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/arm.c (arm_option_restore): Comment out opts argument
+       name to avoid unused parameter warnings.
+
+2020-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * optc-save-gen.awk: In cl_optimization_stream_out use
+       bp_pack_var_len_{int,unsigned} instead of bp_pack_value.  In
+       cl_optimization_stream_in use bp_unpack_var_len_{int,unsigned}
+       instead of bp_unpack_value.  Formatting fix.
+
+2020-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/97053
+       * gimple-ssa-store-merging.c (check_no_overlap): Add FIRST_ORDER,
+       START, FIRST_EARLIER and LAST_EARLIER arguments.  Return false if
+       any stores between FIRST_EARLIER inclusive and LAST_EARLIER exclusive
+       has order in between FIRST_ORDER and LAST_ORDER and overlaps the to
+       be merged store.
+       (imm_store_chain_info::try_coalesce_bswap): Add FIRST_EARLIER argument.
+       Adjust check_no_overlap caller.
+       (imm_store_chain_info::coalesce_immediate_stores): Add first_earlier
+       and last_earlier variables, adjust them during iterations.  Adjust
+       check_no_overlap callers, call check_no_overlap even when extending
+       overlapping stores by extra INTEGER_CST stores.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky-linux-elf.h (GLIBC_DYNAMIC_LINKER): Use mfloat-abi.
+
+2020-09-16  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/97019
+       * config/rs6000/rs6000-p8swap.c (find_alignment_op): Adjust to
+       support multiple defintions which are all AND operations with
+       the mask -16B.
+       (recombine_lvx_pattern): Adjust to handle multiple AND operations
+       from find_alignment_op.
+       (recombine_stvx_pattern): Likewise.
+
+2020-09-16  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky.md (CSKY_NPARM_FREGS): New.
+       (call_value_internal_vs/d): New.
+       (untyped_call): New.
+       * config/csky/csky.h (TARGET_SINGLE_FPU): New.
+       (TARGET_DOUBLE_FPU): New.
+       (FUNCTION_VARG_REGNO_P): New.
+       (CSKY_VREG_MODE_P): New.
+       (FUNCTION_VARG_MODE_P): New.
+       (CUMULATIVE_ARGS): Add extra regs info.
+       (INIT_CUMULATIVE_ARGS): Use csky_init_cumulative_args.
+       (FUNCTION_ARG_REGNO_P): Use FUNCTION_VARG_REGNO_P.
+       * config/csky/csky-protos.h (csky_init_cumulative_args): Extern.
+       * config/csky/csky.c (csky_cpu_cpp_builtins): Support TARGET_HARD_FLOAT_ABI.
+       (csky_function_arg): Likewise.
+       (csky_num_arg_regs): Likewise.
+       (csky_function_arg_advance): Likewise.
+       (csky_function_value): Likewise.
+       (csky_libcall_value): Likewise.
+       (csky_function_value_regno_p): Likewise.
+       (csky_arg_partial_bytes): Likewise.
+       (csky_setup_incoming_varargs): Likewise.
+       (csky_init_cumulative_args): New.
+
+2020-09-16  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (altivec_init_builtins): Fix name
+       of __builtin_altivec_xst_len_r.
+
+2020-09-15  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * rtlanal.c (set_noop_p): Treat subregs of registers in
+       different modes conservatively.
+
+2020-09-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Make swap
+       argument by-value and do not change it.
+       (vect_build_slp_tree_2): Adjust, set swap to NULL after last
+       use.
+
+2020-09-15  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * match.pd (T)(A) +- (T)(B) -> (T)(A +- B): New simplification.
+
+2020-09-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/96475
+       * bb-reorder.c (duplicate_computed_gotos): If we did anything, run
+       cleanup_cfg.
+
+2020-09-15  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_2): Also consider
+       building an operand from scalars when building it did not
+       fail fatally but avoid messing with the upcall splitting
+       of groups.
+
+2020-09-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Do not
+       check +D32 for CMSE if -mfloat-abi=soft
+
+2020-09-15  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96744
+       * config/i386/x86-tune-costs.h (struct processor_costs):
+       Increase mask <-> integer cost for non AVX512 target to avoid
+       spill gpr to mask. Also retune mask <-> integer and
+       mask_load/store for skylake_cost.
+
+2020-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/97028
+       * config/i386/sse.md (mul<mode>3<mask_name>_bcs,
+       <avx512>_div<mode>3<mask_name>_bcst): Use <avx512bcst> instead of
+       <<avx512bcst>>.
+
+2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR fortran/96668
+       * gimplify.c (gimplify_omp_for): Add 'bool openacc' argument;
+       update omp_finish_clause calls.
+       (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses,
+       gimplify_expr, gimplify_omp_loop): Update omp_finish_clause
+       and/or gimplify_for calls.
+       * langhooks-def.h (lhd_omp_finish_clause): Add bool openacc arg.
+       * langhooks.c (lhd_omp_finish_clause): Likewise.
+       * langhooks.h (lhd_omp_finish_clause): Likewise.
+       * omp-low.c (scan_sharing_clauses): Keep GOMP_MAP_TO_PSET cause for
+       'declare target' vars.
+
+2020-09-15  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * genmatch.c (dt_simplify::gen_1): Emit check on final simplification
+       result when "!" is specified on toplevel output expr.
+       * match.pd ((A * C) +- (B * C) -> (A +- B) * C): Allow folding on expr
+       with multi-use operands if final result is a simple gimple value.
+
+2020-09-14  Sergei Trofimovich  <siarheit@google.com>
+
+       * doc/invoke.texi: fix '-fprofile-reproducibility' option
+       spelling in manual.
+
+2020-09-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.md ("nop"): Re-define as `ja 0'.
+
+2020-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cgraphunit.c (cgraph_node::expand_thunk): Make sure to set
+       cfun->tail_call_marked when forcing a tail call.
+       * function.c (assign_parm_setup_reg): Always use a register to
+       load a parameter passed by reference if cfun->tail_call_marked.
+
+2020-09-14  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/power10.md (power10-mffgpr, power10-mftgpr): Rename to
+       power10-mtvsr/power10-mfvsr.
+       * config/rs6000/power6.md (X2F_power6, power6-mftgpr, power6-mffgpr):
+       Remove.
+       * config/rs6000/power8.md (power8-mffgpr, power8-mftgpr): Rename to
+       power8-mtvsr/power8-mfvsr.
+       * config/rs6000/power9.md (power9-mffgpr, power9-mftgpr): Rename to
+       power9-mtvsr/power9-mfvsr.
+       * config/rs6000/rs6000.c (rs6000_adjust_cost): Remove Power6
+       TYPE_MFFGPR cases.
+       * config/rs6000/rs6000.md (mffgpr, mftgpr, zero_extendsi<mode>2,
+       extendsi<mode>2, @signbit<mode>2_dm, lfiwax, lfiwzx, *movsi_internal1,
+       movsi_from_sf, *movdi_from_sf_zero_ext, *mov<mode>_internal,
+       movsd_hardfloat, movsf_from_si, *mov<mode>_hardfloat64, p8_mtvsrwz,
+       p8_mtvsrd_df, p8_mtvsrd_sf, p8_mfvsrd_3_<mode>, *movdi_internal64,
+       unpack<mode>_dm): Rename mffgpr/mftgpr to mtvsr/mfvsr.
+       * config/rs6000/vsx.md (vsx_mov<mode>_64bit, vsx_extract_<mode>,
+       vsx_extract_si, *vsx_extract_<mode>_p8): Likewise.
+
+2020-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/arm.opt (x_arm_arch_string, x_arm_cpu_string,
+       x_arm_tune_string): Remove TargetSave entries.
+       (march=, mcpu=, mtune=): Add Save keyword.
+       * config/arm/arm.c (arm_option_save): Remove.
+       (TARGET_OPTION_SAVE): Don't redefine.
+       (arm_option_restore): Don't restore x_arm_*_string here.
+
+2020-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * opt-read.awk: Also initialize extra_target_var_types array.
+       * opth-gen.awk: Emit explicit_mask arrays to struct cl_optimization
+       and cl_target_option.  Adjust cl_optimization_save,
+       cl_optimization_restore, cl_target_option_save and
+       cl_target_option_restore declarations.
+       * optc-save-gen.awk: Add opts_set argument to cl_optimization_save,
+       cl_optimization_restore, cl_target_option_save and
+       cl_target_option_restore functions and save or restore opts_set
+       next to the opts values into or from explicit_mask arrays.
+       In cl_target_option_eq and cl_optimization_option_eq compare
+       explicit_mask arrays, in cl_target_option_hash and cl_optimization_hash
+       hash them and in cl_target_option_stream_out,
+       cl_target_option_stream_in, cl_optimization_stream_out and
+       cl_optimization_stream_in stream them.
+       * tree.h (build_optimization_node, build_target_option_node): Add
+       opts_set argument.
+       * tree.c (build_optimization_node): Add opts_set argument, pass it
+       to cl_optimization_save.
+       (build_target_option_node): Add opts_set argument, pass it to
+       cl_target_option_save.
+       * function.c (invoke_set_current_function_hook): Adjust
+       cl_optimization_restore caller.
+       * ipa-inline-transform.c (inline_call): Adjust cl_optimization_restore
+       and build_optimization_node callers.
+       * target.def (TARGET_OPTION_SAVE, TARGET_OPTION_RESTORE): Add opts_set
+       argument.
+       * target-globals.c (save_target_globals_default_opts): Adjust
+       cl_optimization_restore callers.
+       * toplev.c (process_options): Adjust build_optimization_node and
+       cl_optimization_restore callers.
+       (target_reinit): Adjust cl_optimization_restore caller.
+       * tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers):
+       Adjust build_optimization_node and cl_optimization_restore callers.
+       * doc/tm.texi: Updated.
+       * config/aarch64/aarch64.c (aarch64_override_options): Adjust
+       build_target_option_node caller.
+       (aarch64_option_save, aarch64_option_restore): Add opts_set argument.
+       (aarch64_set_current_function): Adjust cl_target_option_restore
+       caller.
+       (aarch64_option_valid_attribute_p): Adjust cl_target_option_save,
+       cl_target_option_restore, cl_optimization_restore,
+       build_optimization_node and build_target_option_node callers.
+       * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Adjust
+       cl_target_option_restore and build_target_option_node callers.
+       * config/arm/arm.c (arm_option_save, arm_option_restore): Add
+       opts_set argument.
+       (arm_option_override): Adjust cl_target_option_save,
+       build_optimization_node and build_target_option_node callers.
+       (arm_set_current_function): Adjust cl_target_option_restore caller.
+       (arm_valid_target_attribute_tree): Adjust build_target_option_node
+       caller.
+       (add_attribute): Formatting fix.
+       (arm_valid_target_attribute_p): Adjust cl_optimization_restore,
+       cl_target_option_restore, arm_valid_target_attribute_tree and
+       build_optimization_node callers.
+       * config/arm/arm-c.c (arm_pragma_target_parse): Adjust
+       cl_target_option_restore callers.
+       * config/csky/csky.c (csky_option_override): Adjust
+       build_target_option_node and cl_target_option_save callers.
+       * config/gcn/gcn.c (gcn_fixup_accel_lto_options): Adjust
+       build_optimization_node and cl_optimization_restore callers.
+       * config/i386/i386-builtins.c (get_builtin_code_for_version):
+       Adjust cl_target_option_save and cl_target_option_restore
+       callers.
+       * config/i386/i386-c.c (ix86_pragma_target_parse): Adjust
+       build_target_option_node and cl_target_option_restore callers.
+       * config/i386/i386-options.c (ix86_function_specific_save,
+       ix86_function_specific_restore): Add opts_set arguments.
+       (ix86_valid_target_attribute_tree): Adjust build_target_option_node
+       caller.
+       (ix86_valid_target_attribute_p): Adjust build_optimization_node,
+       cl_optimization_restore, cl_target_option_restore,
+       ix86_valid_target_attribute_tree and build_optimization_node callers.
+       (ix86_option_override_internal): Adjust build_target_option_node
+       caller.
+       (ix86_reset_previous_fndecl, ix86_set_current_function): Adjust
+       cl_target_option_restore callers.
+       * config/i386/i386-options.h (ix86_function_specific_save,
+       ix86_function_specific_restore): Add opts_set argument.
+       * config/nios2/nios2.c (nios2_option_override): Adjust
+       build_target_option_node caller.
+       (nios2_option_save, nios2_option_restore): Add opts_set argument.
+       (nios2_valid_target_attribute_tree): Adjust build_target_option_node
+       caller.
+       (nios2_valid_target_attribute_p): Adjust build_optimization_node,
+       cl_optimization_restore, cl_target_option_save and
+       cl_target_option_restore callers.
+       (nios2_set_current_function, nios2_pragma_target_parse): Adjust
+       cl_target_option_restore callers.
+       * config/pru/pru.c (pru_option_override): Adjust
+       build_target_option_node caller.
+       (pru_set_current_function): Adjust cl_target_option_restore
+       callers.
+       * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust
+       cl_target_option_save caller.
+       (rs6000_option_override_internal): Adjust build_target_option_node
+       caller.
+       (rs6000_valid_attribute_p): Adjust build_optimization_node,
+       cl_optimization_restore, cl_target_option_save,
+       cl_target_option_restore and build_target_option_node callers.
+       (rs6000_pragma_target_parse): Adjust cl_target_option_restore and
+       build_target_option_node callers.
+       (rs6000_activate_target_options): Adjust cl_target_option_restore
+       callers.
+       (rs6000_function_specific_save, rs6000_function_specific_restore):
+       Add opts_set argument.
+       * config/s390/s390.c (s390_function_specific_restore): Likewise.
+       (s390_option_override_internal): Adjust s390_function_specific_restore
+       caller.
+       (s390_option_override, s390_valid_target_attribute_tree): Adjust
+       build_target_option_node caller.
+       (s390_valid_target_attribute_p): Adjust build_optimization_node,
+       cl_optimization_restore and cl_target_option_restore callers.
+       (s390_activate_target_options): Adjust cl_target_option_restore
+       caller.
+       * config/s390/s390-c.c (s390_cpu_cpp_builtins): Adjust
+       cl_target_option_save caller.
+       (s390_pragma_target_parse): Adjust build_target_option_node and
+       cl_target_option_restore callers.
+
+2020-09-13  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/pa/pa.c (hppa_rtx_costs) [ASHIFT, ASHIFTRT, LSHIFTRT]:
+       Provide accurate costs for DImode shifts of integer constants.
+
+2020-09-12  Roger Sayle  <roger@nextmovesoftware.com>
+           John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.md (shrpsi4_1, shrpsi4_2): New define_insns split
+       out from previous shrpsi4 providing two commutitive variants using
+       plus_xor_ior_operator as a predicate.
+       (shrpdi4_1, shrpdi4_2, shrpdi_3, shrpdi_4): Likewise DImode versions
+       where _1 and _2 take register shifts, and _3 and _4 for integers.
+       (rotlsi3_internal): Name this anonymous instruction.
+       (rotrdi3): New DImode insn copied from rotrsi3.
+       (rotldi3): New DImode expander copied from rotlsi3.
+       (rotldi4_internal): New DImode insn copied from rotsi3_internal.
+
+2020-09-11  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_maybe_emit_maxc_minc): Rename
+       from rs6000_emit_p9_fp_minmax.  Change return type to bool.  Add
+       comments to document NaN/signed zero behavior.
+       (rs6000_maybe_emit_fp_cmove): Rename from rs6000_emit_p9_fp_cmove.
+       (have_compare_and_set_mask): New helper function.
+       (rs6000_emit_cmove): Update calls to new names and the new helper
+       function.
+
+2020-09-11  Nathan Sidwell  <nathan@acm.org>
+
+       * config/i386/sse.md (mov<mode>): Fix operand indices.
+
+2020-09-11  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96903
+       * builtins.c (compute_objsize): Remove incorrect offset adjustment.
+       (compute_objsize): Adjust offset range here instead.
+
+2020-09-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97020
+       * tree-vect-slp.c (vect_slp_analyze_operations): Apply
+       SLP costs when doing loop vectorization.
+
+2020-09-11  Tom de Vries  <tdevries@suse.de>
+
+       PR target/96964
+       * config/nvptx/nvptx.md (define_expand "atomic_test_and_set"): New
+       expansion.
+
+2020-09-11  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_hard_regno_mode_ok): Align TImode registers.
+       * config/gcn/gcn.md: Assert that TImode registers do not early clobber.
+
+2020-09-11  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_instance::location): New method.
+       (vect_schedule_slp): Adjust prototype.
+       * tree-vectorizer.c (vec_info::remove_stmt): Adjust
+       the BB region begin if we removed the stmt it points to.
+       * tree-vect-loop.c (vect_transform_loop): Adjust.
+       * tree-vect-slp.c (_slp_instance::location): Implement.
+       (vect_analyze_slp_instance): For BB vectorization set
+       vect_location to that of the instance.
+       (vect_slp_analyze_operations): Likewise.
+       (vect_bb_vectorization_profitable_p): Remove wrapper.
+       (vect_slp_analyze_bb_1): Remove cost check here.
+       (vect_slp_region): Cost check and code generate subgraphs separately,
+       report optimized locations and missed optimizations due to
+       profitability for each of them.
+       (vect_schedule_slp): Get the vector of SLP graph entries to
+       vectorize as argument.
+
+2020-09-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/97013
+       * tree-vect-slp.c (vect_slp_analyze_bb_1): Remove duplicate dumping.
+
+2020-09-11  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_1): Check vector
+       types for all lanes are compatible.
+       (vect_analyze_slp_instance): Appropriately check for stores.
+       (vect_schedule_slp): Likewise.
+
+2020-09-11  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_value): Fix undefined
+       behaviour.
+
+2020-09-11  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_value): Handle negative
+       __int128.
+
+2020-09-11  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Change default.
+
+2020-09-10  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000-protos.h (rs6000_emit_cmove): Change return
+       type to bool.
+       (rs6000_emit_int_cmove): Change return type to bool.
+       * config/rs6000/rs6000.c (rs6000_emit_cmove): Change return type
+       to bool.
+       (rs6000_emit_int_cmove): Change return type to bool.
+
+2020-09-10  Tom de Vries  <tdevries@suse.de>
+
+       PR target/97004
+       * config/nvptx/nvptx.c (nvptx_assemble_value): Handle shift by
+       number of bits in shift operand.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * lto-streamer-out.c (collect_block_tree_leafs): Recurse on
+       root rather than BLOCK_SUBBLOCKS (root).
+
+2020-09-10  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Add Cortex-R82.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Add entry for Cortex-R82.
+
+2020-09-10  Alex Coplan  <alex.coplan@arm.com>
+
+       * common/config/aarch64/aarch64-common.c
+       (aarch64_get_extension_string_for_isa_flags): Don't force +crc for
+       Armv8-R.
+       * config/aarch64/aarch64-arches.def: Add entry for Armv8-R.
+       * config/aarch64/aarch64-c.c (aarch64_define_unconditional_macros): Set
+       __ARM_ARCH_PROFILE correctly for Armv8-R.
+       * config/aarch64/aarch64.h (AARCH64_FL_V8_R): New.
+       (AARCH64_FL_FOR_ARCH8_R): New.
+       (AARCH64_ISA_V8_R): New.
+       * doc/invoke.texi: Add Armv8-R to architecture table.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/arm.c (arm_override_options_after_change_1): Add opts_set
+       argument, test opts_set->x_str_align_functions rather than
+       opts->x_str_align_functions.
+       (arm_override_options_after_change, arm_option_override_internal,
+       arm_set_current_function): Adjust callers.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96939
+       * config/arm/arm.c (arm_override_options_after_change): Don't call
+       arm_configure_build_target here.
+       (arm_set_current_function): Call arm_override_options_after_change_1
+       at the end.
+
+2020-09-10  Pat Haugen  <pthaugen@linux.ibm.com>
+
+       * config/rs6000/rs6000.md
+       (lfiwzx, floatunssi<mode>2_lfiwzx, p8_mtvsrwz, p8_mtvsrd_sf): Fix insn
+       type.
+       * config/rs6000/vsx.md
+       (vsx_concat_<mode>, vsx_splat_<mode>_reg, vsx_splat_v4sf): Likewise.
+
+2020-09-10  Jonathan Yong  <10walls@gmail.com>
+
+       * config.host: Adjust plugin name for Windows.
+
+2020-09-10  Tom de Vries  <tdevries@suse.de>
+
+       PR tree-optimization/97000
+       * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): Don't clear
+       flag for IFN_UNIQUE.
+
+2020-09-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/93865
+       * lto-streamer.h (struct output_block): Add emit_pwd member.
+       * lto-streamer-out.c: Include toplev.h.
+       (clear_line_info): Set emit_pwd.
+       (lto_output_location_1): Encode the ob->current_file != xloc.file
+       bit directly into the location number.  If changing file, emit
+       additionally a bit whether pwd is emitted and emit it before the
+       first relative pathname since clear_line_info.
+       (output_function, output_constructor): Don't call clear_line_info
+       here.
+       * lto-streamer-in.c (struct string_pair_map): New type.
+       (struct string_pair_map_hasher): New type.
+       (string_pair_map_hasher::hash): New method.
+       (string_pair_map_hasher::equal): New method.
+       (path_name_pair_hash_table, string_pair_map_allocator): New variables.
+       (relative_path_prefix, canon_relative_path_prefix,
+       canon_relative_file_name): New functions.
+       (canon_file_name): Add relative_prefix argument, if non-NULL
+       and string is a relative path, return canon_relative_file_name.
+       (lto_location_cache::input_location_and_block): Decode file change
+       bit from the location number.  If changing file, unpack bit whether
+       pwd is streamed and stream in pwd.  Adjust canon_file_name caller.
+       (lto_free_file_name_hash): Delete path_name_pair_hash_table
+       and string_pair_map_allocator.
+
+2020-09-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96043
+       * tree-vectorizer.h (_slp_instance::cost_vec): New.
+       (_slp_instance::subgraph_entries): Likewise.
+       (BB_VINFO_TARGET_COST_DATA): Remove.
+       * tree-vect-slp.c (vect_free_slp_instance): Free
+       cost_vec and subgraph_entries.
+       (vect_analyze_slp_instance): Initialize them.
+       (vect_slp_analyze_operations): Defer passing costs to
+       the target, instead record them in the SLP graph entry.
+       (get_ultimate_leader): New helper for graph partitioning.
+       (vect_bb_partition_graph_r): Likewise.
+       (vect_bb_partition_graph): New function to partition the
+       SLP graph into independently costable parts.
+       (vect_bb_vectorization_profitable_p): Adjust to work on
+       a subgraph.
+       (vect_bb_vectorization_profitable_p): New wrapper,
+       discarding non-profitable vectorization of subgraphs.
+       (vect_slp_analyze_bb_1): Call vect_bb_partition_graph before
+       costing.
+
+2020-09-09  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/94355
+       * doc/invoke.texi: Document -Wanalyzer-mismatching-deallocation.
+
+2020-09-09  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR rtl-optimization/96475
+       * bb-reorder.c (maybe_duplicate_computed_goto): Remove single_pred_p
+       micro-optimization.
+
+2020-09-09  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Fix Wformat
+       warning.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Do
+       nothing when the permutation doesn't permute.
+
+2020-09-09  Tom de Vries  <tdevries@suse.de>
+
+       PR target/96991
+       * config/nvptx/nvptx.c (write_fn_proto): Fix boolean type check.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_comparison): Allow
+       STMT_VINFO_LIVE_P stmts.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_condition): Allow
+       STMT_VINFO_LIVE_P stmts.
+
+2020-09-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96978
+       * tree-vect-stmts.c (vectorizable_condition): Do not
+       look at STMT_VINFO_LIVE_P for BB vectorization.
+       (vectorizable_comparison): Likewise.
+
+2020-09-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96955
+       * config/i386/i386.md (get_thread_pointer<mode>): New
+       expander.
+
+2020-09-08  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (scatter<mode>_insn_1offset_ds<exec_scatter>):
+       Add waitcnt.
+       * config/gcn/gcn.md (*mov<mode>_insn, *movti_insn): Add waitcnt to
+       ds_write alternatives.
+
+2020-09-08  Julian Brown  <julian@codesourcery.com>
+
+       * config/gcn/mkoffload.c (process_asm): Initialise regcount.  Update
+       scanning for SGPR/VGPR usage for HSACO v3.
+
+2020-09-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/96967
+       * tree-vrp.c (find_case_label_range): Cast label range to
+       type of switch operand.
+
+2020-09-08  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_file_end): Fix jumbled
+       HAVE_AS_MSPABI_ATTRIBUTE and HAVE_AS_GNU_ATTRIBUTE checks.
+       * configure: Regenerate.
+       * configure.ac: Use ".mspabi_attribute 4,2" to check for assembler
+       support for this object attribute directive.
+
+2020-09-08  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * common/config/msp430/msp430-common.c (msp430_handle_option): Remove
+       OPT_mcpu_ handling.
+       Set target_cpu value to new enum values when parsing certain -mmcu=
+       values.
+       * config/msp430/msp430-opts.h (enum msp430_cpu_types): New.
+       * config/msp430/msp430.c (msp430_option_override): Handle new
+       target_cpu enum values.
+       Set target_cpu using extracted value for given MCU when -mcpu=
+       option is not passed by the user.
+       * config/msp430/msp430.opt: Handle -mcpu= values using enums.
+
+2020-09-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR rtl-optimization/96796
+       * lra-constraints.c (in_class_p): Add a default-false
+       allow_all_reload_class_changes_p parameter.  Do not treat
+       reload moves specially when the parameter is true.
+       (get_reload_reg): Try to narrow the class of an existing OP_OUT
+       reload if we're reloading a reload pseudo in a reload instruction.
+
+2020-09-07  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters): Revert
+       dead-code removal introduced by 09fa6acd8d9 + add a comment to
+       clarify.
+
+2020-09-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * doc/rtl.texi (subreg): Fix documentation to state there is a known
+       number of undefined bits in regs and subregs of MODE_PARTIAL_INT modes.
+
+2020-09-07  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.c (msp430_option_override): Don't set the
+       ISA to 430 when the MCU is unrecognized.
+
+2020-09-07  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (darwin_libc_has_function): Report sincos
+       available from 10.9.
+
+2020-09-07  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64.md (*adds_mul_imm_<mode>): Delete.
+       (*subs_mul_imm_<mode>): Delete.
+       (*adds_<optab><mode>_multp2): Delete.
+       (*subs_<optab><mode>_multp2): Delete.
+       (*add_mul_imm_<mode>): Delete.
+       (*add_<optab><ALLX:mode>_mult_<GPI:mode>): Delete.
+       (*add_<optab><SHORT:mode>_mult_si_uxtw): Delete.
+       (*add_<optab><mode>_multp2): Delete.
+       (*add_<optab>si_multp2_uxtw): Delete.
+       (*add_uxt<mode>_multp2): Delete.
+       (*add_uxtsi_multp2_uxtw): Delete.
+       (*sub_mul_imm_<mode>): Delete.
+       (*sub_mul_imm_si_uxtw): Delete.
+       (*sub_<optab><mode>_multp2): Delete.
+       (*sub_<optab>si_multp2_uxtw): Delete.
+       (*sub_uxt<mode>_multp2): Delete.
+       (*sub_uxtsi_multp2_uxtw): Delete.
+       (*neg_mul_imm_<mode>2): Delete.
+       (*neg_mul_imm_si2_uxtw): Delete.
+       * config/aarch64/predicates.md (aarch64_pwr_imm3): Delete.
+       (aarch64_pwr_2_si): Delete.
+       (aarch64_pwr_2_di): Delete.
+
+2020-09-07  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/aarch64/aarch64.md
+       (*adds_<optab><ALLX:mode>_<GPI:mode>): Ensure extended operand
+       agrees with width of extension specifier.
+       (*subs_<optab><ALLX:mode>_<GPI:mode>): Likewise.
+       (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
+       (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
+       (*add_<optab><ALLX:mode>_<GPI:mode>): Likewise.
+       (*add_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
+       (*add_uxt<mode>_shift2): Likewise.
+       (*sub_<optab><ALLX:mode>_<GPI:mode>): Likewise.
+       (*sub_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
+       (*sub_uxt<mode>_shift2): Likewise.
+       (*cmp_swp_<optab><ALLX:mode>_reg<GPI:mode>): Likewise.
+       (*cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Likewise.
+
+2020-09-07  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_analyze_slp_instance): Dump
+       stmts we start SLP analysis from, failure and splitting.
+       (vect_schedule_slp): Dump SLP graph entry and root stmt
+       we are about to emit code for.
+
+2020-09-07  Martin Storsjö  <martin@martin.st>
+
+       * dwarf2out.c (file_name_acquire): Make a strchr return value
+       pointer to const.
+
+2020-09-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/94235
+       * lto-streamer-out.c (output_cfg): Also stream goto_locus for edges.
+       Use bp_pack_var_len_unsigned instead of streamer_write_uhwi to stream
+       e->dest->index and e->flags.
+       (output_function): Call output_cfg before output_ssa_name, rather than
+       after streaming all bbs.
+       * lto-streamer-in.c (input_cfg): Stream in goto_locus for edges.
+       Use bp_unpack_var_len_unsigned instead of streamer_read_uhwi to stream
+       in dest_index and edge_flags.
+
+2020-09-07  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vectorizable_live_operation): Adjust.
+       * tree-vect-loop.c (vectorizable_live_operation): Vectorize
+       live lanes out of basic-block vectorization nodes.
+       * tree-vect-slp.c (vect_bb_slp_mark_live_stmts): New function.
+       (vect_slp_analyze_operations): Analyze live lanes and their
+       vectorization possibility after the whole SLP graph is final.
+       (vect_bb_slp_scalar_cost): Adjust for vectorized live lanes.
+       * tree-vect-stmts.c (can_vectorize_live_stmts): Adjust.
+       (vect_transform_stmt): Call can_vectorize_live_stmts also for
+       basic-block vectorization.
+
+2020-09-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96698
+       PR tree-optimization/96920
+       * tree-vectorizer.h (loop_vec_info::reduc_latch_defs): Remove.
+       (loop_vec_info::reduc_latch_slp_defs): Likewise.
+       * tree-vect-stmts.c (vect_transform_stmt): Remove vectorized
+       cycle PHI latch code.
+       * tree-vect-loop.c (maybe_set_vectorized_backedge_value): New
+       helper to set vectorized cycle PHI latch values.
+       (vect_transform_loop): Walk over all PHIs again after
+       vectorizing them, calling maybe_set_vectorized_backedge_value.
+       Call maybe_set_vectorized_backedge_value for each vectorized
+       stmt.  Remove delayed update code.
+       * tree-vect-slp.c (vect_analyze_slp_instance): Initialize
+       SLP instance reduc_phis member.
+       (vect_schedule_slp): Set vectorized cycle PHI latch values.
+
+2020-09-04  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters): Remove
+       dead code as LOOP_VINFO_USING_PARTIAL_VECTORS_P (loop_vinfo) is
+       always verified.
+
+2020-09-04  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/96769
+       * config/arm/thumb1.md: Move movsi splitter for
+       arm_disable_literal_pool after the other movsi splitters.
+
+2020-09-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (range_operator::fold_range): Rename widest_irange
+       to int_range_max.
+       (operator_div::wi_fold): Same.
+       (operator_lshift::op1_range): Same.
+       (operator_rshift::op1_range): Same.
+       (operator_cast::fold_range): Same.
+       (operator_cast::op1_range): Same.
+       (operator_bitwise_and::remove_impossible_ranges): Same.
+       (operator_bitwise_and::op1_range): Same.
+       (operator_abs::op1_range): Same.
+       (range_cast): Same.
+       (widest_irange_tests): Same.
+       (range3_tests): Rename irange3 to int_range3.
+       (int_range_max_tests): Rename from widest_irange_tests.
+       Rename widest_irange to int_range_max.
+       (operator_tests): Rename widest_irange to int_range_max.
+       (range_tests): Same.
+       * tree-vrp.c (find_case_label_range): Same.
+       * value-range.cc (irange::irange_intersect): Same.
+       (irange::invert): Same.
+       * value-range.h: Same.
+
+2020-09-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96931
+       * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): If
+       there's a fallthru edge and no abnormal edge the call is
+       no longer control-altering.
+       (cleanup_control_flow_bb): Pass down the BB to
+       cleanup_call_ctrl_altering_flag.
+
+2020-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * lto-streamer.h (stream_input_location_now): Remove declaration.
+       * lto-streamer-in.c (stream_input_location_now): Remove.
+       (input_eh_region, input_struct_function_base): Use
+       stream_input_location instead of stream_input_location_now.
+
+2020-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * lto-streamer.h (struct output_block): Add reset_locus member.
+       * lto-streamer-out.c (clear_line_info): Set reset_locus to true.
+       (lto_output_location_1): If reset_locus, clear it and ensure
+       current_{file,line,col} is different from xloc members.
+
+2020-09-04  David Faust  <david.faust@oracle.com>
+
+       * config/bpf/bpf.h (ASM_SPEC): Pass -mxbpf to gas, if specified.
+       * config/bpf/bpf.c (bpf_output_call): Support indirect calls in xBPF.
+
+2020-09-03  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/96820
+       * tree-sra.c (create_access): Disqualify candidates with accesses
+       beyond the end of the original aggregate.
+       (maybe_add_sra_candidate): Check that candidate type size fits
+       signed uhwi for the sake of consistency.
+
+2020-09-03  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/rs6000-call.c (rs6000_init_builtin): Update V2DI_type_node
+       and unsigned_V2DI_type_node definitions.
+
+2020-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/96901
+       * tree.h (struct decl_tree_traits): New type.
+       (decl_tree_map): New typedef.
+
+2020-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/94311
+       * gimple.h (gimple_location_ptr, gimple_phi_arg_location_ptr): New
+       functions.
+       * streamer-hooks.h (struct streamer_hooks): Add
+       output_location_and_block callback.  Fix up formatting for
+       output_location.
+       (stream_output_location_and_block): Define.
+       * lto-streamer.h (class lto_location_cache): Fix comment typo.  Add
+       current_block member.
+       (lto_location_cache::input_location_and_block): New method.
+       (lto_location_cache::lto_location_cache): Initialize current_block.
+       (lto_location_cache::cached_location): Add block member.
+       (struct output_block): Add current_block member.
+       (lto_output_location): Formatting fix.
+       (lto_output_location_and_block): Declare.
+       * lto-streamer.c (lto_streamer_hooks_init): Initialize
+       streamer_hooks.output_location_and_block.
+       * lto-streamer-in.c (lto_location_cache::cmp_loc): Also compare
+       block members.
+       (lto_location_cache::apply_location_cache): Handle blocks.
+       (lto_location_cache::accept_location_cache,
+       lto_location_cache::revert_location_cache): Fix up function comments.
+       (lto_location_cache::input_location_and_block): New method.
+       (lto_location_cache::input_location): Implement using
+       input_location_and_block.
+       (input_function): Invoke apply_location_cache after streaming in all
+       bbs.
+       * lto-streamer-out.c (clear_line_info): Set current_block.
+       (lto_output_location_1): New function, moved from lto_output_location,
+       added block handling.
+       (lto_output_location): Implement using lto_output_location_1.
+       (lto_output_location_and_block): New function.
+       * gimple-streamer-in.c (input_phi): Use input_location_and_block
+       to input and cache both location and block.
+       (input_gimple_stmt): Likewise.
+       * gimple-streamer-out.c (output_phi): Use
+       stream_output_location_and_block.
+       (output_gimple_stmt): Likewise.
+
+2020-09-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-generic.c (tree_vec_extract): Remove odd
+       special-casing of boolean vectors.
+       * fold-const.c (fold_ternary_loc): Handle boolean vector
+       type BIT_FIELD_REFs.
+
+2020-09-03  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/87767
+       * config/i386/i386-features.c
+       (replace_constant_pool_with_broadcast): New function.
+       (constant_pool_broadcast): Ditto.
+       (class pass_constant_pool_broadcast): New pass.
+       (make_pass_constant_pool_broadcast): Ditto.
+       (remove_partial_avx_dependency): Call
+       replace_constant_pool_with_broadcast under TARGET_AVX512F, it
+       would save compile time when both pass rpad and cpb are
+       available.
+       (remove_partial_avx_dependency_gate): New function.
+       (class pass_remove_partial_avx_dependency::gate): Call
+       remove_partial_avx_dependency_gate.
+       * config/i386/i386-passes.def: Insert new pass after combine.
+       * config/i386/i386-protos.h
+       (make_pass_constant_pool_broadcast): Declare.
+       * config/i386/sse.md (*avx512dq_mul<mode>3<mask_name>_bcst):
+       New define_insn.
+       (*avx512f_mul<mode>3<mask_name>_bcst): Ditto.
+       * config/i386/avx512fintrin.h (_mm512_set1_ps,
+       _mm512_set1_pd,_mm512_set1_epi32, _mm512_set1_epi64): Adjusted.
+
+2020-09-02  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR c++/60304
+       * ginclude/stdbool.h (bool, false, true): Never define for C++.
+
+2020-09-02  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * doc/invoke.texi (MSP430 options): Fix -mlarge description to
+       indicate size_t is a 20-bit type.
+
+2020-09-02  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/pa/pa.c (hppa_rtx_costs) [ASHIFT, ASHIFTRT, LSHIFTRT]:
+       Provide accurate costs for shifts of integer constants.
+
+2020-09-02  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.c (bpf_asm_named_section): Delete.
+       (TARGET_ASM_NAMED_SECTION): Likewise.
+
+2020-09-02  Jose E. Marchesi  <jemarch@gnu.org>
+
+       * config.gcc: Use elfos.h in bpf-*-* targets.
+       * config/bpf/bpf.h (MAX_OFILE_ALIGNMENT): Remove definition.
+       (COMMON_ASM_OP): Likewise.
+       (INIT_SECTION_ASM_OP): Likewise.
+       (FINI_SECTION_ASM_OP): Likewise.
+       (ASM_OUTPUT_SKIP): Likewise.
+       (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+       (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+
+2020-09-01  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (compute_objsize):  Only replace the upper bound
+       of a POINTER_PLUS offset when it's less than the lower bound.
+
+2020-09-01  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96808
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Do not
+       reuse accumulator memory reference for source and destination accesses.
+
+2020-09-01  Martin Liska  <mliska@suse.cz>
+
+       * cfgrtl.c (rtl_create_basic_block): Use default value for
+       growth vector function.
+       * gimple.c (gimple_set_bb): Likewise.
+       * symbol-summary.h: Likewise.
+       * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
+       (build_gimple_cfg): Likewise.
+       (create_bb): Likewise.
+       (move_block_to_fn): Likewise.
+
+2020-09-01  Martin Liska  <mliska@suse.cz>
+
+       * vec.h (vec_safe_grow): Change default of exact to false.
+       (vec_safe_grow_cleared): Likewise.
+
+2020-09-01  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/90597
+       * targhooks.c (default_vector_alignment): Return at least the
+       GET_MODE_ALIGNMENT for the type's mode.
+
+2020-09-01  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/96812
+       * tree-ssa-address.c (copy_ref_info): Also copy dependence info.
+       * cfgrtl.h (duplicate_insn_chain): Adjust prototype.
+       * cfgrtl.c (duplicate_insn_chain): Remap dependence info
+       if requested.
+       (cfg_layout_duplicate_bb): Make sure we remap dependence info.
+       * modulo-sched.c (duplicate_insns_of_cycles): Remap dependence
+       info.
+       (generate_prolog_epilog): Adjust.
+       * config/c6x/c6x.c (hwloop_optimize): Remap dependence info.
+
+2020-09-01  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * doc/sourcebuild.texi (has_arch_pwr5, has_arch_pwr6, has_arch_pwr7,
+       has_arch_pwr8, has_arch_pwr9): Document.
+
+2020-08-31  Carl Love  <cel@us.ibm.com>
+
+       PR target/85830
+       * config/rs6000/altivec.h (vec_popcntb, vec_popcnth, vec_popcntw,
+       vec_popcntd): Remove defines.
+
+2020-08-31  Marek Polacek  <polacek@redhat.com>
+           Jason Merrill  <jason@redhat.com>
+
+       PR c++/93529
+       * tree.c (build_constructor_from_vec): New.
+       * tree.h (build_constructor_from_vec): Declare.
+
+2020-08-31  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/96818
+       * tree-vrp.c (find_case_label_range): Cast label range to
+       type of switch operand.
+
+2020-08-31  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96551
+       * config/i386/sse.md (vec_unpacku_float_hi_v16si): For vector
+       compare to integer mask, don't use gen_rtx_LT, use
+       ix86_expand_mask_vec_cmp instead.
+       (vec_unpacku_float_hi_v16si): Ditto.
+
+2020-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-cfg.c (verify_gimple_switch): If the first non-default case
+       label has CASE_HIGH, verify it has the same type as CASE_LOW.
+
+2020-08-31  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/96806
+       * ipa-cp.c (decide_about_value): Use safe_add to avoid cost addition
+       overflow.
+
+2020-08-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/54201
+       * varasm.c: Include alloc-pool.h.
+       (output_constant_pool_contents): Emit desc->mark < 0 entries as
+       aliases.
+       (struct constant_descriptor_rtx_data): New type.
+       (constant_descriptor_rtx_data_cmp): New function.
+       (struct const_rtx_data_hasher): New type.
+       (const_rtx_data_hasher::hash, const_rtx_data_hasher::equal): New
+       methods.
+       (optimize_constant_pool): New function.
+       (output_shared_constant_pool): Call it if TARGET_SUPPORTS_ALIASES.
+
+2020-08-31  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * doc/sourcebuild.texi (vect_len_load_store,
+       vect_partial_vectors_usage_1, vect_partial_vectors_usage_2,
+       vect_partial_vectors): Document.
+
+2020-08-30  Martin Sebor  <msebor@redhat.com>
+
+       * builtins.c (access_ref::access_ref): Call get_size_range instead
+       of get_range.
+
+2020-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/sse.md (ssse3_pshufbv8qi): Use gen_int_mode instead of
+       GEN_INT, and ix86_build_const_vector instead of gen_rtvec and
+       gen_rtx_CONT_VECTOR.
+
+2020-08-29  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (MASK_FOR_STORE): Remove.
+       * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Remove
+       all logic for ALTIVEC_BUILTIN_MASK_FOR_STORE.
+
+2020-08-28  Martin Sebor  <msebor@redhat.com>
+
+       * attribs.c (init_attr_rdwr_indices): Use global access_mode.
+       * attribs.h (struct attr_access): Same.
+       * builtins.c (fold_builtin_strlen): Add argument.
+       (compute_objsize): Declare.
+       (get_range): Declare.
+       (check_read_access): New function.
+       (access_ref::access_ref): Define ctor.
+       (warn_string_no_nul): Add arguments.  Handle -Wstrintop-overread.
+       (check_nul_terminated_array): Handle source strings of different
+       ranges of sizes.
+       (expand_builtin_strlen): Remove warning code, call check_read_access
+       instead.  Declare locals closer to their initialization.
+       (expand_builtin_strnlen): Same.
+       (maybe_warn_for_bound): New function.
+       (warn_for_access): Remove argument.  Handle -Wstrintop-overread.
+       (inform_access): Change argument type.
+       (get_size_range): New function.
+       (check_access): Remove unused arguments.  Add new arguments.  Handle
+       -Wstrintop-overread.  Move warning code to helpers and call them.
+       Call check_nul_terminated_array.
+       (check_memop_access): Remove unnecessary and provide additional
+       arguments in calls.
+       (expand_builtin_memchr): Call check_read_access.
+       (expand_builtin_strcat): Remove unnecessary and provide additional
+       arguments in calls.
+       (expand_builtin_strcpy): Same.
+       (expand_builtin_strcpy_args): Same.  Avoid testing no-warning bit.
+       (expand_builtin_stpcpy_1): Remove unnecessary and provide additional
+       arguments in calls.
+       (expand_builtin_stpncpy): Same.
+       (check_strncat_sizes): Same.
+       (expand_builtin_strncat): Remove unnecessary and provide additional
+       arguments in calls.  Adjust comments.
+       (expand_builtin_strncpy): Remove unnecessary and provide additional
+       arguments in calls.
+       (expand_builtin_memcmp): Remove warning code.  Call check_access.
+       (expand_builtin_strcmp): Call check_access instead of
+       check_nul_terminated_array.
+       (expand_builtin_strncmp): Handle -Wstrintop-overread.
+       (expand_builtin_fork_or_exec): Call check_access instead of
+       check_nul_terminated_array.
+       (expand_builtin): Same.
+       (fold_builtin_1): Pass additional argument.
+       (fold_builtin_n): Same.
+       (fold_builtin_strpbrk): Remove calls to check_nul_terminated_array.
+       (expand_builtin_memory_chk): Add comments.
+       (maybe_emit_chk_warning): Remove unnecessary and provide additional
+       arguments in calls.
+       (maybe_emit_sprintf_chk_warning): Same.  Adjust comments.
+       * builtins.h (warn_string_no_nul): Add arguments.
+       (struct access_ref): Add member and ctor argument.
+       (struct access_data): Add members and ctor.
+       (check_access): Adjust signature.
+       * calls.c (maybe_warn_nonstring_arg): Return an indication of
+       whether a warning was issued.  Issue -Wstrintop-overread instead
+       of -Wstringop-overflow.
+       (append_attrname): Adjust to naming changes.
+       (maybe_warn_rdwr_sizes): Same.  Remove unnecessary and provide
+       additional arguments in calls.
+       * calls.h (maybe_warn_nonstring_arg): Return bool.
+       * doc/invoke.texi (-Wstringop-overread): Document new option.
+       * gimple-fold.c (gimple_fold_builtin_strcpy): Provide an additional
+       argument in call.
+       (gimple_fold_builtin_stpcpy): Same.
+       * tree-ssa-uninit.c (maybe_warn_pass_by_reference): Adjust to naming
+       changes.
+       * tree.h (enum access_mode): New type.
+
+2020-08-28  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_call_aix): Remove test for r12.
+       (rs6000_sibcall_aix): Likewise.
+
+2020-08-28  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-tree.c (gcn_goacc_get_worker_red_decl): Add "true"
+       parameter to vec_safe_grow_cleared.
+
+2020-08-28  Martin Sebor  <msebor@redhat.com>
+
+       * ggc-common.c (gt_pch_save): Add argument to a call.
+
+2020-08-28  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       PR target/96357
+       * config/aarch64/aarch64-sve.md
+       (cond_sub<mode>_relaxed_const): Updated and renamed from
+       cond_sub<mode>_any_const pattern.
+       (cond_sub<mode>_strict_const): New pattern.
+
+2020-08-28  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>
+
+       * doc/rtl.texi: Fix typo.
+
+2020-08-28  Uros Bizjak    <ubizjak@gmail.com>
+
+       PR target/96744
+       * config/i386/i386-expand.c (split_double_mode): Also handle
+       E_P2HImode and E_P2QImode.
+       * config/i386/sse.md (MASK_DWI): New define_mode_iterator.
+       (mov<mode>): New expander for P2HI,P2QI.
+       (*mov<mode>_internal): New define_insn_and_split to split
+       movement of P2QI/P2HI to 2 movqi/movhi patterns after reload.
+
+2020-08-28  liuhongt  <hongtao.liu@intel.com>
+
+       * common/config/i386/i386-common.c (ix86_handle_option): Set
+       AVX512DQ when AVX512VP2INTERSECT exists.
+
+2020-08-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/65146
+       * config/i386/i386.c (iamcu_alignment): Don't decrease alignment
+       for TYPE_ATOMIC types.
+       (ix86_local_alignment): Likewise.
+       (ix86_minimum_alignment): Likewise.
+       (x86_field_alignment): Likewise, and emit a -Wpsabi diagnostic
+       for it.
+
+2020-08-27  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/96787
+       * config/rs6000/rs6000.c (rs6000_sibcall_aix): Support
+       indirect call for ELFv2.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96522
+       * tree-ssa-address.c (copy_ref_info): Reset flow-sensitive
+       info of the copied points-to.  Transfer bigger alignment
+       via the access type.
+       * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
+       Reset all flow-sensitive info.
+
+2020-08-27  Martin Liska  <mliska@suse.cz>
+
+       * alias.c (init_alias_analysis): Set exact argument of a vector
+       growth function to true.
+       * calls.c (internal_arg_pointer_based_exp_scan): Likewise.
+       * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
+       * cfgexpand.c (expand_asm_stmt): Likewise.
+       * cfgrtl.c (rtl_create_basic_block): Likewise.
+       * combine.c (combine_split_insns): Likewise.
+       (combine_instructions): Likewise.
+       * config/aarch64/aarch64-sve-builtins.cc (function_expander::add_output_operand): Likewise.
+       (function_expander::add_input_operand): Likewise.
+       (function_expander::add_integer_operand): Likewise.
+       (function_expander::add_address_operand): Likewise.
+       (function_expander::add_fixed_operand): Likewise.
+       * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
+       * dwarf2cfi.c (update_row_reg_save): Likewise.
+       * early-remat.c (early_remat::init_block_info): Likewise.
+       (early_remat::finalize_candidate_indices): Likewise.
+       * except.c (sjlj_build_landing_pads): Likewise.
+       * final.c (compute_alignments): Likewise.
+       (grow_label_align): Likewise.
+       * function.c (temp_slots_at_level): Likewise.
+       * fwprop.c (build_single_def_use_links): Likewise.
+       (update_uses): Likewise.
+       * gcc.c (insert_wrapper): Likewise.
+       * genautomata.c (create_state_ainsn_table): Likewise.
+       (add_vect): Likewise.
+       (output_dead_lock_vect): Likewise.
+       * genmatch.c (capture_info::capture_info): Likewise.
+       (parser::finish_match_operand): Likewise.
+       * genrecog.c (optimize_subroutine_group): Likewise.
+       (merge_pattern_info::merge_pattern_info): Likewise.
+       (merge_into_decision): Likewise.
+       (print_subroutine_start): Likewise.
+       (main): Likewise.
+       * gimple-loop-versioning.cc (loop_versioning::loop_versioning): Likewise.
+       * gimple.c (gimple_set_bb): Likewise.
+       * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): Likewise.
+       * haifa-sched.c (sched_extend_luids): Likewise.
+       (extend_h_i_d): Likewise.
+       * insn-addr.h (insn_addresses_new): Likewise.
+       * ipa-cp.c (gather_context_independent_values): Likewise.
+       (find_more_contexts_for_caller_subset): Likewise.
+       * ipa-devirt.c (final_warning_record::grow_type_warnings): Likewise.
+       (ipa_odr_read_section): Likewise.
+       * ipa-fnsummary.c (evaluate_properties_for_edge): Likewise.
+       (ipa_fn_summary_t::duplicate): Likewise.
+       (analyze_function_body): Likewise.
+       (ipa_merge_fn_summary_after_inlining): Likewise.
+       (read_ipa_call_summary): Likewise.
+       * ipa-icf.c (sem_function::bb_dict_test): Likewise.
+       * ipa-prop.c (ipa_alloc_node_params): Likewise.
+       (parm_bb_aa_status_for_bb): Likewise.
+       (ipa_compute_jump_functions_for_edge): Likewise.
+       (ipa_analyze_node): Likewise.
+       (update_jump_functions_after_inlining): Likewise.
+       (ipa_read_edge_info): Likewise.
+       (read_ipcp_transformation_info): Likewise.
+       (ipcp_transform_function): Likewise.
+       * ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
+       * ipa-split.c (execute_split_functions): Likewise.
+       * ira.c (find_moveable_pseudos): Likewise.
+       * lower-subreg.c (decompose_multiword_subregs): Likewise.
+       * lto-streamer-in.c (input_eh_regions): Likewise.
+       (input_cfg): Likewise.
+       (input_struct_function_base): Likewise.
+       (input_function): Likewise.
+       * modulo-sched.c (set_node_sched_params): Likewise.
+       (extend_node_sched_params): Likewise.
+       (schedule_reg_moves): Likewise.
+       * omp-general.c (omp_construct_simd_compare): Likewise.
+       * passes.c (pass_manager::create_pass_tab): Likewise.
+       (enable_disable_pass): Likewise.
+       * predict.c (determine_unlikely_bbs): Likewise.
+       * profile.c (compute_branch_probabilities): Likewise.
+       * read-rtl-function.c (function_reader::parse_block): Likewise.
+       * read-rtl.c (rtx_reader::read_rtx_code): Likewise.
+       * reg-stack.c (stack_regs_mentioned): Likewise.
+       * regrename.c (regrename_init): Likewise.
+       * rtlanal.c (T>::add_single_to_queue): Likewise.
+       * sched-deps.c (init_deps_data_vector): Likewise.
+       * sel-sched-ir.c (sel_extend_global_bb_info): Likewise.
+       (extend_region_bb_info): Likewise.
+       (extend_insn_data): Likewise.
+       * symtab.c (symtab_node::create_reference): Likewise.
+       * tracer.c (tail_duplicate): Likewise.
+       * trans-mem.c (tm_region_init): Likewise.
+       (get_bb_regions_instrumented): Likewise.
+       * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
+       (build_gimple_cfg): Likewise.
+       (create_bb): Likewise.
+       (move_block_to_fn): Likewise.
+       * tree-complex.c (tree_lower_complex): Likewise.
+       * tree-if-conv.c (predicate_rhs_code): Likewise.
+       * tree-inline.c (copy_bb): Likewise.
+       * tree-into-ssa.c (get_ssa_name_ann): Likewise.
+       (mark_phi_for_rewrite): Likewise.
+       * tree-object-size.c (compute_builtin_object_size): Likewise.
+       (init_object_sizes): Likewise.
+       * tree-predcom.c (initialize_root_vars_store_elim_1): Likewise.
+       (initialize_root_vars_store_elim_2): Likewise.
+       (prepare_initializers_chain_store_elim): Likewise.
+       * tree-ssa-address.c (addr_for_mem_ref): Likewise.
+       (multiplier_allowed_in_address_p): Likewise.
+       * tree-ssa-coalesce.c (ssa_conflicts_new): Likewise.
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Likewise.
+       * tree-ssa-loop-ivopts.c (addr_offset_valid_p): Likewise.
+       (get_address_cost_ainc): Likewise.
+       * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Likewise.
+       * tree-ssa-pre.c (add_to_value): Likewise.
+       (phi_translate_1): Likewise.
+       (do_pre_regular_insertion): Likewise.
+       (do_pre_partial_partial_insertion): Likewise.
+       (init_pre): Likewise.
+       * tree-ssa-propagate.c (ssa_prop_init): Likewise.
+       (update_call_from_tree): Likewise.
+       * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Likewise.
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
+       (vn_reference_lookup_pieces): Likewise.
+       (eliminate_dom_walker::eliminate_push_avail): Likewise.
+       * tree-ssa-strlen.c (set_strinfo): Likewise.
+       (get_stridx_plus_constant): Likewise.
+       (zero_length_string): Likewise.
+       (find_equal_ptrs): Likewise.
+       (printf_strlen_execute): Likewise.
+       * tree-ssa-threadedge.c (set_ssa_name_value): Likewise.
+       * tree-ssanames.c (make_ssa_name_fn): Likewise.
+       * tree-streamer-in.c (streamer_read_tree_bitfields): Likewise.
+       * tree-vect-loop.c (vect_record_loop_mask): Likewise.
+       (vect_get_loop_mask): Likewise.
+       (vect_record_loop_len): Likewise.
+       (vect_get_loop_len): Likewise.
+       * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Likewise.
+       * tree-vect-slp.c (vect_slp_convert_to_external): Likewise.
+       (vect_bb_slp_scalar_cost): Likewise.
+       (vect_bb_vectorization_profitable_p): Likewise.
+       (vectorizable_slp_permutation): Likewise.
+       * tree-vect-stmts.c (vectorizable_call): Likewise.
+       (vectorizable_simd_clone_call): Likewise.
+       (scan_store_can_perm_p): Likewise.
+       (vectorizable_store): Likewise.
+       * expr.c: Likewise.
+       * vec.c (test_safe_grow_cleared): Likewise.
+       * vec.h (vec_safe_grow): Likewise.
+       (vec_safe_grow_cleared): Likewise.
+       (vl_ptr>::safe_grow): Likewise.
+       (vl_ptr>::safe_grow_cleared): Likewise.
+       * config/c6x/c6x.c (insn_set_clock): Likewise.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_mem_ref): Handle TARGET_MEM_REFs.
+       (dump_generic_node): Use dump_mem_ref also for TARGET_MEM_REF.
+
+2020-08-27  Alex Coplan  <alex.coplan@arm.com>
+
+       * lra-constraints.c (canonicalize_reload_addr): New.
+       (curr_insn_transform): Use canonicalize_reload_addr to ensure we
+       generate canonical RTL for an address reload.
+
+2020-08-27  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for rounding intrinsics.
+
+2020-08-27  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for min/max intrinsics.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96579
+       * tree-ssa-reassoc.c (linearize_expr_tree): If we expand
+       rhs via special ops make sure to swap operands.
+
+2020-08-27  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96565
+       * tree-ssa-dse.c (dse_classify_store): Remove defs with
+       no uses from further processing.
+
+2020-08-26  Göran Uddeborg  <goeran@uddeborg.se>
+
+       PR gcov-profile/96285
+       * common.opt, doc/invoke.texi: Clarify wording of
+       -fprofile-exclude-files and adjust -fprofile-filter-files to
+       match.
+
+2020-08-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96802
+       * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
+       Reject target("no-general-regs-only").
+
+2020-08-26  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/constraints.md (K): Change unused constraint to
+       constraint to a const_int between 1 and 19.
+       (P): New constraint.
+       * config/msp430/msp430-protos.h (msp430x_logical_shift_right): Remove.
+       (msp430_expand_shift): New.
+       (msp430_output_asm_shift_insns): New.
+       * config/msp430/msp430.c (msp430_rtx_costs): Remove shift costs.
+       (CSH): Remove.
+       (msp430_expand_helper): Remove hard-coded generation of some inline
+       shift insns.
+       (use_helper_for_const_shift): New.
+       (msp430_expand_shift): New.
+       (msp430_output_asm_shift_insns): New.
+       (msp430_print_operand): Add new 'W' operand selector.
+       (msp430x_logical_shift_right): Remove.
+       * config/msp430/msp430.md (HPSI): New define_mode_iterator.
+       (HDI): Likewise.
+       (any_shift): New define_code_iterator.
+       (shift_insn): New define_code_attr.
+       Adjust unnamed insn patterns searched for by combine.
+       (ashlhi3): Remove.
+       (slli_1): Remove.
+       (430x_shift_left): Remove.
+       (slll_1): Remove.
+       (slll_2): Remove.
+       (ashlsi3): Remove.
+       (ashldi3): Remove.
+       (ashrhi3): Remove.
+       (srai_1): Remove.
+       (430x_arithmetic_shift_right): Remove.
+       (srap_1): Remove.
+       (srap_2): Remove.
+       (sral_1): Remove.
+       (sral_2): Remove.
+       (ashrsi3): Remove.
+       (ashrdi3): Remove.
+       (lshrhi3): Remove.
+       (srli_1): Remove.
+       (430x_logical_shift_right): Remove.
+       (srlp_1): Remove.
+       (srll_1): Remove.
+       (srll_2x): Remove.
+       (lshrsi3): Remove.
+       (lshrdi3): Remove.
+       (<shift_insn><mode>3): New define_expand.
+       (<shift_insn>hi3_430): New define_insn.
+       (<shift_insn>si3_const): Likewise.
+       (ashl<mode>3_430x): Likewise.
+       (ashr<mode>3_430x): Likewise.
+       (lshr<mode>3_430x): Likewise.
+       (*bitbranch<mode>4_z): Replace renamed predicate msp430_bitpos with
+       const_0_to_15_operand.
+       * config/msp430/msp430.opt: New option -mmax-inline-shift=.
+       * config/msp430/predicates.md (const_1_to_8_operand): New predicate.
+       (const_0_to_15_operand): Rename msp430_bitpos predicate.
+       (const_1_to_19_operand): New predicate.
+       * doc/invoke.texi: Document -mmax-inline-shift=.
+
+2020-08-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Abstract code out to...
+       * tree-vrp.c (find_case_label_range): ...here.  Rewrite for to use irange
+       API.
+       (simplify_stmt_for_jump_threading): Call find_case_label_range instead of
+       duplicating the code in simplify_stmt_for_jump_threading.
+       * tree-vrp.h (find_case_label_range): New prototype.
+
+2020-08-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96698
+       * tree-vectorizer.h (loop_vec_info::reduc_latch_defs): New.
+       (loop_vec_info::reduc_latch_slp_defs): Likewise.
+       * tree-vect-stmts.c (vect_transform_stmt): Only record
+       stmts to update PHI latches from, perform the update ...
+       * tree-vect-loop.c (vect_transform_loop): ... here after
+       vectorizing those PHIs.
+       (info_for_reduction): Properly handle non-reduction PHIs.
+
+2020-08-26  Martin Liska  <mliska@suse.cz>
+
+       * cgraphunit.c (process_symver_attribute): Match only symver
+       TREE_PURPOSE.
+
+2020-08-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96783
+       * tree-vect-stmts.c (get_group_load_store_type): Use
+       VMAT_ELEMENTWISE for negative strides when we cannot
+       use VMAT_STRIDED_SLP.
+
+2020-08-26  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document how are pie and pic options merged.
+
+2020-08-26  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-simd-builtins.def: Add proper FLAG
+       for add/sub arithmetic intrinsics.
+
+2020-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/96729
+       * dwarf2out.c (dwarf2out_next_real_insn): Adjust function comment.
+       (dwarf2out_var_location): Look for next_note only if next_real is
+       non-NULL, in that case look for the first non-deleted
+       NOTE_INSN_VAR_LOCATION between loc_note and next_real, if any.
+
+2020-08-26  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/tilepro/gen-mul-tables.cc (main): Define IN_TARGET_CODE to 1
+       in the target file.
+
+2020-08-26  Martin Liska  <mliska@suse.cz>
+
+       * cgraphunit.c (process_symver_attribute): Allow multiple
+       symver attributes for one symbol.
+       * doc/extend.texi: Document the change.
+
+2020-08-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95863
+       * config/i386/i386.h (CTZ_DEFINED_VALUE_AT_ZERO): Return 0/2.
+       (CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
+
+2020-08-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/87256
+       * config/pa/pa.c (hppa_rtx_costs_shadd_p): New helper function
+       to check for coefficients supported by shNadd and shladd,l.
+       (hppa_rtx_costs):  Rewrite to avoid using estimates based upon
+       FACTOR and enable recursing deeper into RTL expressions.
+
+2020-08-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/pa/pa.md (ashldi3): Additionally, on !TARGET_64BIT
+       generate a two instruction shd/zdep sequence when shifting
+       registers by suitable constants.
+       (shd_internal): New define_expand to provide gen_shd_internal.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Rename
+       __ARM_FEATURE_SVE_VECTOR_OPERATIONS to
+       __ARM_FEATURE_SVE_VECTOR_OPERATORS.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins.cc (add_sve_type_attribute):
+       Take the ACLE name of the type as a parameter and add it as fourth
+       argument to the "SVE type" attribute.
+       (register_builtin_types): Update call accordingly.
+       (register_tuple_type): Likewise.  Construct the name of the type
+       earlier in order to do this.
+       (get_arm_sve_vector_bits_attributes): New function.
+       (handle_arm_sve_vector_bits_attribute): Report a more sensible
+       error message if the attribute is applied to an SVE tuple type.
+       Don't allow the attribute to be applied to an existing fixed-length
+       SVE type.  Mangle the new type as __SVE_VLS<type, vector-bits>.
+       Add a dummy TYPE_DECL to the new type.
+
+2020-08-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64-sve-builtins.cc (DEF_SVE_TYPE): Add a
+       leading "u" to each mangled name.
+
+2020-08-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96548
+       PR tree-optimization/96760
+       * tree-ssa-loop-im.c (tree_ssa_lim): Recompute RPO after
+       store-motion.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96722
+       * gimple.c (infer_nonnull_range): Formatting fix.
+       (infer_nonnull_range_by_dereference): Return false for clobber stmts.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96758
+       * tree-ssa-strlen.c (handle_builtin_string_cmp): If both cstlen1
+       and cstlen2 are set, set cmpsiz to their minimum, otherwise use the
+       one that is set.  If bound is used and smaller than cmpsiz, set cmpsiz
+       to bound.  If both cstlen1 and cstlen2 are set, perform the optimization.
+
+2020-08-25  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/96730
+       * tree-sra.c (create_access): Disqualify any aggregate with negative
+       offset access.
+       (build_ref_for_model): Add assert that offset is non-negative.
+
+2020-08-25  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>
+
+       * rtl.def: Fix typo in comment.
+
+2020-08-25  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/21137
+       * fold-const.c (fold_binary_loc) [NE_EXPR/EQ_EXPR]: Call
+       STRIP_NOPS when checking whether to simplify ((x>>C1)&C2) != 0.
+
+2020-08-25  Andrew Pinski  <apinski@marvell.com>
+
+       PR middle-end/64242
+       * config/mips/mips.md (builtin_longjmp): Restore the frame
+       pointer and stack pointer and gp.
+
+2020-08-25  Richard Biener  <rguenther@suse.de>
+
+       PR debug/96690
+       * dwarf2out.c (reference_to_unused): Make FUNCTION_DECL
+       processing more consistent with respect to
+       symtab->global_info_ready.
+       (tree_add_const_value_attribute): Unconditionally call
+       rtl_for_decl_init to do all mangling early but throw
+       away the result if early_dwarf.
+
+2020-08-25  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/96755
+       * config/i386/sse.md: Correct the mode of NOT operands to
+       SImode.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96715
+       * match.pd (copysign(x,-x) -> -x): New simplification.
+
+2020-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95450
+       * fold-const.c (native_interpret_real): For MODE_COMPOSITE_P modes
+       punt if the to be returned REAL_CST does not encode to the bitwise
+       same representation.
+
+2020-08-24  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Configuration): Switch valgrind.com to https.
+
+2020-08-24  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94538
+       PR target/94538
+       * config/arm/thumb1.md: Disable set-constant splitter when
+       TARGET_HAVE_MOVT.
+       (thumb1_movsi_insn): Fix -mpure-code
+       alternative.
+
+2020-08-24  Martin Liska  <mliska@suse.cz>
+
+       * tree-vect-data-refs.c (dr_group_sort_cmp): Work on
+       data_ref_pair.
+       (vect_analyze_data_ref_accesses): Work on groups.
+       (vect_find_stmt_data_reference): Add group_id argument and fill
+       up dataref_groups vector.
+       * tree-vect-loop.c (vect_get_datarefs_in_loop): Pass new
+       arguments.
+       (vect_analyze_loop_2): Likewise.
+       * tree-vect-slp.c (vect_slp_analyze_bb_1): Pass argument.
+       (vect_slp_bb_region): Likewise.
+       (vect_slp_region): Likewise.
+       (vect_slp_bb):Work on the entire BB.
+       * tree-vectorizer.h (vect_analyze_data_ref_accesses): Add new
+       argument.
+       (vect_find_stmt_data_reference): Likewise.
+
+2020-08-24  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96597
+       * tree-ssa-sccvn.c (vn_reference_lookup_call): Add missing
+       initialization of ::punned.
+       (vn_reference_insert): Use consistently false instead of 0.
+       (vn_reference_insert_pieces): Likewise.
+
+2020-08-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/93372
+       * reorg.c (fill_slots_from_thread): Allow trial insns that clobber
+       TARGET_FLAGS_REGNUM as delay-slot fillers.
+
+2020-08-23  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96744
+       * config/i386/i386-options.c (IX86_ATTR_IX86_YES): New.
+       (IX86_ATTR_IX86_NO): Likewise.
+       (ix86_opt_type): Add ix86_opt_ix86_yes and ix86_opt_ix86_no.
+       (ix86_valid_target_attribute_inner_p): Handle general-regs-only,
+       ix86_opt_ix86_yes and ix86_opt_ix86_no.
+       (ix86_option_override_internal): Check opts->x_ix86_target_flags
+       instead of opts->x_ix86_target_flags.
+       * doc/extend.texi: Document target("general-regs-only") function
+       attribute.
+
+2020-08-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/extend.texi: Update links to Arm docs.
+       * doc/invoke.texi: Likewise.
+
+2020-08-21  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/96262
+       * config/i386/i386-expand.c
+       (ix86_expand_vec_shift_qihi_constant): Refine.
+
+2020-08-21  Alex Coplan  <alex.coplan@arm.com>
+
+       PR jit/63854
+       * gcc.c (set_static_spec): New.
+       (set_static_spec_owned): New.
+       (set_static_spec_shared): New.
+       (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Use
+       set_static_spec_owned() to take ownership of lto_wrapper_file
+       such that it gets freed in driver::finalize.
+       (driver::maybe_run_linker): Use set_static_spec_shared() to
+       ensure that we don't try and free() the static string "ld",
+       also ensuring that any previously-allocated string in
+       linker_name_spec is freed. Likewise with argv0.
+       (driver::finalize): Use set_static_spec_shared() when resetting
+       specs that previously had allocated strings; remove if(0)
+       around call to free().
+
+2020-08-21  Senthil Kumar Selvaraj  <saaadhu@gcc.gnu.org>
+
+       * emit-rtl.c (try_split): Call copy_frame_info_to_split_insn
+       to split certain RTX_FRAME_RELATED_P insns.
+       * recog.c (copy_frame_info_to_split_insn): New function.
+       (peep2_attempt): Split copying of frame related info of
+       RTX_FRAME_RELATED_P insns into above function and call it.
+       * recog.h (copy_frame_info_to_split_insn): Declare it.
+
+2020-08-21  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/88808
+       * config/i386/i386.c (ix86_preferred_reload_class): Allow
+       QImode data go into mask registers.
+       * config/i386/i386.md: (*movhi_internal): Adjust constraints
+       for mask registers.
+       (*movqi_internal): Ditto.
+       (*anddi_1): Support mask register operations
+       (*and<mode>_1): Ditto.
+       (*andqi_1): Ditto.
+       (*andn<mode>_1): Ditto.
+       (*<code><mode>_1): Ditto.
+       (*<code>qi_1): Ditto.
+       (*one_cmpl<mode>2_1): Ditto.
+       (*one_cmplsi2_1_zext): Ditto.
+       (*one_cmplqi2_1): Ditto.
+       (define_peephole2): Move constant 0/-1 directly into mask
+       registers.
+       * config/i386/predicates.md (mask_reg_operand): New predicate.
+       * config/i386/sse.md (define_split): Add post-reload splitters
+       that would convert "generic" patterns to mask patterns.
+       (*knotsi_1_zext): New define_insn.
+
+2020-08-21  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/x86-tune-costs.h (skylake_cost): Adjust cost
+       model.
+
+2020-08-21  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/i386.c (inline_secondary_memory_needed):
+       No memory is needed between mask regs and gpr.
+       (ix86_hard_regno_mode_ok): Add condition TARGET_AVX512F for
+       mask regno.
+       * config/i386/i386.h (enum reg_class): Add INT_MASK_REGS.
+       (REG_CLASS_NAMES): Ditto.
+       (REG_CLASS_CONTENTS): Ditto.
+       * config/i386/i386.md: Exclude mask register in
+       define_peephole2 which is avaiable only for gpr.
+
+2020-08-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/71453
+       * config/i386/i386.h (struct processor_costs): Add member
+       mask_to_integer, integer_to_mask, mask_load[3], mask_store[3],
+       mask_move.
+       * config/i386/x86-tune-costs.h (ix86_size_cost, i386_cost,
+       i386_cost, pentium_cost, lakemont_cost, pentiumpro_cost,
+       geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost,
+       bdver_cost, znver1_cost, znver2_cost, skylake_cost,
+       btver1_cost, btver2_cost, pentium4_cost, nocona_cost,
+       atom_cost, slm_cost, intel_cost, generic_cost, core_cost):
+       Initialize mask_load[3], mask_store[3], mask_move,
+       integer_to_mask, mask_to_integer for all target costs.
+       * config/i386/i386.c (ix86_register_move_cost): Using cost
+       model of mask registers.
+       (inline_memory_move_cost): Ditto.
+       (ix86_register_move_cost): Ditto.
+
+2020-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Don't include
+       VxWorks header files if -fself-test is used.
+       (STARTFILE_PREFIX_SPEC): Avoid using VSB_DIR if -fself-test is used.
+
+2020-08-20  Joe Ramsay  <Joe.Ramsay@arm.com>
+
+       PR target/96683
+       * config/arm/mve.md (mve_vst1q_f<mode>): Require MVE memory operand for
+       destination.
+       (mve_vst1q_<supf><mode>): Likewise.
+
+2020-08-19  2020-08-19  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (BU_P10V_0, BU_P10V_1,
+       BU_P10V_2, BU_P10V_3): Rename BU_P10V_VSX_0, BU_P10V_VSX_1,
+       BU_P10V_VSX_2, BU_P10V_VSX_3 respectively.
+       (BU_P10V_4): Remove.
+       (BU_P10V_AV_0, BU_P10V_AV_1, BU_P10V_AV_2, BU_P10V_AV_3, BU_P10V_AV_4):
+       New definitions for Power 10 Altivec macros.
+       (VSTRIBR, VSTRIHR, VSTRIBL, VSTRIHL, VSTRIBR_P, VSTRIHR_P,
+       VSTRIBL_P, VSTRIHL_P, MTVSRBM, MTVSRHM, MTVSRWM, MTVSRDM, MTVSRQM,
+       VEXPANDMB, VEXPANDMH, VEXPANDMW, VEXPANDMD, VEXPANDMQ, VEXTRACTMB,
+       VEXTRACTMH, VEXTRACTMW, VEXTRACTMD, VEXTRACTMQ): Replace macro
+       expansion BU_P10V_1 with BU_P10V_AV_1.
+       (VCLRLB, VCLRRB, VCFUGED, VCLZDM, VCTZDM, VPDEPD, VPEXTD, VGNB,
+       VCNTMBB, VCNTMBH, VCNTMBW, VCNTMBD): Replace macro expansion
+       BU_P10V_2 with  BU_P10V_AV_2.
+       (VEXTRACTBL, VEXTRACTHL, VEXTRACTWL, VEXTRACTDL, VEXTRACTBR, VEXTRACTHR,
+       VEXTRACTWR, VEXTRACTDR, VINSERTGPRBL, VINSERTGPRHL, VINSERTGPRWL,
+       VINSERTGPRDL, VINSERTVPRBL, VINSERTVPRHL, VINSERTVPRWL, VINSERTGPRBR,
+       VINSERTGPRHR, VINSERTGPRWR, VINSERTGPRDR, VINSERTVPRBR, VINSERTVPRHR,
+       VINSERTVPRWR, VREPLACE_ELT_V4SI, VREPLACE_ELT_UV4SI, VREPLACE_ELT_V2DF,
+       VREPLACE_ELT_V4SF, VREPLACE_ELT_V2DI, VREPLACE_ELT_UV2DI, VREPLACE_UN_V4SI,
+       VREPLACE_UN_UV4SI, VREPLACE_UN_V4SF, VREPLACE_UN_V2DI, VREPLACE_UN_UV2DI,
+       VREPLACE_UN_V2DF, VSLDB_V16QI, VSLDB_V8HI, VSLDB_V4SI, VSLDB_V2DI,
+       VSRDB_V16QI, VSRDB_V8HI, VSRDB_V4SI, VSRDB_V2DI): Replace macro expansion
+       BU_P10V_3 with BU_P10V_AV_3.
+       (VXXSPLTIW_V4SI, VXXSPLTIW_V4SF, VXXSPLTID): Replace macro expansion
+       BU_P10V_1 with BU_P10V_AV_1.
+       (XXGENPCVM_V16QI, XXGENPCVM_V8HI, XXGENPCVM_V4SI, XXGENPCVM_V2DI):
+       Replace macro expansion BU_P10V_2 with BU_P10V_VSX_2.
+       (VXXSPLTI32DX_V4SI, VXXSPLTI32DX_V4SF, VXXBLEND_V16QI, VXXBLEND_V8HI,
+       VXXBLEND_V4SI, VXXBLEND_V2DI, VXXBLEND_V4SF, VXXBLEND_V2DF): Replace macor
+       expansion BU_P10V_3 with BU_P10V_VSX_3.
+       (XXEVAL, VXXPERMX): Replace macro expansion BU_P10V_4 with BU_P10V_VSX_4.
+       (XVCVBF16SP, XVCVSPBF16): Replace macro expansion BU_VSX_1 with
+       BU_P10V_VSX_1. Also change MISC to CONST.
+       * config/rs6000/rs6000-c.c: (P10_BUILTIN_VXXPERMX): Replace with
+       P10V_BUILTIN_VXXPERMX.
+       (P10_BUILTIN_VCLRLB, P10_BUILTIN_VCLRLB, P10_BUILTIN_VCLRRB,
+       P10_BUILTIN_VGNB, P10_BUILTIN_XXEVAL, P10_BUILTIN_VXXPERMX,
+       P10_BUILTIN_VEXTRACTBL, P10_BUILTIN_VEXTRACTHL, P10_BUILTIN_VEXTRACTWL,
+       P10_BUILTIN_VEXTRACTDL, P10_BUILTIN_VINSERTGPRHL,
+       P10_BUILTIN_VINSERTGPRWL, P10_BUILTIN_VINSERTGPRDL,
+       P10_BUILTIN_VINSERTVPRBL, P10_BUILTIN_VINSERTVPRHL,
+       P10_BUILTIN_VEXTRACTBR, P10_BUILTIN_VEXTRACTHR,
+       P10_BUILTIN_VEXTRACTWR, P10_BUILTIN_VEXTRACTDR,
+       P10_BUILTIN_VINSERTGPRBR, P10_BUILTIN_VINSERTGPRHR,
+       P10_BUILTIN_VINSERTGPRWR, P10_BUILTIN_VINSERTGPRDR,
+       P10_BUILTIN_VINSERTVPRBR, P10_BUILTIN_VINSERTVPRHR,
+       P10_BUILTIN_VINSERTVPRWR, P10_BUILTIN_VREPLACE_ELT_UV4SI,
+       P10_BUILTIN_VREPLACE_ELT_V4SI, P10_BUILTIN_VREPLACE_ELT_UV2DI,
+       P10_BUILTIN_VREPLACE_ELT_V2DI, P10_BUILTIN_VREPLACE_ELT_V2DF,
+       P10_BUILTIN_VREPLACE_UN_UV4SI, P10_BUILTIN_VREPLACE_UN_V4SI,
+       P10_BUILTIN_VREPLACE_UN_V4SF, P10_BUILTIN_VREPLACE_UN_UV2DI,
+       P10_BUILTIN_VREPLACE_UN_V2DI, P10_BUILTIN_VREPLACE_UN_V2DF,
+       P10_BUILTIN_VSLDB_V16QI, P10_BUILTIN_VSLDB_V16QI,
+       P10_BUILTIN_VSLDB_V8HI, P10_BUILTIN_VSLDB_V4SI,
+       P10_BUILTIN_VSLDB_V2DI, P10_BUILTIN_VXXSPLTIW_V4SI,
+       P10_BUILTIN_VXXSPLTIW_V4SF, P10_BUILTIN_VXXSPLTID,
+       P10_BUILTIN_VXXSPLTI32DX_V4SI, P10_BUILTIN_VXXSPLTI32DX_V4SF,
+       P10_BUILTIN_VXXBLEND_V16QI, P10_BUILTIN_VXXBLEND_V8HI,
+       P10_BUILTIN_VXXBLEND_V4SI, P10_BUILTIN_VXXBLEND_V2DI,
+       P10_BUILTIN_VXXBLEND_V4SF, P10_BUILTIN_VXXBLEND_V2DF,
+       P10_BUILTIN_VSRDB_V16QI, P10_BUILTIN_VSRDB_V8HI,
+       P10_BUILTIN_VSRDB_V4SI, P10_BUILTIN_VSRDB_V2DI,
+       P10_BUILTIN_VSTRIBL, P10_BUILTIN_VSTRIHL,
+       P10_BUILTIN_VSTRIBL_P, P10_BUILTIN_VSTRIHL_P,
+       P10_BUILTIN_VSTRIBR, P10_BUILTIN_VSTRIHR,
+       P10_BUILTIN_VSTRIBR_P, P10_BUILTIN_VSTRIHR_P,
+       P10_BUILTIN_MTVSRBM, P10_BUILTIN_MTVSRHM,
+       P10_BUILTIN_MTVSRWM, P10_BUILTIN_MTVSRDM,
+       P10_BUILTIN_MTVSRQM, P10_BUILTIN_VCNTMBB,
+       P10_BUILTIN_VCNTMBH, P10_BUILTIN_VCNTMBW,
+       P10_BUILTIN_VCNTMBD, P10_BUILTIN_VEXPANDMB,
+       P10_BUILTIN_VEXPANDMH, P10_BUILTIN_VEXPANDMW,
+       P10_BUILTIN_VEXPANDMD, P10_BUILTIN_VEXPANDMQ,
+       P10_BUILTIN_VEXTRACTMB, P10_BUILTIN_VEXTRACTMH,
+       P10_BUILTIN_VEXTRACTMW, P10_BUILTIN_VEXTRACTMD,
+       P10_BUILTIN_VEXTRACTMQ, P10_BUILTIN_XVTLSBB_ZEROS,
+       P10_BUILTIN_XVTLSBB_ONES): Replace with
+       P10V_BUILTIN_VCLRLB, P10V_BUILTIN_VCLRLB, P10V_BUILTIN_VCLRRB,
+       P10V_BUILTIN_VGNB, P10V_BUILTIN_XXEVAL, P10V_BUILTIN_VXXPERMX,
+       P10V_BUILTIN_VEXTRACTBL, P10V_BUILTIN_VEXTRACTHL, P10V_BUILTIN_VEXTRACTWL,
+       P10V_BUILTIN_VEXTRACTDL, P10V_BUILTIN_VINSERTGPRHL,
+       P10V_BUILTIN_VINSERTGPRWL, P10V_BUILTIN_VINSERTGPRDL,
+       P10V_BUILTIN_VINSERTVPRBL,P10V_BUILTIN_VINSERTVPRHL,
+       P10V_BUILTIN_VEXTRACTBR, P10V_BUILTIN_VEXTRACTHR
+       P10V_BUILTIN_VEXTRACTWR, P10V_BUILTIN_VEXTRACTDR,
+       P10V_BUILTIN_VINSERTGPRBR, P10V_BUILTIN_VINSERTGPRHR,
+       P10V_BUILTIN_VINSERTGPRWR, P10V_BUILTIN_VINSERTGPRDR,
+       P10V_BUILTIN_VINSERTVPRBR, P10V_BUILTIN_VINSERTVPRHR,
+       P10V_BUILTIN_VINSERTVPRWR, P10V_BUILTIN_VREPLACE_ELT_UV4SI,
+       P10V_BUILTIN_VREPLACE_ELT_V4SI, P10V_BUILTIN_VREPLACE_ELT_UV2DI,
+       P10V_BUILTIN_VREPLACE_ELT_V2DI, P10V_BUILTIN_VREPLACE_ELT_V2DF,
+       P10V_BUILTIN_VREPLACE_UN_UV4SI, P10V_BUILTIN_VREPLACE_UN_V4SI,
+       P10V_BUILTIN_VREPLACE_UN_V4SF, P10V_BUILTIN_VREPLACE_UN_UV2DI,
+       P10V_BUILTIN_VREPLACE_UN_V2DI, P10V_BUILTIN_VREPLACE_UN_V2DF,
+       P10V_BUILTIN_VSLDB_V16QI, P10V_BUILTIN_VSLDB_V16QI,
+       P10V_BUILTIN_VSLDB_V8HI, P10V_BUILTIN_VSLDB_V4SI,
+       P10V_BUILTIN_VSLDB_V2DI, P10V_BUILTIN_VXXSPLTIW_V4SI,
+       P10V_BUILTIN_VXXSPLTIW_V4SF, P10V_BUILTIN_VXXSPLTID,
+       P10V_BUILTIN_VXXSPLTI32DX_V4SI, P10V_BUILTIN_VXXSPLTI32DX_V4SF,
+       P10V_BUILTIN_VXXBLEND_V16QI, P10V_BUILTIN_VXXBLEND_V8HI,
+       P10V_BUILTIN_VXXBLEND_V4SI, P10V_BUILTIN_VXXBLEND_V2DI,
+       P10V_BUILTIN_VXXBLEND_V4SF, P10V_BUILTIN_VXXBLEND_V2DF,
+       P10V_BUILTIN_VSRDB_V16QI, P10V_BUILTIN_VSRDB_V8HI,
+       P10V_BUILTIN_VSRDB_V4SI, P10V_BUILTIN_VSRDB_V2DI,
+       P10V_BUILTIN_VSTRIBL, P10V_BUILTIN_VSTRIHL,
+       P10V_BUILTIN_VSTRIBL_P, P10V_BUILTIN_VSTRIHL_P,
+       P10V_BUILTIN_VSTRIBR, P10V_BUILTIN_VSTRIHR,
+       P10V_BUILTIN_VSTRIBR_P, P10V_BUILTIN_VSTRIHR_P,
+       P10V_BUILTIN_MTVSRBM, P10V_BUILTIN_MTVSRHM,
+       P10V_BUILTIN_MTVSRWM, P10V_BUILTIN_MTVSRDM,
+       P10V_BUILTIN_MTVSRQM, P10V_BUILTIN_VCNTMBB,
+       P10V_BUILTIN_VCNTMBH, P10V_BUILTIN_VCNTMBW,
+       P10V_BUILTIN_VCNTMBD, P10V_BUILTIN_VEXPANDMB,
+       P10V_BUILTIN_VEXPANDMH, P10V_BUILTIN_VEXPANDMW,
+       P10V_BUILTIN_VEXPANDMD, P10V_BUILTIN_VEXPANDMQ,
+       P10V_BUILTIN_VEXTRACTMB, P10V_BUILTIN_VEXTRACTMH,
+       P10V_BUILTIN_VEXTRACTMW, P10V_BUILTIN_VEXTRACTMD,
+       P10V_BUILTIN_VEXTRACTMQ, P10V_BUILTIN_XVTLSBB_ZEROS,
+       P10V_BUILTIN_XVTLSBB_ONES respectively.
+       * config/rs6000/rs6000-call.c: Ditto above, change P10_BUILTIN_name to
+       P10V_BUILTIN_name.
+       (P10_BUILTIN_XVCVSPBF16, P10_BUILTIN_XVCVBF16SP): Change to
+       P10V_BUILTIN_XVCVSPBF16, P10V_BUILTIN_XVCVBF16SP respectively.
+
+2020-08-19  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-logue.c (rs6000_decl_ok_for_sibcall):
+       Sibcalls are always legal when the caller doesn't preserve r2.
+
+2020-08-19  UroÅ¡ Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_builtin)
+       [case IX86_BUILTIN_ENQCMD, case IX86_BUILTIN_ENQCMDS]:
+       Rewrite expansion to use code_for_enqcmd.
+       [case IX86_BUILTIN_WRSSD, case IX86_BUILTIN_WRSSQ]:
+       Rewrite expansion to use code_for_wrss.
+       [case IX86_BUILTIN_WRUSSD, case IX86_BUILTIN_WRUSSD]:
+       Rewrite expansion to use code_for_wrss.
+
+2020-08-19  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/94234
+       * match.pd ((PTR_A + OFF) - (PTR_B + OFF)) -> (PTR_A - PTR_B): New
+       simplification.
+
+2020-08-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       * common/config/i386/cpuinfo.h (get_intel_cpu): Detect Rocket
+       Lake and Alder Lake.
+
+2020-08-19  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * config/aarch64/aarch64.c (aarch64_init_cumulative_args): Remove
+       "fndecl && TREE_PUBLIC (fndecl)" check since it prevents the funtion
+       type check when calling via a function pointer or when calling a static
+       function.
+
+2020-08-19  Kewen Lin  <linkw@linux.ibm.com>
+
+       * opts-global.c (decode_options): Call target_option_override_hook
+       before it prints for --help=*.
+
+2020-08-18  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtin.def (BU_VSX_1): Rename xvcvbf16sp to
+       xvcvbf16spn.
+       * config/rs6000/rs6000-call.c (builtin_function_type): Likewise.
+       * config/rs6000/vsx.md: Likewise.
+       * doc/extend.texi: Likewise.
+
+2020-08-18  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000-string.c (gen_lxvl_stxvl_move):
+       Helper function.
+       (expand_block_move): Add lxvl/stxvl, vector pair, and
+       unaligned VSX.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Default value for -mblock-ops-vector-pair.
+       * config/rs6000/rs6000.opt: Add -mblock-ops-vector-pair.
+
+2020-08-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (check_for_binary_op_overflow): Change type of store
+       to range_query.
+       (vr_values::adjust_range_with_scev): Abstract most of the code...
+       (range_of_var_in_loop): ...here.  Remove value_range_equiv uses.
+       (simplify_using_ranges::simplify_using_ranges): Change type of store
+       to range_query.
+       * vr-values.h (class range_query): New.
+       (class simplify_using_ranges): Use range_query.
+       (class vr_values): Add OVERRIDE to get_value_range.
+       (range_of_var_in_loop): New.
+
+2020-08-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/96665
+       PR middle-end/78257
+       * expr.c (convert_to_bytes): Replace statically allocated buffer with
+       a dynamically allocated one of sufficient size.
+
+2020-08-18  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/96670
+       PR middle-end/78257
+       * gimple-fold.c (gimple_fold_builtin_memchr): Call byte_representation
+       to get it, not string_constant.
+
+2020-08-18  Hu Jiangping  <hujiangping@cn.fujitsu.com>
+
+       * doc/gimple.texi (gimple_debug_begin_stmt_p): Add return type.
+       (gimple_debug_inline_entry_p, gimple_debug_nonbind_marker_p): Likewise.
+
+2020-08-18  Martin Sebor  <msebor@redhat.com>
+
+       * fold-const.c (native_encode_expr): Update comment.
+
+2020-08-18  UroÅ¡ Bizjak  <ubizjak@gmail.com>
+
+       PR target/96536
+       * config/i386/i386.md (restore_stack_nonlocal): Add missing compare
+       RTX.  Rewrite expander to use high-level functions in RTL construction.
+
+2020-08-18  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96562
+       PR target/93897
+       * config/i386/i386-expand.c (ix86_expand_pinsr): Don't use
+       pinsr for TImode.
+       (ix86_expand_pextr): Don't use pextr for TImode.
+
+2020-08-17  UroÅ¡ Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-builtin.def (__builtin_ia32_bextri_u32)
+       (__builtin_ia32_bextri_u64): Use CODE_FOR_nothing.
+       * config/i386/i386.md (@tbm_bextri_<mode>):
+       Implement as parametrized name pattern.
+       (@rdrand<mode>): Ditto.
+       (@rdseed<mode>): Ditto.
+       * config/i386/i386-expand.c (ix86_expand_builtin)
+       [case IX86_BUILTIN_BEXTRI32, case IX86_BUILTIN_BEXTRI64]:
+       Update for parameterized name patterns.
+       [case IX86_BUILTIN_RDRAND16_STEP, case IX86_BUILTIN_RDRAND32_STEP]
+       [case IX86_BUILTIN_RDRAND64_STEP]: Ditto.
+       [case IX86_BUILTIN_RDSEED16_STEP, case IX86_BUILTIN_RDSEED32_STEP]
+       [case IX86_BUILTIN_RDSEED64_STEP]: Ditto.
+
+2020-08-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (vr_values::get_value_range): Add stmt param.
+       (vr_values::extract_range_from_comparison): Same.
+       (vr_values::extract_range_from_assignment): Pass stmt to
+       extract_range_from_comparison.
+       (vr_values::adjust_range_with_scev): Pass stmt to get_value_range.
+       (simplify_using_ranges::vrp_evaluate_conditional): Add stmt param.
+       Pass stmt to get_value_range.
+       (simplify_using_ranges::vrp_visit_cond_stmt): Pass stmt to
+       get_value_range.
+       (simplify_using_ranges::simplify_abs_using_ranges): Same.
+       (simplify_using_ranges::simplify_div_or_mod_using_ranges): Same.
+       (simplify_using_ranges::simplify_bit_ops_using_ranges): Same.
+       (simplify_using_ranges::simplify_cond_using_ranges_1): Same.
+       (simplify_using_ranges::simplify_switch_using_ranges): Same.
+       (simplify_using_ranges::simplify_float_conversion_using_ranges): Same.
+       * vr-values.h (class vr_values): Add stmt arg to
+       vrp_evaluate_conditional_warnv_with_ops.
+       Add stmt arg to extract_range_from_comparison and get_value_range.
+       (simplify_using_ranges::get_value_range): Add stmt arg.
+
+2020-08-17  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/96350
+       * config/i386/i386.c (ix86_legitimate_constant_p): Return
+       false for ENDBR immediate.
+       (ix86_legitimate_address_p): Ditto.
+       * config/i386/predicates.md
+       (x86_64_immediate_operand): Exclude ENDBR immediate.
+       (x86_64_zext_immediate_operand): Ditto.
+       (x86_64_dwzext_immediate_operand): Ditto.
+       (ix86_endbr_immediate_operand): New predicate.
+
+2020-08-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1) [SIGN_EXTEND]:
+       Simplify (sign_extend:M (truncate:N (lshiftrt:M x C))) to
+       (ashiftrt:M x C) when the shift sets the high bits appropriately.
+
+2020-08-14  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/78257
+       * builtins.c (expand_builtin_memory_copy_args): Rename called function.
+       (expand_builtin_stpcpy_1): Remove argument from call.
+       (expand_builtin_memcmp): Rename called function.
+       (inline_expand_builtin_bytecmp): Same.
+       * expr.c (convert_to_bytes): New function.
+       (constant_byte_string): New function (formerly string_constant).
+       (string_constant): Call constant_byte_string.
+       (byte_representation): New function.
+       * expr.h (byte_representation): Declare.
+       * fold-const-call.c (fold_const_call): Rename called function.
+       * fold-const.c (c_getstr): Remove an argument.
+       (getbyterep): Define a new function.
+       * fold-const.h (c_getstr): Remove an argument.
+       (getbyterep): Declare a new function.
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Rename callee.
+       (gimple_fold_builtin_string_compare): Same.
+       (gimple_fold_builtin_memchr): Same.
+
+2020-08-14  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/analyzer.texi (Overview): Add tip about how to get a
+       gimple dump if the analyzer ICEs.
+
+2020-08-14  UroÅ¡ Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-builtin.def (__builtin_ia32_llwpcb)
+       (__builtin_ia32_slwpcb, __builtin_ia32_lwpval32)
+       (__builtin_ia32_lwpval64, __builtin_ia32_lwpins32)
+       (__builtin_ia32_lwpins64): Use CODE_FOR_nothing.
+       * config/i386/i386.md (@lwp_llwpcb<mode>):
+       Implement as parametrized name pattern.
+       (@lwp_slwpcb<mode>): Ditto.
+       (@lwp_lwpval<mode>): Ditto.
+       (@lwp_lwpins<mode>): Ditto.
+       * config/i386/i386-expand.c (ix86_expand_special_args_builtin)
+       [case VOID_FTYPE_UINT_UINT_UINT, case VOID_FTYPE_UINT64_UINT_UINT]
+       [case UCHAR_FTYPE_UINT_UINT_UINT, case UCHAR_FTYPE_UINT64_UINT_UINT]:
+       Remove.
+       (ix86_expand_builtin)
+       [ case IX86_BUILTIN_LLWPCB, case IX86_BUILTIN_LLWPCB]:
+       Update for parameterized name patterns.
+       [case IX86_BUILTIN_LWPVAL32, case IX86_BUILTIN_LWPVAL64]
+       [case IX86_BUILTIN_LWPINS32, case IX86_BUILTIN_LWPINS64]: Expand here.
+
+2020-08-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+       * common.opt: Add new option -fdiagnostics-plain-output.
+       * doc/invoke.texi: Document it.
+       * opts-common.c (decode_cmdline_options_to_array): Implement it.
+       (decode_cmdline_option): Add missing const qualifier to argv.
+
+2020-08-14  Jakub Jelinek  <jakub@redhat.com>
+           Jonathan Wakely  <jwakely@redhat.com>
+           Jonathan Wakely   <jwakely@redhat.com>
+
+       * system.h: Include type_traits.
+       * vec.h (vec<T, A, vl_embed>::embedded_size): Use offsetof and asserts
+       on vec_stdlayout, which is conditionally a vec (for standard layout T)
+       and otherwise vec_embedded.
+
+2020-08-14  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky-elf.h (ASM_SPEC): Use mfloat-abi.
+       * config/csky/csky-linux-elf.h (ASM_SPEC): mfloat-abi.
+
+2020-08-13  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/93032
+       PR analyzer/93938
+       PR analyzer/94011
+       PR analyzer/94099
+       PR analyzer/94399
+       PR analyzer/94458
+       PR analyzer/94503
+       PR analyzer/94640
+       PR analyzer/94688
+       PR analyzer/94689
+       PR analyzer/94839
+       PR analyzer/95026
+       PR analyzer/95042
+       PR analyzer/95240
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/region.o,
+       analyzer/region-model-impl-calls.o,
+       analyzer/region-model-manager.o,
+       analyzer/region-model-reachability.o, analyzer/store.o, and
+       analyzer/svalue.o.
+       * doc/analyzer.texi: Update for changes to analyzer
+       implementation.
+       * tristate.h (tristate::get_value): New accessor.
+
+2020-08-13  UroÅ¡ Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-builtin.def (CET_NORMAL): Merge to CET BDESC array.
+       (__builtin_ia32_rddspd, __builtin_ia32_rddspq, __builtin_ia32_incsspd)
+       (__builtin_ia32_incsspq, __builtin_ia32_wrssd, __builtin_ia32_wrssq)
+       (__builtin_ia32_wrussd, __builtin_ia32_wrussq): Use CODE_FOR_nothing.
+       * config/i386/i386-builtins.c: Remove handling of CET_NORMAL builtins.
+       * config/i386/i386.md (@rdssp<mode>): Implement as parametrized
+       name pattern.  Use SWI48 mode iterator.  Introduce input operand
+       and remove explicit XOR zeroing from insn template.
+       (@incssp<mode>): Implement as parametrized name pattern.
+       Use SWI48 mode iterator.
+       (@wrss<mode>): Ditto.
+       (@wruss<mode>): Ditto.
+       (rstorssp): Remove expander.  Rename insn pattern from *rstorssp<mode>.
+       Use DImode memory operand.
+       (clrssbsy): Remove expander.  Rename insn pattern from *clrssbsy<mode>.
+       Use DImode memory operand.
+       (save_stack_nonlocal): Update for parametrized name patterns.
+       Use cleared register as an argument to gen_rddsp.
+       (restore_stack_nonlocal): Update for parametrized name patterns.
+       * config/i386/i386-expand.c (ix86_expand_builtin):
+       [case IX86_BUILTIN_RDSSPD, case IX86_BUILTIN_RDSSPQ]: Expand here.
+       [case IX86_BUILTIN_INCSSPD, case IX86_BUILTIN_INCSSPQ]: Ditto.
+       [case IX86_BUILTIN_RSTORSSP, case IX86_BUILTIN_CLRSSBSY]:
+       Generate DImode memory operand.
+       [case IX86_BUILTIN_WRSSD, case IX86_BUILTIN_WRSSQ]
+       [case IX86_BUILTIN_WRUSSD, case IX86_BUILTIN_WRUSSD]:
+       Update for parameterized name patterns.
+
+2020-08-13  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96506
+       * config/rs6000/rs6000-call.c (rs6000_promote_function_mode): Disallow
+       MMA types as return values.
+       (rs6000_function_arg): Disallow MMA types as function arguments.
+
+2020-08-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       Revert:
+       2020-08-12  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * config/aarch64/aarch64.c (aarch64_function_value): Add if
+       condition to check ag_mode after entering if condition of
+       aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is
+       set as false by -mgeneral-regs-only, report the diagnostic
+       information of -mgeneral-regs-only imcompatible with the use
+       of fp/simd register(s).
+
+2020-08-13  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/96482
+       * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Mask m_value
+       with m_mask.
+
+2020-08-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_omp_taskloop_expr): New function.
+       (gimplify_omp_for): Use it.  For OMP_FOR_NON_RECTANGULAR
+       loops adjust in outer taskloop the var-outer decls.
+       * omp-expand.c (expand_omp_taskloop_for_inner): Handle non-rectangular
+       loops.
+       (expand_omp_for): Don't reject non-rectangular taskloop.
+       * omp-general.c (omp_extract_for_data): Don't assert that
+       non-rectangular loops have static schedule, instead treat loop->m1
+       or loop->m2 as if loop->n1 or loop->n2 is non-constant.
+
+2020-08-13  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/96246
+       * config/i386/sse.md (<avx512>_load<mode>_mask,
+       <avx512>_load<mode>_mask): Extend to generate blendm
+       instructions.
+       (<avx512>_blendm<mode>, <avx512>_blendm<mode>): Change
+       define_insn to define_expand.
+
+2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
+           UroÅ¡ Bizjak  <ubizjak@gmail.com>
+
+       PR target/96558
+       * config/i386/i386.md (peephole2): Only reorder register clearing
+       instructions to allow use of xor for general registers.
+
+2020-08-12  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/96482
+       * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Drop value bits
+       for bits that are unknown.
+       (ipcp_bits_lattice::set_to_constant): Likewise.
+       * tree-ssa-ccp.c (get_default_value): Add sanity check that
+       IPA CP bit info has all bits set to zero in bits that
+       are unknown.
+
+2020-08-12  Peixin Qiao  <qiaopeixin@huawei.com>
+
+       * config/aarch64/aarch64.c (aarch64_function_value): Add if
+       condition to check ag_mode after entering if condition of
+       aarch64_vfp_is_call_or_return_candidate. If TARGET_FLOAT is
+       set as false by -mgeneral-regs-only, report the diagnostic
+       information of -mgeneral-regs-only imcompatible with the use
+       of fp/simd register(s).
+
+2020-08-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96535
+       * toplev.c (process_options): Move flag_unroll_loops and
+       flag_cunroll_grow_size handling from here to ...
+       * opts.c (finish_options): ... here.  For flag_cunroll_grow_size,
+       don't check for AUTODETECT_VALUE, but instead check
+       opts_set->x_flag_cunroll_grow_size.
+       * common.opt (funroll-completely-grow-size): Default to 0.
+       * config/rs6000/rs6000.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
+       Redefine.
+       (rs6000_override_options_after_change): New function.
+       (rs6000_option_override_internal): Call it.  Move there the
+       flag_cunroll_grow_size, unroll_only_small_loops and
+       flag_rename_registers handling.
+
+2020-08-12  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Make elt_size an
+       unsigned HOST_WIDE_INT.  Print init_frag.remaining using
+       HOST_WIDE_INT_PRINT_UNSIGNED.
+
+2020-08-12  Roger Sayle  <roger@nextmovesoftware.com>
+           UroÅ¡ Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (peephole2): Reduce unnecessary
+       register shuffling produced by register allocation.
+
+2020-08-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * ipa-fnsummary.c (evaluate_conditions_for_known_args): Use vec<>
+       instead of std::vector<>.
+       (evaluate_properties_for_edge): Same.
+       (ipa_fn_summary_t::duplicate): Same.
+       (estimate_ipcp_clone_size_and_time): Same.
+       * vec.h (<T, A, vl_embed>::embedded_size): Change vec_embedded
+       type to contain a char[].
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96308
+       * config/s390/s390.c (s390_cannot_force_const_mem): Reject an
+       unary minus for everything not being a numeric constant.
+       (legitimize_tls_address): Move a NEG out of the CONST rtx.
+
+2020-08-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96456
+       * config/s390/s390.h (TARGET_NONSIGNALING_VECTOR_COMPARE_OK): New
+       macro.
+       * config/s390/vector.md (vcond_comparison_operator): Use new macro
+       for the check.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/96539
+       * expr.c (emit_block_move_hints): Don't copy anything if x and y
+       are the same and neither is MEM_VOLATILE_P.
+
+2020-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/96549
+       * tree.c (get_narrower): Use TREE_TYPE (ret) instead of
+       TREE_TYPE (win) for COMPOUND_EXPRs.
+
+2020-08-11  Jan Hubicka  <hubicka@ucw.cz>
+
+       * predict.c (not_loop_guard_equal_edge_p): New function.
+       (maybe_predict_edge): New function.
+       (predict_paths_for_bb): Use it.
+       (predict_paths_leading_to_edge): Use it.
+
+2020-08-11  Martin Liska  <mliska@suse.cz>
+
+       * dbgcnt.def (DEBUG_COUNTER): Add ipa_cp_bits.
+       * ipa-cp.c (ipcp_store_bits_results): Use it when we store known
+       bits for parameters.
+
+2020-08-10  Marek Polacek  <polacek@redhat.com>
+
+       * doc/sourcebuild.texi: Document dg-ice.
+
+2020-08-10  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386-expand.c (ix86_expand_int_movcc): Expand
+       signed MIN_EXPR against zero as "x < 0 ? x : 0" instead of
+       "x <= 0 ? x : 0" to enable sign_bit_compare_p optimizations.
+
+2020-08-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (gt_ggc_mx): Declare inline.
+       (gt_pch_nx): Same.
+
+2020-08-10  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95433
+       * match.pd (X * C1 == C2): Handle wrapping overflow.
+       * expr.c (maybe_optimize_mod_cmp): Qualify call to mod_inv.
+       (mod_inv): Move...
+       * wide-int.cc (mod_inv): ... here.
+       * wide-int.h (mod_inv): Declare it.
+
+2020-08-10  Jan Hubicka  <hubicka@ucw.cz>
+
+       * predict.c (filter_predictions): Document semantics of filter.
+       (equal_edge_p): Rename to ...
+       (not_equal_edge_p): ... this; reverse semantics.
+       (remove_predictions_associated_with_edge): Fix.
+
+2020-08-10  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/96243
+       * config/i386/i386-expand.c (ix86_expand_sse_cmp): Refine for
+       maskcmp.
+       (ix86_expand_mask_vec_cmp): Change prototype.
+       * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): Change prototype.
+       * config/i386/i386.c (ix86_print_operand): Remove operand
+       modifier 'I'.
+       * config/i386/sse.md
+       (*<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>): Deleted.
+       (*<avx512>_cmp<mode>3<mask_scalar_merge_name>): Ditto.
+       (*<avx512>_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
+       (*<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
+       avx512f_maskcmp<mode>3): Ditto.
+
+2020-08-09  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * expmed.c (init_expmed_one_conv): Restore all->reg's mode.
+       (init_expmed_one_mode): Set all->reg to desired mode.
+
+2020-08-08  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96530
+       * config/rs6000/rs6000.c (rs6000_invalid_conversion): Use canonical
+       types for type comparisons.  Refactor code to simplify it.
+
+2020-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/93553
+       * tree-nested.c (convert_nonlocal_omp_clauses): For
+       OMP_CLAUSE_REDUCTION, OMP_CLAUSE_LASTPRIVATE and OMP_CLAUSE_LINEAR
+       save info->new_local_var_chain around walks of the clause gimple
+       sequences and declare_vars if needed into the sequence.
+
+2020-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96424
+       * omp-expand.c: Include tree-eh.h.
+       (expand_omp_for_init_vars): Handle -fexceptions -fnon-call-exceptions
+       by forcing floating point comparison into a bool temporary.
+
+2020-08-07  Marc Glisse  <marc.glisse@inria.fr>
+
+       * generic-match-head.c (optimize_vectors_before_lowering_p): New
+       function.
+       * gimple-match-head.c (optimize_vectors_before_lowering_p):
+       Likewise.
+       * match.pd ((v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): Use it.
+
+2020-08-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96514
+       * tree-if-conv.c (if_convertible_bb_p): If the last stmt
+       is a call that is control-altering, fail.
+
+2020-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.md: Remove trailing whitespaces.
+       * config/bpf/constraints.md: Likewise.
+       * config/bpf/predicates.md: Likewise.
+
+2020-08-07  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000.md (bswaphi2_reg): Add ISA 3.1 support.
+       (bswapsi2_reg): Add ISA 3.1 support.
+       (bswapdi2): Rename bswapdi2_xxbrd to bswapdi2_brd.
+       (bswapdi2_brd,bswapdi2_xxbrd): Rename.  Add ISA 3.1 support.
+
+2020-08-07  Alan Modra  <amodra@gmail.com>
+
+       PR target/96493
+       * config/rs6000/predicates.md (current_file_function_operand): Don't
+       accept functions that differ in r2 usage.
+
+2020-08-06  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.md (MM): New mode_iterator.
+       ("mov<mode>"): New expander to expand for all MM-modes.
+       ("*movqi_expanded", "*movhi_expanded", "*movsi_expanded")
+       ("*movsf_expanded", "*movdf_expanded"): Rename from the
+       corresponding mov<M> named pattern.  Add to the condition that
+       either operand must be a register_operand.
+       ("*movdi_expanded"): Similar, but also allow STCO in the condition.
+
+2020-08-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/96191
+       * config/arm/arm.md (arm_stack_protect_test_insn): Zero out
+       operand 2 after use.
+       * config/arm/thumb1.md (thumb1_stack_protect_test_insn): Likewise.
+
+2020-08-06  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96446
+       * config/rs6000/mma.md (*movpxi): Add xxsetaccz generation.
+       Disable split for zero constant source operand.
+       (mma_xxsetaccz): Change to define_expand.  Call gen_movpxi.
+
+2020-08-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/96480
+       * tree-ssa-reassoc.c (suitable_cond_bb): Add TEST_SWAPPED_P argument.
+       If TEST_BB ends in cond and has one edge to *OTHER_BB and another
+       through an empty bb to that block too, if PHI args don't match, retry
+       them through the other path from TEST_BB.
+       (maybe_optimize_range_tests): Adjust callers.  Handle such LAST_BB
+       through inversion of the condition.
+
+2020-08-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf-helpers.h (KERNEL_HELPER): Define.
+       (KERNEL_VERSION): Remove.
+       * config/bpf/bpf-helpers.def: Delete.
+       * config/bpf/bpf.c (bpf_handle_fndecl_attribute): New function.
+       (bpf_attribute_table): Define.
+       (bpf_helper_names): Delete.
+       (bpf_helper_code): Likewise.
+       (enum bpf_builtins): Adjust to new helpers mechanism.
+       (bpf_output_call): Likewise.
+       (bpf_init_builtins): Likewise.
+       (bpf_init_builtins): Likewise.
+       * doc/extend.texi (BPF Function Attributes): New section.
+       (BPF Kernel Helpers): Delete section.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96491
+       * tree-ssa-sink.c (sink_common_stores_to_bb): Avoid
+       sinking across abnormal edges.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96483
+       * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
+       POLY_INT_CST.
+
+2020-08-06  Richard Biener  <rguenther@suse.de>
+
+       * graphite-isl-ast-to-gimple.c (ivs_params): Use hash_map instead
+       of std::map.
+       (ivs_params_clear): Adjust.
+       (gcc_expression_from_isl_ast_expr_id): Likewise.
+       (graphite_create_new_loop): Likewise.
+       (add_parameters_to_ivs_params): Likewise.
+
+2020-08-06  Roger Sayle  <roger@nextmovesoftware.com>
+           UroÅ¡ Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (MAXMIN_IMODE): No longer needed.
+       (<maxmin><mode>3):  Support SWI248 and general_operand for
+       second operand, when TARGET_CMOVE.
+       (<maxmin><mode>3_1 splitter): Optimize comparisons against
+       0, 1 and -1 to use "test" instead of "cmp".
+       (*<maxmin>di3_doubleword): Likewise, allow general_operand
+       and enable on TARGET_CMOVE.
+       (peephole2): Convert clearing a register after a flag setting
+       instruction into an xor followed by the original flag setter.
+
+2020-08-06  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * ipa-fnsummary.c (INCLUDE_VECTOR): Define.
+       Remove direct inclusion of <vector>.
+
+2020-08-06  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_adjust_vect_cost_per_loop): New
+       function.
+       (rs6000_finish_cost): Call rs6000_adjust_vect_cost_per_loop.
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters): Add cost
+       modeling for vector with length.
+       (vect_rgroup_iv_might_wrap_p): New function, factored out from...
+       * tree-vect-loop-manip.c (vect_set_loop_controls_directly): ...this.
+       Update function comment.
+       * tree-vect-stmts.c (vect_gen_len): Update function comment.
+       * tree-vectorizer.h (vect_rgroup_iv_might_wrap_p): New declare.
+
+2020-08-06  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vectorizer.c (try_vectorize_loop_1): Skip the epilogue loops
+       for dbgcnt check.
+
+2020-08-05  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95906
+       PR target/70314
+       * match.pd ((c ? a : b) op d, (c ? a : b) op (c ? d : e),
+       (v ? w : 0) ? a : b, c1 ? c2 ? a : b : b): New transformations.
+       (op (c ? a : b)): Update to match the new transformations.
+
+2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/96191
+       * config/aarch64/aarch64.md (stack_protect_test_<mode>): Set the
+       CC register directly, instead of a GPR.  Replace the original GPR
+       destination with an extra scratch register.  Zero out operand 3
+       after use.
+       (stack_protect_test): Update accordingly.
+
+2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.md (load_pair_sw_<SX:mode><SX2:mode>)
+       (load_pair_dw_<DX:mode><DX2:mode>, load_pair_dw_tftf)
+       (store_pair_sw_<SX:mode><SX2:mode>)
+       (store_pair_dw_<DX:mode><DX2:mode>, store_pair_dw_tftf)
+       (*load_pair_extendsidi2_aarch64)
+       (*load_pair_zero_extendsidi2_aarch64): Use %z for the memory operand.
+       * config/aarch64/aarch64-simd.md (load_pair<DREG:mode><DREG2:mode>)
+       (vec_store_pair<DREG:mode><DREG2:mode>, load_pair<VQ:mode><VQ2:mode>)
+       (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
+
+2020-08-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (invariantness_dom_walker): Remove.
+       (invariantness_dom_walker::before_dom_children): Move to ...
+       (compute_invariantness): ... this function.
+       (move_computations): Inline ...
+       (tree_ssa_lim): ... here, share RPO order and avoid some
+       cfun references.
+       (analyze_memory_references): Remove sorting of location
+       lists, instead assert they are sorted already when checking.
+       (prev_flag_edges): Remove.
+       (execute_sm_if_changed): Pass down and adjust prev edge state.
+       (execute_sm_exit): Likewise.
+       (hoist_memory_references): Likewise.  Commit edge insertions
+       of each processed exit.
+       (store_motion_loop): Do not commit edge insertions on all
+       edges in the function.
+       (tree_ssa_lim_initialize): Do not call alloc_aux_for_edges.
+       (tree_ssa_lim_finalize): Do not call free_aux_for_edges.
+
+2020-08-05  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (fail_label): New global.
+       (expr::gen_transform): Branch to fail_label instead of
+       returning.  Fix indent of call argument checking.
+       (dt_simplify::gen_1): Compute and emit fail_label, branch
+       to it instead of returning early.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for): Don't disallow combined non-rectangular
+       loops.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96459
+       * omp-low.c (lower_omp_taskreg): Call lower_reduction_clauses even in
+       for host teams.
+
+2020-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for_init_counts): Remember
+       first_inner_iterations, factor and n1o from the number of iterations
+       computation in *fd.
+       (expand_omp_for_init_vars): Use more efficient logical iteration number
+       to actual iterator values computation even for non-rectangular loops
+       where number of loop iterations could not be computed at compile time.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_blendv, vec_permx): Add define.
+       * config/rs6000/altivec.md (UNSPEC_XXBLEND, UNSPEC_XXPERMX.): New
+       unspecs.
+       (VM3): New define_mode.
+       (VM3_char): New define_attr.
+       (xxblend_<mode> mode VM3): New define_insn.
+       (xxpermx): New define_expand.
+       (xxpermx_inst): New define_insn.
+       * config/rs6000/rs6000-builtin.def (VXXBLEND_V16QI, VXXBLEND_V8HI,
+       VXXBLEND_V4SI, VXXBLEND_V2DI, VXXBLEND_V4SF, VXXBLEND_V2DF): New
+       BU_P10V_3 definitions.
+       (XXBLEND): New BU_P10_OVERLOAD_3 definition.
+       (XXPERMX): New BU_P10_OVERLOAD_4 definition.
+       * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
+       (P10_BUILTIN_VXXPERMX): Add if statement.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VXXBLEND_V16QI,
+       P10_BUILTIN_VXXBLEND_V8HI, P10_BUILTIN_VXXBLEND_V4SI,
+       P10_BUILTIN_VXXBLEND_V2DI, P10_BUILTIN_VXXBLEND_V4SF,
+       P10_BUILTIN_VXXBLEND_V2DF, P10_BUILTIN_VXXPERMX): Define
+       overloaded arguments.
+       (rs6000_expand_quaternop_builtin): Add if case for CODE_FOR_xxpermx.
+       (builtin_quaternary_function_type): Add v16uqi_type and xxpermx_type
+       variables, add case statement for P10_BUILTIN_VXXPERMX.
+       (builtin_function_type): Add case statements for
+       P10_BUILTIN_VXXBLEND_V16QI, P10_BUILTIN_VXXBLEND_V8HI,
+       P10_BUILTIN_VXXBLEND_V4SI, P10_BUILTIN_VXXBLEND_V2DI.
+       * doc/extend.texi: Add documentation for vec_blendv and vec_permx.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_splati, vec_splatid, vec_splati_ins):
+       Add defines.
+       * config/rs6000/altivec.md (UNSPEC_XXSPLTIW, UNSPEC_XXSPLTID,
+       UNSPEC_XXSPLTI32DX): New.
+       (vxxspltiw_v4si, vxxspltiw_v4sf_inst, vxxspltidp_v2df_inst,
+       vxxsplti32dx_v4si_inst, vxxsplti32dx_v4sf_inst): New define_insn.
+       (vxxspltiw_v4sf, vxxspltidp_v2df, vxxsplti32dx_v4si,
+       vxxsplti32dx_v4sf.): New define_expands.
+       * config/rs6000/predicates.md (u1bit_cint_operand,
+       s32bit_cint_operand, c32bit_cint_operand): New predicates.
+       * config/rs6000/rs6000-builtin.def (VXXSPLTIW_V4SI, VXXSPLTIW_V4SF,
+       VXXSPLTID): New definitions.
+       (VXXSPLTI32DX_V4SI, VXXSPLTI32DX_V4SF): New BU_P10V_3
+       definitions.
+       (XXSPLTIW, XXSPLTID): New definitions.
+       (XXSPLTI32DX): Add definitions.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_XXSPLTIW,
+       P10_BUILTIN_VEC_XXSPLTID, P10_BUILTIN_VEC_XXSPLTI32DX):
+       New definitions.
+       * config/rs6000/rs6000-protos.h (rs6000_constF32toI32): New extern
+       declaration.
+       * config/rs6000/rs6000.c (rs6000_constF32toI32): New function.
+       * doc/extend.texi: Add documentation for vec_splati,
+       vec_splatid, and vec_splati_ins.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_sldb, vec_srdb): New defines.
+       * config/rs6000/altivec.md (UNSPEC_SLDB, UNSPEC_SRDB): New.
+       (SLDB_lr): New attribute.
+       (VSHIFT_DBL_LR): New iterator.
+       (vs<SLDB_lr>db_<mode>): New define_insn.
+       * config/rs6000/rs6000-builtin.def (VSLDB_V16QI, VSLDB_V8HI,
+       VSLDB_V4SI, VSLDB_V2DI, VSRDB_V16QI, VSRDB_V8HI, VSRDB_V4SI,
+       VSRDB_V2DI): New BU_P10V_3 definitions.
+       (SLDB, SRDB): New BU_P10_OVERLOAD_3 definitions.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_SLDB,
+       P10_BUILTIN_VEC_SRDB): New definitions.
+       (rs6000_expand_ternop_builtin) [CODE_FOR_vsldb_v16qi,
+       CODE_FOR_vsldb_v8hi, CODE_FOR_vsldb_v4si, CODE_FOR_vsldb_v2di,
+       CODE_FOR_vsrdb_v16qi, CODE_FOR_vsrdb_v8hi, CODE_FOR_vsrdb_v4si,
+       CODE_FOR_vsrdb_v2di]: Add clauses.
+       * doc/extend.texi: Add description for vec_sldb and vec_srdb.
+
+2020-08-05  2020-08-04 Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h: Add define for vec_replace_elt and
+       vec_replace_unaligned.
+       * config/rs6000/vsx.md (UNSPEC_REPLACE_ELT, UNSPEC_REPLACE_UN): New
+       unspecs.
+       (REPLACE_ELT): New mode iterator.
+       (REPLACE_ELT_char, REPLACE_ELT_sh, REPLACE_ELT_max): New mode attributes.
+       (vreplace_un_<mode>, vreplace_elt_<mode>_inst): New.
+       * config/rs6000/rs6000-builtin.def (VREPLACE_ELT_V4SI,
+       VREPLACE_ELT_UV4SI, VREPLACE_ELT_V4SF, VREPLACE_ELT_UV2DI,
+       VREPLACE_ELT_V2DF, VREPLACE_UN_V4SI, VREPLACE_UN_UV4SI,
+       VREPLACE_UN_V4SF, VREPLACE_UN_V2DI, VREPLACE_UN_UV2DI,
+       VREPLACE_UN_V2DF, (REPLACE_ELT, REPLACE_UN, VREPLACE_ELT_V2DI): New builtin
+       entries.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_REPLACE_ELT,
+       P10_BUILTIN_VEC_REPLACE_UN): New builtin argument definitions.
+       (rs6000_expand_quaternop_builtin): Add 3rd argument checks for
+       CODE_FOR_vreplace_elt_v4si, CODE_FOR_vreplace_elt_v4sf,
+       CODE_FOR_vreplace_un_v4si, CODE_FOR_vreplace_un_v4sf.
+       (builtin_function_type) [P10_BUILTIN_VREPLACE_ELT_UV4SI,
+       P10_BUILTIN_VREPLACE_ELT_UV2DI, P10_BUILTIN_VREPLACE_UN_UV4SI,
+       P10_BUILTIN_VREPLACE_UN_UV2DI]: New cases.
+       * doc/extend.texi: Add description for vec_replace_elt and
+       vec_replace_unaligned builtins.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.h (vec_insertl, vec_inserth): New defines.
+       * config/rs6000/rs6000-builtin.def (VINSERTGPRBL, VINSERTGPRHL,
+       VINSERTGPRWL, VINSERTGPRDL, VINSERTVPRBL, VINSERTVPRHL, VINSERTVPRWL,
+       VINSERTGPRBR, VINSERTGPRHR, VINSERTGPRWR, VINSERTGPRDR, VINSERTVPRBR,
+       VINSERTVPRHR, VINSERTVPRWR): New builtins.
+       (INSERTL, INSERTH): New builtins.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_INSERTL,
+       P10_BUILTIN_VEC_INSERTH): New overloaded definitions.
+       (P10_BUILTIN_VINSERTGPRBL, P10_BUILTIN_VINSERTGPRHL,
+       P10_BUILTIN_VINSERTGPRWL, P10_BUILTIN_VINSERTGPRDL,
+       P10_BUILTIN_VINSERTVPRBL, P10_BUILTIN_VINSERTVPRHL,
+       P10_BUILTIN_VINSERTVPRWL): Add case entries.
+       * config/rs6000/vsx.md (define_c_enum): Add UNSPEC_INSERTL,
+       UNSPEC_INSERTR.
+       (define_expand): Add vinsertvl_<mode>, vinsertvr_<mode>,
+       vinsertgl_<mode>, vinsertgr_<mode>, mode is VI2.
+       (define_ins): vinsertvl_internal_<mode>, vinsertvr_internal_<mode>,
+       vinsertgl_internal_<mode>, vinsertgr_internal_<mode>, mode VEC_I.
+       * doc/extend.texi: Add documentation for vec_insertl, vec_inserth.
+
+2020-08-05  2020-08-04  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/altivec.md: (UNSPEC_EXTRACTL, UNSPEC_EXTRACTR)
+       (vextractl<mode>, vextractr<mode>)
+       (vextractl<mode>_internal, vextractr<mode>_internal for mode VI2)
+       (VI2): Move to ...
+       * config/rs6000/vsx.md: (UNSPEC_EXTRACTL, UNSPEC_EXTRACTR)
+       (vextractl<mode>, vextractr<mode>)
+       (vextractl<mode>_internal, vextractr<mode>_internal for mode VI2)
+       (VI2):  ..here.
+       * doc/extend.texi: Update documentation for vec_extractl.
+       Replace builtin name vec_extractr with vec_extracth.  Update
+       description of vec_extracth.
+
+2020-08-04  Jim Wilson  <jimw@sifive.com>
+
+       * doc/invoke.texi (AArch64 Options): Delete duplicate
+       -mstack-protector-guard docs.
+
+2020-08-04  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (smulhi3_highpart, smulsi3_highpart)
+       (umulhi3_highpart, umulsi3_highpart): New instructions.
+
+2020-08-04  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-run.c (R_AMDGPU_NONE): Delete.
+       (R_AMDGPU_ABS32_LO): Delete.
+       (R_AMDGPU_ABS32_HI): Delete.
+       (R_AMDGPU_ABS64): Delete.
+       (R_AMDGPU_REL32): Delete.
+       (R_AMDGPU_REL64): Delete.
+       (R_AMDGPU_ABS32): Delete.
+       (R_AMDGPU_GOTPCREL): Delete.
+       (R_AMDGPU_GOTPCREL32_LO): Delete.
+       (R_AMDGPU_GOTPCREL32_HI): Delete.
+       (R_AMDGPU_REL32_LO): Delete.
+       (R_AMDGPU_REL32_HI): Delete.
+       (reserved): Delete.
+       (R_AMDGPU_RELATIVE64): Delete.
+
+2020-08-04  Omar Tahir  <omar.tahir@arm.com>
+
+       * config/arm/arm-cpus.in (armv8.1-m.main): Tune for Cortex-M55.
+
+2020-08-04  Hu Jiangping  <hujiangping@cn.fujitsu.com>
+
+       * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Delete
+       redundant extra_cost variable.
+
+2020-08-04  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_call_properties):
+       Use FLOAT_MODE_P macro instead of enumerating all floating-point
+       modes and add global flag FLAG_AUTO_FP.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/extend.texi (symver): Add @cindex for symver function attribute.
+
+2020-08-04  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/95433
+       * match.pd (X * C1 == C2): New transformation.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-sprintf.c (get_int_range): Adjust for irange API.
+       (format_integer): Same.
+       (handle_printf_call): Same.
+
+2020-08-04  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.md ("<expander>ti3"): New.
+
+2020-08-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/88240
+       * tree-ssa-sccvn.h (vn_reference_s::punned): New flag.
+       * tree-ssa-sccvn.c (vn_reference_insert): Initialize punned.
+       (vn_reference_insert_pieces): Likewise.
+       (visit_reference_op_call): Likewise.
+       (visit_reference_op_load): Track whether a ref was punned.
+       * tree-ssa-pre.c (do_hoist_insertion): Refuse to perform hoist
+       insertion on punned floating point loads.
+
+2020-08-04  Sudakshina Das  <sudi.das@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_gen_store_pair): Add case
+       for E_V4SImode.
+       (aarch64_gen_load_pair): Likewise.
+       (aarch64_copy_one_block_and_progress_pointers): Handle 256 bit copy.
+       (aarch64_expand_cpymem): Expand copy_limit to 256bits where
+       appropriate.
+
+2020-08-04  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64.md (aarch64_fjcvtzs): Add missing
+       clobber.
+       * doc/sourcebuild.texi (aarch64_fjcvtzs_hw) Document new
+       target supports option.
+
+2020-08-04  Tom de Vries  <tdevries@suse.de>
+
+       PR target/96428
+       * config/nvptx/nvptx.c (nvptx_gen_shuffle): Handle V2SI/V2DI.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96426
+       * tree-vect-generic.c (expand_vector_conversion): Replace .VEC_CONVERT
+       call with GIMPLE_NOP if there is no lhs.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/96354
+       * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Add IS_DEBUG
+       argument.  Return false instead of gcc_unreachable if it is true and
+       get_addr_base_and_unit_offset returns NULL.
+       (fold_stmt_1) <case GIMPLE_DEBUG>: Adjust caller.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::vrp_evaluate_conditional):
+       Call is_gimple_min_invariant dropped from previous patch.
+
+2020-08-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for_init_counts): For triangular loops
+       compute number of iterations at runtime more efficiently.
+       (expand_omp_for_init_vars): Adjust immediate dominators.
+       (extract_omp_for_update_vars): Likewise.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::two_valued_val_range_p):
+       Use irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_conversion_using_ranges): Convert to irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (test_for_singularity): Use irange API.
+       (simplify_using_ranges::simplify_cond_using_ranges_1): Do not
+       special case VR_RANGE.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::vrp_evaluate_conditional): Adjust
+       for irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * vr-values.c (simplify_using_ranges::op_with_boolean_value_range_p): Adjust
+       for irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssanames.c (get_range_info): Use irange instead of value_range.
+       * tree-ssanames.h (get_range_info): Same.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * fold-const.c (expr_not_equal_to): Adjust for irange API.
+
+2020-08-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * builtins.c (determine_block_size): Remove ad-hoc range canonicalization.
+
+2020-08-04  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/71309
+       * dse.c (find_shift_sequence): Use subreg of shifted from high part
+       register to avoid loading from address.
+
+2020-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/cpp.texi (Variadic Macros): Use the exact ... token in
+       code examples.
+
+2020-08-03  Nathan Sidwell  <nathan@acm.org>
+
+       * doc/invoke.texi: Refer to c++20
+
+2020-08-03  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gimplify.c (gimplify_omp_target_update): Allow GOMP_MAP_TO_PSET
+       without a preceding data-movement mapping.
+
+2020-08-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): UNDEF before
+       use.
+       (DEF_MIN_OSX_VERSION): Only define if there's no existing
+       def.
+
+2020-08-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.c (IN_TARGET_CODE): Remove.
+       (darwin_mergeable_constant_section): Handle poly-int machine modes.
+       (machopic_select_rtx_section): Likewise.
+
+2020-08-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/96430
+       * range-op.cc (operator_tests): Do not shift by 31 on targets with
+       integer's smaller than 32 bits.
+
+2020-08-03  Martin Jambor  <mjambor@suse.cz>
+
+       * hsa-brig-format.h: Moved to brig/brigfrontend.
+       * hsa-brig.c: Removed.
+       * hsa-builtins.def: Likewise.
+       * hsa-common.c: Likewise.
+       * hsa-common.h: Likewise.
+       * hsa-dump.c: Likewise.
+       * hsa-gen.c: Likewise.
+       * hsa-regalloc.c: Likewise.
+       * ipa-hsa.c: Likewise.
+       * omp-grid.c: Likewise.
+       * omp-grid.h: Likewise.
+       * Makefile.in (BUILTINS_DEF): Remove hsa-builtins.def.
+       (OBJS): Remove hsa-common.o, hsa-gen.o, hsa-regalloc.o, hsa-brig.o,
+       hsa-dump.o, ipa-hsa.c and omp-grid.o.
+       (GTFILES): Removed hsa-common.c and omp-expand.c.
+       * builtins.def: Remove processing of hsa-builtins.def.
+       (DEF_HSA_BUILTIN): Remove.
+       * common.opt (flag_disable_hsa): Remove.
+       (-Whsa): Ignore.
+       * config.in (ENABLE_HSA): Removed.
+       * configure.ac: Removed handling configuration for hsa offloading.
+       (ENABLE_HSA): Removed.
+       * configure: Regenerated.
+       * doc/install.texi (--enable-offload-targets): Remove hsa from the
+       example.
+       (--with-hsa-runtime): Reword to reference any HSA run-time, not
+       specifically HSA offloading.
+       * doc/invoke.texi (Option Summary): Remove -Whsa.
+       (Warning Options): Likewise.
+       (Optimize Options): Remove hsa-gen-debug-stores.
+       * doc/passes.texi (Regular IPA passes): Remove section on IPA HSA
+       pass.
+       * gimple-low.c (lower_stmt): Remove GIMPLE_OMP_GRID_BODY case.
+       * gimple-pretty-print.c (dump_gimple_omp_for): Likewise.
+       (dump_gimple_omp_block): Likewise.
+       (pp_gimple_stmt_1): Likewise.
+       * gimple-walk.c (walk_gimple_stmt): Likewise.
+       * gimple.c (gimple_build_omp_grid_body): Removed function.
+       (gimple_copy): Remove GIMPLE_OMP_GRID_BODY case.
+       * gimple.def (GIMPLE_OMP_GRID_BODY): Removed.
+       * gimple.h (gf_mask): Removed GF_OMP_PARALLEL_GRID_PHONY,
+       OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY,
+       GF_OMP_FOR_GRID_INTRA_GROUP, GF_OMP_FOR_GRID_GROUP_ITER and
+       GF_OMP_TEAMS_GRID_PHONY.  Renumbered GF_OMP_FOR_KIND_SIMD and
+       GF_OMP_TEAMS_HOST.
+       (gimple_build_omp_grid_body): Removed declaration.
+       (gimple_has_substatements): Remove GIMPLE_OMP_GRID_BODY case.
+       (gimple_omp_for_grid_phony): Removed.
+       (gimple_omp_for_set_grid_phony): Likewise.
+       (gimple_omp_for_grid_intra_group): Likewise.
+       (gimple_omp_for_grid_intra_group): Likewise.
+       (gimple_omp_for_grid_group_iter): Likewise.
+       (gimple_omp_for_set_grid_group_iter): Likewise.
+       (gimple_omp_parallel_grid_phony): Likewise.
+       (gimple_omp_parallel_set_grid_phony): Likewise.
+       (gimple_omp_teams_grid_phony): Likewise.
+       (gimple_omp_teams_set_grid_phony): Likewise.
+       (CASE_GIMPLE_OMP): Remove GIMPLE_OMP_GRID_BODY case.
+       * lto-section-in.c (lto_section_name): Removed hsa.
+       * lto-streamer.h (lto_section_type): Removed LTO_section_ipa_hsa.
+       * lto-wrapper.c (compile_images_for_offload_targets): Remove special
+       handling of hsa.
+       * omp-expand.c: Do not include hsa-common.h and gt-omp-expand.h.
+       (parallel_needs_hsa_kernel_p): Removed.
+       (grid_launch_attributes_trees): Likewise.
+       (grid_launch_attributes_trees): Likewise.
+       (grid_create_kernel_launch_attr_types): Likewise.
+       (grid_insert_store_range_dim): Likewise.
+       (grid_get_kernel_launch_attributes): Likewise.
+       (get_target_arguments): Remove code passing HSA grid sizes.
+       (grid_expand_omp_for_loop): Remove.
+       (grid_arg_decl_map): Likewise.
+       (grid_remap_kernel_arg_accesses): Likewise.
+       (grid_expand_target_grid_body): Likewise.
+       (expand_omp): Remove call to grid_expand_target_grid_body.
+       (omp_make_gimple_edges): Remove GIMPLE_OMP_GRID_BODY case.
+       * omp-general.c: Do not include hsa-common.h.
+       (omp_maybe_offloaded): Do not check for HSA offloading.
+       (omp_context_selector_matches): Likewise.
+       * omp-low.c: Do not include hsa-common.h and omp-grid.h.
+       (build_outer_var_ref): Remove handling of GIMPLE_OMP_GRID_BODY.
+       (scan_sharing_clauses): Remove handling of OMP_CLAUSE__GRIDDIM_.
+       (scan_omp_parallel): Remove handling of the phoney variant.
+       (check_omp_nesting_restrictions): Remove handling of
+       GIMPLE_OMP_GRID_BODY and GF_OMP_FOR_KIND_GRID_LOOP.
+       (scan_omp_1_stmt): Remove handling of GIMPLE_OMP_GRID_BODY.
+       (lower_omp_for_lastprivate): Remove handling of gridified loops.
+       (lower_omp_for): Remove phony loop handling.
+       (lower_omp_taskreg): Remove phony construct handling.
+       (lower_omp_teams): Likewise.
+       (lower_omp_grid_body): Removed.
+       (lower_omp_1): Remove GIMPLE_OMP_GRID_BODY case.
+       (execute_lower_omp): Do not call omp_grid_gridify_all_targets.
+       * opts.c (common_handle_option): Do not handle hsa when processing
+       OPT_foffload_.
+       * params.opt (hsa-gen-debug-stores): Remove.
+       * passes.def: Remove pass_ipa_hsa and pass_gen_hsail.
+       * timevar.def: Remove TV_IPA_HSA.
+       * toplev.c: Do not include hsa-common.h.
+       (compile_file): Do not call hsa_output_brig.
+       * tree-core.h (enum omp_clause_code): Remove OMP_CLAUSE__GRIDDIM_.
+       (tree_omp_clause): Remove union field dimension.
+       * tree-nested.c (convert_nonlocal_omp_clauses): Remove the
+       OMP_CLAUSE__GRIDDIM_ case.
+       (convert_local_omp_clauses): Likewise.
+       * tree-pass.h (make_pass_gen_hsail): Remove declaration.
+       (make_pass_ipa_hsa): Likewise.
+       * tree-pretty-print.c (dump_omp_clause): Remove GIMPLE_OMP_GRID_BODY
+       case.
+       * tree.c (omp_clause_num_ops): Remove the element corresponding to
+       OMP_CLAUSE__GRIDDIM_.
+       (omp_clause_code_name): Likewise.
+       (walk_tree_1): Remove GIMPLE_OMP_GRID_BODY case.
+       * tree.h (OMP_CLAUSE__GRIDDIM__DIMENSION): Remove.
+       (OMP_CLAUSE__GRIDDIM__SIZE): Likewise.
+       (OMP_CLAUSE__GRIDDIM__GROUP): Likewise.
+
+2020-08-03  Bu Le  <bule1@huawei.com>
+
+       * config/aarch64/aarch64-sve.md (sub<mode>3): Add support for
+       unpacked vectors.
+
+2020-08-03  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.h (ASM_SPEC): Don't pass on "-md" option.
+
+2020-08-03  Yunde Zhong  <zhongyunde@huawei.com>
+
+       PR rtl-optimization/95696
+       * regrename.c (regrename_analyze): New param include_all_block_p
+       with default value TRUE.  If set to false, avoid disrupting SMS
+       schedule.
+       * regrename.h (regrename_analyze): Adjust prototype.
+
+2020-08-03  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>
+
+       * doc/tm.texi.in (VECTOR_STORE_FLAG_VALUE): Fix a typo.
+       * doc/tm.texi: Regenerate.
+
+2020-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * doc/invoke.texi: Add missing comma after octeontx2f95mm entry.
+
+2020-08-03  Qian jianhua  <qianjh@cn.fujitsu.com>
+
+       * config/aarch64/aarch64-cores.def (a64fx): New core.
+       * config/aarch64/aarch64-tune.md: Regenerated.
+       * config/aarch64/aarch64.c (a64fx_prefetch_tune, a64fx_tunings): New.
+       * doc/invoke.texi: Add a64fx to the list.
+
+2020-08-03  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/61494
+       * simplify-rtx.c (simplify_binary_operation_1) [MINUS]: Don't
+       simplify x - 0.0 with -fsignaling-nans.
+
+2020-08-03  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * genmatch.c (decision_tree::gen): Emit stub functions for
+       tree code operand counts that have no simplifications.
+       (main): Correct comment typo.
+
+2020-08-03  Jonathan Wakely  <jwakely@redhat.com>
+
+       * gimple-ssa-sprintf.c: Fix typos in comments.
+
+2020-08-03  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/driver-aarch64.c (readline): Check return value fgets.
+
+2020-08-03  Richard Biener  <rguenther@suse.de>
+
+       * doc/match-and-simplify.texi: Amend accordingly.
+
+2020-08-03  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (parser::gimple): New.
+       (parser::parser): Initialize gimple flag member.
+       (parser::parse_expr): Error on ! operator modifier when
+       not targeting GIMPLE.
+       (main): Pass down gimple flag to parser ctor.
+
+2020-08-03  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (GTFILES): Move value-range.h up.
+       * gengtype-lex.l: Set yylval to handle GTY markers on templates.
+       * ipa-cp.c (initialize_node_lattices): Call value_range
+       constructor.
+       (ipcp_propagate_stage): Use in-place new so value_range construct
+       is called.
+       * ipa-fnsummary.c (evaluate_conditions_for_known_args): Use std
+       vec instead of GCC's vec<>.
+       (evaluate_properties_for_edge): Adjust for std vec.
+       (ipa_fn_summary_t::duplicate): Same.
+       (estimate_ipcp_clone_size_and_time): Same.
+       * ipa-prop.c (ipa_get_value_range): Use in-place new for
+       value_range.
+       * ipa-prop.h (struct GTY): Remove class keyword for m_vr.
+       * range-op.cc (empty_range_check): Rename to...
+       (empty_range_varying): ...this and adjust for varying.
+       (undefined_shift_range_check): Adjust for irange.
+       (range_operator::wi_fold): Same.
+       (range_operator::fold_range): Adjust for irange.  Special case
+       single pairs for performance.
+       (range_operator::op1_range): Adjust for irange.
+       (range_operator::op2_range): Same.
+       (value_range_from_overflowed_bounds): Same.
+       (value_range_with_overflow): Same.
+       (create_possibly_reversed_range): Same.
+       (range_true): Same.
+       (range_false): Same.
+       (range_true_and_false): Same.
+       (get_bool_state):  Adjust for irange and tweak for performance.
+       (operator_equal::fold_range): Adjust for irange.
+       (operator_equal::op1_range): Same.
+       (operator_equal::op2_range): Same.
+       (operator_not_equal::fold_range): Same.
+       (operator_not_equal::op1_range): Same.
+       (operator_not_equal::op2_range): Same.
+       (build_lt): Same.
+       (build_le): Same.
+       (build_gt): Same.
+       (build_ge): Same.
+       (operator_lt::fold_range): Same.
+       (operator_lt::op1_range): Same.
+       (operator_lt::op2_range): Same.
+       (operator_le::fold_range): Same.
+       (operator_le::op1_range): Same.
+       (operator_le::op2_range): Same.
+       (operator_gt::fold_range): Same.
+       (operator_gt::op1_range): Same.
+       (operator_gt::op2_range): Same.
+       (operator_ge::fold_range): Same.
+       (operator_ge::op1_range): Same.
+       (operator_ge::op2_range): Same.
+       (operator_plus::wi_fold): Same.
+       (operator_plus::op1_range): Same.
+       (operator_plus::op2_range): Same.
+       (operator_minus::wi_fold): Same.
+       (operator_minus::op1_range): Same.
+       (operator_minus::op2_range): Same.
+       (operator_min::wi_fold): Same.
+       (operator_max::wi_fold): Same.
+       (cross_product_operator::wi_cross_product): Same.
+       (operator_mult::op1_range): New.
+       (operator_mult::op2_range): New.
+       (operator_mult::wi_fold): Adjust for irange.
+       (operator_div::wi_fold): Same.
+       (operator_exact_divide::op1_range): Same.
+       (operator_lshift::fold_range): Same.
+       (operator_lshift::wi_fold): Same.
+       (operator_lshift::op1_range): New.
+       (operator_rshift::op1_range): New.
+       (operator_rshift::fold_range): Adjust for irange.
+       (operator_rshift::wi_fold): Same.
+       (operator_cast::truncating_cast_p): Abstract out from
+       operator_cast::fold_range.
+       (operator_cast::fold_range): Adjust for irange and tweak for
+       performance.
+       (operator_cast::inside_domain_p): Abstract out from fold_range.
+       (operator_cast::fold_pair): Same.
+       (operator_cast::op1_range): Use abstracted methods above.  Adjust
+       for irange and tweak for performance.
+       (operator_logical_and::fold_range): Adjust for irange.
+       (operator_logical_and::op1_range): Same.
+       (operator_logical_and::op2_range): Same.
+       (unsigned_singleton_p): New.
+       (operator_bitwise_and::remove_impossible_ranges): New.
+       (operator_bitwise_and::fold_range): New.
+       (wi_optimize_and_or):  Adjust for irange.
+       (operator_bitwise_and::wi_fold): Same.
+       (set_nonzero_range_from_mask): New.
+       (operator_bitwise_and::simple_op1_range_solver): New.
+       (operator_bitwise_and::op1_range): Adjust for irange.
+       (operator_bitwise_and::op2_range): Same.
+       (operator_logical_or::fold_range): Same.
+       (operator_logical_or::op1_range): Same.
+       (operator_logical_or::op2_range): Same.
+       (operator_bitwise_or::wi_fold): Same.
+       (operator_bitwise_or::op1_range): Same.
+       (operator_bitwise_or::op2_range): Same.
+       (operator_bitwise_xor::wi_fold): Same.
+       (operator_bitwise_xor::op1_range): New.
+       (operator_bitwise_xor::op2_range): New.
+       (operator_trunc_mod::wi_fold):  Adjust for irange.
+       (operator_logical_not::fold_range): Same.
+       (operator_logical_not::op1_range): Same.
+       (operator_bitwise_not::fold_range): Same.
+       (operator_bitwise_not::op1_range): Same.
+       (operator_cst::fold_range): Same.
+       (operator_identity::fold_range): Same.
+       (operator_identity::op1_range): Same.
+       (class operator_unknown): New.
+       (operator_unknown::fold_range): New.
+       (class operator_abs): Adjust for irange.
+       (operator_abs::wi_fold): Same.
+       (operator_abs::op1_range): Same.
+       (operator_absu::wi_fold): Same.
+       (class operator_negate): Same.
+       (operator_negate::fold_range): Same.
+       (operator_negate::op1_range): Same.
+       (operator_addr_expr::fold_range): Same.
+       (operator_addr_expr::op1_range): Same.
+       (pointer_plus_operator::wi_fold): Same.
+       (pointer_min_max_operator::wi_fold): Same.
+       (pointer_and_operator::wi_fold): Same.
+       (pointer_or_operator::op1_range): New.
+       (pointer_or_operator::op2_range): New.
+       (pointer_or_operator::wi_fold):  Adjust for irange.
+       (integral_table::integral_table): Add entries for IMAGPART_EXPR
+       and POINTER_DIFF_EXPR.
+       (range_cast):  Adjust for irange.
+       (build_range3): New.
+       (range3_tests): New.
+       (widest_irange_tests): New.
+       (multi_precision_range_tests): New.
+       (operator_tests): New.
+       (range_tests): New.
+       * range-op.h (class range_operator): Adjust for irange.
+       (range_cast): Same.
+       * tree-vrp.c (range_fold_binary_symbolics_p): Adjust for irange and
+       tweak for performance.
+       (range_fold_binary_expr): Same.
+       (masked_increment): Change to extern.
+       * tree-vrp.h (masked_increment): New.
+       * tree.c (cache_wide_int_in_type_cache): New function abstracted
+       out from wide_int_to_tree_1.
+       (wide_int_to_tree_1): Cache 0, 1, and MAX for pointers.
+       * value-range-equiv.cc (value_range_equiv::deep_copy): Use kind
+       method.
+       (value_range_equiv::move): Same.
+       (value_range_equiv::check): Adjust for irange.
+       (value_range_equiv::intersect): Same.
+       (value_range_equiv::union_): Same.
+       (value_range_equiv::dump): Same.
+       * value-range.cc (irange::operator=): Same.
+       (irange::maybe_anti_range): New.
+       (irange::copy_legacy_range): New.
+       (irange::set_undefined): Adjust for irange.
+       (irange::swap_out_of_order_endpoints): Abstract out from set().
+       (irange::set_varying): Adjust for irange.
+       (irange::irange_set): New.
+       (irange::irange_set_anti_range): New.
+       (irange::set): Adjust for irange.
+       (value_range::set_nonzero): Move to header file.
+       (value_range::set_zero): Move to header file.
+       (value_range::check): Rename to...
+       (irange::verify_range): ...this.
+       (value_range::num_pairs): Rename to...
+       (irange::legacy_num_pairs): ...this, and adjust for irange.
+       (value_range::lower_bound): Rename to...
+       (irange::legacy_lower_bound): ...this, and adjust for irange.
+       (value_range::upper_bound): Rename to...
+       (irange::legacy_upper_bound): ...this, and adjust for irange.
+       (value_range::equal_p): Rename to...
+       (irange::legacy_equal_p): ...this.
+       (value_range::operator==): Move to header file.
+       (irange::equal_p): New.
+       (irange::symbolic_p): Adjust for irange.
+       (irange::constant_p): Same.
+       (irange::singleton_p): Same.
+       (irange::value_inside_range): Same.
+       (irange::may_contain_p): Same.
+       (irange::contains_p): Same.
+       (irange::normalize_addresses): Same.
+       (irange::normalize_symbolics): Same.
+       (irange::legacy_intersect): Same.
+       (irange::legacy_union): Same.
+       (irange::union_): Same.
+       (irange::intersect): Same.
+       (irange::irange_union): New.
+       (irange::irange_intersect): New.
+       (subtract_one): New.
+       (irange::invert): Adjust for irange.
+       (dump_bound_with_infinite_markers): New.
+       (irange::dump): Adjust for irange.
+       (debug): Add irange versions.
+       (range_has_numeric_bounds_p): Adjust for irange.
+       (vrp_val_max): Move to header file.
+       (vrp_val_min): Move to header file.
+       (DEFINE_INT_RANGE_GC_STUBS): New.
+       (DEFINE_INT_RANGE_INSTANCE): New.
+       * value-range.h (class irange): New.
+       (class int_range): New.
+       (class value_range): Rename to a instantiation of int_range.
+       (irange::legacy_mode_p): New.
+       (value_range::value_range): Remove.
+       (irange::kind): New.
+       (irange::num_pairs): Adjust for irange.
+       (irange::type): Adjust for irange.
+       (irange::tree_lower_bound): New.
+       (irange::tree_upper_bound): New.
+       (irange::type): Adjust for irange.
+       (irange::min): Same.
+       (irange::max): Same.
+       (irange::varying_p): Same.
+       (irange::undefined_p): Same.
+       (irange::zero_p): Same.
+       (irange::nonzero_p): Same.
+       (irange::supports_type_p): Same.
+       (range_includes_zero_p): Same.
+       (gt_ggc_mx): New.
+       (gt_pch_nx): New.
+       (irange::irange): New.
+       (int_range::int_range): New.
+       (int_range::operator=): New.
+       (irange::set): Moved from value-range.cc and adjusted for irange.
+       (irange::set_undefined): Same.
+       (irange::set_varying): Same.
+       (irange::operator==): Same.
+       (irange::lower_bound): Same.
+       (irange::upper_bound): Same.
+       (irange::union_): Same.
+       (irange::intersect): Same.
+       (irange::set_nonzero): Same.
+       (irange::set_zero): Same.
+       (irange::normalize_min_max): New.
+       (vrp_val_max): Move from value-range.cc.
+       (vrp_val_min): Same.
+       * vr-values.c (vr_values::get_lattice_entry): Call value_range
+       constructor.
+
+2020-08-02  Sergei Trofimovich  <siarheit@google.com>
+
+       PR bootstrap/96404
+       * var-tracking.c (vt_find_locations): Fully initialize
+       all 'in_pending' bits.
+
+2020-08-01  Jan Hubicka  <jh@suse.cz>
+
+       * symtab.c (symtab_node::verify_base): Verify order.
+       (symtab_node::verify_symtab_nodes): Verify order.
+
+2020-08-01  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_bb_frequencies): Cap recursive calls by 90%.
+
+2020-08-01  Jojo R  <jiejie_rong@c-sky.com>
+
+       * config/csky/csky_opts.h (float_abi_type): New.
+       * config/csky/csky.h (TARGET_SOFT_FLOAT): New.
+       (TARGET_HARD_FLOAT): New.
+       (TARGET_HARD_FLOAT_ABI): New.
+       (OPTION_DEFAULT_SPECS): Use mfloat-abi.
+       * config/csky/csky.opt (mfloat-abi): New.
+       * doc/invoke.texi (C-SKY Options): Document -mfloat-abi=.
+
+2020-08-01  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/csky/t-csky-linux: Delete big endian CPUs' multilib.
+
+2020-07-31  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       PR target/90928
+       * config/nvptx/nvptx.c (nvptx_truly_noop_truncation): Implement.
+       (TARGET_TRULY_NOOP_TRUNCATION): Define.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR debug/96383
+       * langhooks-def.h (lhd_finalize_early_debug): Declare.
+       (LANG_HOOKS_FINALIZE_EARLY_DEBUG): Define.
+       (LANG_HOOKS_INITIALIZER): Amend.
+       * langhooks.c: Include cgraph.h and debug.h.
+       (lhd_finalize_early_debug): Default implementation from
+       former code in finalize_compilation_unit.
+       * langhooks.h (lang_hooks::finalize_early_debug): Add.
+       * cgraphunit.c (symbol_table::finalize_compilation_unit):
+       Call the finalize_early_debug langhook.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       * genmatch.c (expr::force_leaf): Add and initialize.
+       (expr::gen_transform): Honor force_leaf by passing
+       NULL as sequence argument to maybe_push_res_to_seq.
+       (parser::parse_expr): Allow ! marker on result expression
+       operations.
+       * doc/match-and-simplify.texi: Amend.
+
+2020-07-31  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_get_known_peeling_cost): Don't consider branch
+       taken costs for prologue and epilogue if they don't exist.
+       (vect_estimate_min_profitable_iters): Likewise.
+
+2020-07-31  Martin Liska  <mliska@suse.cz>
+
+       * cgraph.h: Remove leading empty lines.
+       * cgraphunit.c (enum cgraph_order_sort_kind): Remove
+       ORDER_UNDEFINED.
+       (struct cgraph_order_sort): Add constructors.
+       (cgraph_order_sort::process): New.
+       (cgraph_order_cmp): New.
+       (output_in_order): Simplify and push nodes to vector.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/96369
+       * fold-const.c (fold_range_test): Special-case constant
+       LHS for short-circuiting operations.
+
+2020-07-31  Martin Liska  <mliska@suse.cz>
+
+       * gcov-io.h (GCOV_PREALLOCATED_KVP): New.
+
+2020-07-31  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_general_add_builtin):
+       Add new argument ATTRS.
+       (aarch64_call_properties): New function.
+       (aarch64_modifies_global_state_p): Likewise.
+       (aarch64_reads_global_state_p): Likewise.
+       (aarch64_could_trap_p): Likewise.
+       (aarch64_add_attribute): Likewise.
+       (aarch64_get_attributes): Likewise.
+       (aarch64_init_simd_builtins): Add attributes for each built-in function.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       PR debug/78288
+       * var-tracking.c (vt_find_locations): Use
+       rev_post_order_and_mark_dfs_back_seme and separately iterate
+       over toplevel SCCs.
+
+2020-07-31  Richard Biener  <rguenther@suse.de>
+
+       * cfganal.h (rev_post_order_and_mark_dfs_back_seme): Adjust
+       prototype.
+       * cfganal.c (rpoamdbs_bb_data): New struct with pre BB data.
+       (tag_header): New helper.
+       (cmp_edge_dest_pre): Likewise.
+       (rev_post_order_and_mark_dfs_back_seme): Compute SCCs,
+       find SCC exits and perform a DFS walk with extra edges to
+       compute a RPO with adjacent SCC members when requesting an
+       iteration optimized order and populate the toplevel SCC array.
+       * tree-ssa-sccvn.c (do_rpo_vn): Remove ad-hoc computation
+       of max_rpo and fill it in from SCC extent info instead.
+
+2020-07-30  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/altivec.h (vec_test_lsbb_all_ones): New define.
+       (vec_test_lsbb_all_zeros): New define.
+       * config/rs6000/rs6000-builtin.def (BU_P10_VSX_1): New built-in
+       handling macro.
+       (XVTLSBB_ZEROS, XVTLSBB_ONES): New builtin defines.
+       (xvtlsbb_all_zeros, xvtlsbb_all_ones): New builtin overloads.
+       * config/rs6000/rs6000-call.c (P10_BUILTIN_VEC_XVTLSBB_ZEROS,
+       P10_BUILTIN_VEC_XVTLSBB_ONES): New altivec_builtin_types entries.
+       * config/rs6000/rs6000.md (UNSPEC_XVTLSBB):  New unspec.
+       * config/rs6000/vsx.md (*xvtlsbb_internal): New instruction define.
+       (xvtlsbbo, xvtlsbbz): New instruction expands.
+
+2020-07-30  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/riscv/riscv-opts.h (stack_protector_guard): New enum.
+       * config/riscv/riscv.c (riscv_option_override): Handle
+       the new options.
+       * config/riscv/riscv.md (stack_protect_set): New pattern to handle
+       flexible stack protector guard settings.
+       (stack_protect_set_<mode>): Ditto.
+       (stack_protect_test): Ditto.
+       (stack_protect_test_<mode>): Ditto.
+       * config/riscv/riscv.opt (mstack-protector-guard=,
+       mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
+       options.
+       * doc/invoke.texi (Option Summary) [RISC-V Options]:
+       Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
+       -mstack-protector-guard-offset=.
+       (RISC-V Options): Ditto.
+
+2020-07-30  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/96202
+       * configure: Regenerated.
+
+2020-07-30  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96370
+       * tree-ssa-reassoc.c (rewrite_expr_tree): Add operation
+       code parameter and use it instead of picking it up from
+       the stmt that is being rewritten.
+       (reassociate_bb): Pass down the operation code.
+
+2020-07-30  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.md (nvptx_vector_index_operand): New predicate.
+       (VECELEM): New mode attribute for a vector's uppercase element mode.
+       (Vecelem): New mode attribute for a vector's lowercase element mode.
+       (*vec_set<mode>_0, *vec_set<mode>_1, *vec_set<mode>_2)
+       (*vec_set<mode>_3): New instructions.
+       (vec_set<mode>): New expander to generate one of the above insns.
+       (vec_extract<mode><Vecelem>): New instruction.
+
+2020-07-30  Martin Liska  <mliska@suse.cz>
+
+       PR target/95435
+       * config/i386/x86-tune-costs.h: Use libcall for large sizes for
+       -m32. Start using libcall from 128+ bytes.
+
+2020-07-30  Martin Liska  <mliska@suse.cz>
+
+       * config/i386/x86-tune-costs.h: Change code formatting.
+
+2020-07-29  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (recip<mode>2): New instruction.
+
+2020-07-29  Fangrui Song  <maskray@google.com>
+
+       PR debug/95096
+       * opts.c (common_handle_option): Don't make -gsplit-dwarf imply -g.
+       * doc/invoke.texi (-gsplit-dwarf): Update documentation.
+
+2020-07-29  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/arm/arm-protos.h (arm_coproc_mem_operand_no_writeback):
+       Declare prototype.
+       (arm_mve_mode_and_operands_type_check): Declare prototype.
+       * config/arm/arm.c (arm_coproc_mem_operand): Refactor to use
+       _arm_coproc_mem_operand.
+       (arm_coproc_mem_operand_wb): New function to cover full, limited
+       and no writeback.
+       (arm_coproc_mem_operand_no_writeback): New constraint for memory
+       operand with no writeback.
+       (arm_print_operand): Extend 'E' specifier for memory operand
+       that does not support writeback.
+       (arm_mve_mode_and_operands_type_check): New constraint check for
+       MVE memory operands.
+       * config/arm/constraints.md: Add Uj constraint for VFP vldr.16
+       and vstr.16.
+       * config/arm/vfp.md (*mov_load_vfp_hf16): New pattern for
+       vldr.16.
+       (*mov_store_vfp_hf16): New pattern for vstr.16.
+       (*mov<mode>_vfp_<mode>16): Remove MVE moves.
+
+2020-07-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96349
+       * tree-ssa-loop-split.c (stmt_semi_invariant_p_1): When the
+       condition runs into a loop PHI with an abnormal entry value give up.
+
+2020-07-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.c (vectorize_loops): Reset the SCEV
+       cache if we removed any SIMD UID SSA defs.
+       * gimple-loop-interchange.cc (pass_linterchange::execute):
+       Reset the scev cache if we interchanged a loop.
+
+2020-07-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95679
+       * tree-ssa-propagate.h
+       (substitute_and_fold_engine::propagate_into_phi_args): Return
+       whether anything changed.
+       * tree-ssa-propagate.c
+       (substitute_and_fold_engine::propagate_into_phi_args): Likewise.
+       (substitute_and_fold_dom_walker::before_dom_children): Update
+       something_changed.
+
+2020-07-29  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+       Ensure that loop variable npeel_tmp advances in each iteration.
+
+2020-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.h (NO_FUNCTION_CSE): Define to 1.
+
+2020-07-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.h (ASM_OUTPUT_EXTERNAL): Define to
+       default_elf_asm_output_external.
+
+2020-07-28  Sergei Trofimovich  <siarheit@google.com>
+
+       PR ipa/96291
+       * ipa-cp.c (has_undead_caller_from_outside_scc_p): Consider
+       unoptimized callers as undead.
+
+2020-07-28  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * match.pd (popcount(x)&1 -> parity(x)): New simplification.
+       (parity(~x) -> parity(x)): New simplification.
+       (parity(x)^parity(y) -> parity(x^y)): New simplification.
+       (parity(x&1) -> x&1): New simplification.
+       (popcount(x) -> x>>C): New simplification.
+
+2020-07-28  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.md (extendqihi2): New instruction.
+       (ashl<mode>3, ashr<mode>3, lshr<mode>3): Support HImode.
+
+2020-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96335
+       * calls.c (maybe_warn_rdwr_sizes): Add FNDECL and FNTYPE arguments,
+       instead of trying to rediscover them in the body.
+       (initialize_argument_information): Adjust caller.
+
+2020-07-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_get_known_peeling_cost): Factor out some code
+       to determine peel_iters_epilogue to...
+       (vect_get_peel_iters_epilogue): ...this new function.
+       (vect_estimate_min_profitable_iters): Refactor cost calculation on
+       peel_iters_prologue and peel_iters_epilogue.
+
+2020-07-27  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/84079
+       * gimple-array-bounds.cc (array_bounds_checker::check_addr_expr):
+       Only allow just-past-the-end references for the most significant
+       array bound.
+
+2020-07-27  Hu Jiangping  <hujiangping@cn.fujitsu.com>
+
+       PR driver/96247
+       * opts.c (check_alignment_argument): Set the -falign-Name
+       on/off flag on and set the -falign-Name string value null,
+       when the command-line specified argument is zero.
+
+2020-07-27  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96058
+       * expr.c (string_constant): Build string_constant only
+       for a type that has same precision as char_type_node
+       and is an integral type.
+
+2020-07-27  Richard Biener  <rguenther@suse.de>
+
+       * var-tracking.c (variable_tracking_main_1): Remove call
+       to mark_dfs_back_edges.
+
+2020-07-27  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/96128
+       * tree-vect-generic.c (expand_vector_comparison): Do not expand
+       vector comparison with VEC_COND_EXPR.
+
+2020-07-27  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/96203
+       * common.opt: Add -fcf-protection=check.
+       * flag-types.h (cf_protection_level): Add CF_CHECK.
+       * lto-wrapper.c (merge_and_complain): Issue an error for
+       mismatching -fcf-protection values with -fcf-protection=check.
+       Otherwise, merge -fcf-protection values.
+       * doc/invoke.texi: Document -fcf-protection=check.
+
+2020-07-27  Martin Liska  <mliska@suse.cz>
+
+       PR lto/45375
+       * symbol-summary.h: Call vec_safe_reserve before grow is called
+       in order to grow to a reasonable size.
+       * vec.h (vec_safe_reserve): Add missing function for vl_ptr
+       type.
+
 2020-07-26  Hans-Peter Nilsson  <hp@bitrange.com>
 
        * configure.ac (out-of-tree linker .hidden support): Don't turn off
        (peephole2 to remove unneded compare after CMPXCHG):
        New pattern, also handle XOR zeroing and load of -1 by OR.
 
-2020-07-16  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-07-16  Eric Botcazou  <ebotcazou@adacore.com>
 
        * config/i386/i386.c (ix86_compute_frame_layout): Minor tweak.
        (ix86_adjust_stack_and_probe): Delete.
        * config/riscv/riscv-sr.c (riscv_remove_unneeded_save_restore_calls):
        Abort if any arguments on stack.
 
-2020-07-08  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-07-08  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gimple-fold.c (gimple_fold_builtin_memory_op): Do not fold if
        either type has reverse scalar storage order.
        * config/cris/cris.md ("*extopqihi", "*extop<mode>si<setnz>_swap")
        ("*extop<mode>si<setnz>", "*addxqihi_swap"): Reinstate.
 
-2020-07-03  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-07-03  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gimple-fold.c (gimple_fold_builtin_memory_op): Fold calls that
        were initially created for the assignment of a variable-sized
        * doc/standards.texi (C Language): Correct the default dialect.
        (C++ Language): Update the default for C++ to gnu++17.
 
-2020-06-26  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-06-26  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tree-ssa-reassoc.c (dump_range_entry): New function.
        (debug_range_entry): New debug function.
        * config/riscv/riscv.c (riscv_gpr_save_operation_p): Remove
        assertion and turn it into a early exit check.
 
-2020-06-15  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gimplify.c (gimplify_init_constructor) <AGGREGATE_TYPE>: Declare
        new ENSURE_SINGLE_ACCESS constant and move variables down.  If it is
        the type is aggregate non-addressable, ask gimplify_init_constructor
        whether it can generate a single access to the target.
 
-2020-06-15  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-06-15  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tree-sra.c (propagate_subaccesses_from_rhs): When a non-scalar
        access on the LHS is replaced with a scalar access, propagate the
        * config/gcn/gcn.opt (-mlocal-symbol-id): Delete.
        * config/gcn/mkoffload.c (main): Don't use -mlocal-symbol-id.
 
-2020-06-02  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR middle-end/95395
        * optabs.c (expand_unop): Fix bits/bytes confusion in latest change.
        make a nonzero adjustment to the memory offset.
        (b<ior,xor>hi_msx): Turn into a splitter.
 
-2020-05-28  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-05-28  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gimple-ssa-store-merging.c (merged_store_group::can_be_merged_into):
        Fix off-by-one error.
        function.
        (TARGET_DELEGITIMIZE_ADDRESS): New macro.
 
-2020-05-27  Eric Botcazou  <ebotcazou@gcc.gnu.org>
+2020-05-27  Eric Botcazou  <ebotcazou@adacore.com>
 
        * builtin-types.def (BT_UINT128): New primitive type.
        (BT_FN_UINT128_UINT128): New function type.