]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
index af0fa202d55eb9157386a3d9af9324eb4d485c9a..db1438819744d118025d8d869536f6a70f86e166 100644 (file)
+2022-05-16  Jason Merrill  <jason@redhat.com>
+
+       PR c/105492
+       * attribs.cc (decl_attributes): Fix broken typedefs here.
+
+2022-05-16  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/105103
+       * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
+       * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
+       -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
+       -Wanalyzer-va-list-use-after-va-end.
+
+2022-05-16  Richard Biener  <rguenther@suse.de>
+
+       * gimple-match.h (gimple_build): Move code_helper overloads ...
+       * gimple-fold.h (gimple_build): ... here.
+       (gimple_build): Transition to new worker API.  Provide
+       overloads from sequence-based API.
+       (gimple_convert): Likewise.
+       (gimple_convert_to_ptrofftype): Likewise.
+       (gimple_build_vector_from_val): Likewise.
+       (gimple_build_vector): Likewise.
+       (gimple_build_round_up): Likewise.
+       * gimple-fold.cc (gimple_build_insert_seq): New helper.
+       (gimple_build): Use it.  Transition combined_fn and code_helper
+       API parts.
+       (gimple_convert): Transition to new worker API.
+       (gimple_convert_to_ptrofftype): Likewise.
+       (gimple_build_vector_from_val): Likewise.
+       (gimple_build_vector): Likewise.
+       (gimple_build_round_up): Likewise.
+
+2022-05-16  Richard Biener  <rguenther@suse.de>
+
+       * gimple-match.h (code_helper): Move class ...
+       * tree.h (code_helper): ... here.
+
+2022-05-16  Martin Liska  <mliska@suse.cz>
+
+       * opts-global.cc (write_langs): Add comment.
+
+2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
+       instead of a bitwise negation.
+       <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
+
+2022-05-16  Martin Liska  <mliska@suse.cz>
+
+       * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
+       (decls_mismatched_attributes): Likewise.
+       * builtins.cc (c_strlen): Likewise.
+       * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
+       * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
+       * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
+       (aarch64_init_simd_builtin_types): Likewise.
+       (aarch64_init_builtin_rsqrt): Likewise.
+       * config/aarch64/aarch64.cc (is_madd_op): Likewise.
+       * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
+       (arm_init_simd_builtin_types): Likewise.
+       * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
+       (c_prefix): Likewise.
+       (main): Likewise.
+       * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
+       * config/darwin-c.cc (darwin_register_frameworks): Likewise.
+       * config/gcn/mkoffload.cc (process_obj): Likewise.
+       * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
+       (fold_builtin_cpu): Likewise.
+       * config/m32c/m32c.cc (PUSHM_N): Likewise.
+       * config/nvptx/mkoffload.cc (process): Likewise.
+       * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
+       * config/s390/s390.cc (NR_C_MODES): Likewise.
+       * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
+       (create_insn_code_compression_table): Likewise.
+       * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
+       * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
+       * dwarf2out.cc (ARRAY_SIZE): Likewise.
+       * genhooks.cc (emit_documentation): Likewise.
+       (emit_init_macros): Likewise.
+       * gimple-ssa-sprintf.cc (format_floating): Likewise.
+       * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
+       * godump.cc (keyword_hash_init): Likewise.
+       * hash-table.cc (hash_table_higher_prime_index): Likewise.
+       * input.cc (for_each_line_table_case): Likewise.
+       * ipa-free-lang-data.cc (free_lang_data): Likewise.
+       * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
+       * optc-save-gen.awk: Likewise.
+       * spellcheck.cc (test_metric_conditions): Likewise.
+       * tree-vect-slp-patterns.cc (sizeof): Likewise.
+       (ARRAY_SIZE): Likewise.
+       * tree.cc (build_common_tree_nodes): Likewise.
+
+2022-05-16  Martin Liska  <mliska@suse.cz>
+
+       * opts-global.cc (write_langs): Allocate at least one byte.
+
+2022-05-16  Richard Biener  <rguenther@suse.de>
+
+       * match.pd (A cmp B ? A : B -> min/max): New patterns
+       carried over from fold_cond_expr_with_comparison.
+
+2022-05-16  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/105587
+       * config/i386/i386-expand.cc
+       (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
+       d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
+
+2022-05-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md: Remove constraints when used with
+       const_int_operand, const0_operand, const_1_operand, constm1_operand,
+       const8_operand, const128_operand, const248_operand, const123_operand,
+       const2367_operand, const1248_operand, const359_operand,
+       const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
+       const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
+       const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
+       const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
+       const_0_to_255_mul_8_operand, const_1_to_31_operand,
+       const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
+       const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
+       const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
+       const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
+       const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
+       const_24_to_27_operand and const_28_to_31_operand.
+       * config/i386/mmx.md: Ditto.
+       * config/i386/sse.md: Ditto.
+       * config/i386/subst.md: Ditto.
+       * config/i386/sync.md: Ditto.
+
+2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
+       For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
+       by a pshufd and pand.
+       (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
+       vector equality as a V2DImode vector comparison (see above),
+       followed by a pshufd and pand.
+
+2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/83907
+       * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
+       for memset with an constant char value.
+       (handle_store): Improved handling of stores with a first byte
+       of zero, but not storing_all_zeros_p.
+
+2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
+           Manolis Tsamis  <manolis.tsamis@vrull.eu>
+
+       * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
+       (CTZ_DEFINED_VALUE_AT_ZERO): Same.
+       * doc/sourcebuild.texi: add documentation for RISC-V specific
+       test target keywords
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/105597
+       * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
+       of the lhs and make sure it is not undefined.
+
+2022-05-13  Sebastian Pop  <spop@amazon.com>
+
+       PR target/105162
+       * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
+       of str array.
+       * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
+       memmodel_from_int and handle MEMMODEL_SYNC_*.
+       (DEF0): Add __aarch64_*_sync functions.
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
+       enumerated values.
+       * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
+       * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
+       new VREL enumerated values.
+       (*::lhs_op2_relation): Ditto.
+       (*::op1_op2_relation): Ditto.
+       (*::fold_range): Use new VREL enumerated values.
+       (minus_op1_op2_relation_effect): Ditto.
+       (range_relational_tests): Ditto.
+       * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
+       (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
+       relation_kind.
+       (*_op1_op2_relation): Return relation_kind.
+       (relop_early_resolve): Use VREL_UNDEFINED.
+       * value-query.cc (range_query::query_relation): Use VREL_VARYING.
+       * value-relation.cc (VREL_LAST): Change enumerated value.
+       (vrel_range_assert): Delete.
+       (print_relation): Remove range assert.
+       (rr_negate_table): Adjust table to use new enumerated values..
+       (relation_negate): Remove range assert.
+       (rr_swap_table): Adjust.
+       (relation_swap): Remove range assert.
+       (rr_intersect_table): Adjust.
+       (relation_intersect): Remove range assert.
+       (rr_union_table): Adjust.
+       (relation_union): Remove range assert.
+       (rr_transitive_table): Adjust.
+       (relation_transitive): Remove range assert.
+       (equiv_oracle::query_relation): Use new VREL enumerated values.
+       (equiv_oracle::register_relation): Ditto.
+       (relation_oracle::register_stmt): Ditto.
+       (dom_oracle::set_one_relation): Ditto.
+       (dom_oracle::register_transitives): Ditto.
+       (dom_oracle::query_relation): Ditto.
+       (path_oracle::register_relation): Ditto.
+       (path_oracle::query_relation): Ditto.
+       * value-relation.h (enum relation_kind_t): New relation_kind.
+       (*_op1_op2_relation): Adjust prototypes.
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
+       * value-range.cc (irange::legacy_verbose_union_): Add return value.
+       (irange::irange_single_pair_union): New.
+       (irange::irange_union): Add return value.
+       * value-range.h (class irange): Adjust prototypes.
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-range.cc (irange::legacy_verbose_intersect): Add return value.
+       (irange::irange_contains_p): New.
+       (irange::irange_intersect): Add return value.
+       * value-range.h (class irange): Adjust prototypes.
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
+       had_global value instead.
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/104547
+       * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
+       the op1/op2 relation to the relation call.
+       * range-op.cc (*::lhs_op1_relation): Add param.
+       (*::lhs_op2_relation): Ditto.
+       (operator_minus::lhs_op1_relation): New.
+       (range_relational_tests): Add relation param.
+       * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range.cc (gimple_ranger::register_side_effects): First check
+       if the DEF should be exported as a global.
+       * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
+       which will export globals.
+       (execute_ranger_vrp): Remove call to export_global_ranges.
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
+
+2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
+       worlist truncated.
+       (ranger_cache::entry_range): Add rfd_mode parameter.
+       (ranger_cache::exit_range): Ditto.
+       (ranger_cache::edge_range): New.  Incorporate from range_on_edge.
+       (ranger_cache::range_of_expr): Adjust call to entry_range.
+       (ranger_cache::range_on_edge): Split to edge_range and call.
+       (ranger_cache::fill_block_cache): Always invoke range_from_dom.
+       (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
+       mutiple predecessors.
+       (ranger_cache::update_to_nonnull): Adjust call to exit_range.
+       * gimple-range-cache.h (ranger_cache): Add enum rfd_mode.  Adjust
+       prototypes.
+
+2022-05-13  Alexandre Oliva  <oliva@adacore.com>
+
+       * gimple-harden-conditionals.cc: Include sbitmap.h.
+       (pass_harden_conditional_branches::execute): Skip new blocks.
+       (pass_harden_compares::execute): Likewise.
+
+2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/105463
+       * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
+       mve_memory_operand.
+       (*movmisalign<mode>_mve_load): Likewise.
+       * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
+       form...
+       (@movmisalign<mode>): ... thus.  Use generic predicates and then
+       rework operands if they are not valid.  For MVE rework to a
+       narrower element size if the alignment is not high enough.
+
+2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
+       when there is no write-back.  Fix use when strict is true.
+
+2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
+       definition.
+
+2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
+
+       * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
+       extzvsi_internal): Rename from extv, extv_internal, extzv and
+       extzv_internal, respectively.
+
+2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-sra.cc (sra_modify_assign): Check that scalar storage order
+       is the same on the LHS and RHS before rewriting one with the model
+       of the other.
+
+2022-05-13  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.cc (gimple_build): Adjust for new
+       main API.
+       * gimple-fold.h (gimple_build): New main APIs with
+       iterator, insert direction and iterator update.
+       (gimple_build): New forwarder template.
+       (clear_padding_type_may_have_padding_p): Remove.
+       (clear_type_padding_in_mask): Likewise.
+       (arith_overflowed_p): Likewise.
+       * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
+       (clear_type_padding_in_mask): Likewise.
+       (arith_overflowed_p): Likewise.
+       * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
+       (gimplify_build2): Likewise.
+       (gimplify_build1): Likewise.
+       * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
+       compare stmt.
+       * gengtype.cc (open_base_files): Re-order includes.
+       * builtins.cc: Re-order gimple-fold.h include.
+       * calls.cc: Likewise.
+       * cgraphbuild.cc: Likewise.
+       * cgraphunit.cc: Likewise.
+       * config/rs6000/rs6000-builtin.cc: Likewise.
+       * config/rs6000/rs6000-call.cc: Likewise.
+       * config/rs6000/rs6000.cc: Likewise.
+       * config/s390/s390.cc: Likewise.
+       * expr.cc: Likewise.
+       * fold-const.cc: Likewise.
+       * function-tests.cc: Likewise.
+       * gimple-match-head.cc: Likewise.
+       * gimple-range-fold.cc: Likewise.
+       * gimple-ssa-evrp-analyze.cc: Likewise.
+       * gimple-ssa-evrp.cc: Likewise.
+       * gimple-ssa-sprintf.cc: Likewise.
+       * gimple-ssa-warn-access.cc: Likewise.
+       * gimplify.cc: Likewise.
+       * graphite-isl-ast-to-gimple.cc: Likewise.
+       * ipa-cp.cc: Likewise.
+       * ipa-devirt.cc: Likewise.
+       * ipa-prop.cc: Likewise.
+       * omp-low.cc: Likewise.
+       * pointer-query.cc: Likewise.
+       * range-op.cc: Likewise.
+       * tree-cfg.cc: Likewise.
+       * tree-if-conv.cc: Likewise.
+       * tree-inline.cc: Likewise.
+       * tree-object-size.cc: Likewise.
+       * tree-ssa-ccp.cc: Likewise.
+       * tree-ssa-dom.cc: Likewise.
+       * tree-ssa-forwprop.cc: Likewise.
+       * tree-ssa-ifcombine.cc: Likewise.
+       * tree-ssa-loop-ivcanon.cc: Likewise.
+       * tree-ssa-math-opts.cc: Likewise.
+       * tree-ssa-pre.cc: Likewise.
+       * tree-ssa-propagate.cc: Likewise.
+       * tree-ssa-reassoc.cc: Likewise.
+       * tree-ssa-sccvn.cc: Likewise.
+       * tree-ssa-strlen.cc: Likewise.
+       * tree-ssa.cc: Likewise.
+       * value-pointer-equiv.cc: Likewise.
+       * vr-values.cc: Likewise.
+
+2022-05-13  Alexandre Oliva  <oliva@adacore.com>
+
+       PR rtl-optimization/105455
+       * gimple-harden-conditionals.cc (insert_check_and_trap): Set
+       probabilities for newly-conditional edges.
+
+2022-05-13  liuhongt  <hongtao.liu@intel.com>
+
+       PR tree-optimization/102583
+       * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
+       contiguous stride in the VEC_PERM_EXPR.
+
+2022-05-12  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/105577
+       * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
+       edges before running fast DCE via df_analyze.
+
+2022-05-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105562
+       * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
+       against all CLOBBER defs if there's not an obvious must-alias
+       and we are not doing redundant store elimination.
+       (vn_walk_cb_data::redundant_store_removal_p): New field.
+       (vn_reference_lookup_pieces): Initialize it.
+       (vn_reference_lookup): Add argument to specify if we are
+       doing redundant store removal.
+       (eliminate_dom_walker::eliminate_stmt): Specify we do.
+       * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
+
+2022-05-12  Haochen Jiang  <haochen.jiang@intel.com>
+
+       PR target/104371
+       * config/i386/sse.md (vi1avx2const): New define_mode_attr.
+       (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
+       New define_split pattern.
+
+2022-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
+       if null_pointer_node.
+       (gimplify_scan_omp_clauses): Likewise.
+       * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
+       as omp_all_memory.
+
+2022-05-11  Patrick Palka  <ppalka@redhat.com>
+
+       * tree.h (TREE_VEC_BEGIN): Define.
+       (TREE_VEC_END): Correct 'length' member access.
+       (class tree_vec_range): Define.
+
+2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md: Use wa instead of <Fv>.
+
+2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md: Use d instead of <Ff>.
+
+2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/constraints.md (register_constraint "f"): Use
+       RS6000_CONSTRAINT_d.
+       * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
+       RS6000_CONSTRAINT_f.
+       (rs6000_init_hard_regno_mode_ok): Ditto.  Reorder and simplify a bit.
+       * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
+       RS6000_CONSTRAINT_d.
+
+2022-05-11  Richard Biener  <rguenther@suse.de>
+
+       * gimple-fold.h (gimple_build): Use variadic template
+       functions for the gimple_build API forwarders without
+       location_t argument.
+
+2022-05-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       PR middle-end/70090
+       * asan.cc (initialize_sanitizer_builtins): Register
+       __builtin_dynamic_object_size if necessary.
+
+2022-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/105559
+       * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
+       for non-debug insns.
+
+2022-05-11  Richard Biener  <rguenther@suse.de>
+
+       * generic-match-head.cc: Include tree-eh.h.
+       * match.pd ((cond ...) cmp X): New simplification inspired
+       by fold_binary_op_with_conditional_arg.
+       (eq/ne (cmp ...) true/false): Likewise.
+
+2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * doc/install.texi: Don't document '--with-hsa-runtime',
+       '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
+
+2022-05-11  Martin Liska  <mliska@suse.cz>
+
+       PR other/105527
+       * doc/install.texi: Document the configure option --with-zstd.
+
+2022-05-11  Martin Liska  <mliska@suse.cz>
+
+       * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
+       compute index in cpu_features2.
+       (set_cpu_feature): Likewise.
+       * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
+       loop for cpu_features2 and use NOP_EXPRs.
+
+2022-05-11  Richard Biener  <rguenther@suse.de>
+
+       PR bootstrap/105551
+       * opts.cc (finish_options): Also disable var-tracking if
+       !DWARF2_DEBUGGING_INFO.
+
+2022-05-11  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/104915
+       * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
+       pre_reload define_insn_and_split.
+       (*vec_setv2di_0_zero_extendhi_1): Ditto.
+       (*vec_set<mode>_0_zero_extendsi): Ditto.
+       (*vec_setv2di_0_zero_extendsi_1): Ditto.
+       (ssewvecmode): New mode attr.
+       (ssewvecmodelower): Ditto.
+       (ssepackmodelower): Ditto.
+
+2022-05-11  Kewen Lin  <linkw@linux.ibm.com>
+
+       * config/rs6000/constraints.md (register constraint v): Use
+       rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
+
+2022-05-11  Martin Liska  <mliska@suse.cz>
+
+       PR target/105355
+       * config/riscv/riscv.opt: Remove Separate from
+       -msmall-data-limit=.
+       * optc-gen.awk: Report error for the described situation.
+       * gcc.cc: Use Separate syntax.
+       * opts.cc (gen_command_line_string): Change option name.
+
+2022-05-11  Haochen Gui  <guihaoc@gcc.gnu.org>
+
+       PR target/105414
+       * match.pd (minmax): Skip constant folding for fmin/fmax when both
+       arguments are sNaN or one is sNaN and another is NaN.
+
+2022-05-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105528
+       * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
+       set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
+
+2022-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * doc/md.texi (Defining Mode Iterators): Correct example replacement
+       text.
+
+2022-05-10  Maciej W. Rozycki  <macro@embecosm.com>
+
+       * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
+       constants.
+       (fmin<mode>3, fmax<mode>3): New insns.
+
+2022-05-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-if-conv.cc (fold_build_cond_expr): Use
+       match-and-simplify to simplify the condition.
+       (ifcvt_follow_ssa_use_edges): Remove.
+       (predicate_scalar_phi): Use follow_all_ssa_edges.
+
+2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/100400
+       * omp-oacc-kernels-decompose.cc
+       (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
+       call 'internal_error'.
+
+2022-05-10  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/105537
+       * toplev.cc (process_options): Move flag_var_tracking
+       handling ...
+       * opts.cc (finish_options): ... here.
+
+2022-05-10  Martin Liska  <mliska@suse.cz>
+
+       * basic-block.h (struct basic_block_d): Use void *
+       instead PTR.
+       * cfgloop.h: Likewise.
+       * cgraph.h: Likewise.
+       * gengtype-state.cc (state_ident_by_name): Likewise.
+       (record_type): Likewise.
+       (read_state_already_seen_type): Likewise.
+       * gengtype.cc (dump_type): Likewise.
+       (input_file_by_name): Likewise.
+       (main): Likewise.
+       * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
+       * ipa-utils.h (struct ipa_dfs_info): Likewise.
+       * plugin.cc (htab_hash_plugin): Likewise.
+
+2022-05-10  Richard Biener  <rguenther@suse.de>
+
+       * flags.h (dwarf_debuginfo_p): Add opts argument, guard
+       API with !GENERATOR_FILE.
+       * opts.cc (global_options): Poison.
+       (global_options_set): Likewise.
+       (finish_options): Refer to options via opts.
+
+2022-05-10  Uroš Bizjak  <ubizjak@gmail.com>
+           Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
+       alternative when optimizing for size and the immediate operand is
+       const_0_to_127_operand.
+       (*andqi_2_maybe_si): Likewise.
+       * config/i386/predicates.md (const_0_to_127_operand): New predicate.
+
+2022-05-10  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
+       "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
+       can't be negative.
+
+2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/105292
+       * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
+       true only for 8-byte vector modes.
+
+2022-05-10  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       PR middle-end/70090
+       * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
+       (instrument_object_size): Get dynamic object size expression.
+
+2022-05-10  Jiufu Guo  <guojiufu@linux.ibm.com>
+
+       PR preprocessor/101168
+       * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
+       Avoid empty identifier.
+
+2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
+
+       PR target/101891
+       * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
+       as a generic MMX mode instead of V4HImode.
+       (zero_all_mm_registers): Use SET to zero instead of MOV for
+       zeroing scratch registers.
+       (ix86_zero_call_used_regs): Likewise.
+
+2022-05-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/105354
+       * config/i386/i386-expand.cc
+       (expand_vec_perm_pslldq_psrldq_por): New function.
+       (ix86_expand_vec_perm_const_1): Try
+       expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
+       4/5-instruction sequence.
+
+2022-05-09  Martin Liška  <mliska@suse.cz>
+
+       * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
+       * system.h (STATIC_ASSERT): Define as static_assert for C++
+       and fallback to array index in C.
+
+2022-05-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105517
+       * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
+       offset can be represented in the POINTER_PLUS_EXPR IL.
+       (vn_reference_insert): Likewise.
+       * poly-int.h (sext_hwi): Add poly version of sext_hwi.
+
+2022-05-09  Richard Biener  <rguenther@suse.de>
+
+       * match.pd: Remove #if GIMPLE guards around ! using patterns.
+
+2022-05-09  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/105072
+       * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
+       New define_insn.
+       (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
+       define_insn_and_split.
+
+2022-05-09  Alex Coplan  <alex.coplan@arm.com>
+
+       * cgraph.cc (cgraph_node::get_create): Don't dump if the current
+       symtab state is PARSING.
+
+2022-05-09  Martin Liska  <mliska@suse.cz>
+
+       * system.h (LIKELY): Define.
+       (UNLIKELY): Likewise.
+       * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
+       macros.
+       * dse.cc (set_position_unneeded): Likewise.
+       (set_all_positions_unneeded): Likewise.
+       (any_positions_needed_p): Likewise.
+       (all_positions_needed_p): Likewise.
+       * expmed.cc (flip_storage_order): Likewise.
+       * genmatch.cc (dt_simplify::gen_1): Likewise.
+       * ggc-common.cc (gt_pch_save): Likewise.
+       * print-rtl.cc: Likewise.
+       * rtl-iter.h (T>::array_type::~array_type): Likewise.
+       (T>::next): Likewise.
+       * rtl-ssa/internals.inl: Likewise.
+       * rtl-ssa/member-fns.inl: Likewise.
+       * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
+       (rtx_properties::try_to_add_dest): Likewise.
+       * rtlanal.h (growing_rtx_properties::repeat): Likewise.
+       (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
+       * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
+       * sort.cc (likely): Likewise.
+       (mergesort): Likewise.
+       * wide-int.h (wi::eq_p): Likewise.
+       (wi::ltu_p): Likewise.
+       (wi::cmpu): Likewise.
+       (wi::bit_and): Likewise.
+       (wi::bit_and_not): Likewise.
+       (wi::bit_or): Likewise.
+       (wi::bit_or_not): Likewise.
+       (wi::bit_xor): Likewise.
+       (wi::add): Likewise.
+       (wi::sub): Likewise.
+
+2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/arch-canonicalize: Handle g correctly.
+
+2022-05-07  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/101833
+       PR c++/47634
+       * tree-core.h (struct attribute_spec): Update comment for HANDLER.
+
+2022-05-06  Jason Merrill  <jason@redhat.com>
+
+       * diagnostic-color.cc: Add fnname and targs color entries.
+       * doc/invoke.texi: Document them.
+
+2022-05-06  Jason Merrill  <jason@redhat.com>
+
+       * vec.h (vec::iterate): Fix comment.
+
+2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/102059
+       * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
+       and -mpower10-fusion options for inlining purposes.
+
+2022-05-06  Christophe Lyon  <christophe.lyon@arm.com>
+
+       * config/aarch64/iterators.md (GPF_TF_F16): Delete.
+
+2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
+       omp_runtime_apis array.
+
+2022-05-06  Hafiz Abid Qadeer  <abidh@codesourcery.com>
+
+       * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
+       (scan_sharing_clauses):  Check a restriction on allocate clause.
+
+2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
+       and ORDERED clause conflict errors.  Add check for GRAINSIZE and
+       NUM_TASKS on TASKLOOP.
+
+2022-05-05  Martin Liska  <mliska@suse.cz>
+
+       * genautomata.cc (create_composed_state): Remove dead code.
+       * graphite-poly.cc (print_pdrs): Likewise.
+       * lto-wrapper.cc (run_gcc): Likewise.
+       * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
+       Likewise.
+
+2022-05-05  Martin Liska  <mliska@suse.cz>
+
+       * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
+       PROF_*.
+       (gimple_gen_time_profiler): Likewise.
+
+2022-05-05  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.cc (stream_out_histogram_value): Remove sanity
+       checking.
+
+2022-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104162
+       * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
+       &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
+       becomes invariant.
+       (vn_reference_insert): Likewise.
+
+2022-05-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
+       to real_value field.
+       (tree_real_cst::value): Add real_value field.
+       * tree.h (TREE_REAL_CST_PTR): Adjust.
+       * tree.cc (build_real): Remove separate allocation.
+       * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
+       Likewise.
+
+2022-05-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
+       divisions with undefined overflow unconditionally.
+       (pass_tree_ifcombine::execute): Rewrite stmts with undefined
+       overflow to defined.
+
+2022-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105484
+       * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
+       whether the CFG changed.
+       (gimple_expand_vec_exprs): When the CFG changed, clean it up.
+
+2022-05-05  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104595
+       * tree-vect-patterns.cc (vect_recog_bool_pattern): For
+       COND_EXPR do not fail if check_bool_pattern returns false.
+
+2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
+       item that is in an outer data-sharing clause.
+
+2022-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104658
+       * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
+       create VECTOR_BOOLEAN_TYPE_P extern defs.  Reset the vector
+       type on nodes we promote.
+       (vectorizable_bb_reduc_epilogue): Deal with externalized
+       root.
+       * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
+       not allow VECTOR_BOOLEAN_TYPE_P extern defs.
+
+2022-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/103116
+       * tree-vect-stmts.cc (get_group_load_store_type): Handle the
+       case we need peeling for gaps even though GROUP_GAP is zero.
+
+2022-05-04  Martin Liska  <mliska@suse.cz>
+
+       * gengtype-state.cc (read_a_state_token): Remove dead code.
+       * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
+
+2022-05-04  Richard Biener  <rguenther@suse.de>
+
+       * gimplify.cc (gimplify_init_constructor): First gimplify,
+       then simplify the result to a VECTOR_CST.
+
+2022-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * genconditions.cc (write_conditions): Append a { nullptr, -1 }
+       element at the end of insn_conditions.
+       (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
+       ARRAY_SIZE (insn_conditions).
+
+2022-05-04  Christophe Lyon  <christophe.lyon@arm.com>
+
+       PR target/104662
+       * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
+       vector of booleans and MVE is not enabled.
+
+2022-05-04  Richard Biener  <rguenther@suse.de>
+
+       PR debug/105158
+       * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
+       Move debug stmts to the predecessor if moving to the
+       destination is not possible.
+       (remove_forwarder_block): Adjust.
+       (remove_forwarder_block_with_phi): Likewise.
+
+2022-05-03  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/102950
+       * range-op.cc (wi_optimize_signed_bitwise_op): New function to
+       determine bounds of bitwise operations on signed types.
+       (operator_bitwise_and::wi_fold): Call the above function.
+       (operator_bitwise_or::wi_fold): Likewise.
+       (operator_bitwise_xor::wi_fold): Likewise.  Additionally, the
+       result can't be zero if the operands can't be equal.
+
+2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
+       protocol class methods linker-visible.
+
+2022-05-03  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/105079
+       * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
+       define_insn_and_split pattern.
+
+2022-05-03  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/105083
+       * tree-scalar-evolution.cc (scev_initialize): Verify we
+       have appropriate loop state.
+       * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
+       loop init and finalization.
+
+2022-05-03  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/105461
+       * opts.cc (finish_options): Match the condition to
+       disable flag_var_tracking to that of process_options.
+
+2022-05-03  Richard Biener  <rguenther@suse.de>
+
+       * opts.cc: #undef OPTIONS_SET_P.
+       (finish_options): Use opts_set instead of OPTIONS_SET_P.
+
+2022-05-03  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105394
+       * tree-vect-generic.cc (expand_vector_condition): Adjust
+       comp_width for non-integer mode masks as well.
+
+2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
+
+       * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
+       omp_runtime_apis array.
+
+2022-05-02  Richard Biener  <rguenther@suse.de>
+
+       * tree-scalar-evolution.cc (expression_expensive_p):
+       Never consider mismatched calls as cheap.
+
+2022-05-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104240
+       * tree-vect-slp.cc (op1_op0_map): New.
+       (vect_get_operand_map): Handle compares.
+       (vect_build_slp_tree_1): Support swapped operands for
+       tcc_comparison.
+
+2022-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/105415
+       * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
+       if there is no symtab node for the VAR_DECL.
+
+2022-05-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-io.cc (gcov_rewrite):  Clear the file error status.
+
+2022-05-02  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105437
+       * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
+       case where last_stmt alters control flow.
+
+2022-05-02  Richard Biener  <rguenther@suse.de>
+
+       * dojump.cc (do_jump): Use CASE_CONVERT.
+       * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
+
+2022-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * system.h: Include initializer_list.
+
+2022-05-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/constraints.md (Y constraint): Fix comment.
+
+2022-05-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
+       VR_RANGE before passing a piecewise range to set_range_info_raw.
+
+2022-04-30  Patrick Palka  <ppalka@redhat.com>
+
+       * gengtype.cc (adjust_field_tree_exp): Remove.
+       (adjust_field_type): Don't handle the "tree_exp" special attribute.
+       * tree-core.h (struct tree_exp): Remove "special" and "desc"
+       attributes.  Add "length" attribute.
+
+2022-04-29  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/100413
+       * cgraph.cc (cgraph_node::remove): Release body of the node this
+       is clone_of if appropriate.
+
+2022-04-29  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/51954
+       * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
+
+2022-04-29  Richard Biener  <rguenther@suse.de>
+
+       * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
+       (canonicalize_cond_expr_cond): Move here from gimple.cc,
+       allow both COND_EXPR and GIMPLE_COND forms.
+       * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
+       * gimple.cc (canonicalize_cond_expr_cond): Remove here.
+       * gimple.h (canonicalize_cond_expr_cond): Likewise.
+       * gimple-loop-versioning.cc (loop_versioning::version_loop):
+       Use is_gimple_condexpr_for_cond.
+       * tree-parloops.cc (gen_parallel_loop): Likewise.
+       * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
+       a proper cond expr after canonicalize_cond_expr_cond.
+       Use is_gimple_condexpr_for_cond where appropriate.
+       * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
+       * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
+
+2022-04-29  Richard Biener  <rguenther@suse.de>
+
+       * gimple-iterator.h (gsi_after_labels): Add overload for
+       gimple_seq.
+       (gsi_start_1): Rename to gsi_start and take a reference.
+       (gsi_last_1): Likewise.
+       * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
+       * omp-low.cc (lower_rec_input_clauses): Likewise.
+       (lower_omp_scan): Likewise.
+
+2022-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105431
+       * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
+       (powi_as_mults): Use absu_hwi.
+       (gimple_expand_builtin_powi): Remove now pointless n != -n
+       check.
+
+2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * range-op.cc (empty_range_varying): Move to range-op.h.
+       (range_true): Move to range.h.
+       (range_false): Same.
+       (range_true_and_false): Same.
+       (enum bool_range_state): Move to range-op.h.
+       (relop_early_resolve): Same.
+       (operator_equal::op1_op2_relation): Abstract code to...
+       (equal_op1_op2_relation): ...here.
+       (operator_not_equal::op1_op2_relation): Abstract code to...
+       (not_equal_op1_op2_relation): ...here.
+       (operator_lt::op1_op2_relation): Abstract code to...
+       (lt_op1_op2_relation): ...here.
+       (operator_le::op1_op2_relation): Abstract code to...
+       (le_op1_op2_relation): ...here.
+       (operator_gt::op1_op2_relation): Abstract code to...
+       (gt_op1_op2_relation): ...here.
+       (operator_ge::op1_op2_relation): Abstract code to...
+       (ge_op1_op2_relation): ...here.
+       (class range_op_table): Move to range-op.h.
+       * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
+       (not_equal_op1_op2_relation): Same.
+       (lt_op1_op2_relation): Same.
+       (le_op1_op2_relation): Same.
+       (gt_op1_op2_relation): Same.
+       (ge_op1_op2_relation): Same.
+       (enum bool_range_state): Same.
+       (get_bool_state): Same.
+       (empty_range_varying): Same.
+       (relop_early_resolve): Same.
+       (class range_op_table): Same.
+       * range.h (range_true): Same.
+       (range_false): Same.
+       (range_true_and_false): Same.
+
+2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-fold.cc (size_must_be_zero_p): Use reference
+       instead of pointer
+       * gimple-ssa-evrp-analyze.cc
+       (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
+       intersect to legacy_verbose_intersect.
+       * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
+       of pointer.
+       * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
+       instead of value_range_equiv.
+       * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
+       instead of pointer.
+       (find_case_label_range): Same.
+       * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
+       (value_range_equiv::legacy_verbose_intersect): ...this.
+       (value_range_equiv::union_): Rename to...
+       (value_range_equiv::legacy_verbose_union_): ...this.
+       * value-range-equiv.h (class value_range_equiv): Rename union and
+       intersect to legacy_verbose_{intersect,union}.
+       * value-range.cc (irange::union_): Rename to...
+       (irange::legacy_verbose_union_): ...this.
+       (irange::intersect): Rename to...
+       (irange::legacy_verbose_intersect): ...this.
+       * value-range.h (irange::union_): Rename union_ to
+       legacy_verbose_union.
+       (irange::intersect): Rename intersect to legacy_verbose_intersect.
+       * vr-values.cc (vr_values::update_value_range): Same.
+       (vr_values::extract_range_for_var_from_comparison_expr): Same.
+       (vr_values::extract_range_from_cond_expr): Rename union_ to
+       legacy_verbose_union.
+       (vr_values::extract_range_from_phi_node): Same.
+
+2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp-analyze.cc
+       (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
+       that take a range.
+       * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
+       * ipa-prop.cc (ipcp_update_vr): Same.
+       * tree-inline.cc (remap_ssa_name): Same.
+       * tree-ssa-copy.cc (fini_copy_prop): Same.
+       * tree-ssa-math-opts.cc (optimize_spaceship): Same.
+       * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
+       * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
+       * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
+       * tree-ssa-strlen.cc (set_strlen_range): Same.
+       (strlen_pass::handle_builtin_string_cmp): Same.
+       * tree-ssanames.cc (set_range_info): Make static.
+       (duplicate_ssa_name_range_info): Make static and add a new variant
+       calling the static.
+       * tree-ssanames.h (set_range_info): Remove version taking wide ints.
+       (duplicate_ssa_name_range_info): Remove version taking a
+       range_info_def and replace with a version taking SSA names.
+       * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
+       that take a range.
+       (vect_do_peeling): Same.
+       * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
+       * vr-values.cc (simplify_truth_ops_using_ranges): Same.
+
+2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * value-range.h (irange::irange): Use set_undefined.
+
+2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
+       irange::intersect (wide_int, wide_int).
+       * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
+       (adjust_imagpart_expr): Same.
+       * value-range.h (irange::intersect (wide_int, wide_int)): Make
+       private.
+
+2022-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104322
+       * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
+
+2022-04-29  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/105376
+       * tree.cc (build_real): Special case dconst* arguments
+       for decimal floating point types.
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * doc/gcov.texi (Profiling and Test Coverage in Freestanding
+       Environments): New section.
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * doc/gcov-tool.texi: Document merge-stream subcommand.
+       * doc/invoke.texi (fprofile-info-section): Mention merge-stream
+       subcommand of gcov-tool.
+       * gcov-tool.cc (gcov_profile_merge_stream): Declare.
+       (print_merge_stream_usage_message): New.
+       (merge_stream_usage): Likewise.
+       (do_merge_stream): Likewise.
+       (print_usage): Call print_merge_stream_usage_message().
+       (main): Call do_merge_stream() to execute merge-stream subcommand.
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-io.cc (gcov_file_error): New enum.
+       (gcov_var): Use gcov_file_error enum for the error member.
+       (gcov_open): Use GCOV_FILE_NO_ERROR.
+       (gcov_close): Use GCOV_FILE_WRITE_ERROR.
+       (gcov_write): Likewise.
+       (gcov_write_unsigned): Likewise.
+       (gcov_write_string): Likewise.
+       (gcov_read_bytes): Set error code if EOF is reached.
+       (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-io.cc (GCOV_MODE_STDIN): Define.
+       (gcov_position): For gcov-tool, return calculated position if file is
+       stdin.
+       (gcov_open):  For gcov-tool, use stdin if filename is NULL.
+       (gcov_close): For gcov-tool, do not close stdin.
+       (gcov_read_bytes): For gcov-tool, update position if file is stdin.
+       (gcov_sync): For gcov-tool, discard input if file is stdin.
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * doc/invoke.texi (fprofile-info-section): Mention
+       __gcov_filename_to_gcfn().  Use "freestanding" to match with C11
+       standard language.  Fix minor example code issues.
+       * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-io.cc (gcov_seek): Make it static.
+       * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-tool.cc (gcov_do_dump): Add mode parameter.
+       (gcov_output_files): Open files for reading and writing.
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-io.cc (gcov_open): Always use the mode parameter.
+       * gcov-io.h (gcov_open): Declare it unconditionally.
+
+2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-tool.cc (gcov_profile_merge): Adjust return type.
+       (profile_merge): Allow merging of directories which contain no profile
+       files.
+
+2022-04-28  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
+       fpath.txt output.
+
+2022-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
+       temporary only if out overlaps compare_op, not when it overlaps
+       op0 or op1.
+
+2022-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/105399
+       * cgraph.cc (cgraph_node::verify_node): Don't verify
+       semantic_interposition flag against
+       opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
+
+2022-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105331
+       * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
+       temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
+       of it.
+
+2022-04-28  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/install.texi (Configuration): Remove misleading text
+       around LE PowerPC Linux multilibs.
+
+2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR d/103528
+       * doc/install.texi (Tools/packages necessary for building GCC)
+       (GDC): Document libphobos requirement.
+       (Host/target specific installation notes for GCC, *-*-solaris2*):
+       Document libphobos and GDC specifics.
+
+2022-04-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105219
+       * tree-vect-loop.cc (vect_transform_loop): Disable
+       special code narrowing the vectorized epilogue max
+       iterations when peeling for alignment or gaps was in effect.
+
+2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       * config/loongarch/loongarch.cc
+       (loongarch_flatten_aggregate_field): Ignore empty fields for
+       RECORD_TYPE.
+
+2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
+
+       * config/loongarch/loongarch.md: Add fdiv define_expand template,
+       then generate floating-point division and floating-point reciprocal
+       instructions.
+
+2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
+
+       * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
+       to PLV instruction templates.
+
+2022-04-27  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/104492
+       * gimple-ssa-warn-access.cc
+       (pass_waccess::warn_invalid_pointer): Exclude equality compare
+       diagnostics for all kind of invalidations.
+       (pass_waccess::check_dangling_uses): Fix post-dominator query.
+       (pass_waccess::check_pointer_uses): Likewise.
+
+2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/102024
+       * config/s390/s390-protos.h (s390_function_arg_vector): Remove
+       prototype.
+       * config/s390/s390.cc (s390_single_field_struct_p): New function.
+       (s390_function_arg_vector): Invoke s390_single_field_struct_p.
+       (s390_function_arg_float): Likewise.
+
+2022-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/105396
+       * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
+       where offset is bigger than off but smaller than m_prev_offset + 32
+       bits by pushing one or more 0 bytes.  Sink the
+       m_shadow_bytes.safe_push (value); flush_if_full (); statements from
+       all cases to the end of the function.
+
+2022-04-27  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/105271
+       * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
+       stanza.
+
+2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
+       data-share memory exhausted" error more verbose.
+
+2022-04-26  Martin Liska  <mliska@suse.cz>
+
+       PR lto/105364
+       * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
+       (run_gcc): Parse OPT_fdiagnostics_urls_.
+       (main): Initialize global_dc.
+
+2022-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/105314
+       * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
+       operand is equal to if_info->x, instead use the non-zero operand
+       as one of the operands of AND with if_info->x as target.
+
+2022-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105374
+       * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
+       !fold_convertible_p rather than assuming fold_convert must succeed.
+
+2022-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105367
+       * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
+       el_mode == DFmode ? double_type_node : float_type_node instead of
+       TREE_TYPE (type_in) as first arguments to mathfn_built_in.
+
+2022-04-25  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/104308
+       * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
+       the location of new_stmt in all places that don't already set it,
+       whether explicitly, or via a call to gsi_replace.
+
+2022-04-25  Paul A. Clarke  <pc@us.ibm.com>
+
+       * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
+
+2022-04-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/105276
+       * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
+       existing global range with calculated value.
+
+2022-04-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105368
+       * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
+
+2022-04-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/100810
+       * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
+       (find_ssa_undef): New function.
+       (add_candidate_1): Avoid adding derived candidates with
+       undefined SSA names and mark the original ones.
+       (determine_group_iv_cost_generic): Reject rewriting
+       uses with a different IV when that involves undefined SSA names.
+
+2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR target/89125
+       * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
+       bsd_libc_has_function.
+       * targhooks.cc (bsd_libc_has_function): New function.
+       Expand the supported math functions to inclue C99 libm.
+       * targhooks.h (bsd_libc_has_function): New Prototype.
+
+2022-04-25  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/105231
+       * combine.cc (distribute_notes): Assert that a REG_EH_REGION
+       with landing pad > 0 is from i3.  Put any REG_EH_REGION note
+       on i3 or drop it if the insn can not trap.
+       (try_combine): Ensure that we can merge REG_EH_REGION notes
+       with non-call exceptions.  Ensure we are not splitting a
+       trapping part of an insn with non-call exceptions when there
+       is any REG_EH_REGION note to preserve.
+
+2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/105339
+       * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
+       Add parentheses for parameters and djust format.
+       (_mm512_mask_scalef_round_pd): Ditto.
+       (_mm512_maskz_scalef_round_pd): Ditto.
+       (_mm512_scalef_round_ps): Ditto.
+       (_mm512_mask_scalef_round_ps): Ditto.
+       (_mm512_maskz_scalef_round_ps): Ditto.
+       (_mm_scalef_round_sd): Use _mm_undefined_pd.
+       (_mm_scalef_round_ss): Use _mm_undefined_ps.
+       (_mm_mask_scalef_round_sd): New macro.
+       (_mm_mask_scalef_round_ss): Ditto.
+       (_mm_maskz_scalef_round_sd): Ditto.
+       (_mm_maskz_scalef_round_ss): Ditto.
+
+2022-04-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105338
+       * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
+       op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
+       cases.
+
+2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/105334
+       * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
+       (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
+       (pack<mode>_hard for FMOVE128): ... this...
+       (pack<mode>_soft for FMOVE128): ... and this.
+
+2022-04-22  Paul A. Clarke  <pc@us.ibm.com>
+
+       * doc/extend.texi: Correct "This" to "These".
+
+2022-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/105333
+       * rtlanal.cc (replace_rtx): Use simplify_subreg or
+       simplify_unary_operation if CONST_SCALAR_INT_P rather than just
+       CONST_INT_P.
+
+2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/103197
+       PR target/102146
+       * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
+       the "Z" alternatives in {l,st}{f,xs}iwzx.
+       (zero_extendhi<mode>2 for EXTHI): Ditto.
+       (zero_extendsi<mode>2 for EXTSI): Ditto.
+       (*movsi_internal1): Ditto.
+       (*mov<mode>_internal1 for QHI): Ditto.
+       (movsd_hardfloat): Ditto.
+
+2022-04-21  Martin Liska  <mliska@suse.cz>
+
+       * configure.ac: Enable compressed debug sections for mold
+       linker.
+       * configure: Regenerate.
+
+2022-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/105203
+       * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
+       on DEBUG_INSNs.
+
+2022-04-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104912
+       * tree-vect-loop-manip.cc (vect_loop_versioning): Split
+       the cost model check to a separate BB to make sure it is
+       checked first and not combined with other version checks.
+
+2022-04-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105312
+       * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
+       VCOND and VCONDU for EQ and NE.
+
+2022-04-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103818
+       * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
+       poly_offset_int to avoid overflow.
+       (modref_access_node::update2): likewise.
+
+2022-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/105306
+       * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
+       to opt_for_fn (decl, flag_semantic_interposition).
+       * cgraphclones.cc (cgraph_node::create_clone): Copy over
+       semantic_interposition flag.
+
+2022-04-19  Sergei Trofimovich  <siarheit@google.com>
+
+       PR gcov-profile/105282
+       * value-prof.cc (stream_out_histogram_value): Allow negative counts
+       on HIST_TYPE_INDIR_CALL.
+
+2022-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105257
+       * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
+       use gen_raw_REG instead of gen_rtx_REG and copy over also
+       ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
+
+2022-04-19  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104010
+       PR tree-optimization/103941
+       * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
+       we run into stmts in patterns continue walking those
+       for uses outside of the vectorized region instead of
+       marking the lane live.
+
+2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
+
+       * doc/install.texi <CRIS>: Remove references to removed websites and
+       adjust for cris-*-elf being the only remaining toolchain.
+
+2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
+
+       * doc/invoke.texi <CRIS>: Remove references to options for removed
+       subtarget cris-axis-linux-gnu and tweak wording accordingly.
+
+2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Specific): Adjust mingw-w64 download link.
+
+2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
+
+       * config/i386/smmintrin.h: Correct target pragma from sse4.1
+       and sse4.2 to crc32 for crc32 intrinsics.
+
+2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       PR debug/105089
+       * ctfc.cc (ctf_dvd_ignore_insert): New function.
+       (ctf_dvd_ignore_lookup): Likewise.
+       (ctf_add_variable): Keep track of non-defining decl DIEs.
+       (new_ctf_container): Initialize the new hash-table.
+       (ctfc_delete_container): Empty hash-table.
+       * ctfc.h (struct ctf_container): Add new hash-table.
+       (ctf_dvd_ignore_lookup): New declaration.
+       (ctf_add_variable): Add additional argument.
+       * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
+       record for non-defining decl for which a defining decl exists
+       in the same TU.
+       (ctf_preprocess): Defer updating the number of global objts
+       until here.
+       (output_ctf_header): Use ctfc_vars_list_count as some CTF
+       variables may not make it to the final output.
+       (output_ctf_vars): Likewise.
+       * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
+       if this is known to be a non-defining decl DIE.
+
+2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * ctfc.h (struct ctf_container): Introduce a new member.
+       * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
+       variable.
+
+2022-04-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105247
+       * simplify-rtx.cc (simplify_const_binary_operation): For shifts
+       or rotates by VOIDmode constant integer shift count use word_mode
+       for the operand if int_mode is narrower than word.
+
+2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
+       (s390_get_unit_mask): Likewise.
+       (s390_is_fpd): Likewise.
+       (s390_is_fxd): Likewise.
+       * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
+       * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
+       Add z16.
+       (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
+       Likewise.
+       * config/s390/3931.md: New file.
+
+2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/105254
+       * config/aarch64/aarch64.cc
+       (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
+       loop_vec_info as argument.  Restrict the unroll factor to values
+       that divide the VF.
+       (aarch64_vector_costs::finish_cost): Update call accordingly.
+
+2022-04-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105263
+       * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
+       negates in multiplication chains with DFP.
+
+2022-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/105253
+       * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
+       use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
+       comparisons or tree_nop_conversion_p checks.
+
+2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/103069
+       * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
+         Add missing set to target_val at pause label.
+
+2022-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105234
+       * attribs.cc (decl_attributes): Don't set
+       DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
+       NULL.
+
+2022-04-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105250
+       * fold-const.cc (fold_convertible_p): Revert
+       r12-7979-geaaf77dd85c333, instead check for size equality
+       of the vector types involved.
+
+2022-04-13  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2022-04-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104912
+       * tree-vect-loop-manip.cc (vect_loop_versioning): Split
+       the cost model check to a separate BB to make sure it is
+       checked first and not combined with other version checks.
+
+2022-04-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104912
+       * tree-vect-loop-manip.cc (vect_loop_versioning): Split
+       the cost model check to a separate BB to make sure it is
+       checked first and not combined with other version checks.
+
+2022-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
+
+2022-04-12  Antoni Boucher  <bouanto@zoho.com>
+
+       PR jit/104072
+       * reginfo.cc: New functions (clear_global_regs_cache,
+       reginfo_cc_finalize) to avoid an issue where compiling the same
+       code multiple times gives an error about assigning the same
+       register to 2 global variables.
+       * rtl.h: New function (reginfo_cc_finalize).
+       * toplev.cc: Call it.
+
+2022-04-12  Antoni Boucher  <bouanto@zoho.com>
+
+       PR jit/104071
+       * toplev.cc: Call the new function tree_cc_finalize in
+       toplev::finalize.
+       * tree.cc: New functions (clear_nonstandard_integer_type_cache
+       and tree_cc_finalize) to clear the cache of non-standard integer
+       types to avoid having issues with some optimizations of
+       bitcast where the SSA_NAME will have a size of a cached
+       integer type that should have been invalidated, causing a
+       comparison of integer constant to fail.
+       * tree.h: New function (tree_cc_finalize).
+
+2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR target/97348
+       * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
+       * config/nvptx/nvptx.opt (misa): Adjust comment.
+
+2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+       Revert:
+       2022-03-03  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
+
+2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+       Revert:
+       2022-03-31  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
+
+2022-04-12  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/104303
+       * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
+       include local escaped memory as obviously necessary stores.
+
+2022-04-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105235
+       * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
+       return whether the CFG changed.
+       (execute_cse_sincos_1): Adjust.
+
+2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
+
+       PR target/104144
+       * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
+       (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
+       (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
+       (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
+       (MULTILIB_REUSE): Remove remap rules for Armv9-a.
+       * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
+       (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
+
+2022-04-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105232
+       * tree.cc (component_ref_size): Bail out for too large
+       or non-constant sizes.
+
+2022-04-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105226
+       * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
+       we can split the exit of an outer loop we choose to version.
+
+2022-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
+       ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
+       ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
+       ix86_emit_swdivsf, ix86_emit_swsqrtsf,
+       ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
+       Formatting fix.
+       * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
+
+2022-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105214
+       * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
+       do_pending_stack_adjust.
+
+2022-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/105211
+       * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
+       fails for TREE_TYPE (arg), retry it with
+       TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
+       fails, emit call normally.
+
+2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
+       * config.gcc: Add z16 as march/mtune switch.
+       * config/s390/driver-native.cc (s390_host_detect_local_cpu):
+       Recognize z16 with -march=native.
+       * config/s390/s390-opts.h (enum processor_type): Rename
+       PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
+       * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
+       (PROCESSOR_3931_Z16): ... throughout the file.
+       (s390_processor processor_table): Add z16 as cpu string.
+       * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
+       PF_Z16.
+       (TARGET_CPU_ARCH14): Rename to ...
+       (TARGET_CPU_Z16): ... this.
+       (TARGET_CPU_ARCH14_P): Rename to ...
+       (TARGET_CPU_Z16_P): ... this.
+       (TARGET_ARCH14): Rename to ...
+       (TARGET_Z16): ... this.
+       (TARGET_ARCH14_P): Rename to ...
+       (TARGET_Z16_P): ... this.
+       * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
+       check TARGET_Z16 instead of TARGET_ARCH14.
+       * config/s390/s390.opt: Add z16 to processor_type.
+       * doc/invoke.texi: Document z16 and arch14.
+
+2022-04-12  chenglulu  <chenglulu@loongson.cn>
+
+       * config/loongarch/loongarch.cc: Fix bug for
+       tmpdir-g++.dg-struct-layout-1/t033.
+
+2022-04-11  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/104894
+       * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
+       to longcall functions.
+
+2022-04-11  Jason Merrill  <jason@redhat.com>
+
+       * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
+
+2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/105213
+       PR target/103623
+       * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
+
+2022-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105218
+       * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
+       more than one predecessor or phi's bb more than 2 predecessors,
+       reset phi result uses instead of adding a debug temp.
+
+2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/104853
+       * config.gcc: Pass -misa-spec to arch-canonicalize and
+       multilib-generator.
+       * config/riscv/arch-canonicalize: Adding -misa-spec option.
+       (SUPPORTED_ISA_SPEC): New.
+       (arch_canonicalize): New argument `isa_spec`.
+       Handle multiple ISA spec versions.
+       * config/riscv/multilib-generator: Adding -misa-spec option.
+
+2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
+
+       * config/riscv/arch-canonicalize: Add TODO item.
+       (IMPLIED_EXT): Sync.
+       (arch_canonicalize): Checking until no change.
+
+2022-04-11  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/105197
+       * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
+       not masked.
+
+2022-04-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/100370
+       * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
+       deref == -1.
+
+2022-04-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/104639
+       * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
+       (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
+       into x != cst3.
+
+2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
+
+       * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
+       sign bit of the source ends up in CC.
+
+2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/103376
+       * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
+       flag.
+
+2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
+       nondeterministic and side_effects flags.
+
+2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR target/105157
+       * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
+       * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
+       (TARGET_CPU_MASK): Likewise.
+       (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
+       * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
+       (aarch64_get_arch): Likewise.
+       (aarch64_override_options): Use TARGET_CPU_NBITS.
+
+2022-04-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105198
+       * tree-predcom.cc (find_looparound_phi): Check whether
+       the found memory location of the entry value is clobbered
+       inbetween the value we want to use and loop entry.
+
+2022-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105189
+       * fold-const.cc (make_range_step): Fix up handling of
+       (unsigned) x +[low, -] ranges for signed x if low fits into
+       typeof (x).
+
+2022-04-08  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105175
+       * tree-vect-stmts.cc (vectorizable_operation): Suppress
+       -Wvector-operation-performance if using emulated vectors.
+       * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
+       -Wvector-operation-performance when suppressed.
+       (expand_vector_parallel): Likewise.
+       (expand_vector_comparison): Likewise.
+       (expand_vector_condition): Likewise.
+       (lower_vec_perm): Likewise.
+       (expand_vector_conversion): Likewise.
+
+2022-04-07  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/104409
+       * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
+       (aarch64_general_init_builtins): Move LS64 code.
+       * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
+       arm_acle.h
+       * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
+       * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
+
+2022-04-07  Richard Biener  <rguenther@suse.de>
+           Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/104303
+       * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
+       ref_may_alias_global_p, ref_may_alias_global_p,
+       stmt_may_clobber_global_p, pt_solution_includes_global): Add
+       bool parameters indicating whether escaped locals should be
+       considered global.
+       * tree-ssa-structalias.cc (pt_solution_includes_global):
+       When the new escaped_nonlocal_p flag is true also consider
+       pt->vars_contains_escaped.
+       * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
+       Pass down new escaped_nonlocal_p flag.
+       (ref_may_alias_global_p): Likewise.
+       (stmt_may_clobber_global_p): Likewise.
+       (ref_may_alias_global_p_1): Likewise.  For decls also
+       query the escaped solution if true.
+       (ref_may_access_global_memory_p): Remove.
+       (modref_may_conflict): Use ref_may_alias_global_p with
+       escaped locals considered global.
+       (ref_maybe_used_by_stmt_p): Adjust.
+       * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
+       Likewise.
+       * tree-ssa-dse.cc (dse_classify_store): Likewise.
+       * trans-mem.cc (thread_private_new_memory): Likewise, but
+       consider escaped locals global.
+       * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
+
+2022-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105185
+       * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
+       modref query again.
+
+2022-04-07  Tamar Christina  <tamar.christina@arm.com>
+
+       PR target/104049
+       * config/aarch64/aarch64-simd.md
+       (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
+       (reduc_plus_scal_<mode>): ... This.
+       (reduc_plus_scal_v4sf): Moved.
+       (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
+       (reduc_plus_scal_v2si): ... This.
+
+2022-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102586
+       * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
+       langhook.
+       * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
+       * gimple-fold.cc (clear_padding_type): Use ftype instead of
+       TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
+       name try the lang_hooks.types.classtype_as_base langhook and
+       if it returns non-NULL, use that instead of ftype for recursive call.
+
+2022-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105150
+       * tree.cc (tree_builtin_call_types_compatible_p): New function.
+       (get_call_combined_fn): Use it.
+
+2022-04-07  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/105165
+       * tree-complex.cc (expand_complex_asm): Sorry for asm goto
+       _Complex outputs.
+
+2022-04-07  liuhongt  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
+       Removed.
+       (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
+       for mask_applied.
+       (<code><mode>3<mask_name>): Ditto.
+       (*<code><mode>3<mask_name>): Ditto.
+       (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
+       real instruction.
+       (VFB_512): Ditto.
+       (VFB): Ditto.
+
+2022-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/104985
+       * combine.cc (struct undo): Add where.regno member.
+       (do_SUBST_MODE): Rename to ...
+       (subst_mode): ... this.  Change first argument from rtx * into int,
+       operate on regno_reg_rtx[regno] and save regno into where.regno.
+       (SUBST_MODE): Remove.
+       (try_combine): Use subst_mode instead of SUBST_MODE, change first
+       argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
+       regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
+       (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
+       instead of *undo->where.r.
+       (simplify_set): Use subst_mode instead of SUBST_MODE, change first
+       argument from regno_reg_rtx[whatever] to whatever.
+
+2022-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105069
+       * config/sh/sh.opt (mdiv=): Add Save.
+
+2022-04-06  Martin Liska  <mliska@suse.cz>
+
+       PR driver/105096
+       * common.opt: Document properly based on what it does.
+       * gcc.cc (display_help): Unify with what we have in common.opt.
+       * opts.cc (common_handle_option): Do not print undocumented
+       options.
+
+2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       * config/mips/mips.cc (mips_fpr_return_fields): Ignore
+       cxx17_empty_base_field_p fields and set an indicator.
+       (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
+       (mips_function_value_1): Inform psABI change about C++17 empty
+       bases.
+
+2022-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105150
+       * gimple.cc (gimple_builtin_call_types_compatible_p): Use
+       builtin_decl_explicit here...
+       (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
+       here.
+
+2022-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105173
+       * tree-ssa-reassoc.cc (find_insert_point): Get extra
+       insert_before output argument and compute it.
+       (insert_stmt_before_use): Adjust.
+       (rewrite_expr_tree): Likewise.
+
+2022-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/105166
+       * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
+       out for non-pointer arguments.
+
+2022-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105163
+       * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
+       negated abnormals.
+
+2022-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105150
+       * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
+       For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
+       preferrably on builtin_decl_explicit decl rather than fndecl.
+       * tree-ssa-strlen.cc (valid_builtin_call): Don't call
+       gimple_builtin_call_types_compatible_p here.
+
+2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/103761
+       * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
+       the ncopies parameter with an slp_node parameter.  Calculate the
+       number of vectors based on it and vectype.  Rename lambda to
+       group_memory_nvectors.
+       (vectorizable_store, vectorizable_load): Update calls accordingly.
+
+2022-04-06  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document it.
+
+2022-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105148
+       * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
+       2 and 3 of ARRAY_REFs.
+
+2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
+       (*andnottf3): Replace with...
+       (*andnot<mode>3): New define_insn using ANDNOT_MODE.
+
+2022-04-06  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105142
+       * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
+       basic-block parameter.
+       (maybe_fold_or_comparisons): Likewise.
+       * gimple-fold.cc (follow_outer_ssa_edges): New.
+       (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
+       when an outer condition basic-block is specified.
+       (and_comparisons_1, and_var_with_comparison,
+       and_var_with_comparison_1, or_comparisons_1,
+       or_var_with_comparison, or_var_with_comparison_1): Receive and pass
+       down the outer condition basic-block.
+       * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
+       basic-block of the outer condition.
+
+2022-04-06  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/105002
+       * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
+       comparison codes UNLT/UNLE/UNGT/UNGE.
+
+2022-04-05  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/extend.texi (Common Function Attributes): Document that
+       'access' does not imply 'nonnull'.
+
+2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/105139
+       * config/i386/mmx.md (*movv2qi_internal):
+       Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
+
+2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
+       define_expand and turn operands 0 and 1 from REGs to MEMs.
+       (*aarch64_cpymemdi): New pattern.
+       (aarch64_setmemdi): Turn into a define_expand and turn operand 0
+       from a REG to a MEM.
+       (*aarch64_setmemdi): New pattern.
+       * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
+       copy_to_mode_reg on all three registers.  Replace the original
+       MEM addresses rather than creating wild reads and writes.
+       (aarch64_expand_setmem_mops): Likewise for the size and for the
+       destination memory and address.
+
+2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/103147
+       * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
+       * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
+       from aarch64_simd_switcher.
+       * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
+       New variable.
+       (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
+       (register_tuple_type): Add more asserts.  Expect the alignment
+       of the structure to be subject to flag_pack_struct and
+       maximum_field_alignment.  Set aarch64_simd_tuple_modes.
+       (aarch64_simd_switcher::aarch64_simd_switcher): New function.
+       (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
+       (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
+       (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
+       while calling aarch64_init_simd_builtins.
+       * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
+       (sve_switcher::~sve_switcher): Remove code now performed by
+       aarch64_simd_switcher.
+
+2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/104897
+       * config/aarch64/aarch64-sve-builtins.cc
+       (function_resolver::infer_vector_or_tuple_type): Use error_n
+       for "%d vectors" messages.
+
+2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
+       argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
+       current clause.
+
+2022-04-05  Richard Biener  <rguenther@suse.de>
+
+       PR c/105151
+       * passes.def (pass_walloca): Move early instance into
+       pass_build_ssa_passes to make SSA form available.
+
+2022-04-05  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/101908
+       * config/i386/i386.cc (ix86_split_stlf_stall_load): New
+       function
+       (ix86_reorg): Call ix86_split_stlf_stall_load.
+       * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
+       param.
+
+2022-04-05  Alexandre Oliva  <oliva@adacore.com>
+
+       * targhooks.cc (default_zero_call_used_regs): Attempt to group
+       regs that the target refuses to use in their natural modes.
+       (zcur_select_mode_rtx): New.
+       * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
+       (hard_regno_max_nregs): Define.
+       * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
+
+2022-04-04  Alex Coplan  <alex.coplan@arm.com>
+
+       * doc/match-and-simplify.texi: Fix typos.
+
+2022-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105144
+       * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
+       only if configured with --enable-maintainer-mode, otherwise compare
+       tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
+       if they differ, emit a message and fail.
+
+2022-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105144
+       * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
+       * config/aarch64/aarch64-tune.md: Regenerated.
+
+2022-04-04  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105132
+       * tree-vect-stmts.cc (vectorizable_operation): Check that
+       the input vectors have the same number of elements.
+
+2022-04-04  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/105140
+       * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
+
+2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
+
+       PR target/104987
+       * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
+       (delay slot descripts): Use different delay slot description when
+       the insn as the "bbi" attribute.
+       (bbi, bbin patterns): Set the bbi attribute to yes.
+
+2022-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/105123
+       * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
+       using word as target for expand_simple_binop when doing ASHIFT and
+       IOR.
+
+2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
+       NULL before dereferencing it.
+
+2022-04-01  Qing Zhao  <qing.zhao@oracle.com>
+
+       * config/i386/i386.cc (zero_all_st_registers): Return the value of
+       num_of_st.
+       (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
+       the return value of zero_all_st_registers.
+       * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
+       * function.cc (gen_call_used_regs_seq): Add an assertion.
+       * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
+
+2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/102024
+       * config/mips/mips.cc (mips_function_arg): Ignore zero-width
+       fields, and inform if it causes a psABI change.
+
+2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       PR target/102024
+       * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
+       zero-width bit-fields and set up an indicator.
+       (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
+       (mips_function_value_1): Diagnose when the presense of a C++
+       zero-width bit-field changes function returning in GCC 12.
+
+2022-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/104645
+       * tree-ssa-phiopt.cc (value_replacement): If assign has
+       CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
+       statement with constant evaluation.
+
+2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
+
+       * config/mips/mips.cc (mips_expand_prologue):
+         IPL is 8bit for MCU ASE.
+
+2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       PR target/104004
+       * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
+       (MTFSB0): Likewise.
+       (MTFSB1): Likewise.
+       (SET_FPSCR_RN): Likewise.
+       (SET_FPSCR_DRN): Mark nosoft and no32bit.
+
+2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * doc/options.texi (Option file format): Clarifications around
+       option definition records' help texts.
+
+2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * optc-gen.awk <END>: Fix "Multiple different help strings" error
+       diagnostic.
+
+2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
+       determine_suggested_unroll_factor and m_has_avg.
+       (determine_suggested_unroll_factor): New function.
+       (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
+       to set m_nosve_pattern.
+       (aarch64_vector_costs::finish_costs): Use
+       determine_suggested_unroll_factor.
+       * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
+       * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
+
+2022-03-31  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103083
+       * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
+       (ipa_get_jf_ancestor_keep_null): New function.
+       * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
+       ancestor function.
+       (compute_complex_assign_jump_func): Pass false to keep_null
+       parameter of ipa_set_ancestor_jf.
+       (compute_complex_ancestor_jump_func): Pass true to keep_null
+       parameter of ipa_set_ancestor_jf.
+       (update_jump_functions_after_inlining): Carry over keep_null from the
+       original ancestor jump-function or merge them.
+       (ipa_write_jump_function): Stream keep_null flag.
+       (ipa_read_jump_function): Likewise.
+       (ipa_print_node_jump_functions_for_edge): Print the new flag.
+       * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
+       member function known_nonzero_p.
+       (ipcp_bits_lattice::known_nonzero_p): New.
+       (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
+       observe it.
+       (ipcp_bits_lattice::meet_with): Likewise.
+       (propagate_bits_across_jump_function): Simplify.  Pass true in
+       drop_all_ones when it is necessary.
+       (propagate_aggs_across_jump_function): Take care of keep_null
+       flag.
+       (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
+       jump functions.
+
+2022-03-31  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/102513
+       * ipa-cp.cc (decide_whether_version_node): Skip scalar values
+       which do not fit the known value_range.
+
+2022-03-31  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/103171
+       * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
+       always when an ADDR_EXPR constant is known to reach a load because
+       of inlining, not just when removing an ADDR reference.
+
+2022-03-31  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105109
+       * tree-ssa.cc (execute_update_addresses_taken): Suppress
+       diagnostics on the load of the other complex component.
+
+2022-03-31  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
+
+2022-03-31  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/105091
+       * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
+       bases.
+
+2022-03-31  Richard Biener  <rguenther@suse.de>
+
+       Revert:
+       2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102125
+       * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
+       memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
+
+2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * gcov-io.cc (gcov_read_string): Reword documentation comment.
+
+2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
+
+       * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
+       stanza.
+       (NEG_V4SF): Likewise.
+       (NEG_V4SI): Likewise.
+       (NEG_V8HI): Likewise.
+       (NEG_V2DF): Move to [vsx] stanza.
+       (NEG_V2DI): Likewise.
+
+2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/105032
+       * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
+
+2022-03-30  Tom de Vries  <tdevries@suse.de>
+           Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi (march): Document __PTX_SM__.
+        (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
+        __PTX_ISA_VERSION_MINOR__.
+
+2022-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/105093
+       * ubsan.cc (instrument_object_size): If t is equal to inner and
+       is a decl other than global var, punt.  When emitting call to
+       UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
+
+2022-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105094
+       * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
+       bitsize <= 0 rather than just == 0.
+
+2022-03-30  Tom de Vries  <tdevries@suse.de>
+
+       * doc/invoke.texi (misa, mptx): Update.
+       (march, march-map): Add.
+
+2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * opt-functions.awk (n_args): New function.
+       (lang_enabled_by): Merge function into...
+       * optc-gen.awk <END>: ... sole user here.
+       Improve diagnostics.
+
+2022-03-29  Marek Polacek  <polacek@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103597
+       * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
+       into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
+       (gimplify_cond_expr): Set UNUSED_LABEL_P.
+       * tree.h (UNUSED_LABEL_P): New.
+
+2022-03-29   Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
+       be any VSX register.
+
+2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102024
+       * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
+       zero-sized bit-fields.  Detect cases where a warning may be needed.
+       (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
+       zero-sized bit-field has caused parameter passing to change.
+
+2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/102024
+       * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
+       bit-fields.  Detect cases where a warning may be needed.
+       (aapcs_vfp_is_call_or_return_candidate): Emit a note if
+       a zero-sized bit-field has caused parameter passing to change.
+
+2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/96882
+       * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
+       ARM_PCS_AAPCS_LOCAL.
+
+2022-03-29  Tom de Vries  <tdevries@suse.de>
+
+       PR target/104857
+       * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
+       __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
+       * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
+       * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
+
+2022-03-29  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
+       is ignored.
+
+2022-03-29  Tom de Vries  <tdevries@suse.de>
+
+       PR target/104714
+       * config/nvptx/nvptx.opt (march-map=*): Add aliases.
+
+2022-03-29  Jan Hubicka  <hubicka@ucw.cz>
+
+       * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
+       TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
+       * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
+       (TARGET_USE_GATHER_4PARTS): New macro.
+       * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
+       (X86_TUNE_USE_GATHER_4PARTS): New tune
+
+2022-03-29  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.opt (march): Add alias of misa.
+
+2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
+           Lulu Cheng  <chenglulu@loongson.cn>
+
+       * doc/install.texi: Add LoongArch options section.
+       * doc/invoke.texi: Add LoongArch options section.
+       * doc/md.texi: Add LoongArch options section.
+
+2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
+           Lulu Cheng  <chenglulu@loongson.cn>
+
+       * config/loongarch/loongarch-c.cc
+
+2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
+           Lulu Cheng  <chenglulu@loongson.cn>
+
+       * config/loongarch/larchintrin.h: New file.
+       * config/loongarch/loongarch-builtins.cc: New file.
+
+2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
+           Lulu Cheng  <chenglulu@loongson.cn>
+
+       * config/host-linux.cc: Add LoongArch support.
+       * config/loongarch/loongarch-protos.h: New file.
+       * config/loongarch/loongarch-tune.h: Likewise.
+       * config/loongarch/loongarch.cc: Likewise.
+       * config/loongarch/loongarch.h: Likewise.
+
+2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
+           Lulu Cheng  <chenglulu@loongson.cn>
+
+       * config/loongarch/constraints.md: New file.
+       * config/loongarch/generic.md: New file.
+       * config/loongarch/la464.md: New file.
+       * config/loongarch/loongarch-ftypes.def: New file.
+       * config/loongarch/loongarch-modes.def: New file.
+       * config/loongarch/loongarch.md: New file.
+       * config/loongarch/predicates.md: New file.
+       * config/loongarch/sync.md: New file.
+
+2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
+           Lulu Cheng  <chenglulu@loongson.cn>
+
+       * configure: Regenerate file.
+
+2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
+           Lulu Cheng  <chenglulu@loongson.cn>
+
+       * common/config/loongarch/loongarch-common.cc: New file.
+       * config/loongarch/genopts/genstr.sh: New file.
+       * config/loongarch/genopts/loongarch-strings: New file.
+       * config/loongarch/genopts/loongarch.opt.in: New file.
+       * config/loongarch/loongarch-str.h: New file.
+       * config/loongarch/gnu-user.h: New file.
+       * config/loongarch/linux.h: New file.
+       * config/loongarch/loongarch-cpu.cc: New file.
+       * config/loongarch/loongarch-cpu.h: New file.
+       * config/loongarch/loongarch-def.c: New file.
+       * config/loongarch/loongarch-def.h: New file.
+       * config/loongarch/loongarch-driver.cc: New file.
+       * config/loongarch/loongarch-driver.h: New file.
+       * config/loongarch/loongarch-opts.cc: New file.
+       * config/loongarch/loongarch-opts.h: New file.
+       * config/loongarch/loongarch.opt: New file.
+       * config/loongarch/t-linux: New file.
+       * config/loongarch/t-loongarch: New file.
+       * config.gcc: Add LoongArch support.
+       * configure.ac: Add LoongArch support.
+
+2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
+       typo.
+
+2022-03-29  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105080
+       * tree-ssa-strlen.cc (printf_strlen_execute): Always init
+       loops and SCEV.
+
+2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
+
+       * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
+       (output_ctf_vars): Likewise.
+
+2022-03-28  Jason Merrill  <jason@redhat.com>
+
+       PR c++/59426
+       * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
+
+2022-03-28  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/105068
+       * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
+       "Yw" in clobber.
+
+2022-03-28  Tom de Vries  <tdevries@suse.de>
+
+       PR target/104818
+       * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
+       * config/nvptx/nvptx-gen.opt: Regenerate.
+       * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
+       * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
+       gen-opt.sh.
+
+2022-03-28  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/104308
+       * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
+       to loads then stores, set the location of the new load stmt.
+
+2022-03-28  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105070
+       * tree-switch-conversion.h
+       (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
+       argument.
+       * tree-switch-conversion.cc
+       (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
+       cond with location.
+       (bit_test_cluster::emit): Annotate all generated expressions
+       with location.
+
+2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
+
+2022-03-28  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/105066
+       * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
+       alternative 4 from sse4_noavx to noavx.
+
+2022-03-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/105056
+       * tree-predcom.cc (component::component): Initialize also comp_step.
+
+2022-03-27  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/105068
+       * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
+       "Yw".
+
+2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/104885
+       * calls.cc (mark_stack_region_used): Check that the region
+       is within the allocated size of stack_usage_map.
+
+2022-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/103775
+       * recog.cc (check_invalid_inc_dec): New function.
+       (insn_invalid_p): Return 1 if REG_INC operand overlaps
+       any stored REGs.
+
+2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/105058
+       * config/i386/sse.md (loadiwkey): Replace "v" with "x".
+       (aes<aesklvariant>u8): Likewise.
+
+2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/105052
+       * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
+       Replace "Yv" with "x".
+       (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
+       (ssse3_psign<mode>3): Likewise.
+
+2022-03-26  Hans-Peter Nilsson  <hp@axis.com>
+
+       * reload.cc (find_reloads): Align comment with code where
+       considering the intersection of register classes then tweaking the
+       regclass for the current alternative or rejecting it.
+
+2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
+
+       PR target/104882
+       Revert
+       2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
+       (mve_vec_unpack<US>_hi_<mode>): Delete.
+       (@mve_vec_pack_trunc_lo_<mode>): Delete.
+       (mve_vmovntq_<supf><mode>): Remove '@' prefix.
+       * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
+       from vec-common.md.
+       (vec_unpack<US>_lo_<mode>): Likewise.
+       (vec_pack_trunc_<mode>): Rename from
+       neon_quad_vec_pack_trunc_<mode>.
+       * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
+       (vec_unpack<US>_lo_<mode>): Delete.
+       (vec_pack_trunc_<mode>): Delete.
+
+2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/104971
+       * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
+       regs to clear remove_p flag.
+
+2022-03-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105053
+       * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
+       the correct live-out stmt for a reduction chain.
+
+2022-03-25  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/105049
+       * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
+       CONSTRUCTOR first elements.
+
+2022-03-25  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR analyzer/103533
+       * doc/invoke.texi (Static Analyzer Options): Move
+       @ignore block after @gccoptlist's '}' for 'make pdf'.
+
+2022-03-25  David Malcolm  <dmalcolm@redhat.com>
+
+       PR analyzer/104954
+       * doc/invoke.texi (Static Analyzer Options): Add
+       -fdump-analyzer-untracked.
+
+2022-03-25  Avinash Sonawane  <rootkea@gmail.com>
+
+       PR analyzer/103533
+       * doc/invoke.texi: Document that enabling taint analyzer
+       checker disables some warnings from `-fanalyzer`.
+
+2022-03-24  Alexandre Oliva  <oliva@adacore.com>
+
+       PR debug/104564
+       * gimple-harden-conditionals.cc (detach_value): Keep temps
+       anonymous.
+
+2022-03-24  Alexandre Oliva  <oliva@adacore.com>
+
+       PR middle-end/104975
+       * gimple-harden-conditionals.cc
+       (pass_harden_compares::execute): Force split in case of
+       multiple edges.
+
+2022-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/105035
+       * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
+       field0 or field1 is not a FIELD_DECL, return false.
+
+2022-03-24  Richard Biener  <rguenther@suse.de>
+
+       * tree-predcom.cc (chain::chain): Add CTOR.
+       (component::component): Likewise.
+       (pcom_worker::release_chain): Use delete.
+       (release_components): Likewise.
+       (pcom_worker::filter_suitable_components): Likewise.
+       (pcom_worker::split_data_refs_to_components): Use new.
+       (make_invariant_chain): Likewise.
+       (make_rooted_chain): Likewise.
+       (pcom_worker::combine_chains): Likewise.
+       * tree-vect-loop.cc (vect_create_epilog_for_reduction):
+       Make sure to release previously constructed scalar_results.
+       * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
+       for vec_offsets.
+       * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
+       Release m_flag_set_edges.
+
+2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       PR tree-optimization/104970
+       * tree-object-size.cc (parm_object_size): Restrict size
+       computation scenarios to explicit access attributes.
+
+2022-03-24  Kewen Lin  <linkw@linux.ibm.com>
+
+       PR target/104967
+       * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
+       function types.
+
+2022-03-23  Richard Biener  <rguenther@suse.de>
+
+       PR target/102125
+       * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
+       use of movmisalign when either the source or destination
+       decl is properly aligned.
+
+2022-03-23  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/105028
+       * ira-color.cc (form_threads_from_copies): Remove unnecessary
+       copying of the sorted_copies tail.
+
+2022-03-23  Martin Liska  <mliska@suse.cz>
+
+       * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
+       Use %qs in format.
+       * config/rs6000/rs6000.cc (rs6000_option_override_internal):
+       Reword the error message.
+
+2022-03-23  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/104976
+       * config/i386/sse.md (ssePSmodelower): New.
+       (*avx_cmp<mode>3_ltint_not): Force_reg operand before
+       lowpart_subreg to avoid NULL_RTX.
+       (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
+       <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
+       fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
+       <avx512>_<complexopname>_<mode>_mask<round_name>,
+       avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
+       avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
+       avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
+       avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
+       float<floatunssuffix><mode>v4hf2,
+       float<floatunssuffix>v2div2hf2,
+       fix<fixunssuffix>_truncv4hf<mode>2,
+       fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
+       extendv2hfv2df2,
+       trunc<mode>v4hf2,truncv2dfv2hf2,
+       *avx512bw_permvar_truncv16siv16hi_1,
+       *avx512bw_permvar_truncv16siv16hi_1_hf,
+       *avx512f_permvar_truncv8siv8hi_1,
+       *avx512f_permvar_truncv8siv8hi_1_hf,
+       *avx512f_vpermvar_truncv8div8si_1,
+       *avx512f_permvar_truncv32hiv32qi_1,
+       *avx512f_permvar_truncv16hiv16qi_1,
+       *avx512f_permvar_truncv4div4si_1,
+       *avx512f_pshufb_truncv8hiv8qi_1,
+       *avx512f_pshufb_truncv4siv4hi_1,
+       *avx512f_pshufd_truncv2div2si_1,
+       sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
+       ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
+
+2022-03-22  Tom de Vries  <tdevries@suse.de>
+
+       PR target/104925
+       * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
+       Use % as register prefix.
+
+2022-03-22  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
+       (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
+       mexperimental.
+
+2022-03-22  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.opt (mexperimental): New option.
+
+2022-03-22  Tom de Vries  <tdevries@suse.de>
+
+       PR target/104957
+       * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
+       * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
+       for alias.
+       (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
+       (nvptx_asm_output_def_from_decls): New function.
+       * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
+       gcc_unreachable ().
+       (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
+       nvptx_asm_output_def_from_decls.
+       * config/nvptx/nvptx.opt (malias): New opt.
+
+2022-03-22  Tom de Vries  <tdevries@suse.de>
+
+       PR target/104916
+       PR target/104783
+       * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
+       sync (or uniform warp check for mptx < 6.0).
+
+2022-03-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/105012
+       * tree-if-conv.cc (ifcvt_local_dce): Only call
+       dse_classify_store when we have a VDEF.
+
+2022-03-22  Martin Liska  <mliska@suse.cz>
+
+       PR target/104902
+       * config/nvptx/nvptx.cc (handle_ptx_version_option):
+       Fix option wrapping in an error message.
+
+2022-03-22  Martin Liska  <mliska@suse.cz>
+
+       PR target/104903
+       * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
+       Wrap const keyword.
+
+2022-03-22  Martin Liska  <mliska@suse.cz>
+
+       * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
+       name.
+
+2022-03-22  Martin Liska  <mliska@suse.cz>
+
+       PR target/104898
+       * config/rs6000/rs6000.cc (rs6000_option_override_internal):
+       Use %qs instead of (%qs).
+
+2022-03-22  Martin Liska  <mliska@suse.cz>
+
+       PR target/104898
+       * config/i386/i386-options.cc (ix86_option_override_internal):
+         Use '%qs' instead of '(%qs)'.
+
+2022-03-22  Martin Liska  <mliska@suse.cz>
+
+       PR target/104898
+       * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
+       Use 'qs' and remove usage '(%qs)'.
+       (aarch64_handle_attr_cpu): Likewise.
+       (aarch64_handle_attr_tune): Likewise.
+       (aarch64_handle_attr_isa_flags): Likewise.
+
+2022-03-22  Tamar Christina  <tamar.christina@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
+       struct.
+       (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
+       cost.
+       (neoverse512tvb_tunings): Likewise.
+
+2022-03-22  Tamar Christina  <tamar.christina@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64.cc (demeter_addrcost_table,
+       demeter_regmove_cost, demeter_advsimd_vector_cost,
+       demeter_sve_vector_cost, demeter_scalar_issue_info,
+       demeter_advsimd_issue_info, demeter_sve_issue_info,
+       demeter_vec_issue_info, demeter_vector_cost,
+       demeter_tunings): New tuning structs.
+       (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
+       tuning.
+       * config/aarch64/aarch64-cores.def: Add entry for demeter.
+       * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
+
+2022-03-22  Tamar Christina  <tamar.christina@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
+       (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
+       * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
+       tunings to use cpu_memmov_cost struct.
+
+2022-03-22  Tamar Christina  <tamar.christina@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
+       neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
+       neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
+       neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
+       neoversen2_vec_issue_info, neoversen2_tunings): New structs.
+       (neoversen2_tunings): Use new structs and update tuning flags.
+       (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
+       tuning.
+
+2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
+       bit.
+
+2022-03-22  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/104982
+       * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
+       following splitter to reversed condition.
+
+2022-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/104989
+       * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
+       sorry for passing too large argument, instead set sibcall_failure
+       for pass == 0, or a new normal_failure flag otherwise.  If
+       normal_failure is set, don't assert all stack has been deallocated
+       at the end and throw away the whole insn sequence.
+
+2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
+
+       * print-tree.cc: Change array length
+
+2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/104978
+       * config/i386/sse.md
+       (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
+       Use avx512f_movsf_mask instead of vmovaps or vblend, and
+       force_reg before lowpart_subreg.
+       (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
+
+2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/105000
+       * common/config/i386/i386-common.cc
+       (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
+       OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
+
+2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/104998
+       * common/config/i386/cpuinfo.h (get_available_features): Pass
+       0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
+       bit_AESKLE is set.
+
+2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR middle-end/104869
+       * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
+       (clobber_group::next_clobber): Likewise.
+       (def_lookup::prev_def): Rename to...
+       (def_lookup::last_def_of_prev_group): ...this.
+       (def_lookup::next_def): Rename to...
+       (def_lookup::first_def_of_next_group): ...this.
+       (def_lookup::matching_or_prev_def): Rename to...
+       (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
+       (def_lookup::matching_or_next_def): Rename to...
+       (def_lookup::matching_set_or_first_def_of_next_group): ...this.
+       (def_lookup::prev_def): New function, taking the lookup insn as
+       argument.
+       (def_lookup::next_def): Likewise.
+       * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
+       (def_lookup::last_def_of_prev_group): ...this.
+       (def_lookup::next_def): Rename to...
+       (def_lookup::first_def_of_next_group): ...this.
+       (def_lookup::matching_or_prev_def): Rename to...
+       (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
+       (def_lookup::matching_or_next_def): Rename to...
+       (def_lookup::matching_set_or_first_def_of_next_group): ...this.
+       * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
+       above renaming.
+       * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
+       (clobber_group::next_clobber): Likewise.
+       (def_lookup::prev_def): Likewise.
+       (def_lookup::next_def): Likewise.
+       (function_info::make_use_available): Pass the lookup insn to
+       def_lookup::prev_def and def_lookup::next_def.
+
+2022-03-21  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Document min-pagesize parameter.
+
+2022-03-21  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
+       we are estimating niter of loop.
+
+2022-03-21  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
+       Update flag name and mask name.
+       * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
+       misc macro for vector extensions.
+       * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
+       (MASK_VECTOR_ELEN_32): ... this.
+       (MASK_VECTOR_EEW_64): Rename to ...
+       (MASK_VECTOR_ELEN_64): ... this.
+       (MASK_VECTOR_EEW_FP_32): Rename to ...
+       (MASK_VECTOR_ELEN_FP_32): ... this.
+       (MASK_VECTOR_EEW_FP_64): Rename to ...
+       (MASK_VECTOR_ELEN_FP_64): ... this.
+       (TARGET_VECTOR_ELEN_32): New.
+       (TARGET_VECTOR_ELEN_64): Ditto.
+       (TARGET_VECTOR_ELEN_FP_32): Ditto.
+       (TARGET_VECTOR_ELEN_FP_64): Ditto.
+       (TARGET_MIN_VLEN): Ditto.
+       * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
+       (riscv_vector_elen_flags): ... this.
+
+2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
+
+       PR target/104977
+       * config/i386/sse.md
+       (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
+       Correct round operand for intel dialect.
+
+2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
+
+       * diagnostic.cc (diagnostic_cc_tests): Rename to...
+       (c_diagnostic_cc_tests): ...this.
+       * opt-problem.cc (opt_problem_cc_tests): Rename to...
+       (c_opt_problem_cc_tests): ...this.
+       * selftest-run-tests.cc (selftest::run_tests): No longer run
+       opt_problem_cc_tests or diagnostic_cc_tests.
+       * selftest.h (diagnostic_cc_tests): Remove declaration.
+       (opt_problem_cc_tests): Likewise.
+
+2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
+
+       PR jit/63854
+       * hash-traits.h (struct typed_const_free_remove): New.
+       (struct free_string_hash): New.
+       * pass_manager.h: Use free_string_hash.
+       * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
+       (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
+
+2022-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/104971
+       * config/i386/i386-expand.cc
+       (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
+       don't push/pop anything and just return const0_rtx.
+
+2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/104961
+       * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
+
+2022-03-18  Jason Merrill  <jason@redhat.com>
+
+       * tree.h (IDENTIFIER_LENGTH): Add comment.
+
+2022-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/99578
+       PR middle-end/100680
+       PR tree-optimization/100834
+       * params.opt (--param=min-pagesize=): New parameter.
+       * pointer-query.cc
+       (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
+       (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
+       of zero for pointer constants equal or larger than min-pagesize.
+
+2022-03-18  Tom de Vries  <tdevries@suse.de>
+
+       * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
+       Set gfor location only when dealing with a OMP_TASKLOOP.
+
+2022-03-18  Tom de Vries  <tdevries@suse.de>
+
+       * gimplify.cc (gimplify_omp_for): Set taskloop location.
+
+2022-03-18  Tom de Vries  <tdevries@suse.de>
+
+       PR target/104952
+       * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
+       is executed unconditionally.
+
+2022-03-18  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/104974
+       * config/i386/i386.md (*movhi_internal): Set attr type from HI
+       to HF for alternative 12 under TARGET_AVX512FP16.
+
+2022-03-18  Cui,Lili  <lili.cui@intel.com>
+
+       PR target/104963
+       * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
+       * doc/invoke.texi: Update documents for Intel sapphirerapids.
+
+2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR target/86722
+       PR tree-optimization/90356
+       * config/i386/i386.md (*movtf_internal): Don't guard
+       standard_sse_constant_p clause by optimize_function_for_size_p.
+       (*movdf_internal): Likewise.
+       (*movsf_internal): Likewise.
+
+2022-03-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/102943
+       * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
+       dominators and apply intermediary outgoing edge ranges.
+
+2022-03-17  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104960
+       * passes.def: Add pass parameter to pass_sink_code, mark
+       last one to unsplit edges.
+       * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
+       (pass_sink_code::execute): Always execute TODO_cleanup_cfg
+       when we need to unsplit edges.
+
+2022-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/103984
+       * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
+       TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
+       and asan unpoisioning, then append the temporary sequence and
+       finally the TARGET_EXPR_CLEANUP clobbers.
+
+2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * config/i386/sse.md: Delete corrupt character/typo.
+
+2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR target/94680
+       * config/i386/sse.md (sse2_movq128): New define_expand to
+       preserve previous named instruction.
+       (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
+       generalized to VI8F_128 (both V2DI and V2DF).
+
+2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       PR tree-optimization/104941
+       * tree-object-size.cc (size_for_offset): Make useless conversion
+       check lighter and assign result of fold_convert to OFFSET.
+
+2022-03-16  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/104890
+       * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
+       pushing target("general-regs-only").
+
+2022-03-16  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
+       Add version info for zk, zks and zkn.
+
+2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
+
+       * common/config/riscv/riscv-common.cc
+       (riscv_combine_info): New.
+       (riscv_subset_list::handle_combine_ext): Combine back into zk to
+       maintain the canonical order in isa strings.
+       (riscv_subset_list::parse): Ditto.
+       * config/riscv/riscv-subset.h (handle_combine_ext): New.
+
+2022-03-16  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/102008
+       * passes.def: Move the added code sinking pass before the
+       preceeding phiopt pass.
+
+2022-03-16  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/96780
+       * doc/invoke.texi (C++ Dialect Options): Document
+       -ffold-simple-inlines.
+
+2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
+
+       PR tree-optimization/104942
+       * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
+
+2022-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/104910
+       * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
+       imm rtx.
+
+2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       * gimple-match-head.cc (single_use): Implement inline using a
+       single loop.
+
+2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
+
+       * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
+       instead of HONOR_NANS.
+       (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
+       this can't trap/signal.
+
+2022-03-16  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/104946
+       * config/i386/i386-builtin.def (BDESC): Add
+       CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
+       * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
+       __builtin_ia32_blendvpd w/o sse4.2
+
+2022-03-15  Peter Bergner  <bergner@linux.ibm.com>
+
+       PR target/104923
+       * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
+       acceptable MEM addresses.
+
+2022-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/91229
+       * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
+       riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
+       to warning calls.
+
+2022-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/104890
+       * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
+       instead of general-regs-only.
+
+2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
+           Marc Glisse  <marc.glisse@inria.fr>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/101895
+       * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
+       (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
+
+2022-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/104814
+       * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
+       end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
+
+2022-03-15  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/104436
+       * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
+       Check for warning suppression.  Avoid by-value arguments transformed
+       into by-transparent-reference.
+
+2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
+           Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
+       transformation when *zero_extend<mode>si2 is not available.
+
+2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
+
+       * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
+       * config/mips/mips.cc (mips_option_override): Make
+       -fsanitize=address imply -fasynchronous-unwind-tables.  This is
+       needed by libasan for stack backtrace on MIPS.
+       (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
+
+2022-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/104778
+       * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
+       SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
+       call simplified the first operand into VOIDmode constant.
+
+2022-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/102586
+       * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
+       argument type should be pointer to trivially-copyable type unless it
+       is address of a variable or parameter.
+
+2022-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/99754
+       * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
+       first   rather than last element of the vector, use __m32_u to do
+       a really unaligned load, use just 0 instead of (int)0.
+       (_mm_loadu_si16): Put loaded value into first rather than last
+       element of the vector, use __m16_u to do a really unaligned load,
+       use just 0 instead of (short)0.
+
+2022-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/104899
+       * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
+       in diagnostic message - cannott -> cannot.  Use %< and %> around
+       names of attribute.  Avoid too long line.
+       * range-op.cc (operator_logical_and::op1_range): Fix up a typo
+       in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
+
+2022-03-14  liuhongt  <hongtao.liu@intel.com>
+
+       PR target/104666
+       * config/i386/i386-expand.cc
+       (ix86_check_builtin_isa_match): New func.
+       (ix86_expand_builtin): Move code to
+       ix86_check_builtin_isa_match and call it.
+       * config/i386/i386-protos.h
+       (ix86_check_builtin_isa_match): Declare.
+       * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
+       builtin into gimple when isa mismatches.
+
+2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
+
+       * doc/invoke.texi: Fix typos.
+       * doc/tm.texi.in: Remove duplicated word.
+       * doc/tm.texi: Regenerate.
+
+2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/104829
+       * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
+       "ppc" and "ppc64" based on rs6000_cpu.
+
+2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/100280
+       PR middle-end/104892
+       * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
+       Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
+
+2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR middle-end/100280
+       PR middle-end/104086
+       * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
+       Mark variables used in 'present' clauses as addressable.
+       * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
+       handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
+
+2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR other/65095
+       * tree-core.h (user_omp_claus_code_name): Declare function.
+       * tree.cc (user_omp_clause_code_name): New function.
+
+2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR middle-end/98420
+       * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
+       (the defaut) or -fno-signed-zeros.
+
+2022-03-12   Michael Meissner  <meissner@linux.ibm.com>
+
+       PR target/104868
+       * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
+       moving from a GPR register to an Altivec register.
+
+2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
+
+       PR tree-optimization/98335
+       * config/i386/i386.md (peephole2): Eliminate redundant insv.
+       Combine movl followed by movb.  Transform xorl followed by
+       a suitable movb or movw into the equivalent movz[bw]l.
+
+2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
+           Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/98335
+       * builtins.cc (get_object_alignment_2): Export.
+       * builtins.h (get_object_alignment_2): Likewise.
+       * tree-ssa-alias.cc (ao_ref_alignment): New.
+       * tree-ssa-alias.h (ao_ref_alignment): Declare.
+       * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
+       to align head/tail, writing more bytes but using fewer store insns.
+
+2022-03-11  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/104880
+       * tree-ssa.cc (execute_update_address_taken): Remember if we
+       optimistically made something not addressable and
+       prepare to undo it.
+
+2022-03-11  Richard Biener  <rguenther@suse.de>
+
+       PR target/104762
+       * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
+       cost the first lane of SSE pieces as inserts for vec_construct.
+
 2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
 
        PR c++/84964