+2024-04-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114624
+ * tree-scalar-evolution.cc (final_value_replacement_loop):
+ Get at the PHI arg location before releasing the PHI node.
+
+2024-04-08 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Pass
+ required_ext arg when invoke add function.
+ (build_th_loadstore): Ditto.
+ (struct vcreate_def): Ditto.
+ (struct read_vl_def): Ditto.
+ (struct vlenb_def): Ditto.
+ * config/riscv/riscv-vector-builtins.cc (function_builder::add_function):
+ Introduce new arg required_ext to fill in the register func.
+ (function_builder::add_unique_function): Ditto.
+ (function_builder::add_overloaded_function): Ditto.
+ (expand_builtin): Leverage required_extensions_specified to
+ check if the required extension is provided.
+ * config/riscv/riscv-vector-builtins.h (reqired_ext_to_isa_name): New
+ func impl to convert the required_ext enum to the extension name.
+ (required_extensions_specified): New func impl to predicate if
+ the required extension is well feeded.
+
+2024-04-08 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Update coverage
+ specs.
+
+2024-04-08 demin.han <demin.han@starfivetech.com>
+
+ * config/riscv/riscv-vector-costs.cc: Use length()
+
+2024-04-08 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv-c.cc (struct pragma_intrinsic_flags): New
+ struct to hold all intrinisc related flags.
+ (riscv_pragma_intrinsic_flags_pollute): New func to pollute
+ the intrinsic flags and backup original flags.
+ (riscv_pragma_intrinsic_flags_restore): New func to restore
+ the flags from the backup intrinsic flags.
+ (riscv_pragma_intrinsic): Pollute the flags and register all
+ possible builtin types and functions, then restore and reinit.
+ * config/riscv/riscv-protos.h (reinit_builtins): New func
+ decl to reinit after flags pollution.
+ (riscv_option_override): New extern func decl.
+ * config/riscv/riscv-vector-builtins.cc (register_builtin_types_on_null):
+ New func to register builtin types if null.
+ (DEF_RVV_TYPE): Ditto.
+ (DEF_RVV_TUPLE_TYPE): Ditto.
+ (reinit_builtins): New func impl to reinit after flags pollution.
+ (expand_builtin): Return
+ target rtx after error_at.
+ * config/riscv/riscv.cc (riscv_vector_int_type_p): New predicate
+ func to tell one tree type is integer or not.
+ (riscv_vector_float_type_p): New predicate func to tell one tree
+ type is float or not.
+ (riscv_vector_element_bitsize): New func to get the element bitsize
+ of a vector tree type.
+ (riscv_vector_required_min_vlen): New func to get the required min vlen
+ of a vector tree type.
+ (riscv_validate_vector_type): New func to validate the tree type
+ is valid on flags.
+ (riscv_return_value_is_vector_type_p): Leverage the func
+ riscv_validate_vector_type to do the tree type validation.
+ (riscv_arguments_is_vector_type_p): Ditto.
+ (riscv_override_options_internal): Ditto.
+
+2024-04-08 Lulu Cheng <chenglulu@loongson.cn>
+
+ PR target/112919
+ * config/loongarch/loongarch-def.cc (la664_align): Newly defined
+ function that sets alignment rules under the LA664 microarchitecture.
+ * config/loongarch/loongarch-opts.cc
+ (loongarch_target_option_override): If not optimizing for size, set
+ the default alignment to what the target wants.
+ * config/loongarch/loongarch-tune.h (struct loongarch_align): Add
+ new member variables jump and loop.
+
+2024-04-06 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/114590
+ * config/i386/i386.md (x86_64_shld): Use explicit shift count in
+ AT&T syntax.
+ (x86_64_shld_ndd): Likewise.
+ (x86_shld): Likewise.
+ (x86_shld_ndd): Likewise.
+ (x86_64_shrd): Likewise.
+ (x86_64_shrd_ndd): Likewise.
+ (x86_shrd): Likewise.
+ (x86_shrd_ndd): Likewise.
+
+2024-04-06 Jørgen Kvalsvik <j@lambda.is>
+
+ PR middle-end/114599
+ * tree-inline.cc (add_local_variables): Copy cond_uids mappings.
+
+2024-04-05 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/114588
+ * diagnostic-color.cc (color_dict): Add "valid" and "invalid" as
+ color capability names.
+ * doc/invoke.texi: Document them in description of GCC_COLORS.
+ * text-art/style.cc: Include "diagnostic-color.h".
+ (text_art::get_style_from_color_cap_name): New.
+ * text-art/types.h (get_style_from_color_cap_name): New decl.
+
+2024-04-05 Alex Coplan <alex.coplan@arm.com>
+
+ * config/aarch64/aarch64-ldp-fusion.cc (struct alias_walker):
+ Fix double space after const qualifier on valid ().
+
+2024-04-05 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/113964
+ * ipa-param-manipulation.cc (ipa_param_adjustments::modify_call):
+ Force values obtined through pass-through maps to the expected
+ split type.
+
+2024-04-05 Mark Wielaard <mark@klomp.org>
+
+ * common.opt.urls: Regenerate.
+
+2024-04-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/114603
+ * config/aarch64/aarch64-sve.md (@aarch64_pred_cnot<mode>): Replace
+ with...
+ (@aarch64_ptrue_cnot<mode>): ...this, requiring operand 1 to be
+ a ptrue.
+ (*cnot<mode>): Require operand 1 to be a ptrue.
+ * config/aarch64/aarch64-sve-builtins-base.cc (svcnot_impl::expand):
+ Use aarch64_ptrue_cnot<mode> for _x operations that are predicated
+ with a ptrue. Represent other _x operations as fully-defined _m
+ operations.
+
+2024-04-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114566
+ * tree-vect-loop.cc (update_epilogue_loop_vinfo): Don't clear
+ base_misaligned.
+
+2024-04-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/114599
+ PR gcov-profile/114115
+ * symtab.cc (ifunc_ref_map): Do not use auto_bitmap.
+ (is_caller_ifunc_resolver): Optimize bitmap_bit_p/bitmap_set_bit
+ pair.
+ (symtab_node::check_ifunc_callee_symtab_nodes): Properly
+ allocate ifunc_ref_map here.
+
+2024-04-04 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/111571
+ * ipa-param-manipulation.cc
+ (ipa_param_body_adjustments::common_initialization): Avoid creating
+ duplicate replacement entries.
+
+2024-04-04 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/114415
+ * sched-deps.cc (add_insn_mem_dependence): Add memory check for mem argument.
+ (sched_analyze_1): Treat stack pointer modification as memory read.
+ (sched_analyze_2, sched_analyze_insn): Add memory guard for processing pending_read_mems.
+ * sched-int.h (deps_desc): Add comment to pending_read_mems.
+
+2024-04-04 Tobias Burnus <tburnus@baylibre.com>
+
+ * config/nvptx/mkoffload.cc (main): Call
+ gcc_init_libintl and diagnostic_color_init.
+
+2024-04-04 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/114587
+ * config/i386/i386-c.cc (ix86_target_macros_internal): Define
+ __APX_F__ when APX is enabled.
+
+2024-04-04 Jørgen Kvalsvik <j@lambda.is>
+
+ * builtins.cc (expand_builtin_fork_or_exec): Check
+ condition_coverage_flag.
+ * collect2.cc (main): Add -fno-condition-coverage to OBSTACK.
+ * common.opt: Add new options -fcondition-coverage and
+ -Wcoverage-too-many-conditions.
+ * doc/gcov.texi: Add --conditions documentation.
+ * doc/invoke.texi: Add -fcondition-coverage documentation.
+ * function.cc (free_after_compilation): Free cond_uids.
+ * function.h (struct function): Add cond_uids.
+ * gcc.cc: Link gcov on -fcondition-coverage.
+ * gcov-counter.def (GCOV_COUNTER_CONDS): New.
+ * gcov-dump.cc (tag_conditions): New.
+ * gcov-io.h (GCOV_TAG_CONDS): New.
+ (GCOV_TAG_CONDS_LENGTH): New.
+ (GCOV_TAG_CONDS_NUM): New.
+ * gcov.cc (class condition_info): New.
+ (condition_info::condition_info): New.
+ (condition_info::popcount): New.
+ (struct coverage_info): New.
+ (add_condition_counts): New.
+ (output_conditions): New.
+ (print_usage): Add -g, --conditions.
+ (process_args): Likewise.
+ (output_intermediate_json_line): Output conditions.
+ (read_graph_file): Read condition counters.
+ (read_count_file): Likewise.
+ (file_summary): Print conditions.
+ (accumulate_line_info): Accumulate conditions.
+ (output_line_details): Print conditions.
+ * gimplify.cc (next_cond_uid): New.
+ (reset_cond_uid): New.
+ (shortcut_cond_r): Set condition discriminator.
+ (tag_shortcut_cond): New.
+ (gimple_associate_condition_with_expr): New.
+ (shortcut_cond_expr): Set condition discriminator.
+ (gimplify_cond_expr): Likewise.
+ (gimplify_function_tree): Call reset_cond_uid.
+ * ipa-inline.cc (can_early_inline_edge_p): Check
+ condition_coverage_flag.
+ * ipa-split.cc (pass_split_functions::gate): Likewise.
+ * passes.cc (finish_optimization_passes): Likewise.
+ * profile.cc (struct condcov): New declaration.
+ (cov_length): Likewise.
+ (cov_blocks): Likewise.
+ (cov_masks): Likewise.
+ (cov_maps): Likewise.
+ (cov_free): Likewise.
+ (instrument_decisions): New.
+ (read_thunk_profile): Control output to file.
+ (branch_prob): Call find_conditions, instrument_decisions.
+ (init_branch_prob): Add total_num_conds.
+ (end_branch_prob): Likewise.
+ * tree-core.h (struct tree_exp): Add condition_uid.
+ * tree-profile.cc (struct conds_ctx): New.
+ (CONDITIONS_MAX_TERMS): New.
+ (EDGE_CONDITION): New.
+ (topological_cmp): New.
+ (index_of): New.
+ (single_p): New.
+ (single_edge): New.
+ (contract_edge_up): New.
+ (struct outcomes): New.
+ (conditional_succs): New.
+ (condition_index): New.
+ (condition_uid): New.
+ (masking_vectors): New.
+ (emit_assign): New.
+ (emit_bitwise_op): New.
+ (make_top_index_visit): New.
+ (make_top_index): New.
+ (paths_between): New.
+ (struct condcov): New.
+ (cov_length): New.
+ (cov_blocks): New.
+ (cov_masks): New.
+ (cov_maps): New.
+ (cov_free): New.
+ (find_conditions): New.
+ (struct counters): New.
+ (find_counters): New.
+ (resolve_counter): New.
+ (resolve_counters): New.
+ (instrument_decisions): New.
+ (tree_profiling): Check condition_coverage_flag.
+ (pass_ipa_tree_profile::gate): Likewise.
+ * tree.h (SET_EXPR_UID): New.
+ (EXPR_COND_UID): New.
+
+2024-04-04 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/114577
+ * config/aarch64/aarch64-sve-builtins.h (aarch64_sve::lookup_fndecl):
+ Declare.
+ * config/aarch64/aarch64-sve-builtins.cc (aarch64_sve::lookup_fndecl):
+ New function.
+ * config/aarch64/aarch64-sve-builtins-base.cc (is_undef): Likewise.
+ (svset_neonq_impl::expand): Optimise expansions whose first argument
+ is undefined.
+
+2024-04-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114485
+ * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p):
+ vect_step_op_neg isn't OK for partial vectors but only
+ for unknown niter.
+
+2024-04-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/114537
+ * fold-const.cc (native_encode_initializer): Look through
+ NON_LVALUE_EXPR if val is INTEGER_CST.
+
+2024-04-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114555
+ * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): For
+ m_bitfld_load and save_cast_conditional add any needed PHIs
+ and adjust t4 accordingly.
+
+2024-04-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114551
+ * tree-ssa-loop-split.cc (split_loop): If the guard is
+ only conditionally evaluated rewrite computations with
+ possibly undefined overflow to unsigned arithmetic.
+
+2024-04-04 Eugene Rozenfeld <erozen@microsoft.com>
+
+ PR gcov-profile/113765
+ * auto-profile.cc (afdo_annotate_cfg): Don't set full_profile to true
+
+2024-04-03 Mark Wielaard <mark@klomp.org>
+
+ * config/i386/i386.opt.urls: Regenerate.
+
+2024-04-03 H.J. Lu <hjl.tools@gmail.com>
+
+ PR tree-optimization/114115
+ * cgraph.h (symtab_node): Add check_ifunc_callee_symtab_nodes.
+ (cgraph_node): Add called_by_ifunc_resolver.
+ * cgraphunit.cc (symbol_table::compile): Call
+ symtab_node::check_ifunc_callee_symtab_nodes.
+ * symtab.cc (check_ifunc_resolver): New.
+ (ifunc_ref_map): Likewise.
+ (is_caller_ifunc_resolver): Likewise.
+ (symtab_node::check_ifunc_callee_symtab_nodes): Likewise.
+ * tree-profile.cc (gimple_gen_ic_func_profiler): Disable indirect
+ call profiling for IFUNC resolvers and their callees.
+
+2024-04-03 Tobias Burnus <tburnus@baylibre.com>
+
+ * lto-wrapper.cc (compile_offload_image): Prefix 'offload_args'
+ suffix by the target name.
+
+2024-04-03 Tobias Burnus <tburnus@baylibre.com>
+
+ * doc/install.texi (amdgcn-*-amdhsa): Update Newlib recommendation
+ and update wording for LLVM 18 release.
+
+2024-04-03 Tobias Burnus <tburnus@baylibre.com>
+
+ PR other/111966
+ * config/gcn/mkoffload.cc (get_arch): New; moved -march= flag
+ handling from ...
+ (main): ... here; call it to handle --with-arch config option
+ and -march= commandline.
+
+2024-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114552
+ * expr.cc (emit_push_insn): Only use store_constructor for
+ immediate_const_ctor_p if int_expr_size matches size.
+
+2024-04-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114557
+ PR tree-optimization/114480
+ * tree-phinodes.cc (release_phi_node): Return PHIs from
+ allocation buckets not covered by free_phinodes to GC.
+ (remove_phi_node): Release the PHI LHS before freeing the
+ PHI node.
+ * tree-vect-loop.cc (vectorizable_live_operation): Get PHI lhs
+ before releasing it.
+
+2024-04-03 Jiahao Xu <xujiahao@loongson.cn>
+
+ * config/loongarch/lasx.md: Remove unused code.
+ * config/loongarch/loongarch-protos.h
+ (loongarch_split_lsx_copy_d): Remove.
+ (loongarch_split_lsx_insert_d): Ditto.
+ (loongarch_split_lsx_fill_d): Ditto.
+ * config/loongarch/loongarch.cc
+ (loongarch_split_lsx_copy_d): Ditto.
+ (loongarch_split_lsx_insert_d): Ditto.
+ (loongarch_split_lsx_fill_d): Ditto.
+ * config/loongarch/lsx.md (lsx_vpickve2gr_du): Remove splitter.
+ (lsx_vpickve2gr_<lsxfmt_f>): Ditto.
+ (abs<mode>2): Remove expander.
+ (vabs<mode>2): Rename 2 abs<mode>2.
+
+2024-04-02 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/aarch64/aarch64-option-extensions.def: Fix comment.
+
+2024-04-02 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2out.cc (print_dw_val) <dw_val_class_loc>: Don't
+ print newline when not recursing.
+
+2024-04-02 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin.cc (darwin_override_options): Update the
+ clang major version value in the dsymutil check.
+
+2024-04-02 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin.cc (darwin_override_options): Reduce the debug
+ level to 2 if dsymutil cannot handle .macinfo sections.
+
+2024-04-02 Yang Yujie <yangyujie@loongson.cn>
+
+ * config/loongarch/t-loongarch: Add loongarch-def-arrays.h
+ to OPTION_H_EXTRA.
+
+2024-04-02 mengqinggang <mengqinggang@loongson.cn>
+ Lulu Cheng <chenglulu@loongson.cn>
+ Xi Ruoyao <xry111@xry111.site>
+
+ * config.gcc: Add --with-tls option to change TLS flavor.
+ * config/loongarch/genopts/loongarch.opt.in: Add -mtls-dialect to
+ configure TLS flavor.
+ * config/loongarch/loongarch-def.h (struct loongarch_target): Add
+ tls_dialect.
+ * config/loongarch/loongarch-driver.cc (la_driver_init): Add tls
+ flavor.
+ * config/loongarch/loongarch-opts.cc (loongarch_init_target): Add
+ tls_dialect.
+ (loongarch_config_target): Ditto.
+ (loongarch_update_gcc_opt_status): Ditto.
+ * config/loongarch/loongarch-opts.h (loongarch_init_target): Ditto.
+ (TARGET_TLS_DESC): New define.
+ * config/loongarch/loongarch.cc (loongarch_symbol_insns): Add TLS
+ DESC instructions sequence length.
+ (loongarch_legitimize_tls_address): New TLS DESC instruction sequence.
+ (loongarch_option_override_internal): Add la_opt_tls_dialect.
+ (loongarch_option_restore): Add la_target.tls_dialect.
+ * config/loongarch/loongarch.md (@got_load_tls_desc<mode>): Normal
+ code model for TLS DESC.
+ (got_load_tls_desc_off64): Extreme cmode model for TLS DESC.
+ * config/loongarch/loongarch.opt: Regenerate.
+ * config/loongarch/loongarch.opt.urls: Ditto.
+ * doc/invoke.texi: Add a description of the compilation option
+ '-mtls-dialect={trad,desc}'.
+
+2024-04-02 Lulu Cheng <chenglulu@loongson.cn>
+
+ * config/loongarch/loongarch.opt.urls: Regenerate.
+
+2024-04-01 Yang Yujie <yangyujie@loongson.cn>
+
+ * config/loongarch/genopts/loongarch.opt.in: Mark -m[no-]recip as
+ aliases to -mrecip={all,none}, respectively.
+ * config/loongarch/loongarch.opt: Regenerate.
+ * config/loongarch/loongarch-def.h (ABI_FPU_64): Rename to...
+ (ABI_FPU64_P): ...this.
+ (ABI_FPU_32): Rename to...
+ (ABI_FPU32_P): ...this.
+ (ABI_FPU_NONE): Rename to...
+ (ABI_NOFPU_P): ...this.
+ (ABI_LP64_P): Define.
+ * config/loongarch/loongarch.cc (loongarch_init_print_operand_punct):
+ Merged into loongarch_global_init.
+ (loongarch_cpu_option_override): Renamed to
+ loongarch_target_option_override.
+ (loongarch_option_override_internal): Move the work after
+ loongarch_config_target into loongarch_target_option_override.
+ (loongarch_global_init): Define.
+ (INIT_TARGET_FLAG): Move to loongarch-opts.cc.
+ (loongarch_option_override): Call loongarch_global_init
+ separately.
+ * config/loongarch/loongarch-opts.cc (loongarch_parse_mrecip_scheme):
+ Split the parsing of -mrecip=<string> from
+ loongarch_option_override_internal.
+ (loongarch_generate_mrecip_scheme): Define. Split from
+ loongarch_option_override_internal.
+ (loongarch_target_option_override): Define. Renamed from
+ loongarch_cpu_option_override.
+ (loongarch_init_misc_options): Define. Split from
+ loongarch_option_override_internal.
+ (INIT_TARGET_FLAG): Move from loongarch.cc.
+ * config/loongarch/loongarch-opts.h (loongarch_target_option_override):
+ New prototype.
+ (loongarch_parse_mrecip_scheme): New prototype.
+ (loongarch_init_misc_options): New prototype.
+ (TARGET_ABI_LP64): Simplify with ABI_LP64_P.
+ * config/loongarch/loongarch.h (TARGET_RECIP_DIV): Simplify.
+ Do not reference specific CPU architecture (LA664).
+ (TARGET_RECIP_SQRT): Same.
+ (TARGET_RECIP_RSQRT): Same.
+ (TARGET_RECIP_VEC_DIV): Same.
+ (TARGET_RECIP_VEC_SQRT): Same.
+ (TARGET_RECIP_VEC_RSQRT): Same.
+
+2024-04-01 Lulu Cheng <chenglulu@loongson.cn>
+
+ * doc/invoke.texi: Add descriptions for the compilation
+ options.
+
+2024-03-31 Jeff Law <jlaw@ventanamicro.com>
+
+ * config/riscv/xiangshan.md (xiangshan_jump): Add branch, jalr, ret
+ and sfb_alu.
+
+2024-03-31 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv-vector-builtins.cc (expand_builtin): Take
+ the term built-in over builtin.
+
+2024-03-31 Pan Li <pan2.li@intel.com>
+
+ * common/config/riscv/riscv-common.cc (riscv_subset_list::parse):
+ Remove unused var decl.
+
+2024-03-30 Xi Ruoyao <xry111@xry111.site>
+
+ PR target/114175
+ * config/mips/mips.cc (mips_setup_incoming_varargs): Only skip
+ mips_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P
+ functions if arg.type is NULL.
+
+2024-03-29 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * lto-compress.cc (lto_end_uncompression): Use
+ fatal_error instead of internal_error when ZSTD
+ is not enabled.
+
+2024-03-28 Jeff Law <jlaw@ventanamicro.com>
+
+ * config/h8300/extensions.md (zero_extendqihi*): Add output
+ template for reg->reg case where the regs don't match.
+
+2024-03-28 Gaius Mulley <(no_default)>
+
+ PR modula2/114517
+ * doc/gm2.texi: Mention gm2 treats a # in the first column
+ as a preprocessor directive unless -fno-cpp is supplied.
+
+2024-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ * predict.cc (estimate_bb_frequencies): Fix comment typo,
+ scalling -> scaling.
+
+2024-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/112303
+ * profile-count.h (profile_count::operator+): Perform
+ addition in uint64_t variable and set m_val to MIN of that
+ val and max_count.
+ (profile_count::operator+=): Likewise.
+ (profile_count::operator-=): Formatting fix.
+ (profile_count::apply_probability): Use safe_scale_64bit
+ even in the int overload.
+
+2024-03-28 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/113907
+ * ipa-icf.cc (sem_function::init): Hash PHI operands
+ (sem_function::compare_phi_node): Add argument about preserving order
+
+2024-03-28 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/114480
+ * cfganal.cc (compute_idf): Use simpler bitmap iteration,
+ touch work_set only when phi_insertion_points changed.
+
+2024-03-28 Palmer Dabbelt <palmer@rivosinc.com>
+
+ * config/riscv/riscv.h (REGISTER_NAMES): Add vxsat.
+
+2024-03-27 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/101523
+ * combine.cc (try_combine): Don't do a 2-insn combination if
+ it does not in fact change I2.
+
+2024-03-27 Jakub Jelinek <jakub@redhat.com>
+
+ * doc/invoke.texi (Spec Files): Use @var{S} instead of S,
+ @var{X} instead of X etc. for other placeholders.
+
+2024-03-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114057
+ * tree-vect-slp.cc (vect_bb_slp_mark_live_stmts): Mark
+ BB reduction remain defs as scalar uses.
+
+2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com>
+
+ * config/aarch64/aarch64-option-extensions.def (rcpc3):
+ Fix FEATURE_STRING field to "lrcpc3".
+
+2024-03-27 Victor Do Nascimento <victor.donascimento@arm.com>
+
+ * config/aarch64/aarch64-option-extensions.def: Add LSE128
+ AARCH64_OPT_EXTENSION, adding it as a dependency for the D128
+ feature.
+ * doc/invoke.texi (AArch64 Options): Document +lse128.
+
+2024-03-26 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-feature-deps.h: Use constexpr for
+ out-of-line statics.
+
+2024-03-26 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ PR target/114431
+ * btfout.cc (get_name_for_datasec_entry): Add function.
+ (btf_asm_datasec_entry): Print label when possible.
+
+2024-03-26 Richard Ball <richard.ball@arm.com>
+
+ PR target/114272
+ * config/aarch64/aarch64-cores.def (AARCH64_CORE):
+ Change SCHEDULER_IDENT from cortexa55 to cortexa53
+ for Cortex-A510 and Cortex-A520.
+
+2024-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/111151
+ * fold-const.cc (extract_muldiv_1) <case MAX_EXPR>: Punt for
+ MULT_EXPR altogether, or for MAX_EXPR if c is -1.
+
+2024-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/111736
+ * tsan.cc (instrument_expr): Punt on non-generic address space
+ accesses.
+
+2024-03-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114471
+ * tree-vect-stmts.cc (vectorizable_operation): Verify operand
+ types are compatible with the result type.
+
+2024-03-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114464
+ * tree-vect-loop.cc (vectorizable_recurr): Verify the latch
+ vector type is compatible with what we chose for the recurrence.
+
+2024-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ * cfgloopmanip.cc (update_loop_exit_probability_scale_dom_bbs):
+ Fix comment typo - multple -> multiple.
+ * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
+ Likewise.
+
+2024-03-26 YunQiang Su <syq@gcc.gnu.org>
+
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Predefine
+ __mips_strict_alignment if STRICT_ALIGNMENT.
+
+2024-03-25 Richard Biener <rguenther@suse.de>
+
+ * config.gcc (amdgcn): Add gfx1036 entries.
+ * config/gcn/gcn-hsa.h (NO_XNACK): Likewise.
+ (gcn_local_sym_hash): Likewise.
+ * config/gcn/gcn-opts.h (enum processor_type): Likewise.
+ (TARGET_GFX1036): New macro.
+ * config/gcn/gcn.cc (gcn_option_override): Handle gfx1036.
+ (gcn_omp_device_kind_arch_isa): Likewise.
+ (output_file_start): Likewise.
+ * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __gfx1036__.
+ (TARGET_CPU_CPP_BUILTINS): Rename __gfx1030 to __gfx1030__.
+ * config/gcn/gcn.opt: Add gfx1036.
+ * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1036): New.
+ (main): Handle gfx1036.
+ * config/gcn/t-omp-device: Add gfx1036 isa.
+ * doc/install.texi (amdgcn): Add gfx1036.
+ * doc/invoke.texi (-march): Likewise.
+
+2024-03-25 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): Remove error
+ when V is disabled and init the RVV types and intrinic APIs.
+ * config/riscv/riscv-vector-builtins.cc (expand_builtin): Report
+ error if V ext is disabled.
+ * config/riscv/riscv.cc (riscv_return_value_is_vector_type_p):
+ Ditto.
+ (riscv_arguments_is_vector_type_p): Ditto.
+ (riscv_vector_cc_function_p): Ditto.
+ * config/riscv/riscv_vector.h: Remove error if V is disable.
+
+2024-03-23 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.cc (pa_output_global_address): Handle
+ UNSPEC_DLTIND14R addresses.
+ * config/pa/pa.h (PRINT_OPERAND_ADDRESS): Output "RT'" for
+ UNSPEC_DLTIND14R address.
+
+2024-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114433
+ * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): For
+ m_bitfld_load check save_first rather than m_first.
+
+2024-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114425
+ * gimple-lower-bitint.cc (build_bitint_stmt_ssa_conflicts): Handle
+ _Complex large/huge _BitInt types like the large/huge _BitInt types.
+
+2024-03-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/111683
+ * tree-predcom.cc (pcom_worker::suitable_component_p): If has_write
+ and comp_step is RS_NONZERO, return false if any reference in the
+ component doesn't have DR_STEP a multiple of access size.
+
+2024-03-23 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.md: Add new split pattern described above.
+
+2024-03-22 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_set_current_function): Adjust diagnostic
+ for deprecated SIGNAL and INTERRUPT usage without respective header.
+
+2024-03-22 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn.md (*memory_barrier): Split into RDNA and !RDNA.
+ (atomic_load<mode>): Adjust RDNA cache settings.
+ (atomic_store<mode>): Likewise.
+ (atomic_exchange<mode>): Likewise.
+
+2024-03-22 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn.cc (gcn_vectorize_preferred_simd_mode): Prefer V32 on
+ RDNA devices.
+
+2024-03-22 Andrew Stubbs <ams@baylibre.com>
+
+ * config.gcc (amdgcn): Add gfx1103 entries.
+ * config/gcn/gcn-hsa.h (NO_XNACK): Likewise.
+ (gcn_local_sym_hash): Likewise.
+ * config/gcn/gcn-opts.h (enum processor_type): Likewise.
+ (TARGET_GFX1103): New macro.
+ * config/gcn/gcn.cc (gcn_option_override): Handle gfx1103.
+ (gcn_omp_device_kind_arch_isa): Likewise.
+ (output_file_start): Likewise.
+ (gcn_hsa_declare_function_name): Use TARGET_RDNA3, not just gfx1100.
+ * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Add __gfx1103__.
+ * config/gcn/gcn.opt: Add gfx1103.
+ * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX1103): New.
+ (main): Handle gfx1103.
+ * config/gcn/t-omp-device: Add gfx1103 isa.
+ * doc/install.texi (amdgcn): Add gfx1103.
+ * doc/invoke.texi (-march): Likewise.
+
+2024-03-22 Andrew Stubbs <ams@baylibre.com>
+
+ * dojump.cc (do_compare_rtx_and_jump): Clear excess bits in vector
+ bitmasks.
+ (do_compare_and_jump): Remove now-redundant similar code.
+ * internal-fn.cc (expand_fn_using_insn): Clear excess bits in vector
+ bitmasks.
+ (add_mask_and_len_args): Likewise.
+
+2024-03-22 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Add pre-define
+ macro __riscv_v_fixed_vlen when zvl.
+ * config/riscv/riscv.cc (riscv_handle_rvv_vector_bits_attribute):
+ New static func to take care of the RVV types decorated by
+ the attributes.
+
+2024-03-22 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR c/109619
+ * builtins.cc (fold_builtin_1): Use error_operand_p
+ instead of checking against ERROR_MARK.
+ (fold_builtin_2): Likewise.
+ (fold_builtin_3): Likewise.
+
+2024-03-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/111736
+ * ubsan.cc (ubsan_expand_null_ifn, instrument_mem_ref): Avoid
+ SANITIZE_NULL instrumentation for non-generic address spaces
+ for which targetm.addr_space.zero_address_valid (as) is true.
+
+2024-03-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114405
+ * gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt):
+ Set rprec to limb_prec rather than 0 if tprec is divisible by
+ limb_prec. In the last bf_cur handling, set rprec to (tprec + bo_bit)
+ % limb_prec rather than tprec % limb_prec and use just rprec instead
+ of rprec + bo_bit. For build_bit_field_ref offset, divide
+ (tprec + bo_bit) by limb_prec rather than just tprec.
+
+2024-03-22 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ PR target/114194
+ * config/riscv/vector-iterators.md: Split VI into VI_FRAC and VI_NOFRAC.
+ Only include VI_NOFRAC in V_VLS without TARGET_XTHEADVECTOR.
+
+2024-03-22 Jeff Law <jlaw@ventanamicro.com>
+
+ * config/riscv/riscv.cc (riscv_expand_prologue): Add missing stack
+ tie for scalable and final stack adjustment if needed.
+ Co-authored-by: Raphael Zinsly <rzinsly@ventanamicro.com>
+
+2024-03-22 Pan Li <pan2.li@intel.com>
+
+ PR target/114352
+ * common/config/riscv/riscv-common.cc (struct riscv_func_target_info):
+ New struct for func decl and target name.
+ (struct riscv_func_target_hasher): New hasher for hash table mapping
+ from the fn_decl to fn_target_name.
+ (riscv_func_decl_hash): New func to compute the hash for fn_decl.
+ (riscv_func_target_hasher::hash): New func to impl hash interface.
+ (riscv_func_target_hasher::equal): New func to impl equal interface.
+ (riscv_cmdline_subset_list): New static var for cmdline subset list.
+ (riscv_func_target_table_lazy_init): New func to lazy init the func
+ target hash table.
+ (riscv_func_target_get): New func to get target name from hash table.
+ (riscv_func_target_put): New func to put target name into hash table.
+ (riscv_func_target_remove_and_destory): New func to remove target
+ info from the hash table and destory it.
+ (riscv_parse_arch_string): Set the static var cmdline_subset_list.
+ * config/riscv/riscv-subset.h (riscv_cmdline_subset_list): New static
+ var for cmdline subset list.
+ (riscv_func_target_get): New func decl.
+ (riscv_func_target_put): Ditto.
+ (riscv_func_target_remove_and_destory): Ditto.
+ * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch):
+ Take cmdline_subset_list instead of current_subset_list when clone.
+ (riscv_process_target_attr): Record the func target info to hash table.
+ (riscv_option_valid_attribute_p): Add new arg tree fndel.
+ * config/riscv/riscv.cc (riscv_declare_function_name): Consume the
+ func target info and print the arch message.
+
+2024-03-22 Pan Li <pan2.li@intel.com>
+
+ PR target/114352
+ * common/config/riscv/riscv-common.cc (riscv_subset_list::parse):
+ Replace implied, combine and check to func finalize.
+ (riscv_subset_list::finalize): New func impl to take care of
+ implied, combine ext and related checks.
+ * config/riscv/riscv-subset.h: Add func decl for finalize.
+ * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch):
+ Finalize the ext before return succeed.
+ * config/riscv/riscv.cc (riscv_set_current_function): Reinit the
+ machine mode before when set cur function.
+
+2024-03-21 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn.cc (gcn_expand_builtin_1): Comment correction.
+
+2024-03-21 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn-hsa.h (ASM_SPEC): Pass -mattr=+cumode.
+
+2024-03-21 Andrew Stubbs <ams@baylibre.com>
+
+ * config/gcn/gcn-run.cc (main): Add an hsa_memory_free calls for each
+ device_malloc call.
+
+2024-03-21 liuhongt <hongtao.liu@intel.com>
+
+ PR tree-optimization/114396
+ * tree-vect-loop.cc (vect_peel_nonlinear_iv_init): Pass utype
+ and true to wi::from_mpz.
+
+2024-03-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/111736
+ * asan.cc (instrument_derefs): Do not instrument accesses
+ to non-generic address-spaces.
+
+2024-03-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/113727
+ * tree-sra.cc (analyze_access_subtree): Do not allow
+ replacements in subtrees when grp_partial_lhs.
+
+2024-03-21 liuhongt <hongtao.liu@intel.com>
+
+ PR middle-end/114347
+ * doc/invoke.texi: Document -fexcess-precision=16.
+
+2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ * config/bpf/core-builtins.cc (bpf_core_get_index): Check if
+ field contains a DECL_NAME.
+
+2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ * config/bpf/btfext-out.cc (cpf_core_reloc_add): Correct for new code.
+ Add assert to validate the string is set.
+ * config/bpf/core-builtins.cc (cr_final): Make string struct
+ field as const.
+ (process_enum_value): Correct for field type change.
+ (process_type): Set access string to "0".
+
+2024-03-20 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ * config/bpf/core-builtins.cc (core_field_info): Add
+ support for POINTER_PLUS_EXPR in the root of the field expression.
+ (bpf_core_get_index): Likewise.
+ (pack_field_expr): Make the BTF type to point to the structure
+ related node, instead of its pointer type.
+ (make_core_safe_access_index): Correct to new code.
+
+2024-03-20 Xi Ruoyao <xry111@xry111.site>
+
+ PR target/114407
+ * config/loongarch/loongarch-opts.cc (loongarch_config_target):
+ Fix typo in diagnostic message, enabing -> enabling.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/visium/visium.cc (visium_setup_incoming_varargs): Only skip
+ TARGET_FUNCTION_ARG_ADVANCE for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Only skip
+ nios2_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Only skip
+ function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Only skip
+ function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Only skip
+ function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs): Only
+ skip function arg advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/csky/csky.cc (csky_setup_incoming_varargs): Only skip
+ csky_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-20 Yury Khrustalev <yury.khrustalev@arm.com>
+
+ * config/aarch64/aarch64-sys-regs.def: Copy from Binutils.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114365
+ * gimple-lower-bitint.cc (bitint_large_huge::handle_load): When adding
+ a PHI node, set iv2 to its result afterwards.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-ssa-loop-ch.cc (update_profile_after_ch): Fix comment typo:
+ probabbility -> probability.
+ (ch_base::copy_headers): Fix comment typo: itrations -> iterations.
+
+2024-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/114369
+ * system.h (vec_step): Define to vec_step_ when compiling
+ with clang on PowerPC.
+
+2024-03-20 demin.han <demin.han@starfivetech.com>
+
+ PR target/112651
+ * config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Rename
+ (enum rvv_max_lmul_enum): Ditto
+ (TARGET_MAX_LMUL): Ditto
+ * config/riscv/riscv-v.cc (preferred_simd_mode): Ditto
+ * config/riscv/riscv-vector-costs.cc (costs::record_potential_unexpected_spills): Ditto
+ (costs::better_main_loop_than_p): Ditto
+ * config/riscv/riscv.opt: Replace -param=riscv-autovec-lmul with -mrvv-max-lmul
+
+2024-03-20 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/113396
+ * tree-dfa.cc (get_ref_base_and_extent): Use index range
+ bounds only if they fit within the address-range constraints
+ of offset_int.
+
+2024-03-20 Chenghui Pan <panchenghui@loongson.cn>
+
+ * config/loongarch/loongarch.cc
+ (loongarch_hard_regno_mode_ok_uncached): Combine UNITS_PER_FP_REG and
+ UNITS_PER_FPREG macros.
+ (loongarch_hard_regno_nregs): Ditto.
+ (loongarch_class_max_nregs): Ditto.
+ (loongarch_get_separate_components): Ditto.
+ (loongarch_process_components): Ditto.
+ * config/loongarch/loongarch.h (UNITS_PER_FPREG): Ditto.
+ (UNITS_PER_HWFPVALUE): Ditto.
+ (UNITS_PER_FPVALUE): Ditto.
+
+2024-03-20 Chenghui Pan <panchenghui@loongson.cn>
+
+ * config/loongarch/lasx.md (vec_cmp<mode><mode256_i>): Remove checking
+ of loongarch_expand_vec_cmp()'s return value.
+ (vec_cmpu<ILASX:mode><mode256_i>): Ditto.
+ * config/loongarch/lsx.md (vec_cmp<mode><mode_i>): Ditto.
+ (vec_cmpu<ILSX:mode><mode_i>): Ditto.
+ * config/loongarch/loongarch-protos.h
+ (loongarch_expand_vec_cmp): Change loongarch_expand_vec_cmp()'s return
+ type from bool to void.
+ * config/loongarch/loongarch.cc (loongarch_expand_vec_cmp): Ditto.
+
+2024-03-20 Chenghui Pan <panchenghui@loongson.cn>
+
+ * config/loongarch/loongarch-protos.h
+ (loongarch_cfun_has_cprestore_slot_p): Delete.
+ (loongarch_adjust_insn_length): Delete.
+ (current_section_name): Delete.
+ (loongarch_split_symbol_type): Delete.
+ * config/loongarch/loongarch.cc
+ (loongarch_case_values_threshold): Delete.
+ (loongarch_spill_class): Delete.
+ (TARGET_OPTAB_SUPPORTED_P): Delete.
+ (TARGET_CASE_VALUES_THRESHOLD): Delete.
+ (TARGET_SPILL_CLASS): Delete.
+
+2024-03-20 Lewis Hyatt <lhyatt@gmail.com>
+
+ PR c++/111918
+ * diagnostic-core.h (enum diagnostic_t): Add DK_ANY special flag.
+ * diagnostic.cc (diagnostic_option_classifier::classify_diagnostic):
+ Make use of DK_ANY to indicate a diagnostic was initially enabled.
+ (diagnostic_context::diagnostic_enabled): Do not change the type of
+ a diagnostic if the saved classification is type DK_ANY.
+
+2024-03-19 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/108802
+ PR ipa/114254
+ * ipa-prop.cc (ipa_get_stmt_member_ptr_load_param): Fix case looking
+ at COMPONENT_REFs directly from a PARM_DECL, also recognize loads from
+ a pointer parameter.
+ (ipa_analyze_indirect_call_uses): Also recognize loads from a pointer
+ parameter, also recognize the case when pfn pointer is loaded in its
+ own BB.
+
+2024-03-19 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR target/99829
+ * lra-constraints.cc (lra_constraints): Prevent removing insn
+ with reverse equivalence to memory if the memory was reloaded.
+
+2024-03-19 David Malcolm <dmalcolm@redhat.com>
+
+ PR middle-end/114348
+ * diagnostic-format-json.cc
+ (json_stderr_output_format::machine_readable_stderr_p): New.
+ (json_file_output_format::machine_readable_stderr_p): New.
+ * diagnostic-format-sarif.cc
+ (sarif_stream_output_format::machine_readable_stderr_p): New.
+ (sarif_file_output_format::machine_readable_stderr_p): New.
+ * diagnostic.cc (diagnostic_context::action_after_output): Move
+ "fnotice" to before "finish" call, so that we still have the
+ diagnostic_context.
+ (fnotice): Bail out if the user requested one of the
+ machine-readable diagnostic output formats on stderr.
+ * diagnostic.h
+ (diagnostic_output_format::machine_readable_stderr_p): New pure
+ virtual function.
+ (diagnostic_text_output_format::machine_readable_stderr_p): New.
+ (diagnostic_context::get_output_format): New accessor.
+
+2024-03-19 Edwin Lu <ewlu@rivosinc.com>
+
+ PR target/114175
+ * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Only skip
+ riscv_funciton_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL
+
+2024-03-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/install.texi (Prerequisites): Document use of autogen for
+ libstdc++.
+
+2024-03-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114151
+ PR tree-optimization/114269
+ PR tree-optimization/114322
+ PR tree-optimization/114074
+ * tree-chrec.cc (chrec_fold_multiply): Restrict the use of
+ unsigned arithmetic when actual overflow on constant operands
+ is observed.
+
+2024-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/arc/arc.cc (arc_setup_incoming_varargs): Only skip
+ arc_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-19 Xi Ruoyao <xry111@xry111.site>
+
+ PR target/114175
+ * config/loongarch/loongarch.cc
+ (loongarch_setup_incoming_varargs): Only skip
+ loongarch_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P
+ functions if arg.type is NULL.
+
+2024-03-19 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/114323
+ * config/arm/arm-mve-builtins.cc
+ (function_instance::reads_global_state_p): Take CP_READ_MEMORY
+ into account.
+
+2024-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Only skip
+ function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Only skip
+ rs6000_function_arg_advance_1 for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114375
+ * tree-vect-slp.cc (vect_build_slp_tree_2): Compute the
+ load permutation for masked loads but reject it when any
+ such is necessary.
+ * tree-vect-stmts.cc (vectorizable_load): Reject masked
+ VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not
+ supported.
+
+2024-03-19 Mary Bennett <mary.bennett@embecosm.com>
+
+ * common/config/riscv/riscv-common.cc: Create XCVbi extension
+ support.
+ * config/riscv/riscv.opt: Likewise.
+ * config/riscv/corev.md: Implement cv_branch<mode> pattern
+ for cv.beqimm and cv.bneimm.
+ * config/riscv/riscv.md: Add CORE-V branch immediate to RISC-V
+ branch instruction pattern.
+ * config/riscv/constraints.md: Implement constraints
+ cv_bi_s5 - signed 5-bit immediate.
+ * config/riscv/predicates.md: Implement predicate
+ const_int5s_operand - signed 5 bit immediate.
+ * doc/sourcebuild.texi: Add XCVbi documentation.
+
+2024-03-19 Chen Jiawei <jiawei@iscas.ac.cn>
+
+ * config/riscv/riscv-cores.def (RISCV_TUNE): New def.
+ (RISCV_CORE): Ditto.
+ * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): New
+ option.
+ * config/riscv/riscv.cc: New def.
+ * config/riscv/riscv.md: New include.
+ * config/riscv/xiangshan.md: New file.
+
+2024-03-18 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/110902
+ PR analyzer/110928
+ PR analyzer/111305
+ PR analyzer/111441
+ * selftest.h (ASSERT_NE_AT): New macro.
+
+2024-03-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/111822
+ * config/i386/i386-features.cc (smode_convert_cst): New function
+ to handle SImode, DImode and TImode immediates, generalized from
+ timode_convert_cst.
+ (timode_convert_cst): Remove.
+ (scalar_chain::convert_op): Unify from
+ general_scalar_chain::convert_op and timode_scalar_chain::convert_op.
+ (general_scalar_chain::convert_op): Remove.
+ (timode_scalar_chain::convert_op): Remove.
+ (timode_scalar_chain::convert_insn): Update the call to
+ renamed timode_convert_cst.
+ * config/i386/i386-features.h (class scalar_chain):
+ Redeclare convert_op as protected class member.
+ (class general_calar_chain): Remove convert_op.
+ (class timode_scalar_chain): Ditto.
+
+2024-03-18 Jan Hubicka <jh@suse.cz>
+
+ * config/i386/zn4zn5.md: Add file missed in the previous commit.
+
+2024-03-18 Jan Hubicka <jh@suse.cz>
+ Karthiban Anbazhagan <Karthiban.Anbazhagan@amd.com>
+
+ * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver5.
+ * common/config/i386/i386-common.cc (processor_names): Add znver5.
+ (processor_alias_table): Likewise.
+ * common/config/i386/i386-cpuinfo.h (processor_types): Add new zen
+ family.
+ (processor_subtypes): Add znver5.
+ * config.gcc (x86_64-*-* |...): Likewise.
+ * config/i386/driver-i386.cc (host_detect_local_cpu): Let
+ march=native detect znver5 cpu's.
+ * config/i386/i386-c.cc (ix86_target_macros_internal): Add
+ znver5.
+ * config/i386/i386-options.cc (m_ZNVER5): New definition
+ (processor_cost_table): Add znver5.
+ * config/i386/i386.cc (ix86_reassociation_width): Likewise.
+ * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER5
+ (PTA_ZNVER5): New definition.
+ * config/i386/i386.md (define_attr "cpu"): Add znver5.
+ (Scheduling descriptions) Add znver5.md.
+ * config/i386/x86-tune-costs.h (znver5_cost): New definition.
+ * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver5.
+ (ix86_adjust_cost): Likewise.
+ * config/i386/x86-tune.def (avx512_move_by_pieces): Add m_ZNVER5.
+ (avx512_store_by_pieces): Add m_ZNVER5.
+ * doc/extend.texi: Add znver5.
+ * doc/invoke.texi: Likewise.
+ * config/i386/znver4.md: Rename to zn4zn5.md; combine znver4 and znver5 Scheduler.
+
+2024-03-18 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/constraints.md (CX2, CX3, CX4): New constraints.
+ * config/avr/avr-protos.h (avr_xor_noclobber_dconst): New proto.
+ * config/avr/avr.cc (avr_xor_noclobber_dconst): New function.
+ * config/avr/avr.md (xorhi3, *xorhi3): Add "d,0,CX2,X" alternative.
+ (xorpsi3, *xorpsi3): Add "d,0,CX3,X" alternative.
+ (xorsi3, *xorsi3): Add "d,0,CX4,X" alternative.
+
+2024-03-18 liuhongt <hongtao.liu@intel.com>
+
+ PR target/114334
+ * config/i386/i386.md (mode): Add new number V8BF,V16BF,V32BF.
+ (MODEF248): New mode iterator.
+ (ssevecmodesuffix): Hanlde BF and HF.
+ * config/i386/sse.md (andnot<mode>3): Extend to HF/BF.
+ (<code><mode>3): Ditto.
+
+2024-03-18 John David Anglin <danglin@gcc.gnu.org>
+
+ PR rtl-optimization/112415
+ * config/pa/pa.cc (pa_emit_move_sequence): Revise condition
+ for symbolic memory operands.
+ (pa_legitimate_address_p): Revise LO_SUM condition.
+ * config/pa/pa.h (INT14_OK_STRICT): Revise define. Move
+ comment about GNU linker to predicates.md.
+ * config/pa/predicates.md (floating_point_store_memory_operand):
+ Revise condition for symbolic memory operands. Update
+ comment.
+
+2024-03-17 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.cc (pa_delegitimize_address): Delegitimize UNSPEC_TP.
+
+2024-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114175
+ * config/i386/i386.cc (ix86_setup_incoming_varargs): Only skip
+ ix86_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
+ if arg.type is NULL.
+
+2024-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114329
+ * gimple-lower-bitint.cc (struct bitint_large_huge): Declare
+ build_bit_field_ref method.
+ (bitint_large_huge::build_bit_field_ref): New method.
+ (bitint_large_huge::lower_mergeable_stmt): Use it.
+
+2024-03-15 YunQiang Su <syq@gcc.gnu.org>
+
+ * config/riscv/riscv.opt.urls: Regenerated.
+ * config/rs6000/sysv4.opt.urls: Likewise.
+ * config/xtensa/xtensa.opt.urls: Likewise.
+
+2024-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ * lower-subreg.cc (resolve_simple_move): Fix comment typo,
+ betwee -> between.
+ * edit-context.cc (class line_event): Fix comment typo,
+ betweeen -> between.
+
+2024-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114339
+ * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp) <case LE>: Fix
+ a pasto, compare code against LE rather than GE.
+
+2024-03-15 Joe Ramsay <Joe.Ramsay@arm.com>
+
+ * match.pd: Fix truncation pattern for -fno-signed-zeroes
+
+2024-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114332
+ * expr.cc (expand_expr_real_1): EXTEND_BITINT also CALL_EXPR results.
+
+2024-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/113466
+ * gimple-lower-bitint.cc (bitint_large_huge): Add m_returns_twice_calls
+ member.
+ (bitint_large_huge::bitint_large_huge): Initialize it.
+ (bitint_large_huge::~bitint_large_huge): Release it.
+ (bitint_large_huge::lower_call): Remember ECF_RETURNS_TWICE call stmts
+ before which at least one statement has been inserted.
+ (gimple_lower_bitint): Move argument loads before ECF_RETURNS_TWICE
+ calls to a different block and add corresponding PHIs.
+
+2024-03-15 YunQiang Su <syq@gcc.gnu.org>
+
+ * config/mips/mips.opt: Support -mstrict-align, and use
+ TARGET_STRICT_ALIGN as the flag; keep -m(no-)unaligned-access
+ as alias.
+ * config/mips/mips.h: Use TARGET_STRICT_ALIGN.
+ * config/mips/mips.opt.urls: Regenerate.
+ * doc/invoke.texi: Document -m(no-)strict-algin for MIPSr6.
+
+2024-03-15 Tejas Belagod <tejas.belagod@arm.com>
+
+ PR middle-end/114108
+ * tree-vect-patterns.cc (vect_recog_abd_pattern): Call
+ vect_convert_output with the correct vecitype.
+
+2024-03-15 Chenghui Pan <panchenghui@loongson.cn>
+
+ * config/loongarch/lasx.md (lasx_xvpermi_q_<LASX:mode>):
+ Remove masking of operand 3.
+
+2024-03-14 Jason Merrill <jason@redhat.com>
+
+ * tree-core.h (enum clobber_kind): Clarify CLOBBER_OBJECT_*
+ comments.
+
+2024-03-14 John David Anglin <danglin@gcc.gnu.org>
+
+ PR target/114288
+ * config/pa/pa.cc (pa_legitimate_address_p): Don't allow
+ 14-bit displacements before reload for modes that may use
+ a floating-point load or store.
+
+2024-03-14 David Faust <david.faust@oracle.com>
+
+ * config/bpf/bpf.h (INT8_TYPE): Change to signed char.
+
+2024-03-14 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/xtensa/xtensa.md (movsi_internal): Move l32i and s32i
+ patterns ahead of the l32i.n and s32i.n.
+
+2024-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/gcn/gcn-hsa.h (ABI_VERSION_SPEC): Fix comment typo.
+
+2024-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/113907
+ * ipa-icf.cc (sem_item_optimizer::merge_classes): Reset
+ SSA_NAME_RANGE_INFO and SSA_NAME_PTR_INFO on successfully ICF merged
+ functions.
+
+2024-03-14 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/loongarch.md (any_ge): Remove.
+ (sge<u>_<X:mode><GPR:mode>): Remove.
+
+2024-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114310
+ * config/aarch64/aarch64.cc (aarch64_expand_compare_and_swap): For
+ TImode force newval into a register.
+
+2024-03-14 Chung-Lin Tang <cltang@baylibre.com>
+
+ * tree.h (OMP_CLAUSE_MAP_READONLY): New macro.
+ (OMP_CLAUSE__CACHE__READONLY): New macro.
+ * tree-core.h (struct GTY(()) tree_base): Adjust comments for new
+ uses of readonly_flag bit in OMP_CLAUSE_MAP_READONLY and
+ OMP_CLAUSE__CACHE__READONLY.
+ * tree-pretty-print.cc (dump_omp_clause): Add support for printing
+ OMP_CLAUSE_MAP_READONLY and OMP_CLAUSE__CACHE__READONLY.
+
+2024-03-14 Andreas Krebbel <krebbel@linux.ibm.com>
+
+ * config/s390/s390.cc (s390_encode_section_info): Adjust the check
+ for misaligned symbols.
+ * config/s390/s390.opt: Improve documentation.
+
+2024-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ * gimple-iterator.cc (edge_before_returns_twice_call): Copy all
+ flags and probability from ad_edge to e edge. If CDI_DOMINATORS
+ are computed, recompute immediate dominator of other_edge->src
+ and other_edge->dest.
+ (gsi_safe_insert_before, gsi_safe_insert_seq_before): Update *iter
+ for the returns_twice call case to the gsi_for_stmt (stmt) to deal
+ with update it for bb splitting.
+
+2024-03-14 liuhongt <hongtao.liu@intel.com>
+
+ * config/i386/i386-features.cc
+ (general_scalar_chain::convert_op): Handle REG_EH_REGION note.
+ (convert_scalars_to_vector): Ditto.
+ * config/i386/i386-features.h (class scalar_chain): New
+ memeber control_flow_insns.
+
+2024-03-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114319
+ * gimple-ssa-store-merging.cc
+ (imm_store_chain_info::try_coalesce_bswap): For 32-bit targets
+ allow matching __builtin_bswap64 if there is bswapsi2 optab.
+
+2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * config/s390/s390.cc (s390_secondary_reload): Guard
+ SYMBOL_FLAG_NOTALIGN2_P.
+
+2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * config/s390/s390-builtin-types.def: Update to reflect latest
+ changes.
+ * config/s390/s390-builtins.def: Streamline vector builtins with
+ LLVM.
+
+2024-03-13 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * config/s390/s390-builtins.def (vec_permi): Deprecate.
+ (vec_ctd): Deprecate.
+ (vec_ctd_s64): Deprecate.
+ (vec_ctd_u64): Deprecate.
+ (vec_ctsl): Deprecate.
+ (vec_ctul): Deprecate.
+ (vec_ld2f): Deprecate.
+ (vec_st2f): Deprecate.
+ (vec_insert): Deprecate overloads with bool vectors.
+
+2024-03-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114313
+ * gimple-lower-bitint.cc (bitint_large_huge::limb_access): Use
+ TYPE_SIZE of TREE_TYPE (var) rather than TYPE_SIZE of type.
+ (bitint_large_huge::handle_load): Pass NULL_TREE rather than
+ rhs_type to limb_access for the bitfield load cases.
+ (bitint_large_huge::lower_mergeable_stmt): Pass NULL_TREE rather than
+ lhs_type to limb_access if nlhs is non-NULL.
+
+2024-03-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/112709
+ * asan.cc (maybe_create_ssa_name, maybe_cast_to_ptrmode,
+ build_check_stmt, maybe_instrument_call, asan_expand_mark_ifn): Use
+ gsi_safe_insert_before instead of gsi_insert_before.
+
+2024-03-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/112709
+ * gimple-iterator.h (gsi_safe_insert_before,
+ gsi_safe_insert_seq_before): Declare.
+ * gimple-iterator.cc: Include gimplify.h.
+ (edge_before_returns_twice_call, adjust_before_returns_twice_call,
+ gsi_safe_insert_before, gsi_safe_insert_seq_before): New functions.
+ * ubsan.cc (instrument_mem_ref, instrument_pointer_overflow,
+ instrument_nonnull_arg, instrument_nonnull_return): Use
+ gsi_safe_insert_before instead of gsi_insert_before.
+ (maybe_instrument_pointer_overflow): Use force_gimple_operand,
+ gimple_seq_add_seq_without_update and gsi_safe_insert_seq_before
+ instead of force_gimple_operand_gsi.
+ (instrument_object_size): Likewise. Use gsi_safe_insert_before
+ instead of gsi_insert_before.
+
+2024-03-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114121
+ * tree-chrec.cc (chrec_fold_plus_1): Guard recursion with
+ converted operand properly.
+ (chrec_fold_multiply): Likewise. Handle missed recursion.
+
+2024-03-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/112709
+ * asan.cc (has_stmt_been_instrumented_p): Don't instrument call
+ stores on the caller side unless it is a call to a builtin or
+ internal function or function doesn't return by hidden reference.
+ (maybe_instrument_call): Likewise.
+ (instrument_derefs): Instrument stores to RESULT_DECL if
+ returning by hidden reference.
+
+2024-03-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114293
+ * tree-ssa-strlen.cc (strlen_pass::handle_builtin_strlen): If
+ max is smaller than min, set max to ~(size_t)0.
+
+2024-03-12 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv-c.cc (riscv_ext_version_value): Fix
+ code style greater than 80 chars.
+ (riscv_cpu_cpp_builtins): Fix useless empty line, indent
+ with 3 space(s) and argument unalignment.
+
+2024-03-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114297
+ * tree-vect-loop.cc (vectorizable_live_operation): Pass in the
+ live stmts SLP node to vect_create_epilog_for_reduction.
+
+2024-03-12 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR driver/114314
+ * common.opt (fmultiflags): Add RejectNegative.
+
+2024-03-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/aarch64/aarch64.md: Rename aarch_ to aarch64_.
+ * config/aarch64/aarch64.opt: Likewise.
+ * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Likewise.
+ * config/aarch64/aarch64.cc (aarch64_expand_prologue): Likewise.
+ (aarch64_expand_epilogue): Likewise.
+ (aarch64_post_cfi_startproc): Likewise.
+ (aarch64_handle_no_branch_protection): Copy and rename.
+ (aarch64_handle_standard_branch_protection): Likewise.
+ (aarch64_handle_pac_ret_protection): Likewise.
+ (aarch64_handle_pac_ret_leaf): Likewise.
+ (aarch64_handle_pac_ret_b_key): Likewise.
+ (aarch64_handle_bti_protection): Likewise.
+ (aarch64_override_options): Update branch protection validation.
+ (aarch64_handle_attr_branch_protection): Likewise.
+ * config/arm/aarch-common-protos.h (aarch_validate_mbranch_protection):
+ Pass branch protection type description as argument.
+ (struct aarch_branch_protect_type): Move from aarch-common.h.
+ * config/arm/aarch-common.cc (aarch_handle_no_branch_protection):
+ Remove.
+ (aarch_handle_standard_branch_protection): Remove.
+ (aarch_handle_pac_ret_protection): Remove.
+ (aarch_handle_pac_ret_leaf): Remove.
+ (aarch_handle_pac_ret_b_key): Remove.
+ (aarch_handle_bti_protection): Remove.
+ (aarch_validate_mbranch_protection): Pass branch protection type
+ description as argument.
+ * config/arm/aarch-common.h (enum aarch_key_type): Remove.
+ (struct aarch_branch_protect_type): Remove.
+ * config/arm/arm-c.cc (arm_cpu_builtins): Remove aarch_ra_sign_key.
+ * config/arm/arm.cc (arm_handle_no_branch_protection): Copy and rename.
+ (arm_handle_standard_branch_protection): Likewise.
+ (arm_handle_pac_ret_protection): Likewise.
+ (arm_handle_pac_ret_leaf): Likewise.
+ (arm_handle_bti_protection): Likewise.
+ (arm_configure_build_target): Update branch protection validation.
+ * config/arm/arm.opt: Remove aarch_ra_sign_key.
+
+2024-03-11 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/114299
+ * gimplify.cc (internal_get_tmp_var): When gimplification
+ of VAL failed, return a decl.
+
+2024-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114278
+ * tree-ssa.cc (maybe_optimize_var): If large/huge _BitInt vars are no
+ longer addressable, set DECL_NOT_GIMPLE_REG_P on them.
+
+2024-03-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR debug/113519
+ PR debug/113777
+ * dwarf2out.cc (gen_enumeration_type_die): In the reverse case,
+ generate the DIE with the same parent as in the regular case.
+
+2024-03-11 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR middle-end/95351
+ * fold-const.cc (merge_truthop_with_opposite_arm): Use
+ the type of the operands of the comparison and not the type
+ of the comparison.
+
+2024-03-10 jlaw <jeffreyalaw@gmail.com>
+
+ PR tree-optimization/110199
+ * tree-ssa-scopedtables.cc
+ (avail_exprs_stack::simplify_binary_operation): Generalize handling
+ of MIN_EXPR/MAX_EXPR to allow additional simplifications. Canonicalize
+ comparison operands for other cases.
+
+2024-03-10 Pan Li <pan2.li@intel.com>
+
+ * tree-vect-stmts.cc (vectorizable_store): Enable the assert
+ during transform process.
+ (vectorizable_load): Ditto.
+
+2024-03-10 jlaw <jeffreyalaw@gmail.com>
+
+ PR target/102250
+ * doc/install.texi: Document need for python when building
+ RISC-V compilers.
+
+2024-03-10 jlaw <jeffreyalaw@gmail.com>
+
+ PR target/111362
+ * mode-switching.cc (optimize_mode_switching): Only process
+ NONDEBUG insns.
+
+2024-03-09 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Fix typos in comment, indentation glitches
+ and some other nits.
+
+2024-03-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114284
+ * fwprop.cc (try_fwprop_subst_pattern): Don't propagate
+ src containing MEMs unless prop.likely_profitable_p ().
+
+2024-03-09 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/loongarch.cc (loongarch_print_operand_reloc):
+ Support 'Q' for R_LARCH_RELAX for TLS IE.
+ (loongarch_output_move): Use 'Q' to print R_LARCH_RELAX for TLS
+ IE.
+ * config/loongarch/loongarch.md (ld_from_got<mode>): Likewise.
+
+2024-03-09 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_rtx_costs_1) [PLUS]: Determine cost for
+ usum_widenqihi and add_zero_extend1.
+ [MINUS]: Determine costs for udiff_widenqihi, sub+zero_extend,
+ sub+sign_extend.
+ * config/avr/avr.md (*addhi3.sign_extend1, *subhi3.sign_extend2):
+ Compute exact insn lengths.
+ (*usum_widenqihi3): Allow input operands to commute.
+
+2024-03-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.opt.urls: Regenerate.
+
+2024-03-09 Lulu Cheng <chenglulu@loongson.cn>
+
+ * config/loongarch/sync.md (atomic_cas_value_strong<mode>):
+ In loongarch64, a sign extension operation is added when
+ operands[2] is a register operand and the mode is SImode.
+
+2024-03-08 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/113757
+ * tree-inline.cc (redirect_all_calls): Remove code adding SSAs to
+ id->killed_new_ssa_names.
+
+2024-03-08 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR target/113790
+ * lra-assigns.cc (assign_by_spills): Set up all_spilled_pseudos
+ for non-reload pseudo too.
+
+2024-03-08 David Faust <david.faust@oracle.com>
+
+ * config/bpf/bpf.cc (bpf_expand_cpymem, bpf_expand_setmem): Do
+ not attempt inline expansion if size is above threshold.
+ * config/bpf/bpf.opt (-minline-memops-threshold): New option.
+ * doc/invoke.texi (eBPF Options) <-minline-memops-threshold>:
+ Document.
+
+2024-03-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114269
+ PR tree-optimization/114074
+ * tree-chrec.cc (chrec_fold_plus_1): Handle sign-conversions
+ in the third CASE_CONVERT case as well.
+ (chrec_fold_multiply): Handle sign-conversions from unsigned
+ by performing the operation in the unsigned type.
+
+2024-03-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (*addhi3_zero_extend.ashift1): New pattern.
+ * config/avr/avr.cc (avr_rtx_costs_1) [PLUS]: Compute its cost.
+
+2024-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ * bb-reorder.cc (fix_up_fall_thru_edges): Fix up checking assert,
+ asm_noperands < 0 means it is not asm goto too.
+
+2024-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/38534
+ * config/i386/i386.opt (mnoreturn-no-callee-saved-registers): New
+ option.
+ * config/i386/i386-options.cc (ix86_set_func_type): Don't use
+ TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP unless
+ ix86_noreturn_no_callee_saved_registers is enabled.
+ * doc/invoke.texi (-mnoreturn-no-callee-saved-registers): Document.
+
+2024-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/113918
+ * dwarf2out.cc (gen_field_die): Emit DW_AT_export_symbols
+ on anonymous unions or structs for -gdwarf-5 or -gno-strict-dwarf.
+
+2024-03-08 demin.han <demin.han@starfivetech.com>
+
+ PR target/114264
+ * config/riscv/riscv-vector-costs.cc: Fix ICE
+
+2024-03-08 Haochen Gui <guihaoc@gcc.gnu.org>
+
+ * fwprop.cc (forward_propagate_into): Return false for volatile set
+ source rtx.
+
+2024-03-07 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ PR target/113618
+ * config/aarch64/aarch64.cc (aarch64_copy_one_block): Remove.
+ (aarch64_expand_cpymem): Emit single load/store only.
+ (aarch64_set_one_block): Emit single stores only.
+
+2024-03-07 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR middle-end/114196
+ * tree-vect-loop-manip.cc (vect_can_peel_nonlinear_iv_p): Merge
+ vectorization guards.
+
+2024-03-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/cppopts.texi: Remove incorrect claim about -dD not
+ outputting predefined macros.
+
+2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com>
+
+ PR target/113950
+ * config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to operand1
+ and simplify else if with else.
+
+2024-03-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * system.h: Include safe-ctype.h after C++ standard headers.
+
+2024-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/110079
+ * bb-reorder.cc (fix_crossing_unconditional_branches): Don't adjust
+ asm goto.
+
+2024-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/105533
+ * expmed.cc (choose_mult_variant): Only try the val - 1 variant
+ if val is not HOST_WIDE_INT_MIN or if mode has exactly
+ HOST_BITS_PER_WIDE_INT precision. Avoid triggering UB while computing
+ val - 1.
+
+2024-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/105533
+ * tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference) <case ARRAY_REF>:
+ Multiple op->off by BITS_PER_UNIT instead of shifting it left by
+ LOG2_BITS_PER_UNIT.
+
+2024-03-07 Yang Yujie <yangyujie@loongson.cn>
+
+ * config.gcc: Add a case for loongarch*-*-linux-musl*.
+ * config/loongarch/linux.h: Disable the multilib-compatible
+ treatment for *musl* targets.
+ * config/loongarch/musl.h: New file.
+
+2024-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114009
+ * genmatch.cc (decision_tree::gen): Emit ARG_UNUSED for captures
+ argument even for GENERIC, not just for GIMPLE.
+ * match.pd (a * !a -> 0): New simplifications.
+
+2024-03-07 demin.han <demin.han@starfivetech.com>
+
+ * config/riscv/riscv-protos.h (expand_vec_cmp): Change proto
+ * config/riscv/riscv-v.cc (expand_vec_cmp): Use default arguments
+ (expand_vec_cmp_float): Adapt arguments
+
+2024-03-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/114232
+ * config/i386/mmx.md (negv2qi2): Enable for optimize_size instead
+ of optimize_function_for_size_p. Explictily enable for TARGET_SSE2.
+ (negv2qi SSE reg splitter): Enable for TARGET_SSE2 only.
+ (<plusminus:insn>v2qi3): Enable for optimize_size instead
+ of optimize_function_for_size_p. Explictily enable for TARGET_SSE2.
+ (<plusminus:insn>v2qi SSE reg splitter): Enable for TARGET_SSE2 only.
+ (<any_shift:insn>v2qi3): Enable for optimize_size instead
+ of optimize_function_for_size_p.
+
+2024-03-06 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/114200
+ PR target/114202
+ * config/riscv/vector.md: Use vmv[1248]r.v instead of vmv.v.v.
+
+2024-03-06 Robin Dapp <rdapp@ventanamicro.com>
+
+ * config/riscv/riscv-vector-costs.cc (adjust_stmt_cost): Move...
+ (costs::adjust_stmt_cost): ... to here and add vec_load/vec_store
+ offset handling.
+ (costs::add_stmt_cost): Also adjust cost for statements without
+ stmt_info.
+ * config/riscv/riscv-vector-costs.h: Define zero constant.
+
+2024-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ PR target/113915
+ * config/arm/arm.md (NOCOND): Improve comment.
+ (arm_rev*) Add predicable.
+ * config/arm/arm.cc (arm_final_prescan_insn): Add check for
+ PREDICABLE_YES.
+
+2024-03-06 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/113001
+ PR target/112871
+ * config/riscv/riscv.cc (expand_conditional_move): Do not swap
+ operands when the comparison operand is the same as the false
+ arm for a NE test.
+
+2024-03-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-expand.cc (ix86_expand_move) [TARGET_MACHO]:
+ Eliminate common code and use generic code instead.
+
+2024-03-06 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_rtx_costs_1) [PLUS+ZERO_EXTEND]: Adjust
+ rtx cost.
+
+2024-03-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114239
+ * tree-vect-loop.cc (vect_get_vect_def): Remove.
+ (vect_create_epilog_for_reduction): The passed in stmt_info
+ should now be the live stmt that produces the scalar reduction
+ result. Revert PR114192 fix. Base reduction info off
+ info_for_reduction. Remove special handling of
+ early-break/peeled, restore original vector def gathering.
+ Make sure to pick the correct exit PHIs.
+ (vectorizable_live_operation): Pass in the proper stmt_info
+ for early break exits.
+
+2024-03-06 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-feature-deps.h (feature_deps::info): Add
+ out-of-class definitions of static constants.
+
+2024-03-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114249
+ * tree-vect-slp.cc (vect_build_slp_instance): Move making
+ a BB reduction lane number even ...
+ (vect_slp_check_for_roots): ... here to avoid leaking
+ pattern defs.
+
+2024-03-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114246
+ * tree-ssa-dse.cc (increment_start_addr): Strip useless
+ type conversions from the adjusted address.
+
+2024-03-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/114190
+ * config/i386/i386-features.cc (rest_of_handle_insert_vzeroupper):
+ Call df_remove_problem for df_note before calling df_analyze.
+
+2024-03-05 Cupertino Miranda <cupertino.miranda@oracle.com>
+ Indu Bhagat <indu.bhagat@oracle.com>
+
+ PR debug/114186
+ * dwarf2ctf.cc (gen_ctf_array_type): Invoke the ctf_add_array ()
+ in the correct order of the dimensions.
+ (gen_ctf_subrange_type): Refactor out handling of
+ DW_TAG_subrange_type DIE to here.
+
+2024-03-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR sanitizer/97696
+ * asan.cc (asan_expand_mark_ifn): Allow the length to be a poly_int.
+
+2024-03-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64.md (stride_type): Remove luti_consecutive
+ and luti_strided.
+ * config/aarch64/aarch64-sme.md
+ (@aarch64_sme_lut<LUTI_BITS><mode>): Remove stride_type attribute.
+ (@aarch64_sme_lut<LUTI_BITS><mode>_strided2): Delete.
+ (@aarch64_sme_lut<LUTI_BITS><mode>_strided4): Likewise.
+ * config/aarch64/aarch64-early-ra.cc (is_stride_candidate)
+ (early_ra::maybe_convert_to_strided_access): Remove support for
+ strided LUTI2 and LUTI4.
+
+2024-03-05 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/113510
+ * config/arm/thumb1.md (peephole2 to fuse mov imm/add SP): Use
+ low_register_operand.
+
+2024-03-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Add two RTL peepholes for PLUS, IOR and AND
+ in HI, PSI, SI that swap operation order from "X = CST, X o= Y"
+ to "X = Y, X o= CST".
+
+2024-03-05 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/loongarch.h (ADDITIONAL_REGISTER_NAMES): Add
+ s9 as an alias of r22.
+
+2024-03-05 Roger Sayle <roger@nextmovesoftware.com>
+
+ * config/avr/avr-protos.h (avr_out_insv): New proto.
+ * config/avr/avr.cc (avr_out_insv): New function.
+ (avr_adjust_insn_length) [ADJUST_LEN_INSV]: Handle case.
+ (avr_cbranch_cost) [ZERO_EXTRACT]: Adjust rtx costs.
+ * config/avr/avr.md (define_attr "adjust_len") Add insv.
+ (andhi3, *andhi3, andpsi3, *andpsi3, andsi3, *andsi3):
+ Add constraint alternative where the 3rd operand is a power
+ of 2, and the source register may differ from the destination.
+ (*insv.any_shift.<mode>_split): Call avr_out_insv to output
+ instructions. Set attr "length" to "insv".
+ * config/avr/constraints.md (Cb2, Cb3, Cb4): New constraints.
+
+2024-03-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114231
+ * tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when
+ processing a BB SLP root.
+
+2024-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/114211
+ * lower-subreg.cc (resolve_simple_move): For double-word
+ rotates by BITS_PER_WORD if there is overlap between source
+ and destination use a temporary.
+
+2024-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114157
+ * gimple-lower-bitint.cc: Include stor-layout.h.
+ (mergeable_op): Return true for BIT_FIELD_REF.
+ (struct bitint_large_huge): Declare handle_bit_field_ref method.
+ (bitint_large_huge::handle_bit_field_ref): New method.
+ (bitint_large_huge::handle_stmt): Use it for BIT_FIELD_REF.
+
+2024-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114116
+ * config/i386/i386.h (enum call_saved_registers_type): Add
+ TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP enumerator.
+ * config/i386/i386-options.cc (ix86_set_func_type): Remove
+ has_no_callee_saved_registers variable, add no_callee_saved_registers
+ instead, initialize it depending on whether it is
+ no_callee_saved_registers function or not. Don't set it if
+ no_caller_saved_registers attribute is present. Adjust users.
+ * config/i386/i386.cc (ix86_function_ok_for_sibcall): Handle
+ TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP like
+ TYPE_NO_CALLEE_SAVED_REGISTERS.
+ (ix86_save_reg): Handle TYPE_NO_CALLEE_SAVED_REGISTERS_EXCEPT_BP.
+
+2024-03-05 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv.cc (riscv_v_adjust_bytesize): Cleanup unused
+ mode_size related code.
+
+2024-03-05 Patrick Palka <ppalka@redhat.com>
+
+ * doc/invoke.texi (-Wno-global-module): Document.
+
+2024-03-04 David Faust <david.faust@oracle.com>
+
+ * config/bpf/bpf-protos.h (bpf_expand_setmem): New prototype.
+ * config/bpf/bpf.cc (bpf_expand_setmem): New.
+ * config/bpf/bpf.md (setmemdi): New define_expand.
+
+2024-03-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/113010
+ * combine.cc (simplify_comparison): Guard the
+ WORD_REGISTER_OPERATIONS check on scalar_int_mode of SUBREG_REG
+ and initialize inner_mode.
+
+2024-03-04 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * config/arm/iterators.md (supf): Remove VMLALDAVXQ_U, VMLALDAVXQ_P_U,
+ VMLALDAVAXQ_U cases.
+ (VMLALDAVXQ): Remove iterator.
+ (VMLALDAVXQ_P): Likewise.
+ (VMLALDAVAXQ): Likewise.
+ * config/arm/mve.md (mve_vstrwq_p_fv4sf): Replace use of <MVE_VPRED>
+ mode iterator attribute with V4BI mode.
+ * config/arm/unspecs.md (VMLALDAVXQ_U, VMLALDAVXQ_P_U,
+ VMLALDAVAXQ_U): Remove unused unspecs.
+
+2024-03-04 Andre Vieira <andre.simoesdiasvieira@arm.com>
+
+ * config/arm/arm.md (mve_safe_imp_xlane_pred): New attribute.
+ * config/arm/iterators.md (mve_vmaxmin_safe_imp): New iterator
+ attribute.
+ * config/arm/mve.md (vaddvq_s, vaddvq_u, vaddlvq_s, vaddlvq_u,
+ vaddvaq_s, vaddvaq_u, vmaxavq_s, vmaxvq_u, vmladavq_s, vmladavq_u,
+ vmladavxq_s, vmlsdavq_s, vmlsdavxq_s, vaddlvaq_s, vaddlvaq_u,
+ vmlaldavq_u, vmlaldavq_s, vmlaldavq_u, vmlaldavxq_s, vmlsldavq_s,
+ vmlsldavxq_s, vrmlaldavhq_u, vrmlaldavhq_s, vrmlaldavhxq_s,
+ vrmlsldavhq_s, vrmlsldavhxq_s, vrmlaldavhaq_s, vrmlaldavhaq_u,
+ vrmlaldavhaxq_s, vrmlsldavhaq_s, vrmlsldavhaxq_s, vabavq_s, vabavq_u,
+ vmladavaq_u, vmladavaq_s, vmladavaxq_s, vmlsdavaq_s, vmlsdavaxq_s,
+ vmlaldavaq_s, vmlaldavaq_u, vmlaldavaxq_s, vmlsldavaq_s,
+ vmlsldavaxq_s): Added mve_safe_imp_xlane_pred.
+
+2024-03-04 Stam Markianos-Wright <stam.markianos-wright@arm.com>
+
+ * config/arm/arm.md (mve_unpredicated_insn): New attribute.
+ * config/arm/arm.h (MVE_VPT_PREDICATED_INSN_P): New define.
+ (MVE_VPT_UNPREDICATED_INSN_P): Likewise.
+ (MVE_VPT_PREDICABLE_INSN_P): Likewise.
+ * config/arm/vec-common.md (mve_vshlq_<supf><mode>): Add attribute.
+ * config/arm/mve.md (arm_vcx1q<a>_p_v16qi): Add attribute.
+ (arm_vcx1q<a>v16qi): Likewise.
+ (arm_vcx1qav16qi): Likewise.
+ (arm_vcx1qv16qi): Likewise.
+ (arm_vcx2q<a>_p_v16qi): Likewise.
+ (arm_vcx2q<a>v16qi): Likewise.
+ (arm_vcx2qav16qi): Likewise.
+ (arm_vcx2qv16qi): Likewise.
+ (arm_vcx3q<a>_p_v16qi): Likewise.
+ (arm_vcx3q<a>v16qi): Likewise.
+ (arm_vcx3qav16qi): Likewise.
+ (arm_vcx3qv16qi): Likewise.
+ (@mve_<mve_insn>q_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q_int_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q_<supf>v4si): Likewise.
+ (@mve_<mve_insn>q_n_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q_r_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q_f<mode>): Likewise.
+ (@mve_<mve_insn>q_m_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q_m_n_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q_m_r_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q_m_f<mode>): Likewise.
+ (@mve_<mve_insn>q_int_m_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q_p_<supf>v4si): Likewise.
+ (@mve_<mve_insn>q_p_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q<mve_rot>_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q<mve_rot>_f<mode>): Likewise.
+ (@mve_<mve_insn>q<mve_rot>_m_<supf><mode>): Likewise.
+ (@mve_<mve_insn>q<mve_rot>_m_f<mode>): Likewise.
+ (mve_v<absneg_str>q_f<mode>): Likewise.
+ (mve_<mve_addsubmul>q<mode>): Likewise.
+ (mve_<mve_addsubmul>q_f<mode>): Likewise.
+ (mve_vadciq_<supf>v4si): Likewise.
+ (mve_vadciq_m_<supf>v4si): Likewise.
+ (mve_vadcq_<supf>v4si): Likewise.
+ (mve_vadcq_m_<supf>v4si): Likewise.
+ (mve_vandq_<supf><mode>): Likewise.
+ (mve_vandq_f<mode>): Likewise.
+ (mve_vandq_m_<supf><mode>): Likewise.
+ (mve_vandq_m_f<mode>): Likewise.
+ (mve_vandq_s<mode>): Likewise.
+ (mve_vandq_u<mode>): Likewise.
+ (mve_vbicq_<supf><mode>): Likewise.
+ (mve_vbicq_f<mode>): Likewise.
+ (mve_vbicq_m_<supf><mode>): Likewise.
+ (mve_vbicq_m_f<mode>): Likewise.
+ (mve_vbicq_m_n_<supf><mode>): Likewise.
+ (mve_vbicq_n_<supf><mode>): Likewise.
+ (mve_vbicq_s<mode>): Likewise.
+ (mve_vbicq_u<mode>): Likewise.
+ (@mve_vclzq_s<mode>): Likewise.
+ (mve_vclzq_u<mode>): Likewise.
+ (@mve_vcmp_<mve_cmp_op>q_<mode>): Likewise.
+ (@mve_vcmp_<mve_cmp_op>q_n_<mode>): Likewise.
+ (@mve_vcmp_<mve_cmp_op>q_f<mode>): Likewise.
+ (@mve_vcmp_<mve_cmp_op>q_n_f<mode>): Likewise.
+ (@mve_vcmp_<mve_cmp_op1>q_m_f<mode>): Likewise.
+ (@mve_vcmp_<mve_cmp_op1>q_m_n_<supf><mode>): Likewise.
+ (@mve_vcmp_<mve_cmp_op1>q_m_<supf><mode>): Likewise.
+ (@mve_vcmp_<mve_cmp_op1>q_m_n_f<mode>): Likewise.
+ (mve_vctp<MVE_vctp>q<MVE_vpred>): Likewise.
+ (mve_vctp<MVE_vctp>q_m<MVE_vpred>): Likewise.
+ (mve_vcvtaq_<supf><mode>): Likewise.
+ (mve_vcvtaq_m_<supf><mode>): Likewise.
+ (mve_vcvtbq_f16_f32v8hf): Likewise.
+ (mve_vcvtbq_f32_f16v4sf): Likewise.
+ (mve_vcvtbq_m_f16_f32v8hf): Likewise.
+ (mve_vcvtbq_m_f32_f16v4sf): Likewise.
+ (mve_vcvtmq_<supf><mode>): Likewise.
+ (mve_vcvtmq_m_<supf><mode>): Likewise.
+ (mve_vcvtnq_<supf><mode>): Likewise.
+ (mve_vcvtnq_m_<supf><mode>): Likewise.
+ (mve_vcvtpq_<supf><mode>): Likewise.
+ (mve_vcvtpq_m_<supf><mode>): Likewise.
+ (mve_vcvtq_from_f_<supf><mode>): Likewise.
+ (mve_vcvtq_m_from_f_<supf><mode>): Likewise.
+ (mve_vcvtq_m_n_from_f_<supf><mode>): Likewise.
+ (mve_vcvtq_m_n_to_f_<supf><mode>): Likewise.
+ (mve_vcvtq_m_to_f_<supf><mode>): Likewise.
+ (mve_vcvtq_n_from_f_<supf><mode>): Likewise.
+ (mve_vcvtq_n_to_f_<supf><mode>): Likewise.
+ (mve_vcvtq_to_f_<supf><mode>): Likewise.
+ (mve_vcvttq_f16_f32v8hf): Likewise.
+ (mve_vcvttq_f32_f16v4sf): Likewise.
+ (mve_vcvttq_m_f16_f32v8hf): Likewise.
+ (mve_vcvttq_m_f32_f16v4sf): Likewise.
+ (mve_vdwdupq_m_wb_u<mode>_insn): Likewise.
+ (mve_vdwdupq_wb_u<mode>_insn): Likewise.
+ (mve_veorq_s><mode>): Likewise.
+ (mve_veorq_u><mode>): Likewise.
+ (mve_veorq_f<mode>): Likewise.
+ (mve_vidupq_m_wb_u<mode>_insn): Likewise.
+ (mve_vidupq_u<mode>_insn): Likewise.
+ (mve_viwdupq_m_wb_u<mode>_insn): Likewise.
+ (mve_viwdupq_wb_u<mode>_insn): Likewise.
+ (mve_vldrbq_<supf><mode>): Likewise.
+ (mve_vldrbq_gather_offset_<supf><mode>): Likewise.
+ (mve_vldrbq_gather_offset_z_<supf><mode>): Likewise.
+ (mve_vldrbq_z_<supf><mode>): Likewise.
+ (mve_vldrdq_gather_base_<supf>v2di): Likewise.
+ (mve_vldrdq_gather_base_wb_<supf>v2di_insn): Likewise.
+ (mve_vldrdq_gather_base_wb_z_<supf>v2di_insn): Likewise.
+ (mve_vldrdq_gather_base_z_<supf>v2di): Likewise.
+ (mve_vldrdq_gather_offset_<supf>v2di): Likewise.
+ (mve_vldrdq_gather_offset_z_<supf>v2di): Likewise.
+ (mve_vldrdq_gather_shifted_offset_<supf>v2di): Likewise.
+ (mve_vldrdq_gather_shifted_offset_z_<supf>v2di): Likewise.
+ (mve_vldrhq_<supf><mode>): Likewise.
+ (mve_vldrhq_fv8hf): Likewise.
+ (mve_vldrhq_gather_offset_<supf><mode>): Likewise.
+ (mve_vldrhq_gather_offset_fv8hf): Likewise.
+ (mve_vldrhq_gather_offset_z_<supf><mode>): Likewise.
+ (mve_vldrhq_gather_offset_z_fv8hf): Likewise.
+ (mve_vldrhq_gather_shifted_offset_<supf><mode>): Likewise.
+ (mve_vldrhq_gather_shifted_offset_fv8hf): Likewise.
+ (mve_vldrhq_gather_shifted_offset_z_<supf><mode>): Likewise.
+ (mve_vldrhq_gather_shifted_offset_z_fv8hf): Likewise.
+ (mve_vldrhq_z_<supf><mode>): Likewise.
+ (mve_vldrhq_z_fv8hf): Likewise.
+ (mve_vldrwq_<supf>v4si): Likewise.
+ (mve_vldrwq_fv4sf): Likewise.
+ (mve_vldrwq_gather_base_<supf>v4si): Likewise.
+ (mve_vldrwq_gather_base_fv4sf): Likewise.
+ (mve_vldrwq_gather_base_wb_<supf>v4si_insn): Likewise.
+ (mve_vldrwq_gather_base_wb_fv4sf_insn): Likewise.
+ (mve_vldrwq_gather_base_wb_z_<supf>v4si_insn): Likewise.
+ (mve_vldrwq_gather_base_wb_z_fv4sf_insn): Likewise.
+ (mve_vldrwq_gather_base_z_<supf>v4si): Likewise.
+ (mve_vldrwq_gather_base_z_fv4sf): Likewise.
+ (mve_vldrwq_gather_offset_<supf>v4si): Likewise.
+ (mve_vldrwq_gather_offset_fv4sf): Likewise.
+ (mve_vldrwq_gather_offset_z_<supf>v4si): Likewise.
+ (mve_vldrwq_gather_offset_z_fv4sf): Likewise.
+ (mve_vldrwq_gather_shifted_offset_<supf>v4si): Likewise.
+ (mve_vldrwq_gather_shifted_offset_fv4sf): Likewise.
+ (mve_vldrwq_gather_shifted_offset_z_<supf>v4si): Likewise.
+ (mve_vldrwq_gather_shifted_offset_z_fv4sf): Likewise.
+ (mve_vldrwq_z_<supf>v4si): Likewise.
+ (mve_vldrwq_z_fv4sf): Likewise.
+ (mve_vmvnq_s<mode>): Likewise.
+ (mve_vmvnq_u<mode>): Likewise.
+ (mve_vornq_<supf><mode>): Likewise.
+ (mve_vornq_f<mode>): Likewise.
+ (mve_vornq_m_<supf><mode>): Likewise.
+ (mve_vornq_m_f<mode>): Likewise.
+ (mve_vornq_s<mode>): Likewise.
+ (mve_vornq_u<mode>): Likewise.
+ (mve_vorrq_<supf><mode>): Likewise.
+ (mve_vorrq_f<mode>): Likewise.
+ (mve_vorrq_m_<supf><mode>): Likewise.
+ (mve_vorrq_m_f<mode>): Likewise.
+ (mve_vorrq_m_n_<supf><mode>): Likewise.
+ (mve_vorrq_n_<supf><mode>): Likewise.
+ (mve_vorrq_s<mode>): Likewise.
+ (mve_vorrq_s<mode>): Likewise.
+ (mve_vsbciq_<supf>v4si): Likewise.
+ (mve_vsbciq_m_<supf>v4si): Likewise.
+ (mve_vsbcq_<supf>v4si): Likewise.
+ (mve_vsbcq_m_<supf>v4si): Likewise.
+ (mve_vshlcq_<supf><mode>): Likewise.
+ (mve_vshlcq_m_<supf><mode>): Likewise.
+ (mve_vshrq_m_n_<supf><mode>): Likewise.
+ (mve_vshrq_n_<supf><mode>): Likewise.
+ (mve_vstrbq_<supf><mode>): Likewise.
+ (mve_vstrbq_p_<supf><mode>): Likewise.
+ (mve_vstrbq_scatter_offset_<supf><mode>_insn): Likewise.
+ (mve_vstrbq_scatter_offset_p_<supf><mode>_insn): Likewise.
+ (mve_vstrdq_scatter_base_<supf>v2di): Likewise.
+ (mve_vstrdq_scatter_base_p_<supf>v2di): Likewise.
+ (mve_vstrdq_scatter_base_wb_<supf>v2di): Likewise.
+ (mve_vstrdq_scatter_base_wb_p_<supf>v2di): Likewise.
+ (mve_vstrdq_scatter_offset_<supf>v2di_insn): Likewise.
+ (mve_vstrdq_scatter_offset_p_<supf>v2di_insn): Likewise.
+ (mve_vstrdq_scatter_shifted_offset_<supf>v2di_insn): Likewise.
+ (mve_vstrdq_scatter_shifted_offset_p_<supf>v2di_insn): Likewise.
+ (mve_vstrhq_<supf><mode>): Likewise.
+ (mve_vstrhq_fv8hf): Likewise.
+ (mve_vstrhq_p_<supf><mode>): Likewise.
+ (mve_vstrhq_p_fv8hf): Likewise.
+ (mve_vstrhq_scatter_offset_<supf><mode>_insn): Likewise.
+ (mve_vstrhq_scatter_offset_fv8hf_insn): Likewise.
+ (mve_vstrhq_scatter_offset_p_<supf><mode>_insn): Likewise.
+ (mve_vstrhq_scatter_offset_p_fv8hf_insn): Likewise.
+ (mve_vstrhq_scatter_shifted_offset_<supf><mode>_insn): Likewise.
+ (mve_vstrhq_scatter_shifted_offset_fv8hf_insn): Likewise.
+ (mve_vstrhq_scatter_shifted_offset_p_<supf><mode>_insn): Likewise.
+ (mve_vstrhq_scatter_shifted_offset_p_fv8hf_insn): Likewise.
+ (mve_vstrwq_<supf>v4si): Likewise.
+ (mve_vstrwq_fv4sf): Likewise.
+ (mve_vstrwq_p_<supf>v4si): Likewise.
+ (mve_vstrwq_p_fv4sf): Likewise.
+ (mve_vstrwq_scatter_base_<supf>v4si): Likewise.
+ (mve_vstrwq_scatter_base_fv4sf): Likewise.
+ (mve_vstrwq_scatter_base_p_<supf>v4si): Likewise.
+ (mve_vstrwq_scatter_base_p_fv4sf): Likewise.
+ (mve_vstrwq_scatter_base_wb_<supf>v4si): Likewise.
+ (mve_vstrwq_scatter_base_wb_fv4sf): Likewise.
+ (mve_vstrwq_scatter_base_wb_p_<supf>v4si): Likewise.
+ (mve_vstrwq_scatter_base_wb_p_fv4sf): Likewise.
+ (mve_vstrwq_scatter_offset_<supf>v4si_insn): Likewise.
+ (mve_vstrwq_scatter_offset_fv4sf_insn): Likewise.
+ (mve_vstrwq_scatter_offset_p_<supf>v4si_insn): Likewise.
+ (mve_vstrwq_scatter_offset_p_fv4sf_insn): Likewise.
+ (mve_vstrwq_scatter_shifted_offset_<supf>v4si_insn): Likewise.
+ (mve_vstrwq_scatter_shifted_offset_fv4sf_insn): Likewise.
+ (mve_vstrwq_scatter_shifted_offset_p_<supf>v4si_insn): Likewise.
+ (mve_vstrwq_scatter_shifted_offset_p_fv4sf_insn): Likewise.
+
+2024-03-04 Marek Polacek <polacek@redhat.com>
+
+ * doc/extend.texi: Update [[gnu::no_dangling]].
+
+2024-03-04 Andrew Stubbs <ams@baylibre.com>
+
+ * dojump.cc (do_compare_and_jump): Use full-width integers for shifts.
+ * expr.cc (store_constructor): Likewise.
+ (do_store_flag): Likewise.
+
+2024-03-04 Mark Wielaard <mark@klomp.org>
+
+ * common.opt.urls: Regenerate.
+ * config/avr/avr.opt.urls: Likewise.
+ * config/i386/i386.opt.urls: Likewise.
+ * config/pru/pru.opt.urls: Likewise.
+ * config/riscv/riscv.opt.urls: Likewise.
+ * config/rs6000/rs6000.opt.urls: Likewise.
+
+2024-03-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114197
+ * tree-if-conv.cc (bitfields_to_lower_p): Do not lower if
+ there are volatile bitfield accesses.
+ (pass_if_conversion::execute): Throw away result if the
+ if-converted and original loops are not nested as expected.
+
+2024-03-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114164
+ * tree-vect-stmts.cc (vectorizable_simd_clone_call): Fail if
+ the code generated for mask argument setup is not supported.
+
+2024-03-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114203
+ * tree-ssa-loop-niter.cc (build_cltz_expr): Apply CTZ->CLZ
+ adjustment before making the result defined at zero.
+
+2024-03-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114192
+ * tree-vect-loop.cc (vect_create_epilog_for_reduction): Use the
+ appropriate def for the live out stmt in case of an alternate
+ exit.
+
+2024-03-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114209
+ * gimple-lower-bitint.cc (bitint_large_huge::limb_access): Call
+ unshare_expr when creating a MEM_REF from MEM_REF.
+ (bitint_large_huge::lower_stmt): Call unshare_expr.
+
+2024-03-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/114184
+ * config/i386/i386-expand.cc (ix86_expand_move): If XFmode op1
+ is SUBREG of CONSTANT_P, force the SUBREG_REG into memory or
+ register.
+
+2024-03-04 Roger Sayle <roger@nextmovesoftware.com>
+
+ PR target/114187
+ * simplify-rtx.cc (simplify_context::simplify_subreg): Call
+ lowpart_subreg to perform type conversion, to avoid confusion
+ over the offset to use in the call to simplify_reg_subreg.
+
+2024-03-03 Greg McGary <gkm@rivosinc.com>
+
+ PR rtl-optimization/113010
+ * combine.cc (simplify_comparison): Simplify a SUBREG on
+ WORD_REGISTER_OPERATIONS targets only if it is a zero-extending
+ MEM load.
+
+2024-03-03 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc: Resolve ATTRIBUTE_UNUSED.
+ Use bool in place of int for boolean logic (if possible).
+ Move declarations to definitions (if possible).
+ * config/avr/avr.md: Use C++ comments. Fix some indentation glitches.
+ * config/avr/avr-dimode.md: Same.
+ * config/avr/constraints.md: Same.
+ * config/avr/predicates.md: Same.
+
+2024-03-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/113720
+ * config/alpha/alpha.md (umuldi3_highpart): Remove expander.
+ (*umuldi3_highpart_reg): Rename to umuldi3_highpart and
+ simplify insn RTX using UMUL_HIGHPART rtx_code.
+ (*umuldi3_highpart_const): Remove.
+
+2024-03-03 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/114100
+ * config/avr/avr-protos.h (_reg_unused_after): Remove proto.
+ * config/avr/avr.cc (_reg_unused_after): Make static. And
+ add 3rd argument to skip the current insn.
+ (reg_unused_after): Adjust call of reg_unused_after.
+ (avr_out_plus_1) [AVR_TINY && -mfuse-add >= 2]: Don't output
+ unneeded frame pointer adjustments.
+
+2024-03-03 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/92729
+ * config/avr/avr.md (define_attr "cc"): Remove.
+ * config/avr/avr-protos.h (avr_out_plus): Remove pcc argument
+ from prototype.
+ * config/avr/avr.cc (avr_out_plus_1): Remove pcc argument and
+ its uses. Add insn argument.
+ (avr_out_plus_symbol): Remove pcc argument and its uses.
+ (avr_out_plus): Remove pcc argument and its uses.
+ Adjust calls of avr_out_plus_symbol and avr_out_plus_1.
+ (avr_out_round): Adjust call of avr_out_plus.
+
+2024-03-03 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_init_cumulative_args): Fix a typo
+ from r14-9273.
+
+2024-03-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/101737
+ * config/sh/sh.cc (sh_is_nott_insn): Handle case where the input
+ is not an insn, but e.g. a code label.
+
+2024-03-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (REG_0, ... REG_36): New define_constants.
+ * config/avr/avr.cc: Use them instead of magic numbers when it
+ means a register number.
+
+2024-03-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc: Adjust some comments.
+
+2024-03-02 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/114100
+ * config/avr/avr.cc (avr_out_plus_1) [-mtiny-stack]: Only adjust
+ the low part of the frame pointer with 8-bit stack pointer.
+
+2024-03-01 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/104919
+ PR c++/106009
+ * tree-inline.cc (remap_decl): Handle copy_decl returning the
+ original decl.
+ (remap_decls): Handle remap_decl returning the original decl.
+ (copy_fn): Adjust copy_decl callback to skip TYPE_DECL and
+ CONST_DECL.
+
+2024-03-01 Jeff Law <jlaw@ventanamicro.com>
+
+ * config/riscv/riscv.md (zero_extendqi<SUPERQI:mode>2_internal): Fix
+ type attribute.
+ (extendsidi2_internal, movhf_hardfloat, movhf_softfloat): Likewise.
+ (movdi_32bit, movdi_64bit, movsi_internal): Likewise.
+ (movhi_internal, movqi_internal): Likewise.
+ (movsf_softfloat, movsf_hardfloat): Likewise.
+ (movdf_hardfloat_rv32, movdf_hardfloat_rv64): Likewise.
+ (movdf_softfloat): Likewise.
+
+2024-03-01 Marek Polacek <polacek@redhat.com>
+
+ PR c++/110358
+ PR c++/109642
+ * doc/extend.texi: Document gnu::no_dangling.
+ * doc/invoke.texi: Mention that gnu::no_dangling disables
+ -Wdangling-reference.
+
+2024-03-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.opt: Overhaul help screen.
+
+2024-03-01 Jakub Jelinek <jakub@redhat.com>
+ Tobias Burnus <tburnus@baylibre.com>
+
+ PR c++/110347
+ * gimplify.cc (omp_notice_variable): Fix 'shared' arg to
+ lang_hooks.decls.omp_disregard_value_expr for
+ (first)private in target regions.
+
+2024-03-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114136
+ * calls.cc (expand_call): For TYPE_NO_NAMED_ARGS_STDARG_P set
+ n_named_args initially before INIT_CUMULATIVE_ARGS to
+ structure_value_addr_parm rather than 0, after it don't modify
+ it if strict_argument_naming and clear only if
+ !pretend_outgoing_varargs_named.
+
+2024-03-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/114015
+ * dwarf2out.cc (should_move_die_to_comdat): Return false for
+ aggregates without DW_AT_byte_size attribute or with non-constant
+ DW_AT_byte_size.
+
+2024-03-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/invoke.texi (AVR Options) <-mfuse-add=level>: Document
+ valid values for level.
+
+2024-03-01 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/114070
+ * match.pd ((c ? a : b) op d --> c ? (a op d) : (b op d)):
+ Allow the folding if before lowering and the current IL
+ isn't supported with vcond_mask.
+
+2024-03-01 xuli <xuli1@eswincomputing.com>
+
+ * config/riscv/riscv.cc (TARGET_GNU_ATTRIBUTES): Add riscv_vector_cc
+ attribute to riscv_attribute_table.
+ (riscv_vector_cc_function_p): Return true if FUNC is a riscv_vector_cc function.
+ (riscv_fntype_abi): Add riscv_vector_cc attribute check.
+ * doc/extend.texi: Add riscv_vector_cc attribute description.
+
+2024-03-01 Pan Li <pan2.li@intel.com>
+
+ PR target/112817
+ * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Replace
+ RVV_FIXED_VLMAX to RVV_VECTOR_BITS_ZVL.
+ * config/riscv/riscv-opts.h (enum riscv_autovec_preference_enum): Remove.
+ (enum rvv_vector_bits_enum): New enum for different RVV vector bits.
+ * config/riscv/riscv-selftests.cc (riscv_run_selftests): Update
+ comments for option replacement.
+ * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Replace enum of
+ riscv_autovec_preference to rvv_vector_bits.
+ (vls_mode_valid_p): Ditto.
+ (estimated_poly_value): Ditto.
+ * config/riscv/riscv.cc (riscv_convert_vector_chunks): Rename to
+ vector chunks and honor new option mrvv-vector-bits.
+ (riscv_override_options_internal): Update comments and rename the
+ vector chunks.
+ * config/riscv/riscv.opt: Add option mrvv-vector-bits and remove
+ internal option param=riscv-autovec-preference.
+
+2024-03-01 Jakub Jelinek <jakub@redhat.com>
+
+ * function.cc (assign_parms): Only call assign_parms_setup_varargs
+ early for TYPE_NO_NAMED_ARGS_STDARG_P functions if fnargs is empty.
+
+2024-03-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/114156
+ * gimple-lower-bitint.cc (bitint_large_huge::lower_stmt): Allow
+ rhs1 of a VCE to have no underlying variable if it is a load and
+ handle that case.
+
+2024-02-29 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/114159
+ * function.cc (function_name): Make param const.
+ * function.h (function_name): Likewise.
+
+2024-02-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/114100
+ * doc/invoke.texi (AVR Options) <-mfuse-add>: Document.
+ * config/avr/avr.opt (-mfuse-add=): New target option.
+ * common/config/avr/avr-common.cc (avr_option_optimization_table)
+ [OPT_LEVELS_1_PLUS]: Set -mfuse-add=1.
+ [OPT_LEVELS_2_PLUS]: Set -mfuse-add=2.
+ * config/avr/avr-passes.def (avr_pass_fuse_add): Insert new pass.
+ * config/avr/avr-protos.h (avr_split_tiny_move)
+ (make_avr_pass_fuse_add): New protos.
+ * config/avr/avr.md [AVR_TINY]: New post-reload splitter uses
+ avr_split_tiny_move to split indirect memory accesses.
+ (gen_move_clobbercc): New define_expand helper.
+ * config/avr/avr.cc (avr_pass_data_fuse_add): New pass data.
+ (avr_pass_fuse_add): New class from rtl_opt_pass.
+ (make_avr_pass_fuse_add, avr_split_tiny_move): New functions.
+ (reg_seen_between_p, emit_move_ccc, emit_move_ccc_after): New functions.
+ (avr_legitimate_address_p) [AVR_TINY]: Don't restrict offsets
+ of PLUS addressing for AVR_TINY.
+ (avr_regno_mode_code_ok_for_base_p) [AVR_TINY]: Ignore -mstrict-X.
+ (avr_out_plus_1) [AVR_TINY]: Tweak ++Y and --Y.
+ (avr_mode_code_base_reg_class) [AVR_TINY]: Always return POINTER_REGS.
+
+2024-02-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/114132
+ * config/avr/avr.h (CUMULATIVE_ARGS) <has_stack_args>: New field.
+ * config/avr/avr.cc (avr_init_cumulative_args): Initialize it.
+ (avr_function_arg): Set it.
+ (avr_frame_pointer_required_p): Use it instead of .nregs.
+
+2024-02-29 Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR target/108174
+ * config/aarch64/aarch64-builtins.cc (aarch64_memtag_builtin_data): Make
+ static and mark with GTY.
+
+2024-02-29 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/loongarch.md
+ (loongarch_<crc>_w_<size>_w_extended): New define_insn.
+
+2024-02-29 Xi Ruoyao <xry111@xry111.site>
+
+ * config/loongarch/loongarch.md (CRC): New define_int_iterator.
+ (crc): New define_int_attr.
+ (loongarch_crc_w_<size>_w, loongarch_crcc_w_<size>_w): Unify
+ into ...
+ (loongarch_<crc>_w_<size>_w): ... here.
+
+2024-02-29 Kito Cheng <kito.cheng@sifive.com>
+
+ PR target/114130
+ * config/riscv/sync.md (atomic_compare_and_swap<mode>): Sign
+ extend the expected value if needed.
+
+2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ * config.gcc (target_gtfiles): Change coreout to btfext-out.
+ (extra_objs): Change coreout to btfext-out.
+ * config/bpf/coreout.cc: Rename to btfext-out.cc.
+ * config/bpf/btfext-out.cc: Add.
+ * config/bpf/coreout.h: Rename to btfext-out.h.
+ * config/bpf/btfext-out.h: Add.
+ * config/bpf/core-builtins.cc: Change include.
+ * config/bpf/core-builtins.h: Change include.
+ * config/bpf/t-bpf: Accomodate renamed files.
+
+2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ PR target/113453
+ * config/bpf/bpf.cc (bpf_function_prologue): Define target
+ hook.
+ * config/bpf/coreout.cc (brf_ext_info_section)
+ (btf_ext_info): Move from coreout.h
+ (btf_ext_funcinfo, btf_ext_lineinfo): Add struct.
+ (bpf_core_reloc): Rename to btf_ext_core_reloc.
+ (btf_ext): Add static variable.
+ (btfext_info_sec_find_or_add, SEARCH_NODE_AND_RETURN)
+ (bpf_create_or_find_funcinfo, bpt_create_core_reloc)
+ (btf_ext_add_string, btf_funcinfo_type_callback)
+ (btf_add_func_info_for, btf_validate_funcinfo)
+ (btf_ext_info_len, output_btfext_func_info): Add function.
+ (output_btfext_header, bpf_core_reloc_add)
+ (output_btfext_core_relocs, btf_ext_init, btf_ext_output):
+ Change to support new structs.
+ * config/bpf/coreout.h (btf_ext_funcinfo, btf_ext_lineinfo):
+ Move and change in coreout.cc.
+ (btf_add_func_info_for, btf_ext_add_string): Add prototypes.
+
+2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ * config/bpf/bpf.cc (bpf_option_override): Make .BTF.ext
+ enabled by default for BPF.
+ (bpf_file_end): Call BTF deallocation.
+ (bpf_asm_init_sections): Correct condition.
+ * dwarf2ctf.cc (ctf_debug_finalize): Conditionally execute BTF
+ deallocation.
+ (ctf_debuf_finish): Correct condition for calling
+ ctf_debug_finalize.
+
+2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ * btfout.cc (output_btf_func_types): Use FOR_EACH_VEC_ELT.
+ (traverse_btf_func_types): Define function.
+ * ctfc.h (funcs_traverse_callback): Typedef for function
+ prototype.
+ (traverse_btf_func_types): Add prototype.
+
+2024-02-28 Cupertino Miranda <cupertino.miranda@oracle.com>
+
+ * btfout.cc (btf_collect_dataset): Corrects BTF type id.
+
+2024-02-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/113831
+ PR tree-optimization/108355
+ * tree-ssa-sccvn.cc (copy_reference_ops_from_ref): Revert
+ PR113831 fix.
+
+2024-02-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/114121
+ * tree-ssa-sccvn.h (vn_reference_s::offset,
+ vn_reference_s::max_size): New fields.
+ (vn_reference_insert_pieces): Adjust prototype.
+ * tree-ssa-pre.cc (phi_translate_1): Preserve offset/max_size.
+ * tree-ssa-sccvn.cc (vn_reference_eq): Compare offset and
+ size, allow using "don't know" state.
+ (vn_walk_cb_data::finish): Pass along offset/max_size.
+ (vn_reference_lookup_or_insert_for_pieces): Take offset and
+ max_size as argument and use it.
+ (vn_reference_lookup_3): Properly adjust offset and max_size
+ according to the adjusted ao_ref.
+ (vn_reference_lookup_pieces): Initialize offset and max_size.
+ (vn_reference_lookup): Likewise.
+ (vn_reference_lookup_call): Likewise.
+ (vn_reference_insert): Likewise.
+ (visit_reference_op_call): Likewise.
+ (vn_reference_insert_pieces): Take offset and max_size
+ as argument and use it.
+
+2024-02-28 Juergen Christ <jchrist@linux.ibm.com>
+
+ PR tree-optimization/114075
+ * tree-vect-stmts.cc (vectorizable_operation): Don't emulate floating
+ point vectors
+
+2024-02-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/114041
+ * graphite-sese-to-poly.cc (add_conditions_to_domain): Check for
+ INTEGRAL_TYPE_P check rather than INTEGER_TYPE.
+
+2024-02-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/113988
+ * stor-layout.h (bitwise_mode_for_size): Declare.
+ * stor-layout.cc (bitwise_mode_for_size): New function.
+ * gimple-fold.cc (gimple_fold_builtin_memory_op): Use it.
+ Use bitwise_type_for_mode instead of build_nonstandard_integer_type.
+ Use BITS_PER_UNIT instead of 8.
+
2024-02-27 Uros Bizjak <ubizjak@gmail.com>
PR target/113871