]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/ChangeLog
Daily bump.
[gcc.git] / gcc / ChangeLog
index 4fc37369d391e6eb05613e16c64b630f7dd8bf11..94f636f58b87618ca01cf2b83909cd978e426978 100644 (file)
+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
+       for mmix-knuth-mmixware.
+       * configure: Regenerate.
+
+2020-07-26  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Set the default value for -mblock-ops-unaligned-vsx.
+       * config/rs6000/rs6000.opt: Add -mblock-ops-unaligned-vsx.
+       * doc/invoke.texi: Document -mblock-ops-unaligned-vsx.
+
+2020-07-25  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (TARGET_ASM_OUTPUT_IDENT): Override the default
+       with default_asm_output_ident_directive.
+
+2020-07-25  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_scalar_mode_supported_p): New function.
+       (TARGET_SCALAR_MODE_SUPPORTED_P): New define.
+
+2020-07-24  David Edelsohn  <dje.gcc@gmail.com>
+           Clement Chigot  <clement.chigot@atos.net>
+
+       * config.gcc (powerpc-ibm-aix7.1): Use t-aix64 and biarch64 for
+       cpu_is_64bit.
+       * config/rs6000/aix71.h (ASM_SPEC): Remove aix64 option.
+       (ASM_SPEC32): New.
+       (ASM_SPEC64): New.
+       (ASM_CPU_SPEC): Remove vsx and altivec options.
+       (CPP_SPEC_COMMON): Rename from CPP_SPEC.
+       (CPP_SPEC32): New.
+       (CPP_SPEC64): New.
+       (CPLUSPLUS_CPP_SPEC): Rename to CPLUSPLUS_CPP_SPEC_COMMON..
+       (TARGET_DEFAULT): Use 64 bit mask if BIARCH.
+       (LIB_SPEC_COMMON): Rename from LIB_SPEC.
+       (LIB_SPEC32): New.
+       (LIB_SPEC64): New.
+       (LINK_SPEC_COMMON): Rename from LINK_SPEC.
+       (LINK_SPEC32): New.
+       (LINK_SPEC64): New.
+       (STARTFILE_SPEC): Add 64 bit version of crtcxa and crtdbase.
+       (ASM_SPEC): Define 32 and 64 bit alternatives using DEFAULT_ARCH64_P.
+       (CPP_SPEC): Same.
+       (CPLUSPLUS_CPP_SPEC): Same.
+       (LIB_SPEC): Same.
+       (LINK_SPEC): Same.
+       (SUBTARGET_EXTRA_SPECS): Add new 32/64 specs.
+       * config/rs6000/aix72.h (TARGET_DEFAULT): Use 64 bit mask if BIARCH.
+       * config/rs6000/defaultaix64.h: Delete.
+
+2020-07-24  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.opt: Delete -mpower10.
+
+2020-07-24  Alexandre Oliva  <oliva@adacore.com>
+
+       * config/i386/intelmic-mkoffload.c
+       (generate_target_descr_file): Use dumppfx for save_temps
+       files.  Pass -dumpbase et al down to the compiler.
+       (generate_target_offloadend_file): Likewise.
+       (generate_host_descr_file): Likewise.
+       (prepare_target_image): Likewise.  Move out_obj_filename
+       setting...
+       (main): ... here.  Detect -dumpbase, set dumppfx too.
+
+2020-07-24  Alexandre Oliva  <oliva@adacore.com>
+
+       PR driver/96230
+       * gcc.c (process_command): Adjust and document conditions to
+       reset dumpbase_ext.
+
+2020-07-24  Matthias Klose  <doko@ubuntu.com>
+
+       * config/aarch64/aarch64.c (+aarch64_offload_options,
+       TARGET_OFFLOAD_OPTIONS): New.
+
+2020-07-24  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95750
+       * config/i386/sync.md (mmem_thread_fence): Emit mfence_sse2 for -Os.
+
+2020-07-23  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR rtl-optimization/96298
+       * simplify-rtx.c (simplify_binary_operation_1) [XOR]: Xor doesn't
+       distribute over xor, so (a^b)^(c^b) is not the same as (a^c)^b.
+
+2020-07-23  Dong JianQiang  <dongjianqiang2@huawei.com>
+
+       PR gcov-profile/96267
+       * gcov-io.c (gcov_open): enable if IN_GCOV_TOOL.
+
+2020-07-23  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (adjust_vectorization_cost): Renamed to ...
+       (rs6000_adjust_vect_cost_per_stmt): ... here.
+       (rs6000_add_stmt_cost): Rename adjust_vectorization_cost to
+       rs6000_adjust_vect_cost_per_stmt.
+
+2020-07-23  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-ssa-loop-ivopts.c (get_mem_type_for_internal_fn): Handle
+       IFN_LEN_LOAD and IFN_LEN_STORE.
+       (get_alias_ptr_type_for_ptr_address): Likewise.
+
+2020-07-23  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/96260
+       * asan.c (asan_shadow_offset_set_p): New.
+       * asan.h (asan_shadow_offset_set_p): Ditto.
+       * toplev.c (process_options): Allow -fsanitize=kernel-address
+       even TARGET_ASAN_SHADOW_OFFSET not implemented, only check when
+       asan stack protection is enabled.
+
+2020-07-22  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96236
+       * config/rs6000/rs6000-call.c (rs6000_gimple_fold_mma_builtin): Handle
+       little-endian memory ordering.
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * dumpfile.c (parse_dump_option): Deal with filenames
+       containing '-'
+
+2020-07-22  Nathan Sidwell  <nathan@acm.org>
+
+       * incpath.c (add_path): Avoid multiple strlen calls.
+
+2020-07-22  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * expmed.c (expand_sdiv_pow2): Check return value from emit_store_flag
+       is not NULL_RTX before use.
+
+2020-07-22  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * expr.c (convert_modes): Allow a constant integer to be converted to
+       any scalar int mode.
+
+2020-07-22  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * config/aarch64/aarch64-ldpstp.md: Add two peepholes for adjusted vector
+       V2SI, V2SF, V2DI, V2DF load pair and store pair modes.
+       * config/aarch64/aarch64-protos.h (aarch64_gen_adjusted_ldpstp):
+       Change mode parameter to machine_mode.
+       (aarch64_operands_adjust_ok_for_ldpstp): Change mode parameter to
+       machine_mode.
+       * config/aarch64/aarch64.c (aarch64_operands_adjust_ok_for_ldpstp):
+       Change mode parameter to machine_mode.
+       (aarch64_gen_adjusted_ldpstp): Change mode parameter to machine_mode.
+       * config/aarch64/iterators.md (VP_2E): New iterator for 2 element vectors.
+
+2020-07-22  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>
+
+       * doc/languages.texi: Fix “then”/“than” typo.
+
+2020-07-21  Sunil K Pandey  <skpgkp2@gmail.com>
+
+       PR target/95237
+       * config/i386/i386-protos.h (ix86_local_alignment): Add
+       another function parameter may_lower alignment. Default is
+       false.
+       * config/i386/i386.c (ix86_lower_local_decl_alignment): New
+       function.
+       (ix86_local_alignment): Amend ix86_local_alignment to accept
+       another parameter may_lower. If may_lower is true, new align
+       may be lower than incoming alignment. If may_lower is false,
+       new align will be greater or equal to incoming alignment.
+       (TARGET_LOWER_LOCAL_DECL_ALIGNMENT): Define.
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (TARGET_LOWER_LOCAL_DECL_ALIGNMENT): New
+       hook.
+       * target.def (lower_local_decl_alignment): New hook.
+
+2020-07-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95750
+       * config/i386/sync.md (mfence_sse2): Enable for
+       TARGET_64BIT and TARGET_SSE2.
+       (mfence_nosse): Always enable.
+
+2020-07-21  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430-protos.h (msp430_do_not_relax_short_jumps):
+       Remove.
+       * config/msp430/msp430.c (msp430_do_not_relax_short_jumps): Likewise.
+       * config/msp430/msp430.md (cbranchhi4_real): Remove special case for
+       msp430_do_not_relax_short_jumps.
+
+2020-07-21  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.md: New "extendqipsi2" define_insn.
+
+2020-07-21  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.h (NO_FUNCTION_CSE): Set to true at -O2 and
+       above.
+
+2020-07-21  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/89310
+       * config/rs6000/rs6000.md (movsf_from_si2): New define_insn_and_split.
+
+2020-07-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (mmix_expand_prologue): Calculate the total
+       allocated size and set current_function_static_stack_size, if
+       flag_stack_usage_info.
+
+2020-07-20  Sergei Trofimovich  <siarheit@google.com>
+
+       PR target/96190
+       * config/sparc/linux.h (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
+       to get crtendS.o for !no-pie mode.
+       * config/sparc/linux64.h (ENDFILE_SPEC): Ditto.
+
+2020-07-20  Yang Yang  <yangyang305@huawei.com>
+
+       * tree-vect-stmts.c (vectorizable_simd_clone_call): Add
+       VIEW_CONVERT_EXPRs if the arguments types and return type
+       of simd clone function are distinct with the vectype of stmt.
+
+2020-07-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95750
+       * config/i386/i386.h (TARGET_AVOID_MFENCE):
+       Rename from TARGET_USE_XCHG_FOR_ATOMIC_STORE.
+       * config/i386/sync.md (mfence_sse2): Disable for TARGET_AVOID_MFENCE.
+       (mfence_nosse): Enable also for TARGET_AVOID_MFENCE. Emit stack
+       referred memory in word_mode.
+       (mem_thread_fence): Do not generate mfence_sse2 pattern when
+       TARGET_AVOID_MFENCE is true.
+       (atomic_store<mode>): Update for rename.
+       * config/i386/x86-tune.def (X86_TUNE_AVOID_MFENCE):
+       Rename from X86_TUNE_USE_XCHG_FOR_ATOMIC_STORE.
+
+2020-07-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95189
+       PR middle-end/95886
+       * builtins.c (inline_expand_builtin_string_cmp): Rename...
+       (inline_expand_builtin_bytecmp): ...to this.
+       (builtin_memcpy_read_str): Don't expect data to be nul-terminated.
+       (expand_builtin_memory_copy_args): Handle object representations
+       with embedded nul bytes.
+       (expand_builtin_memcmp): Same.
+       (expand_builtin_strcmp): Adjust call to naming change.
+       (expand_builtin_strncmp): Same.
+       * expr.c (string_constant): Create empty strings with nonzero size.
+       * fold-const.c (c_getstr): Rename locals and update comments.
+       * tree.c (build_string): Accept null pointer argument.
+       (build_string_literal): Same.
+       * tree.h (build_string): Provide a default.
+       (build_string_literal): Same.
+
+2020-07-20  Richard Biener  <rguenther@suse.de>
+
+       * cfganal.c (rev_post_order_and_mark_dfs_back_seme): Remove
+       write-only post array.
+
+2020-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * gimple-fold.c (fold_const_aggregate_ref_1): For COMPONENT_REF
+       of a bitfield not aligned on byte boundaries try to
+       fold_ctor_reference DECL_BIT_FIELD_REPRESENTATIVE if any and
+       adjust it depending on endianity.
+
+2020-07-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/93121
+       * fold-const.c (native_encode_initializer): Handle bit-fields.
+
+2020-07-20  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Set param_vect_partial_vector_usage to 0 explicitly.
+       * doc/invoke.texi (vect-partial-vector-usage): Document new option.
+       * optabs-query.c (get_len_load_store_mode): New function.
+       * optabs-query.h (get_len_load_store_mode): New declare.
+       * params.opt (vect-partial-vector-usage): New.
+       * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Add the
+       handlings for vectorization using length-based partial vectors, call
+       vect_gen_len for length generation, and rename some variables with
+       items instead of scalars.
+       (vect_set_loop_condition_partial_vectors): Add the handlings for
+       vectorization using length-based partial vectors.
+       (vect_do_peeling): Allow remaining eiters less than epilogue vf for
+       LOOP_VINFO_USING_PARTIAL_VECTORS_P.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Init
+       epil_using_partial_vectors_p.
+       (_loop_vec_info::~_loop_vec_info): Call release_vec_loop_controls
+       for lengths destruction.
+       (vect_verify_loop_lens): New function.
+       (vect_analyze_loop): Add handlings for epilogue of loop when it's
+       marked to use vectorization using partial vectors.
+       (vect_analyze_loop_2): Add the check to allow only one vectorization
+       approach using partial vectorization at the same time.  Check param
+       vect-partial-vector-usage for partial vectors decision.  Mark
+       LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P if the epilogue is
+       considerable to use partial vectors.  Call release_vec_loop_controls
+       for lengths destruction.
+       (vect_estimate_min_profitable_iters): Adjust for loop vectorization
+       using length-based partial vectors.
+       (vect_record_loop_mask): Init factor to 1 for vectorization using
+       mask-based partial vectors.
+       (vect_record_loop_len): New function.
+       (vect_get_loop_len): Likewise.
+       * tree-vect-stmts.c (check_load_store_for_partial_vectors): Add
+       checks for vectorization using length-based partial vectors.  Factor
+       some code to lambda function get_valid_nvectors.
+       (vectorizable_store): Add handlings when using length-based partial
+       vectors.
+       (vectorizable_load): Likewise.
+       (vect_gen_len): New function.
+       * tree-vectorizer.h (struct rgroup_controls): Add field factor
+       mainly for length-based partial vectors.
+       (vec_loop_lens): New typedef.
+       (_loop_vec_info): Add lens and epil_using_partial_vectors_p.
+       (LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P): New macro.
+       (LOOP_VINFO_LENS): Likewise.
+       (LOOP_VINFO_FULLY_WITH_LENGTH_P): Likewise.
+       (vect_record_loop_len): New declare.
+       (vect_get_loop_len): Likewise.
+       (vect_gen_len): Likewise.
+
+2020-07-20  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.c (mmix_option_override): Reinstate default
+       integer-emitting targetm.asm_out pseudos when dumping detailed
+       assembly-code.
+       (mmix_assemble_integer): Update comment.
+
+2020-07-19  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95973
+       PR target/96238
+       * config/i386/cpuid.h: Add include guard.
+       (__cpuidex): New.
+
+2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95620
+       * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
+
+2020-07-18  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/92488
+       * config/rs6000/dfp.md (trunctdsd2): New define_insn.
+       * config/rs6000/rs6000.md (define_attr "isa"): Add p9.
+       (define_attr "enabled"): Handle p9.
+
+2020-07-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * function.c (assign_parm_setup_block): Use the macro
+       TRULY_NOOP_TRUNCATION_MODES_P instead of calling
+       targetm.truly_noop_truncation directly.
+
+2020-07-17  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96186
+       PR target/88713
+       * config/i386/sse.md (VF_AVX512VL_VF1_128_256): Renamed to ...
+       (VF1_AVX512ER_128_256): This.  Drop DF vector modes.
+       (rsqrt<mode>2): Replace VF_AVX512VL_VF1_128_256 with
+       VF1_AVX512ER_128_256.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * doc/sourcebuild.texi (dg-set-compiler-env-var,
+       dg-set-target-env-var): Document.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/arm/driver-arm.c (host_detect_local_cpu): Add GCC_CPUINFO.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/driver-aarch64.c (host_detect_local_cpu):
+       Add GCC_CPUINFO.
+
+2020-07-17  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/driver-aarch64.c (INCLUDE_SET): New.
+       (parse_field): Use std::string.
+       (split_words, readline, find_field): New.
+       (host_detect_local_cpu): Fix truncation issues.
+
+2020-07-17  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/mkoffload.c (EM_AMDGPU): Undefine before defining.
+       (ELFOSABI_AMDGPU_HSA): Likewise.
+       (ELFABIVERSION_AMDGPU_HSA): Likewise.
+       (EF_AMDGPU_MACH_AMDGCN_GFX803): Likewise.
+       (EF_AMDGPU_MACH_AMDGCN_GFX900): Likewise.
+       (EF_AMDGPU_MACH_AMDGCN_GFX906): Likewise.
+       (reserved): Delete.
+
+2020-07-17  Andrew Pinski  <apinksi@marvell.com>
+           Dmitrij Pochepko  <dmitrij.pochepko@bell-sw.com>
+
+       PR target/93720
+       * config/aarch64/aarch64.c (aarch64_evpc_ins): New function.
+       (aarch64_expand_vec_perm_const_1): Call it.
+       * config/aarch64/aarch64-simd.md (aarch64_simd_vec_copy_lane): Make
+       public, and add a "@" prefix.
+
+2020-07-17  Andrew Pinski  <apinksi@marvell.com>
+           Dmitrij Pochepko  <dmitrij.pochepko@bell-sw.com>
+
+       PR target/82199
+       * config/aarch64/aarch64.c (aarch64_evpc_reencode): New function.
+       (aarch64_expand_vec_perm_const_1): Call it.
+
+2020-07-17  Zhiheng Xie  <xiezhiheng@huawei.com>
+
+       * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
+       Add new field flags.
+       (VAR1): Add new field FLAG in macro.
+       (VAR2): Likewise.
+       (VAR3): Likewise.
+       (VAR4): Likewise.
+       (VAR5): Likewise.
+       (VAR6): Likewise.
+       (VAR7): Likewise.
+       (VAR8): Likewise.
+       (VAR9): Likewise.
+       (VAR10): Likewise.
+       (VAR11): Likewise.
+       (VAR12): Likewise.
+       (VAR13): Likewise.
+       (VAR14): Likewise.
+       (VAR15): Likewise.
+       (VAR16): Likewise.
+       (aarch64_general_fold_builtin): Likewise.
+       (aarch64_general_gimple_fold_builtin): Likewise.
+       * config/aarch64/aarch64-simd-builtins.def: Add default flag for
+       each built-in function.
+       * config/aarch64/geniterators.sh: Add new field in BUILTIN macro.
+
+2020-07-17  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/96127
+       * config/s390/s390.c (s390_expand_insv): Invoke the movstrict
+       expanders to generate the pattern.
+       * config/s390/s390.md ("*movstricthi", "*movstrictqi"): Remove the
+       '*' to have callable expanders.
+
+2020-07-16  Hans-Peter Nilsson  <hp@axis.com>
+           Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/93372
+       * combine.c (is_just_move): Take an rtx_insn* as argument.  Use
+       single_set on it.
+
+2020-07-16  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96189
+       * config/i386/sync.md
+       (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>
+
+       * config/i386/i386.c (ix86_compute_frame_layout): Minor tweak.
+       (ix86_adjust_stack_and_probe): Delete.
+       (ix86_adjust_stack_and_probe_stack_clash): Rename to above and add
+       PROTECTION_AREA parameter.  If it is true, probe PROBE_INTERVAL plus
+       a small dope beyond SIZE bytes.
+       (ix86_emit_probe_stack_range): Use local variable.
+       (ix86_expand_prologue): Adjust calls to ix86_adjust_stack_and_probe
+       and tidy up the stack checking code.
+       * explow.c (get_stack_check_protect): Fix head comment.
+       (anti_adjust_stack_and_probe_stack_clash): Likewise.
+       (allocate_dynamic_stack_space): Add comment.
+       * tree-nested.c (lookup_field_for_decl): Set the DECL_IGNORED_P and
+       TREE_NO_WARNING but not TREE_ADDRESSABLE flags on the field.
+
+2020-07-16  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/mkoffload.c: Include simple-object.h and elf.h.
+       (EM_AMDGPU): New macro.
+       (ELFOSABI_AMDGPU_HSA): New macro.
+       (ELFABIVERSION_AMDGPU_HSA): New macro.
+       (EF_AMDGPU_MACH_AMDGCN_GFX803): New macro.
+       (EF_AMDGPU_MACH_AMDGCN_GFX900): New macro.
+       (EF_AMDGPU_MACH_AMDGCN_GFX906): New macro.
+       (R_AMDGPU_NONE): New macro.
+       (R_AMDGPU_ABS32_LO): New macro.
+       (R_AMDGPU_ABS32_HI): New macro.
+       (R_AMDGPU_ABS64): New macro.
+       (R_AMDGPU_REL32): New macro.
+       (R_AMDGPU_REL64): New macro.
+       (R_AMDGPU_ABS32): New macro.
+       (R_AMDGPU_GOTPCREL): New macro.
+       (R_AMDGPU_GOTPCREL32_LO): New macro.
+       (R_AMDGPU_GOTPCREL32_HI): New macro.
+       (R_AMDGPU_REL32_LO): New macro.
+       (R_AMDGPU_REL32_HI): New macro.
+       (reserved): New macro.
+       (R_AMDGPU_RELATIVE64): New macro.
+       (gcn_s1_name): Delete global variable.
+       (gcn_s2_name): Delete global variable.
+       (gcn_o_name): Delete global variable.
+       (gcn_cfile_name): Delete global variable.
+       (files_to_cleanup): New global variable.
+       (offload_abi): New global variable.
+       (tool_cleanup): Use files_to_cleanup, not explicit list.
+       (copy_early_debug_info): New function.
+       (main): New local variables gcn_s1_name, gcn_s2_name, gcn_o_name,
+       gcn_cfile_name.
+       Create files_to_cleanup obstack.
+       Recognize -march options.
+       Copy early debug info from input .o files.
+
+2020-07-16  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * Makefile.in (TAGS): Remove 'params.def'.
+
+2020-07-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * target.def (TARGET_TRULY_NOOP_TRUNCATION): Clarify that
+       targets that return false, indicating SUBREGs shouldn't be
+       used, also need to provide a trunc?i?i2 optab that performs this
+       truncation.
+       * doc/tm.texi: Regenerate.
+
+2020-07-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/96189
+       * config/i386/sync.md
+       (peephole2 to remove unneded compare after CMPXCHG): New pattern.
+
+2020-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libgomp/96198
+       * omp-general.h (struct omp_for_data): Rename min_inner_iterations
+       member to first_inner_iterations, adjust comment.
+       * omp-general.c (omp_extract_for_data): Adjust for the above change.
+       Always use n1first and n2first to compute it, rather than depending
+       on single_nonrect_cond_code.  Similarly, always compute factor
+       as (m2 - m1) * outer_step / inner_step rather than sometimes m1 - m2
+       depending on single_nonrect_cond_code.
+       * omp-expand.c (expand_omp_for_init_vars): Rename min_inner_iterations
+       to first_inner_iterations and min_inner_iterationsd to
+       first_inner_iterationsd.
+
+2020-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96174
+       * config/i386/avx512fintrin.h (_mm512_cmpeq_pd_mask,
+       _mm512_mask_cmpeq_pd_mask, _mm512_cmplt_pd_mask,
+       _mm512_mask_cmplt_pd_mask, _mm512_cmple_pd_mask,
+       _mm512_mask_cmple_pd_mask, _mm512_cmpunord_pd_mask,
+       _mm512_mask_cmpunord_pd_mask, _mm512_cmpneq_pd_mask,
+       _mm512_mask_cmpneq_pd_mask, _mm512_cmpnlt_pd_mask,
+       _mm512_mask_cmpnlt_pd_mask, _mm512_cmpnle_pd_mask,
+       _mm512_mask_cmpnle_pd_mask, _mm512_cmpord_pd_mask,
+       _mm512_mask_cmpord_pd_mask, _mm512_cmpeq_ps_mask,
+       _mm512_mask_cmpeq_ps_mask, _mm512_cmplt_ps_mask,
+       _mm512_mask_cmplt_ps_mask, _mm512_cmple_ps_mask,
+       _mm512_mask_cmple_ps_mask, _mm512_cmpunord_ps_mask,
+       _mm512_mask_cmpunord_ps_mask, _mm512_cmpneq_ps_mask,
+       _mm512_mask_cmpneq_ps_mask, _mm512_cmpnlt_ps_mask,
+       _mm512_mask_cmpnlt_ps_mask, _mm512_cmpnle_ps_mask,
+       _mm512_mask_cmpnle_ps_mask, _mm512_cmpord_ps_mask,
+       _mm512_mask_cmpord_ps_mask): Move outside of __OPTIMIZE__ guarded
+       section.
+
+2020-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/96176
+       * builtins.c: Include gimple-ssa.h, tree-ssa-live.h and
+       tree-outof-ssa.h.
+       (expand_expr_force_mode): If exp is a SSA_NAME with different mode
+       from MODE and get_gimple_for_ssa_name is a cast from MODE, use the
+       cast's rhs.
+
+2020-07-15  Jiufu Guo   <guojiufu@cn.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_loop_unroll_adjust): Refine hook.
+
+2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.md (rotldi3_insert_sf): Add TARGET_POWERPC64
+       condition.
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init): Add
+       TARGET_POWERPC64 requirement to TARGET_P8_VECTOR case.
+
+2020-07-14  Lewis Hyatt  <lhyatt@gmail.com>
+
+       PR preprocessor/49973
+       PR other/86904
+       * common.opt: Handle -ftabstop here instead of in c-family
+       options.  Add -fdiagnostics-column-unit= and
+       -fdiagnostics-column-origin= options.
+       * opts.c (common_handle_option): Handle the new options.
+       * diagnostic-format-json.cc (json_from_expanded_location): Add
+       diagnostic_context argument.  Use it to convert column numbers as per
+       the new options.
+       (json_from_location_range): Likewise.
+       (json_from_fixit_hint): Likewise.
+       (json_end_diagnostic): Pass the new context argument to helper
+       functions above.  Add "column-origin" field to the output.
+       (test_unknown_location): Add the new context argument to calls to
+       helper functions.
+       (test_bad_endpoints): Likewise.
+       * diagnostic-show-locus.c
+       (exploc_with_display_col::exploc_with_display_col): Support
+       tabstop parameter.
+       (layout_point::layout_point): Make use of class
+       exploc_with_display_col.
+       (layout_range::layout_range): Likewise.
+       (struct line_bounds): Clarify that the units are now always
+       display columns.  Rename members accordingly.  Add constructor.
+       (layout::print_source_line): Add support for tab expansion.
+       (make_range): Adapt to class layout_range changes.
+       (layout::maybe_add_location_range): Likewise.
+       (layout::layout): Adapt to class exploc_with_display_col changes.
+       (layout::calculate_x_offset_display): Support tabstop parameter.
+       (layout::print_annotation_line): Adapt to struct line_bounds changes.
+       (layout::print_line): Likewise.
+       (line_label::line_label): Add diagnostic_context argument.
+       (get_affected_range): Likewise.
+       (get_printed_columns): Likewise.
+       (layout::print_any_labels): Adapt to struct line_label changes.
+       (class correction): Add m_tabstop member.
+       (correction::correction): Add tabstop argument.
+       (correction::compute_display_cols): Use m_tabstop.
+       (class line_corrections): Add m_context member.
+       (line_corrections::line_corrections): Add diagnostic_context argument.
+       (line_corrections::add_hint): Use m_context to handle tabstops.
+       (layout::print_trailing_fixits): Adapt to class line_corrections
+       changes.
+       (test_layout_x_offset_display_utf8): Support tabstop parameter.
+       (test_layout_x_offset_display_tab): New selftest.
+       (test_one_liner_colorized_utf8): Likewise.
+       (test_tab_expansion): Likewise.
+       (test_diagnostic_show_locus_one_liner_utf8): Call the new tests.
+       (diagnostic_show_locus_c_tests): Likewise.
+       (test_overlapped_fixit_printing): Adapt to helper class and
+       function changes.
+       (test_overlapped_fixit_printing_utf8): Likewise.
+       (test_overlapped_fixit_printing_2): Likewise.
+       * diagnostic.h (enum diagnostics_column_unit): New enum.
+       (struct diagnostic_context): Add members for the new options.
+       (diagnostic_converted_column): Declare.
+       (json_from_expanded_location): Add new context argument.
+       * diagnostic.c (diagnostic_initialize): Initialize new members.
+       (diagnostic_converted_column): New function.
+       (maybe_line_and_column): Be willing to output a column of 0.
+       (diagnostic_get_location_text): Convert column number as per the new
+       options.
+       (diagnostic_report_current_module): Likewise.
+       (assert_location_text): Add origin and column_unit arguments for
+       testing the new functionality.
+       (test_diagnostic_get_location_text): Test the new functionality.
+       * doc/invoke.texi: Document the new options and behavior.
+       * input.h (location_compute_display_column): Add tabstop argument.
+       * input.c (location_compute_display_column): Likewise.
+       (test_cpp_utf8): Add selftests for tab expansion.
+       * tree-diagnostic-path.cc (default_tree_make_json_for_path): Pass the
+       new context argument to json_from_expanded_location().
+
+2020-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/96194
+       * expr.c (expand_constructor): Don't create temporary for store to
+       volatile MEM if exp has an addressable type.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * hash-map.h (hash_map::get): Note it is a pointer to value.
+       * incpath.h (incpath_kind): Align comments.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * tree-core.h (tree_decl_with_vis, tree_function_decl):
+       Note additional padding on 64-bits
+       * tree.c (cache_integer_cst): Note why no caching of enum literals.
+       (get_tree_code_name): Robustify error case.
+
+2020-07-14  Nathan Sidwell  <nathan@acm.org>
+
+       * doc/gty.texi: Fic gt_cleare_cache name.
+       * doc/invoke.texi: Remove duplicate opindex Wabi-tag.
+
+2020-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-general.h (struct omp_for_data): Add adjn1 member.
+       * omp-general.c (omp_extract_for_data): For non-rect loop, punt on
+       count computing if n1, n2 or step are not INTEGER_CST earlier.
+       Narrow the outer iterator range if needed so that non-rect loop
+       has at least one iteration for each outer range iteration.  Compute
+       adjn1.
+       * omp-expand.c (expand_omp_for_init_vars): Use adjn1 if non-NULL
+       instead of the outer loop's n1.
+
+2020-07-14  Matthias Klose  <doko@ubuntu.com>
+
+       PR lto/95604
+       * lto-wrapper.c (merge_and_complain): Add decoded options as parameter,
+       error on different values for -fcf-protection.
+       (append_compiler_options): Pass -fcf-protection option.
+       (find_and_merge_options): Add decoded options as parameter,
+       pass decoded_options to merge_and_complain.
+       (run_gcc): Pass decoded options to find_and_merge_options.
+       * lto-opts.c (lto_write_options): Pass -fcf-protection option.
+
+2020-07-13  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.md (sibcall_local): Merge sibcall_local32
+       and sibcall_local64.
+       (sibcall_value_local): Similarly.
+
+2020-07-13  Nathan Sidwell  <nathan@acm.org>
+
+       * Makefile.in (distclean): Remove long gone cxxmain.c
+
+2020-07-13  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95443
+       * config/i386/i386.md (cmpstrnsi): Pass a copy of the string
+       length to cmpstrnqi patterns.
+
+2020-07-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/96130
+       * ipa-fnsummary.c (analyze_function_body): Treat NULL bb->aux
+       as false predicate.
+
+2020-07-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96163
+       * tree-vect-slp.c (vect_schedule_slp_instance): Put new stmts
+       at least after region begin.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
+       __ARM_FEATURE_PAC_DEFAULT support.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94891
+       * doc/extend.texi: Update the text for  __builtin_return_address.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94891
+       * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
+       Disable return address signing if __builtin_eh_return is used.
+
+2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR target/94891
+       PR target/94791
+       * config/aarch64/aarch64-protos.h (aarch64_return_addr_rtx): Declare.
+       * config/aarch64/aarch64.c (aarch64_return_addr_rtx): New.
+       (aarch64_return_addr): Use aarch64_return_addr_rtx.
+       * config/aarch64/aarch64.h (PROFILE_HOOK): Likewise.
+
+2020-07-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/95114
+       * tree.h (virtual_method_call_p): Add a default-false parameter
+       that indicates whether the function is being called from dump
+       routines.
+       (obj_type_ref_class): Likewise.
+       * tree.c (virtual_method_call_p): Likewise.
+       * ipa-devirt.c (obj_type_ref_class): Likewise.  Lazily add ODR
+       type information for the type when the parameter is false.
+       * tree-pretty-print.c (dump_generic_node): Update calls to
+       virtual_method_call_p and obj_type_ref_class accordingly.
+
+2020-07-13  Julian Brown  <julian@codesourcery.com>
+           Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses): Do not strip
+       GOMP_MAP_TO_PSET/GOMP_MAP_POINTER for OpenACC enter/exit data
+       directives (see also PR92929).
+
+2020-07-13  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * convert.c (convert_to_integer_1): Narrow integer operations
+       even on targets that require explicit truncation instructions.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/93372
+       * config/cris/cris-passes.def: New file.
+       * config/cris/t-cris (PASSES_EXTRA): Add cris-passes.def.
+       * config/cris/cris.c: Add infrastructure bits and pass execute
+       function cris_postdbr_cmpelim.
+       * config/cris/cris-protos.h (make_pass_cris_postdbr_cmpelim): Declare.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/t-cris: Remove gt-cris.h-related excessive cargo.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/93372
+       * config/cris/cris.md ("*add<mode>3_addi"): New splitter.
+       ("*addi_b_<mode>"): New pattern.
+       ("*addsi3<setnz>"): Remove stale %-related comment.
+
+2020-07-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("setnz_subst", "setnz_subst", "setcc_subst"):
+       Use match_dup in output template, not match_operand.
+
+2020-07-13  Richard Biener  <rguenther@suse.de>
+
+       * var-tracking.c (bb_heap_node_t): Remove unused typedef.
+       (vt_find_locations): Eliminate visited bitmap in favor of
+       RPO order check.  Dump statistics about the number of
+       local BB dataflow computes.
+
+2020-07-13  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/94600
+       * expr.c (expand_constructor): Make a temporary also if we're
+       storing to volatile memory.
+
+2020-07-13  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/rs6000.md (rotl_unspec): New
+       define_insn_and_split.
+
+2020-07-13  Xionghu Luo  <luoxhu@linux.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init):
+       Move V4SF to V4SI, init vector like V4SI and move to V4SF back.
+
+2020-07-11  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * internal-fn.c (expand_mul_overflow): When checking for signed
+       overflow from a widening multiplication, we access the truncated
+       lowpart RES twice, so keep this value in a pseudo register.
+
+2020-07-11  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/96146
+       * value-range.cc (value_range::set): Only decompose POLY_INT_CST
+       bounds to integers for VR_RANGE.  Decay to VR_VARYING for anti-ranges
+       involving POLY_INT_CSTs.
+
+2020-07-10  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/77373
+       * config/rs6000/rs6000.c (rs6000_xcoff_select_section): Only
+       create named section for VAR_DECL or FUNCTION_DECL.
+
+2020-07-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * glimits.h [__STDC_VERSION__ > 201710L] (BOOL_MAX, BOOL_WIDTH):
+       New macros.
+
+2020-07-10  Alexander Popov  <alex.popov@linux.com>
+
+       * shrink-wrap.c (try_shrink_wrapping): Improve debug output.
+
+2020-07-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/96151
+       * expr.c (expand_expr_real_2): When reducing bit fields,
+       clear the target if it has a different mode from the expression.
+       (reduce_to_bit_field_precision): Don't do that here.  Instead
+       assert that the target already has the correct mode.
+
+2020-07-10  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/92789
+       PR target/95726
+       * config/arm/arm.c (arm_attribute_table): Add
+       "Advanced SIMD type".
+       (arm_comp_type_attributes): Check that the "Advanced SIMD type"
+       attributes are equal.
+       * config/arm/arm-builtins.c: Include stringpool.h and
+       attribs.h.
+       (arm_mangle_builtin_vector_type): Use the mangling recorded
+       in the "Advanced SIMD type" attribute.
+       (arm_init_simd_builtin_types): Add an "Advanced SIMD type"
+       attribute to each Advanced SIMD type, using the mangled type
+       as the attribute's single argument.
+
+2020-07-10  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/vsx.md  (VSX_MM): New define_mode_iterator.
+       (VSX_MM4): New define_mode_iterator.
+       (vec_mtvsrbmi): New define_insn.
+       (vec_mtvsr_<mode>): New define_insn.
+       (vec_cntmb_<mode>): New define_insn.
+       (vec_extract_<mode>): New define_insn.
+       (vec_expand_<mode>): New define_insn.
+       (define_c_enum unspec): Add entries UNSPEC_MTVSBM, UNSPEC_VCNTMB,
+       UNSPEC_VEXTRACT, UNSPEC_VEXPAND.
+       * config/rs6000/altivec.h ( vec_genbm, vec_genhm, vec_genwm,
+       vec_gendm, vec_genqm, vec_cntm, vec_expandm, vec_extractm): Add
+       defines.
+       * config/rs6000/rs6000-builtin.def: Add defines BU_P10_2, BU_P10_1.
+       (BU_P10_1): Add definitions for mtvsrbm, mtvsrhm, mtvsrwm,
+       mtvsrdm, mtvsrqm, vexpandmb, vexpandmh, vexpandmw, vexpandmd,
+       vexpandmq, vextractmb, vextractmh, vextractmw, vextractmd, vextractmq.
+       (BU_P10_2): Add definitions for cntmbb, cntmbh, cntmbw, cntmbd.
+       (BU_P10_OVERLOAD_1): Add definitions for mtvsrbm, mtvsrhm,
+       mtvsrwm, mtvsrdm, mtvsrqm, vexpandm, vextractm.
+       (BU_P10_OVERLOAD_2): Add defition for cntm.
+       * config/rs6000/rs6000-call.c (rs6000_expand_binop_builtin): Add
+       checks for CODE_FOR_vec_cntmbb_v16qi, CODE_FOR_vec_cntmb_v8hi,
+       CODE_FOR_vec_cntmb_v4si, CODE_FOR_vec_cntmb_v2di.
+       (altivec_overloaded_builtins): Add overloaded argument entries for
+       P10_BUILTIN_VEC_MTVSRBM, P10_BUILTIN_VEC_MTVSRHM,
+       P10_BUILTIN_VEC_MTVSRWM, P10_BUILTIN_VEC_MTVSRDM,
+       P10_BUILTIN_VEC_MTVSRQM, P10_BUILTIN_VEC_VCNTMBB,
+       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.
+       (builtin_function_type): Add case entries for 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.
+       * config/rs6000/rs6000-builtin.def (altivec_overloaded_builtins): Add
+       entries for MTVSRBM, MTVSRHM, MTVSRWM, MTVSRDM, MTVSRQM, VCNTM,
+       VEXPANDM, VEXTRACTM.
+
+2020-07-10  Bill Seurer, 507-253-3502, seurer@us.ibm.com  <(no_default)>
+
+       PR target/95581
+       * config/rs6000/rs6000-call.c: Add new type v16qi_ftype_pcvoid.
+       (altivec_init_builtins) Change __builtin_altivec_mask_for_load to use
+       v16qi_ftype_pcvoid with correct number of parameters.
+
+2020-07-10  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/96144
+       * config/i386/i386-expand.c (ix86_emit_swsqrtsf): Check
+       TARGET_AVX512VL when enabling FMA.
+
+2020-07-10  Andrea Corallo  <andrea.corallo@arm.com>
+           Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+           Iain Apreotesei  <iain.apreotesei@arm.com>
+
+       * config/arm/arm-protos.h (arm_target_insn_ok_for_lob): New
+       prototype.
+       * config/arm/arm.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
+       (arm_invalid_within_doloop): Implement invalid_within_doloop hook.
+       (arm_target_insn_ok_for_lob): New function.
+       * config/arm/arm.h (TARGET_HAVE_LOB): Define macro.
+       * config/arm/thumb2.md (*doloop_end_internal, doloop_begin)
+       (dls_insn): Add new patterns.
+       (doloop_end): Modify to select LR when LOB is available.
+       * config/arm/unspecs.md: Add new unspec.
+       * doc/sourcebuild.texi (arm_v8_1_lob_ok)
+       (arm_thumb2_ok_no_arm_v8_1_lob): Document new target supports
+       options.
+
+2020-07-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96133
+       * gimple-fold.c (fold_array_ctor_reference): Do not
+       recurse to folding a CTOR that does not fully cover the
+       asked for object.
+
+2020-07-10  Cui,Lili  <lili.cui@intel.com>
+
+       * common/config/i386/cpuinfo.h
+       (get_intel_cpu): Handle sapphirerapids.
+       * common/config/i386/i386-common.c
+       (processor_names): Add sapphirerapids and alderlake.
+       (processor_alias_table): Add sapphirerapids and alderlake.
+       * common/config/i386/i386-cpuinfo.h
+       (processor_subtypes): Add INTEL_COREI7_ALDERLAKE and
+       INTEL_COREI7_ALDERLAKE.
+       * config.gcc: Add -march=sapphirerapids and alderlake.
+       * config/i386/driver-i386.c
+       (host_detect_local_cpu) Handle sapphirerapids and alderlake.
+       * config/i386/i386-c.c
+       (ix86_target_macros_internal): Handle sapphirerapids and alderlake.
+       * config/i386/i386-options.c
+       (m_SAPPHIRERAPIDS) : Define.
+       (m_ALDERLAKE): Ditto.
+       (m_CORE_AVX512) : Add m_SAPPHIRERAPIDS.
+       (processor_cost_table): Add sapphirerapids and alderlake.
+       (ix86_option_override_internal) Handle PTA_WAITPKG, PTA_ENQCMD,
+       PTA_CLDEMOTE, PTA_SERIALIZE, PTA_TSXLDTRK.
+       * config/i386/i386.h
+       (ix86_size_cost) : Define SAPPHIRERAPIDS and ALDERLAKE.
+       (processor_type) : Add PROCESSOR_SAPPHIRERAPIDS and
+       PROCESSOR_ALDERLAKE.
+       (PTA_ENQCMD): New.
+       (PTA_CLDEMOTE): Ditto.
+       (PTA_SERIALIZE): Ditto.
+       (PTA_TSXLDTRK): New.
+       (PTA_SAPPHIRERAPIDS): Ditto.
+       (PTA_ALDERLAKE): Ditto.
+       (processor_type) : Add PROCESSOR_SAPPHIRERAPIDS and
+       PROCESSOR_ALDERLAKE.
+       * doc/extend.texi: Add sapphirerapids and alderlake.
+       * doc/invoke.texi: Add sapphirerapids and alderlake.
+
+2020-07-10  Martin Liska  <mliska@suse.cz>
+
+       * dumpfile.c [profile-report]: Add new profile dump.
+       * dumpfile.h (enum tree_dump_index): Ad TDI_profile_report.
+       * passes.c (pass_manager::dump_profile_report): Change stderr
+       to dump_file.
+
+2020-07-10  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_transform_loop): Use LOOP_VINFO_NITERS which
+       is adjusted by considering peeled prologue for non
+       vect_use_loop_mask_for_alignment_p cases.
+
+2020-07-09  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/96125
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Define the MMA
+       specific types __vector_quad and __vector_pair, and initialize the
+       MMA built-ins if TARGET_EXTRA_BUILTINS is set.
+       (mma_init_builtins): Don't test for mask set in rs6000_builtin_mask.
+       Remove now unneeded mask variable.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Add the
+       OPTION_MASK_MMA flag for power10 if not already set.
+
+2020-07-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96133
+       * tree-vect-slp.c (vect_build_slp_tree_1): Compare load_p
+       status between stmts.
+
+2020-07-09  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/88713
+       * config/i386/i386-expand.c (ix86_emit_swsqrtsf): Enable FMA.
+       * config/i386/sse.md (VF_AVX512VL_VF1_128_256): New.
+       (rsqrt<mode>2): Replace VF1_128_256 with VF_AVX512VL_VF1_128_256.
+       (rsqrtv16sf2): Removed.
+
+2020-07-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_verify_datarefs_alignment): Remove.
+       (vect_slp_analyze_and_verify_instance_alignment): Rename to ...
+       (vect_slp_analyze_instance_alignment): ... this.
+       * tree-vect-data-refs.c (verify_data_ref_alignment): Remove.
+       (vect_verify_datarefs_alignment): Likewise.
+       (vect_enhance_data_refs_alignment): Do not call
+       vect_verify_datarefs_alignment.
+       (vect_slp_analyze_node_alignment): Rename from
+       vect_slp_analyze_and_verify_node_alignment and do not
+       call verify_data_ref_alignment.
+       (vect_slp_analyze_instance_alignment): Rename from
+       vect_slp_analyze_and_verify_instance_alignment.
+       * tree-vect-stmts.c (vectorizable_store): Dump when
+       we vectorize an unaligned access.
+       (vectorizable_load): Likewise.
+       * tree-vect-loop.c (vect_analyze_loop_2): Do not call
+       vect_verify_datarefs_alignment.
+       * tree-vect-slp.c (vect_slp_analyze_bb_1): Adjust.
+
+2020-07-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/95804
+       * tree-loop-distribution.c (break_alias_scc_partitions): Force
+       negative post order to reduction partition.
+
+2020-07-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-general.h (struct omp_for_data): Add min_inner_iterations
+       and factor members.
+       * omp-general.c (omp_extract_for_data): Initialize them and remember
+       them in OMP_CLAUSE_COLLAPSE_COUNT if needed and restore from there.
+       * omp-expand.c (expand_omp_for_init_counts): Fix up computation of
+       counts[fd->last_nonrect] if fd->loop.n2 is INTEGER_CST.
+       (expand_omp_for_init_vars): For
+       fd->first_nonrect + 1 == fd->last_nonrect loops with for now
+       INTEGER_CST fd->loop.n2 find quadratic equation roots instead of
+       using fallback method when possible.
+
+2020-07-09  Omar Tahir  <omar.tahir@arm.com>
+
+       * ira.c (move_unallocated_pseudos): Zero first_moveable_pseudo and
+       last_moveable_pseudo before returning.
+
+2020-07-09  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
+       __ARM_FEATURE_BTI_DEFAULT support.
+
+2020-07-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm):
+       New declaration.
+       * config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new
+       stub registers class.
+       (aarch64_class_max_nregs): Likewise.
+       (aarch64_register_move_cost): Likewise.
+       (aarch64_sls_shared_thunks): Global array to store stub labels.
+       (aarch64_sls_emit_function_stub): New.
+       (aarch64_create_blr_label): New.
+       (aarch64_sls_emit_blr_function_thunks): New.
+       (aarch64_sls_emit_shared_blr_thunks): New.
+       (aarch64_asm_file_end): New.
+       (aarch64_indirect_call_asm): New.
+       (TARGET_ASM_FILE_END): Use aarch64_asm_file_end.
+       (TARGET_ASM_FUNCTION_EPILOGUE): Use
+       aarch64_sls_emit_blr_function_thunks.
+       * config/aarch64/aarch64.h (STB_REGNUM_P): New.
+       (enum reg_class): Add STUB_REGS class.
+       (machine_function): Introduce `call_via` array for
+       function-local stub labels.
+       * config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use
+       aarch64_indirect_call_asm to emit code when hardening BLR
+       instructions.
+       * config/aarch64/constraints.md (Ucr): New constraint
+       representing registers for indirect calls.  Is GENERAL_REGS
+       usually, and STUB_REGS when hardening BLR instruction against
+       SLS.
+       * config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class
+       is also a general register.
+
+2020-07-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New.
+       * config/aarch64/aarch64.c (aarch64_output_casesi): Emit
+       speculation barrier after BR instruction if needs be.
+       (aarch64_trampoline_init): Handle ptr_mode value & adjust size
+       of code copied.
+       (aarch64_sls_barrier): New.
+       (aarch64_asm_trampoline_template): Add needed barriers.
+       * config/aarch64/aarch64.h (AARCH64_ISA_SB): New.
+       (TARGET_SB): New.
+       (TRAMPOLINE_SIZE): Account for barrier.
+       * config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch,
+       simple_return, *do_return, *sibcall_insn, *sibcall_value_insn):
+       Emit barrier if needs be, also account for possible barrier using
+       "sls_length" attribute.
+       (sls_length): New attribute.
+       (length): Determine default using any non-default sls_length
+       value.
+
+2020-07-09  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p):
+       New.
+       (aarch64_harden_sls_blr_p): New.
+       * config/aarch64/aarch64.c (enum aarch64_sls_hardening_type):
+       New.
+       (aarch64_harden_sls_retbr_p): New.
+       (aarch64_harden_sls_blr_p): New.
+       (aarch64_validate_sls_mitigation): New.
+       (aarch64_override_options): Parse options for SLS mitigation.
+       * config/aarch64/aarch64.opt (-mharden-sls): New option.
+       * doc/invoke.texi: Document new option.
+
+2020-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-stmts.c (vectorizable_condition): Prohibit vectorization
+       with partial vectors explicitly excepting for EXTRACT_LAST_REDUCTION
+       or nested-cycle reduction.
+
+2020-07-09  Kewen Lin  <linkw@linux.ibm.com>
+
+       * tree-vect-loop.c (vect_analyze_loop_2): Update dumping string
+       for fully masking to be more common.
+
+2020-07-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.md (get_thread_pointer<mode>): New.
+       (TP_REGNUM): Ditto.
+       * doc/extend.texi (Target Builtins): Add RISC-V built-in section.
+       Document __builtin_thread_pointer.
+
+2020-07-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       * 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>
+
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Do not fold if
+       either type has reverse scalar storage order.
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Do not propagate through
+       a memory copy if either type has reverse scalar storage order.
+
+2020-07-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       * config/gcn/mkoffload.c (compile_native, main): Pass -fPIC/-fpic
+       on to the native compiler, if used.
+       * config/nvptx/mkoffload.c (compile_native, main): Likewise.
+
+2020-07-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       * config/rs6000/altivec.h (vec_vmsumudm): New define.
+       * config/rs6000/altivec.md (UNSPEC_VMSUMUDM): New unspec.
+         (altivec_vmsumudm): New define_insn.
+       * config/rs6000/rs6000-builtin.def (altivec_vmsumudm): New BU_ALTIVEC_3
+         entry. (vmsumudm): New BU_ALTIVEC_OVERLOAD_3 entry.
+       * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Add entries for
+         ALTIVEC_BUILTIN_VMSUMUDM variants of vec_msum.
+       * doc/extend.texi: Add document for vmsumudm behind vmsum.
+
+2020-07-08  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (get_group_load_store_type): Pass
+       in the SLP node and the alignment support scheme output.
+       Set that.
+       (get_load_store_type): Likewise.
+       (vectorizable_store): Adjust.
+       (vectorizable_load): Likewise.
+
+2020-07-08  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/95694
+       * expr.c (expand_expr_real_2): Get the mode from the type rather
+       than the rtx, and assert that it is consistent with the mode of
+       the rtx (where known).  Optimize all constant integers, not just
+       those that can be represented in poly_int64.
+
+2020-07-08  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/vsx.md (len_load_v16qi): New define_expand.
+       (len_store_v16qi): Likewise.
+
+2020-07-08  Kewen Lin  <linkw@linux.ibm.com>
+
+       * doc/md.texi (len_load_@var{m}): Document.
+       (len_store_@var{m}): Likewise.
+       * internal-fn.c (len_load_direct): New macro.
+       (len_store_direct): Likewise.
+       (expand_len_load_optab_fn): Likewise.
+       (expand_len_store_optab_fn): Likewise.
+       (direct_len_load_optab_supported_p): Likewise.
+       (direct_len_store_optab_supported_p): Likewise.
+       (expand_mask_load_optab_fn): New macro.  Original renamed to ...
+       (expand_partial_load_optab_fn): ... here.  Add handlings for
+       len_load_optab.
+       (expand_mask_store_optab_fn): New macro.  Original renamed to ...
+       (expand_partial_store_optab_fn): ... here. Add handlings for
+       len_store_optab.
+       (internal_load_fn_p): Handle IFN_LEN_LOAD.
+       (internal_store_fn_p): Handle IFN_LEN_STORE.
+       (internal_fn_stored_value_index): Handle IFN_LEN_STORE.
+       * internal-fn.def (LEN_LOAD): New internal function.
+       (LEN_STORE): Likewise.
+       * optabs.def (len_load_optab, len_store_optab): New optab.
+
+2020-07-07  Anton Youdkevitch  <anton.youdkevitch@bell-sw.com>
+
+       * config/aarch64/aarch64.c (thunderx2t99_regmove_cost,
+       thunderx2t99_vector_cost): Likewise.
+
+2020-07-07  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Fix
+       group overlap condition to allow negative step DR groups.
+       * tree-vect-stmts.c (get_group_load_store_type): For
+       multi element SLP groups force VMAT_STRIDED_SLP when the step
+       is negative.
+
+2020-07-07  Qian Jianhua  <qianjh@cn.fujitsu.com>
+
+       * doc/generic.texi: Fix typo.
+
+2020-07-07  Richard Biener  <rguenther@suse.de>
+
+       * lto-streamer-out.c (cmp_symbol_files): Use the computed
+       order map to sort symbols from the same sub-file together.
+       (lto_output): Compute a map of sub-file to an order number
+       it appears in the symbol output array.
+
+2020-07-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96075
+       * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
+       TYPE_SIZE_UNIT of the vector component type instead of DR_STEP
+       for the misalignment calculation for negative step.
+
+2020-07-06  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (*vadd_addsi4): New instruction.
+       (*vsub_addsi4): New instruction.
+
+2020-07-06  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md (movulsr): New peephole2.
+
+2020-07-06  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/sync.md ("cris_atomic_fetch_<atomic_op_name><mode>_1"):
+       Correct gcc_assert of overlapping operands.
+
+2020-07-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.c (cris_select_cc_mode): Always return
+       CC_NZmode for matching comparisons.  Clarify comments.
+       * config/cris/cris-modes.def: Clarify mode comment.
+       * config/cris/cris.md (plusminus, plusminusumin, plusumin): New
+       code iterators.
+       (addsub, addsubbo, nd): New code iterator attributes.
+       ("*<addsub><su>qihi"): Rename from "*extopqihi".  Use code
+       iterator constructs instead of match_operator constructs.
+       ("*<addsubbo><su><nd><mode>si<setnz>"): Similar from
+       "*extop<mode>si<setnz>".
+       ("*add<su>qihi_swap"): Similar from "*addxqihi_swap".
+       ("*<addsubbo><su><nd><mode>si<setnz>_swap"): Similar from
+       "*extop<mode>si<setnz>_swap".
+
+2020-07-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       * 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>
+
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Fold calls that
+       were initially created for the assignment of a variable-sized
+       object and whose source is now a string constant.
+       * gimple-ssa-store-merging.c (struct merged_store_group): Document
+       STRING_CST for rhs_code field.
+       Add string_concatenation boolean field.
+       (merged_store_group::merged_store_group): Initialize it as well as
+       bit_insertion here.
+       (merged_store_group::do_merge): Set it upon seeing a STRING_CST.
+       Also set bit_insertion here upon seeing a BIT_INSERT_EXPR.
+       (merged_store_group::apply_stores): Clear it for small regions.
+       Do not create a power-of-2-sized buffer if it is still true.
+       And do not set bit_insertion here again.
+       (encode_tree_to_bitpos): Deal with BLKmode for the expression.
+       (merged_store_group::can_be_merged_into): Deal with STRING_CST.
+       (imm_store_chain_info::coalesce_immediate_stores): Set bit_insertion
+       to true after changing MEM_REF stores into BIT_INSERT_EXPR stores.
+       (count_multiple_uses): Return 0 for STRING_CST.
+       (split_group): Do not split the group for a string concatenation.
+       (imm_store_chain_info::output_merged_store): Constify and rename
+       some local variables.  Build an array type as destination type
+       for a string concatenation, as well as a zero mask, and call
+       build_string to build the source.
+       (lhs_valid_for_store_merging_p): Return true for VIEW_CONVERT_EXPR.
+       (pass_store_merging::process_store): Accept STRING_CST on the RHS.
+       * gimple.h (gimple_call_alloca_for_var_p): New accessor function.
+       * gimplify.c (gimplify_modify_expr_to_memcpy): Set alloca_for_var.
+       * tree.h (CALL_ALLOCA_FOR_VAR_P): Document it for BUILT_IN_MEMCPY.
+
+2020-07-03  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/96040
+       * ipa-sra.c (all_callee_accesses_present_p): Do not accept type
+       mismatched accesses.
+
+2020-07-03  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/nvptx/nvptx.md (popcount<mode>2): New instructions.
+       (mulhishi3, mulsidi3, umulhisi3, umulsidi3): New instructions.
+
+2020-07-03  Martin Liska  <mliska@suse.cz>
+           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/96046
+       * gcov-dump.c (tag_function): Use gcov_position_t
+       type.
+
+2020-07-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96037
+       * tree-vect-stmts.c (vect_is_simple_use): Initialize *slp_def.
+
+2020-07-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_slp_scalar_cost): Cost the
+       original non-pattern stmts, look at the pattern stmt
+       vectorization status.
+
+2020-07-03  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (fold_left_plus_<mode>): New.
+
+2020-07-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vec_info::insert_on_entry): New.
+       (vec_info::insert_seq_on_entry): Likewise.
+       * tree-vectorizer.c (vec_info::insert_on_entry): Implement.
+       (vec_info::insert_seq_on_entry): Likewise.
+       * tree-vect-stmts.c (vect_init_vector_1): Use
+       vec_info::insert_on_entry.
+       (vect_finish_stmt_generation): Set modified bit after
+       adjusting VUSE.
+       * tree-vect-slp.c (vect_create_constant_vectors): Simplify
+       by using vec_info::insert_seq_on_entry and bypassing
+       vec_init_vector.
+       (vect_schedule_slp_instance): Deal with all-constant
+       children later.
+
+2020-07-03  Roger Sayle  <roger@nextmovesoftware.com>
+           Tom de Vries  <tdevries@suse.de>
+
+       PR target/90932
+       * config/nvptx/nvptx.c (nvptx_vector_alignment): Use tree_to_uhwi
+       to access TYPE_SIZE (type).  Return at least the mode's alignment.
+
+2020-07-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96028
+       * tree-vect-slp.c (vect_slp_convert_to_external): Make sure
+       we have scalar stmts to use.
+       (vect_slp_analyze_node_operations): When analyzing a child
+       failed try externalizing the parent node.
+
+2020-07-02  Martin Jambor  <mjambor@suse.cz>
+
+       PR debug/95343
+       * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Adjust
+       argument index if necessary.
+
+2020-07-02  Martin Liska  <mliska@suse.cz>
+
+       PR middle-end/95830
+       * tree-vect-generic.c (expand_vector_condition): Forward declaration.
+       (expand_vector_comparison): Do not expand a comparison if all
+       uses are consumed by a VEC_COND_EXPR.
+       (expand_vector_operation): Change void return type to bool.
+       (expand_vector_operations_1): Pass dce_ssa_names.
+
+2020-07-02  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       PR bootstrap/95700
+       * system.h (NULL): Redefine to nullptr.
+
+2020-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95857
+       * tree-cfg.c (group_case_labels_stmt): When removing an unreachable
+       base_bb, remember all forced and non-local labels on it and later
+       treat those as if they have NULL label_to_block.  Formatting fix.
+       Fix a comment typo.
+
+2020-07-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/96022
+       * tree-vect-stmts.c (vectorizable_shift): Only use the
+       first vector stmt when extracting the scalar shift amount.
+       * tree-vect-slp.c (vect_build_slp_tree_2): Also build unary
+       nodes with all-scalar children from scalars but not stores.
+       (vect_analyze_slp_instance): Mark the node not failed.
+
+2020-07-02  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/95961
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use the
+       number of scalars instead of the number of vectors as an upper bound
+       for the loop saving info about DR in the hash table.  Remove unused
+       local variables.
+
+2020-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (expand_omp_for): Diagnose non-rectangular loops with
+       invalid steps - ((m2 - m1) * incr_outer) % incr must be 0 in valid
+       OpenMP non-rectangular loops.  Use XALLOCAVEC.
+
+2020-07-02  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/95348
+       * coverage.c (read_counts_file): Read only COUNTERS that are
+       not all-zero.
+       * gcov-dump.c (tag_function): Change signature from unsigned to
+       signed integer.
+       (tag_blocks): Likewise.
+       (tag_arcs): Likewise.
+       (tag_lines): Likewise.
+       (tag_counters): Likewise.
+       (tag_summary): Likewise.
+       * gcov.c (read_count_file): Read all non-zero counters
+       sensitively.
+
+2020-07-02  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/multilib-generator (arch_canonicalize): Handle
+       multi-letter extension.
+       Using underline as separator between different extensions.
+
+2020-07-01  Pip Cet  <pipcet@gmail.com>
+
+       * spellcheck.c (test_data): Add problematic strings.
+       (test_metric_conditions): Don't test the triangle inequality
+       condition, which our distance function does not satisfy.
+
+2020-07-01  Omar Tahir  <omar.tahir@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Always
+       generate a BTI instruction.
+
+2020-07-01  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/94882
+       * match.pd (x & y) - (x | y) - 1 -> ~(x ^ y): New simplification.
+
+2020-07-01  Jeff Law  <law@redhat.com>
+
+       * config/m68k/m68k.c (m68k_output_btst): Drop "register" keyword.
+       (emit_move_sequence, output_iorsi3, output_xorsi3): Likewise.
+
+2020-07-01  Andrea Corallo  <andrea.corallo@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_builtins): Add enums
+       for 64bits fpsr/fpcr getter setters builtin variants.
+       (aarch64_init_fpsr_fpcr_builtins): New function.
+       (aarch64_general_init_builtins): Modify to make use of the later.
+       (aarch64_expand_fpsr_fpcr_setter): New function.
+       (aarch64_general_expand_builtin): Modify to make use of the later.
+       * config/aarch64/aarch64.md (@aarch64_set_<fpscr_name><GPI:mode>)
+       (@aarch64_get_<fpscr_name><GPI:mode>): New patterns replacing and
+       generalizing 'get_fpcr', 'set_fpsr'.
+       * config/aarch64/iterators.md (GET_FPSCR, SET_FPSCR): New int
+       iterators.
+       (fpscr_name): New int attribute.
+       * doc/extend.texi (__builtin_aarch64_get_fpcr64)
+       (__builtin_aarch64_set_fpcr64, __builtin_aarch64_get_fpsr64)
+       (__builtin_aarch64_set_fpsr64): Add into AArch64 Built-in
+       Functions.
+
+2020-07-01  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (print_usage): Avoid trailing space for -j option.
+
+2020-07-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95839
+       * tree-vect-slp.c (vect_slp_tree_uniform_p): Pre-existing
+       vectors are not uniform.
+       (vect_build_slp_tree_1): Handle BIT_FIELD_REFs of
+       vector registers.
+       (vect_build_slp_tree_2): For groups of lane extracts
+       from a vector register generate a permute node
+       with a special child representing the pre-existing vector.
+       (vect_prologue_cost_for_slp): Pre-existing vectors cost nothing.
+       (vect_slp_analyze_node_operations): Use SLP_TREE_LANES.
+       (vectorizable_slp_permutation): Do not generate or cost identity
+       permutes.
+       (vect_schedule_slp_instance): Handle pre-existing vector
+       that are function arguments.
+
+2020-07-01  Richard Biener  <rguenther@suse.de>
+
+       * system.h (INCLUDE_ISL): New guarded include.
+       * graphite-dependences.c: Use it.
+       * graphite-isl-ast-to-gimple.c: Likewise.
+       * graphite-optimize-isl.c: Likewise.
+       * graphite-poly.c: Likewise.
+       * graphite-scop-detection.c: Likewise.
+       * graphite-sese-to-poly.c: Likewise.
+       * graphite.c: Likewise.
+       * graphite.h: Drop the includes here.
+
+2020-07-01  Martin Liska  <mliska@suse.cz>
+
+       * gcov.c (print_usage): Shorted option description for -j
+       option.
+
+2020-07-01  Martin Liska  <mliska@suse.cz>
+
+       * doc/gcov.texi: Rename 2 options.
+       * gcov.c (print_usage): Rename -i,--json-format to
+       -j,--json-format and -j,--human-readable to -H,--human-readable.
+       (process_args): Fix up parsing.  Document obsolete options and
+       how are they changed.
+
+2020-07-01  Jeff Law  <law@redhat.com>
+
+       * config/pa/pa.c (pa_emit_move_sequence): Drop register keyword.
+       (pa_output_ascii): Likewise.
+
+2020-07-01  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_subset_t): New field
+       added.
+       (riscv_subset_list::parsing_subset_version): Add parameter for
+       indicate explicitly version, and handle explicitly version.
+       (riscv_subset_list::handle_implied_ext): Ditto.
+       (riscv_subset_list::add): Ditto.
+       (riscv_subset_t::riscv_subset_t): Init new field.
+       (riscv_subset_list::to_string): Always output version info if version
+       explicitly specified.
+       (riscv_subset_list::parsing_subset_version): Handle explicitly
+       arch version.
+       (riscv_subset_list::parse_std_ext): Ditto.
+       (riscv_subset_list::parse_multiletter_ext): Ditto.
+
+2020-06-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/92789
+       PR target/95726
+       * config/aarch64/aarch64.c (aarch64_attribute_table): Add
+       "Advanced SIMD type".
+       (aarch64_comp_type_attributes): Check that the "Advanced SIMD type"
+       attributes are equal.
+       * config/aarch64/aarch64-builtins.c: Include stringpool.h and
+       attribs.h.
+       (aarch64_mangle_builtin_vector_type): Use the mangling recorded
+       in the "Advanced SIMD type" attribute.
+       (aarch64_init_simd_builtin_types): Add an "Advanced SIMD type"
+       attribute to each Advanced SIMD type, using the mangled type
+       as the attribute's single argument.
+
+2020-06-30  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       PR target/94743
+       * config/arm/arm.c (arm_handle_isr_attribute): Warn if
+       -mgeneral-regs-only is not used.
+
+2020-06-30  Yang Yang  <yangyang305@huawei.com>
+
+       PR tree-optimization/95855
+       * gimple-ssa-split-paths.c (is_feasible_trace): Add extra
+       checks to recognize a missed if-conversion opportunity when
+       judging whether to duplicate a block.
+
+2020-06-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * doc/extend.texi: Change references to "future architecture" to
+       "ISA 3.1", "-mcpu=future" to "-mcpu=power10", and remove vaguer
+       references to "future" (because the future is now).
+
+2020-06-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (isa): Rename "fut" to "p10".
+
+2020-06-29  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_distributive_operation): New function
+       to un-distribute a binary operation of two binary operations.
+       (X & C) ^ (Y & C) to (X ^ Y) & C, when C is simple (i.e. a constant).
+       (simplify_binary_operation_1) <IOR, XOR, AND>: Call it from here
+       when appropriate.
+       (test_scalar_int_ops): New function for unit self-testing
+       scalar integer transformations in simplify-rtx.c.
+       (test_scalar_ops): Call test_scalar_int_ops for each integer mode.
+       (simplify_rtx_c_tests): Call test_scalar_ops.
+
+2020-06-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95916
+       * tree-vect-slp.c (vect_schedule_slp_instance): Explicitely handle
+       the case of not vectorized externals.
+
+2020-06-29  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h: Do not include <utility>.
+
+2020-06-29  Martin Liska  <mliska@suse.cz>
+
+       * tree-ssa-ccp.c (gsi_prev_dom_bb_nondebug): Use gsi_bb
+       instead of gimple_stmt_iterator::bb.
+       * tree-ssa-math-opts.c (insert_reciprocals): Likewise.
+       * tree-vectorizer.h: Likewise.
+
+2020-06-29  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): New macro.
+       * config/gcn/gcn-protos.h (gcn_dwarf_register_number): New prototype.
+       * config/gcn/gcn.c (gcn_expand_prologue): Add RTX_FRAME_RELATED_P
+       and REG_FRAME_RELATED_EXPR to stack and frame pointer adjustments.
+       (gcn_dwarf_register_number): New function.
+       (gcn_dwarf_register_span): New function.
+       (TARGET_DWARF_REGISTER_SPAN): New hook macro.
+
+2020-06-29  Kaipeng Zhou  <zhoukaipeng3@huawei.com>
+
+       PR tree-optimization/95854
+       * gimple-ssa-store-merging.c (find_bswap_or_nop_1): Return NULL
+       if operand 1 or 2 of a BIT_FIELD_REF cannot be converted to
+       unsigned HOST_WIDE_INT.
+
+2020-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sparc.c (epilogue_renumber): Remove register.
+       (sparc_print_operand_address): Likewise.
+       (sparc_type_code): Likewise.
+       (set_extends): Likewise.
+
+2020-06-29  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       * optc-save-gen.awk: Add exceptions for arc target.
+
+2020-06-29  Frederik Harwath  <frederik@codesourcery.com>
+
+       * doc/sourcebuild.texi: Describe globbing of the
+       dump file scanning commands "suffix" argument.
+
+2020-06-28  Martin Sebor  <msebor@redhat.com>
+
+       PR c++/86568
+       * calls.c (maybe_warn_rdwr_sizes): Use location of argument if
+       available.
+       * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Same.  Adjust
+       indentation.
+       * tree.c (get_nonnull_args): Consider the this pointer implicitly
+       nonnull.
+       * var-tracking.c (deps_vec): New type.
+       (var_loc_dep_vec): New function.
+       (VAR_LOC_DEP_VEC): Use it.
+
+2020-06-28  Kewen Lin  <linkw@linux.ibm.com>
+
+       * internal-fn.c (direct_mask_load_optab_supported_p): Use
+       convert_optab_supported_p instead of direct_optab_supported_p.
+       (direct_mask_store_optab_supported_p): Likewise.
+
+2020-06-27  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp-analyze.h (vrp_visit_cond_stmt): Use
+       simplify_using_ranges class.
+       * gimple-ssa-evrp.c (class evrp_folder): New simplify_using_ranges
+       field.  Adjust all methods to use new field.
+       * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Use
+       simplify_using_ranges class.
+       * tree-vrp.c (class vrp_folder): New simplify_using_ranges
+       field.  Adjust all methods to use new field.
+       (simplify_stmt_for_jump_threading): Use simplify_using_ranges class.
+       (vrp_prop::vrp_finalize): New vrp_folder argument.
+       (execute_vrp): Pass folder to vrp_finalize.  Use
+       simplify_using_ranges class.
+       Remove cleanup_edges_and_switches call.
+       * vr-values.c (vr_values::op_with_boolean_value_range_p): Change
+       value_range_equiv uses to value_range.
+       (simplify_using_ranges::op_with_boolean_value_range_p): Use
+       simplify_using_ranges class.
+       (check_for_binary_op_overflow): Make static.
+       (vr_values::extract_range_basic): Pass this to
+       check_for_binary_op_overflow.
+       (compare_range_with_value): Change value_range_equiv uses to
+       value_range.
+       (vr_values::vr_values): Initialize simplifier field.
+       Remove uses of to_remove_edges and to_update_switch_stmts.
+       (vr_values::~vr_values): Remove uses of to_remove_edges and
+       to_update_switch_stmts.
+       (vr_values::get_vr_for_comparison): Move to simplify_using_ranges
+       class.
+       (vr_values::compare_name_with_value): Same.
+       (vr_values::compare_names): Same.
+       (vr_values::vrp_evaluate_conditional_warnv_with_ops): Same.
+       (vr_values::vrp_evaluate_conditional): Same.
+       (vr_values::vrp_visit_cond_stmt): Same.
+       (find_case_label_ranges): Change value_range_equiv uses to
+       value_range.
+       (vr_values::extract_range_from_stmt): Use simplify_using_ranges class.
+       (vr_values::simplify_truth_ops_using_ranges): Move to
+       simplify_using_ranges class.
+       (vr_values::simplify_div_or_mod_using_ranges): Same.
+       (vr_values::simplify_min_or_max_using_ranges): Same.
+       (vr_values::simplify_abs_using_ranges): Same.
+       (vr_values::simplify_bit_ops_using_ranges): Same.
+       (test_for_singularity): Change value_range_equiv uses to
+       value_range.
+       (range_fits_type_p): Same.
+       (vr_values::simplify_cond_using_ranges_1): Same.
+       (vr_values::simplify_cond_using_ranges_2): Make extern.
+       (vr_values::fold_cond): Move to simplify_using_ranges class.
+       (vr_values::simplify_switch_using_ranges): Same.
+       (vr_values::cleanup_edges_and_switches): Same.
+       (vr_values::simplify_float_conversion_using_ranges): Same.
+       (vr_values::simplify_internal_call_using_ranges): Same.
+       (vr_values::two_valued_val_range_p): Same.
+       (vr_values::simplify_stmt_using_ranges): Move to...
+       (simplify_using_ranges::simplify): ...here.
+       * vr-values.h (class vr_values): Move all the simplification of
+       statements using ranges methods and code from here...
+       (class simplify_using_ranges): ...to here.
+       (simplify_cond_using_ranges_2): New extern prototype.
+
+2020-06-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-general.h (struct omp_for_data_loop): Add non_rect_referenced
+       member, move outer member.
+       (struct omp_for_data): Add first_nonrect and last_nonrect members.
+       * omp-general.c (omp_extract_for_data): Initialize first_nonrect,
+       last_nonrect and non_rect_referenced members.
+       * omp-expand.c (expand_omp_for_init_counts): Handle non-rectangular
+       loops.
+       (expand_omp_for_init_vars): Add nonrect_bounds parameter.  Handle
+       non-rectangular loops.
+       (extract_omp_for_update_vars): Likewise.
+       (expand_omp_for_generic, expand_omp_for_static_nochunk,
+       expand_omp_for_static_chunk, expand_omp_simd,
+       expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): Adjust
+       expand_omp_for_init_vars and extract_omp_for_update_vars callers.
+       (expand_omp_for): Don't sorry on non-composite worksharing-loop or
+       distribute.
+
+2020-06-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95655
+       * config/i386/gnu-user.h (SUBTARGET_FRAME_POINTER_REQUIRED):
+       Removed.
+       * config/i386/i386.c (ix86_frame_pointer_required): Update
+       comments.
+
+2020-06-26  Yichao Yu  <yyc1992@gmail.com>
+
+       * multiple_target.c (redirect_to_specific_clone): Fix tests
+       to check individual attribute rather than an attribute list.
+
+2020-06-26  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (cpu_is_info) <power10>: New.
+       * doc/extend.texi (PowerPC Built-in Functions): Document power10,
+       arch_3_1 and mma.
+
+2020-06-26  Marek Polacek  <polacek@redhat.com>
+
+       * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
+       * 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>
+
+       * tree-ssa-reassoc.c (dump_range_entry): New function.
+       (debug_range_entry): New debug function.
+       (update_range_test): Invoke dump_range_entry for dumping.
+       (optimize_range_tests_to_bit_test): Merge the entry test in the
+       bit test when possible and lower the profitability threshold.
+
+2020-06-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95897
+       * tree-vectorizer.h (vectorizable_induction): Remove
+       unused gimple_stmt_iterator * parameter.
+       * tree-vect-loop.c (vectorizable_induction): Likewise.
+       (vect_analyze_loop_operations): Adjust.
+       * tree-vect-stmts.c (vect_analyze_stmt): Likewise.
+       (vect_transform_stmt): Likewise.
+       * tree-vect-slp.c (vect_schedule_slp_instance): Adjust
+       for fold-left reductions, clarify existing reduction case.
+
+2020-06-25  Nick Clifton  <nickc@redhat.com>
+
+       * config/m32r/m32r.md (movsicc): Disable pattern.
+
+2020-06-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95839
+       * tree-vect-slp.c (vect_slp_analyze_bb_1): Remove premature
+       check on the number of datarefs.
+
+2020-06-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/rs6000/rs6000-call.c (mma_init_builtins): Cast
+       the insn_data n_operands value to unsigned.
+
+2020-06-25  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_schedule_slp_instance): Always use
+       vector defs to determine insertion place.
+
+2020-06-25  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95874
+       * config/i386/i386.h (PTA_ICELAKE_CLIENT): Remove PTA_CLWB.
+       (PTA_ICELAKE_SERVER): Add PTA_CLWB.
+       (PTA_TIGERLAKE): Add PTA_CLWB.
+
+2020-06-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95866
+       * tree-vect-stmts.c (vectorizable_shift): Reject incompatible
+       vectorized shift operands.  For scalar shifts use lane zero
+       of a vectorized shift operand.
+
+2020-06-25  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/95745
+       PR middle-end/95830
+       * gimple-isel.cc (gimple_expand_vec_cond_exprs): Delete dead
+       SSA_NAMEs used as the first argument of a VEC_COND_EXPR.  Always
+       return 0.
+       * tree-vect-generic.c (expand_vector_condition): Remove dead
+       SSA_NAMEs used as the first argument of a VEC_COND_EXPR.
+
+2020-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
+
+       PR target/94954
+       * config/rs6000/altivec.h (vec_pack_to_short_fp32): Update.
+       * config/rs6000/altivec.md (UNSPEC_CONVERT_4F32_8F16): New unspec.
+       (convert_4f32_8f16): New define_expand
+       * config/rs6000/rs6000-builtin.def (convert_4f32_8f16): New builtin define
+       and overload.
+       * config/rs6000/rs6000-call.c (P9V_BUILTIN_VEC_CONVERT_4F32_8F16): New
+       overloaded builtin entry.
+       * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPHP): New unspec.
+       (vsx_xvcvsphp): New define_insn.
+
+2020-06-24  Roger Sayle  <roger@nextmovesoftware.com>
+           Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * simplify-rtx.c (simplify_unary_operation_1): Simplify rotates by 0.
+
+2020-06-24  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * simplify-rtx.c (simplify_unary_operation_1): Simplify
+       (parity (parity x)) as (parity x), i.e. PARITY is idempotent.
+
+2020-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95866
+       * tree-vect-slp.c (vect_slp_tree_uniform_p): New.
+       (vect_build_slp_tree_2): Properly reset matches[0],
+       ignore uniform constants.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95660
+       * common/config/i386/cpuinfo.h (get_intel_cpu): Remove brand_id.
+       (cpu_indicator_init): Likewise.
+       * config/i386/driver-i386.c (host_detect_local_cpu): Updated.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95774
+       * common/config/i386/cpuinfo.h (get_intel_cpu): Add Cooper Lake
+       detection with AVX512BF16.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95843
+       * common/config/i386/i386-isas.h: New file.  Extracted from
+       gcc/config/i386/i386-builtins.c.
+       (_isa_names_table): Add option.
+       (ISA_NAMES_TABLE_START): New.
+       (ISA_NAMES_TABLE_END): Likewise.
+       (ISA_NAMES_TABLE_ENTRY): Likewise.
+       (isa_names_table): Defined with ISA_NAMES_TABLE_START,
+       ISA_NAMES_TABLE_END and ISA_NAMES_TABLE_ENTRY.  Add more ISAs
+       from enum processor_features.
+       * config/i386/driver-i386.c: Include
+       "common/config/i386/cpuinfo.h" and
+       "common/config/i386/i386-isas.h".
+       (has_feature): New macro.
+       (host_detect_local_cpu): Call cpu_indicator_init to get CPU
+       features.  Use has_feature to detect processor features.  Call
+       Call get_intel_cpu to get the newer Intel CPU name.  Use
+       isa_names_table to generate command-line options.
+       * config/i386/i386-builtins.c: Include
+       "common/config/i386/i386-isas.h".
+       (_arch_names_table): Removed.
+       (isa_names_table): Likewise.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95259
+       * common/config/i386/cpuinfo.h: New file.
+       (__processor_model): Moved from libgcc/config/i386/cpuinfo.h.
+       (__processor_model2): New.
+       (CHECK___builtin_cpu_is): New.  Defined as empty if not defined.
+       (has_cpu_feature): New function.
+       (set_cpu_feature): Likewise.
+       (get_amd_cpu): Moved from libgcc/config/i386/cpuinfo.c.  Use
+       CHECK___builtin_cpu_is.  Return AMD CPU name.
+       (get_intel_cpu): Moved from libgcc/config/i386/cpuinfo.c.  Use
+       Use CHECK___builtin_cpu_is.  Return Intel CPU name.
+       (get_available_features): Moved from libgcc/config/i386/cpuinfo.c.
+       Also check FEATURE_3DNOW, FEATURE_3DNOWP, FEATURE_ADX,
+       FEATURE_ABM, FEATURE_CLDEMOTE, FEATURE_CLFLUSHOPT, FEATURE_CLWB,
+       FEATURE_CLZERO, FEATURE_CMPXCHG16B, FEATURE_CMPXCHG8B,
+       FEATURE_ENQCMD, FEATURE_F16C, FEATURE_FSGSBASE, FEATURE_FXSAVE,
+       FEATURE_HLE, FEATURE_IBT, FEATURE_LAHF_LM, FEATURE_LM,
+       FEATURE_LWP, FEATURE_LZCNT, FEATURE_MOVBE, FEATURE_MOVDIR64B,
+       FEATURE_MOVDIRI, FEATURE_MWAITX, FEATURE_OSXSAVE,
+       FEATURE_PCONFIG, FEATURE_PKU, FEATURE_PREFETCHWT1, FEATURE_PRFCHW,
+       FEATURE_PTWRITE, FEATURE_RDPID, FEATURE_RDRND, FEATURE_RDSEED,
+       FEATURE_RTM, FEATURE_SERIALIZE, FEATURE_SGX, FEATURE_SHA,
+       FEATURE_SHSTK, FEATURE_TBM, FEATURE_TSXLDTRK, FEATURE_VAES,
+       FEATURE_WAITPKG, FEATURE_WBNOINVD, FEATURE_XSAVE, FEATURE_XSAVEC,
+       FEATURE_XSAVEOPT and FEATURE_XSAVES
+       (cpu_indicator_init): Moved from libgcc/config/i386/cpuinfo.c.
+       Also update cpu_model2.
+       * common/config/i386/i386-cpuinfo.h (processor_vendor): Add
+       Add VENDOR_CENTAUR, VENDOR_CYRIX and VENDOR_NSC.
+       (processor_features): Moved from gcc/config/i386/i386-builtins.c.
+       Renamed F_XXX to FEATURE_XXX.  Add FEATURE_3DNOW, FEATURE_3DNOWP,
+       FEATURE_ADX, FEATURE_ABM, FEATURE_CLDEMOTE, FEATURE_CLFLUSHOPT,
+       FEATURE_CLWB, FEATURE_CLZERO, FEATURE_CMPXCHG16B,
+       FEATURE_CMPXCHG8B, FEATURE_ENQCMD, FEATURE_F16C,
+       FEATURE_FSGSBASE, FEATURE_FXSAVE, FEATURE_HLE, FEATURE_IBT,
+       FEATURE_LAHF_LM, FEATURE_LM, FEATURE_LWP, FEATURE_LZCNT,
+       FEATURE_MOVBE, FEATURE_MOVDIR64B, FEATURE_MOVDIRI,
+       FEATURE_MWAITX, FEATURE_OSXSAVE, FEATURE_PCONFIG,
+       FEATURE_PKU, FEATURE_PREFETCHWT1, FEATURE_PRFCHW,
+       FEATURE_PTWRITE, FEATURE_RDPID, FEATURE_RDRND, FEATURE_RDSEED,
+       FEATURE_RTM, FEATURE_SERIALIZE, FEATURE_SGX, FEATURE_SHA,
+       FEATURE_SHSTK, FEATURE_TBM, FEATURE_TSXLDTRK, FEATURE_VAES,
+       FEATURE_WAITPKG, FEATURE_WBNOINVD, FEATURE_XSAVE, FEATURE_XSAVEC,
+       FEATURE_XSAVEOPT, FEATURE_XSAVES and CPU_FEATURE_MAX.
+       (SIZE_OF_CPU_FEATURES): New.
+       * config/i386/i386-builtins.c (processor_features): Removed.
+       (isa_names_table): Replace F_XXX with FEATURE_XXX.
+       (fold_builtin_cpu): Change __cpu_features2 to an array.
+
+2020-06-24  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95842
+       * common/config/i386/i386-common.c (processor_alias_table): Add
+       processor model and priority to each entry.
+       (pta_size): Updated with -6.
+       (num_arch_names): New.
+       * common/config/i386/i386-cpuinfo.h: New file.
+       * config/i386/i386-builtins.c (feature_priority): Removed.
+       (processor_model): Likewise.
+       (_arch_names_table): Likewise.
+       (arch_names_table): Likewise.
+       (_isa_names_table): Replace P_ZERO with P_NONE.
+       (get_builtin_code_for_version): Replace P_ZERO with P_NONE.  Use
+       processor_alias_table.
+       (fold_builtin_cpu): Replace arch_names_table with
+       processor_alias_table.
+       * config/i386/i386.h: Include "common/config/i386/i386-cpuinfo.h".
+       (pta): Add model and priority.
+       (num_arch_names): New.
+
+2020-06-24  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_find_first_scalar_stmt_in_slp):
+       Declare.
+       * tree-vect-data-refs.c (vect_preserves_scalar_order_p):
+       Simplify for new position of vectorized SLP loads.
+       (vect_slp_analyze_node_dependences): Adjust for it.
+       (vect_slp_analyze_and_verify_node_alignment): Compute alignment
+       for the first stmts dataref.
+       * tree-vect-slp.c (vect_find_first_scalar_stmt_in_slp): New.
+       (vect_schedule_slp_instance): Emit loads before the
+       first scalar stmt.
+       * tree-vect-stmts.c (vectorizable_load): Do what the comment
+       says and use vect_find_first_scalar_stmt_in_slp.
+
+2020-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95856
+       * tree-vectorizer.c (vect_stmt_dominates_stmt_p): Honor
+       region marker -1u.
+
+2020-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95810
+       * fold-const.c (fold_cond_expr_with_comparison): Optimize
+       A <= 0 ? A : -A into (type)-absu(A) rather than -abs(A).
+
+2020-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-low.c (lower_omp_for): Fix two pastos.
+
+2020-06-24  Martin Liska  <mliska@suse.cz>
+
+       * optc-save-gen.awk: Compare string options in cl_optimization_compare
+       by strcmp.
+
+2020-06-23  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       * config.gcc: Identify power10 as a 64-bit processor and as valid
+       for --with-cpu and --with-tune.
+
+2020-06-23  David Edelsohn  <dje.gcc@gmail.com>
+
+       * Makefile.in (LANG_MAKEFRAGS): Same.
+       (tmake_file): Use -include.
+       (xmake_file): Same.
+
+2020-06-23  Michael Meissner  <meissner@linux.ibm.com>
+
+       * REVISION: Delete file meant for a private branch.
+
+2020-06-23  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR target/95646
+       * config/arm/arm.c: (cmse_nonsecure_entry_clear_before_return): Use
+       'callee_saved_reg_p' instead of 'calL_used_or_fixed_reg_p'.
+
+2020-06-23  Alexandre Oliva  <oliva@adacore.com>
+
+       * collect-utils.h (dumppfx): New.
+       * collect-utils.c (dumppfx): Likewise.
+       * lto-wrapper.c (run_gcc): Set global dumppfx.
+       (compile_offload_image): Pass a -dumpbase on to mkoffload.
+       * config/nvptx/mkoffload.c (ptx_dumpbase): New.
+       (main): Handle incoming -dumpbase.  Set ptx_dumpbase.  Obey
+       save_temps.
+       (compile_native): Pass -dumpbase et al to compiler.
+       * config/gcn/mkoffload.c (gcn_dumpbase): New.
+       (main): Handle incoming -dumpbase.  Set gcn_dumpbase.  Obey
+       save_temps.  Pass -dumpbase et al to offload target compiler.
+       (compile_native): Pass -dumpbase et al to compiler.
+
+2020-06-23  Michael Meissner  <meissner@linux.ibm.com>
+
+       * REVISION: New file.
+
+2020-06-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/altivec.h: Use _ARCH_PWR10, not _ARCH_PWR_FUTURE.
+       Update comment for ISA 3.1.
+       * config/rs6000/altivec.md: Use TARGET_POWER10, not TARGET_FUTURE.
+       * config/rs6000/driver-rs6000.c (asm_names): Use -mpwr10 for power10
+       on AIX, and -mpower10 elsewhere.
+       * config/rs6000/future.md: Delete.
+       * config/rs6000/linux64.h: Update comments.  Use TARGET_POWER10, not
+       TARGET_FUTURE.
+       * config/rs6000/power10.md: New file.
+       * config/rs6000/ppc-auxv.h: Use PPC_PLATFORM_POWER10, not
+       PPC_PLATFORM_FUTURE.
+       * config/rs6000/rs6000-builtin.def: Update comments.  Use BU_P10V_*
+       names instead of BU_FUTURE_V_* names.  Use RS6000_BTM_P10 instead of
+       RS6000_BTM_FUTURE.  Use P10_BUILTIN_* instead of FUTURE_BUILTIN_*.
+       Use BU_P10_* instead of BU_FUTURE_*.
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+       _ARCH_PWR10 instead of _ARCH_PWR_FUTURE.
+       (altivec_resolve_overloaded_builtin): Use P10_BUILTIN_VEC_XXEVAL, not
+       FUTURE_BUILTIN_VEC_XXEVAL.
+       * config/rs6000/rs6000-call.c: Use P10_BUILTIN_*, not FUTURE_BUILTIN_*.
+       Update compiler messages.
+       * config/rs6000/rs6000-cpus.def: Update comments.  Use ISA_3_1_*, not
+       ISA_FUTURE_*.  Use OPTION_MASK_POWER10, not OPTION_MASK_FUTURE.
+       * config/rs6000/rs6000-opts.h: Use PROCESSOR_POWER10, not
+       PROCESSOR_FUTURE.
+       * config/rs6000/rs6000-string.c: Ditto.
+       * config/rs6000/rs6000-tables.opt (rs6000_cpu_opt_value): Use "power10"
+       instead of "future", reorder it to right after "power9".
+       * config/rs6000/rs6000.c: Update comments.  Use OPTION_MASK_POWER10,
+       not OPTION_MASK_FUTURE.  Use TARGET_POWER10, not TARGET_FUTURE.  Use
+       RS6000_BTM_P10, not RS6000_BTM_FUTURE.  Update compiler messages.
+       Use PROCESSOR_POWER10, not PROCESSOR_FUTURE.  Use ISA_3_1_MASKS_SERVER,
+       not ISA_FUTURE_MASKS_SERVER.
+       (rs6000_opt_masks): Use "power10" instead of "future".
+       (rs6000_builtin_mask_names): Ditto.
+       (rs6000_disable_incompatible_switches): Ditto.
+       * config/rs6000/rs6000.h: Use -mpower10, not -mfuture.  Use
+       -mcpu=power10, not -mcpu=future.  Use MASK_POWER10, not MASK_FUTURE.
+       Use OPTION_MASK_POWER10, not OPTION_MASK_FUTURE.  Use RS6000_BTM_P10,
+       not RS6000_BTM_FUTURE.
+       * config/rs6000/rs6000.md: Use "power10", not "future".  Use
+       TARGET_POWER10, not TARGET_FUTURE.  Include "power10.md", not
+       "future.md".
+       * config/rs6000/rs6000.opt (mfuture): Delete.
+       (mpower10): New.
+       * config/rs6000/t-rs6000: Use "power10.md", not "future.md".
+       * config/rs6000/vsx.md: Use TARGET_POWER10, not TARGET_FUTURE.
+
+2020-06-22  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * coretypes.h (first_type): Delete.
+       * recog.h (insn_gen_fn::operator()): Go back to using a decltype.
+
+2020-06-22  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * doc/sourcebuild.texi (arm_v8_1m_mve_fp_ok): Add item.
+       (arm_mve_hw): Likewise.
+
+2020-06-22  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/95791
+       * config/i386/i386.c (ix86_dirflag_mode_needed): Skip
+       EXT_REX_SSE_REG_P.
+
+2020-06-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95770
+       * tree-vect-slp.c (vect_schedule_slp_instance): Also consider
+       external defs.
+
+2020-06-22  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_function_arg): Disallow vector arguments.
+       (gcn_return_in_memory): Return vectors in memory.
+
+2020-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-general.c (omp_extract_for_data): For triangular loops with
+       all loop invariant expressions constant where the innermost loop is
+       executed at least once compute number of iterations at compile time.
+
+2020-06-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.h (ASM_SPEC): Remove riscv_expand_arch call.
+       (DRIVER_SELF_SPECS): New.
+
+2020-06-22  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv-builtins.c (RISCV_FTYPE_NAME0): New.
+       (RISCV_FTYPE_ATYPES0): New.
+       (riscv_builtins): Using RISCV_USI_FTYPE for frflags.
+       * config/riscv/riscv-ftypes.def: Remove VOID argument.
+
+2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config.gcc: Use t-aix64, biarch64 and default64 for cpu_is_64bit.
+       * config/rs6000/aix72.h (ASM_SPEC): Remove aix64 option.
+       (ASM_SPEC32): New.
+       (ASM_SPEC64): New.
+       (ASM_CPU_SPEC): Remove vsx and altivec options.
+       (CPP_SPEC_COMMON): Rename from CPP_SPEC.
+       (CPP_SPEC32): New.
+       (CPP_SPEC64): New.
+       (CPLUSPLUS_CPP_SPEC): Rename to CPLUSPLUS_CPP_SPEC_COMMON..
+       (TARGET_DEFAULT): Only define if not BIARCH.
+       (LIB_SPEC_COMMON): Rename from LIB_SPEC.
+       (LIB_SPEC32): New.
+       (LIB_SPEC64): New.
+       (LINK_SPEC_COMMON): Rename from LINK_SPEC.
+       (LINK_SPEC32): New.
+       (LINK_SPEC64): New.
+       (STARTFILE_SPEC): Add 64 bit version of crtcxa and crtdbase.
+       (ASM_SPEC): Define 32 and 64 bit alternatives using DEFAULT_ARCH64_P.
+       (CPP_SPEC): Same.
+       (CPLUSPLUS_CPP_SPEC): Same.
+       (LIB_SPEC): Same.
+       (LINK_SPEC): Same.
+       (SUBTARGET_EXTRA_SPECS): Add new 32/64 specs.
+       * config/rs6000/defaultaix64.h: New file.
+       * config/rs6000/t-aix64: New file.
+
+2020-06-21  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/predicates.md (mma_assemble_input_operand): New.
+       * config/rs6000/rs6000-builtin.def (BU_MMA_1, BU_MMA_V2, BU_MMA_3,
+       BU_MMA_5, BU_MMA_6, BU_VSX_1): Add support macros for defining MMA
+       built-in functions.
+       (ASSEMBLE_ACC, ASSEMBLE_PAIR, DISASSEMBLE_ACC, DISASSEMBLE_PAIR,
+       PMXVBF16GER2, PMXVBF16GER2NN, PMXVBF16GER2NP, PMXVBF16GER2PN,
+       PMXVBF16GER2PP, PMXVF16GER2, PMXVF16GER2NN, PMXVF16GER2NP,
+       PMXVF16GER2PN, PMXVF16GER2PP, PMXVF32GER, PMXVF32GERNN,
+       PMXVF32GERNP, PMXVF32GERPN, PMXVF32GERPP, PMXVF64GER, PMXVF64GERNN,
+       PMXVF64GERNP, PMXVF64GERPN, PMXVF64GERPP, PMXVI16GER2, PMXVI16GER2PP,
+       PMXVI16GER2S, PMXVI16GER2SPP, PMXVI4GER8, PMXVI4GER8PP, PMXVI8GER4,
+       PMXVI8GER4PP, PMXVI8GER4SPP, XVBF16GER2, XVBF16GER2NN, XVBF16GER2NP,
+       XVBF16GER2PN, XVBF16GER2PP, XVCVBF16SP, XVCVSPBF16, XVF16GER2,
+       XVF16GER2NN, XVF16GER2NP, XVF16GER2PN, XVF16GER2PP, XVF32GER,
+       XVF32GERNN, XVF32GERNP, XVF32GERPN, XVF32GERPP, XVF64GER, XVF64GERNN,
+       XVF64GERNP, XVF64GERPN, XVF64GERPP, XVI16GER2, XVI16GER2PP, XVI16GER2S,
+       XVI16GER2SPP, XVI4GER8, XVI4GER8PP, XVI8GER4, XVI8GER4PP, XVI8GER4SPP,
+       XXMFACC, XXMTACC, XXSETACCZ): Add MMA built-ins.
+       * config/rs6000/rs6000.c (rs6000_emit_move): Use CONST_INT_P.
+       Allow zero constants.
+       (print_operand) <case 'A'>: New output modifier.
+       (rs6000_split_multireg_move): Add support for inserting accumulator
+       priming and depriming instructions.  Add support for splitting an
+       assemble accumulator pattern.
+       * config/rs6000/rs6000-call.c (mma_init_builtins, mma_expand_builtin,
+       rs6000_gimple_fold_mma_builtin): New functions.
+       (RS6000_BUILTIN_M): New macro.
+       (def_builtin): Handle RS6000_BTC_QUAD and RS6000_BTC_PAIR attributes.
+       (bdesc_mma): Add new MMA built-in support.
+       (htm_expand_builtin): Use RS6000_BTC_OPND_MASK.
+       (rs6000_invalid_builtin): Add handling of RS6000_BTM_FUTURE and
+       RS6000_BTM_MMA.
+       (rs6000_builtin_valid_without_lhs): Handle RS6000_BTC_VOID attribute.
+       (rs6000_gimple_fold_builtin): Call rs6000_builtin_is_supported_p
+       and rs6000_gimple_fold_mma_builtin.
+       (rs6000_expand_builtin): Call mma_expand_builtin.
+       Use RS6000_BTC_OPND_MASK.
+       (rs6000_init_builtins): Adjust comment.  Call mma_init_builtins.
+       (htm_init_builtins): Use RS6000_BTC_OPND_MASK.
+       (builtin_function_type): Handle VSX_BUILTIN_XVCVSPBF16 and
+       VSX_BUILTIN_XVCVBF16SP.
+       * config/rs6000/rs6000.h (RS6000_BTC_QUINARY, RS6000_BTC_SENARY,
+       RS6000_BTC_OPND_MASK, RS6000_BTC_QUAD, RS6000_BTC_PAIR,
+       RS6000_BTC_QUADPAIR, RS6000_BTC_GIMPLE): New defines.
+       (RS6000_BTC_PREDICATE, RS6000_BTC_ABS, RS6000_BTC_DST,
+       RS6000_BTC_TYPE_MASK, RS6000_BTC_ATTR_MASK): Adjust values.
+       * config/rs6000/mma.md (MAX_MMA_OPERANDS): New define_constant.
+       (UNSPEC_MMA_ASSEMBLE_ACC, UNSPEC_MMA_PMXVBF16GER2,
+       UNSPEC_MMA_PMXVBF16GER2NN, UNSPEC_MMA_PMXVBF16GER2NP,
+       UNSPEC_MMA_PMXVBF16GER2PN, UNSPEC_MMA_PMXVBF16GER2PP,
+       UNSPEC_MMA_PMXVF16GER2, UNSPEC_MMA_PMXVF16GER2NN,
+       UNSPEC_MMA_PMXVF16GER2NP, UNSPEC_MMA_PMXVF16GER2PN,
+       UNSPEC_MMA_PMXVF16GER2PP, UNSPEC_MMA_PMXVF32GER,
+       UNSPEC_MMA_PMXVF32GERNN, UNSPEC_MMA_PMXVF32GERNP,
+       UNSPEC_MMA_PMXVF32GERPN, UNSPEC_MMA_PMXVF32GERPP,
+       UNSPEC_MMA_PMXVF64GER, UNSPEC_MMA_PMXVF64GERNN,
+       UNSPEC_MMA_PMXVF64GERNP, UNSPEC_MMA_PMXVF64GERPN,
+       UNSPEC_MMA_PMXVF64GERPP, UNSPEC_MMA_PMXVI16GER2,
+       UNSPEC_MMA_PMXVI16GER2PP, UNSPEC_MMA_PMXVI16GER2S,
+       UNSPEC_MMA_PMXVI16GER2SPP, UNSPEC_MMA_PMXVI4GER8,
+       UNSPEC_MMA_PMXVI4GER8PP, UNSPEC_MMA_PMXVI8GER4,
+       UNSPEC_MMA_PMXVI8GER4PP, UNSPEC_MMA_PMXVI8GER4SPP,
+       UNSPEC_MMA_XVBF16GER2, UNSPEC_MMA_XVBF16GER2NN,
+       UNSPEC_MMA_XVBF16GER2NP, UNSPEC_MMA_XVBF16GER2PN,
+       UNSPEC_MMA_XVBF16GER2PP, UNSPEC_MMA_XVF16GER2, UNSPEC_MMA_XVF16GER2NN,
+       UNSPEC_MMA_XVF16GER2NP, UNSPEC_MMA_XVF16GER2PN, UNSPEC_MMA_XVF16GER2PP,
+       UNSPEC_MMA_XVF32GER, UNSPEC_MMA_XVF32GERNN, UNSPEC_MMA_XVF32GERNP,
+       UNSPEC_MMA_XVF32GERPN, UNSPEC_MMA_XVF32GERPP, UNSPEC_MMA_XVF64GER,
+       UNSPEC_MMA_XVF64GERNN, UNSPEC_MMA_XVF64GERNP, UNSPEC_MMA_XVF64GERPN,
+       UNSPEC_MMA_XVF64GERPP, UNSPEC_MMA_XVI16GER2, UNSPEC_MMA_XVI16GER2PP,
+       UNSPEC_MMA_XVI16GER2S, UNSPEC_MMA_XVI16GER2SPP, UNSPEC_MMA_XVI4GER8,
+       UNSPEC_MMA_XVI4GER8PP, UNSPEC_MMA_XVI8GER4, UNSPEC_MMA_XVI8GER4PP,
+       UNSPEC_MMA_XVI8GER4SPP, UNSPEC_MMA_XXMFACC, UNSPEC_MMA_XXMTACC): New.
+       (MMA_ACC, MMA_VV, MMA_AVV, MMA_PV, MMA_APV, MMA_VVI4I4I8,
+       MMA_AVVI4I4I8, MMA_VVI4I4I2, MMA_AVVI4I4I2, MMA_VVI4I4,
+       MMA_AVVI4I4, MMA_PVI4I2, MMA_APVI4I2, MMA_VVI4I4I4,
+       MMA_AVVI4I4I4): New define_int_iterator.
+       (acc, vv, avv, pv, apv, vvi4i4i8, avvi4i4i8, vvi4i4i2,
+       avvi4i4i2, vvi4i4, avvi4i4, pvi4i2, apvi4i2, vvi4i4i4,
+       avvi4i4i4): New define_int_attr.
+       (*movpxi): Add zero constant alternative.
+       (mma_assemble_pair, mma_assemble_acc): New define_expand.
+       (*mma_assemble_acc): New define_insn_and_split.
+       (mma_<acc>, mma_xxsetaccz, mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
+       mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
+       mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
+       mma_<vvi4i4i4>, mma_<avvi4i4i4>): New define_insn.
+       * config/rs6000/rs6000.md (define_attr "type"): New type mma.
+       * config/rs6000/vsx.md (UNSPEC_VSX_XVCVBF16SP): New.
+       (UNSPEC_VSX_XVCVSPBF16): Likewise.
+       (XVCVBF16): New define_int_iterator.
+       (xvcvbf16): New define_int_attr.
+       (vsx_<xvcvbf16>): New define_insn.
+       * doc/extend.texi: Document the mma built-ins.
+
+2020-06-21  Peter Bergner  <bergner@linux.ibm.com>
+           Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/mma.md: New file.
+       * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
+       __MMA__ for mma.
+       * config/rs6000/rs6000-call.c (rs6000_init_builtins): Add support
+       for __vector_pair and __vector_quad types.
+       * config/rs6000/rs6000-cpus.def (OTHER_FUTURE_MASKS): Add
+       OPTION_MASK_MMA.
+       (POWERPC_MASKS): Likewise.
+       * config/rs6000/rs6000-modes.def (OI, XI): New integer modes.
+       (POI, PXI): New partial integer modes.
+       * config/rs6000/rs6000.c (TARGET_INVALID_CONVERSION): Define.
+       (rs6000_hard_regno_nregs_internal): Use VECTOR_ALIGNMENT_P.
+       (rs6000_hard_regno_mode_ok_uncached): Likewise.
+       Add support for POImode being allowed in VSX registers and PXImode
+       being allowed in FP registers.
+       (rs6000_modes_tieable_p): Adjust comment.
+       Add support for POImode and PXImode.
+       (rs6000_debug_reg_global) <print_tieable_modes>: Add OImode, POImode
+       XImode, PXImode, V2SImode, V2SFmode and CCFPmode..
+       (rs6000_setup_reg_addr_masks): Use VECTOR_ALIGNMENT_P.
+       Set up appropriate addr_masks for vector pair and vector quad addresses.
+       (rs6000_init_hard_regno_mode_ok): Add support for vector pair and
+       vector quad registers.  Setup reload handlers for POImode and PXImode.
+       (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_MMA.
+       (rs6000_option_override_internal): Error if -mmma is specified
+       without -mcpu=future.
+       (rs6000_slow_unaligned_access): Use VECTOR_ALIGNMENT_P.
+       (quad_address_p): Change size test to less than 16 bytes.
+       (reg_offset_addressing_ok_p): Add support for ISA 3.1 vector pair
+       and vector quad instructions.
+       (avoiding_indexed_address_p): Likewise.
+       (rs6000_emit_move): Disallow POImode and PXImode moves involving
+       constants.
+       (rs6000_preferred_reload_class): Prefer VSX registers for POImode
+       and FP registers for PXImode.
+       (rs6000_split_multireg_move): Support splitting POImode and PXImode
+       move instructions.
+       (rs6000_mangle_type): Adjust comment.  Add support for mangling
+       __vector_pair and __vector_quad types.
+       (rs6000_opt_masks): Add entry for mma.
+       (rs6000_builtin_mask_names): Add RS6000_BTM_MMA and RS6000_BTM_FUTURE.
+       (rs6000_function_value): Use VECTOR_ALIGNMENT_P.
+       (address_to_insn_form): Likewise.
+       (reg_to_non_prefixed): Likewise.
+       (rs6000_invalid_conversion): New function.
+       * config/rs6000/rs6000.h (MASK_MMA): Define.
+       (BIGGEST_ALIGNMENT): Set to 512 if MMA support is enabled.
+       (VECTOR_ALIGNMENT_P): New helper macro.
+       (ALTIVEC_VECTOR_MODE): Use VECTOR_ALIGNMENT_P.
+       (RS6000_BTM_MMA): Define.
+       (RS6000_BTM_COMMON): Add RS6000_BTM_MMA and RS6000_BTM_FUTURE.
+       (rs6000_builtin_type_index): Add RS6000_BTI_vector_pair and
+       RS6000_BTI_vector_quad.
+       (vector_pair_type_node): New.
+       (vector_quad_type_node): New.
+       * config/rs6000/rs6000.md: Include mma.md.
+       (define_mode_iterator RELOAD): Add POI and PXI.
+       * config/rs6000/t-rs6000 (MD_INCLUDES): Add mma.md.
+       * config/rs6000/rs6000.opt (-mmma): New.
+       * doc/invoke.texi: Document -mmma.
+
+2020-06-20  Bin Cheng  <bin.cheng@linux.alibaba.com>
+
+       PR tree-optimization/95638
+       * tree-loop-distribution.c (pg_edge_callback_data): New field.
+       (loop_distribution::break_alias_scc_partitions): Record and restore
+       postorder information.  Fix memory leak.
+
+2020-06-19  Tobias Burnus  <tobias@codesourcery.com>
+
+       * config/gcn/gcn.c (gcn_related_vector_mode): Add ARG_UNUSED.
+       (output_file_start): Use const 'char *'.
+
+2020-06-19  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
+
+       PR tree-optimization/94880
+       * match.pd (A | B) - B -> (A & ~B): New simplification.
+
+2020-06-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_slp_scalar_cost): Adjust
+       for lane permutations.
+
+2020-06-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95761
+       * tree-vect-slp.c (vect_schedule_slp_instance): Walk all
+       vectorized stmts for finding the last one.
+
+2020-06-18  Felix Yang  <felix.yang@huawei.com>
+
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Call
+       vect_relevant_for_alignment_p to filter out data references in
+       the loop whose alignment is irrelevant when trying loop peeling
+       to force alignment.
+
+2020-06-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*cmpqi_ext<mode>_1): Use SWI248 mode
+       iterator instead of SImode for ZERO_EXTRACT RTX.  Use SWI248
+       mode iterator for the first operand of ZERO_EXTRACT RTX.
+       Change ext_register_operand predicate to register_operand.
+       Rename from *cmpqi_ext_1.
+       (*cmpqi_ext<mode>_2): Ditto.  Rename from *cmpqi_ext_2.
+       (*cmpqi_ext<mode>_3): Ditto.  Rename from *cmpqi_ext_3.
+       (*cmpqi_ext<mode>_4): Ditto.  Rename from *cmpqi_ext_4.
+       (cmpi_ext_3): Use HImode instead of SImode for ZERO_EXTRACT RTX.
+       (*extv<mode>): Use SWI24 mode iterator for the first operand
+       of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.
+       (*extzv<mode>): Use SWI248 mode iterator for the first operand
+       of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.
+       (*extzvqi): Use SWI248 mode iterator instead of SImode for
+       ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first operand
+       of ZERO_EXTRACT RTX.  Change ext_register_operand predicate to
+       register_operand.
+       (*extzvqi_mem_rex64 and corresponding peephole2):  Use SWI248 mode
+       iterator instead of SImode for ZERO_EXTRACT RTX.  Use SWI248
+       mode iterator for the first operand of ZERO_EXTRACT RTX.
+       Change ext_register_operand predicate to register_operand.
+       (@insv<mode>_1): Use SWI248 mode iterator for the first operand
+       of ZERO_EXTRACT RTX.  Change ext_register_operand predicate to
+       register_operand.
+       (*insvqi_1): Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the
+       first operand of ZERO_EXTRACT RTX.  Change ext_register_operand
+       predicate to register_operand.
+       (*insvqi_2): Ditto.
+       (*insvqi_3): Ditto.
+       (*insvqi_1_mem_rex64 and corresponding peephole2):  Use SWI248 mode
+       iterator instead of SImode for ZERO_EXTRACT RTX.  Use SWI248
+       mode iterator for the first operand of ZERO_EXTRACT RTX.
+       Change ext_register_operand predicate to register_operand.
+       (addqi_ext_1): New expander.
+       (*addqi_ext<mode>_1): Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first
+       operand of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.  Rename from *addqi_ext_1.
+       (*addqi_ext<mode>_2): Ditto. Rename from *addqi_ext_2.
+       (divmodqi4): Use HImode instead of SImode for ZERO_EXTRACT RTX.
+       (udivmodqi4): Ditto.
+       (testqi_ext_1): Use HImode instead of SImode for ZERO_EXTRACT RTX.
+       (*testqi_ext<mode>_1): Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first
+       operand of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.  Rename from *testqi_ext_1.
+       (*testqi_ext<mode>_2): Ditto.  Rename from *testqi_ext_2.
+       (andqi_ext_1): New expander.
+       (*andqi_ext<mode>_1): Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first
+       operand of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.  Rename from andqi_ext_1.
+       (*andqi_ext<mode>_1_cc): Ditto.  Rename from *andqi_ext_1_cc.
+       (*andqi_ext<mode>_2): Ditto.  Rename from *andqi_ext_2.
+       (*<code>qi_ext<mode>_1): Ditto.  Rename from *<code>qi_ext_1.
+       (*<code>qi_ext<mode>_2): Ditto.  Rename from *<code>qi_ext_2.
+       (xorqi_ext_1_cc): Use HImode instead of SImode for ZERO_EXTRACT RTX.
+       (*xorqi_ext<mode>_1_cc):  Use SWI248 mode iterator instead of SImode
+       for ZERO_EXTRACT RTX.  Use SWI248 mode iterator for the first
+       operand of ZERO_EXTRACT RTX.  Change ext_register_operand predicate
+       to register_operand.  Rename from *xorqi_ext_1_cc.
+       * config/i386/i386-expand.c (ix86_split_idivmod): Emit ZERO_EXTRACT
+       in mode, matching its first operand.
+       (promote_duplicated_reg): Update for renamed insv<mode>_1.
+       * config/i386/predicates.md (ext_register_operand): Remove predicate.
+
+2020-06-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95667
+       PR middle-end/92814
+       * builtins.c (compute_objsize): Remove call to
+       compute_builtin_object_size and instead compute conservative sizes
+       directly here.
+
+2020-06-18  Martin Liska  <mliska@suse.cz>
+
+       * coretypes.h (struct iterator_range): New type.
+       * tree-vect-patterns.c (vect_determine_precisions): Use
+       range-based iterator.
+       (vect_pattern_recog): Likewise.
+       * tree-vect-slp.c (_bb_vec_info):  Likewise.
+       (_bb_vec_info::~_bb_vec_info): Likewise.
+       (vect_slp_check_for_constructors): Likewise.
+       * tree-vectorizer.h:Add new iterators
+       and functions that use it.
+
+2020-06-18  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000-call.c (fold_build_vec_cmp):
+       Since 502d63b6d6141597bb18fd23c87736a1b384cf8f, first argument
+       of a VEC_COND_EXPR cannot be tcc_comparison and so that
+       a SSA_NAME needs to be created before we use it for the first
+       argument of the VEC_COND_EXPR.
+       (fold_compare_helper): Pass gsi to fold_build_vec_cmp.
+
+2020-06-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95739
+       * internal-fn.c (expand_vect_cond_optab_fn): Move the result
+       to the target if necessary.
+       (expand_vect_cond_mask_optab_fn): Likewise.
+
+2020-06-18  Martin Liska  <mliska@suse.cz>
+
+       * tree-ssa-reassoc.c (ovce_extract_ops): Replace *vcond with
+       vcond as we check for NULL pointer.
+
+2020-06-18  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gimple-pretty-print.c (dump_binary_rhs): Use braces to
+       silence empty-body warning with gcc_fallthrough.
+
+2020-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95699
+       * tree-ssa-phiopt.c (minmax_replacement): Treat (signed int)x < 0
+       as x > INT_MAX and (signed int)x >= 0 as x <= INT_MAX.  Move variable
+       declarations to the statements that set them where possible.
+
+2020-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95713
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Don't allow
+       scalar mode halfvectype other than vector boolean for
+       VEC_PACK_TRUNC_EXPR.
+
+2020-06-18  Richard Biener  <rguenther@suse.de>
+
+       * varasm.c (assemble_variable): Make sure to not
+       defer output when outputting addressed constants.
+       (output_constant_def_contents): Likewise.
+       (add_constant_to_table): Take and pass on whether to
+       defer output.
+       (output_addressed_constants): Likewise.
+       (output_constant_def): Pass on whether to defer output
+       to add_constant_to_table.
+       (tree_output_constant_def): Defer output of constants.
+
+2020-06-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::two_operators): Remove.
+       (_slp_tree::lane_permutation): New member.
+       (_slp_tree::code): Likewise.
+       (SLP_TREE_TWO_OPERATORS): Remove.
+       (SLP_TREE_LANE_PERMUTATION): New.
+       (SLP_TREE_CODE): Likewise.
+       (vect_stmt_dominates_stmt_p): Declare.
+       * tree-vectorizer.c (vect_stmt_dominates_stmt_p): New function.
+       * tree-vect-stmts.c (vect_model_simple_cost): Remove
+       SLP_TREE_TWO_OPERATORS handling.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Amend.
+       (_slp_tree::~_slp_tree): Likewise.
+       (vect_two_operations_perm_ok_p): Remove.
+       (vect_build_slp_tree_1): Remove verification of two-operator
+       permutation here.
+       (vect_build_slp_tree_2): When we have two different operators
+       build two computation SLP nodes and a blend.
+       (vect_print_slp_tree): Print the lane permutation if it exists.
+       (slp_copy_subtree): Copy it.
+       (vect_slp_rearrange_stmts): Re-arrange it.
+       (vect_slp_analyze_node_operations_1): Handle SLP_TREE_CODE
+       VEC_PERM_EXPR explicitely.
+       (vect_schedule_slp_instance): Likewise.  Remove old
+       SLP_TREE_TWO_OPERATORS code.
+       (vectorizable_slp_permutation): New function.
+
+2020-06-18  Martin Liska  <mliska@suse.cz>
+
+       * tree-vect-generic.c (expand_vector_condition): Check
+       for gassign before inspecting RHS.
+
+2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gimplify.c (omp_notice_threadprivate_variable)
+       (omp_default_clause, omp_notice_variable): 'inform' after 'error'
+       diagnostic.  Adjust all users.
+
+2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * hsa-gen.c (gen_hsa_insns_for_call): Move 'function_decl ==
+       NULL_TREE' check earlier.
+
+2020-06-17  Forrest Timour  <forrest.timour@gmail.com>
+
+       * doc/extend.texi (attribute access): Fix a typo.
+
+2020-06-17  Bin Cheng  <bin.cheng@linux.alibaba.com>
+           Kaipeng Zhou  <zhoukaipeng3@huawei.com>
+
+       PR tree-optimization/95199
+       * tree-vect-stmts.c: Eliminate common stmts for bump and offset in
+       strided load/store operations and remove redundant code.
+
+2020-06-17  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * coretypes.h (first_type): New alias template.
+       * recog.h (insn_gen_fn::operator()): Use it instead of a decltype.
+       Remove spurious “...” and split the function type out into a typedef.
+
+2020-06-17  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_fix_long_loop_prediction): Exit early
+       for PARALLELs.
+
+2020-06-17  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_build_slp_tree_1): Set the passed
+       in *vectype parameter.
+       (vect_build_slp_tree_2): Set SLP_TREE_VECTYPE from what
+       vect_build_slp_tree_1 computed.
+       (vect_analyze_slp_instance): Set SLP_TREE_VECTYPE.
+       (vect_slp_analyze_node_operations_1): Use the SLP node vector type.
+       (vect_schedule_slp_instance): Likewise.
+       * tree-vect-stmts.c (vect_is_simple_use): Take the vector type
+       from SLP_TREE_VECTYPE.
+
+2020-06-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95717
+       * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
+       Move BB SSA updating before exit/latch PHI current def copying.
+
+2020-06-17  Martin Liska  <mliska@suse.cz>
+
+       * Makefile.in: Add new file.
+       * expr.c (expand_expr_real_2): Add gcc_unreachable as we should
+       not meet this condition.
+       (do_store_flag): Likewise.
+       * gimplify.c (gimplify_expr): Gimplify first argument of
+       VEC_COND_EXPR to be a SSA name.
+       * internal-fn.c (vec_cond_mask_direct): New.
+       (vec_cond_direct): Likewise.
+       (vec_condu_direct): Likewise.
+       (vec_condeq_direct): Likewise.
+       (expand_vect_cond_optab_fn):  New.
+       (expand_vec_cond_optab_fn): Likewise.
+       (expand_vec_condu_optab_fn): Likewise.
+       (expand_vec_condeq_optab_fn): Likewise.
+       (expand_vect_cond_mask_optab_fn): Likewise.
+       (expand_vec_cond_mask_optab_fn): Likewise.
+       (direct_vec_cond_mask_optab_supported_p): Likewise.
+       (direct_vec_cond_optab_supported_p): Likewise.
+       (direct_vec_condu_optab_supported_p): Likewise.
+       (direct_vec_condeq_optab_supported_p): Likewise.
+       * internal-fn.def (VCOND): New OPTAB.
+       (VCONDU): Likewise.
+       (VCONDEQ): Likewise.
+       (VCOND_MASK): Likewise.
+       * optabs.c (get_rtx_code): Make it global.
+       (expand_vec_cond_mask_expr): Removed.
+       (expand_vec_cond_expr): Removed.
+       * optabs.h (expand_vec_cond_expr): Likewise.
+       (vector_compare_rtx): Make it global.
+       * passes.def: Add new pass_gimple_isel pass.
+       * tree-cfg.c (verify_gimple_assign_ternary): Add check
+       for VEC_COND_EXPR about first argument.
+       * tree-pass.h (make_pass_gimple_isel): New.
+       * tree-ssa-forwprop.c (pass_forwprop::execute): Prevent
+       propagation of the first argument of a VEC_COND_EXPR.
+       * tree-ssa-reassoc.c (ovce_extract_ops): Support SSA_NAME as
+       first argument of a VEC_COND_EXPR.
+       (optimize_vec_cond_expr): Likewise.
+       * tree-vect-generic.c (expand_vector_divmod): Make SSA_NAME
+       for a first argument of created VEC_COND_EXPR.
+       (expand_vector_condition): Fix coding style.
+       * tree-vect-stmts.c (vectorizable_condition): Gimplify
+       first argument.
+       * gimple-isel.cc: New file.
+
+2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-hsa.h (TEXT_SECTION_ASM_OP): Use ".text".
+       (BSS_SECTION_ASM_OP): Use ".bss".
+       (ASM_SPEC): Remove "-mattr=-code-object-v3".
+       (LINK_SPEC): Add "--export-dynamic".
+       * config/gcn/gcn-opts.h (processor_type): Replace PROCESSOR_VEGA with
+       PROCESSOR_VEGA10 and PROCESSOR_VEGA20.
+       * config/gcn/gcn-run.c (HSA_RUNTIME_LIB): Use ".so.1" variant.
+       (load_image): Remove obsolete relocation handling.
+       Add ".kd" suffix to the symbol names.
+       * config/gcn/gcn.c (MAX_NORMAL_SGPR_COUNT): Set to 62.
+       (gcn_option_override): Update gcn_isa test.
+       (gcn_kernel_arg_types): Update all the assembler directives.
+       Remove the obsolete options.
+       (gcn_conditional_register_usage): Update MAX_NORMAL_SGPR_COUNT usage.
+       (gcn_omp_device_kind_arch_isa): Handle PROCESSOR_VEGA10 and
+       PROCESSOR_VEGA20.
+       (output_file_start): Rework assembler file header.
+       (gcn_hsa_declare_function_name): Rework kernel metadata.
+       * config/gcn/gcn.h (GCN_KERNEL_ARG_TYPES): Set to 16.
+       * config/gcn/gcn.opt (PROCESSOR_VEGA): Remove enum.
+       (PROCESSOR_VEGA10): New enum value.
+       (PROCESSOR_VEGA20): New enum value.
+
+2020-06-17  Martin Liska  <mliska@suse.cz>
+
+       * gcov-dump.c (print_version): Collapse lisence header to 2 lines
+       in --version.
+       * gcov-tool.c (print_version): Likewise.
+       * gcov.c (print_version): Likewise.
+
+2020-06-17  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/95524
+       * config/i386/i386-expand.c
+       (ix86_expand_vec_shift_qihi_constant): New function.
+       * config/i386/i386-protos.h
+       (ix86_expand_vec_shift_qihi_constant): Declare.
+       * config/i386/sse.md (<shift_insn><mode>3): Optimize shift
+       V*QImode by constant.
+
+2020-06-16  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR tree-optimization/95649
+       * tree-ssa-propagate.c (propagate_into_phi_args): Do not propagate unless
+       value is a constant.
+
+2020-06-16  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config.in: Regenerate.
+       * config/s390/s390.c (print_operand): Emit vector alignment hints
+       for target z13, if AS accepts them.  For other targets the logic
+       stays the same.
+       * config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define
+       macro.
+       * configure: Regenerate.
+       * configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13.
+
+2020-06-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Correct the intrinsic
+       arguments.
+       (__arm_vaddq_m_n_s32): Likewise.
+       (__arm_vaddq_m_n_s16): Likewise.
+       (__arm_vaddq_m_n_u8): Likewise.
+       (__arm_vaddq_m_n_u32): Likewise.
+       (__arm_vaddq_m_n_u16): Likewise.
+       (__arm_vaddq_m): Modify polymorphic variant.
+
+2020-06-16  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/mve.md (mve_uqrshll_sat<supf>_di): Correct the predicate
+       and constraint of all the operands.
+       (mve_sqrshrl_sat<supf>_di): Likewise.
+       (mve_uqrshl_si): Likewise.
+       (mve_sqrshr_si): Likewise.
+       (mve_uqshll_di): Likewise.
+       (mve_urshrl_di): Likewise.
+       (mve_uqshl_si): Likewise.
+       (mve_urshr_si): Likewise.
+       (mve_sqshl_si): Likewise.
+       (mve_srshr_si): Likewise.
+       (mve_srshrl_di): Likewise.
+       (mve_sqshll_di): Likewise.
+       * config/arm/predicates.md (arm_low_register_operand): Define.
+
+2020-06-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (OMP_FOR_NON_RECTANGULAR): Define.
+       * gimplify.c (gimplify_omp_for): Diagnose schedule, ordered
+       or dist_schedule clause on non-rectangular loops.  Handle
+       gimplification of non-rectangular lb/b expressions.  When changing
+       iteration variable, adjust also non-rectangular lb/b expressions
+       referencing that.
+       * omp-general.h (struct omp_for_data_loop): Add m1, m2 and outer
+       members.
+       (struct omp_for_data): Add non_rect member.
+       * omp-general.c (omp_extract_for_data): Handle non-rectangular
+       loops.  Fill in non_rect, m1, m2 and outer.
+       * omp-low.c (lower_omp_for): Handle non-rectangular lb/b expressions.
+       * omp-expand.c (expand_omp_for): Emit sorry_at for unsupported
+       non-rectangular loop cases and assert for cases that can't be
+       non-rectangular.
+       * tree-pretty-print.c (dump_mem_ref): Formatting fix.
+       (dump_omp_loop_non_rect_expr): New function.
+       (dump_generic_node): Handle non-rectangular OpenMP loops.
+       * tree-pretty-print.h (dump_omp_loop_non_rect_expr): Declare.
+       * gimple-pretty-print.c (dump_gimple_omp_for): Handle non-rectangular
+       OpenMP loops.
+
+2020-06-16  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95690
+       * varasm.c (build_constant_desc): Remove set_mem_attributes call.
+
+2020-06-16  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/95683
+       * 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>
+
+       * gimplify.c (gimplify_init_constructor) <AGGREGATE_TYPE>: Declare
+       new ENSURE_SINGLE_ACCESS constant and move variables down.  If it is
+       true and all elements are zero, then always clear.  Return GS_ERROR
+       if a temporary would be created for it and NOTIFY_TEMP_CREATION set.
+       (gimplify_modify_expr_rhs) <VAR_DECL>: If the target is volatile but
+       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>
+
+       * tree-sra.c (propagate_subaccesses_from_rhs): When a non-scalar
+       access on the LHS is replaced with a scalar access, propagate the
+       TYPE_REVERSE_STORAGE_ORDER flag of the type of the original access.
+
+2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/xtensa.c (TARGET_HAVE_TLS): Remove
+       TARGET_THREADPTR reference.
+       (xtensa_tls_symbol_p, xtensa_tls_referenced_p): Use
+       targetm.have_tls instead of TARGET_HAVE_TLS.
+       (xtensa_option_override): Set targetm.have_tls to false in
+       configurations without THREADPTR.
+
+2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/elf.h (ASM_SPEC, LINK_SPEC): Pass ABI switch to
+       assembler/linker.
+       * config/xtensa/linux.h (ASM_SPEC, LINK_SPEC): Ditto.
+       * config/xtensa/uclinux.h (ASM_SPEC, LINK_SPEC): Ditto.
+       * config/xtensa/xtensa.c (xtensa_option_override): Initialize
+       xtensa_windowed_abi if needed.
+       * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI_DEFAULT): New
+       macro.
+       (TARGET_WINDOWED_ABI): Redefine to xtensa_windowed_abi.
+       * config/xtensa/xtensa.opt (xtensa_windowed_abi): New target
+       option variable.
+       (mabi=call0, mabi=windowed): New options.
+       * doc/invoke.texi: Document new -mabi= Xtensa-specific options.
+
+2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/xtensa.c (xtensa_can_eliminate): New function.
+       (TARGET_CAN_ELIMINATE): New macro.
+       * config/xtensa/xtensa.h
+       (XTENSA_WINDOWED_HARD_FRAME_POINTER_REGNUM)
+       (XTENSA_CALL0_HARD_FRAME_POINTER_REGNUM): New macros.
+       (HARD_FRAME_POINTER_REGNUM): Define using
+       XTENSA_*_HARD_FRAME_POINTER_REGNUM.
+       (ELIMINABLE_REGS): Replace lines with HARD_FRAME_POINTER_REGNUM
+       by lines with XTENSA_WINDOWED_HARD_FRAME_POINTER_REGNUM and
+       XTENSA_CALL0_HARD_FRAME_POINTER_REGNUM.
+
+2020-06-15  Felix Yang  <felix.yang@huawei.com>
+
+       * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Rename
+       parameter to loop_vinfo and update uses.  Use LOOP_VINFO_DATAREFS
+       when possible.
+       (vect_analyze_data_refs_alignment): Likewise, and use LOOP_VINFO_DDRS
+       when possible.
+       * tree-vect-loop.c (vect_dissolve_slp_only_groups): Use
+       LOOP_VINFO_DATAREFS when possible.
+       (update_epilogue_loop_vinfo): Likewise.
+
+2020-06-15  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv.c (riscv_gen_gpr_save_insn): Change type to
+       unsigned for i.
+       (riscv_gpr_save_operation_p): Change type to unsigned for i and
+       len.
+
+2020-06-15   Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/95488
+       * config/i386/i386-expand.c (ix86_expand_vecmul_qihi): New
+       function.
+       * config/i386/i386-protos.h (ix86_expand_vecmul_qihi): Declare.
+       * config/i386/sse.md (mul<mode>3): Drop mask_name since
+       there's no real simd int8 multiplication instruction with
+       mask. Also optimize it under TARGET_AVX512BW.
+       (mulv8qi3): New expander.
+
+2020-06-12  Marco Elver  <elver@google.com>
+
+       * gimplify.c (gimplify_function_tree): Optimize and do not emit
+       IFN_TSAN_FUNC_EXIT in a finally block if we do not need it.
+       * params.opt: Add --param=tsan-instrument-func-entry-exit=.
+       * tsan.c (instrument_memory_accesses): Make
+       fentry_exit_instrument bool depend on new param.
+
+2020-06-12  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/95570
+       * tree-vect-data-refs.c (vect_relevant_for_alignment_p): New function.
+       (vect_verify_datarefs_alignment): Call it to filter out data references
+       in the loop whose alignment is irrelevant.
+       (vect_get_peeling_costs_all_drs): Likewise.
+       (vect_peeling_supportable): Likewise.
+       (vect_enhance_data_refs_alignment): Likewise.
+
+2020-06-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95633
+       * tree-vect-stmts.c (vectorizable_condition): Properly
+       guard the vec_else_clause access with EXTRACT_LAST_REDUCTION.
+
+2020-06-12  Martin Liška  <mliska@suse.cz>
+
+       * cgraphunit.c (process_symver_attribute): Wrap weakref keyword.
+       * dbgcnt.c (dbg_cnt_set_limit_by_index): Do not print extra new
+       line.
+       * lto-wrapper.c (merge_and_complain): Wrap option names.
+
+2020-06-12  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Rename
+       LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.  Rename
+       LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_RGROUP_IV_TYPE.
+       (vect_set_loop_condition_masked): Renamed to ...
+       (vect_set_loop_condition_partial_vectors): ... this.  Rename
+       LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.  Rename
+       vect_iv_limit_for_full_masking to vect_iv_limit_for_partial_vectors.
+       (vect_set_loop_condition_unmasked): Renamed to ...
+       (vect_set_loop_condition_normal): ... this.
+       (vect_set_loop_condition): Rename vect_set_loop_condition_unmasked to
+       vect_set_loop_condition_normal.  Rename vect_set_loop_condition_masked
+       to vect_set_loop_condition_partial_vectors.
+       (vect_prepare_for_masked_peels): Rename LOOP_VINFO_MASK_COMPARE_TYPE
+       to LOOP_VINFO_RGROUP_COMPARE_TYPE.
+       * tree-vect-loop.c (vect_known_niters_smaller_than_vf): New, factored
+       out from ...
+       (vect_analyze_loop_costing): ... this.
+       (_loop_vec_info::_loop_vec_info): Rename mask_compare_type to
+       compare_type.
+       (vect_min_prec_for_max_niters): New, factored out from ...
+       (vect_verify_full_masking): ... this.  Rename
+       vect_iv_limit_for_full_masking to vect_iv_limit_for_partial_vectors.
+       Rename LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.
+       Rename LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_RGROUP_IV_TYPE.
+       (vectorizable_reduction): Update some dumpings with partial
+       vectors instead of fully-masked.
+       (vectorizable_live_operation): Likewise.
+       (vect_iv_limit_for_full_masking): Renamed to ...
+       (vect_iv_limit_for_partial_vectors): ... this.
+       * tree-vect-stmts.c (check_load_store_masking): Renamed to ...
+       (check_load_store_for_partial_vectors): ... this.  Update some
+       dumpings with partial vectors instead of fully-masked.
+       (vectorizable_store): Rename check_load_store_masking to
+       check_load_store_for_partial_vectors.
+       (vectorizable_load): Likewise.
+       * tree-vectorizer.h (LOOP_VINFO_MASK_COMPARE_TYPE): Renamed to ...
+       (LOOP_VINFO_RGROUP_COMPARE_TYPE): ... this.
+       (LOOP_VINFO_MASK_IV_TYPE): Renamed to ...
+       (LOOP_VINFO_RGROUP_IV_TYPE): ... this.
+       (vect_iv_limit_for_full_masking): Renamed to ...
+       (vect_iv_limit_for_partial_vectors): this.
+       (_loop_vec_info): Rename mask_compare_type to rgroup_compare_type.
+       Rename iv_type to rgroup_iv_type.
+
+2020-06-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * recog.h (insn_gen_fn::f0, insn_gen_fn::f1, insn_gen_fn::f2)
+       (insn_gen_fn::f3, insn_gen_fn::f4, insn_gen_fn::f5, insn_gen_fn::f6)
+       (insn_gen_fn::f7, insn_gen_fn::f8, insn_gen_fn::f9, insn_gen_fn::f10)
+       (insn_gen_fn::f11, insn_gen_fn::f12, insn_gen_fn::f13)
+       (insn_gen_fn::f14, insn_gen_fn::f15, insn_gen_fn::f16): Delete.
+       (insn_gen_fn::operator()): Replace overloaded definitions with
+       a parameter-pack version.
+
+2020-06-12  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/93492
+       * config/i386/i386-features.c (rest_of_insert_endbranch):
+       Renamed to ...
+       (rest_of_insert_endbr_and_patchable_area): Change return type
+       to void. Add need_endbr and patchable_area_size arguments.
+       Don't call timevar_push nor timevar_pop.  Replace
+       endbr_queued_at_entrance with insn_queued_at_entrance.  Insert
+       UNSPECV_PATCHABLE_AREA for patchable area.
+       (pass_data_insert_endbranch): Renamed to ...
+       (pass_data_insert_endbr_and_patchable_area): This.  Change
+       pass name to endbr_and_patchable_area.
+       (pass_insert_endbranch): Renamed to ...
+       (pass_insert_endbr_and_patchable_area): This.  Add need_endbr
+       and patchable_area_size;.
+       (pass_insert_endbr_and_patchable_area::gate): Set and check
+       need_endbr and patchable_area_size.
+       (pass_insert_endbr_and_patchable_area::execute): Call
+       timevar_push and timevar_pop.  Pass need_endbr and
+       patchable_area_size to rest_of_insert_endbr_and_patchable_area.
+       (make_pass_insert_endbranch): Renamed to ...
+       (make_pass_insert_endbr_and_patchable_area): This.
+       * config/i386/i386-passes.def: Replace pass_insert_endbranch
+       with pass_insert_endbr_and_patchable_area.
+       * config/i386/i386-protos.h (ix86_output_patchable_area): New.
+       (make_pass_insert_endbranch): Renamed to ...
+       (make_pass_insert_endbr_and_patchable_area): This.
+       * config/i386/i386.c (ix86_asm_output_function_label): Set
+       function_label_emitted to true.
+       (ix86_print_patchable_function_entry): New function.
+       (ix86_output_patchable_area): Likewise.
+       (x86_function_profiler): Replace endbr_queued_at_entrance with
+       insn_queued_at_entrance.  Generate ENDBR only for TYPE_ENDBR.
+       Call ix86_output_patchable_area to generate patchable area if
+       needed.
+       (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): New.
+       * config/i386/i386.h (queued_insn_type): New.
+       (machine_function): Add function_label_emitted.  Replace
+       endbr_queued_at_entrance with insn_queued_at_entrance.
+       * config/i386/i386.md (UNSPECV_PATCHABLE_AREA): New.
+       (patchable_area): New.
+
+2020-06-11  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000.c (rs6000_density_test): Fix GNU coding
+       style.
+
+2020-06-11  Martin Liska  <mliska@suse.cz>
+
+       PR target/95627
+       * config/rs6000/rs6000.c (rs6000_density_test): Skip debug
+       statements.
+
+2020-06-11  Martin Liska  <mliska@suse.cz>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/95634
+       * asan.c (asan_emit_stack_protection): Fix emission for ilp32
+       by using Pmode instead of ptr_mode.
+
+2020-06-11  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop-manip.c (vect_set_loop_mask): Renamed to ...
+       (vect_set_loop_control): ... this.
+       (vect_maybe_permute_loop_masks): Rename rgroup_masks related things.
+       (vect_set_loop_masks_directly): Renamed to ...
+       (vect_set_loop_controls_directly): ... this.  Also rename some
+       variables with ctrl instead of mask.  Rename vect_set_loop_mask to
+       vect_set_loop_control.
+       (vect_set_loop_condition_masked): Rename rgroup_masks related things.
+       Also rename some variables with ctrl instead of mask.
+       * tree-vect-loop.c (release_vec_loop_masks): Renamed to ...
+       (release_vec_loop_controls): ... this.  Rename rgroup_masks related
+       things.
+       (_loop_vec_info::~_loop_vec_info): Rename release_vec_loop_masks to
+       release_vec_loop_controls.
+       (can_produce_all_loop_masks_p): Rename rgroup_masks related things.
+       (vect_get_max_nscalars_per_iter): Likewise.
+       (vect_estimate_min_profitable_iters): Likewise.
+       (vect_record_loop_mask): Likewise.
+       (vect_get_loop_mask): Likewise.
+       * tree-vectorizer.h (struct rgroup_masks): Renamed to ...
+       (struct rgroup_controls): ... this.  Also rename mask_type
+       to type and rename masks to controls.
+
+2020-06-11  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop-manip.c (vect_set_loop_condition): Rename
+       LOOP_VINFO_FULLY_MASKED_P to LOOP_VINFO_USING_PARTIAL_VECTORS_P.
+       (vect_gen_vector_loop_niters): Likewise.
+       (vect_do_peeling): Likewise.
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Rename
+       fully_masked_p to using_partial_vectors_p.
+       (vect_analyze_loop_costing): Rename LOOP_VINFO_FULLY_MASKED_P to
+       LOOP_VINFO_USING_PARTIAL_VECTORS_P.
+       (determine_peel_for_niter): Likewise.
+       (vect_estimate_min_profitable_iters): Likewise.
+       (vect_transform_loop): Likewise.
+       * tree-vectorizer.h (LOOP_VINFO_FULLY_MASKED_P): Updated.
+       (LOOP_VINFO_USING_PARTIAL_VECTORS_P): New macro.
+
+2020-06-11  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Rename
+       can_fully_mask_p to can_use_partial_vectors_p.
+       (vect_analyze_loop_2): Rename LOOP_VINFO_CAN_FULLY_MASK_P to
+       LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P.  Rename saved_can_fully_mask_p
+       to saved_can_use_partial_vectors_p.
+       (vectorizable_reduction): Rename LOOP_VINFO_CAN_FULLY_MASK_P to
+       LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P.
+       (vectorizable_live_operation): Likewise.
+       * tree-vect-stmts.c (permute_vec_elements): Likewise.
+       (check_load_store_masking): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+       (vectorizable_condition): Likewise.
+       * tree-vectorizer.h (LOOP_VINFO_CAN_FULLY_MASK_P): Renamed to ...
+       (LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P): ... this.
+       (_loop_vec_info): Rename can_fully_mask_p to can_use_partial_vectors_p.
+
+2020-06-11  Martin Liska  <mliska@suse.cz>
+
+       * optc-save-gen.awk: Quote error string.
+
+2020-06-11  Alexandre Oliva  <oliva@adacore.com>
+
+       * print-rtl.c (print_mem_expr): Enable TDF_SLIM in dump_flags.
+
+2020-06-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/riscv-protos.h (riscv_output_gpr_save): Remove.
+       * config/riscv/riscv-sr.c (riscv_sr_match_prologue): Update
+       value.
+       * config/riscv/riscv.c (riscv_output_gpr_save): Remove.
+       * config/riscv/riscv.md (gpr_save): Update output asm pattern.
+
+2020-06-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/predicates.md (gpr_save_operation): New.
+       * config/riscv/riscv-protos.h (riscv_gen_gpr_save_insn): New.
+       (riscv_gpr_save_operation_p): Ditto.
+       * config/riscv/riscv-sr.c (riscv_remove_unneeded_save_restore_calls):
+       Ignore USEs for gpr_save patter.
+       * config/riscv/riscv.c (gpr_save_reg_order): New.
+       (riscv_expand_prologue): Use riscv_gen_gpr_save_insn to gen gpr_save.
+       (riscv_gen_gpr_save_insn): New.
+       (riscv_gpr_save_operation_p): Ditto.
+       * config/riscv/riscv.md (S3_REGNUM): New.
+       (S4_REGNUM): Ditto.
+       (S5_REGNUM): Ditto.
+       (S6_REGNUM): Ditto.
+       (S7_REGNUM): Ditto.
+       (S8_REGNUM): Ditto.
+       (S9_REGNUM): Ditto.
+       (S10_REGNUM): Ditto.
+       (S11_REGNUM): Ditto.
+       (gpr_save): Model USEs correctly.
+
+2020-06-10  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/95353
+       PR middle-end/92939
+       * builtins.c (inform_access): New function.
+       (check_access): Call it.  Add argument.
+       (addr_decl_size): Remove.
+       (get_range): New function.
+       (compute_objsize): New overload.  Only use compute_builtin_object_size
+       with raw memory function.
+       (check_memop_access): Pass new argument to compute_objsize and
+       check_access.
+       (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 (check_nul_terminated_array): Declare extern.
+       (check_access): Add argument.
+       (struct access_ref, struct access_data): New structs.
+       * gimple-ssa-warn-restrict.c (clamp_offset): New helper.
+       (builtin_access::overlap): Call it.
+       * tree-object-size.c (decl_init_size): Declare extern.
+       (addr_object_size): Correct offset computation.
+       * tree-object-size.h (decl_init_size): Declare.
+       * tree-ssa-strlen.c (handle_integral_assign): Remove a call
+       to maybe_warn_overflow when assigning to an SSA_NAME.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vect_determine_vectorization_factor):
+       Skip debug stmts.
+       (_loop_vec_info::_loop_vec_info): Likewise.
+       (vect_update_vf_for_slp): Likewise.
+       (vect_analyze_loop_operations): Likewise.
+       (update_epilogue_loop_vinfo): Likewise.
+       * tree-vect-patterns.c (vect_determine_precisions): Likewise.
+       (vect_pattern_recog): Likewise.
+       * tree-vect-slp.c (vect_detect_hybrid_slp): Likewise.
+       (_bb_vec_info::_bb_vec_info): Likewise.
+       * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized):
+       Likewise.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95576
+       * tree-vect-slp.c (vect_slp_bb): Skip leading debug stmts.
+
+2020-06-10  Haijian Zhang  <z.zhanghaijian@huawei.com>
+
+       PR target/95523
+       * config/aarch64/aarch64-sve-builtins.h
+       (sve_switcher::m_old_maximum_field_alignment): New member.
+       * config/aarch64/aarch64-sve-builtins.cc
+       (sve_switcher::sve_switcher): Save maximum_field_alignment in
+       m_old_maximum_field_alignment and clear maximum_field_alignment.
+       (sve_switcher::~sve_switcher): Restore maximum_field_alignment.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::vec_stmts): Make it a vector
+       of gimple * stmts.
+       (_stmt_vec_info::vec_stmts): Likewise.
+       (vec_info::stmt_vec_info_ro): New flag.
+       (vect_finish_replace_stmt): Adjust declaration.
+       (vect_finish_stmt_generation): Likewise.
+       (vectorizable_induction): Likewise.
+       (vect_transform_reduction): Likewise.
+       (vectorizable_lc_phi): Likewise.
+       * tree-vect-data-refs.c (vect_create_data_ref_ptr): Do not
+       allocate stmt infos for increments.
+       (vect_record_grouped_load_vectors): Adjust.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
+       (vectorize_fold_left_reduction): Likewise.
+       (vect_transform_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+       (vectorizable_lc_phi): Likewise.
+       (vectorizable_induction): Likewise.
+       (vectorizable_live_operation): Likewise.
+       (vect_transform_loop): Likewise.
+       * tree-vect-patterns.c (vect_pattern_recog): Set stmt_vec_info_ro.
+       * tree-vect-slp.c (vect_get_slp_vect_def): Adjust.
+       (vect_get_slp_defs): Likewise.
+       (vect_transform_slp_perm_load): Likewise.
+       (vect_schedule_slp_instance): Likewise.
+       (vectorize_slp_instance_root_stmt): Likewise.
+       * tree-vect-stmts.c (vect_get_vec_defs_for_operand): Likewise.
+       (vect_finish_stmt_generation_1): Do not allocate a stmt info.
+       (vect_finish_replace_stmt): Do not return anything.
+       (vect_finish_stmt_generation): Likewise.
+       (vect_build_gather_load_calls): Adjust.
+       (vectorizable_bswap): Likewise.
+       (vectorizable_call): Likewise.
+       (vectorizable_simd_clone_call): Likewise.
+       (vect_create_vectorized_demotion_stmts): Likewise.
+       (vectorizable_conversion): Likewise.
+       (vectorizable_assignment): Likewise.
+       (vectorizable_shift): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_scan_store): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+       (vectorizable_condition): Likewise.
+       (vectorizable_comparison): Likewise.
+       (vect_transform_stmt): Likewise.
+       * tree-vectorizer.c (vec_info::vec_info): Initialize
+       stmt_vec_info_ro.
+       (vec_info::replace_stmt): Copy over stmt UID rather than
+       unsetting/setting a stmt info allocating a new UID.
+       (vec_info::set_vinfo_for_stmt): Assert !stmt_vec_info_ro.
+
+2020-06-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-loop-versioning.cc (loop_versioning::name_prop::get_value):
+       Add stmt parameter.
+       * gimple-ssa-evrp.c (class evrp_folder): New.
+       (class evrp_dom_walker): Remove.
+       (execute_early_vrp): Use evrp_folder instead of evrp_dom_walker.
+       * tree-ssa-ccp.c (ccp_folder::get_value): Add stmt parameter.
+       * tree-ssa-copy.c (copy_folder::get_value): Same.
+       * tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in):
+       Pass stmt to get_value.
+       (substitute_and_fold_engine::replace_phi_args_in): Same.
+       (substitute_and_fold_dom_walker::after_dom_children): Call
+       post_fold_bb.
+       (substitute_and_fold_dom_walker::foreach_new_stmt_in_bb): New.
+       (substitute_and_fold_dom_walker::propagate_into_phi_args): New.
+       (substitute_and_fold_dom_walker::before_dom_children): Adjust to
+       call virtual functions for folding, pre_folding, and post folding.
+       Call get_value with PHI.  Tweak dump.
+       * tree-ssa-propagate.h (class substitute_and_fold_engine):
+       New argument to get_value.
+       New virtual function pre_fold_bb.
+       New virtual function post_fold_bb.
+       New virtual function pre_fold_stmt.
+       New virtual function post_new_stmt.
+       New function propagate_into_phi_args.
+       * tree-vrp.c (vrp_folder::get_value): Add stmt argument.
+       * vr-values.c (vr_values::extract_range_from_stmt): Adjust dump
+       output.
+       (vr_values::fold_cond): New.
+       (vr_values::simplify_cond_using_ranges_1): Call fold_cond.
+       * vr-values.h (class vr_values): Add
+       simplify_cond_using_ranges_when_edge_is_known.
+
+2020-06-10  Martin Liska  <mliska@suse.cz>
+
+       PR sanitizer/94910
+       * asan.c (asan_emit_stack_protection): Emit
+       also **SavedFlagPtr(FakeStack, class_id) = 0 in order to release
+       a stack frame.
+
+2020-06-10  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Adjust costs for mul.
+
+2020-06-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_vfa_access_size): Adjust.
+       (vect_record_grouped_load_vectors): Likewise.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
+       (vectorize_fold_left_reduction): Likewise.
+       (vect_transform_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+       (vectorizable_lc_phi): Likewise.
+       (vectorizable_induction): Likewise.
+       (vectorizable_live_operation): Likewise.
+       (vect_transform_loop): Likewise.
+       * tree-vect-slp.c (vect_get_slp_defs): New function, split out
+       from overload.
+       * tree-vect-stmts.c (vect_get_vec_def_for_operand_1): Remove.
+       (vect_get_vec_def_for_operand): Likewise.
+       (vect_get_vec_def_for_stmt_copy): Likewise.
+       (vect_get_vec_defs_for_stmt_copy): Likewise.
+       (vect_get_vec_defs_for_operand): New function.
+       (vect_get_vec_defs): Likewise.
+       (vect_build_gather_load_calls): Adjust.
+       (vect_get_gather_scatter_ops): Likewise.
+       (vectorizable_bswap): Likewise.
+       (vectorizable_call): Likewise.
+       (vectorizable_simd_clone_call): Likewise.
+       (vect_get_loop_based_defs): Remove.
+       (vect_create_vectorized_demotion_stmts): Adjust.
+       (vectorizable_conversion): Likewise.
+       (vectorizable_assignment): Likewise.
+       (vectorizable_shift): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_scan_store): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+       (vectorizable_condition): Likewise.
+       (vectorizable_comparison): Likewise.
+       (vect_transform_stmt): Adjust and remove no longer applicable
+       sanity checks.
+       * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize
+       STMT_VINFO_VEC_STMTS.
+       (vec_info::free_stmt_vec_info): Relase it.
+       * tree-vectorizer.h (_stmt_vec_info::vectorized_stmt): Remove.
+       (_stmt_vec_info::vec_stmts): Add.
+       (STMT_VINFO_VEC_STMT): Remove.
+       (STMT_VINFO_VEC_STMTS): New.
+       (vect_get_vec_def_for_operand_1): Remove.
+       (vect_get_vec_def_for_operand): Likewise.
+       (vect_get_vec_defs_for_stmt_copy): Likewise.
+       (vect_get_vec_def_for_stmt_copy): Likewise.
+       (vect_get_vec_defs): New overloads.
+       (vect_get_vec_defs_for_operand): New.
+       (vect_get_slp_defs): Declare.
+
+2020-06-10  Qian Chao  <qianchao9@huawei.com>
+
+       PR tree-optimization/95569
+       * trans-mem.c (expand_assign_tm): Ensure that rtmp is marked TREE_ADDRESSABLE.
+
+2020-06-10  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/92860
+       * optc-save-gen.awk: Generate new function cl_optimization_compare.
+       * opth-gen.awk: Generate declaration of the function.
+
+2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/ppc-auxv.h (PPC_PLATFORM_FUTURE): Allocate
+       'future' PowerPC platform.
+       (PPC_FEATURE2_ARCH_3_1): New HWCAP2 bit for ISA 3.1.
+       (PPC_FEATURE2_MMA): New HWCAP2 bit for MMA.
+       * config/rs6000/rs6000-call.c (cpu_supports_info): Add ISA 3.1 and
+       MMA HWCAP2 bits.
+       * config/rs6000/rs6000.c (CLONE_ISA_3_1): New clone support.
+       (rs6000_clone_map): Add 'future' system target_clones support.
+
+2020-06-09  Michael Kuhn  <gcc@ikkoku.de>
+
+       * Makefile.in (ZSTD_INC): Define.
+       (ZSTD_LIB): Include ZSTD_LDFLAGS.
+       (CFLAGS-lto-compress.o): Add ZSTD_INC.
+       * configure.ac (ZSTD_CPPFLAGS, ZSTD_LDFLAGS): New variables for
+       AC_SUBST.
+       * configure: Rebuilt.
+
+2020-06-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/95552
+       * tree.c (walk_tree_1): Call func on the TYPE_DECL of a DECL_EXPR.
+
+2020-06-09  Marco Elver  <elver@google.com>
+
+       * params.opt: Define --param=tsan-distinguish-volatile=[0,1].
+       * sanitizer.def (BUILT_IN_TSAN_VOLATILE_READ1): Define new
+       builtin for volatile instrumentation of reads/writes.
+       (BUILT_IN_TSAN_VOLATILE_READ2): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_READ4): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_READ8): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_READ16): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE1): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE2): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE4): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE8): Likewise.
+       (BUILT_IN_TSAN_VOLATILE_WRITE16): Likewise.
+       * tsan.c (get_memory_access_decl): Argument if access is
+       volatile. If param tsan-distinguish-volatile is non-zero, and
+       access if volatile, return volatile instrumentation decl.
+       (instrument_expr): Check if access is volatile.
+
+2020-06-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-loop.c (vectorizable_induction): Remove dead code.
+
+2020-06-09  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-offload.c (add_decls_addresses_to_decl_constructor,
+       omp_finish_file): With in_lto_p, stream out all offload-table
+       items even if the symtab_node does not exist.
+
+2020-06-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vect_transform_stmt): Remove dead code.
+
+2020-06-09  Martin Liska  <mliska@suse.cz>
+
+       * gcov-dump.c (print_usage): Fix spacing for --raw option
+       in --help.
+
+2020-06-09  Martin Liska  <mliska@suse.cz>
+
+       * cif-code.def (ATTRIBUTE_MISMATCH): Rename to...
+       (SANITIZE_ATTRIBUTE_MISMATCH): ...this.
+       * ipa-inline.c (sanitize_attrs_match_for_inline_p):
+       Handle all sanitizer options.
+       (can_inline_edge_p): Use renamed CIF_* enum value.
+
+2020-06-09  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/aarch64/aarch64-sve.md (<optab><mode>2): Add support for
+       unpacked vectors.
+       (@aarch64_pred_<optab><mode>): Add support for unpacked vectors.
+       (@aarch64_bic<mode>): Enable unpacked BIC.
+       (*bic<mode>3): Enable unpacked BIC.
+
+2020-06-09  Martin Liska  <mliska@suse.cz>
+
+       PR gcov-profile/95365
+       * doc/gcov.texi: Compile and link one example in 2 steps.
+
+2020-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/95527
+       * match.pd (__builtin_ffs (X) cmp CST): New optimizations.
+
+2020-06-09  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/ppc-auxv.h (PPC_PLATFORM_FUTURE): Allocate
+       'future' PowerPC platform.
+       (PPC_FEATURE2_ARCH_3_1): New HWCAP2 bit for ISA 3.1.
+       (PPC_FEATURE2_MMA): New HWCAP2 bit for MMA.
+       * config/rs6000/rs6000-call.c (cpu_supports_info): Add ISA 3.1 and
+       MMA HWCAP2 bits.
+       * config/rs6000/rs6000.c (CLONE_ISA_3_1): New clone support.
+       (rs6000_clone_map): Add 'future' system target_clones support.
+
+2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR lto/94848
+       PR middle-end/95551
+       * omp-offload.c (add_decls_addresses_to_decl_constructor,
+       omp_finish_file): Skip removed items.
+       * lto-cgraph.c (output_offload_tables): Likewise; set force_output
+       to this node for variables and functions.
+
+2020-06-08  Jason Merrill  <jason@redhat.com>
+
+       * aclocal.m4: Remove ax_cxx_compile_stdcxx.m4.
+       * configure.ac: Remove AX_CXX_COMPILE_STDCXX.
+       * configure: Regenerate.
+
+2020-06-08  Martin Sebor  <msebor@redhat.com>
+
+       * postreload.c (reload_cse_simplify_operands): Clear first array element
+       before using it.  Assert a precondition.
+
+2020-06-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95528
+       * tree-ssa-forwprop.c (simplify_vector_constructor): Don't use
+       VEC_UNPACK*_EXPR or VEC_PACK_TRUNC_EXPR with scalar modes unless the
+       type is vector boolean.
+
+2020-06-08  Tamar Christina  <tamar.christina@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_layout_frame): Expand comments.
+
+2020-06-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/predicates.md (vfp_register_operand): Use VFP_HI_REGS
+       instead of VFP_REGS.
+
+2020-06-08  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/vector.md: Replace FAIL with gcc_unreachable
+       in all vcond* patterns.
+
+2020-06-08  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * common/config/arm/arm-common.c (INCLUDE_ALGORITHM):
+       Define. No longer include <algorithm>.
+
+2020-06-07  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386.md (paritydi2, paritysi2): Expand reduction
+       via shift and xor to an USPEC PARITY matching a parityhi2_cmp.
+       (paritydi2_cmp, paritysi2_cmp): Delete these define_insn_and_split.
+       (parityhi2, parityqi2): New expanders.
+       (parityhi2_cmp): Implement set parity flag with xorb insn.
+       (parityqi2_cmp): Implement set parity flag with testb insn.
+       New peephole2s to use these insns (UNSPEC PARITY) when appropriate.
+
+2020-06-07  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR target/95018
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Override flag_cunroll_grow_size.
+
+2020-06-07  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       * common.opt (flag_cunroll_grow_size): New flag.
+       * toplev.c (process_options): Set flag_cunroll_grow_size.
+       * tree-ssa-loop-ivcanon.c (pass_complete_unroll::execute):
+       Use flag_cunroll_grow_size.
+
+2020-06-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/95548
+       * ipa-devirt.c (struct odr_enum_val): Turn values to wide_int.
+       (ipa_odr_summary_write): Update streaming.
+       (ipa_odr_read_section): Update streaming.
+
+2020-06-06  Alexandre Oliva  <oliva@adacore.com>
+
+       PR driver/95456
+       * gcc.c (do_spec_1): Don't call memcpy (_, NULL, 0).
+
+2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * gimplify.c (gimplify_adjust_omp_clauses): Remove
+       'GOMP_MAP_STRUCT' mapping from OpenACC 'exit data' directives.
+
+2020-06-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95539
+       * tree-vect-data-refs.c
+       (vect_slp_analyze_and_verify_instance_alignment): Use
+       SLP_TREE_REPRESENTATIVE for the data-ref check.
+       * tree-vect-stmts.c (vectorizable_load): Reset stmt_info
+       back to the first scalar stmt rather than the
+       SLP_TREE_REPRESENTATIVE to match previous behavior.
+
+2020-06-05  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/95254
+       * expr.c (emit_move_insn): Check src and dest of the copy to see
+       if one or both of them are subregs, try to remove the subregs when
+       innermode and outermode are equal in size and the mode change involves
+       an implicit round trip through memory.
+
+2020-06-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/95535
+       * config/i386/i386.md (*ctzsi2_zext, *clzsi2_lzcnt_zext): New
+       define_insn_and_split patterns.
+       (*ctzsi2_zext_falsedep, *clzsi2_lzcnt_zext_falsedep): New
+       define_insn patterns.
+
+2020-06-05  Jonathan Wakely  <jwakely@redhat.com>
+
+       * alloc-pool.h (object_allocator::remove_raw): New.
+       * tree-ssa-math-opts.c (struct occurrence): Use NSMDI.
+       (occurrence::occurrence): Add.
+       (occurrence::~occurrence): Likewise.
+       (occurrence::new): Likewise.
+       (occurrence::delete): Likewise.
+       (occ_new): Remove.
+       (insert_bb): Use new occurence (...) instead of occ_new.
+       (register_division_in): Likewise.
+       (free_bb): Use delete occ instead of manually removing
+       from the pool.
+
+2020-06-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95493
+       * cfgexpand.c (expand_debug_expr): Avoid calling
+       set_mem_attributes_minus_bitpos when we were expanding
+       an SSA name.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
+       ARRAY_REF special-casing, add CONSTRUCTOR to the set of
+       special-cases we do not want MEM_EXPRs for.  Assert
+       we end up with reasonable MEM_EXPRs.
+
+2020-06-05  Lili Cui  <lili.cui@intel.com>
+
+       PR target/95525
+       * config/i386/i386.h (PTA_WAITPKG): Change bitmask value.
+
+2020-06-04  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/10138
+       PR middle-end/95136
+       * attribs.c (init_attr_rdwr_indices): Move function here.
+       * attribs.h (rdwr_access_hash, rdwr_map): Define.
+       (attr_access): Add 'none'.
+       (init_attr_rdwr_indices): Declared function.
+       * builtins.c (warn_for_access)): New function.
+       (check_access): Call it.
+       * builtins.h (checK-access): Add an optional argument.
+       * calls.c (rdwr_access_hash, rdwr_map): Move to attribs.h.
+       (init_attr_rdwr_indices): Declare extern.
+       (append_attrname): Handle attr_access::none.
+       (maybe_warn_rdwr_sizes): Same.
+       (initialize_argument_information): Update comments.
+       * doc/extend.texi (attribute access): Document 'none'.
+       * tree-ssa-uninit.c (struct wlimits): New.
+       (maybe_warn_operand): New function.
+       (maybe_warn_pass_by_reference): Same.
+       (warn_uninitialized_vars): Refactor code into maybe_warn_operand.
+       Also call for function calls.
+       (pass_late_warn_uninitialized::execute): Adjust comments.
+       (execute_early_warn_uninitialized): Same.
+
+2020-06-04  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/95464
+       * lra.c (lra_emit_move): Add processing STRICT_LOW_PART.
+       * lra-constraints.c (match_reload): Use STRICT_LOW_PART in output
+       reload if the original insn has it too.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr):
+       Ensure that tmp_ha is marked TREE_ADDRESSABLE.
+
+2020-06-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/95113
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move non-call
+       exceptions check to...
+       * tree-eh.c (stmt_unremovable_because_of_non_call_eh_p): ...this
+       new function.
+       * tree-eh.h (stmt_unremovable_because_of_non_call_eh_p): Declare it.
+       * ipa-sra.c (isra_track_scalar_value_uses): Use it.  New parameter
+       fun.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       PR target/94735
+       * config/arm/predicates.md (mve_scatter_memory): Define to
+       match (mem (reg)) for scatter store memory.
+       * config/arm/mve.md (mve_vstrbq_scatter_offset_<supf><mode>): Modify
+       define_insn to define_expand.
+       (mve_vstrbq_scatter_offset_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_offset_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_<supf><mode>): Likewise.
+       (mve_vstrdq_scatter_offset_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_offset_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_<supf>v2di): Likewise.
+       (mve_vstrhq_scatter_offset_fv8hf): Likewise.
+       (mve_vstrhq_scatter_offset_p_fv8hf): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_fv8hf): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_fv8hf): Likewise.
+       (mve_vstrwq_scatter_offset_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_offset_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_offset_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_fv4sf): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_fv4sf): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_<supf>v4si): Likewise.
+       (mve_vstrbq_scatter_offset_<supf><mode>_insn): Define insn for scatter
+       stores.
+       (mve_vstrbq_scatter_offset_p_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_offset_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_<supf><mode>_insn): Likewise.
+       (mve_vstrdq_scatter_offset_p_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_offset_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn): Likewise.
+       (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn): Likewise.
+       (mve_vstrhq_scatter_offset_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_offset_p_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Likewise.
+       (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_p_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_offset_p_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_offset_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si_insn): Likewise.
+       (mve_vstrwq_scatter_shifted_offset_<supf>v4si_insn): Likewise.
+
+2020-06-04  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+
+       * config/arm/arm_mve.h (__arm_vbicq_n_u16): Correct the intrinsic
+       arguments.
+       (__arm_vbicq_n_s16): Likewise.
+       (__arm_vbicq_n_u32): Likewise.
+       (__arm_vbicq_n_s32): Likewise.
+       (__arm_vbicq): Modify polymorphic variant.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_get_slp_vect_def): Declare.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use it.
+       * tree-vect-stmts.c (vect_transform_stmt): Likewise.
+       (vect_is_simple_use): Use SLP_TREE_REPRESENTATIVE.
+       * tree-vect-slp.c (vect_get_slp_vect_defs): Fold into single
+       use ...
+       (vect_get_slp_defs): ... here.
+       (vect_get_slp_vect_def): New function.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::lanes): New.
+       (SLP_TREE_LANES): Likewise.
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Use it.
+       (vectorizable_reduction): Likewise.
+       (vect_transform_cycle_phi): Likewise.
+       (vectorizable_induction): Likewise.
+       (vectorizable_live_operation): Likewise.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize lanes.
+       (vect_create_new_slp_node): Likewise.
+       (slp_copy_subtree): Copy it.
+       (vect_optimize_slp): Use it.
+       (vect_slp_analyze_node_operations_1): Likewise.
+       (vect_slp_convert_to_external): Likewise.
+       (vect_bb_vectorization_profitable_p): Likewise.
+       * tree-vect-stmts.c (vectorizable_load): Likewise.
+       (get_vectype_for_scalar_type): Likewise.
+
+2020-06-04  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_update_all_shared_vectypes): Remove.
+       (vect_build_slp_tree_2): Simplify building all external op
+       nodes from scalars.
+       (vect_slp_analyze_node_operations): Remove push/pop of
+       STMT_VINFO_DEF_TYPE.
+       (vect_schedule_slp_instance): Likewise.
+       * tree-vect-stmts.c (ect_check_store_rhs): Pass in the
+       stmt_info, use the vect_is_simple_use overload combining
+       SLP and stmt_info analysis.
+       (vect_is_simple_cond): Likewise.
+       (vectorizable_store): Adjust.
+       (vectorizable_condition): Likewise.
+       (vect_is_simple_use): Fully handle invariant SLP nodes
+       here.  Amend stmt_info operand extraction with COND_EXPR
+       and masked stores.
+       * tree-vect-loop.c (vectorizable_reduction): Deal with
+       COND_EXPR representation ugliness.
+
+2020-06-04  Hongtao Liu  <hongtao.liu@inte.com>
+
+       PR target/95254
+       * config/i386/sse.md (*vcvtps2ph_store<merge_mask_name>):
+       Refine from *vcvtps2ph_store<mask_name>.
+       (vcvtps2ph256<mask_name>): Refine constraint from vm to v.
+       (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Ditto.
+       (*vcvtps2ph256<merge_mask_name>): New define_insn.
+       (*avx512f_vcvtps2ph512<merge_mask_name>): Ditto.
+       * config/i386/subst.md (merge_mask): New define_subst.
+       (merge_mask_name): New define_subst_attr.
+       (merge_mask_operand3): Ditto.
+
+2020-06-04  Hao Liu  <hliu@os.amperecomputing.com>
+
+       PR tree-optimization/89430
+       * tree-ssa-phiopt.c
+       (struct name_to_bb): Rename to ref_to_bb; add a new field exp;
+       remove ssa_name_ver, store, offset fields.
+       (struct ssa_names_hasher): Rename to refs_hasher; update functions.
+       (class nontrapping_dom_walker): Rename m_seen_ssa_names to m_seen_refs.
+       (nontrapping_dom_walker::add_or_mark_expr): Extend to support ARRAY_REFs
+       and COMPONENT_REFs.
+
+2020-06-04  Andreas Schwab  <schwab@suse.de>
+
+       PR target/95154
+       * config/ia64/ia64.h (ASM_OUTPUT_FDESC): Call assemble_external.
+
+2020-06-04  Hongtao.liu  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (pmov_dst_3_lower): New mode attribute.
+       (trunc<mode><pmov_dst_3_lower>2): Refine from
+       trunc<mode><pmov_dst_3>2.
+
+2020-06-03  Vitor Guidi  <vitor.guidi@usp.br>
+
+       * match.pd (tanh/sinh -> 1/cosh): New simplification.
+
+2020-06-03  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/95347
+       * config/rs6000/rs6000.c (is_stfs_insn): Rename to
+       is_lfs_stfs_insn and make it recognize lfs as well.
+       (prefixed_store_p): Use is_lfs_stfs_insn().
+       (prefixed_load_p): Use is_lfs_stfs_insn() to recognize lfs.
+
+2020-06-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-devirt.c: Include data-streamer.h, lto-streamer.h and
+       streamer-hooks.h.
+       (odr_enums): New static var.
+       (struct odr_enum_val): New struct.
+       (class odr_enum): New struct.
+       (odr_enum_map): New hashtable.
+       (odr_types_equivalent_p): Drop code testing TYPE_VALUES.
+       (add_type_duplicate): Likewise.
+       (free_odr_warning_data): Do not free TYPE_VALUES.
+       (register_odr_enum): New function.
+       (ipa_odr_summary_write): New function.
+       (ipa_odr_read_section): New function.
+       (ipa_odr_summary_read): New function.
+       (class pass_ipa_odr): New pass.
+       (make_pass_ipa_odr): New function.
+       * ipa-utils.h (register_odr_enum): Declare.
+       * lto-section-in.c: (lto_section_name): Add odr_types section.
+       * lto-streamer.h (enum lto_section_type): Add odr_types section.
+       * passes.def: Add odr_types pass.
+       * lto-streamer-out.c (DFS::DFS_write_tree_body): Do not stream
+       TYPE_VALUES.
+       (hash_tree): Likewise.
+       * tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers):
+       Likewise.
+       * tree-streamer-out.c (write_ts_type_non_common_tree_pointers):
+       Likewise.
+       * timevar.def (TV_IPA_ODR): New timervar.
+       * tree-pass.h (make_pass_ipa_odr): Declare.
+       * tree.c (free_lang_data_in_type): Regiser ODR types.
+
+2020-06-03  Romain Naour  <romain.naour@gmail.com>
+
+       * Makefile.in (SELFTEST_DEPS): Move before including language makefile
+       fragments.
+
+2020-06-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95487
+       * tree-vect-stmts.c (vectorizable_store): Use a truth type
+       for the scatter mask.
+
+2020-06-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95495
+       * tree-vect-slp.c (vect_slp_analyze_node_operations): Use
+       SLP_TREE_REPRESENTATIVE in the shift assertion.
+
+2020-06-03  Tom Tromey  <tromey@adacore.com>
+
+       * spellcheck.c (CASE_COST): New define.
+       (BASE_COST): New define.
+       (get_edit_distance): Recognize case changes.
+       (get_edit_distance_cutoff): Update.
+       (test_edit_distances): Update.
+       (get_old_cutoff): Update.
+       (test_find_closest_string): Add case sensitivity test.
+
+2020-06-03  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Loop over
+       the cost vector to unset the visited flag on stmts.
+
+2020-06-03  Tobias Burnus  <tobias@codesourcery.com>
+
+       * gimplify.c (omp_notice_variable): Use new hook.
+       * langhooks-def.h (lhd_omp_predetermined_mapping): Declare.
+       (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Define
+       (LANG_HOOKS_DECLS): Add it.
+       * langhooks.c (lhd_omp_predetermined_sharing): Remove bogus unused attr.
+       (lhd_omp_predetermined_mapping): New.
+       * langhooks.h (struct lang_hooks_for_decls): Add new hook.
+
+2020-06-03  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer.h (LTO_tags): Reorder so frequent tags has small indexes;
+       add LTO_first_tree_tag and LTO_first_gimple_tag.
+       (lto_tag_is_tree_code_p): Update.
+       (lto_tag_is_gimple_code_p): Update.
+       (lto_gimple_code_to_tag): Update.
+       (lto_tag_to_gimple_code): Update.
+       (lto_tree_code_to_tag): Update.
+       (lto_tag_to_tree_code): Update.
+
+2020-06-02  Felix Yang  <felix.yang@huawei.com>
+
+       PR target/95459
+       * config/aarch64/aarch64.c (aarch64_short_vector_p):
+       Leave later code to report an error if SVE is disabled.
+
+2020-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64-cores.def (zeus): Define.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi (AArch64 Options): Document zeus -mcpu option.
+
+2020-06-02  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/95347
+       * config/rs6000/rs6000.c (prefixed_store_p): Add special case
+       for stfs.
+       (is_stfs_insn): New helper function.
+
+2020-06-02  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-in.c (stream_read_tree_ref): Simplify streaming of
+       references.
+       * lto-streamer-out.c (stream_write_tree_ref): Likewise.
+
+2020-06-02  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-hsa.h (CC1_SPEC): Delete.
+       * 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>
+
+       PR middle-end/95395
+       * optabs.c (expand_unop): Fix bits/bytes confusion in latest change.
+       * tree-pretty-print.c (dump_generic_node) <ARRAY_TYPE>: Print quals.
+
+2020-06-02  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       * config/s390/s390.c (print_operand): Emit vector alignment
+       hints for z13.
+
+2020-06-02  Martin Liska  <mliska@suse.cz>
+
+       * coverage.c (get_coverage_counts): Skip sanity check for TOP N counters
+       as they have variable number of counters.
+       * gcov-dump.c (main): Add new option -r.
+       (print_usage): Likewise.
+       (tag_counters): All new raw format.
+       * gcov-io.h (struct gcov_kvp): New.
+       (GCOV_TOPN_VALUES): Remove.
+       (GCOV_TOPN_VALUES_COUNTERS): Likewise.
+       (GCOV_TOPN_MEM_COUNTERS): New.
+       (GCOV_TOPN_DISK_COUNTERS): Likewise.
+       (GCOV_TOPN_MAXIMUM_TRACKED_VALUES): Likewise.
+       * ipa-profile.c (ipa_profile_generate_summary): Use
+       GCOV_TOPN_MAXIMUM_TRACKED_VALUES.
+       (ipa_profile_write_edge_summary): Likewise.
+       (ipa_profile_read_edge_summary): Likewise.
+       (ipa_profile): Remove usage of GCOV_TOPN_VALUES.
+       * profile.c (sort_hist_values): Sort variable number
+       of counters.
+       (compute_value_histograms): Special case for TOP N counters
+       that have dynamic number of key-value pairs.
+       * value-prof.c (dump_histogram_value): Dump variable number
+       of key-value pairs.
+       (stream_in_histogram_value): Stream in variable number
+       of key-value pairs for TOP N counter.
+       (get_nth_most_common_value): Deal with variable number
+       of key-value pairs.
+       (dump_ic_profile): Use GCOV_TOPN_MAXIMUM_TRACKED_VALUES
+       for loop iteration.
+       (gimple_find_values_to_profile): Set GCOV_TOPN_MEM_COUNTERS
+       to n_counters.
+       * doc/gcov-dump.texi: Document new -r option.
+
+2020-06-02  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       PR target/95420
+       * config.gcc (arm-wrs-vxworks7*): Set default cpu to generic-armv7-a.
+
+2020-06-01  Jeff Law  <law@torsion.usersys.redhat.com>
+
+       * lower-subreg.c (resolve_simple_move): If simplify_gen_subreg_concatn
+       returns (const_int 0) for the destination, then emit nothing.
+
+2020-06-01  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer.h (enum LTO_tags): Remove LTO_field_decl_ref,
+       LTO_function_decl_ref, LTO_label_decl_ref, LTO_namespace_decl_ref,
+       LTO_result_decl_ref, LTO_type_decl_ref, LTO_type_ref,
+       LTO_const_decl_ref, LTO_imported_decl_ref,
+       LTO_translation_unit_decl_ref, LTO_global_decl_ref and
+       LTO_namelist_decl_ref; add LTO_global_stream_ref.
+       * lto-streamer-in.c (lto_input_tree_ref): Simplify.
+       (lto_input_scc): Update.
+       (lto_input_tree_1): Update.
+       * lto-streamer-out.c (lto_indexable_tree_ref): Simlify.
+       * lto-streamer.c (lto_tag_name): Update.
+
+2020-06-01  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-reference.c (stream_out_bitmap): Use lto_output_var_decl_ref.
+       (ipa_reference_read_optimization_summary): Use lto_intput_var_decl_ref.
+       * lto-cgraph.c (lto_output_node): Likewise.
+       (lto_output_varpool_node): Likewise.
+       (output_offload_tables): Likewise.
+       (input_node): Likewise.
+       (input_varpool_node): Likewise.
+       (input_offload_tables): Likewise.
+       * lto-streamer-in.c (lto_input_tree_ref): Declare.
+       (lto_input_var_decl_ref): Declare.
+       (lto_input_fn_decl_ref): Declare.
+       * lto-streamer-out.c (lto_indexable_tree_ref): Use only one decl stream.
+       (lto_output_var_decl_index): Rename to ..
+       (lto_output_var_decl_ref): ... this.
+       (lto_output_fn_decl_index): Rename to ...
+       (lto_output_fn_decl_ref): ... this.
+       * lto-streamer.h (enum lto_decl_stream_e_t): Remove per-type streams.
+       (DEFINE_DECL_STREAM_FUNCS): Remove.
+       (lto_output_var_decl_index): Remove.
+       (lto_output_fn_decl_index): Remove.
+       (lto_output_var_decl_ref): Declare.
+       (lto_output_fn_decl_ref): Declare.
+       (lto_input_var_decl_ref): Declare.
+       (lto_input_fn_decl_ref): Declare.
+
+2020-06-01  Feng Xue  <fxue@os.amperecomputing.com>
+
+       * cgraphclones.c (materialize_all_clones): Adjust replace map dump.
+       * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Do not
+       dump infomation if there is no adjusted parameter.
+       * (ipa_param_adjustments::dump): Adjust prefix spaces for dump string.
+
+2020-06-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (gimple-array-bounds.o): New.
+       * tree-vrp.c: Move array bounds code...
+       * gimple-array-bounds.cc: ...here...
+       * gimple-array-bounds.h: ...and here.
+
+2020-06-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Makefile.in (OBJS): Add value-range-equiv.o.
+       * tree-vrp.c (*value_range_equiv*): Move to...
+       * value-range-equiv.cc: ...here.
+       * tree-vrp.h (class value_range_equiv): Move to...
+       * value-range-equiv.h: ...here.
+       * vr-values.h: Include value-range-equiv.h.
+
+2020-06-01  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/93429
+       * ipa-cp.c (propagate_aggs_across_jump_function): Check aggregate
+       lattice for simple pass-through by-ref argument.
+
+2020-05-31  Jeff Law  <law@redhat.com>
+
+       * lra.c (add_auto_inc_notes): Remove function.
+       * reload1.c (add_auto_inc_notes): Similarly.  Move into...
+       * rtlanal.c (add_auto_inc_notes): New function.
+       * rtl.h (add_auto_inc_notes): Add prototype.
+       * recog.c (peep2_attempt): Scan and add REG_INC notes to new insns
+       as needed.
+
+2020-05-31  Jan Hubicka  <jh@suse.cz>
+
+       * lto-section-out.c (lto_output_decl_index): Remove.
+       (lto_output_field_decl_index): Move to lto-streamer-out.c
+       (lto_output_fn_decl_index): Move to lto-streamer-out.c
+       (lto_output_namespace_decl_index): Remove.
+       (lto_output_var_decl_index): Remove.
+       (lto_output_type_decl_index): Remove.
+       (lto_output_type_ref_index): Remove.
+       * lto-streamer-out.c (output_type_ref): Remove.
+       (lto_get_index): New function.
+       (lto_output_tree_ref): Remove.
+       (lto_indexable_tree_ref): New function.
+       (lto_output_var_decl_index): Move here from lto-section-out.c; simplify.
+       (lto_output_fn_decl_index): Move here from lto-section-out.c; simplify.
+       (stream_write_tree_ref): Update.
+       (lto_output_tree): Update.
+       * lto-streamer.h (lto_output_decl_index): Remove prototype.
+       (lto_output_field_decl_index): Remove prototype.
+       (lto_output_namespace_decl_index): Remove prototype.
+       (lto_output_type_decl_index): Remove prototype.
+       (lto_output_type_ref_index): Remove prototype.
+       (lto_output_var_decl_index): Move.
+       (lto_output_fn_decl_index): Move
+
+2020-05-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95052
+       * expr.c (store_expr): For shortedned_string_cst, ensure temp has
+       BLKmode.
+
+2020-05-31  Jeff Law  <law@redhat.com>
+
+       * config/h8300/jumpcall.md (brabs, brabc): Disable patterns.
+
+2020-05-31  Jim Wilson  <jimw@sifive.com>
+
+       * config/riscv/riscv.md (zero_extendsidi2_shifted): New.
+
+2020-05-30  Jonathan Yong  <10walls@gmail.com>
+
+       * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Insert -lkernel32
+       after -lmsvcrt. This is necessary as libmsvcrt.a is not a pure
+       import library, but also contains some functions that invoke
+       others in KERNEL32.DLL.
+
+2020-05-29  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/altivec.md (altivec_vmrghw_direct): Prefer VSX form.
+       (altivec_vmrglw_direct): Ditto.
+       (altivec_vperm_<mode>_direct): Ditto.
+       (altivec_vperm_v8hiv16qi): Ditto.
+       (*altivec_vperm_<mode>_uns_internal): Ditto.
+       (*altivec_vpermr_<mode>_internal): Ditto.
+       (vperm_v8hiv4si): Ditto.
+       (vperm_v16qiv8hi): Ditto.
+
+2020-05-29  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-in.c (streamer_read_chain): Move here from
+       tree-streamer-in.c.
+       (stream_read_tree_ref): New.
+       (lto_input_tree_1): Simplify.
+       * lto-streamer-out.c (stream_write_tree_ref): New.
+       (lto_write_tree_1): Simplify.
+       (lto_output_tree_1): Simplify.
+       (DFS::DFS_write_tree): Simplify.
+       (streamer_write_chain): Move here from tree-stremaer-out.c.
+       * lto-streamer.h (lto_output_tree_ref): Update prototype.
+       (stream_read_tree_ref): Declare
+       (stream_write_tree_ref): Declare
+       * tree-streamer-in.c (streamer_read_chain): Update to use
+       stream_read_tree_ref.
+       (lto_input_ts_common_tree_pointers): Likewise.
+       (lto_input_ts_vector_tree_pointers): Likewise.
+       (lto_input_ts_poly_tree_pointers): Likewise.
+       (lto_input_ts_complex_tree_pointers): Likewise.
+       (lto_input_ts_decl_minimal_tree_pointers): Likewise.
+       (lto_input_ts_decl_common_tree_pointers): Likewise.
+       (lto_input_ts_decl_with_vis_tree_pointers): Likewise.
+       (lto_input_ts_field_decl_tree_pointers): Likewise.
+       (lto_input_ts_function_decl_tree_pointers): Likewise.
+       (lto_input_ts_type_common_tree_pointers): Likewise.
+       (lto_input_ts_type_non_common_tree_pointers): Likewise.
+       (lto_input_ts_list_tree_pointers): Likewise.
+       (lto_input_ts_vec_tree_pointers): Likewise.
+       (lto_input_ts_exp_tree_pointers): Likewise.
+       (lto_input_ts_block_tree_pointers): Likewise.
+       (lto_input_ts_binfo_tree_pointers): Likewise.
+       (lto_input_ts_constructor_tree_pointers): Likewise.
+       (lto_input_ts_omp_clause_tree_pointers): Likewise.
+       * tree-streamer-out.c (streamer_write_chain): Update to use
+       stream_write_tree_ref.
+       (write_ts_common_tree_pointers): Likewise.
+       (write_ts_vector_tree_pointers): Likewise.
+       (write_ts_poly_tree_pointers): Likewise.
+       (write_ts_complex_tree_pointers): Likewise.
+       (write_ts_decl_minimal_tree_pointers): Likewise.
+       (write_ts_decl_common_tree_pointers): Likewise.
+       (write_ts_decl_non_common_tree_pointers): Likewise.
+       (write_ts_decl_with_vis_tree_pointers): Likewise.
+       (write_ts_field_decl_tree_pointers): Likewise.
+       (write_ts_function_decl_tree_pointers): Likewise.
+       (write_ts_type_common_tree_pointers): Likewise.
+       (write_ts_type_non_common_tree_pointers): Likewise.
+       (write_ts_list_tree_pointers): Likewise.
+       (write_ts_vec_tree_pointers): Likewise.
+       (write_ts_exp_tree_pointers): Likewise.
+       (write_ts_block_tree_pointers): Likewise.
+       (write_ts_binfo_tree_pointers): Likewise.
+       (write_ts_constructor_tree_pointers): Likewise.
+       (write_ts_omp_clause_tree_pointers): Likewise.
+       (streamer_write_tree_body): Likewise.
+       (streamer_write_integer_cst): Likewise.
+       * tree-streamer.h (streamer_read_chain):Declare.
+       (streamer_write_chain):Declare.
+       (streamer_write_tree_body): Update prototype.
+       (streamer_write_integer_cst): Update prototype.
+
+2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR bootstrap/95413
+       * configure: Regenerated.
+
+2020-05-29  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (add<mode>3_vcc_zext_dup): Add early clobber.
+       (add<mode>3_vcc_zext_dup_exec): Likewise.
+       (add<mode>3_vcc_zext_dup2): Likewise.
+       (add<mode>3_vcc_zext_dup2_exec): Likewise.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95272
+       * tree-vectorizer.h (_slp_tree::representative): Add.
+       (SLP_TREE_REPRESENTATIVE): Likewise.
+       * tree-vect-loop.c (vectorizable_reduction): Adjust SLP
+       node gathering.
+       (vectorizable_live_operation): Use the representative to
+       attach the reduction info to.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Initialize
+       SLP_TREE_REPRESENTATIVE.
+       (vect_create_new_slp_node): Likewise.
+       (slp_copy_subtree): Copy it.
+       (vect_slp_rearrange_stmts): Re-arrange even COND_EXPR stmts.
+       (vect_slp_analyze_node_operations_1): Pass the representative
+       to vect_analyze_stmt.
+       (vect_schedule_slp_instance): Pass the representative to
+       vect_transform_stmt.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95356
+       * tree-vect-stmts.c (vectorizable_shift): Do in-place SLP
+       node hacking during analysis.
+
+2020-05-29  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/95362
+       * lto-streamer-out.c (lto_output_tree): Disable redundant streaming.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95403
+       * tree-vect-stmts.c (vect_init_vector_1): Guard against NULL
+       stmt_vinfo.
+
+2020-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95315
+       * omp-general.c (omp_resolve_declare_variant): Fix up addition of
+       declare variant cgraph node removal callback.
+
+2020-05-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/95052
+       * expr.c (store_expr): If expr_size is constant and significantly
+       larger than TREE_STRING_LENGTH, set temp to just the
+       TREE_STRING_LENGTH portion of the STRING_CST.
+
+2020-05-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95393
+       * tree-ssa-phiopt.c (minmax_replacement): Use gimple_build
+       to build the min/max expression so we simplify cases like
+       MAX(0, s) immediately.
+
+2020-05-29  Joe Ramsay  <joe.ramsay@arm.com>
+
+       * config/aarch64/aarch64-sve.md (<LOGICAL:optab><mode>3): Add support
+       for unpacked EOR, ORR, AND.
+
 2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>
 
        * Makefile.in: don't look for libiberty in the "pic" subdirectory
This page took 0.128062 seconds and 5 git commands to generate.