2025-12-31  Pietro Monteiro  <pietro@sociotechnical.xyz>

	* doc/install.texi (--enable-languages): Fix typo.

2025-12-31  Jeff Law  <jeffrey.law@oss.qualcomm.com>

	PR target/121485
	* config/riscv/vector-crypto.md: Fix mode attribute for the
	lmul extending Zvkned patterns.

2025-12-30  Jeff Law  <jeffrey.law@oss.qualcomm.com>

	PR target/123318
	* config/riscv/riscv.cc (riscv_legitimize_const_move): Force
	riscv_split_symbol to generate a new temporary if the provided
	one isn't Pmode.

2025-12-29  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* ifcvt.cc (noce_try_cond_zero_arith): Remove restriction on comparison
	against 0.

2025-12-29  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR rtl-optimization/123308
	* ifcvt.cc (noce_try_cond_zero_arith): If noce_emit_cmove fails
	for a lowpart subreg case, then try the full reg cmove and
	take the lowpart subreg afterwards.

2025-12-29  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* ifcvt.cc (noce_try_cond_zero_arith): Don't swap if_info->cond
	but use it directly with if_info->rev_cond.

2025-12-29  Jakub Jelinek  <jakub@redhat.com>

	* auto-profile.cc (string_table::get_original_name): Avoid using
	init-statement in selection statement.

2025-12-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure: Regenerate.

2025-12-29  Hongyu Wang  <hongyu.wang@intel.com>

	* config/i386/i386.md (*setcc_qi): Force output setzucc for
	reg operand[0].
	(*setcc_qi_slp): Likewise.

2025-12-29  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR rtl-optimization/123295
	* lra-eliminations.cc (lra_eliminate_regs_1): For a debug
	insn, create a raw SUBREG if simplify_gen_subreg fails.

2025-12-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (gcc_cv_ld_ctf): New check.
	(gcc_cv_have_ctfmerge): Likewise.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/sol2.h (SCTF_CC1_SPEC): Define.
	(LINK_SCTF_SPEC): Define.
	(LINK_SPEC): Add LINK_SCTF_SPEC.
	* config/i386/sol2.h (CC1_SPEC): Add SCTF_CC1_SPEC.
	* config/sparc/sol2.h: Likewise.
	* config/sol2.opt (gsctf): Declare.
	* config/sol2.opt.urls: Regenerate.
	* doc/invoke.texi (Option Summary): Add -gsctf.
	(Solaris 2 Options): Document it.

2025-12-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (gcc_cv_as_ix86_xbrace_comment): Remove.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Adapt guard.

2025-12-27  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/123114
	* simplify-rtx.cc (simplify_context::simplify_relational_operation):
	Verify XEXP (XEXP (op0, 0), 0) mode and use CONST0_RTX (cmp_mode)
	instead of CONST0_RTX (mode).

2025-12-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Revert:
	2025-12-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* ifcvt.cc (noce_process_if_block): Move noce_try_cond_zero_arith
	last.

2025-12-26  Jeff Law  <jeffrey.law@oss.qualcomm.com>

	PR target/123283
	* config/riscv/sync.md (subword_atomic_fetch_strong_nand): Add
	USEs for naked operands that might be pseudos.
	(subword_atomic_fetch_strong_<atomic_optab>): Likewise.
	(subword_atomic_exchange_strong): Likewise.
	(subword_atomic_cas_strong): Likewise.

2025-12-26  Sandra Loosemore  <sloosemore@baylibre.com>

	* config/i386/i386.opt.urls: Regenerated.
	* config/riscv/riscv.opt.urls: Regenerated.

2025-12-26  Sandra Loosemore  <sloosemore@baylibre.com>

	* config/riscv/gen-riscv-ext-texi.cc: Fix table markup and
	layout.
	* config/riscv/riscv-ext-corev.def: Document missing extensions,
	regularize spelling/capitalization in existing descriptions
	* config/riscv/riscv-ext-mips.def: Likewise.
	* config/riscv/riscv-ext-sifive.def: Likewise.
	* config/riscv/riscv-ext-thead.def: Likewise.
	* config/riscv/riscv-ext.def: Likewise.
	* doc/riscv-ext.texi: Regenerated.

2025-12-26  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/riscv/riscv.opt (mplt): Mark deprecated option Undocumented.
	(msmall-data-limit=): Mark RejectNegative.
	* doc/invoke.texi (Option Summary) <RISC-V Options>:  Remove -mplt
	documentation.  Only list one form of each option.  Add missing
	options -mcpu, -mscalar-strict-align, -mno-vector-strict-align,
	-momit-leaf-frame-pointer, -mstringop-strategy, -mrvv-vector-bits,
	-mrvv-max-lmul, -madjust-lmul-cost, -mmax-vectorization, and
	-mno-autovec-segment.
	(RISC-V Options):  Remove -mplt documentation.  Add documentation for
	missing options listed above.  Add missing index entries for negative
	forms.  Correct the default for the -minline-str* options, which
	has changed.  Copy-edit for markup, spelling, and usage.  Trivial
	whitespace fixes.

2025-12-25  Arsen Arsenović  <aarsenovic@baylibre.com>

	* tree-ssa-math-opts.cc (execute_cse_sincos_1): If
	mathfn_built_in_type fails to determine a type for our
	operation, presume that it is the same as the input type.

2025-12-24  Pan Li  <pan2.li@intel.com>

	* config/riscv/predicates.md: Add geu to the swappable
	cmp operator iterator.
	* config/riscv/riscv-v.cc (get_swapped_cmp_rtx_code): Take
	care of the swapped rtx code correspondly.

2025-12-24  Claudio Bantaloukas  <claudio.bantaloukas@arm.com>

	* config/aarch64/aarch64-sve-builtins-base.cc: (svmul_impl::fold):
	Replace use of type_suffix_pair with type_suffix_triple.
	* config/aarch64/aarch64-sve-builtins-shapes.cc: (parse_element_type):
	Handle third type suffix.
	(parse_type): Handle c2 in function signature. Add the u signature with
	the ability to pass a tuple with twice as many vectors as the base type.
	Calculate number of vectors against the type with the maximum number of
	bits rather than "the other one".
	(load_contiguous_base::resolve): Add argument to resolve_to call.
	(compare_scalar_def::resolve): Likewise.
	(ternary_mfloat8_def::resolve): Likewise.
	(ternary_mfloat8_lane_def::resolve): Likewise.
	(ternary_mfloat8_opt_n_def::resolve): Likewise.
	* config/aarch64/aarch64-sve-builtins.cc: (TYPES_all_pred,
	TYPES_all_count, TYPES_all_pred_count, TYPES_all_float,
	TYPES_all_signed, TYPES_all_float_and_signed, TYPES_all_unsigned,
	TYPES_all_integer, TYPES_all_arith, TYPES_all_data, TYPES_b, TYPES_c,
	TYPES_b_unsigned, TYPES_b_integer, TYPES_b_data, TYPES_bh_integer,
	TYPES_bs_unsigned, TYPES_bhs_signed, TYPES_bhs_unsigned,
	TYPES_bhs_integer, TYPES_bh_data, TYPES_bhs_data, TYPES_bhs_widen,
	TYPES_h_bfloat, TYPES_h_float, TYPES_h_integer, TYPES_h_data,
	TYPES_hs_signed, TYPES_hs_integer, TYPES_hs_float, TYPES_hs_data,
	TYPES_hd_unsigned, TYPES_hsd_signed, TYPES_hsd_integer, TYPES_hsd_data,
	TYPES_h_float_mf8, TYPES_s_float, TYPES_s_float_mf8,
	TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer, TYPES_s_signed,
	TYPES_s_unsigned, TYPES_s_integer, TYPES_s_data, TYPES_sd_signed,
	TYPES_sd_unsigned, TYPES_sd_integer, TYPES_sd_data,
	TYPES_all_float_and_sd_integer, TYPES_d_float, TYPES_d_unsigned,
	TYPES_d_integer, TYPES_d_data, TYPES_cvt, TYPES_cvt_bfloat,
	TYPES_cvt_h_s_float, TYPES_cvt_f32_f16, TYPES_cvt_long,
	TYPES_cvt_narrow_s, TYPES_cvt_narrow, TYPES_cvt_s_s, TYPES_cvt_mf8,
	TYPES_cvtn_mf8, TYPES_cvtnx_mf8, TYPES_inc_dec_n, TYPES_qcvt_x2,
	TYPES_qcvt_x4, TYPES_qrshr_x2,TYPES_qrshru_x2, TYPES_qrshr_x4,
	TYPES_qrshru_x4, TYPES_reinterpret, TYPES_reinterpret_b,TYPES_while,
	TYPES_while_x, TYPES_while_x_c, TYPES_s_narrow_fsu,TYPES_all_za,
	TYPES_d_za, TYPES_za_bhsd_data,TYPES_za_all_data, TYPES_za_h_mf8,
	TYPES_za_hs_mf8, TYPES_za_h_bfloat, TYPES_za_h_float,
	TYPES_za_s_b_signed, TYPES_za_s_b_unsigned, TYPES_za_s_b_integer,
	TYPES_za_s_h_integer,TYPES_za_s_h_data, TYPES_za_s_unsigned,
	TYPES_za_s_integer, TYPES_za_s_mf8, TYPES_za_s_float, TYPES_za_s_data,
	TYPES_za_d_h_integer, TYPES_za_d_float, TYPES_za_d_integer,
	TYPES_mop_base, TYPES_mop_base_signed, TYPES_mop_base_unsigned,
	TYPES_mop_i16i64, TYPES_mop_i16i64_signed, TYPES_mop_i16i64_unsigned,
	ΤYPES_za): Extend defines to three arguments.
	(DEF_VECTOR_TYPE, DEF_DOUBLE_TYPE): Likewise.
	(DEF_TRIPLE_TYPE): Add new define.
	(DEF_SVE_TYPES_ARRAY): Redefine all types_ arrays into arrays of
	type_suffix_triple.
	(types_none): Likewise.
	(function_instance::hash): Add third type to hash calculation.
	(function_builder::get_name): Add third type to function name.
	(function_builder::add_overloaded_functions): Handle third type.
	(function_resolver::lookup_form): Likewise.
	(function_resolver::resolve_to): Likewise.
	(function_resolver::resolve_unary): Likewise.
	* config/aarch64/aarch64-sve-builtins.h: (type_suffix_triple): replace
	type_suffix_pair.
	(function_group_info::types): Likewise.
	(function_instance::ctor): Likewise.
	(function_instance::type_suffix_ids): Likewise.
	(function_resolver::lookup_form): Add third type argument.
	(function_resolver::resolve_to): Likewise.
	(function_instance::operator==): Add third type to equality calculation.

2025-12-24  Karl Meakin  <karl.meakin@arm.com>

	* config/aarch64/aarch64-sme.md
	(@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><SME_ZA_FP8_x24:mode>): New insn.
	(@aarch64_fvdot_half<optab>): Likewise.
	(@aarch64_fvdot_half<optab>_plus): Likewise.
	* config/aarch64/aarch64-sve-builtins-functions.h
	(class svvdot_half_impl): New function impl.
	* config/aarch64/aarch64-sve-builtins-sme.cc (FUNCTION): Likewise.
	* config/aarch64/aarch64-sve-builtins-shapes.cc (struct dot_half_za_slice_lane_def):
	New function shape.
	* config/aarch64/aarch64-sve-builtins-shapes.h: Likewise.
	* config/aarch64/aarch64-sve-builtins-sme.def (svdot): New function.
	(svdot_lane): Likewise.
	(svvdot_lane): Likewise.
	(svvdotb_lane): Likewise.
	(svvdott_lane): Likewise.
	* config/aarch64/aarch64-sve-builtins-sme.h (svvdotb_lane_za): New function.
	(svvdott_lane_za): Likewise.
	* config/aarch64/aarch64-sve-builtins.cc (TYPES_za_s_mf8): New types array.
	(TYPES_za_hs_mf8): Likewise.
	(za_hs_mf8): Likewise.
	* config/aarch64/iterators.md (SME_ZA_F8F16): New mode iterator.
	(SME_ZA_F8F32): Likewise.
	(SME_ZA_FP8_x1): Likewise.
	(SME_ZA_FP8_x2): Likewise.
	(SME_ZA_FP8_x4): Likewise.
	(UNSPEC_SME_FDOT_FP8): New unspec.
	(UNSPEC_SME_FVDOT_FP8): Likewise.
	(UNSPEC_SME_FVDOTT_FP8): Likewise.
	(UNSPEC_SME_FVDOTB_FP8): Likewise.
	(SME_FP8_DOTPROD): New int iterator.
	(SME_FP8_FVDOT): Likewise.
	(SME_FP8_FVDOT_HALF): Likewise.

2025-12-24  Claudio Bantaloukas  <claudio.bantaloukas@arm.com>

	* config/aarch64/aarch64-sme.md
	(@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><VNx16QI_ONLY:mode>): Add
	new define_insn.
	* config/aarch64/aarch64-sve-builtins-shapes.cc
	(struct binary_za_m_base): Support fpm argument.
	* config/aarch64/aarch64-sve-builtins-sme.cc (svmopa_za): Extend for
	fp8.
	* config/aarch64/aarch64-sve-builtins-sme.def (svmopa): Add new
	DEF_SME_ZA_FUNCTION_GS_FPM entries.

2025-12-24  Claudio Bantaloukas  <claudio.bantaloukas@arm.com>

	* config/aarch64/aarch64-sme.md
	(@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><SME_ZA_FP8_x24:mode>): Add
	new define_insn.
	(*aarch64_sme_<optab><VNx8HI_ONLY:mode><SME_ZA_FP8_x24:mode>_plus,
	*aarch64_sme_<optab><VNx4SI_ONLY:mode><SME_ZA_FP8_x24:mode>_plus,
	@aarch64_sme_<optab><SME_ZA_F8F16_32:mode><VNx16QI_ONLY:mode>,
	*aarch64_sme_<optab><VNx8HI_ONLY:mode><VNx16QI_ONLY:mode>_plus,
	*aarch64_sme_<optab><VNx4SI_ONLY:mode><VNx16QI_ONLY:mode>_plus,
	@aarch64_sme_single_<optab><SME_ZA_F8F16_32:mode><SME_ZA_FP8_x24:mode>,
	*aarch64_sme_single_<optab><VNx8HI_ONLY:mode><SME_ZA_FP8_x24:mode>_plus,
	*aarch64_sme_single_<optab><VNx4SI_ONLY:mode><SME_ZA_FP8_x24:mode>_plus,
	@aarch64_sme_lane_<optab><SME_ZA_F8F16_32:mode><SME_ZA_FP8_x124:mode>,
	*aarch64_sme_lane_<optab><VNx8HI_ONLY:mode><SME_ZA_FP8_x124:mode>,
	*aarch64_sme_lane_<optab><VNx4SI_ONLY:mode><SME_ZA_FP8_x124:mode>):
	Likewise.
	* config/aarch64/aarch64-sve-builtins-shapes.cc
	(struct binary_za_slice_lane_base): Support fpm argument.
	(struct binary_za_slice_opt_single_base): Likewise.
	* config/aarch64/aarch64-sve-builtins-sme.cc (svmla_za): Extend for fp8.
	(svmla_lane_za): Likewise.
	* config/aarch64/aarch64-sve-builtins-sme.def (svmla_lane): Add new
	DEF_SME_ZA_FUNCTION_GS_FPM entries.
	(svmla): Likewise.
	* config/aarch64/iterators.md (SME_ZA_F8F16_32): Add new mode iterator.
	(SME_ZA_FP8_x24, SME_ZA_FP8_x124): Likewise.
	(UNSPEC_SME_FMLAL): Add new unspec.
	(za16_offset_range): Add new mode_attr.
	(za16_32_long): Likewise.
	(za16_32_last_offset): Likewise.
	(SME_FP8_TERNARY_SLICE): Add new iterator.
	(optab): Add entry for UNSPEC_SME_FMLAL.

2025-12-24  Claudio Bantaloukas  <claudio.bantaloukas@arm.com>

	* config/aarch64/aarch64.h:
	(TARGET_STREAMING_SME_F8F16, TARGET_STREAMING_SME_F8F32): Add defines.
	* config/aarch64/aarch64-c.cc:
	(__ARM_FEATURE_SME_F8F16, __ARM_FEATURE_SME_F8F32): Add defines.
	* config/aarch64/aarch64-option-extensions.def:
	(sme-f8f16, sme-f8f32): Add arch options in command line.
	* config/aarch64/aarch64-sve-builtins-functions.h:
	(sme_2mode_function_t): Pass unspec_for_mfp8 parameter through ctor.
	* config/aarch64/aarch64-sve-builtins-sme.def:
	(DEF_SME_FUNCTION_GS, DEF_SME_FUNCTION): Redefine based on
	DEF_SME_FUNCTION_GS_FPM.
	(DEF_SME_ZA_FUNCTION_GS, DEF_SME_ZA_FUNCTION): Redefine based on
	DEF_SME_ZA_FUNCTION_GS_FPM.
	(AARCH64_FL_SME_F8F16, AARCH64_FL_SME_F8F32): Add new
	REQUIRED_EXTENSIONS sections.
	* config/aarch64/aarch64-sve-builtins.cc:
	(TYPES_za_h_mf8): Add new types.
	(TYPES_za_s_mf8): Likewise.
	(sme_function_groups): Define using DEF_SME_FUNCTION_GS_FPM instead of
	DEF_SME_FUNCTION_GS.
	* doc/invoke.texi: (sme-f8f16, sme-f8f32): Add documentation of option.

2025-12-24  Claudio Bantaloukas  <claudio.bantaloukas@arm.com>

	* config/aarch64/aarch64-sve-builtins-base.cc (svscale_impl): Added new
	class for dealing with all svscale functions (including sve)
	(svscale): updated FUNCTION macro call to make use of new class.
	* config/aarch64/aarch64-sve-builtins-sve2.def: (svscale):
	Added new DEF_SVE_FUNCTION_GS call to enable recognition of new variant.
	* config/aarch64/aarch64-sve2.md (@aarch64_sve_fscale<mode>): Added
	new define_insn. (@aarch64_sve_single_fscale<mode>): Likewise.
	* config/aarch64/iterators.md: (SVE_Fx24_NOBF): Added new iterator,
	similar to SVE_Fx24 but without brainfloat.
	(SVE_Fx24): Updated to make use of SVE_Fx24_NOBF.
	(SVSCALE_SINGLE_INTARG): Added new mode_attr.
	(SVSCALE_INTARG): Likewise.

2025-12-24  Claudio Bantaloukas  <claudio.bantaloukas@arm.com>

	* config/aarch64/aarch64-sve-builtins-base.cc (svcvt_impl): Update to
	handle fp8 cases.
	* config/aarch64/aarch64-sve-builtins-sve2.def (svcvt, svcvtn): Added
	DEF_SVE_FUNCTION_GS_FPM instances.
	* config/aarch64/aarch64-sve2.md
	(@aarch64_sve2_fp8_cvtn<mode>): Updated define_insn for additional case.
	(@aarch64_sme2_fp8_cvt<mode>): Added new define_insn.
	* config/aarch64/iterators.md (VNx16F_NARROW): Added new iterator to
	handle narrowing SVE floating point operations.
	(UNSPEC_FCVT): Added new unspec.

2025-12-24  Claudio Bantaloukas  <claudio.bantaloukas@arm.com>

	* config/aarch64/aarch64-sve-builtins-sve2.cc (svcvtl1, svcvtl2): Added
	new FUNTIONs.
	* config/aarch64/aarch64-sve-builtins-sve2.def
	(svcvt1, svcvt2, svcvtl1, svcvtl2): Added new DEF_SVE_FUNCTION_GS_FPM.
	* config/aarch64/aarch64-sve-builtins-sve2.h (svcvtl1, svcvtl2): Added
	new function_base.
	* config/aarch64/aarch64-sve-builtins.cc
	(function_resolver::resolve_unary): use group_suffix_id when resolving
	C overloads.
	* config/aarch64/aarch64-sve2.md
	(@aarch64_sve2_fp8_cvt_<fp8_cvt_uns_op><mode>): Added new define_insn.
	* config/aarch64/aarch64.h (TARGET_SSME2_FP8): Added new define.
	* config/aarch64/iterators.md
	(UNSPEC_F1CVTL. UNSPEC_F2CVTL): Added new unspecs.
	(FP8CVT_UNS): Extended int_iterator.
	(fp8_cvt_uns_op): Likewise.

2025-12-24  Claudio Bantaloukas  <claudio.bantaloukas@arm.com>

	* config/aarch64/aarch64-sve-builtins.cc (TYPES_za_bhsd_data): Add
	D (za8, mf8) combination to za_bhsd_data.

2025-12-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* ifcvt.cc (noce_process_if_block): Move noce_try_cond_zero_arith
	last.

2025-12-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR rtl-optimization/123276
	* ifcvt.cc (noce_try_cond_zero_arith): Reject non-scalar integral modes.

2025-12-23  Jeff Law  <jeffrey.law@oss.qualcomm.com>

	PR target/123274
	* config/riscv/riscv.md (usmul<mode>3): Add proper condition.

2025-12-23  Jeff Law  <jeffrey.law@oss.qualcomm.com>

	PR target/123278
	* config/riscv/andes-45-series.md (andes_45_fpu_alu_s): Handle
	BF/HF modes too.
	(andes_45_fpu_mul_s, andes_45_fpu_mac_s): Likewise.

2025-12-23  Milan Tripkovic  <Milan.Tripkovic@rt-rk.com>

	* config/riscv/spacemit-x60.md (spacemit_x60_clmul): Adjust latency.

2025-12-23  Xi Ruoyao  <xry111@xry111.site>

	* config.gcc: Relax the check for LoongArch with_tune.

2025-12-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR rtl-optimization/123267
	* ifcvt.cc (noce_try_cond_zero_arith): Pass the original operands
	of a instead of the stripped off values. The mode of the operand
	which is being used.

2025-12-23  Dhruv Chawla  <dhruvc@nvidia.com>

	* auto-profile.cc (struct summary_info): New struct.
	(summary_info::read): New function.
	(summary_info::get_threshold_count): Likewise.
	(function_instance::read_function_instance): Read
	afdo_profile_info->sum_max directly from summary info.
	(autofdo_source_profile::read): Set afdo_hot_bb_threshold from
	param_hot_bb_count_ws_permille.
	(read_profile): Call summary_info->read.
	(end_auto_profile): Free afdo_summary_info.
	* gcov-io.h (GCOV_TAG_AFDO_SUMMARY): New define.

2025-12-23  Dhruv Chawla  <dhruvc@nvidia.com>

	* auto-profile.cc (string_table::~string_table): Update to free
	original_names_map_.
	(string_table::original_names_map_): New member.
	(string_table::clashing_names_map_): Likewise.
	(string_table::get_original_name): New function.
	(string_table::read): Figure out clashes while reading.
	(autofdo_source_profile::offline_external_functions): Call
	get_original_name.

2025-12-23  Dhruv Chawla  <dhruvc@nvidia.com>

	* auto-profile.cc (AUTO_PROFILE_VERSION): Bump to 3.
	(class function_instance_descriptor): New class.
	(get_normalized_path): New function.
	(string_table::~string_table): Update to free filenames.
	(string_table::vector_): Rename to ...
	(string_table::symbol_names_): ... this.
	(string_table::map_): Rename to ...
	(string_table::symbol_name_map_): ... this.
	(string_table::filenames_): New member.
	(string_table::filename_map_): Likewise.
	(string_table::symbol_to_filename_map_): Likewise.
	(string_table::get_index): Update to lookup symbol_name_map_.
	(string_table::get_name): Rename to ...
	(string_table::get_symbol_name): ... this.
	(string_table::add_name): Rename to ...
	(string_table::add_symbol_name): ... this.
	(string_table::get_filename): New function.
	(string_table::get_filename_by_symbol): Likewise.
	(string_table::get_filename_index): Likewise.
	(string_table::add_filename): Likewise.
	(string_table::read): Read file names from the GCOV profile.
	(function_instance::offline): Call
	get_function_instance_by_descriptor.
	(string_table::get_cgraph_node): Call get_symbol_name and
	symbol_name.
	(function_instance::get_function_instance_by_decl): Likewise.
	(function_instance::get_cgraph_node): Likewise.
	(function_instance::merge): Likewise.
	(match_with_target): Likewise.
	(function_instance::match): Likewise.
	(function_instance::dump): Likewise.
	(function_instance::dump_inline_stack): Likewise.
	(function_instance::find_icall_target_map): Likewise.
	(autofdo_source_profile::offline_unrealized_inlines): Likewise.
	(autofdo_source_profile::offline_external_functions): Likewise.
	(function_instance::read_function_instance): Likewise.
	(afdo_indirect_call):
	Also call find_function_instance, add_function_instance and
	remove_function_instance.
	(autofdo_source_profile::read): Likewise.
	(autofdo_source_profile::get_function_instance_by_decl): Call
	find_function_instance.
	(autofdo_source_profile::get_function_instance_by_name_index):
	Rename to ...
	(autofdo_source_profile::get_function_instance_by_descriptor):
	... this.
	(autofdo_source_profile::find_iter_for_function_instance): New
	function.
	(autofdo_source_profile::find_function_instance): Likewise.
	(autofdo_source_profile::add_function_instance): Likewise.
	(autofdo_source_profile::remove_function_instance): Likewise.

2025-12-22  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>

	PR middle-end/123067
	* tree-ssa-loop-im.cc(is_self_write): Check
	load and store refer to same location.

2025-12-22  Vineet Gupta  <vineetg@rivosinc.com>

	* ifcvt.cc (get_base_reg): Handle subreg.

2025-12-22  Vineet Gupta  <vineetg@rivosinc.com>
	    Philipp Tomsich  <philipp.tomsich@vrull.eu>

	PR target/122769
	* ifcvt.cc (noce_try_cond_zero_arith): Use noce_emit_cmove.
	Delete noce_emit_czero () no longer used.

2025-12-22  Vineet Gupta  <vineetg@rivosinc.com>

	* ifcvt.cc (noce_try_cond_zero_arith): Use expand_simple_binop
	to re-expand the final pattern.

2025-12-22  Vineet Gupta  <vineetg@rivosinc.com>

	* ifcvt.cc (noce_try_cond_zero_arith): Refactor.

2025-12-22  Vineet Gupta  <vineetg@rivosinc.com>

	* ifcvt.cc (noce_bbs_ok_for_cond_zero_arith): Move logic out.
	(noce_try_cond_zero_arith): Into here.

2025-12-22  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv.cc (riscv_expand_mult_with_const_int): Signal
	when this creates a simple copy that may be optimized.
	(riscv_legitimate_poly_move): Try to optimize away any copy created
	by riscv_expand_mult_with_const_int.

2025-12-22  Filip Kastl  <fkastl@suse.cz>

	* doc/invoke.texi: Document
	--param=memtag-instrument-mem-intrinsics

2025-12-21  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/123089
	* tree-vect-loop.cc (vect_update_ivs_after_vectorizer_for_early_breaks):
	Add conversion if required, Note that if we did truncate the original
	scalar loop had an overflow here anyway.
	(vect_get_max_nscalars_per_iter): Expose.
	* tree-vect-stmts.cc (vect_compute_type_for_early_break_scalar_iv): New.
	(vectorizable_early_exit): Find smallest type where we won't have UB in
	the signed IV and store it.
	* tree-vectorizer.h (LOOP_VINFO_EARLY_BRK_IV_TYPE): New.
	(class _loop_vec_info): Add early_break_iv_type.
	(vect_min_prec_for_max_niters): New.
	* tree-vect-loop-manip.cc (vect_do_peeling): Use it.

2025-12-20  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/123222
	* doc/extend.texi: Fix copy-and-pasto for __builtin_*_overflow_p.

2025-12-20  Jakub Jelinek  <jakub@redhat.com>

	PR target/123216
	* common/config/i386/i386-common.cc (OPTION_MASK_ISA_AVX512FP16_UNSET):
	Remove unused macro.
	(OPTION_MASK_ISA2_AVX512FP16_UNSET, OPTION_MASK_ISA2_AVX512BF16_UNSET,
	OPTION_MASK_ISA2_AVX512BW_UNSET): Or in OPTION_MASK_ISA2_AVX10_1_UNSET.
	(OPTION_MASK_ISA2_AVX512CD_UNSET, OPTION_MASK_ISA2_AVX512DQ_UNSET,
	OPTION_MASK_ISA2_AVX512VL_UNSET, OPTION_MASK_ISA2_AVX512IFMA_UNSET,
	OPTION_MASK_ISA2_AVX512VNNI_UNSET,
	OPTION_MASK_ISA2_AVX512VPOPCNTDQ_UNSET,
	OPTION_MASK_ISA2_AVX512VBMI_UNSET, OPTION_MASK_ISA2_AVX512VBMI2_UNSET,
	OPTION_MASK_ISA2_AVX512BITALG_UNSET): Define.
	(ix86_handle_option): For
	-mno-avx512{cd,dq,vl,ifma,vnni,vpopcntdq,vbmi,vbmi2,bitalg} also remove
	corresponding OPTION_MASK_ISA2_AVX512*_UNSET from ix86_isa_flags2
	and add it to ix86_isa_flags2_explicit.

2025-12-20  Jakub Jelinek  <jakub@redhat.com>

	PR target/123217
	* config/i386/i386-expand.cc (ix86_expand_builtin)
	<case IX86_BUILTIN_ENCODEKEY128U32, case IX86_BUILTIN_ENCODEKEY256U32,
	case IX86_BUILTIN_URDMSR>: Set target to a new pseudo even if it is
	non-NULL but doesn't satisfy register_operand predicate.

2025-12-19  Victor Do Nascimento  <victor.donascimento@arm.com>

	PR tree-optimization/123152
	* tree-vect-loop-manip.cc
	(slpeel_tree_duplicate_loop_to_edge_cfg): Correct order of
	dominator update.

2025-12-19  Jakub Jelinek  <jakub@redhat.com>

	* alias.cc (alias_set_subset_of): Fix comment typo, explicitely
	-> explicitly.
	* builtins.cc (get_object_alignment_2): Likewise.
	* combine.cc (make_extraction): Fix comment typos, potentionally
	-> potentially and implicitely -> implicitly.
	(simplify_comparison): Fix comment typo, outmost -> outermost.
	(record_truncated_values): Fix comment typo, truning -> turning.
	(distribute_notes): Fix comment typo, recourse -> recurse.
	* config/avr/avr.md (*<extend_u>maddqihi4_split): Fix comment
	typo, explicitely -> explicitly.
	(*mulu<mode>si3): Likewise.  Fix comment typo, implicitely
	-> implicitly.
	* config/i386/i386.cc (ix86_get_drap_rtx): Fix comment typo,
	statment -> statement.
	* config/rs6000/rs6000.h (TARGET_DIRECT_MOVE_64BIT): Fix comment typo,
	transfered -> transferred.
	* config/s390/s390.cc (s390_encode_section_info): Fix comment typo,
	catched -> caught.
	* dwarf2out.cc (dwarf_proc_stack_usage_map): Fix comment typo,
	invokation -> invocation.
	(dwarf2out_die_ref_for_decl): Fix comment typo, refering -> referring.
	(loc_list_from_tree_1): Fix message typo, INDCREMENT -> INCREMENT.
	(field_byte_offset): Fix comment typo, simplier -> simpler.
	(add_data_member_location_attribute): Fix comment typo, catched
	-> caught.
	(gen_lexical_block_die): Fix comment typo, conrecte -> concrete.
	(analyze_variants_discr): Fix comment typo, consistant -> consistent.
	(gen_decl_die): Fix comment typo, prunning -> pruning.
	(resolve_variable_values): Fix comment typo, refering -> referring.
	* genmatch.cc (expr::expr_type): Fix comment typo, explicitely
	-> explicitly.
	* gimple-range-phi.cc (phi_group::is_modifier_p): Fix comment typo,
	statment -> statement.
	* gimple-ssa-store-merging.cc (pass_optimize_bswap::execute): Fix
	comment typo, invokation -> invocation.  Add second space after dot.
	* gimple-walk.cc (walk_gimple_op): Fix comment typo, explicitely
	-> explicitly.
	* gimplify.cc (mostly_copy_tree_r): Fix comment typo, gimplication
	-> gimplification.
	(var_needs_auto_init_p): Fix comment typo, automaticly
	-> automatically.
	(gimplify_decl_expr): Fix comment typos, varaible -> variable
	and compatiple -> compatible.
	(emit_warn_switch_unreachable): Fix comment typo, statment
	-> statement.
	(should_warn_for_implicit_fallthrough): Fix comment typo, fallthough
	-> fallthrough.
	(modify_call_for_omp_dispatch): Fix comment typo, interobject
	-> interop.
	(oacc_default_clause): Fix comment typo, tranfered -> transferred.
	(omp_notice_variable): Likewise.
	* graphite-isl-ast-to-gimple.cc (binary_op_to_tree): Fix comment
	typo, explicitely -> explicitly.
	* ipa-param-manipulation.cc (push_function_arg_decls): Likewise.
	* ipa-prop.cc (ipa_make_edge_direct_to_target): Likewise.
	* ipa-prop.h (ipa_node_params::node_within_scc): Fix comment typo,
	potentionally -> potentially.
	* loop-init.cc (fix_loop_structure): Fix comment typo, refering
	-> referring.
	* match.pd (1 / X -> X == 1): Fix comment typo, simplier -> simpler.
	* opts.cc (global_options): Fix comment typo, explicitely
	-> explicitly.
	* sanopt.cc (sanopt_optimize_walker): Fix comment typo, potentionally
	-> potentially.
	* tree.cc (variably_modified_type_p): Fix comment typo, refering
	-> referring.
	* tree-cfg.cc (group_case_labels_stmt): Likewise.
	(dump_function_to_file): Fix comment typo, explicitely -> explicitly.
	(make_forwarders_with_degenerate_phis): Likewise.
	* tree-inline.cc (replace_locals_op): Likewise.
	* tree-loop-distribution.cc (loop_distribution::execute): Fix comment
	typo, refering -> referring.
	* tree-sra.cc (generate_subtree_deferred_init): Fix comment typo,
	statment -> statement.
	* tree-ssa-alias.cc (ptrs_compare_unequal): Fix comment typo,
	explicitely -> explicitly.
	* tree-ssa-forwprop.cc (_vec_perm_simplify_seq::stmt): Fix comment
	typo, statment -> statement.
	(narrow_vec_perm_simplify_seq): Fix message typo, statment
	-> statement.
	(blend_vec_perm_simplify_seqs): Likewise.
	* tree-ssa-pre.cc (compute_antic_aux): Fix comment typo, explicitely
	-> explicitly.
	* tree-vect-loop-manip.cc (vect_do_peeling): Fix comment typo,
	refering -> referring.
	* tree-vect-patterns.cc: Fix comment typo, transfered -> transferred.
	* tree-vect-slp.cc (vect_build_slp_tree_2): Fix comment typo,
	explicitely -> explicitly.
	(vect_build_slp_instance): Fix comment typo, transfered
	-> transferred.
	(vect_optimize_slp_pass::build_vertices): Fix comment typo,
	explicitely -> explicitly.
	(vect_slp_analyze_node_operations): Likewise.  Fix comment typo,
	refering -> referring.
	* tree-vect-stmts.cc (vectorizable_store): Fix comment typo, catched
	-> caught.
	* vec.h (auto_vec::auto_vec): Fix comment typo, refering -> referring.

2025-12-19  Robin Dapp  <rdapp@qti.qualcomm.com>

	PR target/122970
	* config/riscv/riscv-v.cc (expand_const_vector_interleaved_stepped_npatterns):
	Reinterpret base as smaller type.

2025-12-19  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/riscv-v.cc (expand_vector_subreg_extract): New
	function that checks for and performs "vector extracts".
	(legitimize_move): Call new function.

2025-12-19  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/autovec.md: Ditto.
	* config/riscv/autovec-opt.md: Add VLS modes.
	* config/riscv/vector-crypto.md: Ditto.
	* config/riscv/vector-iterators.md: Ditto.
	* config/riscv/vector.md (@pred_ffs<VB:mode><P:mode>): Ditto.
	(@pred_ffs<VB_VLS:mode><P:mode>): Ditto.

2025-12-19  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Rename.
	* config/riscv/riscv-protos.h (riscv_v_ext_vector_mode_p):
	Rename.
	(riscv_v_ext_tuple_mode_p): Ditto.
	(riscv_v_ext_vls_mode_p): Ditto.
	(riscv_vla_mode_p): To new name.
	(riscv_tuple_mode_p): Ditto.
	(riscv_vls_mode_p): Ditto.
	* config/riscv/riscv-selftests.cc (run_const_vector_selftests):
	Use new name.
	(BROADCAST_TEST): Ditto.
	* config/riscv/riscv-v.cc (imm_avl_p): Ditto.
	(legitimize_move): Ditto.
	(get_vlmul): Ditto.
	(get_vlmax_rtx): Ditto.
	(get_nf): Ditto.
	(get_subpart_mode): Ditto.
	(get_ratio): Ditto.
	(get_mask_mode): Ditto.
	(get_vector_mode): Ditto.
	(get_tuple_mode): Ditto.
	(can_find_related_mode_p): Ditto.
	(cmp_lmul_le_one): Ditto.
	(cmp_lmul_gt_one): Ditto.
	(vls_mode_valid_p): Ditto.
	* config/riscv/riscv-vector-builtins-bases.cc: Ditto.
	* config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher): Ditto.
	(register_builtin_type): Ditto.
	* config/riscv/riscv-vector-costs.cc (max_number_of_live_regs):
	Ditto.
	(compute_estimated_lmul): Ditto.
	(costs::costs): Ditto.
	(costs::better_main_loop_than_p): Ditto.
	(costs::adjust_stmt_cost): Ditto.
	* config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Ditto.
	(riscv_vla_mode_p): Ditto.
	(riscv_v_ext_tuple_mode_p): Ditto.
	(riscv_tuple_mode_p): Ditto.
	(riscv_v_ext_vls_mode_p): Ditto.
	(riscv_vls_mode_p): Ditto.
	(riscv_v_ext_mode_p): Ditto.
	(riscv_vector_mode_p): Ditto.
	(riscv_v_adjust_nunits): Ditto.
	(riscv_v_adjust_bytesize): Ditto.
	(riscv_classify_address): Ditto.
	(riscv_legitimate_address_p): Ditto.
	(riscv_address_insns): Ditto.
	(riscv_const_insns): Ditto.
	(riscv_legitimize_move): Ditto.
	(riscv_binary_cost): Ditto.
	(riscv_rtx_costs): Ditto.
	(riscv_pass_vls_aggregate_in_gpr): Ditto.
	(riscv_get_vector_arg): Ditto.
	(riscv_pass_vls_in_vr): Ditto.
	(riscv_get_arg_info): Ditto.
	(riscv_pass_by_reference): Ditto.
	(riscv_vector_required_min_vlen): Ditto.
	(riscv_get_v_regno_alignment): Ditto.
	(riscv_print_operand): Ditto.
	(riscv_secondary_memory_needed): Ditto.
	(riscv_hard_regno_nregs): Ditto.
	(riscv_hard_regno_mode_ok): Ditto.
	(riscv_modes_tieable_p): Ditto.
	(riscv_can_change_mode_class): Ditto.
	(riscv_vector_mode_supported_p): Ditto.
	(riscv_regmode_natural_size): Ditto.
	(riscv_get_mask_mode): Ditto.
	(riscv_vectorize_preferred_vector_alignment): Ditto.
	(riscv_vectorize_vec_perm_const): Ditto.
	(get_common_costs): Ditto.
	(riscv_preferred_else_value): Ditto.

2025-12-19  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/autovec.md (mask_len_gather_load<RATIO64:mode><RATIO64I:mode>):
	Change from this...
	(mask_len_gather_load<mode><vindex>): ...to this.
	(mask_len_gather_load<RATIO32:mode><RATIO32I:mode>): Ditto.
	(mask_len_gather_load<mode><vindex_double_trunc>): Ditto.
	(mask_len_gather_load<RATIO16:mode><RATIO16I:mode>): Ditto.
	(mask_len_gather_load<mode><vindex_quad_trunc>): Ditto.
	(mask_len_gather_load<RATIO8:mode><RATIO8I:mode>): Ditto.
	(mask_len_gather_load<mode><vindex_oct_trunc>): Ditto.
	(mask_len_gather_load<RATIO4:mode><RATIO4I:mode>): Ditto.
	(mask_len_gather_load<mode><vindex_double_ext>): Ditto.
	(mask_len_gather_load<RATIO2:mode><RATIO2I:mode>): Ditto.
	(mask_len_gather_load<mode><vindex_quad_ext>): Ditto.
	(mask_len_gather_load<mode><mode>): Ditto.
	(mask_len_gather_load<mode><vindex_oct_ext>): Ditto.
	(mask_len_scatter_store<RATIO64:mode><RATIO64I:mode>): Ditto.
	(mask_len_scatter_store<mode><vindex>): Ditto.
	(mask_len_scatter_store<RATIO32:mode><RATIO32I:mode>): Ditto.
	(mask_len_scatter_store<mode><vindex_double_trunc>): Ditto.
	(mask_len_scatter_store<RATIO16:mode><RATIO16I:mode>): Ditto.
	(mask_len_scatter_store<mode><vindex_quad_trunc>): Ditto.
	(mask_len_scatter_store<RATIO8:mode><RATIO8I:mode>): Ditto.
	(mask_len_scatter_store<mode><vindex_oct_trunc>): Ditto.
	(mask_len_scatter_store<RATIO4:mode><RATIO4I:mode>): Ditto.
	(mask_len_scatter_store<mode><vindex_double_ext>): Ditto.
	(mask_len_scatter_store<RATIO2:mode><RATIO2I:mode>): Ditto.
	(mask_len_scatter_store<mode><vindex_quad_ext>): Ditto.
	(mask_len_scatter_store<mode><mode>): Ditto.
	(mask_len_scatter_store<mode><vindex_oct_ext>): Ditto.
	* config/riscv/riscv-v.cc (prepare_gather_scatter): Use new
	scheme
	(get_gather_scatter_code): Ditto.
	(expand_gather_scatter): Ditto.
	* config/riscv/riscv-vector-builtins-bases.cc: Ditto.
	* config/riscv/vector-iterators.md: Ditto.
	* config/riscv/vector.md (@pred_indexed_<order>store<RATIO64:mode><RATIO64I:mode>):
	Go from this...
	(@pred_indexed_<order>store<mode>_same_eew): ...to this.
	(@pred_indexed_<order>store<RATIO32:mode><RATIO32I:mode>):
	Ditto.
	(@pred_indexed_<order>store<mode>_x2_greater_eew): Ditto.
	(@pred_indexed_<order>store<RATIO16:mode><RATIO16I:mode>):
	Ditto.
	(@pred_indexed_<order>store<mode>_x4_greater_eew): Ditto.
	(@pred_indexed_<order>store<RATIO8:mode><RATIO8I:mode>): Ditto.
	(@pred_indexed_<order>store<mode>_x8_greater_eew): Ditto.
	(@pred_indexed_<order>store<RATIO4:mode><RATIO4I:mode>): Ditto.
	(@pred_indexed_<order>store<mode>_x2_smaller_eew): Ditto.
	(@pred_indexed_<order>store<RATIO2:mode><RATIO2I:mode>): Ditto.
	(@pred_indexed_<order>store<mode>_x4_smaller_eew): Ditto.
	(@pred_indexed_<order>store<RATIO1:mode><RATIO1:mode>): Ditto.
	(@pred_indexed_<order>store<mode>_x8_smaller_eew): Ditto.

2025-12-19  Robin Dapp  <rdapp@qti.qualcomm.com>

	PR tree-optimization/123118
	* tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Check that
	the type sign is equal.

2025-12-19  Robin Dapp  <rdapp@qti.qualcomm.com>

	PR tree-optimization/123117
	* tree-ssa-forwprop.cc (simplify_vector_constructor):
	Check if we had a nop conversion and don't use pack/unpack in
	that case.

2025-12-19  Robin Dapp  <rdapp@qti.qualcomm.com>

	* doc/md.texi: Use unicode quotation marks.

2025-12-19  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/autovec.md (<cbranch_optab><mode>): Implement.
	* config/riscv/predicates.md (riscv_cbranch_comparison_operator):
	Define.
	* config/riscv/vector-iterators.md: New iterators.

2025-12-19  Robin Dapp  <rdapp@ventanamicro.com>

	* optabs.cc (emit_cmp_and_jump_insns): Fix len/bias operands.

2025-12-19  Robin Dapp  <rdapp@ventanamicro.com>

	PR tree-optimization/123097
	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	Calculate vector size by number of elements * bit size per
	element.

2025-12-19  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/123223
	* lra-constraints.cc (match_reload, curr_insn_transform): Check
	rtx on REG when testing scratch pseudos.

2025-12-19  Jeff Law  <jlaw@ventanamicro.com>

	* config/h8300/h8300.cc (output_logical_op): Adjust last argument to
	be a pattern, not an insn.  Corresponding implementation changes.
	(output_shift_loop): Extracted from output_a_shift and improved
	to use a sentinel to indicate when to stop the loop.
	(output_a_shift): Use output_shift_loop.
	(compute_a_shift_length): Handle adjusted shift loop code.
	* config/h8300/logical.md (logicals): Pass pattern to output_logical_op
	rather then the full insn.
	* config/h8300/h8300-protos.h (output_logical_op): Update prototype.

2025-12-19  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/123205
	* gimple-range-gori.cc (gori_compute::may_recompute_p): Only
	recompute range-op statements.
	* gimple-range-op.cc (gimple_range_op_handler): Default
	recomputation to true.
	(maybe_builtin_call): CFN_BUILT_IN_CONSTANT_P should not be
	recomputable.
	* gimple-range-op.h (recomputable_p): New.
	(recomputable_p): New.

2025-12-19  Tobias Burnus  <tburnus@baylibre.com>

	* tree-pretty-print.cc (dump_omp_clause): For uses_allocators,
	print modifier before allocator variable.

2025-12-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/predicates.md (xtensa_cstoresi_operator):
	Change it to include unsigned comparisons only when TARGET_SALT is
	enabled.

2025-12-19  Jakub Jelinek  <jakub@redhat.com>

	PR debug/122968
	* dwarf2out.cc (premark_used_variables): Handle "structured bindings"
	attribute.
	(dwarf2out_late_global_decl): Likewise.

2025-12-19  Jakub Jelinek  <jakub@redhat.com>

	* doc/install.texi (--with-tls=): Fix a typo, were -> where.

2025-12-19  Alexandre Oliva  <oliva@gnu.org>

	PR target/55212
	* lra-constraints.cc (match_reload): Treat former scratch
	regs as implicit unused output reloads.
	(process_alt_operands): Likewise.
	(curr_insn_transform): Likewise.

2025-12-19  Lewis Hyatt  <lhyatt@gmail.com>

	PR bootstrap/12407
	* doc/install.texi (--enable-languages): Document the new language
	exclusion feature.

2025-12-18  Tobias Burnus  <tburnus@baylibre.com>

	* gimplify.cc (gimplify_scan_omp_clauses): Handle
	OpenMP device_type clause.
	* omp-low.cc (scan_sharing_clauses): Likewise.
	(lower_omp_target): Print 'sorry, unimplemented' for
	device_type clause value other than 'any'.

2025-12-18  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
	__ARM_FEATURE_SVE_PREDICATE_OPERATORS.

2025-12-18  Victor Do Nascimento  <victor.donascimento@arm.com>

	PR tree-optimization/123153
	* tree-vect-loop-manip.cc
	(slpeel_tree_duplicate_loop_to_edge_cfg): use
	profile_probability::even () for even likelihood.

2025-12-18  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64-option-extensions.def (sme-lutv2): Fix
	feature string.

2025-12-18  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64-arches.def: Add armv9.6-a.
	* config/aarch64/aarch64-option-extensions.def:
	(sve-aes): Update to be enables by smeaes.
	(sve-bitperm): Update to be enables by smesbitperm.
	(fprcvt): New cli extension option.
	(lsfe): Likewise.
	(f8f32mm): Likewise.
	(f8f16mm): Likewise.
	(sme2p2): Likewise.
	(sve2p2): Likewise.
	(sve-aes2): Likewise.
	(sve-f16f32mm): Likewise.
	(sve-bfscale): Likewise.
	(ssve-aes): Likewise.
	(lsui): Likewise.
	(occmo): Likewise.
	(pcdphint): Likewise.
	(pops): Likewise.
	(ssve-bitperm): Likewise.
	(ssve-fexpa): Likewise.
	(sme-mop4): Likewise.
	(sme-tmop): Likewise.

2025-12-18  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64-option-extensions.def
	(sve-aes): New cli extension option.
	(sve2-aes): Changed to be alias of sve2+sve-aes2.
	(sve-bitperm): New cli extension option.
	(sve2-bitperm): Changed to be alias of sve2+sve-bitperm.
	(sve-sm4): New cli extension option.
	(sve2-sm4): Changed to be alias of sve2+sve-sm4.
	(sve-sm4): New cli extension option.
	(sve2-sm4): Changed to be alias of sve2+sve-sm4.
	* config/aarch64/aarch64.h (TARGET_SVE2_AES): Updated to require
	sve2+sve-aes.
	(TARGET_SVE2_BITPERM): Updated to require sve2+sve-bitperm.
	(TARGET_SVE2_SHA3): Updated to require sve2+sve-sha3.
	(TARGET_SVE2_SM4): Updated to require sve2+sve-sm4
	* config/aarch64/aarch64-sve-builtins-sve2.def: Update gating for sve2-X
	intrinsics.

2025-12-18  Alfie Richards  <alfie.richards@arm.com>

	* common/config/aarch64/aarch64-common.cc
	(struct aarch64_extension_info): Add flags_alias_preferred_over.
	(AARCH64_OPT_EXTENSION): Add setting flags preferred over to 0.
	(AARCH64_OPT_EXTENSION_ALIAS): New macro def.
	(aarch64_get_extension_string_for_isa_flags): Update to use alias
	extensions over constituent extensions.
	* config/aarch64/aarch64-feature-deps.h (alias_flags): New variable
	(AARCH64_OPT_EXTENSION): New macro def.
	(AARCH64_OPT_EXTENSION_ALIAS): New macro def.
	(HANDLE): Update to use alias_flags.
	(AARCH64_CORE): Update to use alias_flags.
	* config/aarch64/aarch64-option-extensions.def
	(AARCH64_OPT_EXTENSION_ALIAS): New macro def to
	define alias_prefer_over_flags_X.
	(crypto): Update to us AARCH64_OPT_EXTENSION_ALIAS.

2025-12-18  WANG Xuerui  <git@xen0n.name>

	PR target/123171
	* config/loongarch/loongarch.cc (loongarch_option_restore): Add
	missing update to la_target.isa.base.

2025-12-18  chenxiaolong  <chenxiaolong@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_modes_tieable_p):
	Add support for vector conversion.

2025-12-18  Senthil Kumar Selvaraj  <saaadhu@gcc.gnu.org>

	* opts-common.cc (jobserver_info::jobserver_info): Do not skip
	negative file descriptors in simple UNIX pipe mode.

2025-12-18  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122734
	* tree-ssa-loop-ch.cc (should_duplicate_loop_header_p): Remove
	check on very_unlikely probability.

2025-12-18  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* predict.cc (unlikely_executed_stmt_p): Fix up return for
	__builtin_unreachable/__builtin_trap.

2025-12-18  Alexandre Oliva  <oliva@adacore.com>

	* var-tracking.cc (vt_expand_var_loc_chain): Prepare to exit
	the loop after unsuitable_loc.

2025-12-17  H.J. Lu  <hjl.tools@gmail.com>

	PR target/122343
	* cselib.cc (cselib_redundant_set_p): Return false for volatile
	memory source or destination.

2025-12-17  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.cc (avr_out_shift_with_cnt): Tweak
	execution time by count-1 cycles in some cases.

2025-12-17  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr-protos.h (out_shift_with_cnt): Remove.
	* config/avr/avr.cc (avr_out_shift_with_cnt): New static
	function from out_shift_with_cnt: Pass shift rtx_code instead
	of asm template.
	(avr_out_shift_1): New static helper function.
	(ashlqi3_out, ashlhi3_out, avr_out_ashlpsi3, ashlsi3_out)
	(ashrqi3_out, ashrhi3_out, avr_out_ashrpsi3, ashrsi3_out)
	(lshrqi3_out, lshrhi3_out, avr_out_lshrpsi3, lshrsi3_out):
	Adjust avr_out_shift_with_cnt to new interface.

2025-12-17  Jeff Law  <jeffrey.law@oss.qualcomm.com>

	* config/riscv/sync.md (atomic compare and set): Reorder patterns
	so the stricter pattern comes first.

2025-12-17  Jakub Jelinek  <jakub@redhat.com>

	PR target/123155
	* config/i386/xmmintrin.h (_mm_maskmove_si64): Rename offset automatic
	variable to __offset.

2025-12-17  Jakub Jelinek  <jakub@redhat.com>

	PR target/123155
	* config/i386/avx10_2bf16intrin.h (_mm512_roundscale_pbh,
	_mm512_mask_roundscale_pbh, _mm512_maskz_roundscale_pbh,
	_mm256_roundscale_pbh, _mm256_mask_roundscale_pbh,
	_mm256_maskz_roundscale_pbh, _mm_roundscale_pbh,
	_mm_mask_roundscale_pbh, _mm_maskz_roundscale_pbh,
	_mm512_reduce_pbh, _mm512_mask_reduce_pbh, _mm512_maskz_reduce_pbh,
	_mm256_reduce_pbh, _mm256_mask_reduce_pbh, _mm256_maskz_reduce_pbh,
	_mm_reduce_pbh, _mm_mask_reduce_pbh, _mm_maskz_reduce_pbh): Rename
	B argument to __B.

2025-12-17  Umesh Kalvakuntla  <umesh.kalvakuntla@amd.com>

	* common/config/i386/cpuinfo.h (get_amd_cpu): Add znver6 1Ah
	family model numbers.
	(get_available_features): Set feature AVX512BMM.
	* common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512BMM_SET):
	New macro.
	(OPTION_MASK_ISA2_AVX512BMM_UNSET): New macro.
	(OPTION_MASK_ISA2_AVX512BW_UNSET): Unset AVX512BMM.
	(ix86_handle_option): Likewise.
	* common/config/i386/i386-cpuinfo.h (enum processor_subtypes):
	Add AMDFAM1AH_ZNVER6.
	(enum processor_features): Add FEATURE_AVX512BMM.
	* common/config/i386/i386-isas.h: Likewise.
	* config.gcc: Add avx512bmmintrin.h, avx512bmmvlintrin.h,
	znver6.
	* config/i386/cpuid.h (bit_AVX512BMM): New macro.
	* config/i386/driver-i386.cc (host_detect_local_cpu): Likewise.
	* config/i386/i386-builtin.def (BDESC): Add AVX512BMM builtins.
	* config/i386/i386-c.cc (ix86_target_macros_internal): Likewise.
	* config/i386/i386-isa.def (AVX512BMM): Likewise.
	* config/i386/i386-options.cc (m_ZNVER6): New macro.
	(m_ZNVER): Add m_ZNVER6.
	(processor_cost_table): Uses znver5_cost table for
	PROCESSOR_ZNVER6 for now.
	(ix86_valid_target_attribute_inner_p): Likewise.
	* config/i386/i386.cc (ix86_reassociation_width): Likewise.
	* config/i386/i386.h (enum processor_type): Likewise.
	* config/i386/i386.md: Likewise.
	* config/i386/i386.opt: Likewise.
	* config/i386/i386.opt.urls: Likewise.
	* config/i386/immintrin.h: Likewise.
	* config/i386/sse.md (avx512bmm_vbmacor16x16x16_<mode>): New
	define_insn.
	(avx512bmm_vbmacxor16x16x16_<mode>): Likewise.
	(avx512bmm_vbitrevb_<mode>_mask): Likewise.
	(avx512bmm_vbitrevb_<mode>): Likewise.
	* config/i386/x86-tune-sched.cc (ix86_issue_rate): Likewise.
	(ix86_adjust_cost): Likewise.
	* config/i386/x86-tune.def (X86_TUNE_FUSE_ALU_AND_BRANCH): Add
	m_ZNVER6.
	(X86_TUNE_FUSE_MOV_AND_ALU): Likewise.
	(X86_TUNE_USE_SCATTER_2PARTS): Likewise.
	(X86_TUNE_USE_SCATTER_4PARTS): Likewise.
	(X86_TUNE_USE_SCATTER_8PARTS): Likewise.
	(X86_TUNE_AVOID_256FMA_CHAINS): Likewise.
	(X86_TUNE_AVOID_512FMA_CHAINS): Likewise.
	(X86_TUNE_AVX512_MOVE_BY_PIECES): Likewise.
	* doc/extend.texi: Likewise.
	* doc/invoke.texi: Likewise.
	* config/i386/avx512bmmintrin.h: New file.
	* config/i386/avx512bmmvlintrin.h: New file.

2025-12-16  Iain Sandoe  <iain@sandoe.co.uk>

	* config/aarch64/aarch64.cc
	(aarch64_function_abi): Use checking assert.
	(aarch64_fndecl_abi): Test for the availability of the
	machine content before trying to look up the cached PCS.
	Use a checking assert.

2025-12-16  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* common.opt.urls: Regenerate.

2025-12-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.cc (xtensa_expand_scc_SALT):
	New sub-function that emits the SALT/SALTU instructions.
	(xtensa_expand_scc): Change the part related to the SALT/SALTU
	instructions to a call to the above sub-function.

2025-12-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.cc
	(xtensa_expand_block_set_libcall,
	xtensa_expand_block_set_unrolled_loop,
	xtensa_expand_block_set_small_loop, xtensa_call_tls_desc):
	Change the return statement to pass the return value of
	end_sequence() directly without going through a variable, and
	remove the definition of that variable.

2025-12-16  Claudiu Zissulescu  <claudiu.zissulescu-ianculescu@oracle.com>
	    Indu Bhagat  <indu.bhagat@oracle.com>

	* config/aarch64/aarch64.md (addg): Update pattern to use
	addg/subg instructions.
	(stg): Update pattern.
	(st2g): New pattern.
	(tag_memory): Likewise.
	(compose_tag): Likewise.
	(irq): Update pattern to accept xzr register.
	(gmi): Likewise.
	(UNSPECV_TAG_SPACE): Define.
	* config/aarch64/aarch64.cc (AARCH64_MEMTAG_GRANULE_SIZE):
	Define.
	(AARCH64_MEMTAG_TAG_BITSIZE): Likewise.
	(aarch64_override_options_internal): Error out if MTE instructions
	are not available.
	(aarch64_post_cfi_startproc): Emit .cfi_mte_tagged_frame.
	(aarch64_can_tag_addresses): Add MEMTAG specific handling.
	(aarch64_memtag_tag_bitsize): New function
	(aarch64_memtag_granule_size): Likewise.
	(aarch64_memtag_insert_random_tag): Likwise.
	(aarch64_memtag_add_tag): Likewise.
	(aarch64_memtag_extract_tag): Likewise.
	(aarch64_granule16_memory_address_p): Likewise.
	(aarch64_emit_stxg_insn): Likewise.
	(aarch64_memtag_tag_memory_via_loop): New definition.
	(aarch64_expand_tag_memory): Likewise.
	(aarch64_check_memtag_ops): Likewise.
	(TARGET_MEMTAG_TAG_BITSIZE): Likewise.
	(TARGET_MEMTAG_GRANULE_SIZE): Likewise.
	(TARGET_MEMTAG_INSERT_RANDOM_TAG): Likewise.
	(TARGET_MEMTAG_ADD_TAG): Likewise.
	(TARGET_MEMTAG_EXTRACT_TAG): Likewise.
	* config/aarch64/aarch64-builtins.cc
	(aarch64_expand_builtin_memtag): Update set tag builtin logic.
	* config/aarch64/aarch64-linux.h: Pass memtag-stack sanitizer
	specific options to the linker.
	* config/aarch64/aarch64-protos.h
	(aarch64_granule16_memory_address_p): New prototype.
	(aarch64_check_memtag_ops): Likewise.
	(aarch64_expand_tag_memory): Likewise.
	* config/aarch64/constraints.md (Umg): New memory constraint.
	(Uag): New constraint.
	(Ung): Likewise.
	* config/aarch64/predicates.md (aarch64_memtag_tag_offset):
	Refactor it.
	(aarch64_granule16_imm6): Rename from aarch64_granule16_uimm6 and
	refactor it.
	(aarch64_granule16_memory_operand): New constraint.
	* config/aarch64/iterators.md (MTE_PP): New code iterator to be
	used for mte instructions.
	(stg_ops): New code attributes.
	(st2g_ops): Likewise.
	(mte_name): Likewise.
	* config/aarch64/aarch64.opt (aarch64-tag-memory-loop-threshold):
	New parameter.
	* doc/invoke.texi: Update documentation.

2025-12-16  Claudiu Zissulescu  <claudiu.zissulescu-ianculescu@oracle.com>
	    Indu Bhagat  <indu.bhagat@oracle.com>

	* asan.cc (handle_builtin_stack_restore): Accommodate MEMTAG
	sanitizer.
	(handle_builtin_alloca): Expand differently if MEMTAG sanitizer.
	(get_mem_refs_of_builtin_call): Include MEMTAG along with
	HWASAN.
	(memtag_sanitize_stack_p): New definition.
	(memtag_sanitize_allocas_p): Likewise.
	(memtag_memintrin): Likewise.
	(hwassist_sanitize_p): Likewise.
	(hwassist_sanitize_stack_p): Likewise.
	(report_error_func): Include MEMTAG along with HWASAN.
	(build_check_stmt): Likewise.
	(instrument_derefs): MEMTAG too does not deal with globals yet.
	(instrument_builtin_call): Include MEMTAG along with HWASAN.
	(maybe_instrument_call): Likewise.
	(asan_expand_mark_ifn): Likewise.
	(asan_expand_check_ifn): Likewise.
	(asan_expand_poison_ifn): Expand differently if MEMTAG sanitizer.
	(asan_instrument): Include MEMTAG along with HWASAN.
	(hwasan_emit_prologue): Expand differently if MEMTAG sanitizer.
	(hwasan_emit_untag_frame): Likewise.
	* asan.h (memtag_sanitize_stack_p): New declaration.
	(memtag_sanitize_allocas_p): Likewise.
	(hwassist_sanitize_p): Likewise.
	(hwassist_sanitize_stack_p): Likewise.
	(asan_sanitize_use_after_scope): Include MEMTAG along with
	HWASAN.
	* cfgexpand.cc (align_local_variable): Likewise.
	(expand_one_stack_var_at): Likewise.
	(expand_stack_vars): Likewise.
	(expand_one_stack_var_1): Likewise.
	(init_vars_expansion): Likewise.
	(expand_used_vars): Likewise.
	(pass_expand::execute): Likewise.
	* gimplify.cc (asan_poison_variable): Likewise.
	* internal-fn.cc (expand_HWASAN_ALLOCA_POISON): New definition.
	(expand_HWASAN_ALLOCA_UNPOISON): Expand differently if MEMTAG
	sanitizer.
	(expand_HWASAN_MARK): Likewise.
	* internal-fn.def (HWASAN_ALLOCA_POISON): Define new.
	* params.opt: Document new param.
	* sanopt.cc (pass_sanopt::execute): Include MEMTAG along with
	HWASAN.
	* gcc.cc (sanitize_spec_function): Add check for memtag-stack.
	* doc/tm.texi: Regenerate.
	* target.def (extract_tag): Update documentation.
	(add_tag): Likewise.
	(insert_random_tag): Likewise.

2025-12-16  Indu Bhagat  <indu.bhagat@oracle.com>
	    Claudiu Zissulescu  <claudiu.zissulescu-ianculescu@oracle.com>

	* builtins.def: Adjust the macro to include the new
	SANTIZIE_MEMTAG_STACK.
	* flag-types.h (enum sanitize_code): Add new enumerator for
	SANITIZE_MEMTAG and SANITIZE_MEMTAG_STACK.
	* opts.cc (finish_options): memtag-stack sanitizer conflicts with
	hwaddress and address sanitizers.
	(sanitizer_opts): Add new memtag-stack sanitizer.
	(parse_sanitizer_options): memtag-stack sanitizer cannot recover.
	* params.opt: Add new params for memtag-stack sanitizer.
	* doc/invoke.texi: Update documentation.

2025-12-16  Claudiu Zissulescu  <claudiu.zissulescu-ianculescu@oracle.com>

	* target-insns.def (compose_tag): New target instruction.
	* doc/md.texi (compose_tag): Add documentation.

2025-12-16  Claudiu Zissulescu  <claudiu.zissulescu-ianculescu@oracle.com>

	* target-insns.def (tag_memory): New target instruction.
	* doc/md.texi (tag_memory): Add documentation.

2025-12-16  Jennifer Schmitz  <jschmitz@nvidia.com>

	* config/aarch64/aarch64.md: Include olympus.md.
	* config/aarch64/olympus.md: New file.
	* config/aarch64/tuning_models/olympus.h: Add dispatch
	constraints and enable dispatch scheduling.

2025-12-16  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>

	* haifa-sched.cc (choose_ready): Don't require dfa_lookahead <= 0
	to schedule SCHED_GROUP_P insns first.

2025-12-16  Richard Biener  <rguenther@suse.de>

	PR ipa/122456
	* cgraph.cc (cgraph_edge::resolve_speculation): Handle
	a NULL symtab_node::get (callee_decl).

2025-12-16  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/123110
	* tree-cfgcleanup.cc (maybe_remove_forwarder_block): Add back
	check for eh landing pad or non-local dest on the dest.

2025-12-16  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/123111
	* tree-cfg.cc (ifconvertable_edge): New function.
	(make_forwarders_with_degenerate_phis):	Add skip_ifcvtable argument,
	check ifconvertable_edge if skip_ifcvtable is true.
	* tree-cfg.h (make_forwarders_with_degenerate_phis): New argument
	with default of false.
	* tree-cfgcleanup.cc (execute_cleanup_cfg_post_optimizing): Update
	argument to make_forwarders_with_degenerate_phis.

2025-12-15  Martin Jambor  <mjambor@suse.cz>

	PR ipa/107666
	* common.opt (fspeculatively-call-stored-functions): New.
	* cgraph.h (cgraph_simple_indirect_info): New fields rec_type and
	fld_offset.
	* ipa-prop.h (ipa_analyze_var_static_initializer): Declare.
	(ipa_dump_noted_record_fnptrs): Likewise.
	(ipa_debug_noted_record_fnptrs): Likewise.
	(ipa_single_noted_fnptr_in_record): Likewise.
	(ipa_free_noted_fnptr_calls): Likewise.
	* ipa-cp.cc (ipcp_generate_summary): Call
	ipa_analyze_var_static_initializer on each varbool node with a static
	initializer.
	* ipa-devirt.cc (struct devirt_stats): New type.
	(devirt_target_ok_p): New function.
	(ipa_devirt): Move statistics counters to the new structure.  dump
	noted function pointers stored in records.  Check for edge hotness
	first and for odr_types only for polymorphic edges.  Moved a number of
	checks to devirt_target_ok_p.  Also add speculative direct calls for
	non-polymorphic indirect ones when ipa_single_noted_fnptr_in_record
	finds a likely target.  Call ipa_free_noted_fnptr_calls.
	(pass_ipa_devirt::gate): Also check the new flag.
	* ipa-prop.cc (noted_fnptr_store): New type.
	(struct noted_fnptr_hasher): Likewise.
	(noted_fnptr_hasher::hash): New function.
	(noted_fnptr_hasher::equal): Likewise.
	(noted_fnptrs_in_records): New.
	(is_func_ptr_from_record): New function.
	(ipa_analyze_indirect_call_uses): Also simple create indirect info
	structures with fnptr_loaded_from_record set.
	(note_fnptr_in_record): New function.
	(ipa_dump_noted_record_fnptrs): Likewise.
	(ipa_debug_noted_record_fnptrs): Likewise.
	(ipa_single_noted_fnptr_in_record): Likewise.
	(ipa_free_noted_fnptr_calls): Likewise.
	(ipa_analyze_stmt_uses): Also look for stroes of function pointers to
	record structures.
	(ipa_analyze_var_static_initializer): New function.
	(ipa_write_indirect_edge_info): Also stream fnptr_loaded_from_record
	indirec infos.
	(ipa_read_indirect_edge_info): Likewise.
	(ipa_prop_write_jump_functions): Also stream the contents of
	noted_fnptrs_in_records.
	(ipa_prop_read_section): Likewise.
	* opts.cc (default_options_table): Also turn on
	OPT_fspeculatively_call_stored_functions at -O2.
	(common_handle_option): Turn flag_speculatively_call_stored_functions
	when using profile feedback.
	* doc/invoke.texi (-fspeculatively-call-stored-functions): New.

2025-12-15  Martin Jambor  <mjambor@suse.cz>

	* cgraph.h (cgraph_node): Adjust the comment of member function
	create_indirect_edge.
	(enum cgraph_indirect_info_kind): New.
	(cgraph_indirect_call_info): Convert into a base class.
	(cgraph_simple_indirect_info): New.
	(cgraph_polymorphic_indirect_info): Likewise.
	(usable_polymorphic_info_p): Likewise.
	(is_a_helper <cgraph_simple_indirect_info *>::test): Likewise.
	(is_a_helper <cgraph_polymorphic_indirect_info *>::test): Likewise.
	(cgraph_allocate_init_indirect_info): Remove declaration.
	(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Use the
	appropriate derived type of indirect info.
	* cgraph.cc (cgraph_allocate_init_indirect_info): Removed.
	(cgraph_node::create_indirect_edge): Create an appropriate type of
	indirect_info.
	(cgraph_node::dump): Dump indirect info using its dump function.
	(cgraph_indirect_call_info::dump): New function.
	(cgraph_indirect_call_info::debug): Likewise.
	* cgraphclones.cc (cgraph_edge::clone): Create an appropriate type of
	indirect_info.
	* cgraphunit.cc (analyze_functions): Use the appropriate derived type
	of indirect info.
	* ipa-cp.cc (initialize_node_lattices): Adjust the check for
	polymorphic indirect info.
	(ipa_get_indirect_edge_target_1): Use the appropriate derived types of
	indirect info.
	(ipcp_discover_new_direct_edges): Likewise.
	* ipa-devirt.cc (ipa_devirt): Use the polymorphis derived type of
	indirect info and check that it is usable.
	* ipa-inline.cc (dump_inline_stats): Adjust the check for polymorphic
	indirect info.
	* ipa-profile.cc (ipa_profile): Likewise and check usability.
	* ipa-prop.cc (ipa_print_node_jump_functions): Dump indirect info
	using its dumping member function.
	(ipa_note_param_call): Removed.
	(ipa_analyze_indirect_call_uses): Use the appropriate derived type of
	indirect info, set all fields of indirect info separately rather than
	relying on ipa_note_param_call.
	(ipa_analyze_virtual_call_uses): Use the polymorphis derived type of
	indirect info and check that it is usable, set all fields of indirect
	info separately rather than relying on ipa_note_param_call.
	(ipa_analyze_call_uses): Use the appropriate derived type of indirect
	info.
	(ipa_make_edge_direct_to_target): Use the appropriate derived type of
	indirect info.  Remove wrong note that member_ptr check was not
	needed.  Adjust check for polymorphic call when dumping.
	(try_make_edge_direct_simple_call): Use the appropriate derived type
	of indirect info.
	(try_make_edge_direct_virtual_call): Use the polymorphis derived type
	of indirect info and check that it is usable.
	(update_indirect_edges_after_inlining): Use the appropriate derived
	type of indirect info.  Define local variables only before their first
	use.
	(ipa_write_indirect_edge_info): Also stream indirect info kind.  Use
	the appropriate derived type of indirect info.
	(ipa_read_indirect_edge_info): Check that the streamed in indirect
	info kind matches rthe structure at hand.  Use the appropriate derived
	type of indirect info.
	* ipa-utils.h (possible_polymorphic_call_targets): Use the
	polymorphis derived type of indirect info.  Assert it is usable.
	(dump_possible_polymorphic_call_targets): Use the polymorphis
	derived type of indirect info and check it is usable.
	(possible_polymorphic_call_target_p): Likewise.
	* ipa.cc (symbol_table::remove_unreachable_nodes): Use
	usable_polymorphic_info_p.
	* lto-cgraph.cc (lto_output_edge): Stream indirect info kind.
	(compute_ltrans_boundary): Use usable_polymorphic_info_p.
	(input_edge): Move definition of ecf_flags before its first use.
	Pass true as the last parameter to create_indirect_edge.  Stream
	indirect info kind and create a corresponding type to hold the
	information.
	* trans-mem.cc (ipa_tm_insert_gettmclone_call): Use the
	polymorphis derived type of indirect info.

2025-12-15  Martin Jambor  <mjambor@suse.cz>

	* gengtype.cc (walk_subclasses): Avoid generating code with unused
	variables.

2025-12-15  Pengxuan Zheng  <pengxuan.zheng@oss.qualcomm.com>

	PR tree-optimization/122987
	* tree-ssa-ifcombine.cc (ifcombine_ifandif): Replace
	force_gimple_operand_gsi with gimple_build.

2025-12-15  Joseph Myers  <josmyers@redhat.com>

	* Makefile.in (PLUGIN_HEADERS): Add $(srcdir)/text-art/*.h.
	(install-plugin): Preserve directory structure for text-art
	headers.

2025-12-15  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64-cores.def (cortex-a320): New core.
	* config/aarch64/aarch64-tune.md: Regenerate.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vect-loop.cc (vect_analyze_loop_form): Relax niters
	condition.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vect-data-refs.cc (vect_enhance_data_refs_alignment):
	Enable peeling for uncounted loops.
	* tree-vect-loop-manip.cc
	(slpeel_tree_duplicate_loop_to_edge_cfg): Add exit condition
	duplication functionality.
	* tree-vectorizer.h (slpeel_tree_duplicate_loop_to_edge_cfg):
	Modify function signature.
	(vect_do_peeling): Enable uncounted loop peeling.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vect-data-refs.cc (vect_prune_runtime_alias_test_list):
	Reject when !operand_equal_p for any data ref pair.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vect-loop.cc (vect_analyze_loop_2): Disable partial
	vector use for uncounted loops.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vect-loop-manip.cc (slpeel_tree_duplicate_loop_to_edge_cfg):
	reset IVs and accumulators for all exits for uncounted loops.
	* tree-vectorizer.h (slpeel_tree_duplicate_loop_to_edge_cfg):
	add boolean `uncounted_p' argument.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vect-loop-manip.cc (vect_do_peeling): Disable vector
	loop skip checking.
	(vect_loop_versioning): skip profitability check for uncounted loops.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vect-loop-manip.cc (vect_do_peeling): Disable niters
	update.
	* tree-vect-loop.cc (vect_transform_loop): Likewise.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vectorizer.h (LOOP_VINFO_IV_EXIT): Replace this...
	(LOOP_VINFO_MAIN_EXIT): ...with this.
	(LOOP_VINFO_EPILOGUE_IV_EXIT): Replace this...
	(LOOP_VINFO_EPILOGUE_MAIN_EXIT): ...with this.
	(LOOP_VINFO_SCALAR_IV_EXIT): Replace this...
	(LOOP_VINFO_SCALAR_MAIN_EXIT): ...with this.
	(class _loop_vec_info): s/iv/main for `vec_loop_iv_exit',
	`vec_epilogue_loop_main_exit' and `scalar_loop_main_exit'
	class members.
	* tree-vect-data-refs.cc
	(vect_enhance_data_refs_alignment):
	s/LOOP_VINFO_IV_EXIT/LOOP_VINFO_MAIN_EXIT/.
	* tree-vect-loop-manip.cc
	(vect_set_loop_controls_directly): Likewise.
	(vect_gen_vector_loop_niters_mult_vf): Likewise.
	(vect_loop_versioning): Likewise.
	(vect_do_peeling):
	s/LOOP_VINFO_IV_EXIT/LOOP_VINFO_MAIN_EXIT/,
	s/LOOP_VINFO_SCALAR_IV_EXIT/LOOP_VINFO_SCALAR_MAIN_EXIT,
	s/LOOP_VINFO_EPILOGUE_IV_EXIT/LOOP_VINFO_EPILOGUE_MAIN_EXIT.
	* tree-vect-loop.cc (_loop_vec_info::_loop_vec_info):
	s/iv_exit/main_exit/ in initializer list.
	(vec_init_loop_exit_info): Handle multiple-exit uncounted loops.
	(vect_analyze_loop_form): Fix `failure_at' message.
	(vect_create_loop_vinfo):
	s/LOOP_VINFO_IV_EXIT/LOOP_VINFO_MAIN_EXIT/.
	(vect_create_epilog_for_reduction): Likewise.
	(vectorizable_live_operation): Likewise.
	(vect_update_ivs_after_vectorizer_for_early_breaks): Likewise.
	(vect_transform_loop):
	s/LOOP_VINFO_IV_EXIT/LOOP_VINFO_MAIN_EXIT/,
	s/LOOP_VINFO_SCALAR_IV_EXIT/LOOP_VINFO_SCALAR_MAIN_EXIT.
	* tree-vectorizer.cc (set_uid_loop_bbs):
	s/LOOP_VINFO_SCALAR_IV_EXIT/LOOP_VINFO_SCALAR_MAIN_EXIT.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vectorizer.h (LOOP_VINFO_EARLY_BREAKS_VECT_PEELED): OR
	its current definition with `LOOP_VINFO_NITERS_UNCOUNTED_P(L)'
	* tree-vect-loop.cc (vect_create_loop_vinfo): Don't populate
	`LOOP_VINFO_LOOP_IV_COND' for uncounted loops.

2025-12-15  Victor Do Nascimento  <victor.donascimento@arm.com>

	* tree-vect-loop-manip.cc (vect_build_loop_niters): Gracefully
	handle uncounted loops.
	(vect_gen_prolog_loop_niters): Add type default of `sizetype'.
	(vect_gen_vector_loop_niters): Likewise.
	(vect_do_peeling): Likewise.
	* tree-vect-loop.cc (vect_min_prec_for_max_niters): Likewise.
	(loop_niters_no_overflow): Likewise.
	* tree-vectorizer.h (LOOP_VINFO_NITERS_UNCOUNTED_P): New.

2025-12-15  Peter Damianov  <peter0x44@disroot.org>

	PR target/108866
	* doc/install.texi: Document --with-windres configure option.

2025-12-15  Peter Damianov  <peter0x44@disroot.org>

	PR target/108866
	* gcc.cc (find_a_program): Add check for DEFAULT_WINDRES.
	* configure.ac: Add --with-windres= option.
	* config.in: Regenerate.
	* configure: Regenerate.

2025-12-15  Peter Damianov  <peter0x44@disroot.org>

	PR driver/108866
	* gcc.cc (default_compilers): Add EXTRA_DEFAULT_COMPILERS so the config
	of a target can add an extra compiler spec to default_compilers.
	* config/i386/cygming.h (WINDRES_FORMAT_SPEC): New macro to handle
	PE format selection based on TARGET_64BIT_DEFAULT and -m32/-m64 flags.
	(EXTRA_DEFAULT_COMPILERS): Add spec for windres.
	* config/aarch64/cygming.h (EXTRA_DEFAULT_COMPILERS): Likewise.

2025-12-15  Jerry Zhang Jian  <jerry.zhangjian@sifive.com>

	* config/riscv/gen-riscv-ext-opt.cc: Rename UPPERCAE_NAME to
	UPPERCASE_NAME.
	* config/riscv/gen-riscv-ext-texi.cc: Likewise.
	* config/riscv/riscv-ext-corev.def: Likewise.
	* config/riscv/riscv-ext-sifive.def: Likewise.
	* config/riscv/riscv-ext-thead.def: Likewise.
	* config/riscv/riscv-ext-ventana.def: Likewise.

2025-12-14  Lewis Hyatt  <lhyatt@gmail.com>

	PR tree-optimization/106409
	* gimple-ssa-warn-access.cc (maybe_warn_alloc_args_overflow): Adjust
	comment for clarity, and augment check to work in LTO as well.

2025-12-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>

	PR rtl-optimization/122274
	* regcprop.cc (value_data_entry): New field.
	(kill_value_one_regno): Update field.
	(init_value_data): Initialize field.
	(kill_set_value_data): New field.
	(kill_set_value): Update field.
	(kill_autoinc_value): Likewise.
	(copy_value): New parameter. Update field.
	(incompatible_frame_status): New function.
	(find_oldest_value_reg): New parameter. Compare frame relatedness of
	insn and propagated value.
	(replace_oldest_value_reg): Pass additional parameter to
	find_oldest_value_reg().
	(copyprop_hardreg_forward_1): Pass additional parameter to
	find_oldest_value_reg(). Compare frame relatedness of insn and
	propagated value. Call copy_value() with additional parameter.

2025-12-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/46555
	* tree-cfgcleanup.cc (execute_cleanup_cfg_post_optimizing):
	Unconditionally set TODO_cleanup_cfg.

2025-12-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* match.pd: Disable a few match patterns for !GIMPLE.

2025-12-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122734
	* tree-ssa-loop-ch.cc (should_duplicate_loop_header_p): Add new argument,
	canbe_neverexecuted. When canbe_neverexecuted is true, return if a loop
	exit is "never executed" like we are doing an invariant conditional.
	(ch_base::copy_headers): Update call to should_duplicate_loop_header_p.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	* config/alpha/alpha.opt.urls: Regenerated.
	* config/arc/arc.opt.urls: Regenerated.
	* config/arm/arm.opt.urls: Regenerated.
	* config/bpf/bpf.opt.urls: Regenerated.
	* config/c6x/c6x.opt.urls: Regenerated.
	* config/cris/cris.opt.urls: Regenerated.
	* config/csky/csky.opt.urls: Regenerated.
	* config/h8300/h8300.opt.urls: Regenerated.
	* config/i386/i386.opt.urls: Regenerated.
	* config/ia64/ia64.opt.urls: Regenerated.
	* config/lm32/lm32.opt.urls: Regenerated.
	* config/loongarch/loongarch.opt.urls: Regenerated.
	* config/lynx.opt.urls: Regenerated.
	* config/m32r/m32r.opt.urls: Regenerated.
	* config/m68k/m68k.opt.urls: Regenerated.
	* config/mcore/mcore.opt.urls: Regenerated.
	* config/microblaze/microblaze.opt.urls: Regenerated.
	* config/mips/mips.opt.urls: Regenerated.
	* config/mn10300/mn10300.opt.urls: Regenerated.
	* config/moxie/moxie.opt.urls: Regenerated.
	* config/msp430/msp430.opt.urls: Regenerated.
	* config/nds32/nds32.opt.urls: Regenerated.
	* config/or1k/elf.opt.urls: Regenerated.
	* config/pa/pa-hpux.opt.urls: Regenerated.
	* config/pa/pa.opt.urls: Regenerated.
	* config/pdp11/pdp11.opt.urls: Regenerated.
	* config/pru/pru.opt.urls: Regenerated.
	* config/riscv/riscv.opt.urls: Regenerated.
	* config/rs6000/rs6000.opt.urls: Regenerated.
	* config/rs6000/sysv4.opt.urls: Regenerated.
	* config/s390/s390.opt.urls: Regenerated.
	* config/sh/sh.opt.urls: Regenerated.
	* config/sparc/sparc.opt.urls: Regenerated.
	* config/v850/v850.opt.urls: Regenerated.
	* config/vax/vax.opt.urls: Regenerated.
	* config/visium/visium.opt.urls: Regenerated.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <PRU Options>: Fix whitespace
	in option list.
	(PRU Options): Copy-editing.  Index and list negative option forms.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/pdp11/pdp11.opt (m40, m45): Add RejectNegative.
	* doc/invoke.texi (Option Summary) <PDP-11 Options>: Remove
	redundant -mno- forms from the list.
	(PDP-11 Options): Fix some markup issues.  Merge documentation
	of positive and negative forms of -mac0.  Index negative forms
	of -msplit, -mlra.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/or1k/elf.opt (mnewlib): Mark obsolete option as
	"Undocumented".
	* config/or1k/or1k.opt (mcmov): Don't use future tense in doc string.
	(msfimm): Likewise.
	(mshftimm): Likewise.
	* doc/invoke.texi (Option Summary) <OpenRISC Options>: Don't
	document -mnewlib.
	(OpenRISC Options): Likewise.  Add @opindex entry for
	-mno-double-float.  Fix more instances of incorrect use of future
	tense.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <Nvidia PTX Options>: Add
	several missing options.
	(Nvidia PTX Options): Correct index entry for -march-map.  List
	negative forms of -moptimize, muniform-simt, and -mgomp.  Fix some
	Texinfo markup issues.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <NDS32 Options>: Don't list
	both positive and negative option forms.
	(NDS32 Options): Consolidate separate entries for positive and
	negative forms of the same option.  Document missing negative
	forms in the same style.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/msp430/msp430.opt (mcpu): Mark deprecated option as
	"Undocumented".
	(mdevices-csv-loc=): Mark option not intended to be used by users
	as "Undocumented".
	* doc/invoke.texi (Option Summary) <MSP430 Options>: Fill in
	argument syntax for options of the form -mfoo=@var{arg}.  Don't
	list deprecated option -mcpu=.  Add missing entries for
	-mwarn-devices-csv and -muse-lower-region-prefix.
	(MSP430 Options): Similarly document argument syntax in the table
	@item entries.  Add @opindex entries for negative forms.
	Delete documentation of deprecated -mcpu= option.  Add
	documentation for -muse-lower-region-prefix.  Markup and
	copy-editing fixes throughout the section.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <MN10300 Options>: Remove
	redundant -mno- forms from the list.
	(MN10300 Options): Combine the documentation for -mmult-bug,
	-mam33, -mliw, and -msetlb with the entries for the respective
	negative forms.  List and index the negative forms -mno-am33-2,
	-mno-am34, -mno-return-pointer-on-d0, -mno-mul.x.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <MMIX Options>: Remove redundant
	-mno- forms from the list.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/mips/mips.opt (mnoasmopt): Mark as "Undocumented".
	* doc/invoke.texi (Option Summary) <MIPS Options>: Add missing
	entries for -mel/-meb.  Only list one of -mfoo/-mno-foo.
	(MIPS Options):  Document -meb/-mel as synonyms for -EB/-EL.
	Add missing @opindex entries.  Document -mmsa and -mfix4300.
	Minor copy-editing for grammar and jargon issues.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/microblaze/microblaze.opt (Zxl-mode-bootstrap):
	Mark as "Undocumented".
	(Zxl-mode-executable): Likewise.
	(Zxl-mode-novectors): Likewise.
	(Zxl-mode-xilkernel): Likewise.
	(Zxl-mode-xmdstub): Likewise.
	(mxl-stack-check): Likewise.
	(mno-clearbss): Likewise.
	(mxl-mode-executable): Make help string more useful.
	(mxl-mode-xmdstub): Likewise.
	(mxl-mode-bootstrap): Likewise.
	(mxl-mode-novectors): Likewise.
	(mxl-mode-xilkernel): Mark as "Undocumented".
	* doc/invoke.texi (Option Summary) <MicroBlaze Options>: Delete
	entries for obsolete options now explicitly undocumented, and add
	missing -mxl-prefetch option.
	(MicroBlaze Options): Add missing @opindex entries for negative
	option forms and list negative forms explicitly when appropriate.
	Delete documentation for obsolete/deprecated options.  Add
	missing @opindex entries for the m[no-]xml-mode- options.
	Add missing documentation for -mxl-prefetch.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <MCore Options>: Remove
	redundant -no options.
	(MCore Options): Disambiguate documentation for
	-mbig-endian/-mlittle-endian and -m210/-m340.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	PR target/119404
	* config/m68k/m68k.opt (mlra): Fix typo in help string.
	* doc/invoke.texi (Option Summary) <M680x0 Options>: Remove
	redundant -mno- forms from the list.
	(M680x0 Options): Combine documentation for -mshort, mbitfield,
	-msep-data, -mid-shared-library with that for their respective
	negatives that were formerly separately listed.  Add missing
	@opindex entries.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <M32R/D Options>: Remove
	redundant -mno entry.
	(M32R/D Options): Regularize form of @opindex entries for
	various options of the form -mfoo=@var{value}.  Combine
	the documentation for -malign-loops and -mno-align-loops.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (M32C Options): Add missing @opindex for negative
	form.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <LoongArch Options>:
	Remove redundant -mno forms from list.  Fix formatting so that
	there is uniformly two spaces between options on the same line.
	(LoongArch Options): Copy-editing for grammar, etc.  Add
	@opindex for negative forms.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (LM32 Options): Add @opindex entries for negative
	option forms.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/ia64/ia64.opt (msched-prefer-data-spec-insns): Mark as
	explicitly "Undocumented".
	(msched-prefer-non-control-spec-insns): Likewise.
	* doc/invoke.texi (Option Summary) <IA-64 Options>: Remove
	explicitly undocumented and redundant mno- forms from the list.
	(IA-64 Options): Remove documentation for already-deleted option
	-mfused-add and the two explicitly undocumented options.  Add
	@opindex for negative forms and explicitly list the -mno-forms
	of options that are enabled by default.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/pa/pa.opt (mbig-switch): Mark obsolete option as
	"Undocumented".
	(mjump-in-delay): Likewise.
	(mlra): Likewise.
	(mnosnake, msnake): Likewise.
	* doc/invoke.texi (Option Summary) <HPPA Options>: Remove
	deliberately undocumented options from list.  Remove redundant
	negative/positive forms from list.  Fix formatting so there is
	uniformly two spaces between options on the same line.
	(HPPA Options): Remove documentation for obsolete options.
	Add @opindex for negative forms.  Properly list -mwsio instead
	of just referring to it in the -msio docs.  Light copy-editing to
	fix markup, jargon, etc.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/h8300/h8300.opt (mexr, mno-exr): Add FIXME re ambiguity
	for -mno-exr semantics.
	* doc/extend.texi (H8/300 Function Attributes): Document
	monitor and OS_Task attributes.
	* doc/invoke.texi (Option Summary) <H8/300 Options}: Add -msx,
	-ms2600, -mquickcall, -mslowbyte.  Combine -mexr and -mno-exr.
	(H8/300 Options): Likewise.  Add @opindex entries for options
	that have negative forms.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/arc/arc.opt: Mark -mbig-endian, -mlittle-endian,
	-mmixed-code, -mno-mpy, -margonaut, -munalign-prob-threshold=,
	-mannotate-align, -malign-call, -mRcq, -mRcw, -mbbit-peephole,
	-mcompact-casesi, -mq-class, -mexpand-adddi, -mcrc, -mdsp-packa,
	-mdvbf, -mtelephony, -mrtsc, -EB, -EL, -mrla, -mEA, and
	-multcost= as "Undocumented".
	* doc/invoke.texi: Remove documentation for the above options.
	plus -mmac-d16 and -mmac-24 (which were already marked as
	"Undocumented").  Likewise remove documentation for
	-mbarrel_shifter, -mdpfp_compact, -mdpfp_fast, -mdsp_packa,
	-mmac_24, -mmac_d16, -mspfp_compact, and -mspfp_fast, which
	had already been deleted from arc.opt at some point.
	Add index entries for the -mno- forms of remaining options that
	have them.  Document positive forms of -mno-brcc and -mno-dpfp-lrsr.

2025-12-13  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/arc/arc.opt (-mno-brcc, -mno-dpfp-lrsr): Redefine in
	the positive sense.

2025-12-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR ipa/122955
	* cgraph.h (toplevel_node): Add next and previous fields.
	Add chain_next and chain_prev to GTY.
	(symtab_node): Remove next and previous field. Remove chain_next and chain_prev
	from the GTY.
	(asm_node): Remove next field.
	(symtab_node::next_defined_symbol): Use save_as_a<symtab_node*> around next.
	(symbol_table::unregister): Likewise
	(FOR_EACH_SYMBOL): Likewise
	(symbol_table::first_defined_symbol): Likewise
	(symbol_table::first_variable): Likewise
	(symbol_table::next_variable): Likewise
	(symbol_table::first_static_initializer): Likewise
	(symbol_table::next_static_initializer): Likewise
	(symbol_table::first_defined_variable): Likewise
	(symbol_table::next_defined_variable): Likewise
	(symbol_table::first_defined_function): Likewise
	(symbol_table::next_defined_function): Likewise
	(symbol_table::first_function): Likewise
	(symbol_table::next_function): Likewise
	(symbol_table::first_function_with_gimple_body): Likewise
	(symbol_table::next_function_with_gimple_body): Likewise
	* cgraphunit.cc (analyze_functions): Likewise
	(output_in_order): Likewise
	* lto-streamer-out.cc (lto_output): Use save_as_a<asm_node*> around next.
	* symtab.cc (symtab_node::verify_symtab_nodes): Likewise.

2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
	    Tobias Burnus  <tburnus@baylibre.com>
	    Andrew Stubbs  <ams@baylibre.com>

	* gimplify.cc (gimplify_scan_omp_clauses): Handle uses_allocators
	by printing a 'sorry, unimplemented' and removing it.
	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_USES_ALLOCATORS.
	* tree.cc (omp_clause_num_ops, omp_clause_code_name): Likewise.
	* tree-pretty-print.cc (dump_omp_clause): Handle it.
	* tree.h (OMP_CLAUSE_USES_ALLOCATORS_ALLOCATOR,
	OMP_CLAUSE_USES_ALLOCATORS_MEMSPACE,
	OMP_CLAUSE_USES_ALLOCATORS_TRAITS): New.

2025-12-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/103680
	* tree-loop-distribution.cc (destroy_loop): Set probability
	of the exit edge to be always.

2025-12-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/103680
	* tree-cfg.cc (make_forwarders_with_degenerate_phis): Fix
	initial value of the count to new bb.

2025-12-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390.cc (s390_expand_builtin): Warn about
	non-overloaded deprecated builtins.

2025-12-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390-c.cc (s390_adjust_builtin_arglist): Fix
	builtin s390_vec_load_bndry for C++.

2025-12-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390-c.cc (s390_resolve_overloaded_builtin):
	Perform array-to-pointer conversion for C++.

2025-12-12  David Malcolm  <dmalcolm@redhat.com>

	PR analyzer/122003
	* Makefile.in (ANALYZER_OBJS): Add analyzer/ops.o,
	analyzer/supergraph-fixup-locations.o,
	analyzer/supergraph-simplify.o, and analyzer/supergraph-sorting.o.
	* digraph.h (dnode::add_in_edge): New.
	(dnode::remove_in_edge): New.
	(dnode::add_out_edge): New.
	(dnode::remove_out_edge): New.
	(dnode::m_preds): Make public.
	(dnode::m_succs): Likewise.
	(dnode::find_edge_idx): New.
	(dedge::edge_t): New typedef.
	(dedge::m_src): Make non-const.
	(dedge::m_dest): Likewise.
	(dedge::set_dest): New.
	(digraph::add_any_extra_stmts): New.
	(digraph<GraphTraits>::dump_dot_to_pp): Call it.
	* doc/analyzer.texi: Update for rewrite of supergraph.
	* doc/invoke.texi (fanalyzer-fine-grained): Make this as a no-op
	preserved for backwards compatibility.
	(fanalyzer-simplify-supergraph): Document new option.
	(fdump-analyzer-supergraph): Update for changes to output.
	* gdbhooks.py (AnaSupernodePrinter.to_string): Update for renaming
	of supernode::m_index to supernode::m_id.
	* system.h: Include <deque> if INCLUDE_DEQUE was defined.

2025-12-12  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/121852
	* rtlanal.cc (single_set_2): Only look for REG_UNUSED notes if
	df && df_note, otherwise if df and SET_DEST is a pseudo with
	DF_REG_USE_COUNT 0, assume it is unused as well.  Otherwise
	assume it may be used.

2025-12-12  Tejas Belagod  <tejas.belagod@arm.com>
	    Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64.cc (aarch64_instruction_selection): Flip
	svbool_t == to != to avoid extra bit-inverse.

2025-12-12  mengqinggang  <mengqinggang@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_block_move_loop): Change
	length, align to unsigned.
	(loongarch_expand_block_move): Ditto.

2025-12-12  Jiajie Chen  <c@jia.je>

	* config/loongarch/loongarch.cc (loongarch_emit_int_compare):
	Call trunc_int_mode to ensure valid rhs.

2025-12-12  mengqinggang  <mengqinggang@loongson.cn>

	* config/loongarch/predicates.md: Add CONSTM1_RTX for low_bitmask_operand.

2025-12-12  mengqinggang  <mengqinggang@loongson.cn>

	* config/loongarch/larchintrin.h (__movgr2fcsr): Disable on soft float.
	(__cacop_w): New.
	(__lddir_d): Delete #error.
	(__ldpte_d): Likewise.
	(__crc_w_w_w): Disable on LA32
	(__crc_w_d_w): Likewise.
	(__crcc_w_w_w): Likewise.
	* config/loongarch/loongarch-builtins.cc : Disable some builtin on LA32.

2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
	    Jiajie Chen  <c@jia.je>

	* config/loongarch/loongarch-opts.cc (loongarch_target_option_override):
	Delete opts->x_flag_pcc_struct_return and enable mstrict-align by
	default on LA32.
	* config/loongarch/loongarch.cc (loongarch_for_each_saved_reg): Save reg
	depend on float abi.
	(loongarch_explicit_relocs_p): Disable explicit relocs on LA32.
	(loongarch_valid_offset_p): Disable const_imm16_operand with 4 byte aligned.
	(loongarch_valid_lo_sum_p): Allow lo_sum to be used with DF in ilp32d.
	(loongarch_valid_index_p): Disable ADDRESS_REG_REG on LA32.
	(loongarch_legitimize_address): Disable mem_shadd_or_shadd_rtx_p on LA32.
	(loongarch_output_move_index):  Assert TARGET_64BIT for ldx/stx.
	(loongarch_output_move): Disable ldptr/stptr if offset is 0.
	(loongarch_output_equal_conditional_branch): Disable beqz/bnez on LA32R.
	(loongarch_trampoline_init): Change pcaddi to pcaddu12i.
	(loongarch_get_separate_components): Disable ldptr/stptr on LA32.
	(loongarch_c_mode_for_floating_type): Use TFmode for long double
	regardless of target bitness.
	(loongarch_bitint_type_info): Disable BitInt on LA32.
	(loongarch_call_tls_get_addr): Use call30 on LA32.
	(loongarch_split_move): Add split for DI, DF, TF.
	* config/loongarch/loongarch.h (LA_LONG_DOUBLE_TYPE_SIZE): Set
	LONG_DOUBLE_TYPE_SIZE to 128 regardless of target bitness.
	(MAX_FIXED_MODE_SIZE): Set to 64 on LA32.
	(DEFAULT_PCC_STRUCT_RETURN): New.
	(STACK_BOUNDARY): Set to 128 on LA64 and LA32.
	(LARCH_STACK_ALIGN): Set to 16 on LA64 and LA32.
	(TRAMPOLINE_SIZE): Set to same value on LA64 and LA32.

2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
	    Jiajie Chen  <c@jia.je>

	* config/loongarch/constraints.md: Disable k on LA32.
	* config/loongarch/loongarch.md (*and<mode>3): Delete.
	(*and<mode>3_extend): New.
	(zero_extend<SHORT:mode><GPR:mode>2_la32r): New.
	(extend<SHORT:mode><GPR:mode>2_la32r): New.
	(extendqihi2_la32r): New.
	(*movdi_32bit): Remove not working split, use existing
	loongarch_split_move instead.
	(move_doubleword_2_<mode>): New.
	(load_low<mode>): New.
	(load_high<mode>): New.
	(store_word<mode>): New.
	(movgr2frh<mode>): New.
	(movfrh2gr<mode>): New.
	* config/loongarch/predicates.md: Disable low_bitmask_operand and
	ins_zero_bitmask_operand on LA32. Enable const_call_insn_operand on LA32.
	* config/loongarch/sync.md (atomic_<amop><mode>): Change to define_expand.
	(la64_atomic_<amop><mode>): New.
	(la32_atomic_<amop>si): New.
	(atomic_fetch_<amop><mode>): Change to define_expand.
	(la64_atomic_fetch_<amop><mode>): New.
	(la32_atomic_fetch_<amop>si): New.
	(atomic_exchange<mode>): Change to define_expand.
	(la64_atomic_exchange<mode>): New.
	(la32_atomic_exchangesi): New.

2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
	    Jiajie Chen  <c@jia.je>

	* config.gcc: Add target triple loongarch32-*-*-* and
	corresponding abi ilp32f, ilp32d and ilp32s.
	* config/loongarch/genopts/loongarch-strings: Add strings for
	loongarch32 and ilp32 abi variants.
	* config/loongarch/genopts/loongarch.opt.in: Add
	-march=la32v1.0/la32rv1.0 and -mabi=ilp32d/ilp32f/ilp32s.
	* config/loongarch/gnu-user.h: Add ilp32 abi variants to spec.
	* config/loongarch/linux.h: Add ABI_LIBDIR for ilp32 abi
	variants.
	* config/loongarch/loongarch-c.cc (loongarch_define_unconditional_macros):
	Add builtin definitions for loongarch32 target.
	* config/loongarch/loongarch-def.cc: Add loongarch32 and ilp32
	definitions.
	* config/loongarch/loongarch-def.h: Add loongarch32 and ilp32
	definitions.
	* config/loongarch/loongarch-driver.h: Add ilp32 abi variants to
	spec.
	* config/loongarch/loongarch-opts.cc: Handle ilp32 abi variants.
	* config/loongarch/loongarch-opts.h: Add loongarch32 case to
	macros.
	* config/loongarch/loongarch-str.h: Add loongarch32 and ilp32
	strings.
	* config/loongarch/loongarch.opt: Add -march=la32v1.0/la32rv1.0
	and -mabi=ilp32d/ilp32f/ilp32s.
	* config/loongarch/t-linux: Add ilp32 abi variants to multilib.
	* doc/invoke.texi: Add LA32 arch and tune.

2025-12-12  Pietro Monteiro  <pietro@sociotechnical.xyz>

	* common.opt.urls: Regenerate.

2025-12-11  Jakub Jelinek  <jakub@redhat.com>

	* config/arc/arc.cc (hwloop_optimize): Fix comment typo,
	begining -> beginning.
	* config/nds32/nds32-utils.cc (nds32::extract_pattern_from_insn):
	Fix comment typo, funciton -> function.
	* ipa-inline.cc (speculation_useful_p): Fix comment typo,
	calll -> call.
	* auto-profile.cc: Fix comment typos, implements -> implement,
	inlning -> inlining, passe -> passes, form -> from, ambigous
	-> ambiguous.
	(afdo_hot_bb_threshod): Rename to ...
	(afdo_hot_bb_threshold): ... this.
	(maybe_hot_afdo_count_p): Adjust for the above change.
	(function_instance::merge): Fix comment typo, hasnt -> hasn't.
	(function_instance::offline_if_not_realized): Fix comment typo,
	instancs -> instances.
	(afdo_count_scale): Fix comment typo, reudce -> reduce.
	(get_original_name): Fix comment typos, generetad -> generated,
	sufix -> suffix.
	(function_instance::get_function_instance): Fix dump message
	typo, insteed -> instead.
	(function_instance::merge): Fix comment typos, hasnt -> hasn't,
	acounting -> accounting, calll -> call, begining -> beginning.
	(function_instance::offline_if_in_set): Fix comment typo,
	begining -> beginning.
	(match_with_target): Fix comment typo, correspons -> corresponds.
	(function_instance::match): Fix diagnostic typo, discrimnator
	-> discriminator.
	(autofdo_source_profile::offline_external_functions): Fix comment
	typos, Doint -> Doing, distingush -> distinguish, shold -> should,
	Poppulate -> Populate.  Fix dump message typo, suffxes -> suffixes.
	(autofdo_source_profile::offline_unrealized_inlines): Fix comment
	typo, Poppulate -> Populate.
	(autofdo_source_profile::update_inlined_ind_target): Fix dump message
	typo, funciton -> function.
	(autofdo_source_profile::read): Fix comment typos, function_instace
	-> function_instance, exixts -> exits.  Use afdo_hot_bb_threshold
	instead of afdo_hot_bb_threshod.
	(autofdo_source_profile::get_function_instance_by_inline_stack):
	Fix dump message typo, locaction -> location.
	(afdo_propagate_edge): Fix dump message typo, succesors -> successors.
	(afdo_propagate): Fix comment typo, stablize -> stabilize.
	(struct scale): Fix comment typo, descired -> desired.
	(afdo_adjust_guessed_profile): Fix dump message typos, predecesor
	-> predecessor, sucessor -> successor.  Fix comment typo, inprecise
	-> imprecise.
	(auto_profile): Fix comment typo, annoate -> annotate.
	* tree-vect-slp.cc (vectorizable_slp_permutation_1): Fix comment typo,
	cylical -> cyclical.
	* except.cc (maybe_add_nop_after_section_switch): Fix comment typo,
	begining -> beginning.
	* tree-ssa-loop-ivcanon.cc (tree_unroll_loops_completely): Fix comment
	typo, begining -> beginning.
	* gcc.cc (insert_comments): Likewise.

2025-12-11  supers1ngular  <supers1ngular@baylibre.com>

	* doc/extend.texi: Bump version and clarify implementation
	status.

2025-12-11  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/123014
	* tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): Detect
	empty pre-header block.
	(vect_do_peeling): Undo changes from PR122959.

2025-12-11  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64.cc (aarch64_fndecl_abi): New function.
	(aarch64_function_abi): New function.
	(aarch64_function_arg_regno_p): Update to use aarch64_fndecl_abi.
	(aarch64_output_mi_thunk): Likewise.
	(aarch64_is_variant_pcs): Likewise.
	(aarch64_set_current_function): Update to initialize pcs value.
	* config/aarch64/aarch64.h (enum arm_pcs): Move location earlier in
	file.
	(machine_function) Add pcs value.

2025-12-11  supers1ngular  <supers1ngular@baylibre.com>

	* doc/invoke.texi: Update docs for '-Wdeprecated-openmp'.

2025-12-11  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/80881
	* config/i386/i386.h (DEFAULT_TLS_SEG_OFFSET): New define.
	* config/mingw/mingw32.h (DEFAULT_TLS_SEG_OFFSET): Likewise.
	* config/i386/i386.cc (ix86_tls_index): Fix long line.
	(legitimize_tls_address): Use get_thread_pointer, add comments and
	fix long lines.
	* config/i386/i386.md (*load_tp_<mode>): Use DEFAULT_TLS_SEG_OFFSET
	(*load_tp_x32_zext): Likewise.
	(*add_tp_<mode>): Likewise.
	(*add_tp_x32_zext): Likewise.
	* config/i386/predicates.md (pic_32bit_operand): Fix oversight.
	(symbolic_operand): Accept UNSPEC_SECREL32 with or without offset.

2025-12-10  Alexandre Oliva  <oliva@adacore.com>

	* config/i386/i386.md (lea peephole2): Add 3 new variants.

2025-12-10  Jakub Jelinek  <jakub@redhat.com>
	    Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/123069
	* tree-vect-generic.cc (expand_vector_mult): Use
	build_zero_cst (vectype) instead of build_int_cst (vectype, 0).

2025-12-10  Jason Merrill  <jason@redhat.com>

	* doc/invoke.texi (C++ Modules): Remove standard library header
	units from missing pieces, mention importable header redirection.

2025-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/sol2.h (PID_TYPE): Define.
	* doc/tm.texi.in (Type Layout): Document PID_TYPE.
	* doc/tm.texi: Regenerate.

2025-12-09  John Ericson  <git@JohnEricson.me>

	* Makefile.in: No longer include TARGET_SYSTEM_ROOT in
	libgcc.mvars.

2025-12-09  John Ericson  <git@JohnEricson.me>

	* Makefile.in:: Remove NO_PIE_CFLAGS logic, since it is now in
	libgcc.
	* configure: Regenerate.
	* configure.ac: Remove the enable_default_pie substitution, since
	libgcc now has its own logic.

2025-12-09  Robin Dapp  <rdapp@ventanamicro.com>

	PR tree-optimization/123074
	* tree-vect-loop.cc: Reset LOOP_VINFO_USING_SELECT_VL_P.

2025-12-09  Pan Li  <pan2.li@intel.com>

	* config/riscv/predicates.md: Append operator lt to
	the comparison_swappable_operator.
	* config/riscv/riscv-v.cc (get_swapped_cmp_rtx_code): Add
	swappable operator lt handing.

2025-12-09  Richard Biener  <rguenther@suse.de>

	PR target/121230
	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
	With FP mode and 387 math cost spill/reload.

2025-12-09  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/riscv.opt.urls:  Regenerate.

2025-12-09  Andrew Stubbs  <ams@baylibre.com>

	* config/gcn/gcn.cc (gcn_init_cumulative_args): Only warn once.
	Use "required" instead of "enabled" in the warning.
	* config/gcn/mkoffload.cc (process_asm): Warn, don't error.
	Use "required" instead of "on" in the warning.

2025-12-09  Robin Dapp  <rdapp@ventanamicro.com>

	PR tree-optimization/122635
	* gimple-fold.cc (enum mask_load_store_state): New enum.
	(gimple_fold_partial_load_store_mem_ref): Only fold
	"all active" loads/stores.
	(partial_load_store_mask_state): New function to compute mask
	state.
	(gimple_fold_partial_load): Remove.
	(gimple_fold_partial_load_store): New function.
	(gimple_fold_partial_store): Remove.
	(gimple_fold_call): Use new function.

2025-12-09  Robin Dapp  <rdapp@ventanamicro.com>

	* config/rs6000/predicates.md (lxvl_else_operand): New
	predicate.
	* config/rs6000/vsx.md: Add else operand.
	* config/s390/predicates.md (vll_else_operand): New predicate.
	* config/s390/vector.md: Add else operand.
	* doc/md.texi: Document else operand.
	* internal-fn.cc (internal_fn_len_index): Adjust IFN_LEN_LOAD.
	(internal_fn_else_index): Add IFN_LEN_LOAD.
	* optabs-tree.cc (target_supports_len_load_store_p): Get else
	value for len_load.
	* tree-vect-stmts.cc (vectorizable_load): Pun the else value
	type.

2025-12-09  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::handle_max_vect):
	New parser entry.
	(riscv_target_attr_parser::update_settings): Set max-vect
	option.
	(riscv_process_one_target_attr): Change null-arg handling.
	* config/riscv/riscv.cc (riscv_override_options_internal): Set
	max-vect option.
	* config/riscv/riscv.opt: Add -mmax-vectorization option.
	* doc/extend.texi: Document new option.
	* doc/invoke.texi: Ditto.

2025-12-09  Robin Dapp  <rdapp@ventanamicro.com>

	PR target/123022
	* config/riscv/vector.md: Add mode_idx attribute.

2025-12-09  Robin Dapp  <rdapp@ventanamicro.com>

	PR target/115325
	* config/riscv/riscv-c.cc (riscv_pragma_target_parse): New
	function.
	(riscv_register_pragmas): Register riscv_pragma_target_parse.
	* config/riscv/riscv-protos.h (riscv_process_target_attr_for_pragma):
	Declare.
	(riscv_reset_previous_fndecl): Ditto.
	* config/riscv/riscv-target-attr.cc (riscv_process_target_attr_for_pragma):
	New function.
	* config/riscv/riscv.cc (riscv_reset_previous_fndecl): Reset.
	(riscv_option_save): New function.
	(riscv_option_print): Ditto.
	(riscv_get_interrupt_type): Adjust docs.
	(TARGET_OPTION_SAVE): Implement.
	(TARGET_OPTION_PRINT): Ditto.
	* doc/extend.texi: Document that riscv can do target pragams.

2025-12-09  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/autovec.md (reduc_sbool_and_scal_<mode>): New
	expander.
	(reduc_sbool_ior_scal_<mode>): Ditto.
	(reduc_sbool_xor_scal_<mode>): Ditto.
	* config/riscv/riscv-protos.h (expand_mask_reduction): Declare.
	* config/riscv/riscv-v.cc (expand_mask_reduction): New function.

2025-12-09  Richard Biener  <rguenther@suse.de>

	PR target/123027
	* config/i386/i386-expand.cc (ix86_expand_sse_fp_minmax):
	With !HONOR_NANS we can handle LE by swapping and inverting.

2025-12-08  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/46555
	* tree-cfgcleanup.cc (execute_cleanup_cfg_post_optimizing):
	Don't set todo to include cleanupcfg; do it manually.
	Call make_forwarders_with_degenerate_phis if optimizing.

2025-12-08  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfg.cc (make_forwarders_with_degenerate_phis): Add debug
	dump.

2025-12-08  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-dce.cc (sort_phi_args): Move to tree-cfg.cc.
	(make_forwarders_with_degenerate_phis): Move to tree-cfg.cc.
	(perform_tree_ssa_dce): Update for the updated return type
	of make_forwarders_with_degenerate_phis.
	* tree-cfg.cc (sort_phi_args): Moved from tree-ssa-dce.cc.
	(make_forwarders_with_degenerate_phis): Moved from tree-ssa-dce.cc.
	Update return type to bool and return true if an edge was split.
	* tree-cfg.h (make_forwarders_with_degenerate_phis): New decl.

2025-12-08  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/80881
	* config/mingw/winnt.cc (mingw_pe_unique_section): Put two dollar
	signs for TLS sections after the prefix.
	(mingw_pe_asm_named_section): Deal with all TLS sections uniformly.

2025-12-08  Ezra Sitorus  <Ezra.Sitorus@arm.com>

	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add C1-Nano,
	C1-Pro, C1-Premium and C1-Ultra.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* doc/invoke.texi: Document C1 cores.

2025-12-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/123040
	* tree-ssa-sccvn.cc (vn_nary_build_or_lookup_1): Only insert
	nary results.

2025-12-08  Josef Melcr  <josef.melcr@suse.com>

	PR ipa/122798
	* cgraph.cc (cgraph_edge::redirect_callee): Use
	iterate_referring instead of referred_to_p.
	* cgraphclones.cc (set_new_clone_decl_and_node_flags): Set local
	to true iff the node does not have its address taken.

2025-12-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/123038
	* tree-vect-patterns.cc (vect_recog_ctz_ffs_pattern): Reject
	pattern for reductions when the call argument is used multiple
	times.

2025-12-08  Tamar Christina  <tamar.christina@arm.com>

	PR target/123026
	* config/aarch64/aarch64-simd.md (reduc_sbool_ior_scal_<mode>,
	reduc_sbool_and_scal_<mode>): Fix tmp operands[1] override.

2025-12-08  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/122868
	* tree-vect-stmts.cc (vectorizable_load): Move check for invariant loads
	down into the loop.

2025-12-08  H.J. Lu  <hjl.tools@gmail.com>

	PR target/122343
	* config/i386/sse.md (*<avx512>_cmp<mode>3_dup_op): Don't allow
	2 volatile memory references.

2025-12-07  Jason Merrill  <jason@redhat.com>

	* config/darwin-c.cc (find_subframework_header): Use
	_cpp_get_file_*.

2025-12-07  H.J. Lu  <hjl.tools@gmail.com>

	PR target/122343
	* common.opt: Add -ffuse-ops-with-volatile-access.
	* common.opt.urls: Regenerated.
	* recog.cc (general_operand): Allow volatile memory reference if
	-ffuse-ops-with-volatile-access is enabled.
	* simplify-rtx.cc (simplify_binary_operation_1): Keep PLUS for 2
	volatile memory references.
	* doc/invoke.texi: Document -ffuse-ops-with-volatile-access.

2025-12-07  Alexandre Oliva  <oliva@adacore.com>

	* cselib.cc (dump_cselib_val): Split out of and rename to...
	(dump_cselib_val_ptr): ... this.
	(dump_cselib_table): Adjust.  Skip cselib_preserved_hash_table
	when not allocated.

2025-12-06  Alexandre Oliva  <oliva@adacore.com>

	PR rtl-optimization/122947
	* calls.cc (expand_call): Add stack function usage in
	non-ACCUMULATE_OUTGOING_ARGS configurations.

2025-12-06  Alexandre Oliva  <oliva@adacore.com>

	PR target/91420
	* config/riscv/riscv.cc (riscv_symbolic_constant_p): Require
	offsets smaller than +/- 1GiB for PCREL symbols.

2025-12-06  Jakub Jelinek  <jakub@redhat.com>

	* attribs.cc (decl_attributes): Use attribute_value_equal to
	compare attribute values instead of simple_cst_equal.

2025-12-06  Dimitar Dimitrov  <dimitar@dinux.eu>

	PR rtl-optimization/122675
	* bb-reorder.cc (edge_order): Fix BB edge ordering to be
	descending.

2025-12-05  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/122215
	* ira-color.cc (improve_allocation): Use register filter for all
	loop on hard regs.

2025-12-05  Richard Earnshaw  <rearnsha@arm.com>

	PR target/122999
	* config/arm/arm.cc (arm_canonicalize_comparison): Defer
	initializing maxval until we know we are dealing with an
	integer mode.

2025-12-05  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_need_peeling_or_partial_vectors_p):
	When peeling for gaps we always need an epilog.

2025-12-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/120939
	* tree-vect-loop.cc (vect_need_peeling_or_partial_vectors_p):
	Remove eliding an epilogue based on not computed
	LOOP_VINFO_COST_MODEL_THRESHOLD and estimated max stmt executions.

2025-12-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/123002
	* tree-vectorizer.h (supportable_widening_operation): Remove
	vinfo and stmt_info parameters, add flag to indicate whether
	the context would allow OP_{EVEN,ODD}.
	* tree-vect-patterns.cc (vect_recog_abd_pattern): Adjust
	and pass false.
	(vect_recog_widen_op_pattern): Likewise.
	(vect_recog_widen_abd_pattern): Likewise.
	* tree-vect-stmts.cc (vectorizable_conversion): Move
	even/odd validity check here, from supportable_widening_operation.
	Adjust it to be conservative.
	(supportable_widening_operation): Get flag whether even/odd
	is OK to use and remove then unused parameters and code.

2025-12-05  Richard Biener  <rguenther@suse.de>

	* tree-pretty-print.cc (dump_mem_ref): Dump clique : base
	specifier for MEM_REF and TARGET_MEM_REF when dumping
	GIMPLE format.

2025-12-05  Tobias Burnus  <tburnus@baylibre.com>

	* gimplify.cc (gimplify_scan_omp_clauses): Handle
	OMP_CLAUSE_DYN_GROUPPRIVATE by printing 'sorry, unimplemented'.
	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DYN_GROUPPRIVATE.
	(enum omp_clause_fallback_kind): New.
	(struct tree_omp_clause): Add fallback_kind union member.
	* tree-nested.cc (convert_nonlocal_omp_clauses,
	convert_local_omp_clauses): Handle OMP_CLAUSE_DYN_GROUPPRIVATE.
	* tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
	OMP_CLAUSE_DYN_GROUPPRIVATE.
	* tree-pretty-print.cc (dump_omp_clause): Handle
	OMP_CLAUSE_DYN_GROUPPRIVATE.
	* tree.h (OMP_CLAUSE_DYN_GROUPPRIVATE_EXPR,
	OMP_CLAUSE_DYN_GROUPPRIVATE_KIND): New #define.

2025-12-05  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/99782
	* config/i386/i386-expand.cc (ix86_gen_ccmp_next): Move the check
	for mode earlier before expand_operands.
	* config/aarch64/aarch64.cc (aarch64_gen_ccmp_next): Likewise.

2025-12-05  Daniel Barboza  <dbarboza@ventanamicro.com>
	    Jeff Law  <jlaw@ventanamicro.com>

	* match.pd (`x & c ? (x - c) | (x | c)`): New pattern.
	(`x & c ? (x & ~c) | (x | c)`): Likewise.

2025-12-05  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*pred_cmp_swapped<mode>_scalar):
	Add new pattern to match vec_dup > vec for vmsltu.
	* config/riscv/predicates.md (comparison_swappable_operator):
	Add new iterator for above pattern
	* config/riscv/riscv-protos.h (expand_vx_cmp_vec_dup_vec): Add
	new func to emit vmsltu.vx.
	* config/riscv/riscv-v.cc (get_swapped_cmp_rtx_code): Add new
	func to convert cmp code to swapped, like gtu to ltu.
	(expand_vx_cmp_vec_dup_vec): Add new func decl.

2025-12-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/122991
	* config/aarch64/aarch64.md (crc_rev<ALLI:mode><ALLX:mode>4,
	crc<ALLI:mode><ALLX:mode>4): Use const_int_operand predicate for
	the last operand.

2025-12-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122776
	* tree-vectorizer.h (vect_simd_clone_data::clone,
	vect_simd_clone_data::clone_inbranch): New fields for
	the two selected clones.
	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Record
	both a possibly notinbranch and a inbranch clone.  Delay
	the choice between both to code generation based on
	LOOP_VINFO_FULLY_MASKED_P.

2025-12-04  Martin Jambor  <mjambor@suse.cz>

	* gimple-range-fold.h (class fold_using_range): New member
	function range_from_readonly_var.
	* gimple-range-fold.cc (fold_using_range::fold_stmt): Call
	range_from_readonly_var on assignments.
	(range_from_missing_constructor_part): New function.
	(range_from_readonly_load): Likewise.
	(fold_using_range::range_from_readonly_var): Likewise.
	* params.opt (param_vrp_cstload_limit): New.
	* doc/invoke.texi (vrp-cstload-limit): Likewise.

2025-12-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/122991
	* config/i386/i386.md (crc_rev<SWI124:mode>si4): Use const_int_operand
	predicate for the last input argument.

2025-12-04  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* lra-constraints.cc (get_reload_reg): Honor exclude start regs
	while reusing reloads.

2025-12-04  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>

	Revert:
	2025-12-02  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>

	* ipa-inline.cc (inline_functions_by_afdo): Remove resetting bool inlined.

2025-12-03  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/85072
	* lra-assigns.cc (init_live_reload_and_inheritance_pseudos):
	Improve calculation of live_reload_and_inheritance_pseudos and set
	a constraint to do this.
	* params.opt
	(lra-max-pseudos-points-log2-considered-for-preferences): New.
	* doc/invoke.texi
	(lra-max-pseudos-points-log2-considered-for-preferences): Document
	it.

2025-12-03  Eric Botcazou  <ebotcazou@adacore.com>

	PR tree-optimization/122934
	* tree-ssa-loop-niter.cc (simplify_using_initial_conditions): Use
	singleton_p predicate even with boolean ranges.

2025-12-03  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/122943
	* tree-switch-conversion.cc (switch_conversion::build_arrays):
	Always gimplify subtraction in utype without cast to tidxtype
	and set m_arr_ref_first to the last stmt of that.  Remove unneeded
	update_stmt call.  If tidxtype is not utype, append after that stmt
	cast to tidxtype and set tidx to the lhs of that cast.

2025-12-03  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/122898
	* gimple-range-fold.cc (fur_source::register_relation): Return a bool;
	(fur_depend::register_relation): Ditto.
	(fur_relation::register_relation): Ditto.
	* gimple-range-fold.h (fur_source::register_relation): Adjust prototype.
	(fur_depend::register_relation): Ditto.
	* gimple-range-path.cc (jt_fur_source::register_relation): Return bool.
	* value-relation.cc (equiv_oracle::add_partial_equiv): Return a bool.
	(equiv_oracle::record): Return a bool.
	(relation_oracle::record): Return a bool.
	(dom_oracle::record): Return a bool.
	(dom_oracle::set_one_relation): Remove some debug output.
	(path_oracle::equiv_set): Return a bool.
	(path_oracle::register_equiv): Return a bool.
	(path_oracle::record): Return a bool.
	* value-relation.h (relation_oracle::record): Adjust prototype.
	(equiv_oracle::add_partial_equiv): Ditto
	(equiv_oracle::record): Ditto.
	(dom_oracle::record): Ditto.
	(path_oracle::equiv_set): Ditto.
	(path_oracle::register_equiv): Ditto.
	(path_oracle::record): Ditto.

2025-12-03  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR algol68/122964
	* dwarf2out.cc (gen_compile_unit_die): Set LVERSION to 1978 for
	Algol 68 and add dwarf_version >= 5 to guard.

2025-12-03  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/122969
	* tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer): handle
	non-ssa name IV var args.

2025-12-03  Mathias Krause  <minipli@grsecurity.net>

	* config/i386/i386.cc (x86_print_call_or_nop): Fix 16-bit NOP
	generation.

2025-12-03  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122959
	* tree-vect-loop-manip.cc (vect_do_peeling): Delay setting update_e.

2025-12-03  liuhongt  <hongtao.liu@intel.com>

	PR target/71921
	* config/i386/predicates.md (ieee_maxmin_comparison_operator):
	New predicator.
	* config/i386/sse.md (*minmax<mode>3_3): New define_insn_and_split.
	(*minmax<mode>3_4): Ditto.
	(*minmax<mode>3_1): Extend operands[2]/operands[4] to handle
	immediate_operand.

2025-12-02  John David Anglin  <danglin@gcc.gnu.org>

	PR target/122874
	* config/pa/pa.cc (pa_emit_move_sequence): Break out large
	REG+D addresses from MEM operands.  Also, don't allow
	unscaled indexed source operands till reload completes.

2025-12-02  Robin Dapp  <rdapp.gcc@gmail.com>

	PR target/122656
	* config/riscv/riscv-vector-builtins-bases.cc: Use
	use_contiguous_load for vlsegff.
	* config/riscv/riscv-vector-builtins.cc (function_expander::use_exact_insn):
	Only add rounding mode operand if insn requires it and number of
	arguments is < required.
	(function_expander::use_ternop_insn): Ditto.
	(function_expander::use_widen_ternop_insn): Ditto.
	* config/riscv/vector.md: Use vector-mode source operand.

2025-12-02  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/riscv-vector-builtins.cc
	(function_builder::add_function): Remove placeholder_p parameter.
	(function_builder::add_unique_function): Update call.
	(function_builder::add_overloaded_function): Likewise.
	* config/riscv/riscv-vector-builtins.h
	(function_builder::add_function): Update declaration.

2025-12-02  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-stmts.cc (vectorizable_scan_store): Pass loop_lens
	to vect_get_data_ptr_increment.

2025-12-02  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/122868
	* tree-vect-stmts.cc (vectorizable_load): Don't hoist loop invariant
	conditional loads unless in header.

2025-12-02  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>

	* ipa-inline.cc (inline_functions_by_afdo): Remove resetting bool inlined.

2025-12-02  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR target/122912
	* config/aarch64/t-aarch64 (TM_H): Add aarch64-tuning-enums.def.

2025-12-02  Alexandre Oliva  <oliva@adacore.com>

	* hard-reg-set.h (hard_reg_set_iter_init): Drop unnecessary
	increment of min.
	(hard_reg_set_iter_set): Use ctz_hwi, and compute
	word-advanced regno from word_no.
	(hard_reg_set_iter_next): Only clear the cached LSB.

2025-12-02  David Guillen Fandos  <david@davidgf.net>

	* config/mips/mips.h (ISA_HAS_MADD_MSUB): Include allegrex.
	* config/mips/mips.md: Tweak mul_acc_si/mul_sub_si to make it
	work when MUL3 is not available.

2025-12-02  David Guillen Fandos  <david@davidgf.net>

	* config/mips/mips.h (ISA_HAS_WSBW): Defined a new macro.
	* config/mips/mips.md (bswapsi2): Add new instruction.
	(wsbwsi2): Replace with expand to support both wsbw and wsbh.

2025-12-02  David Guillen Fandos  <david@davidgf.net>

	* config/mips/mips.h (ISA_HAS_MIN_MAX): Defined a new macro.
	* config/mips/mips.md (sminsi3): Defined a new instruction.
	(smaxsi3): Defined a new instruction.

2025-12-02  David Guillen Fandos  <david@davidgf.net>

	* config/mips/mips-cpus.def (MIPS_CPU): Added a new CPU.
	* config/mips/mips-tables.opt: Regenerated table.
	* config/mips/mips.cc: Added cost table for the new CPU.
	* config/mips/mips.h (TARGET_ALLEGREX): Defined a new macro.
	(TUNE_ALLEGREX): Defined a new macro.
	(ISA_HAS_CONDMOVE): Added Allegrex CPU to the list.
	(ISA_HAS_LDC1_SDC1): Exclude Allegrex from the list.
	(ISA_HAS_COND_TRAP): Exclude Allegrex from the list.
	(ISA_HAS_COND_TRAPI): Exclude Allegrex from the list.
	(ISA_HAS_CLZ_CLO): Added Allegrex CPU to the list.
	(ISA_HAS_ROR): Added Allegrex CPU to the list.
	(ISA_HAS_WSBH): Added Allegrex CPU to the list.
	(ISA_HAS_SEB_SEH): Added Allegrex CPU to the list.
	(ISA_HAS_EXT_INS): Added Allegrex CPU to the list.
	(ISA_HAS_XFER_DELAY): Exclude Allegrex from the list.
	(ISA_HAS_HILO_INTERLOCKS): Added Allegrex CPU to the list.
	* config/mips/mips.md: Added Allegrex CPU as a new processor.
	* doc/invoke.texi: Documented Allegrex as a new arch

2025-12-02  Saurabh Jha  <saurabh.jha@arm.com>
	    Radek Barton  <radek.barton@microsoft.com>

	* config.gcc: Add new Makefile fragment and new object file.
	* config/aarch64/aarch64-builtins.cc
	(aarch64_ms_variadic_abi_init_builtins): Initialize builtin
	variadic functions for aarch64-w64-mingw32.
	* config/aarch64/aarch64-protos.h
	(aarch64_ms_variadic_abi_init_builtins): Initialize builtin
	variadic functions for aarch64-w64-mingw32.
	* config/aarch64/aarch64.cc
	(handle_aarch64_vector_pcs_attribute): Add support for
	ARM_PCS_MS_VARIADIC.
	(aarch64_ms_variadic_abi): Return descriptor to variadic
	function call ABI for aarch64-w64-mingw32 target.
	(aarch64_fntype_abi): Add support for variadic functions for
	aarch64-w64-mingw32 target.
	(aarch64_reg_save_mode): Add support for ARM_PCS_MS_VARIADIC.
	(num_pcs_arg_regs): Add support for ARM_PCS_MS_VARIADIC.
	(get_pcs_arg_reg): Add support for ARM_PCS_MS_VARIADIC.
	(aarch64_arg_size): Returns size of argument.
	(aarch64_ms_variadic_abi_layout_arg): aarch64-w64-mingw32
	specific support for variadic ABI.
	(aarch64_layout_arg): Add support for ARM_PCS_MS_VARIADIC.
	(aarch64_function_arg): Implement TARGET_FUNCTION_ARG.
	(aarch64_function_arg_advance): Add support for
	ARM_PCS_MS_VARIADIC.
	(aarch64_function_arg_regno_p): Add support for
	ARM_PCS_MS_VARIADIC.
	(aarch64_init_builtins): Add support for TARGET_AARCH64_MS_ABI.
	(aarch64_ms_variadic_abi_build_builtin_va_list): Setup va_list
	for aarch64-w64-mingw32.
	(aarch64_build_builtin_va_list): Add support for
	TARGET_AARCH64_MS_ABI.
	(aarch64_ms_variadic_abi_expand_builtin_va_start): Implement
	TARGET_BUILD_BUILTIN_VA_START.
	(aarch64_setup_incoming_varargs): Implement
	TARGET_SETUP_INCOMING_VARARGS.
	(aarch64_mangle_type): Implement TARGET_MANGLE_TYPE.
	(aarch64_variadic_abi_strict_argument_naming): Implement
	TARGET_STRICT_ARGUMENT_NAMING.
	* config/aarch64/aarch64.h
	(aarch64_frame): Add new field
	unaligned_saved_varargs_size.
	(enum arm_pcs): Add new enum option
	ARM_PCS_MS_VARIADIC.
	* config/aarch64/cygming.h
	(SUBTARGET_ATTRIBUTE_TABLE): Add support for ms_abi.
	* config/mingw/winnt.cc
	(aarch64_handle_ms_abi_attribute): Handle ms_abi attribue.
	* config/mingw/winnt.h
	(aarch64_handle_ms_abi_attribute): Handle ms_abi attribute.
	* config/aarch64/aarch64-abi-ms-protos.h:
	(aarch64_arg_partial_bytes): Declare.
	(aarch64_ms_variadic_abi_canonical_va_list_type): Declare.
	(aarch64_ms_variadic_abi_enum_va_list): Declare.
	(aarch64_ms_variadic_abi_fn_abi_va_list): Implement
	TARGET_FN_ABI_VA_LIST.
	* config/aarch64/aarch64-abi-ms.cc:
	(aarch64_arg_partial_bytes): Implement TARGET_ARG_PARTIAL_BYTES.
	(aarch64_ms_variadic_abi_canonical_va_list_type): Implement
	TARGET_CANONICAL_VA_LIST_TYPE.
	(aarch64_ms_variadic_abi_enum_va_list): Implement
	TARGET_ENUM_VA_LIST_P.
	(aarch64_ms_variadic_abi_fn_abi_va_list): Implement
	TARGET_FN_ABI_VA_LIST.
	* config/aarch64/t-aarch64-mingw: New Makefile fragment.

2025-12-02  Saurabh Jha  <saurabh.jha@arm.com>
	    Radek Barton  <radek.barton@microsoft.com>
	    Martin Vejbora  <mvejbora@microsoft.com>

	* config/aarch64/aarch64-abi-ms.h
	(TARGET_LONG_DOUBLE_128): Set this to 0.
	* config/aarch64/aarch64.cc
	(aarch64_scalar_mode_supported_p): Make long double 64 bits.
	(aarch64_c_mode_for_floating_type): Return true for TFmode.
	* config/aarch64/aarch64.h
	(TARGET_LONG_DOUBLE_128): Set this to 1.

2025-12-02  Saurabh Jha  <saurabh.jha@arm.com>

	* config/aarch64/aarch64-abi-ms.h
	(ASM_COMMENT_START): Specify start of comment.
	(ASM_OUTPUT_TYPE_DIRECTIVE): Moved from aarch64-coff.h.
	(ASM_DECLARE_FUNCTION_SIZE): Specify end of function as comment.
	* config/aarch64/aarch64-coff.h
	(ASM_OUTPUT_TYPE_DIRECTIVE): Moved to aarch64-abi-ms.h.
	(ASM_DECLARE_FUNCTION_SIZE): Moved to aarch64-abi-ms.h.

2025-12-01  Peter Bergner  <bergner@tenstorrent.com>

	PR target/122942
	* config/riscv/riscv-profiles.def (rva23s64): Add zifencei.
	(rvb23s64): Likewise.

2025-12-01  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* doc/install.texi (Downloading the source): Mention Algol 68.

2025-12-01  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/122858
	* config/arm/constraints.md (Ph): New constraint.
	* config/arm/mve.md (mve_asrl_imm, mve_lsll_imm): Fix constraints
	of operand 1 and handle 32 as special shift amount.

2025-12-01  Robin Dapp  <rdapp@ventanamicro.com>

	PR target/122652
	* config/riscv/riscv-vsetvl.cc: Add nullptr check.

2025-12-01  Paul-Antoine Arras  <parras@baylibre.com>

	PR fortran/120505
	* omp-low.cc (lower_omp_target): Set GOMP_MAP_IMPLICIT flag.

2025-12-01  H.J. Lu  <hjl.tools@gmail.com>

	PR target/122906
	* config/i386/i386-features.cc (ix86_emit_tls_call): Emit the
	TLS call after deleted instructions.

2025-11-30  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/115120
	PR tree-optimization/119577
	PR tree-optimization/119860
	* tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for nonlinear
	mult induction and early break.
	(vect_update_ivs_after_vectorizer): Support early break exits.
	(vect_do_peeling): Support scalar IVs.
	* tree-vect-loop.cc (vect_peel_nonlinear_iv_init): Support early break.
	(vect_update_nonlinear_iv): use `unsigned_type_for` such that function
	works for both vector and scalar types.
	(vectorizable_induction, vectorizable_live_operation): Remove vector
	early break IV code.
	(vect_update_ivs_after_vectorizer_for_early_breaks): New.
	(vect_transform_loop): Support new scalar IV for early break.
	* tree-vect-slp.cc (vect_analyze_slp): Remove SLP build for early break
	IVs.
	* tree-vect-stmts.cc (vect_stmt_relevant_p): No longer mark early break
	IVs as completely unused rather than used_only_live.  They no longer
	contribute to the vector loop and so should not be analyzed.
	(can_vectorize_live_stmts): Remove vector early vreak IV code.
	* tree-vectorizer.h (LOOP_VINFO_EARLY_BRK_NITERS_VAR): New.
	(class loop_vec_info): Add early_break_niters_var.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* Makefile.in (OPT_URLS_HTML_DEPS): Add ga68/Option-Index.html.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* doc/install.texi (Configuration): Mention algol68 option for
	--enable-languages.
	(Algol 68-Specific Options): New section.
	* doc/sourcebuild.texi (Top Level): Add entry for libga68.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue):
	Handle "GNU Algol 68" in language_string.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* config/darwin.h: Adapt specs for libga68.a.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* dwarf2out.cc: Set DW_LANG_Algol68 an DW_LNAME_Algol68.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* common.opt: New option -static-libga68.
	* common.opt.urls: Generate.
	* gcc.cc: Handle OPT_static_libga68.
	* regenerate-opt-urls.py (PER_LANGUAGE_OPTION_INDEXES): Add Algol68.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* Makefile.def (libga68): New module.
	(configure-target-libga68): Likewise.
	* Makefile.tpl (GA68): Define.
	(GA68_FOR_BUILD): Likewise.
	(GA68FLAGS): Likewise.
	* configure.ac (--enable-libga68): New option.
	(--enable-algol68-gc): Likewise.
	(GA68): Subst.
	(GA68FLAGS): Likewise.
	Invoke ACX_PROG_GA68.
	* configure: Regenerate.
	* Makefile.in: Likewise.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	* common.opt.urls: Regenerated.
	* config/aarch64/aarch64.opt.urls: Regenerated.
	* config/alpha/alpha.opt.urls: Regenerated.
	* config/arm/arm.opt.urls: Regenerated.
	* config/avr/avr.opt.urls: Regenerated.
	* config/bpf/bpf.opt.urls: Regenerated.
	* config/c6x/c6x.opt.urls: Regenerated.
	* config/cris/cris.opt.urls: Regenerated.
	* config/cris/elf.opt.urls: Regenerated.
	* config/csky/csky.opt.urls: Regenerated.
	* config/darwin.opt.urls: Regenerated.
	* config/epiphany/epiphany.opt.urls: Regenerated.
	* config/frv/frv.opt.urls: Regenerated.
	* config/ft32/ft32.opt.urls: Regenerated.
	* config/gcn/gcn.opt.urls: Regenerated.
	* config/i386/i386.opt.urls: Regenerated.
	* config/ia64/ia64.opt.urls: Regenerated.
	* config/loongarch/loongarch.opt.urls: Regenerated.
	* config/m68k/m68k.opt.urls: Regenerated.
	* config/microblaze/microblaze.opt.urls: Regenerated.
	* config/mips/mips.opt.urls: Regenerated.
	* config/mmix/mmix.opt.urls: Regenerated.
	* config/or1k/or1k.opt.urls: Regenerated.
	* config/pa/pa.opt.urls: Regenerated.
	* config/pdp11/pdp11.opt.urls: Regenerated.
	* config/rs6000/rs6000.opt.urls: Regenerated.
	* config/s390/s390.opt.urls: Regenerated.
	* config/sparc/sparc.opt.urls: Regenerated.
	* config/v850/v850.opt.urls: Regenerated.
	* config/vax/vax.opt.urls: Regenerated.
	* config/visium/visium.opt.urls: Regenerated.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	* doc/invoke.texi (Options Summary): Switch ordering of FRV
	and FT32.
	(Submodel Options): Likewise in the menu and section ordering.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi: Document -mno-android.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/frv/frv.opt (mbranch-cost=): Mark as Undocumented.
	(mcond-exec-insns=): Likewise.
	(mcond-exec-tempss=): Likewise.
	* doc/invoke.texi (Option Summary) <FRV Options>: Remove duplicate
	positive/negative forms from the list.
	(FRV Options): Combine documentation of positive/negative forms
	where they were listed separately.  Add @opindex entries for
	negative forms.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/ft32/ft32.opt (mlra): Mark obsolete option as Undocumented.
	* doc/invoke.texi (Option Summary) <FT32 Options>: Remove -mlra.
	(FT32 Options): Likewise.  Add @opindex entries for negative
	option forms.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (FR30 Options): Add @opindex for -mno-small-model.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <eBPF Options>: Fix formatting
	issues.  Remove redundant entry for -mno-co-re.
	(eBPF Options): Add missing @opindex entries.  Combine documentation
	for -mco-re and -mno-co-re.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/alpha/alpha.opt (mgas): Mark as Undocumented.
	* doc/invoke.texi (Option Summary) <DEC Alpha Options>:  Add
	-mtls-kernel, -mtls-size=, -mlong-double-128, and -mlong-double-64.
	(DEC Alpha Options): Likewise.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/darwin.opt (findirect-virtual-calls): Mark as Undocumented.
	(fterminated-vtables): Likewise.
	(multi_module): Likewise.
	(multiply_defined): Likewise.
	(multiply_defined_unused): Likewise.
	(no_dead_strip_inits_and_terms): Likewise.
	(noprefixbinding): Likewise.
	(nomultidefs): Likewise.
	(noprebind): Likewise.
	(noseglinkedit): Likewise.
	(ObjC, ObjC++): Add documentation strings.
	(object): Mark as Undocumented.
	(prebind): Likewise.
	(prebind_all_twolevel_modules): Likewise.
	(private_bundle): Likewise.
	(sectobjectsymbols): Likewise.
	(sectorder): Likewise.
	(seg_addr_table_filename): Likewise.
	(segcreate): Likewise.
	(seglinkedit): Likewise.
	(single_module): Likewise.
	(X): Likewise.
	(y): Likewise.
	(Mach): Likewise.
	* doc/invoke.texi (Option Summary) <Darwin Options>: Improve
	alphabetization of the list.  Remove obsolete/undocumented
	options and add missing entries.
	(Darwin Options): Add documentation for -arch, -dependency-file,
	-fapple-kext, -matt-stubs, -fconstant-cfstrings, -mdynamic-no-pic,
	-asm_macosx_version_min, -msymbol-stubs, -mtarget-linker,
	-ObjC, -ObjC++, -Wnonportable-cfstrings.  Update the list
	of options passed to the linker to remove obsolete options
	and add missing ones; also move the block of @opindex entries
	before the list items instead of putting it in the middle.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <Cygwin and MinGW Options>:
	Correct spelling of -mthreads and add missing options.
	(Cygwin and MinGW Options): Add @opindex for negative forms.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <C-SKY Options>: Remove
	entries for "Undocumented" options -EB, -EL, -mhard-float,
	-msoft-float, and nonexistent option -mcse-cc.
	(C-SKY Options): Likewise.  Also remove references to "Undocumented"
	option -mstm and uniformly index/document the -mno- forms for
	consistency with other options in this section that already do so.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/cris/cris.opt (m32-bit, m16-bit, m8-bit): Remove
	Undocumented property.
	(m32bit, m8bit): Add Undocumented property.
	* doc/invoke.texi (Option Summary) <CRIS Options>: Remove
	obsolete -melf and -maout options from table, plus redundant
	-mno-mul-bug-workaround.
	(CRIS Options): Add @opindex for -mno- forms that didn't already
	have one.  Remove obsolete -melf documentation.  Document
	-mbest-lib-options, -moverride-best-lib-options,
	-mtrap-using-break8, -mtrap-unaligned-atomic, and
	-munaligned-atomic-may-use-library.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <C6X Options>: Add -mdbst
	and -mlong-calls.
	(C6X Options): Likewise.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary) <Blackfin Options>:
	Remove redundant -mno- entries.
	(Blackfin Options): Combine explicit -mno-* documentation
	with that for the corresponding positive form of the option.
	Add @opindex entries for the negative forms of options that
	didn't already have one.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/arm/arm.opt (mapcs-reentrant): Mark as "Undocumented",
	updatehelp string for internal documentation.
	(mapcs-stack-check): Likewise update help string.
	(mprint-tune-info, mneon-for-64bits): Mark as "Undocumented".
	* doc/invoke.texi (Option Summary) <ARM Options>: Remove duplicate
	entries for negative forms and entries for options that are
	explicitly "Undocumented".  Add missing entry for
	-mpic-data-is-text-relative.  Fix some formatting issues.
	(ARM Options): Remove documentation for -mapcs-stack-check,
	-mapcs-reentrant, -mflip-thumb, -mneon-for-64-bits,
	-mprint-tune-info, and -mverbose-cost-dump.  Add index entries
	for -mno- option forms.  Minor editing for clarity.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	PR target/122288
	* config/gcn/gcn.opt (m32, m64, mgomp): Mark "Undocumented"
	since these options don't actually do anything useful.
	(flag_bypass_init_error, stack_size_opt, gang_size_opt): Correct
	opt file syntax.
	(mstack-size=): Mark "Undocumented" since it's obsolete.
	* doc/invoke.texi (Option Summary) <AMD GCN Options>:
	Remove obsolete options, add missing entries for
	-mgang-private-size=, -msram-ecc=, and -mxnack=.
	(AMD GCN Options): Likewise.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/epiphany/epiphany.opt (mlong-calls): Make it do something
	useful.
	(may-round-for-trunc): Make this undocumented option with a weird
	name an alias for -mmay-round-for-trunc.
	(mfp-iarith): Fix doc string.
	* doc/invoke.texi (Option Summary) <Adapteva Epiphany Options>:
	Add missing options.
	(Adapteva Epiphany Options): Document negative forms also when
	that is not the default, or where it's unclear.  Document
	-may-round-for-trunc and -mfp-iarith.  Fix spelling of
	-mpost-inc and -mpost-modify.

2025-11-29  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* config/aarch64/aarch64.opt (Wexperimental-fmv-target): Mark
	as "Undocumented".
	* doc/invoke.texi (Option Summary) <AArch64 Options>: Don't
	list "Undocumented" aarch64 options -mverbose-cost-dump or
	-Wexperimental-fmv-target, or both positive and negative forms
	of other options.  Add missing options.  Fix whitespace problems.
	(AArch64 Options): Light copy-editing.  Add missing @opindex
	entries	to match the documented options.  Undocument
	-mverbose-cost-dump and -Wexperimental-fmv-target.

2025-11-28  Jakub Jelinek  <jakub@redhat.com>

	* config/rs6000/rs6000.cc (complex_multiply_builtin_code):
	Avoid arithmetics between enumerators from different enum types.
	(complex_divide_builtin_code): Likewise.

2025-11-28  Jakub Jelinek  <jakub@redhat.com>

	* config/loongarch/loongarch.cc (loongarch_unspec_address_offset):
	Avoid arithmetics between enumerators from different enum types.
	(loongarch_call_tls_get_addr): Likewise.

2025-11-28  Jakub Jelinek  <jakub@redhat.com>

	* config/mips/mips.cc (mips_unspec_address_offset): Avoid
	arithmetics between enumerators from different enum types.

2025-11-28  Jakub Jelinek  <jakub@redhat.com>

	* config/riscv/riscv-v.cc (expand_const_vector_onestep): Avoid
	bitwise ops between enumerators from different enum types.
	(emit_vec_cvt_x_f): Likewise.
	(emit_vec_cvt_x_f_rtz): Likewise.
	* config/riscv/riscv.cc (riscv_unspec_address_offset): Avoid
	arithmetics between enumerators from different enum types.

2025-11-28  Sam James  <sam@gentoo.org>

	* crc-verification.cc (crc_symbolic_execution::is_used_outside_the_loop):
	Fix 'assignment' typo.

2025-11-28  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/122686
	* range-op.cc (operator_bitwise_and::op1_range): Check for
	undefined bitmask.
	* value-range.cc (prange::intersect): Handle undefined bitmask
	intersection.
	(irange::get_bitmask): Ditto.
	(irange::intersect_bitmask): Ditto.
	* value-range.h (irange_bitmask::intersect): Return false if the
	result is UNDEFINED.

2025-11-28  Tobias Burnus  <tburnus@baylibre.com>

	* config.gcc (amdgcn-*-*): Use gfx90a for 'with_arch'.
	For TM_MULTILIB_CONFIG, replace specific archs by
	gfx{9,9-4,10-3,11}-generic, keep gfx90{8,a}.
	* config/gcn/gcn.opt (march=, mtune=): Use gfx90a.
	* doc/install.texi (amdgcn): Update accordingly.

2025-11-28  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390-builtins.h
	(S390_OVERLOADED_BUILTIN_VAR_OFFSET,S390_ALL_BUILTIN_MAX): Fix
	enum arithmetic.
	* config/s390/s390.cc (OB_DEF): Ditto.

2025-11-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122844
	* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): Only
	try stripping sign conversions around ops where this is valid.

2025-11-28  Jim Lin  <jim@andestech.com>

	* config/riscv/riscv.cc (riscv_output_move): Use \n\t instead
	of semicolon to separate instructions in fmv.x.h emulation.

2025-11-28  Charlie Jenkins  <charlie@rivosinc.com>

	* config.gcc: Add cpu to supported configure options
	* config/riscv/riscv.h (riscv_arch_help): Use --with-cpu during
	compilation
	* doc/install.texi: Mention in docs that --with-cpu is supported

2025-11-28  Mark Zhuang  <mark.zhuang@spacemit.com>

	* config/riscv/riscv-cores.def (RISCV_CORE): Add xsmtvdot to
	spacemit-x60
	* config/riscv/riscv-ext.def: Add xsmtvdot
	* config/riscv/riscv-ext.opt: Ditto
	* config/riscv/t-riscv: Ditto
	* doc/riscv-ext.texi: Ditto
	* config/riscv/riscv-ext-spacemit.def: Define xsmtvdot

2025-11-28  Mark Zhuang  <mark.zhuang@spacemit.com>

	* config/riscv/riscv-ext.opt: Generated file.

2025-11-28  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/riscv-cores.def (RISCV_TUNE): Add andes-45-sereis.
	(RISCV_CORE): Add Andes 45 series cpu list.
	* config/riscv/riscv-opts.h
	(enum riscv_microarchitecture_type): Add andes_45_series.
	* config/riscv/riscv.cc: Add andes_45_tune_info.
	* config/riscv/riscv.md: Add andes_45.
	* doc/riscv-mcpu.texi: Regenerated for Andes cpu list.
	* doc/riscv-mtune.texi: Regenerated for andes-45-series.
	* config/riscv/andes-45-series.md: New file.

2025-11-28  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/riscv-cores.def (RISCV_TUNE): Add andes-23-series.
	(RISCV_CORE): Add Andes 23-series cpu list.
	* config/riscv/riscv-opts.h
	(enum riscv_microarchitecture_type): Add andes_23_series.
	* config/riscv/riscv.cc: Add andes_23_tune_info.
	* config/riscv/riscv.md: Add andes_23.
	* doc/riscv-mcpu.texi: Regenerated for Andes cpu list.
	* doc/riscv-mtune.texi: Regenerated for andes-23-series.
	* config/riscv/andes-23-series.md: New file.

2025-11-28  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/122733
	* gimple-match-head.cc (gimple_match_range_of_expr): Return false
	even when range_of_expr returns true, but the range is undefined_p.
	* match.pd ((mult (plus:s@5 (mult:s@4 @0 @1) @2) @3)): Remove
	vr0.undefined_p () check.
	((plus (mult:s@5 (plus:s@4 @0 @1) @2) @3)): Likewise.
	((X + M*N) / N -> X / N + M): Remove vr4.undefined_p () check.
	((X - M*N) / N -> X / N - M): Likewise.
	((y << x) == x, (y << x) != x): Use convert2? instead of
	nop_convert2? and test INTEGRAL_TYPE_P on TREE_TYPE (@0) rather than
	TREE_TYPE (@1).
	((y << x) {<,<=,>,>=} x): New simplification.
	(((T)(A)) + CST -> (T)(A + CST)): Remove vr.undefined_p () check.
	(x_5 == cstN ? cst4 : cst3): Remove r.undefined_p () check.

2025-11-28  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122890
	* optabs.cc (emit_cmp_and_jump_insns): Check for SSA Name.

2025-11-27  Matthieu Longo  <matthieu.longo@arm.com>

	* config/aarch64/aarch64-c.cc (aarch64_define_unconditional_macros): Define
	__ARM_BUILDATTR64_FV when BA support is detected in GAS.

2025-11-27  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/aarch64.md (ctz<mode>2): Use compact syntax.

2025-11-27  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/aarch64.md (ffs<mode>2): Use gen_ctz.
	(ctz<mode>2): Model ctz as a single target instruction.

2025-11-27  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/atomics.md (*dmb): Expand release fence into dmb ishld
	and dmb ishst.

2025-11-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-reassoc.cc (rewrite_expr_tree): Swap
	oe1 and oe2 if commutative code and not in
	canonical order.

2025-11-27  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr-mcus.def (AVR_MCUS): Add avr16la14, avr16la20,
	avr16la28, avr16la32, avr32la14, avr32la20, avr32la28, avr32la32.
	* doc/avr-mmcu.texi: Rebuild.

2025-11-27  Robin Dapp  <rdapp@ventanamicro.com>

	PR tree-optimization/122855
	PR tree-optimization/122850
	* tree-ssa-forwprop.cc (simplify_vector_constructor): Nop
	convert input if necessary.

2025-11-27  Andrew Stubbs  <ams@baylibre.com>

	* config/gcn/gcn.cc (gcn_init_cumulative_args): Emit a warning if the
	-mxnack setting looks wrong.
	* config/gcn/mkoffload.cc: Include tree.h and omp-general.h.
	(process_asm): Add omp_requires parameter.
	Emit HSA_XNACK code into mkoffload_setup, as required.
	(main): Modify HSACO_ATTR_OFF to preserve user-set -mxnack.
	Pass omp_requires to process_asm.

2025-11-27  Jakub Jelinek  <jakub@redhat.com>

	PR target/122714
	* gimple-lower-bitint.cc (bitint_large_huge::limb_access): Adjust
	MEM_REFs offset for bitint_big_endian if ltype doesn't have the
	same byte size as m_limb_type.

2025-11-27  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Fix
	recording of the mask type again.  Adjust placing of
	mask arguments for non-masked calls.

2025-11-27  Dhruv Chawla  <dhruvc@nvidia.com>

	PR tree-optimization/122733
	* match.pd ((y << x) {<,<=,>,>=} x): Remove.
	((y << x) {==,!=} x): Call constant_boolean_node instead of
	build_one_cst/build_zero_cst and combine into one pattern.

2025-11-27  Jakub Jelinek  <jakub@redhat.com>

	* fold-const.h (expr_not_equal_to): Add gimple * argument defaulted
	to NULL.
	* fold-const.cc (expr_not_equal_to): Likewise, pass it through to
	range_of_expr.
	* generic-match-head.cc (gimple_match_ctx): New static inline.
	* match.pd (X % -Y -> X % Y): Capture NEGATE and pass
	gimple_match_ctx (@2) as new 3rd argument to expr_not_equal_to.
	((A * C) +- (B * C) -> (A+-B) * C): Pass gimple_match_ctx (@3)
	as new 3rd argument to expr_not_equal_to.
	(a rrotate (bitsize-b) -> a lrotate b): Likewise.

2025-11-27  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/119683
	* gimple-match.h (gimple_match_ctx): Move to ...
	* gimple-match-head.cc (gimple_match_ctx): ... here.  Make static.
	(gimple_match_range_of_expr): New static inline.
	* match.pd ((mult (plus:s (mult:s @0 @1) @2) @3)): Use
	gimple_match_range_of_expr.
	((plus (mult:s (plus:s @0 @1) @2) @3)): Likewise.
	((t * u) / u -> t): Likewise.
	((t * u) / v -> t * (u / v)): Likewise.
	((X + M*N) / N -> X / N + M): Likewise.
	((X - M*N) / N -> X / N - M): Likewise.
	((X + C) / N -> X / N + C / N): Likewise.
	(((T)(A)) + CST -> (T)(A + CST)): Likewise
	(x_5 == cstN ? cst4 : cst3): Likewise.  Do r.set_varying
	even when gimple_match_range_of_expr failed.

2025-11-27  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-builtins.cc (arm_init_mve_builtins): Remove
	volatile qualifier.

2025-11-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122885
	* tree-vect-loop.cc (vect_find_reusable_accumulator): Reject
	mask vectors which do not use integer vector modes.
	(vect_create_partial_epilog): Assert the same.

2025-11-27  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386-options.cc (set_ix86_tune_features): Set
	gather/scatter tune if OPTION_SET_P.
	* config/i386/i386.opt: Refactor mgather/mscatter.

2025-11-27  Lulu Cheng  <chenglulu@loongson.cn>

	* doc/extend.texi: Remove the incorrect prompt message.

2025-11-27  Sandra Loosemore  <sloosemore@baylibre.com>

	* doc/invoke.texi (Option Summary) <C++ Langauge Options>:
	Add --compile-std-module.

2025-11-26  Jeff Law  <jlaw@ventanamicro.com>

	Revert:
	2025-10-14  Zhongyao Chen  <chenzhongyao.hit@gmail.com>

	* common/config/riscv/riscv-common.cc (riscv_subset_list::get_profile_name):
	New function.
	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
	profile macro if a profile is detected.
	* config/riscv/riscv-subset.h (riscv_subset_list::get_profile_name): Declare.

2025-11-26  Alejandro Colomar  <alx@kernel.org>

	* doc/extend.texi (Syntax Extensions): Document _Maxof & _Minof.

2025-11-26  Tamar Christina  <tamar.christina@arm.com>

	* optabs.cc (emit_cmp_and_jump_insns): Check for non-single use.

2025-11-26  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/122735
	* simplify-rtx.cc (simplify_binary_operation_1): When moving a SUBREG
	from an outer expression to an inner operand, make sure to avoid
	trying to create invalid SUBREGs.

2025-11-26  Richard Earnshaw  <rearnsha@arm.com>

	PR target/122867
	* config/arm/arm.cc (arm_print_operand): Use %- to
	emit LOCAL_LABEL_PREFIX.
	(arm_print_operand_punct_valid_p): Allow %- for punct
	and make %_ valid for all compilation variants.
	* config/arm/thumb2.md (*thumb2_cbz): Handle very
	large branch ranges that exceed the limit of b<cond>.
	(*thumb2_cbnz): Likewise.

2025-11-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110571
	* tree-vectorizer.h (vect_need_peeling_or_partial_vectors_p): Remove.
	* tree-vect-loop.cc (vect_need_peeling_or_partial_vectors_p):
	Fix when called on epilog loops.  Make static.
	* tree-vect-loop-manip.cc (vect_do_peeling): Do not
	re-compute LOOP_VINFO_PEELING_FOR_NITER.

2025-11-26  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/122861
	* optabs.cc (emit_cmp_and_jump_insns): Check argument instead of result.

2025-11-26  Jakub Jelinek  <jakub@redhat.com>

	* doc/invoke.texi (gnu++17): Remove comment about the default.
	(c++20): Remove note about experimental support, except add a note
	that modules are still experimental and need to be enabled separately.
	(gnu++20): Likewise.  Move here comment about the default.
	(fcoroutines): Mention it is enabled by default for C++20 and later.
	* doc/standards.texi: Document that the default for C++ is
	-std=gnu++20.

2025-11-26  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Handle
	AVX512 masking for loop masked SIMD clone call.

2025-11-26  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/122835
	* tree-eh.cc (replace_goto_queue_1): Handle GIMPLE_ASM.
	(maybe_record_in_goto_queue): Likewise.
	(lower_eh_constructs_2): Likewise.

2025-11-26  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/119683
	* gimple-match.h (gimple_match_ctx): New inline function.
	* match.pd ((mult (plus:s (mult:s @0 @1) @2) @3)): Capture
	PLUS, use get_range_query (cfun) instead of
	get_global_range_query () and pass gimple_match_ctx (@5)
	as 3rd argument to range_of_expr.
	((plus (mult:s (plus:s @0 @1) @2) @3)): Similarly for MULT,
	with @4 instead of @5.
	((t * u) / u -> t): Similarly with @2 instead of @4.
	((t * u) / v -> t * (u / v)): Capture MULT, pass gimple_match_ctx (@3)
	as 3rd argument to range_of_expr.
	((X + M*N) / N -> X / N + M): Pass gimple_match_ctx (@3) or
	gimple_match_ctx (@4) as 3rd arg to some range_of_expr calls.
	((X - M*N) / N -> X / N - M): Likewise.
	((X + C) / N -> X / N + C / N): Similarly.
	(((T)(A)) + CST -> (T)(A + CST)): Capture CONVERT, use
	get_range_query (cfun) instead of get_global_range_query ()
	and pass gimple_match_ctx (@2) as 3rd argument to range_of_expr.
	(x_5 == cstN ? cst4 : cst3): Capture EQNE and pass
	gimple_match_ctx (@4) as 3rd argument to range_of_expr.

2025-11-26  Soumya AR  <soumyaa@nvidia.com>

	* config/aarch64/aarch64-json-tunings-parser.cc: Include
	aarch64-json-tunings-parser-generated.inc.
	* config/aarch64/aarch64-json-tunings-printer.cc: Include
	aarch64-json-tunings-printer-generated.inc.
	* config/aarch64/aarch64-opts.h (AARCH64_LDP_STP_POLICY): Use
	aarch64-tuning-enums.def.
	* config/aarch64/aarch64-protos.h (AARCH64_AUTOPREFETCH_MODE): Use
	aarch64-tuning-enums.def.
	* config/aarch64/t-aarch64: Invoke
	aarch64-generate-json-tuning-routines.py if the schema is modified.
	* config/aarch64/aarch64-generate-json-tuning-routines.py: New
	maintenance script to generate JSON parser/printer routines.
	* config/aarch64/aarch64-json-tunings-parser-generated.inc: New file.
	* config/aarch64/aarch64-json-tunings-printer-generated.inc: New file.
	* config/aarch64/aarch64-tuning-enums.def: New file.

2025-11-26  Soumya AR  <soumyaa@nvidia.com>

	* config.gcc: Add aarch64-json-tunings-parser.o.
	* config/aarch64/aarch64.cc (aarch64_override_options_internal): Invoke
	aarch64_load_tuning_params_from_json if -muser-provided-CPU= is
	(aarch64_json_tunings_tests): Extern aarch64_json_tunings_tests().
	(aarch64_run_selftests): Add aarch64_json_tunings_tests().
	* config/aarch64/aarch64.opt: New option.
	* config/aarch64/t-aarch64 (aarch64-json-tunings-parser.o): New define.
	* config/aarch64/aarch64-json-schema.h: New file.
	* config/aarch64/aarch64-json-tunings-parser.cc: New file.
	* config/aarch64/aarch64-json-tunings-parser.h: New file.

2025-11-26  Soumya AR  <soumyaa@nvidia.com>

	* json.h (class object): Add get_map () method.
	(is_a_helper<json::literal *>, is_a_helper<const json::literal *>):
	New template specializations.

2025-11-26  Soumya AR  <soumyaa@nvidia.com>

	* config.gcc: Add aarch64-json-tunings-printer.o.
	* config/aarch64/aarch64.cc (aarch64_override_options_internal): Invoke
	aarch64_print_tune_params if -fdump-tuning-model= is specified.
	* config/aarch64/aarch64.opt: New option.
	* config/aarch64/t-aarch64 (aarch64-json-tunings-printer.o): New define.
	* config/aarch64/aarch64-json-tunings-printer.cc: New file.
	* config/aarch64/aarch64-json-tunings-printer.h: New file.

2025-11-26  Soumya AR  <soumyaa@nvidia.com>

	* config/aarch64/aarch64-protos.h
	(struct scale_addr_mode_cost): Remove const from struct members.
	(struct cpu_addrcost_table): Likewise.
	(struct cpu_regmove_cost): Likewise.
	(struct simd_vec_cost): Likewise.
	(struct sve_vec_cost): Likewise.
	(struct aarch64_base_vec_issue_info): Likewise.
	(struct aarch64_simd_vec_issue_info): Likewise.
	(struct aarch64_sve_vec_issue_info): Likewise.
	(struct aarch64_vec_issue_info): Likewise.
	(struct cpu_vector_cost): Likewise.
	(struct cpu_branch_cost): Likewise.
	(struct cpu_approx_modes): Likewise.
	(struct cpu_prefetch_tune): Likewise.
	* config/arm/aarch-common-protos.h
	(struct alu_cost_table): Remove const from struct members.
	(struct mult_cost_table): Likewise.
	(struct mem_cost_table): Likewise.
	(struct fp_cost_table): Likewise.
	(struct vector_cost_table): Likewise.
	(struct cpu_cost_table): Likewise.

2025-11-26  Dhruv Chawla  <dhruvc@nvidia.com>

	PR middle-end/116815
	* config/aarch64/aarch64.md
	(*aarch64_plus_within_<optab><mode>3_<ovf_commutate>): New pattern.
	(*aarch64_minus_within_<optab><mode>3): Likewise.
	* config/aarch64/iterators.md (ovf_add_cmp): New code attribute.
	(udf_sub_cmp): Likewise.
	(UMAXMIN): New code iterator.
	(ovf_commutate): New iterator.
	(ovf_comm_opp): New int attribute.

2025-11-26  Pan Li  <pan2.li@intel.com>

	* match.pd: Add pattern for SAT_MUL form 7 include
	mul and widen_mul.

2025-11-26  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-phiprop.cc (propagate_with_phi): Only
	calculate on demand post dom info when the new store
	might trap.

2025-11-26  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122847
	* tree-ssa-phiprop.cc (propagate_with_phi): Add type
	check for reuse of the phi for the delayed statements.

2025-11-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (gcc_cv_header_zstd_h): Save, restore CXXFLAGS,
	LDFLAGS.
	* configure: Regenerate.

2025-11-25  Tamar Christina  <tamar.christina@arm.com>

	PR target/118974
	* config/aarch64/aarch64-simd.md (xor<mode>3<vczle><vczbe>): Rename ...
	(@xor<mode>3<vczle><vczbe>): .. to this.
	(cbranch<mode>4): Update comments.
	(<optab><mode>): New.
	* config/aarch64/aarch64-sve.md (cbranch<mode>4): Update comment.
	(<optab><mode>): New.
	(aarch64_ptest<mode>): Rename to ...
	(@aarch64_ptest<mode>): .. this.
	* config/aarch64/iterators.md (UNSPEC_CMP_ALL, UNSPEC_CMP_ANY,
	UNSPEC_COND_CMP_ALL, UNSPEC_COND_CMP_ANY): New.
	(optabs): Add them.
	(CBRANCH_CMP, COND_CBRANCH_CMP, cbranch_op): New.
	* config/aarch64/predicates.md (aarch64_cbranch_compare_operation): New.

2025-11-25  Tamar Christina  <tamar.christina@arm.com>

	PR target/118974
	* tree-vect-stmts.cc (supports_vector_compare_and_branch): New.
	(vectorizable_early_exit): Use it.

2025-11-25  Tamar Christina  <tamar.christina@arm.com>

	PR target/118974
	* optabs.def (vec_cbranch_any_optab, vec_cbranch_all_optab,
	cond_vec_cbranch_any_optab, cond_vec_cbranch_all_optab,
	cond_len_vec_cbranch_any_optab, cond_len_vec_cbranch_all_optab): New.
	* doc/md.texi: Document them.
	* optabs.cc (prepare_cmp_insn): Refactor to take optab to check for
	instead of hardcoded cbranch and support mask and len.
	(emit_cmp_and_jump_insn_1, emit_cmp_and_jump_insns): Implement them.
	(emit_conditional_move, emit_conditional_add, gen_cond_trap): Update
	after changing function signatures to support new optabs.

2025-11-25  Jason Merrill  <jason@redhat.com>

	* doc/invoke.texi: Document --compile-std-module.
	* gcc.cc (struct infile): Add artificial field.
	(add_infile): Set it.
	(driver::prepare_infiles): Check it.

2025-11-25  Jason Merrill  <jason@redhat.com>

	* doc/invoke.texi (C++ Modules): Remove TU-local caveat.

2025-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/120052
	* gimplify.cc (gimplify_call_expr): For IFN_UBSAN_BOUNDS
	call with integer_onep first argument, change that argument
	to 0 and add TYPE_MAX_VALUE (TYPE_DOMAIN (arr_type)) to
	3rd argument before gimplification.

2025-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/120564
	* omp-expand.cc (extract_omp_for_update_vars): Use build2 instead of
	fold_build2 to build argument for gimple_build_cond_empty.

2025-11-25  Jakub Jelinek  <jakub@redhat.com>

	* alias.cc (get_alias_set): Fix comment typo, TYPE_CANOINCAL
	-> TYPE_CANONICAL.

2025-11-25  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/122624
	* tree.cc (build_bitint_type): Use type_hash_canon_hash.

2025-11-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* doc/sourcebuild.texi (Add Options): Document
	check_function_bodies.

2025-11-24  Alexandre Oliva  <oliva@adacore.com>

	PR rtl-optimization/122767
	* ira-color.cc (allocno_hard_regs_compare): Break ties
	using...
	* hard-reg-set.h (hard_reg_set_first_diff): ... this.  New
	HARD_REG_SET API entry point.

2025-11-24  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-slp.cc (vect_bb_vectorization_profitable_p):
	Multiply scalar cost by vect-scalar-cost-multiplier.

2025-11-24  Robin Dapp  <rdapp.gcc@gmail.com>

	* config/riscv/autovec.md (select_vl<mode>): Rename to...
	(select_vl<V:mode><P:mode>): ...this.
	* doc/md.texi: Document new behavior.
	* internal-fn.cc (select_vl_direct): Make
	(expand_select_vl_optab_fn): Adjust for convert optab.
	(direct_select_vl_optab_supported_p): Ditto.
	* internal-fn.def (SELECT_VL): Ditto.
	* optabs.def (OPTAB_CD): Add select_vl.
	(OPTAB_D): Remove select_vl.
	* tree-vect-loop-manip.cc (vect_set_loop_controls_directly):
	Adjust for convert select_vl optab.
	* tree-vect-loop.cc: Ditto.

2025-11-24  Robin Dapp  <rdapp.gcc@gmail.com>

	* config/riscv/autovec.md: Use V_VLS_ZVFH for vec_set.
	* config/riscv/riscv-modes.def (RVV_NF4_MODES): Add BF mdoes.
	(ADJUST_PRECISION): Ditto.
	(VECTOR_MODE_WITH_PREFIX): Ditto.
	(VLS_MODES): Ditto.
	* config/riscv/riscv-v.cc (can_be_broadcast_p): Add BF handling.
	* config/riscv/riscv-vector-switch.def (VLS_ENTRY): Add BF
	modes.
	* config/riscv/riscv.md: Ditto.
	* config/riscv/vector-iterators.md: Document modes.
	* config/riscv/vector.md: Add BF modes.

2025-11-24  Robin Dapp  <rdapp@ventanamicro.com>

	PR tree-optimization/122797
	* tree-vect-slp.cc (vect_load_perm_consecutive_p): Check
	permutation start at element 0 with value instead of starting
	at a given element.
	(vect_optimize_slp_pass::remove_redundant_permutations):
	Use start value of 0.
	* tree-vectorizer.h (vect_load_perm_consecutive_p): Set default
	value to to UINT_MAX.

2025-11-24  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-ssa-forwprop.cc (simplify_vector_constructor):
	Allow nop conversions.

2025-11-24  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.h (REGS_OK_FOR_BASE_INDEX): New define.
	* config/pa/pa.md: Update peephole2 patterns for scaled/unscaled
	indexed loads and stores.

2025-11-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122826
	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Only
	use single-lane SLP for SIMD_CLONE_ARG_TYPE_UNIFORM
	and SIMD_CLONE_ARG_TYPE_LINEAR_[REF_]CONSTANT_STEP.

2025-11-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
	    Richard Biener  <rguenther@suse.de>

	PR tree-optimization/116835
	* tree-ssa-phiprop.cc (propagate_with_phi): Admend the
	post-dom check to deal with ssa cycles.

2025-11-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/60183
	* tree-ssa-phiprop.cc (propagate_with_phi): Delay the decision
	of always rejecting proping into the loop until all are done.
	if there was some delay stmts and a phi was created fill them in.

2025-11-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/60183
	* tree-ssa-phiprop.cc (propagate_with_phi): Allow
	known non-trapping loads to happen back into the
	loop.

2025-11-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (do_simple_agr_dse): Allow
	for mismatched clobbers.

2025-11-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122633
	* tree-ssa-forwprop.cc (do_simple_agr_dse): Remove
	lhs of dead store for a call (or the whole call stmt).

2025-11-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* match.pd (`(ptr_diff (ptr_plus @0 @2) (ptr_plus @1 @2))`): Move pattern
	earlier to the other `(ptr_diff (ptr_plus) (ptr_plus))` pattern.

2025-11-24  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Move
	all SIMD clone validity checks to SIMD clone selection.
	Remove late constant/external def vector type setting and
	verification.

2025-11-24  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/122782
	* ext-dce.cc (ext_dct_process_uses): Guard against undefined shifts
	by properly checking modes on the input object.

2025-11-24  Yury Khrustalev  <yury.khrustalev@arm.com>

	PR debug/121964
	* dwarf2out.cc (gen_array_type_die): Add DW_AT_bit_stride attribute
	for array types based on element type bit precision for integer and
	boolean element types.

2025-11-24  Yury Khrustalev  <yury.khrustalev@arm.com>

	* machmode.def (VECTOR_BOOL_MODE): Fix comment.

2025-11-24  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/33994
	* fold-const.h (int_const_convert): New prototype.
	* fold-const.cc (fold_convert_const_int_from_int): Rename to...
	(int_const_convert): ...this, remove static keyword and add third
	parameter OVERFLOWABLE.
	(fold_convert_const): Call int_const_convert if ARG1 is an integer
	constant.

2025-11-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* config.gcc (aarch64-*-mingw*): Set native_system_header_dir.

2025-11-23  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa64-linux.h (GLIBC_DYNAMIC_LINKER): Define.

2025-11-23  John David Anglin  <danglin@gcc.gnu.org>

	PR target/113932
	PR target/113933
	* config/pa/pa.opt (mlra): Default to LRA instead of reload.

2025-11-23  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.cc (pa_print_operand): Use REG_POINTER
	flag to select base and index registers on targets with
	non-equivalent space registers.
	(pa_legitimate_address_p): Don't allow scaled and unscaled
	indexed addresses until reload is complete.  Allow any
	register order in unscaled addresses as long as the
	REG_POINTER flag is correctly set/unset in the base/index
	registers.
	* config/pa/predicates.md (mem_operand): Remove code to
	delay creating move insns with unscaled indexed addresses
	until CSE is not expected.
	(move_src_operand): Likewise.

2025-11-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* match.pd (1/x): Use fold_before_rtl_expansion_p.
	(`(m1 CMP m2) * d`): Likewise.

2025-11-23  Pan Li  <pan2.li@intel.com>

	* match.pd: Remove unnecessary outer convert and add
	c for the outer bit_ior.

2025-11-23  Pan Li  <pan2.li@intel.com>

	* match.pd: Add simplfy to fold outer convert of bit_op
	to inner captures.

2025-11-23  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>

	* ipa-split.cc (pass_split_functions::gate): Do not run when
	flag_auto_profile.
	(pass_feedback_split_functions::gate): Run when flag_auto_profile.

2025-11-23  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>

	* tree-ssa-loop-im.cc (is_self_write): New.
	(ref_indep_loop_p): Allow hoisting when aliasing references
	form a self write pattern.

2025-11-22  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/122701
	* ext-dce.cc (ext_dce_try_optimize_rshift): Emit a fresh reg->reg
	copy rather than modifying the existing right shift.

2025-11-22  Sandra Loosemore  <sloosemore@baylibre.com>

	* omp-general.cc (omp_context_selector_matches): Add an optional
	bool argument for the code elision case.
	* omp-general.h (omp_context_selector_matches): Likewise.

2025-11-22  Sandra Loosemore  <sloosemore@baylibre.com>

	* omp-general.cc (omp_mangle_variant_name): New.
	(omp_check_for_duplicate_variant): New.
	(omp_copy_trait_set): New.
	(omp_trait_selectors_equivalent): New.
	(omp_combine_trait_sets): New.
	(omp_merge_context_selectors): New.
	* omp-general.h (omp_mangle_variant_name): Declare.
	(omp_check_for_duplicate_variant): Declare.
	(omp_merge_context_selectors): Declare.

2025-11-22  zhaozhou  <zhaozhou@loongson.cn>

	* config/loongarch/loongarch.cc: Extract plus operation.

2025-11-22  Deng Jianbo  <dengjianbo@loongson.cn>

	* config/loongarch/loongarch.md
	(*bstrins_w_for_ior_ashift_and_extend): New template.
	(*bstrins_d_for_ior_ashift_and): New template.
	* config/loongarch/predicates.md (const_uimm63_operand): New
	predicate.

2025-11-22  zhaozhou  <zhaozhou@loongson.cn>

	* config/loongarch/lsx.md (lsx_vshuf4i_mem_w_0): Add template.
	(lsx_vldrepl_merge_w_0): Ditto.

2025-11-22  Kees Cook  <kees@kernel.org>

	* config/aarch64/aarch64-protos.h (aarch64_indirect_branch_asm):
	Declare.
	* config/aarch64/aarch64.cc (aarch64_indirect_branch_asm): New
	function to generate indirect branch with SLS barrier.
	* config/aarch64/aarch64.md (*sibcall_insn): Use
	aarch64_indirect_branch_asm.
	(*sibcall_value_insn): Likewise.

2025-11-21  Vladimir N. Makarov  <vmakarov@redhat.com>

	PR target/118358
	* lra-constraints.cc (curr_insn_transform): Move insn reloading
	constant into a register right before insn using it.

2025-11-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122762
	PR tree-optimization/122736
	PR tree-optimization/122790
	* cgraph.h (cgraph_simd_clone_arg::linear_step): Document
	use for SIMD_CLONE_ARG_TYPE_MASK.
	* omp-simd-clone.cc (simd_clone_adjust_argument_types):
	Record the number of mask arguments in linear_step if
	mask_mode is not VOIDmode.
	* tree-vect-stmts.cc (vectorizable_simd_clone_call):
	Remove num_mask_args computation, use a proper ncopies
	to query/register loop masks, use linear_step for the
	number of mask arguments when determining the number of
	mask elements in a mask argument.

2025-11-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122778
	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Honor
	a loop mask when passing the conditional mask with AVX512
	style masking.

2025-11-21  Jakub Jelinek  <jakub@redhat.com>

	PR target/122598
	* config/i386/predicates.md (const_vec_dup_operand): Remove.
	* config/i386/sse.md (cond<<insn><mode> with VI1_AVX512VL iterator):
	Remove.

2025-11-21  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/invoke.texi (Optimize Options) <-fmalloc-dce>: Remove
	trailing space.
	(AArch64 Options) <-march>: Fix pasto.

2025-11-21  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/122773
	* gimplify.cc (collect_fallthrough_labels): Check whether
	gimple_goto_dest is a LABEL_DECL before testing VACUOUS_INIT_LABEL_P.
	(expand_FALLTHROUGH_r): Likewise.

2025-11-21  Loeka Rogge  <loeka@synopsys.com>
	    Keith Packard  <keithp@keithp.com>

	PR target/120375
	* config/arc/arc.md (*<insn>si3_nobs): merged with <insn>si3_loop.
	(<insn>si3_loop): splits to relevant pattern or emits loop assembly.
	(<insn>si3_cnt1_clobber): Removes clobber for shift or rotate by
	const1.

2025-11-21  Claudiu Zissulescu  <claziss@gmail.com>
	    Michiel Derhaeg  <michiel@synopsys.com>

	* config/arc/arc.md: Modify define_insn_and_split "*extvsi_n_0"

2025-11-21  Josef Melcr  <josef.melcr@suse.com>

	* attr-callback.cc (callback_edge_callee_has_attr): New
	function.
	* attr-callback.h (callback_edge_callee_has_attr): New function
	decl.
	* ipa-prop.cc (ipa_compute_jump_functions_for_bb): Don't skip
	callback carriers when calculating jump functions.

2025-11-21  Josef Melcr  <josef.melcr@suse.com>

	PR ipa/122768
	* attr-callback.cc (callback_edge_useful_p): Rewrite the
	heuristic, now consider clones as well as icf bodies.

2025-11-21  Deng Jianbo  <dengjianbo@loongson.cn>

	* config/loongarch/constraints.md: Update constraint YI to support
	more numbers.
	* config/loongarch/loongarch-protos.h
	(loongarch_const_vector_vrepli): Rename.
	(loongarch_const_vector_vldi): Ditto.
	* config/loongarch/loongarch.cc (VLDI_NEG_MASK): New macro.
	(loongarch_parse_vldi_const): New function to check if numbers can
	be generated by {x}vldi instruction.
	(loongarch_const_vector_vrepli): Rename.
	(loongarch_const_vector_vldi): Use above function.
	(loongarch_const_insns): Call renamed function.
	(loongarch_split_vector_move_p): Ditto.
	(loongarch_output_move): Ditto.

2025-11-21  zhaozhou  <zhaozhou@loongson.cn>

	* config/loongarch/lsx.md: Fix predicate.

2025-11-20  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/121345
	* gimple-range-phi.cc (phi_group::calculate_using_modifier): Restore
	performance loss by being more selective when iterating.

2025-11-20  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/riscv-opt-popretz.cc: New file.
	* config/riscv/riscv-passes.def: Insert pass_combine_popretz before
	pass_shorten_branches.
	* config/riscv/riscv-protos.h (make_pass_combine_popretz): New
	declaration.
	* config/riscv/t-riscv: Add riscv-opt-popretz.o build rule.
	* config.gcc (riscv*): Add riscv-opt-popretz.o to extra_objs.

2025-11-20  Pan Li  <pan2.li@intel.com>

	PR target/122692
	* config/riscv/riscv.cc (riscv_expand_ustrunc): Leverage
	riscv_extend_to_xmode_reg to take care of src rtx.

2025-11-20  Tamar Christina  <tamar.christina@arm.com>

	* target.def (instruction_selection): New.
	* doc/tm.texi.in: Document it.
	* doc/tm.texi: Regenerate
	* gimple-isel.cc (pass_gimple_isel::execute): Use it.
	* targhooks.cc (default_instruction_selection): New.
	* targhooks.h (default_instruction_selection): New.

2025-11-20  Josef Melcr  <josef.melcr@suse.com>

	PR ipa/122358
	* cgraph.cc (cgraph_add_edge_to_call_site_hash): Add an early
	return when the hashed edge is a callback-carrying edge.

2025-11-20  Arsen Arsenović  <aarsenovic@baylibre.com>

	* doc/rtl.texi (Regs and Memory): Use @table instead of @itemize
	for lists with named items.

2025-11-20  Xinhui Yang  <cyan@cyano.uk>

	PR bootstrap/105664
	* Makefile.in (install-driver): detect name collision when
	installing the driver program.

2025-11-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/i386/sol2.h: Replace USE_GAS by HAVE_GNU_AS.
	Replace USE_GLD by HAVE_GNU_LD.
	* config/sol2.h: Likewise.
	* config/sparc/sol2.h: Likewise.
	* config/i386/i386.cc (i386_solaris_elf_named_section)
	[TARGET_SOLARIS]: Replace USE_GAS by HAVE_GNU_AS.
	* config/ia64/hpux.h: Likewise.
	* config.gcc: Remove usegas.h, usegld.h.
	* config/usegas.h: Remove.
	* config/usegld.h: Remove

2025-11-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/sol2.h (LINK_ARCH32_SPEC_BASE): Don't provide -YP
	defaults.  Rename to ...
	(LINK_ARCH_SPEC_BASE): ... this.
	(LINK_ARCH32_SPEC): Remove.
	(LINK_ARCH64_SPEC_BASE): Remove.
	(LINK_ARCH64_SPEC): Rename to ...
	(LINK_ARCH_SPEC_1): ... this.
	[!USE_GLD]: Simplify map.below4G use.
	(LINK_ARCH_ERROR_SPEC): New macro.
	(LINK_ARCH32_SPEC): Remove.
	(LINK_ARCH_DEFAULT_SPEC): Remove.
	(LINK_ARCH_SPEC): Simplify using LINK_ARCH_ERROR_SPEC,
	LINK_ARCH_SPEC_1.
	(SUBTARGET_EXTRA_SPECS): Remove link_arch32, link_arch64
	link_arch_default.

2025-11-20  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/lsx.md (vec_perm<mode>): Expand directly with
	RTL template.
	* config/loongarch/loongarch-protos.h
	(loongarch_expand_vec_perm): Delete.
	* config/loongarch/loongarch.cc (loongarch_expand_vec_perm):
	Delete.

2025-11-20  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/lasx.md (lasx_xvpermi_d): Add "@".
	* config/loongarch/loongarch.cc (loongarch_expand_vec_perm_1):
	Use gen_lasx_xvpermi_d instead of
	gen_lasx_xvpermi_d_{v32qi,v16hi} to deduplicate the logic.  Do
	structrual programming instead of goto and label.

2025-11-20  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/loongarch.cc (loongarch_expand_vec_perm_1):
	Clamp the selector using the twice of actual number of elements.
	Compare the clamped selector with the element number to get the
	blending mask.

2025-11-20  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/lasx.md (lasx_xvshuf_b): Remove.
	(lasx_xvshuf_<lasxfmt_f): Remove.
	(unspec): Remove UNSPEC_LASX_XVSHUF and UNSPEC_LASX_XVSHUF_B.
	* config/loongarch/lsx.md (lsx_vshuf_b): Remove.
	(lsx_vshuf_<lasxfmt_f): Remove.
	(unspec): Remove UNSPEC_LSX_VSHUF and UNSPEC_LSX_VSHUF_B.
	* config/loongarch/simd.md (unspec): Add UNSPEC_SIMD_VSHUF.
	(@simd_vshuf): New define_insn.
	(<simd_isa>_<x>vshuf_<simdfmt><_f>): New define_expand.
	* config/loongarch/loongarch.cc
	(loongarch_try_expand_lsx_vshuf_const): Call gen_simd_vshuf
	instead of gen_lasx_xvshuf and gen_lasx_xvshuf_b.
	(loongarch_expand_vec_perm_const): Likewise.

2025-11-20  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/lasx.md (lasx_xvperm_<lasxfmt_f_wd>): Add
	"@" for gen_lasx_xvperm helper.
	* config/loongarch/loongarch.cc (loongarch_expand_vec_perm_1):
	Call gen_lasx_xvperm to unify V8SF and V8SI handling.

2025-11-20  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/loongarch.cc (loongarch_expand_vec_perm_1):
	Use lasx_xvpackev_h (mask * 2, mask * 2 + 1) to "expand" the
	V4DI selector to V8SI.

2025-11-20  Xi Ruoyao  <xry111@xry111.site>

	PR target/122695
	* config/loongarch/loongarch.cc (loongarch_expand_vec_perm_1):
	Simplify and fix the logic preventing the xvshuf.* unpredictable
	behavior.

2025-11-19  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/122756
	* gimple-range-fold.cc (range_of_ssa_name_with_loop_info): Do
	not invoke SCEV if already in a SCEV call.

2025-11-19  Martin Liska  <martin.liska@hey.com>

	* common.opt.urls: Include -fuse-ld=wild

2025-11-19  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122754
	* gimple-fold.cc (get_range_strlen_tree): Use POINTER_TYPE_P instead
	of direct comparing to POINTER_TYPE.
	* gimple-ssa-sprintf.cc (format_integer): Likewise.
	* gimple-ssa-warn-access.cc (maybe_warn_nonstring_arg): Likewise.
	* gimple-ssa-warn-restrict.cc (pass_wrestrict::check_call): Likewise.
	* tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
	(is_strlen_related_p): Likewise.
	(strlen_pass::handle_assign): Likewise.

2025-11-19  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-dce.cc (simple_dce_from_worklist): Use FOR_EACH_IMM_USE_FAST instead of
	FOR_EACH_IMM_USE_STMT.

2025-11-19  Alfie Richards  <alfie.richards@arm.com>

	PR target/122763
	* config/aarch64/aarch64.cc (aarch64_layout_arg): Return NULL_RTX for
	arguments of size 0.
	(aarch64_function_arg_advance): Remove assert.

2025-11-19  Alfie Richards  <alfie.richards@arm.com>

	* doc/extend.texi (preserve_none): Minor grammar fix.

2025-11-19  Martin Liska  <martin.liska@hey.com>

	* collect2.cc (main): Add wild linker to -fuse-ld.
	* common.opt: Likewise.
	* configure: Regenerate.
	* configure.ac: Add detection for wild linker.
	* doc/invoke.texi: Document -fuse-ld=wild.
	* gcc.cc (driver_handle_option): Support -fuse-ld=wild.
	* opts.cc (common_handle_option): Likewise.

2025-11-19  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64-sve.md (vec_extract<mode><v128>,
	vec_extract<mode><v64>): New.
	* config/aarch64/iterators.md (V64, v64): New.
	* config/aarch64/predicates.md (const0_to_1_operand): New.

2025-11-19  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv-string.cc (riscv_expand_block_move_scalar):
	Fix signed vs unsigned warning.

2025-11-19  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vectorizable_load): Make dr_chain
	an auto_vec, move down to where we use it to avoid creating
	it twice.

2025-11-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122722
	* tree-vect-slp.cc (vect_analyze_slp_reductions): New
	function, split out from vect_analyze_slp.  Try SLP
	sub-groups.
	(vect_analyze_slp_reduction_group): New helper.

2025-11-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122747
	* tree-vect-stmts.cc (vectorizable_call): Handle reduction
	operations that are already conditional.

2025-11-19  Jakub Jelinek  <jakub@redhat.com>

	* tree-ssanames.cc (get_known_nonzero_bits): Fix a pasto in
	function comment, this function returns 0 if unknown rather
	than -1.

2025-11-19  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/122184
	* tree-ssa-live.cc (remove_unused_locals): Drop .DEFERRED_INIT
	calls with MEM_REF lhs based on uninitialized SSA_NAME.

2025-11-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* genmultilib: Check $enable_multilib to define DISABLE_MULTILIB.

2025-11-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/sol2.h: Check USE_GLD instead of USE_GNU_LD.

2025-11-19  Avinash Jayakar  <avinashd@linux.ibm.com>

	PR target/119130
	* config/rs6000/altivec.md (convert_4f32_8f16): Use same operand
	order for both endian format.

2025-11-19  Haochen Jiang  <haochen.jiang@intel.com>

	* common/config/i386/i386-common.cc: Adjust to P_PROC_AVX10_1.
	* config/i386/driver-i386.cc (host_detect_local_cpu):
	Move Nova Lake to under AVX512 part.
	* config/i386/i386.h (PTA_NOVALAKE): Add AVX10.1, AVX10.2,
	APX_F and MOVRS.
	* config/i386/x86-tune-sched.cc (ix86_issue_rate): Set to 8.
	* config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Add Nova
	Lake.
	* doc/invoke.texi: Adjust documentation.

2025-11-18  Edwin Lu  <ewlu@rivosinc.com>

	* config/riscv/riscv-string.cc (riscv_expand_block_move_scalar):
	Add length check.
	(expand_block_move): Ditto.
	(expand_vec_setmem): Ditto.
	* config/riscv/riscv.opt: Add param flags.

2025-11-18  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm_mve.h (__ARM_mve_typeid): Delete.
	(__ARM_mve_coerce): Delete.
	(__ARM_mve_coerce_i_scalar): Delete.
	(__ARM_mve_coerce_s8_ptr): Delete.
	(__ARM_mve_coerce_u8_ptr): Delete.
	(__ARM_mve_coerce_s16_ptr): Delete.
	(__ARM_mve_coerce_u16_ptr): Delete.
	(__ARM_mve_coerce_s32_ptr): Delete.
	(__ARM_mve_coerce_u32_ptr): Delete.
	(__ARM_mve_coerce_s64_ptr): Delete.
	(__ARM_mve_coerce_u64_ptr): Delete.
	(__ARM_mve_coerce_f_scalar): Delete.
	(__ARM_mve_coerce_f16_ptr): Delete.
	(__ARM_mve_coerce_f32_ptr): Delete.

2025-11-18  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-mve-builtins-shapes.cc (build_one): Add
	which_overload parameter.
	(inherent): Derive from overloaded_base<0>.  Add support for
	overloaded version.
	* config/arm/arm-mve-builtins-shapes.h (inherent): Update comment.
	* config/arm/arm-mve-builtins.cc (add_unique_function): Add
	support for new which_overload parameter.
	(pop_and_resolve_to): New.
	* config/arm/arm-mve-builtins.h (NONOVERLOADED_FORM)
	(OVERLOADED_FORM): New.
	(add_unique_function): Update prototype.
	(pop_and_resolve_to): New prototype.
	* config/arm/arm_mve.h (vuninitializedq): Delete.
	(vuninitializedq_u8): Delete.
	(vuninitializedq_u16): Delete.
	(vuninitializedq_u32): Delete.
	(vuninitializedq_u64): Delete.
	(vuninitializedq_s8): Delete.
	(vuninitializedq_s16): Delete.
	(vuninitializedq_s32): Delete.
	(vuninitializedq_s64): Delete.
	(vuninitializedq_f16): Delete.
	(vuninitializedq_f32): Delete.
	(__arm_vuninitializedq): Delete.

2025-11-18  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-mve-builtins-base.cc (class
	mve_function_vset_vget_lane): New.
	(vgetq_lane, vsetq_lane): New.
	* config/arm/arm-mve-builtins-base.def (vgetq_lane, vsetq_lane):
	New.
	* config/arm/arm-mve-builtins-base.h (vgetq_lane, vsetq_lane):
	New.
	* config/arm/arm-mve-builtins-shapes.cc (struct getq_lane)
	(setq_lane): New.
	* config/arm/arm-mve-builtins-shapes.h (getq_lane, setq_lane):
	New.
	* config/arm/arm_mve.h (vsetq_lane): Delete.
	(vgetq_lane): Delete.
	(vsetq_lane_f16): Delete.
	(vsetq_lane_f32): Delete.
	(vsetq_lane_s16): Delete.
	(vsetq_lane_s32): Delete.
	(vsetq_lane_s8): Delete.
	(vsetq_lane_s64): Delete.
	(vsetq_lane_u8): Delete.
	(vsetq_lane_u16): Delete.
	(vsetq_lane_u32): Delete.
	(vsetq_lane_u64): Delete.
	(vgetq_lane_f16): Delete.
	(vgetq_lane_f32): Delete.
	(vgetq_lane_s16): Delete.
	(vgetq_lane_s32): Delete.
	(vgetq_lane_s8): Delete.
	(vgetq_lane_s64): Delete.
	(vgetq_lane_u8): Delete.
	(vgetq_lane_u16): Delete.
	(vgetq_lane_u32): Delete.
	(vgetq_lane_u64): Delete.
	(__ARM_NUM_LANES): Delete.
	(__ARM_LANEQ): Delete.
	(__ARM_CHECK_LANEQ): Delete.
	(__arm_vsetq_lane_s16): Delete.
	(__arm_vsetq_lane_s32): Delete.
	(__arm_vsetq_lane_s8): Delete.
	(__arm_vsetq_lane_s64): Delete.
	(__arm_vsetq_lane_u8): Delete.
	(__arm_vsetq_lane_u16): Delete.
	(__arm_vsetq_lane_u32): Delete.
	(__arm_vsetq_lane_u64): Delete.
	(__arm_vgetq_lane_s16): Delete.
	(__arm_vgetq_lane_s32): Delete.
	(__arm_vgetq_lane_s8): Delete.
	(__arm_vgetq_lane_s64): Delete.
	(__arm_vgetq_lane_u8): Delete.
	(__arm_vgetq_lane_u16): Delete.
	(__arm_vgetq_lane_u32): Delete.
	(__arm_vgetq_lane_u64): Delete.
	(__arm_vsetq_lane_f16): Delete.
	(__arm_vsetq_lane_f32): Delete.
	(__arm_vgetq_lane_f16): Delete.
	(__arm_vgetq_lane_f32): Delete.
	(__arm_vsetq_lane): Delete.
	(__arm_vgetq_lane): Delete.
	* config/arm/mve.md (mve_vec_extract<mode><V_elem_l>): Add '@'
	prefix.
	(mve_vec_set<mode>_internal): Likewise.

2025-11-18  Christophe Lyon  <christophe.lyon@linaro.org>

	* doc/extend.texi (Half-precision Floating-point): __fp16 is now
	always available on arm.  Move x86 paragraph closer to the rest of
	the x86 information, and make it use present tense.

2025-11-18  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/117814
	* config/arm/arm-builtins.cc (arm_init_fp16_builtins): Always
	register __fp16 type.
	* config/arm/arm-mve-builtins.cc (register_builtin_tuple_types):
	Remove special handling when TARGET_HAVE_MVE_FLOAT is false.
	(register_vector_type): Likewise.
	(register_builtin_tuple_types): Likewise.
	* config/arm/arm-opts.h (arm_fp16_format_type): Add
	ARM_FP16_FORMAT_DEFAULT.
	* config/arm/arm.cc (arm_vector_mode_supported_p): Accept
	floating-point vector modes even if TARGET_HAVE_MVE_FLOAT is
	false.
	(arm_option_reconfigure_globals): Apply ARM_FP16_FORMAT_NONE if
	requested.
	* config/arm/arm.opt (mfp16-format): Default to
	ARM_FP16_FORMAT_DEFAULT.
	* config/arm/arm_mve_types.h (float16_t, float32_t): Define
	unconditionally.
	* doc/sourcebuild.texi (ARM-specific attributes): Document
	arm_v8_1m_mve_nofp_ok.

2025-11-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122736
	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Compute
	num_mask_args for all mask modes.  Pass the mask vector
	type to vect_record_loop_mask and adjust ncopies according
	to the number of mask arguments.

2025-11-18  Austin Law  <austinkylelaw@gmail.com>

	* config/riscv/riscv-cores.def: Add RISCV_TUNE and RISCV_CORE entries
	for the spacemit-x60 design.
	* config/riscv/riscv-opts.h (riscv_microarchitecture_type): Add entry
	for spacemit-x60 design.
	* config/riscv/riscv.cc (spacemit_x60_tune_info): New tune structure
	for the spacemit-x60 design.
	* config/riscv/riscv.md (tune): Add spacemit_x60.
	Include spacemit-x60.md.
	* config/riscv/spacemit-x60.md: New file
	* doc/riscv-mtune.texi: Regenerate.
	* doc/riscv-mcpu.texi: Regenerate.

2025-11-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122723
	* tree-vect-loop.cc (vect_reduction_update_partial_vector_usage):
	Handle incoming .COND_* operation.
	(vect_transform_reduction): Likewise.  Handle .COND_*
	operation when not using COND_EXPR masking in a masked loop.

2025-11-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122723
	* tree-vect-stmts.cc (supportable_widening_operation):
	Correct optab to query in the multi-step case when it is
	supposed to hit the sbool case.

2025-11-18  liuhongt  <hongtao.liu@intel.com>

	PR target/103750
	* config/i386/sse.md (*<avx512>_eq<mode>3_and15): New
	define_insn.
	(*avx512vl_eqv2di_and3): Ditto.
	* config/i386/i386.md (*ior<mode>_ccz_1): Fix the typo in the
	comments above.

2025-11-17  David Malcolm  <dmalcolm@redhat.com>

	PR analyzer/122626
	* tree-logical-location.cc
	(tree_logical_location_manager::get_parent): Return null when
	TYPE_CONTEXT is a TRANSLATION_UNIT_DECL so that we don't fail
	the assertion in assert_valid_tree.

2025-11-17  Evgeny Karpov  <evgeny@kmaps.co>

	PR diagnostics/122666
	* config/i386/x-mingw32 (LIBS): Add -lws2_32
	* diagnostics/sarif-sink.cc: Move sockets includes to before
	config.h and support __MINGW32__.

2025-11-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/97894
	* attr-fnspec.h (attr_fnspec): arg_idx, known_p, arg_specified_p,
	arg_direct_p,  arg_used_p, arg_readonly_p,
	arg_maybe_read_p, arg_maybe_written_p,
	arg_max_access_size_given_by_arg_p,
	arg_access_size_given_by_type_p,
	arg_copied_to_arg_p, arg_noescape_p, returns_arg,
	returns_noalias_p, global_memory_read_p,
	global_memory_written_p, errno_maybe_written_p, arg_eaf_flags,
	and get_str as const methods.

2025-11-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (maybe_remove_forwarder_block): Move a few
	checks earlier.

2025-11-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (tree_forwarder_block_p): Merge this and ...
	(remove_forwarder_block): This into ...
	(maybe_remove_forwarder_block): Here.
	(cleanup_tree_cfg_bb): Call only maybe_remove_forwarder_block.
	(pass_merge_phi::execute): Likewise.

2025-11-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (pass_merge_phi::execute): Add stats for the removed
	blocks.

2025-11-17  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/122575
	* simplify-rtx.cc (simplify_context::simplify_relational_operation_1):
	Use correct mode for simplified IOR expression inside equality
	conditional.

2025-11-17  Xi Ruoyao  <xry111@xry111.site>

	* simplify-rtx.cc (simplify_const_binary_operation): Simplify
	VEC_CONCAT two constant vectors.

2025-11-17  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.cc (move_computations_worker): Avoid newline
	between 'Moving statement' and actual statement dump in dumpfile.

2025-11-17  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.cc (fill_always_executed_in): Skip
	blocks not in loops when looking for possibly not returning
	calls.

2025-11-17  Victor Do Nascimento  <vicdon01@ip-10-248-139-187.eu-west-1.compute.internal>

	* cfgloop.cc (loop_exits_to_bb_p): Change return type.
	(loop_exits_from_bb_p): Likewise.
	* cfgloop.h: (loop_exits_to_bb_p): Likewise.
	(loop_exits_from_bb_p): Likewise.

2025-11-17  Alfie Richards  <alfie.richards@arm.com>

	* doc/extend.texi: (ARM C Language Extensions (ACLE)) Update ACLE URL
	and description.

2025-11-17  Artemiy Volkov  <artemiy.volkov@arm.com>

	* tree-ssa-forwprop.cc (optimize_vector_load): Inhibit
	optimization when all uses are through subvectors without
	extension.

2025-11-17  Jakub Jelinek  <jakub@redhat.com>

	* tree-core.h (enum built_in_function): Avoid arithmetics or
	bitwise operations between enumerators from different enums.
	* lto-streamer.h (lto_tag_is_gimple_code_p): Likewise.
	* gimple.h (gimple_omp_atomic_set_memory_order): Likewise.
	* common/config/i386/i386-cpuinfo.h (M_CPU_SUBTYPE_START,
	M_CPU_TYPE): Likewise.
	* tree-complex.cc (expand_complex_libcall): Likewise.
	* ipa-modref-tree.h (modref_access_node::operator ==): Change
	argument type from modref_access_node & to
	const modref_access_node &.
	* ipa-modref-tree.cc (modref_access_node::operator ==): Likewise.

2025-11-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122573
	* config/i386/i386.cc (ix86_vector_costs::finish_cost): Avoid
	using masked epilogues when an SSE epilogue would have a VF of one.

2025-11-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (gcc_cv_ld_compress_debug) <*-*-solaris2*>: Check
	for zstd compression support.
	* configure: Regenerate.
	* doc/invoke.texi (Debugging Options, gz): Document zstd.

2025-11-16  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/121345
	* gimple-range-phi.cc (phi_group::phi_group): Add modifier name.
	(phi_group::is_modifier_p): Set modifier stmt operand name.
	(phi_group::calculate_using_modifier): Bound the iteration range
	by known global range.
	(phi_analyzer::process_phi): Allow single PHIS if they meet certain
	criteria.
	* gimple-range-phi.h (m_modifier_name): New member.
	(is_modifier_p): Adjust prototype.

2025-11-16  Andrew MacLeod  <amacleod@redhat.com>

	* gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
	the PHI analysis query.
	* gimple-range-phi.cc (phi_analysis_object): Delete.
	(phi_analysis_initialize): Delete.
	(phi_analysis_finalize): Delete.
	(phi_analysis_available_p): Delete.
	(phi_analysis): Invoke a phi analyzer.
	(phi_analyzer::phi_analyzer): Preprocess all phi nodes and set
	global values for them in a query.
	(phi_analyzer::process_phi): Use query, and export any inital
	values found to the query.
	* gimple-range-phi.h (m_global): Delete.
	(phi_analysis_initialize): Delete.
	(phi_analysis_finalize): Delete.
	(phi_analysis_available_p): Delete.
	(phi_analysis): Change prototype.
	* tree-vrp.cc (execute_ranger_vrp): Call phi_analysis.

2025-11-16  Andrew MacLeod  <amacleod@redhat.com>

	* gimple-range-cache.cc (ranger_cache::update_consumers): New.
	* gimple-range-cache.h (update_consumers): New prototype.
	* gimple-range-fold.cc (fur_depend::fur_depend): Add cache ptr.
	(fur_depend::register_relation): call update_consumers.
	* gimple-range-fold.h (fur_depend): Add a cache pointer.
	* gimple-range.cc (gimple_ranger::fold_range_internal): Add cache ptr.

2025-11-16  Andrew MacLeod  <amacleod@redhat.com>

	* gimple-range.cc (gimple_ranger::update_range_info): New.
	* gimple-range.h (update_range_info): New prototype.
	* tree-ssanames.cc (set_range_info): Update the range info for
	the current range query.
	* value-query.h (update_range_info): New prototype.
	* value-query.cc (update_range_info): New default stub.

2025-11-16  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (tree_forwarder_block_p): Restore check on
	LOOPS_HAVE_PREHEADERS.

2025-11-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/sol2.h (MD_EXEC_PREFIX): Remove.

2025-11-16  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (_loop_vec_info::_loop_vec_info):
	Initialize can_use_partial_vectors_p to true.
	(vect_determine_partial_vectors_and_peeling): Add masked_p
	parameter and honor it.
	(vect_analyze_loop_2): Pass through masked_p.
	(vect_analyze_loop_1): Pass down masked_p.
	(vect_analyze_loop): Simplify check on possible masking of
	the epilog when there's no .WHILE_ULT.

2025-11-16  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_determine_partial_vectors_and_peeling):
	Remove resetting of LOOP_VINFO_USING_SELECT_VL_P.
	(vect_analyze_loop_2): Decide on partial vectors before
	deciding on decrementing IV or .SELECT_VL usage.

2025-11-16  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_determine_partial_vectors_and_peeling):
	Remove.
	(vect_need_peeling_or_partial_vectors_p): Declare.
	* tree-vect-loop.cc (vect_determine_partial_vectors_and_peeling):
	Make static.
	(vect_need_peeling_or_partial_vectors_p): Export.
	* tree-vect-loop-manip.cc (vect_do_peeling): Do not call
	vect_determine_partial_vectors_and_peeling but instead
	re-compute LOOP_VINFO_PEELING_FOR_NITER using
	vect_need_peeling_or_partial_vectors_p.

2025-11-16  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (_loop_vec_info::epil_using_partial_vectors_p):
	Remove.
	(LOOP_VINFO_EPIL_USING_PARTIAL_VECTORS_P): Likewise.
	* tree-vect-loop.cc (_loop_vec_info::_loop_vec_info):
	Do not initialize epil_using_partial_vectors_p.
	(vect_determine_partial_vectors_and_peeling): Do not set it.

2025-11-16  Lewis Hyatt  <lhyatt@gmail.com>

	* diagnostics/context.cc (num_digits): Change argument type from
	`int' to `uint64_t'.
	(test_num_digits): Add test for 64-bit argument.
	* diagnostic.h (num_digits): Adjust prototype.
	* input.cc (write_digit): Accept argument in range 0-9 instead of
	an arbitrary int.
	(write_digit_row): Adjust to change in write_digit().

2025-11-15  Jason Xu  <bravejason@outlook.com>

	* config.gcc (aarch64-*-mingw*): Set use_gcc_stdint to wrap.

2025-11-15  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv.cc (risc_legitimize_move): Use convert_modes
	rather than gen_extend_insn for most cases.
	* config/riscv/riscv.md (addv<mode>4): Likewise.
	(uaddv<mode>4, subv<mode>4, usubv<mode>4): Likewise.
	(mulv<mode>4, umulv<mode>4): Likewise.
	* config/riscv/sync.md (atomic_compare_and_swap<mode>): Likewise.

2025-11-15  Karl Meakin  <karl.meakin@arm.com>

	* config/aarch64/aarch64.md (mov<GPF:mode><GPI:mode>cc): Delete.

2025-11-15  Karl Meakin  <karl.meakin@arm.com>

	* config/aarch64/aarch64.md(mov<ALLI_GPF:mode>cc): Use new predicate.
	(mov<GPF:mode><GPI:mode>cc): Likewise.
	(<neg_not_op><mode>cc): Likewise.
	* config/aarch64/predicates.md (aarch64_comparison_operator_cc):
	New predicate.

2025-11-15  Karl Meakin  <karl.meakin@arm.com>

	* config/aarch64/aarch64.md (mov<ALLI_GPF:mode>): Delete
	redundant check.
	(mov<GPF:mode><GPI:mode>cc): Likewise.
	(<neg_not_op><mode>cc): Likewise.

2025-11-15  Karl Meakin  <karl.meakin@arm.com>

	* config/aarch64/aarch64.md (mov<ALLI>cc): Merge with ...
	(mov<ALLI>cc): ... this.
	* config/aarch64/iterators.md(ALLI_GPF): New mode iterator.

2025-11-15  Karl Meakin  <karl.meakin@arm.com>

	* config/aarch64/aarch64.md(mov<GPF>cc): Accept MODE_CC
	conditions directly; reject QI/HImode conditions.

2025-11-14  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/riscv.cc (andes_25_tune_info): Add prefer-agnostic.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-mve-builtins-base.cc (enum which_scalar_shift):
	Add ss_SQRSHR, ss_SQSHL, ss_SRSHR, ss_UQRSHL, ss_UQSHL, and
	ss_URSHR.
	(mve_function_scalar_shift): Add support for ss_SQRSHR, ss_SQSHL,
	ss_SRSHR, ss_UQRSHL, ss_UQSHL, and ss_URSHR.
	(sqrshr, sqshl, srshr, uqrshl, uqshl, urshr): New.
	* config/arm/arm-mve-builtins-base.def (sqrshr, sqshl, srshr)
	(uqrshl, uqshl, urshr): New.
	* config/arm/arm-mve-builtins-base.h (sqrshr, sqshl, srshr)
	(uqrshl, uqshl, urshr): New.
	* config/arm/arm-mve-builtins-shapes.cc (scalar_s32_shift): New.
	(scalar_s32_shift_imm): New.
	(scalar_u32_shift): New.
	(scalar_u32_shift_imm): New.
	* config/arm/arm-mve-builtins-shapes.h (scalar_s32_shift): New.
	(scalar_s32_shift_imm): New.
	(scalar_u32_shift): New.
	(scalar_u32_shift_imm): New.
	* config/arm/arm_mve.h (sqrshr): Delete.
	(sqshl): Delete.
	(srshr): Delete.
	(uqrshl): Delete.
	(uqshl): Delete.
	(urshr): Delete.
	(__arm_uqrshl): Delete.
	(__arm_sqrshr): Delete.
	(__arm_uqshl): Delete.
	(__arm_urshr): Delete.
	(__arm_sqshl): Delete.
	(__arm_srshr): Delete.
	* config/arm/mve.md (mve_sqshl_si, mve_srshr_si): Fix operand 1
	mode.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-mve-builtins-base.cc (enum which_scalar_shift):
	Add ss_SQSHLL, ss_SRSHRL, ss_UQSHLL, ss_URSHRL.
	(mve_function_scalar_shift): Add support for ss_SQSHLL, ss_SRSHRL,
	ss_UQSHLL, ss_URSHRL.
	* config/arm/arm-mve-builtins-base.def (sqshll, srshrl, uqshll)
	(urshrl): New.
	* config/arm/arm-mve-builtins-base.h (sqshll, srshrl, uqshll)
	(urshrl): New.
	* config/arm/arm-mve-builtins-shapes.cc (scalar_s64_shift_imm)
	(scalar_u64_shift_imm): New.
	* config/arm/arm-mve-builtins-shapes.h (scalar_s64_shift_imm)
	(scalar_u64_shift_imm): New.
	* config/arm/arm_mve.h (sqshll): Delete.
	(srshrl): Delete.
	(uqshll): Delete.
	(urshrl): Delete.
	(__arm_uqshll): Delete.
	(__arm_urshrl): Delete.
	(__arm_srshrl): Delete.
	(__arm_sqshll): Delete.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-mve-builtins-base.cc (enum which_scalar_shift):
	Add ss_SQRSHRL, ss_SQRSHRL_SAT48.
	(mve_function_scalar_shift): Add support for ss_SQRSHRL,
	ss_SQRSHRL_SAT48.
	(sqrshrl, sqrshrl_sat48): New.
	* config/arm/arm-mve-builtins-base.def (sqrshrl, sqrshrl_sat48): New.
	* config/arm/arm-mve-builtins-base.h (sqrshrl, sqrshrl_sat48): New.
	* config/arm/arm_mve.h (sqrshrl): Delete.
	(sqrshrl_sat48): Delete.
	(__arm_sqrshrl): Delete.
	(__arm_sqrshrl_sat48): Delete.
	* config/arm/mve.md (mve_sqrshrl_sat<supf>_di): Add '@' prefix.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-mve-builtins-base.cc (enum which_scalar_shift):
	Add ss_UQRSHLL, ss_UQRSHLL_SAT48.
	(mve_function_scalar_shift): Add support for ss_UQRSHLL,
	ss_UQRSHLL_SAT48.
	* config/arm/arm-mve-builtins-base.def (uqrshll, uqrshll_sat48):
	New.
	* config/arm/arm-mve-builtins-base.h (uqrshll, uqrshll_sat48):
	New.
	* config/arm/arm_mve.h (uqrshll): Delete.
	(uqrshll_sat48): Delete.
	(__arm_uqrshll): Delete.
	(__arm_uqrshll_sat48): Delete.
	* config/arm/mve.md (mve_uqrshll_sat<supf>_di): Add '@' prefix.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-mve-builtins-base.cc (class mve_function_vpnot): New.
	(vpnot): New.
	* config/arm/arm-mve-builtins-base.def (vpnot): New.
	* config/arm/arm-mve-builtins-base.h (vpnot): New.
	* config/arm/arm-mve-builtins-shapes.cc (struct vpnot): New.
	* config/arm/arm-mve-builtins-shapes.h (vpnot): New.
	* config/arm/arm_mve.h (vpnot): Delete.
	(__arm_vpnot): Delete.

2025-11-14  Filip Kastl  <fkastl@suse.cz>

	* doc/invoke.texi: Remove mention of switch-lower-slow-alg-max-cases.
	* params.opt: Remove switch-lower-slow-alg-max-cases.

2025-11-14  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*sub<mode>_3):
	Remove 'i' from operand 0 constraint.

2025-11-14  Richard Biener  <rguenther@suse.de>

	PR ipa/122663
	* ipa-param-manipulation.cc (purge_all_uses): Collect
	stmts to remove and process that list in reverse.

2025-11-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122573
	* tree-vect-slp.cc (vect_build_slp_tree_1): Support
	groups of invariant loads.
	(vect_build_slp_tree_2): Likewise.
	(vect_transform_slp_perm_load_1): Likewise.
	* tree-vect-stmts.cc (vectorizable_load): Handle non-splat
	SLP for invaraint loads.

2025-11-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122680
	* tree-vect-stmts.cc (vectorizable_conversion): Avoid range
	queries during transform.

2025-11-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/121458
	PR target/121457
	* configure.ac: Fix typos.
	<*-*-solaris2*>: Require GNU ld 2.30.
	(comdat_group) <*-*-solaris2.1[1-9]*>: Always set to yes.
	(ld_ix86_gld_32_opt): Only use -melf_i386_sol2 for Solaris target.
	(ld_ix86_gld_64_opt): Likewise with -melf_x86_64_sol.
	(gcc_cv_ld_eh_frame_hdr) <*-*-solaris2*>: Likewise.
	(gcc_cv_ld_pie) <*-*-solaris2*>: Remove special cases.
	(gcc_cv_ld_compress_debug) <*-*-solaris2*>: Remove guard.
	(gcc_cv_ld_as_needed): Simplify guard.
	(gcc_cv_ld_sol2_emulation): Remove.
	(gcc_cv_solaris_crts): Remove.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Remove !HAVE_LD_PIE
	support.
	(ENDFILE_CRTEND_SPEC): Likewise.
	(LD_PIE_SPEC): Likewise.
	[USE_GLD] (LINK_EH_SPEC): Set unconditionally.
	* config/i386/sol2.h [USE_GLD]: Remove !HAVE_LD_SOL2_EMULATION
	support.
	* config/sparc/sol2.h: Likewise.
	* doc/install.texi (Specific, *-*-solaris2*): Update bundled gcc
	versions.
	Raise required binutils version.
	Remove binutils 2.44 caveat.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/122216
	* config/arm/arm-mve-builtins-base.cc (enum which_scalar_shift): New.
	(mve_function_scalar_shift): New.
	(asrl, lsll): New.
	* config/arm/arm-mve-builtins-base.def (asrl, lsll): New.
	* config/arm/arm-mve-builtins-base.h (asrl, lsll): New.
	* config/arm/arm_mve.h (asrl): Delete.
	(lsll): Delete.
	(__arm_asrl): Delete.
	(__arm_lsll): Delete.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/122216
	* config/arm/arm-mve-builtins-shapes.cc (scalar_s64_shift): New.
	(scalar_u64_shift): New.
	* config/arm/arm-mve-builtins-shapes.h: Likewise.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/122216
	* config/arm/arm.md (ashldi3, ashrdi3): Force shift amount into
	QImode.
	* config/arm/constraints.md: Fix comment, Pg is valid in Thumb-2
	state only.
	* config/arm/mve.md (mve_asrl): Handle various shift amount ranges.
	(mve_asrl_imm, mve_asrl_internal): New patterns.
	(mve_lsll): Handle various shift amount ranges.
	(mve_lsll_imm, mve_lsll_internal): New patterns.

2025-11-14  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/122216
	* config/arm/thumb2.md (thumb2_asrl, thumb2_lsll, thumb2_lsrl):
	Move to ...
	* config/arm/mve.md (mve_asrl, mve_lsll, mve_lsrl): ... here. Use
	match_operand instead of match_dup.
	* config/arm/arm.md (ashldi3, ashrdi3, lshrdi3): Remove useless
	copy. Update for new prototype.

2025-11-14  Xi Ruoyao  <xry111@xry111.site>

	* configure: Regenerate.

2025-11-14  zhaozhou  <zhaozhou@loongson.cn>

	* config/loongarch/lasx.md (lasx_xvbsrl_d_f): New template.
	* config/loongarch/loongarch.cc (emit_reduc_half): Replace insn.

2025-11-14  zhaozhou  <zhaozhou@loongson.cn>

	* config/loongarch/predicates.md: Update ops.

2025-11-14  zhaozhou  <zhaozhou@loongson.cn>

	* config.gcc: Add target_gtfiles.
	* config/loongarch/loongarch-builtins.cc: Add header file.

2025-11-13  Alexandre Oliva  <oliva@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	* config/vxworks/base/b_NULL.h: New.
	* config.gcc (extra_headers) <*-*-vxworks*>: Add it.
	* Makefile.in (stmp-int-hdrs): Support /././ markers in USER_H
	to mark the beginning of the install name.  Document.
	* doc/sourcebuild.texi (Headers): Document /././ marker.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (tree_forwarder_block_p): Remove must argument.
	(remove_forwarder_block): Add can_split
	argument. Handle the splitting case (iff phis in bb).
	(cleanup_tree_cfg_bb): Update argument to tree_forwarder_block_p.
	(remove_forwarder_block_with_phi): Remove.
	(pass_merge_phi::execute): Update argument to tree_forwarder_block_p
	and call remove_forwarder_block instead of remove_forwarder_block_with_phi.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122493
	* tree-cfgcleanup.cc (tree_forwarder_block_p): Change bool argument
	to a must have phi and allow phis if it is false.
	(remove_forwarder_block): Add support for merging of forwarder blocks
	with phis.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfg.cc (copy_phi_arg_into_existing_phi): Use the original location
	if the mapped location is unknown.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfg.cc (copy_phi_arg_into_existing_phi): New use_map argument.
	* tree-cfg.h (copy_phi_arg_into_existing_phi): Update declaration.
	* tree-cfgcleanup.cc (remove_forwarder_block_with_phi): Use
	copy_phi_arg_into_existing_phi instead of inlining it.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (remove_forwarder_block): Move
	variable declaration ei into for loop.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (remove_forwarder_block_with_phi): Use
	edge iterator instead of while loop.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (remove_forwarder_block): Remove check
	on the available dominator information.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (tree_forwarder_block_p): Reject bb which has a single
	predecessor which has a single successor.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (pass_merge_phi::execute): Move
	check for abnormal or no phis to remove_forwarder_block_with_phi
	and the check on dominated to tree_forwarder_block_p.
	(remove_forwarder_block_with_phi): here.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (remove_forwarder_block_with_phi): Remove check on non-local label.
	(remove_forwarder_block): Remove check on non-label/eh landing pad.
	(tree_forwarder_block_p): Add check on lable for an eh landing pad.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (remove_forwarder_block): Remove check for infinite loop.
	(remove_forwarder_block_with_phi): Likewise. Also remove check for loop header.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-cfgcleanup.cc (pass_merge_phi::execute): Remove worklist.

2025-11-13  Jeff Law  <jlaw@ventanamicro.com>

	* ext-dce.cc (ext_dce_try_optimize_rshift): New function to optimize a
	shift pair implementing a zero/sign extension.
	(ext_dce_try_optimize_extension): Renamed from
	ext_dce_try_optimize_insn.
	(ext_dce_process_uses): Handle shift pairs implementing extensions.

2025-11-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122637
	* tree-scalar-evolution.cc (final_value_replacement_loop): Fix order
	of gimplification and constant prop.

2025-11-13  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/122627
	* lra-constraints.cc (update_equiv): Remove patch from last week
	related to pr122321.
	(lra_constraints): Expand the equivalence array after eliminations
	are complete.

2025-11-13  Xi Ruoyao  <xry111@xry111.site>

	* configure.ac (HAVE_AS_16B_ATOMIC): Define if the assembler
	supports LSX and sc.q.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/loongarch/loongarch-opts.h (HAVE_AS_16B_ATOMIC):
	Defined to 0 if undefined yet.
	* config/loongarch/linux.h (HAVE_IFUNC_FOR_LIBATOMIC_16B):
	Define as HAVE_AS_16B_ATOMIC && OPTION_GLIBC.
	* config/loongarch/loongarch-protos.h
	(loongarch_16b_atomic_lock_free_p): New prototype.
	* config/loongarch/loongarch.cc
	(loongarch_16b_atomic_lock_free_p): Implement.
	* config/loongarch/sync.md (atomic_storeti_lsx): Require
	loongarch_16b_atomic_lock_free_p.
	(atomic_storeti): Likewise.
	(atomic_exchangeti_scq): Likewise.
	(atomic_exchangeti): Likewise.
	(atomic_compare_and_swapti): Likewise.
	(atomic_fetch_<amop_ti_fetch>ti_scq): Likewise.
	(atomic_fetch_<amop_ti_fetch>ti): Likewise.
	(ALL_SC): Likewise for TImode.
	(atomic_storeti_scq): Remove.

2025-11-13  Richard Biener  <rguenther@suse.de>

	* config/i386/i386-features.cc (pass_x86_cse::x86_cse): Delete
	loads.

2025-11-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR other/122638
	* doc/install.texi (Configuration, --enable-x86-64-mfentry): Fix
	typo.

2025-11-13  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386.md (*ior<mode>_ccz_1): New define_insn.

2025-11-13  Alice Carlotti  <alice.carlotti@arm.com>

	* config/aarch64/driver-aarch64.cc
	(host_detect_local_cpu): Extend feature string syntax.

2025-11-13  Richard Biener  <rguenther@suse.de>

	* tree-ssa-dce.cc (simple_dce_from_worklist): For calls
	with side-effects remove their LHS.

2025-11-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64-simd.md (*eor3q<mode>4): New insn to be used by
	combine after reload to optimize any grouping of eor's that are using FP
	registers for scalar modes.

2025-11-13  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/riscv-target-attr.cc (riscv_process_target_str): Clean
	the final byte of str_to_check.

2025-11-12  David Malcolm  <dmalcolm@redhat.com>

	PR diagnostics/115970
	* diagnostics/sarif-sink.cc (maybe_open_sarif_sink_for_socket):
	Add "%m" to error messages, so that we print the string form of
	errno.

2025-11-12  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/sarif-sink.cc (class unique_fd): New.
	(sarif_socket_sink::sarif_socket_sink): Convert "fd" arg and m_fd
	from int to unique_fd.
	(~sarif_socket_sink): Drop.
	(sarif_socket_sink::dump_kind): Update for m_fd becoming a
	unique_fd.
	(sarif_socket_sink::m_fd): Convert from "int" to "unique_fd".
	(maybe_open_sarif_sink_for_socket): Likewise for "sfd".

2025-11-12  Philipp Tomsich  <philipp.tomsich@vrull.eu>

	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1c.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* doc/invoke.texi: Document the above.

2025-11-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/i386/i386.opt.urls: Regenerate.
	* config/s390/s390.opt.urls: Ditto.
	* doc/invoke.texi: Add documentation for
	-mstack-protector-guard= and -mstack-protector-guard-record.

2025-11-12  Arsen Arsenović  <arsen@aarsen.me>

	* doc/invoke.texi (Diagnostic Message Formatting Options): Add
	index entries for SARIF and HTML output formats.

2025-11-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122653
	* tree-scalar-evolution.cc (interpret_rhs_expr): Handle
	POINTER_DIFF_EXPR.

2025-11-12  Christophe Lyon  <christophe.lyon@linaro.org>
	    Richard Earnshaw  <rearnsha@arm.com>

	PR target/122175
	* config/arm/iterators.md (asm_const_size): New mode attr.
	* config/arm/mve.md (@mve_<mve_insn>q_n_<supf><mode>): Use it.

2025-11-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/122539
	* config/arm/arm.cc (comp_not_to_clear_mask_str_un): Skip partial
	register clearing logic for FP_REGS.
	(compute_not_to_clear_mask): Likewise.

2025-11-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/122539
	* config/arm/arm.cc (comp_not_to_clear_mask_str_un): Update
	not_to_clear_reg_mask for union members.

2025-11-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390-opts.h (enum stack_protector_guard): Define
	SP_TLS and SP_GLOBAL.
	* config/s390/s390.h (TARGET_SP_GLOBAL_GUARD): Define predicate.
	(TARGET_SP_TLS_GUARD): Define predicate.
	* config/s390/s390.md (stack_protect_global_guard_addr<mode>):
	New insn.
	(stack_protect_set): Also deal with a global guard.
	(stack_protect_test): Also deal with a global guard.
	* config/s390/s390.opt (-mstack-protector-guard={global,tls}):
	New option.
	(-mstack-protector-guard-record) New option.

2025-11-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122647
	* tree-vect-stmts.cc (vectorizable_conversion): Fix guard on
	bool to non-bool conversion.
	* tree-vect-patterns.cc (vect_recog_bool_pattern): Also handle
	FLOAT_EXPR from bool.

2025-11-12  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/andes-25-series.md: New file.
	* config/riscv/riscv-cores.def (RISCV_TUNE): Add andes-25-series.
	(RISCV_CORE): Add Andes 25-series cpu list.
	* config/riscv/riscv-opts.h
	(enum riscv_microarchitecture_type): Add andes_25_series_.
	* config/riscv/riscv.cc: Add andes_25_tune_info.
	* config/riscv/riscv.md: Add andes_25.
	* doc/riscv-mcpu.texi: Regenerated for Andes cpu list.
	* doc/riscv-mtune.texi: Regenerated for andes-25-series.

2025-11-11  Andrew Stubbs  <ams@baylibre.com>

	* config/gcn/mkoffload.cc (process_asm): Replace "configure_stack_size"
	constructor with a new regular function, "mkoffload_setup".
	(process_obj): Call mkoffload_setup from the "init" constructor.

2025-11-11  David Malcolm  <dmalcolm@redhat.com>

	PR diagnostics/115970
	* diagnostics/sarif-sink.cc: Include <sys/un.h> and <sys/socket.h>.
	(sarif_builder::end_group): Update comment.
	(sarif_sink::on_end_group): Drop "final".
	(class sarif_socket_sink): New subclass.
	(maybe_open_sarif_sink_for_socket): New function.
	* diagnostics/sarif-sink.h: (maybe_open_sarif_sink_for_socket):
	New decl.
	* doc/invoke.texi (EXPERIMENTAL_SARIF_SOCKET): Document new
	environment variable.
	* toplev.cc: Define INCLUDE_VECTOR. Add include of
	"diagnostics/sarif-sink.h".
	(toplev::main): Call
	diagnostics::maybe_open_sarif_sink_for_socket.

2025-11-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122587
	* tree-vectorizer.cc (pass_vectorize::execute): Enable
	ranger around analysis and code generation.

2025-11-11  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-niter.cc (simplify_using_initial_conditions):
	Use the active ranger to simplify boolean expressions.

2025-11-11  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/crypto.md (packf splitters): Variant with
	operands reversed.  Add variants with the ashift/sign extend
	exchanged as well.

2025-11-11  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv.cc (riscv_extend_to_xmode_reg): Simplify
	by using convert_modes + force_reg.

2025-11-11  Richard Biener  <rguenther@suse.de>

	* gimple-range.cc (gimple_ranger::range_on_edge): Pass
	the edge as 'edge' to get_tree_range.
	(dom_ranger::range_on_edge): Likewise.

2025-11-11  Andrew MacLeod  <amacleod@redhat.com>

	* value-query.cc (range_query::invoke_range_of_expr): New
	edge argument.  If set invoke range_on_edge.
	(range_query::get_tree_range): Likewise and adjust.
	* value-query.h (range_query::invoke_range_of_expr): New
	edge argument.
	(range_query::get_tree_range): Likewise.

2025-11-11  Dhruv Chawla  <dhruvc@nvidia.com>

	* match.pd: New patterns.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* doc/extend.texi: Add description for LoongArch function
	attributes.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_can_inline_p):
	Do not inline when callee is versioned but caller is not.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_option_same_function_versions): Compare the target
	attributes in two functions to determine which function’s
	features get higher priority.
	(TARGET_OPTION_SAME_FUNCTION_VERSIONS): Define.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch-protos.h
	(loongarch_parse_fmv_features): Modify the type of parameter.
	(loongarch_compare_version_priority): Function declaration.
	* config/loongarch/loongarch-target-attr.cc
	(enum features_prio): Define LA_PRIO_MAX to indicate the
	highest priority of supported attributes.
	(loongarch_parse_fmv_features): Added handling of setting
	priority in attribute string.
	(loongarch_compare_version_priority): Likewise.
	* config/loongarch/loongarch.cc
	(loongarch_process_target_version_attr): Likewise.
	(get_feature_mask_for_version): Likewise.
	(loongarch_compare_version_priority): Delete.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_compare_version_priority): Returns true if DECL1
	and DECL2 are versions of the same function.
	(TARGET_COMPARE_VERSION_PRIORITY): Define.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/genopts/gen-evolution.awk:
	* config/loongarch/loongarch-evol-attr.def: Regenerate.
	* config/loongarch/loongarch-protos.h
	(loongarch_parse_fmv_features): Function declaration.
	(get_feature_mask_for_version): Likewise.
	* config/loongarch/loongarch-target-attr.cc
	(enum features_prio): Defining the priority of features.
	(struct loongarch_attribute_info): Add members about
	features.
	(LARCH_ATTR_MASK): Likewise.
	(LARCH_ATTR_ENUM): Likewise.
	(LARCH_ATTR_BOOL): Likewise.
	(loongarch_parse_fmv_features): Parse a function
	multiversioning feature string STR.
	* config/loongarch/loongarch.cc
	(get_suffixed_assembler_name): Return an identifier for the
	base assembler name of a versioned function.
	(get_feature_mask_for_version): Get the mask and priority of
	features.
	(add_condition_to_bb): Insert judgment statements for different
	features functions.
	(dispatch_function_versions): Generates the dispatch function for
	multi-versioned functions.
	(make_resolver_func): Make the resolver function decl to dispatch
	the versions of a multi-versioned function.
	(loongarch_generate_version_dispatcher_body): Generate the
	dispatcher logic to invoke the right function version at run-time
	for a given set of function versions.
	(TARGET_GENERATE_VERSION_DISPATCHER_BODY): Define.
	* common/config/loongarch/cpu-features.h: New file.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc (INCLUDE_STRING): Include.
	(loongarch_mangle_decl_assembler_name): New function.
	(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Define.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_get_function_versions_dispatcher): New function.
	(TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): Define.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_process_target_version_attr): New function.
	(loongarch_option_valid_version_attribute_p): New function.
	(TARGET_OPTION_VALID_VERSION_ATTRIBUTE_P): Define.
	* config/loongarch/loongarch.h
	(TARGET_HAS_FMV_TARGET_ATTRIBUTE): Define it to 0.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/genopts/gen-evolution.awk: Output the
	info needed for handling evolution features when parsing
	the target pragma and attribute.
	* config/loongarch/genopts/genstr.sh: Add support for
	generating *.def files.
	* config/loongarch/loongarch-target-attr.cc
	(struct loongarch_attribute_info): Add structure member
	record option mask.
	(LARCH_ATTR_MASK): New macro.
	(LARCH_ATTR_ENUM): Likewise.
	(LARCH_ATTR_BOOL): Likewise.
	(loongarch_handle_option): Support for new options.
	(loongarch_process_one_target_attr): Added support for
	the la64v1.1 extended instruction set.
	* config/loongarch/t-loongarch: Generate loongarch-evol-attr.def.
	* doc/extend.texi: Add new attribute description information.
	* config/loongarch/loongarch-evol-attr.def: Generate.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch-target-attr.cc
	(loongarch_process_one_target_attr): Fix ICE.

2025-11-11  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122629
	* tree-if-conv.cc (factor_out_operators): Reject
	BIT_FIELD_REF and BIT_INSERT_EXPR if operand other
	than 0 is different.

2025-11-11  Jakub Jelinek  <jakub@redhat.com>

	PR lto/122620
	* gimplify-me.cc (gimple_regimplify_operands): Don't try to regimplify
	TREE_CLOBBER on rhs of gimple_clobber_p if it has gimple_reg_type.

2025-11-11  Hu, Lin1  <lin1.hu@intel.com>

	PR target/122446
	* config/i386/amxavx512intrin.h (_tile_cvtrowps2bf16hi_internal):
	Input register name by inline asm %c[...], and remove %% before tmm
	from intel side.
	(_tile_cvtrowps2bf16li_internal): Ditto.
	* config/i386/amxbf16intrin.h (_tile_dpbf16ps_internal): Ditto
	* config/i386/amxcomplexintrin.h (_tile_cmmimfp16ps_internal): Ditto
	(_tile_cmmrlfp16ps_internal): Ditto
	(_tile_cmmimfp16ps): Ditto
	(_tile_cmmrlfp16ps): Ditto
	* config/i386/amxfp16intrin.h (_tile_dpfp16ps_internal): Ditto
	(_tile_dpfp16ps): Ditto
	* config/i386/amxfp8intrin.h (_tile_dpbf8ps_internal): Ditto
	(_tile_dpbhf8ps_internal): Ditto
	(_tile_dphbf8ps_internal): Ditto
	(_tile_dphf8ps_internal): Ditto
	(_tile_dpbf8ps): Ditto
	(_tile_dpbhf8ps): Ditto
	(_tile_dphbf8ps): Ditto
	(_tile_dphf8ps): Ditto
	* config/i386/amxint8intrin.h (_tile_int8_dp_internal): Ditto
	* config/i386/amxmovrsintrin.h (_tile_loaddrs_internal): Ditto
	(_tile_loaddrst1_internal): Ditto
	(_tile_loaddrs): Ditto
	(_tile_loaddrst1): Ditto
	* config/i386/amxtf32intrin.h (_tile_mmultf32ps_internal): Ditto
	* config/i386/amxtileintrin.h (_tile_loadd): Ditto
	(_tile_loadd_internal): Ditto
	(_tile_stream_loadd): Ditto
	(_tile_stream_loadd_internal): Ditto
	(_tile_stored): Ditto
	(_tile_stored_internal): Ditto
	(_tile_zero): Ditto
	(_tile_zero_internal): Ditto

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* common.opt.urls: Regenerated.
	* config/dragonfly.opt.urls: Regenerated.
	* config/freebsd.opt.urls: Regenerated.
	* config/gcn/gcn.opt.urls: Regenerated.
	* config/gnu-user.opt.urls: Regenerated.

2025-11-10  Sam James  <sam@gentoo.org>

	* acinclude.m4: Quote "$gcc_cv_nm" and friends.
	* configure.ac: Ditto.
	* configure: Regenerate.

2025-11-10  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/122605
	* builtins.cc (expand_ifn_atomic_bit_test_and): Split out the call to
	build_call_nary into two different statements.
	(expand_ifn_atomic_op_fetch_cmp_0): Likewise.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* common.opt: Clean up comments/documentation for -fident.
	* doc/invoke.texi: Move -Qy/-Qn documentation from System V options
	and combine with -fident/-fno-ident entry.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* common.opt: Add comments/documentation for -N, -Q, -S, -T,
	-Tbss, -Tdata, -Ttext, -Z, -n, -Q, -s, -t, -z.
	* doc/invoke.texi: Add documentation for -Tbss, -Tdata, -Ttext,
	-N, -n, -t, -Z.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	PR rtl-optimization/120064
	* doc/invoke.texi: Document -fconcepts-diagnostics-depth,
	-Wdeprecated-copy-dtor, -Wformat-diag, -Wcannot-profile,
	-fvar-tracking-uninit, -gno-pubnames, -finline-atomics,
	-fext-dce, -fipa-icf-functions, -fipa-icf-variables,
	-fprofile, -fdump-internal-locations, and -Wopenacc-dims.
	Minor copy-editing and rearrangement of items in the option
	summary lists.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/cppdiropts.texi: Document --include-directory,
	--include-directory-after, --include-barrier, --include-prefix,
	--include-with-prefix, --include-with-prefix-after,
	--include-with-prefix-before, --no-standard-includes.
	--embed-directory.
	* doc/cppopts.texi: Document --define-macro, --undefine-macro,
	--include, --imacros, --dependencies, --user-dependencies,
	--print-missing-file-dependencies, --write-dependencies,
	--write-user-dependencies, --comments, --comments-in-macros,
	--no-line-commands, --traditional, --traditional-cpp,
	--trigraphs, --trace-includes, --dump.
	* doc/invoke.texi: Add missing long options to Option Summary.
	Document --language, --compile, --assemble, --preprocess,
	--output, --dumpbase, --dumpbase-ext, --dumpdir,
	--verbose, --pass-exit-codes, --pipe, --specs, --ansi,
	--no-warnings, --pedantic, --pedantic-errors, --all-warnings,
	--extra-warnings, --debug, --optimize, --profile, -coverage,
	--no-integrated-cpp, --for-assembler, --no-standard-libraries,
	--entries, --pie, --static-pie, --static, --shared, --symbolic,
	--for-linker, --force-link, --library-directory, --prefix,
	--no-canonical-prefixes, --dump, --save-temps, --print-file-name,
	--print-multi-directory, --print-multi-lib,
	--print-multi-os-directory, --print-multiarch,
	--print-prog-name, --print-libgcc-file-name, --print-search-dirs,
	--print-sysroot, --print-sysroot-headers-suffix.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/cppopts.texi (-A): Restrict option documentation to the CPP
	manual.  Also document the --assert form.
	* doc/invoke.texi (Option Summary): Don't list the -A option.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (Option Summary): Add missing entries,
	also correct alphabetization and formatting of the C++ options.
	(C++ Language Options): Fix some formatting issues.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* common.opt (fhelp, fhelp=, ftarget-help, fversion): Mark as
	"Undocumented".
	(fbounds-check): Update comments.
	(flag-graphite, fsel-sched-reschedule-pipelined): Mark as
	"Undocumented".
	(fstack-limit): Add comment.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* common.opt (fhelp): Add RejectNegative.
	(fhelp=): Likewise.
	(ftarget-help): Likewise.
	(fversion): Likewise.
	(Wno-frame-larger-than): Likewise.
	(Wno-larger-than): Likewise.
	(Wno-stack-usage): Likewise.
	(fdiagnostics-minimum-margin-width=): Likewise.
	(flto-incremental=): Likewise.
	(foffload=): Likewise.
	(foffload-options=): Likewise.
	(foffload-abi-host-opts=): Likewise.
	(fpatchable-function-entry=): Likewise.
	(gno-pubnames): Likewise.
	(gpubnames): Likewise.
	(ggnu-pubnames): Likewise.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* common.opt (ftree-lrs): Mark as "Ignore".

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/cppopts.texi (fcanonical-system-headers): Add @opindex.
	* doc/invoke.texi (fdump-ada-spec-slim): Add @opindex.
	(fcontract-semantic): Likewise.
	(fdiagnostics-plain-output): Likewise.
	(Wc11-c2x-compat): Likewise.
	(Wvla-parameter): Likewise.
	(fanalyzer-verbose-edges): Likewise.
	(fanalyzer-verbose-state-changes): Likewise.
	(fanalyzer-verbosity): Likewise.
	(flimit-function-alignment): Likewise.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* doc/invoke.texi (fdump-analyzer-exploded-nodes): Correct
	spelling of option in @opindex.
	(fdump-analyzer-exploded-nodes-2): Likewise.
	(fdump-analyzer-exploded-nodes-3): Likewise.
	(fdump-analyzer-feasibility): Likewise.
	(fdump-analyzer-infinite-loop): Likewise.
	(fstack-reuse): Likewise.

2025-11-10  Dimitar Dimitrov  <dimitar@dinux.eu>

	* config/pru/pru.h (REG_CLASS_CONTENTS): Use unsigned integer
	constants.

2025-11-10  Dimitar Dimitrov  <dimitar@dinux.eu>

	PR target/122415
	* config/pru/pru-protos.h (pru_fixup_jump_address_operand):
	Declare.
	* config/pru/pru.cc (pru_fixup_jump_address_operand): New
	function.
	(pru_addr_space_legitimize_address): New function.
	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Declare.
	* config/pru/pru.md (call): Fixup the address operand.
	(call_value): Ditto.
	(sibcall): Ditto.
	(sibcall_value): Ditto.

2025-11-10  Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Make
	SVE vector boolean type equivalent to GNU vectors.
	* config/aarch64/aarch64-sve.md (extend<vpred><mode>2,
	zero_extend<vpred><mode>2, trunc<mode><vpred>2, vec_cmp<mode><mode>):
	New patterns to support additional operations on predicate modes.
	* config/aarch64/aarch64.cc (aarch64_valid_vector_boolean_op): New.
	(aarch64_invalid_unary_op): Consider vector bool types.
	(aarch64_invalid_binary_op): Likewise.
	(aarch64_convert_to_type): Define target hook and handle standard to
	non-standard bool conversion.

2025-11-10  Richard Earnshaw  <rearnsha@arm.com>

	PR target/118460
	* config/arm/arm.md (movhfcc): Use expandable_comparison_operator.
	(movsfcc, movdfcc): Likewise.

2025-11-10  Robin Dapp  <rdapp@ventanamicro.com>

	PR middle-end/121985
	* tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Only
	set niter_vector's range if step == 1.

2025-11-10  Robin Dapp  <rdapp@ventanamicro.com>

	* optabs-query.cc (qimode_for_vec_perm): Check if QImode's
	precision divides the inner mode's precision.

2025-11-10  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Bail if
	offset_vectype is NULL.

2025-11-10  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-slp.cc (vect_load_perm_consecutive_p): New function.
	(vect_lower_load_permutations): Use.
	(vect_optimize_slp_pass::remove_redundant_permutations): Use.
	* tree-vect-stmts.cc (has_consecutive_load_permutation): New
	function that uses vect_load_perm_consecutive_p.
	(get_load_store_type): Use.
	(vectorizable_load): Reduce group size.
	* tree-vectorizer.h (struct vect_load_store_data): Add
	subchain_p.
	(vect_load_perm_consecutive_p): Declare.

2025-11-08  Avinash Jayakar  <avinashd@linux.ibm.com>

	PR tree-optimization/122126
	* gimple-isel.cc (gimple_expand_vec_set_extract_expr): Add bound check.

2025-11-08  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/122097
	* config/loongarch/loongarch.cc
	(loongarch_const_vector_same_bytes_p): Add processing for
	floating-point vector data.

2025-11-08  Avinash Jayakar  <avinashd@linux.ibm.com>

	PR tree-optimization/122065
	* tree-vect-generic.cc (target_supports_mult_synth_alg): Add helper to
	check mult synth.
	(expand_vector_mult): Optimize mult when const is uniform but not
	power of 2.

2025-11-08  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122599
	* tree-scalar-evolution.cc (final_value_replacement_loop): Move
	the removal of the phi until after the gimplification of the final
	value expression.

2025-11-07  David Malcolm  <dmalcolm@redhat.com>

	* gdbhooks.py (class AnaSupernodePrinter): New.
	(class AnaExplodedNodePrinter): New.
	(build_pretty_printer): Register the above.

2025-11-07  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree.cc (build_call_nary): Remove decl.
	Add template definition that uses std::initializer_list<tree>
	and call build_call.
	(build_call): New declaration.
	* tree.h (build_call_nary): Remove.
	(build_call): New function.

2025-11-07  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/autovec.md: Use const_1_operand for scale and
	extend predicates.
	* config/riscv/riscv-v.cc (expand_gather_scatter): Remove scale
	and extension handling.

2025-11-07  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-stmts.cc (vect_use_strided_gather_scatters_p):
	Do not convert offset type.

2025-11-07  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-data-refs.cc (struct gather_scatter_config):
	Add scale.
	(vect_gather_scatter_get_configs): Try various scales.
	(vect_gather_scatter_fn_p): Add scale handling.
	(vect_check_gather_scatter): Add scale parameter.
	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
	Ditto.
	(vect_truncate_gather_scatter_offset): Ditto.
	(vect_use_grouped_gather): Ditto.
	(get_load_store_type): Ditto.
	(vectorizable_store): Scale offset if necessary.
	(vectorizable_load): Ditto.
	* tree-vectorizer.h (struct vect_load_store_data): Add
	supported_scale.
	(vect_gather_scatter_fn_p): Add argument.

2025-11-07  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-data-refs.cc (struct gather_scatter_config): New
	struct to hold gather/scatter configurations.
	(vect_gather_scatter_which_ifn): New function to determine which
	IFN to use.
	(vect_gather_scatter_get_configs): New function to enumerate all
	target-supported configs.
	(vect_gather_scatter_fn_p): Rework to use
	vect_gather_scatter_get_configs and try sign-swapped offset.
	(vect_check_gather_scatter): Use new supported offset vectype
	argument.
	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
	Ditto.
	(vect_truncate_gather_scatter_offset): Ditto.
	(vect_use_grouped_gather): Ditto.
	(get_load_store_type): Ditto.
	(vectorizable_store): Convert to sign-swapped offset type if
	needed.
	(vectorizable_load): Ditto.
	* tree-vectorizer.h (struct vect_load_store_data): Add
	supported_offset_vectype.
	(vect_gather_scatter_fn_p): Add argument.

2025-11-07  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122588
	* tree-ssa-forwprop.cc (optimize_unreachable): Don't touch
	if the condition was already true or false.

2025-11-07  David Faust  <david.faust@oracle.com>

	PR target/122140
	* config/bpf/bpf.cc (bpf_expand_cpymem): Fix off-by-one offset
	in backwards loop.  Improve src and dest addrs used for the
	branch condition.
	(emit_move_loop): Improve emitted set insns and remove the
	explict temporary register.

2025-11-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122577
	* tree-vect-stmts.cc (vectorizable_conversion): Allow conversions
	from non-mode-precision types.

2025-11-07  Pan Li  <pan2.li@intel.com>

	* match.pd: Leverage usmul_widen_mult by bit_ior based
	unsigned SAT_MUL pattern.

2025-11-07  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*vwsll_sign_extend_<mode>): Add
	pattern to combine vsext.vf2 and vslli.vi to vwsll.vi.

2025-11-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122589
	PR middle-end/122594
	* gimple-iterator.cc (gsi_replace_with_seq): Instead of
	removing the last stmt from the sequence with gsi_remove,
	split it using gsi_split_seq_before.
	(gsi_split_seq_before): Fix bogus documentation.

2025-11-07  Alfie Richards  <alfie.richards@arm.com>

	PR target/118328
	* config/aarch64/aarch64.cc (handle_aarch64_vector_pcs_attribute):
	Add handling for ARM_PCS_PRESERVE_NONE.
	(aarch64_pcs_exclusions): New definition.
	(aarch64_gnu_attributes): Add entry for preserve_none and add
	aarch64_pcs_exclusions to aarch64_vector_pcs entry.
	(aarch64_preserve_none_abi): New function.
	(aarch64_fntype_abi): Add handling for preserve_none.
	(aarch64_reg_save_mode): Add handling for ARM_PCS_PRESERVE_NONE.
	(aarch64_hard_regno_call_part_clobbered): Add handling for
	ARM_PCS_PRESERVE_NONE.
	(num_pcs_arg_regs): New helper function.
	(get_pcs_arg_reg): New helper function.
	(aarch64_function_ok_for_sibcall): Add handling for ARM_PCS_PRESERVE_NONE.
	(aarch64_layout_arg): Add preserve_none argument lauout..
	(function_arg_preserve_none_regno_p): New helper function.
	(aarch64_function_arg): Update to handle preserve_none.
	(function_arg_preserve_none_regno_p): Update logic for preserve_none.
	(aarch64_expand_builtin_va_start): Add preserve_none layout.
	(aarch64_setup_incoming_varargs): Add preserve_none layout.
	(aarch64_is_variant_pcs): Update for case of ARM_PCS_PRESERVE_NONE.
	(aarch64_comp_type_attributes): Add preserve_none.
	* config/aarch64/aarch64.h (NUM_PRESERVE_NONE_ARG_REGS): New macro.
	(PRESERVE_NONE_REGISTERS): New macro.
	(enum arm_pcs): Add ARM_PCS_PRESERVE_NONE.
	* doc/extend.texi (preserve_none): Add docs for new attribute.

2025-11-07  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*widen_mul_plus_vx_<mode>): Add
	new pattern to combine the vwmaccu.vx.
	* config/riscv/vector.md (*pred_widen_mul_plus_u_vx<mode>_undef):
	Add undef define_insn for vmwaccu.vx emiting.
	(@pred_widen_mul_plus_u_vx<mode>): Ditto.

2025-11-07  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_sign_extend_if_subreg_prom_p): Determine if the
	current operand	is SUBREG and if the source of SUBREG is
	the sign-extended value.
	(loongarch_expand_conditional_move): Optimize.

2025-11-07  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_canonicalize_int_order_test): Support GT GTU LT
	and LTU.
	(loongarch_extend_comparands): Expand the scope of op1 from
	0 to all immediate values.
	* config/loongarch/loongarch.md
	(*sge<u>_<X:mode><GPR:mode>): New template.

2025-11-07  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_legitimize_move): Optimize.

2025-11-06  Sandra Loosemore  <sloosemore@baylibre.com>

	* doc/invoke.texi (AArch64 Options): Clean up description of
	-mbranch-protection= argument.
	(ARM Options): Likewise.

2025-11-06  Alejandro Colomar  <alx@kernel.org>

	* doc/extend.texi: Move _Countof under 'Syntax Extensions'.

2025-11-06  Georg-Johann Lay  <avr@gjlay.de>

	PR target/122516
	* config/avr/elf.h (SUPPORTS_SHF_GNU_RETAIN): Define if
	HAVE_GAS_SHF_GNU_RETAIN.

2025-11-06  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv.cc (riscv_noce_conversion_profitable_p): Ignore
	assignments of (const_int 0) to a register.  They will get propagated
	away.

2025-11-06  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.cc (avr_output_addr_vec): Output
	a valid opcode prior to the first gs() label provided:
	- The code is compiled for an arch that has AVR-SD mcus, and
	- the function has a "section" attribute, and
	- the function has a gs() label addresses switch/case table.

2025-11-06  Your Name  <jlaw@ventanamicro.com>

	PR rtl-optimization/121136
	* config/riscv/riscv.md: Add define_insn to test the
	upper bits of a register against zero using sltiu when
	the bits are extracted via zero_extract or logial right shift.
	Add 3->2 define_splits for gtu/leu cases testing upper bits
	against zero.

2025-11-06  Richard Biener  <rguenther@suse.de>

	* tree-core.h (tree_ssa_name::active_iterated_stmt): Mark
	GTY((skip(""))).

2025-11-06  Richard Biener  <rguenther@suse.de>

	* ssa-iterators.h (imm_use_iterator::name): Add.
	(delink_imm_use): When in a FOR_EACH_IMM_USE_STMT iteration
	enforce we only remove uses from the current stmt.
	(end_imm_use_stmt_traverse): Reset current stmt.
	(first_imm_use_stmt): Assert no FOR_EACH_IMM_USE_STMT on
	var is in progress.  Set the current stmt.
	(next_imm_use_stmt): Set the current stmt.
	(auto_end_imm_use_fast_traverse): New, lower iteration
	depth upon destruction.
	(first_readonly_imm_use): Bump the iteration depth.
	* tree-core.h (tree_ssa_name::active_iterated_stmt,
	tree_ssa_name::fast_iteration_depth): New members when
	ENABLE_GIMPLE_CHECKING.
	* tree-ssanames.cc (make_ssa_name_fn): Initialize
	immediate use verifier bookkeeping members.

2025-11-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122502
	* ssa-iterators.h (imm_use_iterator::iter_node): Remove.
	(imm_use_iterator::next_stmt_use): New.
	(next_readonly_imm_use): Adjust checking code.
	(end_imm_use_stmt_traverse): Simplify.
	(link_use_stmts_after): Likewise.  Return the last use
	with the same stmt.
	(first_imm_use_stmt): Simplify.  Set next_stmt_use.
	(next_imm_use_stmt): Likewise.
	(end_imm_use_on_stmt_p): Adjust.

2025-11-06  Richard Biener  <rguenther@suse.de>

	* doc/tree-ssa.texi: Update immediate use iterator
	documentation.
	* ssa-iterators.h: Likewise.

2025-11-06  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/113632
	* range-op-mixed.h (operator_bitwise_xor): Relocate and adjust.
	(operator_bitwise_xor::m_and, m_or, m_not): New.
	* range-op.cc (operator_bitwise_xor::fold_range): New.

2025-11-06  Xi Ruoyao  <xry111@xry111.site>

	* config.gcc: Support --with-cmodel={medium,normal} and make
	medium the default for LoongArch, define TARGET_DEFAULT_CMODEL
	as the selected value.
	* config/loongarch/loongarch-opts.cc: Use TARGET_DEFAULT_CMODEL
	instead of hard coding CMODEL_NORMAL.
	* doc/install.texi: Document that --with-cmodel= is supported
	for LoongArch.
	* doc/invoke.texi: Update the document about default code model
	on LoongArch.

2025-11-05  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR c++/121574
	* doc/invoke.texi: Document '-Wexpose-global-module-tu-local'.

2025-11-05  Artemiy Volkov  <artemiy.volkov@arm.com>

	* tree-ssa-forwprop.cc (simplify_vector_constructor): Support
	vector constructor elements.
	* tree-vect-generic.cc (ssa_uniform_vector_p): Make non-static and
	move ...
	* tree.cc (ssa_uniform_vector_p): ... here.
	* tree.h (ssa_uniform_vector_p): Declare it.

2025-11-05  Richard Biener  <rguenther@suse.de>

	* tree-ssa-forwprop.cc (forward_propagate_addr_expr):
	Use gather_imm_use_stmts instead of FOR_EACH_IMM_USE_STMT.

2025-11-05  Richard Biener  <rguenther@suse.de>

	* gimple.h (gimple::pad): Rename to ...
	(gimple::ilf): ... this.
	* ssa-iterators.h (gather_imm_use_stmts): Declare.
	* tree-ssa-operands.cc (gather_imm_use_stmts): New function.

2025-11-05  Richard Biener  <rguenther@suse.de>

	* gimple-ssa-isolate-paths.cc (check_loadstore): Set
	the volatile flag on the stmt manually.
	(find_implicit_erroneous_behavior): Move code transform
	outside of FOR_EACH_IMM_USE_STMT iteration.

2025-11-05  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-niter.cc (dump_affine_iv): Use file, not
	dump_file when printing.
	(debug): New overload for affine_iv.

2025-11-05  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/loongarch.md (cntmap): Change to uppercase.
	(popcount<GPR:mode>2): Modify to a post reload split.

2025-11-04  Uros Bizjak  <ubizjak@gmail.com>

	PR target/122390
	* config/i386/i386.md (*add<mode>3_carry_2): New insn pattern.
	(*add<mode>3_carry_0_cc): Ditto.
	(*add<mode>3_carry_0r_cc): Ditto.
	(*sub<mode>3_carry_2): Ditto.
	(*sub<mode>3_carry_0_cc): Ditto.
	(*sub<mode>3_carry_0r_cc): Ditt.

2025-11-04  Kees Cook  <kees@kernel.org>

	* config/arc/builtins.def: Add ATTRS parameter to DEF_BUILTIN
	macro calls.  Mark mathematical builtins (FFS, FLS, NORM, NORMW,
	SWAP) with attr_const, leave others as NULL_TREE.
	* config/arc/arc.cc: Add support for builtin function attributes.
	Create attr_const using tree_cons.  Update DEF_BUILTIN macro to
	pass ATTRS parameter to add_builtin_function.

2025-11-04  Pan Li  <pan2.li@intel.com>

	* match.pd: Add usmul_widen_mult helper and referenced by
	min based unsigned SAT_MUL pattern.

2025-11-04  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	PR lto/122515
	* lto-wrapper.cc (debug_objcopy): Set type of INOFF to int64_t.
	(run_gcc): Set type of FILE_OFFSET to int64_t.

2025-11-04  Kishan Parmar  <kishan@linux.ibm.com>

	PR rtl-optimization/93738
	* simplify-rtx.cc (simplify_binary_operation_1): Canonicalize
	SUBREG(LSHIFTRT) into LSHIFTRT(SUBREG) when valid.

2025-11-04  David Malcolm  <dmalcolm@redhat.com>

	PR analyzer/122544
	* diagnostics/paths.cc (event::meaning::maybe_get_verb_str):
	Handle the new verbs.
	* diagnostics/paths.h (event::meaning::verb): Add new values
	for special control flow operations.
	(event::meaning::meaning): Add ctor taking just a verb.

2025-11-03  Uros Bizjak  <ubizjak@gmail.com>

	PR target/122534
	* config/i386/i386.md (@test<mode>_ccno_1):
	Use <general_szext_operand> as operand 1 predicate.
	(testqi_ccz_1): Use general_operand as operand 1 predicate.
	(*testdi_1): Use x86_64_szext_general_operand as operand 1 predicate.
	(*testqi_1_maybe_si): Use general_operand as operand 1 predicate.
	Add (n,*a) alternative to allow UV pairing for pentium processor.
	(*test<mode>_1): Use <general_operand> as operand 1 predicate.

2025-11-03  Sam James  <sam@gentoo.org>

	* configure: Regenerate.

2025-11-03  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/122536
	* simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Fix
	guard against variable bit extracts in recent change.

2025-11-03  Thomas Schwinge  <tschwinge@baylibre.com>

	PR ipa/122512
	* symtab.cc: Fix 'static_assert'.

2025-11-03  Loeka Rogge  <loeka@synopsys.com>

	* config/arc/simdext.md(movv2hi_insn): Change order for movv2hi
	for big-endian.

2025-11-03  Tobias Burnus  <tburnus@baylibre.com>

	PR libgomp/122281
	PR middle-end/105001
	* gimple.cc (gimple_copy): Add missing unshare_expr for
	GIMPLE_OMP_ATOMIC_LOAD and GIMPLE_OMP_ATOMIC_STORE.

2025-11-03  Alfie Richards  <alfie.richards@arm.com>

	PR c/122202
	* doc/extend.texi (target function attribute): Update to describe FMV
	behaviour.
	(target_version function attribute): New section.
	(target_clones attribute): Update to descrbe new behaviour with
	target_version.
	(Function Multiversioning): Update to discuss both target_version and
	target based FMV.

2025-11-03  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/riscv.cc (riscv_flatten_aggregate_field): Skip
	empty unions and zero-length arrays when flattening aggregate
	fields for ABI classification.
	(riscv_pass_aggregate_in_fpr_pair_p): Refactor to use separate
	field parsing and emit ABI change warning for affected types.
	(riscv_pass_aggregate_in_fpr_and_gpr_p): Likewise.

2025-11-03  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64-option-extensions.def (dit): New fmv feature.
	(dpb): New fmv feature.
	(dpb2): New fmv feature.
	(memtag): Change to also define an FMV feature.
	(ssbs): Change to also define an FMV feature.
	(bti): New fmv feature.
	* config/aarch64/aarch64.cc (FEAT_SSBS): Add macro.
	(FEAT_MEMTAG): Ditto.

2025-11-03  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (int_iterator ANY_ROUND):
	Specify "flag_unsafe_math_optimizations" in the condition of the
	UNSPEC_ROUND element.
	(int_attr c_round): Remove.
	(l<m_round>sfsi2, *l<m_round>sfsi2_2x, *l<m_round>sfsi2_scaled):
	Remove " && <c_round>" from the conditions.

2025-11-03  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_modes_tieable_p):
	Make MODE_FLOAT and MODE_INT tieable.
	* config/loongarch/loongarch.md: Adjust constraints.

2025-11-03  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/loongarch.md
	(and_load_zero_extend<mode>): New combiner.
	* config/loongarch/predicates.md
	(mask_operand):	New predicate.

2025-11-03  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/lasx.md (lasx_xvpermi_q_<LASX:mode>):
	Add new splitter for optimization.

2025-11-03  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/loongarch-protos.h
	(loongarch_use_bstrins_bstrpick_for_and): New proto.
	* config/loongarch/loongarch.cc
	(loongarch_use_bstrins_bstrpick_for_and): Decide whether
	to optimize.
	(loongarch_rtx_costs): Adjust the cost of AND operation.
	* config/loongarch/loongarch.md
	(bstrins_bstrpick_for_and_imm<mode>): New insn_and_split.

2025-11-03  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_can_change_mode_class): Support for conversion
	between scalar INT and scalar FP.

2025-11-03  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_rtx_costs):
	Correct the cost of mulh.{w[u]|d[u]}.

2025-11-03  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/122475
	* tree-vect-loop.cc (vectorizable_reduction): Check for neutral_op.

2025-11-03  H.J. Lu  <hjl.tools@gmail.com>

	PR target/90262
	* config/i386/i386-expand.cc (ix86_expand_unroll_movmem): New.
	(ix86_expand_n_move_movmem): Likewise.
	(ix86_expand_load_movmem): Likewise.
	(ix86_expand_store_movmem): Likewise.
	(ix86_expand_n_overlapping_move_movmem): Likewise.
	(ix86_expand_less_move_movmem): Likewise.
	(ix86_expand_movmem): Likewise.
	* config/i386/i386-protos.h (ix86_expand_movmem): Likewise.
	* config/i386/i386.md (movmem<mode>): Likewise.

2025-11-03  Shreya Munnangi  <smunnangi1@ventanamicro.com>

	PR target/52345
	* simplify-rtx.cc (simplify_relational_operation_1): Optimize boolean
	IOR equality tests.

2025-11-03  chenxiaolong  <chenxiaolong@loongson.cn>

	* config/loongarch/lasx.md (vec_cast<mode>): New template
	implemention.
	(vec_insert_lo_<mode>): Dito.
	(vec_insert_hi_<mode>): Dito.
	* config/loongarch/lasxintrin.h (defined): Test for adding
	the builtin function.
	(__lasx_cast_128_s): Dito.
	(__lasx_cast_128_d): Dito.
	(__lasx_cast_128): Dito.
	(__lasx_concat_128_s): Dito.
	(__lasx_concat_128_d): Dito.
	(__lasx_concat_128): Dito.
	(__lasx_extract_128_lo_s): Dito.
	(__lasx_extract_128_hi_s): Dito.
	(__lasx_extract_128_lo_d): Dito.
	(__lasx_extract_128_hi_d): Dito.
	(__lasx_extract_128_lo): Dito.
	(__lasx_extract_128_hi): Dito.
	(__lasx_insert_128_lo_s): Dito.
	(__lasx_insert_128_hi_s): Dito.
	(__lasx_insert_128_lo_d): Dito.
	(__lasx_insert_128_hi_d): Dito.
	(__lasx_insert_128_lo): Dito.
	(__lasx_insert_128_hi): Dito.
	* config/loongarch/loongarch-builtins.cc
	(CODE_FOR_lasx_extract_128_lo_s): Add builtins and register
	icode.
	(CODE_FOR_lasx_extract_128_hi_s): Dito.
	(CODE_FOR_lasx_extract_128_lo_d): Dito.
	(CODE_FOR_lasx_extract_128_hi_d): Dito.
	(CODE_FOR_lasx_extract_128_lo): Dito.
	(CODE_FOR_lasx_extract_128_hi): Dito.
	(CODE_FOR_lasx_insert_128_lo_s): Dito.
	(CODE_FOR_lasx_insert_128_hi_s): Dito.
	(CODE_FOR_lasx_insert_128_lo_d): Dito.
	(CODE_FOR_lasx_insert_128_hi_d): Dito.
	(CODE_FOR_lasx_insert_128_lo): Dito.
	(CODE_FOR_lasx_insert_128_hi): Dito.
	(CODE_FOR_lasx_concat_128_s): Dito.
	(CODE_FOR_lasx_concat_128_d): Dito.
	(CODE_FOR_lasx_concat_128): Dito.
	(CODE_FOR_lasx_cast_128_s): Dito.
	(CODE_FOR_lasx_cast_128_d): Dito.
	(CODE_FOR_lasx_cast_128): Dito.
	(loongarch_expand_builtin_direct): For the newly added
	insertion or extraction, construct the parallel parameter
	corresponding to the operand.
	* config/loongarch/loongarch-c.cc
	(loongarch_update_cpp_builtins): Define
	__loongarch_asx_sx_conv.
	* config/loongarch/loongarch-ftypes.def: Declare the type
	of the builtin function.
	* doc/extend.texi: Add document description.

2025-11-03  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_move_integer):
	No new virtual register is allocated during immediate load.

2025-11-03  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/122477
	* config/loongarch/loongarch.cc
	(loongarch_split_reduction): Added handling of scalar mode.

2025-11-02  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/bitmanip.md (rotrsi3): Use the sign extended form
	for 32 bit rotates on TARGET_64BIT, even for constant counts.
	* config/riscv/thead.md (th_srrisi3_extended): New pattern.
	(th_srri<mode>3): Adjust formatting.

2025-11-02  Uros Bizjak  <ubizjak@gmail.com>

	PR target/122518
	* config/i386/i386.cc (ix86_canonicalize_comparison): Convert
	(compare (minus (a b)) a) to (compare (a b)) to
	match *sub<mode>_3 pattern.

2025-11-02  Georg-Johann Lay  <avr@gjlay.de>

	PR target/122527
	* config/avr/avr.cc (avr_load_libgcc_p): Return false if
	the address-space is not ADDR_SPACE_FLASH.
	(avr_out_lpm_no_lpmx [addr=REG]): Handle sizes of 3 and 4 bytes.

2025-11-02  Georg-Johann Lay  <avr@gjlay.de>

	PR tree-optimization/118012
	PR tree-optimization/122505
	* config/avr/avr.md (mulpsi3): Also allow the insn condition
	in the case where avropt_pr118012 && !AVR_TINY.
	(*mulpsi3): Handle split for the !AVR_HAVE_MUL case.
	(*mulpsi3-nomul.libgcc_split, *mulpsi3-nomul.libgcc): New insns.

2025-11-02  Richard Biener  <rguenther@suse.de>

	* doc/tree-ssa.texi: Remove outdated info on FOR_EACH_IMM_USE_STMT
	iteration, clarify SSA operand parts.
	* ssa-iterators.h: Update toplevel comment.

2025-11-02  Sam James  <sam@gentoo.org>

	* .simplify-rtx.cc.swo: Removed.

2025-11-01  Shreya Munnangi  <smunnangi1@ventanamicro.com>

	PR target/67731
	* simplify-rtx.cc (simplify_context::simplify_binary_operation_1):
	Handle IOR of single bit bitfields from the same object.

2025-11-01  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv-protos.h (has_vtype_op): Add prototype.
	(mask_agnostic_p, get_avl, vsetvl_insn_p): Likewise.
	* config/riscv/riscv-vsetvl.cc (has_vtype_op): No longer static.
	(vsetvl_insn_p, get_avl_mask_agnostic_p): Likewise.
	* config/riscv/riscv.cc (struct last_vcofnig): New structure.
	(clear_vconfig): New function.
	(compatible_with_last_vconfig, riscv_sched_init): Likewise.
	(riscv_sched_reorder): Likewise.
	(TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Define.
	* config/riscv/vector.md ("*mov<mode>"): Set has_vtype_op, has_vl_op
	attributes.
	* .simplify-rtx.cc.swo: New file.

2025-11-01  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/122321
	* lra-constraints.cc (update_equiv): Make sure REGNO is in
	ira_reg_equiv before trying to update ira_reg_equiv.

2025-11-01  Martin Uecker  <uecker@tugraz.at>

	* doc/extend.texi: Document new extension.

2025-11-01  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (negsf2):
	Add another insn pattern that is valid when TARGET_DENSITY is
	enabled and both the source and destination are address registers.

2025-11-01  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md
	(c_enum "unspec", int_iterator ANY_ROUND): Add UNSPEC_ROUND.
	(int_attr m_round): Add a pair of UNSPEC_ROUND and "round".
	(int_attr c_round): New integer iterator attribute, that expands
	to "flag_unsafe_math_optimizations" in the case of UNSPEC_ROUND,
	and to "1" otherwise.
	(l<m_round>sfsi2, *l<m_round>sfsi2_2x, *l<m_round>sfsi2_scaled):
	Append " && <c_round>" to the conditions.

2025-11-01  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (*fix<s_fix>_truncsfsi2_scaled,
	*float<s_float>sisf2_scaled, *l<m_round>sfsi2_scaled):
	Remove 'F'-constraint.

2025-11-01  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR ipa/122512
	* cgraph.h (enum toplevel_type): Add TOPLEVEL_MAX. Add comment
	about keeping toplevel_type_names in sync.
	* symtab.cc (symtab_type_names): Rename to ...
	(toplevel_type_names): Add new types and add an assert about
	the size.
	(symtab_node::get_symtab_type_string): Use toplevel_type_names
	instead of symtab_type_names.
	(symtab_node::dump_base): Likewise.

2025-10-31  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122437
	* fold-const.h (div_if_zero_remainder): Remove.

2025-10-31  Tamar Christina  <tamar.christina@arm.com>

	PR target/121853
	* config/aarch64/aarch64-simd.md (extendbfsf2): New.

2025-10-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122502
	* tree-scalar-evolution.cc (final_value_replacement_loop):
	Avoid folding from within FOR_EACH_IMM_USE_STMT due to active
	ranger.

2025-10-31  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122437
	* fold-const.cc (div_if_zero_remainder): Remove.

2025-10-31  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122497
	* tree-scalar-evolution.cc (final_value_replacement_loop): Call replace_uses_by
	only after the replacement statement was created.

2025-10-31  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/lasx.md: Support.
	* config/loongarch/loongarch.cc
	(loongarch_expand_vec_widen_hilo): Remove unused code.
	* config/loongarch/lsx.md: Support.

2025-10-31  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/lasx.md (ILASX_HB): Move to ...
	* config/loongarch/lsx.md (ILSX_HB): Move to ...
	* config/loongarch/simd.md (ILSX_HB): ... here.
	(ILASX_HB): ... here.
	(IVEC_HB): New iterator.
	(WVEC_QUARTER): New attr.
	(wvec_quarter): Likewise.
	(simdfmt_qw): Likewise.
	(<su>dot_prod<wvec_quarter><mode>): New template.

2025-10-31  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/lasx.md (hi_lo): Move to ...
	* config/loongarch/simd.md (hi_lo): ... here.
	* config/loongarch/loongarch.cc
	(loongarch_expand_vec_widen_hilo): Add 128-bit data processing.
	* config/loongarch/lsx.md
	(vec_widen_<su><optab>_<hi_lo>_<mode>):	New define_expand.
	(vec_widen_<su>mult_<hi_lo>_<mode>): Likewise.

2025-10-31  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/lasx.md (vec_widen_<su>add_hi_<mode>):
	Move.
	(vec_widen_<su>add_lo_<mode>): Move.
	(vec_widen_<su>sub_hi_<mode>): Move.
	(vec_widen_<su>sub_lo_<mode>): Move.
	(vec_widen_<su>mult_hi_<mode>): Move.
	(vec_widen_<su>mult_lo_<mode>): Move.
	(hi_lo): New define_int_attr.
	(vec_widen_<su><optab>_<hi_lo>_<mode>): New define_expand.
	(vec_widen_<su>mult_<hi_lo>_<mode>): Likewise.
	* config/loongarch/loongarch-protos.h
	(loongarch_expand_vec_widen_hilo): Modify the function
	parameter list.
	* config/loongarch/loongarch.cc
	(loongarch_expand_vec_widen_hilo): Optimized.

2025-10-30  David Faust  <david.faust@oracle.com>

	PR debug/122248
	* dwarf2out.cc (gen_btf_tag_dies): Always replace an existing
	AT_GNU_annotation on the target die.

2025-10-30  David Faust  <david.faust@oracle.com>

	* btfout.cc (btf_add_used_type_1): Do not consider creating
	fixups at typedefs.

2025-10-30  Michal Jires  <mjires@suse.cz>

	* lto-cgraph.cc (output_symtab): Remove asm_nodes_out.
	* lto-streamer-out.cc (lto_output_toplevel_asms): Use
	partitioning.
	(create_order_remap): Remove asm_nodes_out.
	(lto_output): In LGEN add asm_nodes into partition.
	* lto-streamer.h (lto_output_toplevel_asms): Add encoder.

2025-10-30  Michal Jires  <mjires@suse.cz>

	* lto-cgraph.cc (compute_ltrans_boundary): Add asm_node.

2025-10-30  Michal Jires  <mjires@suse.cz>

	* ipa-icf.cc (sem_item_optimizer::write_summary): Use
	toplevel_node.
	(sem_item_optimizer::read_section): Likewise.
	* ipa-modref.cc (modref_write): Likewise.
	* ipa-prop.cc (ipa_write_return_summaries): Likewise.
	(ipcp_write_transformation_summaries): Likewise.
	* ipa-reference.cc (ipa_reference_write_optimization_summary):
	Likewise.
	* lto-cgraph.cc (lto_symtab_encoder_new): Likewise.
	(lto_symtab_encoder_encode): Likewise.
	(lto_symtab_encoder_delete_node): Likewise.
	(lto_symtab_encoder_in_partition_p): Likewise.
	(lto_set_symtab_encoder_in_partition): Likewise.
	(output_refs): Likewise.
	(compute_ltrans_boundary): Likewise.
	(output_symtab): Likewise.
	(output_cgraph_opt_summary): Likewise.
	* lto-streamer-out.cc (lto_output): Likewise.
	(produce_symtab): Likewise.
	(produce_symtab_extension): Likewise.
	* lto-streamer.h (struct lto_encoder_entry): Likewise.
	(struct lto_symtab_encoder_d): Likewise.
	(lto_symtab_encoder_encode): Likewise.
	(lto_symtab_encoder_delete_node): Likewise.
	(lto_symtab_encoder_in_partition_p): Likewise.
	(lto_symtab_encoder_lookup): Likewise.
	(lsei_next): Likewise.
	(lsei_varpool_node): Likewise.

2025-10-30  Michal Jires  <mjires@suse.cz>

	* cgraph.h (enum symtab_type): Replace with toplevel_type.
	(enum toplevel_type): New.
	(struct toplevel_node): New.
	(struct asm_node): Inherits from toplevel_node.
	(test): New.
	(symbol_table::finalize_toplevel_asm): Use constructor.
	* coretypes.h (struct toplevel_node): New.
	(struct asm_node): New.
	* lto-streamer-in.cc (lto_input_toplevel_asms): Add
	lto_file_data.

2025-10-30  Michal Jires  <mjires@suse.cz>

	* cgraph.cc (cgraph_node::release_body): Keep lto_file_data.
	(cgraph_node::remove): likewise.
	* lto-section-in.cc (lto_free_function_in_decl_state_for_node):
	likewise.
	* varpool.cc (varpool_node::remove): likewise.

2025-10-30  Qing Zhao  <qing.zhao@oracle.com>

	* doc/extend.texi: Clarification when the counted_by attribute is applied
	on a void pointer.

2025-10-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR target/116075
	* fold-const-call.cc (fold_const_vec_shl_insert): New function.
	(fold_const_call): Call fold_const_vec_shl_insert for CFN_VEC_SHL_INSERT.
	* match.pd (`VEC_SHL_INSERT (dup (A), A)`): New pattern.

2025-10-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122247
	* tree-ssa-forwprop.cc (do_simple_agr_dse): Allow phi node for the usage
	if the usage of the phi result is just the "same" as the original clobber.

2025-10-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122247
	* tree-ssa-forwprop.cc (do_simple_agr_dse): Allow
	use to be a clobber of the same kind to the same lhs.

2025-10-30  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-ssa-loop-niter.cc (shifted_range_nonzero_p): New
	function.
	(number_of_iterations_cltz): Call new function.
	* tree-ssa-loop.cc (pass_scev_cprop::execute): Enable ranger.

2025-10-30  Robin Dapp  <rdapp.gcc@gmail.com>

	PR target/122445
	* config/riscv/riscv-avlprop.cc (pass_avlprop::get_vlmax_ta_preferred_avl):
	Scale AVL of subreg uses.

2025-10-30  Artemiy Volkov  <artemiy.volkov@arm.com>

	PR tree-optimization/122478
	* match.pd: Fix the view_convert (BIT_FIELD_REF) pattern.

2025-10-30  Richard Biener  <rguenther@suse.de>

	* config/i386/i386-options.cc (ix86_option_override_internal):
	Fix check during opts->x_ix86_move_max initialization.

2025-10-30  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	PR rtl-optimization/121198
	* lra-constraints.cc (process_alt_operands): Compute least upper
	bound of all register classes over all required registers in
	order to determine register class for a hard register constraint.

2025-10-30  Richard Biener  <rguenther@suse.de>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* tree-vect-slp.cc (vect_get_operand_map): Handle commutative
	operands when swapping is requested.
	(vect_build_slp_tree_1): Allow STMT_VINFO_REDUC_IDX differences
	when operand swapping makes them match and request swapping.
	(vect_build_slp_instance): Indicate we have successfully
	discovered a SLP reduction group.

2025-10-30  Uros Bizjak  <ubizjak@gmail.com>

	PR target/116815
	* config/i386/i386.md (ovf_add_cmp): New code attribute.
	(udf_sub_cmp): Ditto.
	(ovf_comm): New int iterator.
	(*plus_within_<code><mode>3_<ovf_comm>): New insn and split pattern.
	(*minus_within_<code><mode>3): Ditto.

2025-10-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* gimple-fold.cc (gimple_fold_builtin_assume_aligned): Remove.
	(gimple_fold_builtin): Don't fold __builtin_assume_aligned

2025-10-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	Revert:
	2025-10-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/107389
	PR tree-optimization/122086
	* tree-ssa-forwprop.cc (forwprop_may_propagate_copy): New function.
	(pass_forwprop::execute):  Use forwprop_may_propagate_copy
	instead of may_propagate_copy.

2025-10-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/120687
	* tree-vect-slp.cc (vect_optimize_slp_pass::is_compatible_layout):
	New overload for checking a whole partition.
	(vect_optimize_slp_pass::legitimize): New function trying
	a single layout for all partitions for now.
	(vect_optimize_slp_pass::run): Try legitimizing to a single
	layout before propagating.
	(vect_slp_analyze_operations): For dumping deal with
	SLP_TREE_SCALAR_STMTS being empty or element zero being NULL.

2025-10-30  liuhongt  <hongtao.liu@intel.com>

	PR target/122457
	* config/i386/sse.md (VI2_AVX10_2): New mode iterator.
	(usdot_prod<sseunpackmodelower><mode>): Use VI2_AVX10_2
	instead of VI2_AVX512F.
	(udot_prod<sseunpackmodelower><mode>): Ditto.

2025-10-30  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/lasx.md (fnma<mode>4): Remove.
	* config/loongarch/lsx.md (fnma<mode>4): Remove.
	* config/loongarch/simd.md (fnma<mode>4): Simplify and correct.

2025-10-30  Jinyang He  <hejinyang@loongson.cn>
	    Peng Fan  <fanpeng@loongson.cn>

	* config/loongarch/loongarch.cc
	(loongarch_expand_conditional_move): Only allow valid binary
	op when optimize conditional move.

2025-10-29  Jeff Law  <jlaw@ventanamicro.com>

	Revert:
	2025-10-29  Jeff Law  <jlaw@ventanamicro.com>

	PR target/116662
	* config/riscv/riscv.cc (riscv_option_override): Override
	default value for destructive interference size.

2025-10-29  Jeff Law  <jlaw@ventanamicro.com>

	Revert:
	2025-10-29  Jeff Law  <jlaw@ventanamicro.com>

	PR target/116662
	* config/riscv/riscv.cc (riscv_option_override): Apply correct version
	of the patch.

2025-10-29  Jeff Law  <jlaw@ventanamicro.com>

	PR target/116662
	* config/riscv/riscv.cc (riscv_option_override): Apply correct version
	of the patch.

2025-10-29  Jeff Law  <jlaw@ventanamicro.com>

	PR target/116662
	* config/riscv/riscv.cc (riscv_option_override): Override
	default value for destructive interference size.

2025-10-29  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/91191
	* gimple-range-op.cc (gimple_range_op_handler): Descend one
	operand lower for a VIEW_CONVERT_EXPR.
	* range-op-mixed.h (class operator_view): New.
	* range-op.cc (range_op_table): Add VIEW_CONVERT_EXPR case.
	(operator_view::fold_range): New.
	(operator_view::op1_range): New.
	(operator_view::update_bitmask): New.

2025-10-29  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.cc (vect_analyze_slp): Mark stmts in BB roots
	as released after vect_build_slp_instance.
	(vect_build_slp_instance): Release scalar_stmts when exiting
	early.

2025-10-29  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/122097
	* config/loongarch/loongarch.cc
	(loongarch_const_vector_bitimm_set_p): Add support for vector float.
	(loongarch_const_vector_bitimm_clr_p): Likewise.
	(loongarch_print_operand): Likewise.
	* config/loongarch/simd.md (and<mode>3): Likewise.

2025-10-29  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/lasx.md (xor<mode>3): Delete.
	(ior<mode>3): Delete.
	(and<mode>3): Delete.
	* config/loongarch/lsx.md (xor<mode>3): Delete.
	(ior<mode>3): Delete.
	(and<mode>3): Delete.
	* config/loongarch/simd.md (xor<mode>3): Define.
	(ior<mode>3): Likewise.
	(and<mode>3): Likewise.

2025-10-29  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/genopts/loongarch.opt.in (-mbreak-code=):
	New.
	* config/loongarch/loongarch.opt: Regenerate.
	* config/loongarch/loongarch.md (trap): Separate to a
	define_insn and a define_expand which takes la_break_code.
	* doc/invoke.texi (-mbreak-code=): Document.
	* config/loongarch/loongarch.opt.urls: Regenerate.

2025-10-28  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
	Avoid explicit LOOP_VINFO_IV_EXIT reference.

2025-10-28  Artemiy Volkov  <artemiy.volkov@arm.com>

	* match.pd: Add pattern to simplify view_convert (BIT_FIELD_REF).

2025-10-28  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/riscv.cc (riscv_get_vls_cc_attr): Fix error message
	parameter order and add check_only condition.  Improve diagnostic
	message formatting with proper quoting.
	(riscv_handle_rvv_vls_cc_attribute): Anonymize unused node parameter.

2025-10-28  Avinash Jayakar  <avinashd@linux.ibm.com>

	PR tree-optimization/122065
	* tree-vect-generic.cc (add_rshift): Update name and add code parameter.
	(add_shift): Update name.
	(expand_vector_mult): New lowering for MULT_EXPR.
	(expand_vector_divmod): Use updated function name.
	(expand_vector_operation): Use updated function name.

2025-10-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* expr.cc (expr_has_boolean_range): New function.
	(expand_expr_real_2): Use expr_has_boolean_range instead of
	gimple_zero_one_valued_p.
	* tree-ssanames.cc (ssa_name_has_boolean_range): Update to take
	a gimple STMT.
	* tree-ssanames.h (ssa_name_has_boolean_range): Update for the new
	argument and default to nullptr.

2025-10-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/105749
	PR tree-optimization/80635
	* match.pd (`VCE<bool>(zero_one_valued_p) ==\!= 0`): New pattern.

2025-10-27  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/122408
	* tree-vect-slp-patterns.cc (vect_validate_multiplication): Cleanup and
	document interface.
	(complex_mul_pattern::matches, complex_fms_pattern::matches): Update to
	new interface.

2025-10-27  Andrew Stubbs  <ams@baylibre.com>

	PR tree-optimization/104116
	* config/gcn/gcn-valu.md (abs<mode>2): New define_expand for
	integer vector modes.

2025-10-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/122325
	* common.opt (flag_default_complex_method): Remove.
	* opts.cc (init_options_struct): Default to fortran rules
	for complex evaluations.
	(finish_options): Remove (re-)instantiating of the frontend
	default of the complex evaluation method.

2025-10-27  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/riscv-protos.h (riscv_init_cumulative_args): Add
	bool parameter.
	* config/riscv/riscv.h (enum riscv_cc): Add RISCV_CC_VLS_V_32,
	RISCV_CC_VLS_V_64, RISCV_CC_VLS_V_128, RISCV_CC_VLS_V_256,
	RISCV_CC_VLS_V_512, RISCV_CC_VLS_V_1024, RISCV_CC_VLS_V_2048,
	RISCV_CC_VLS_V_4096, RISCV_CC_VLS_V_8192, RISCV_CC_VLS_V_16384.
	(CUMULATIVE_ARGS): Add abi_vlen field.
	* config/riscv/riscv.cc (riscv_handle_rvv_vls_cc_attribute): New
	function.
	(riscv_gnu_attributes): Add vls_cc attribute entry.
	(riscv_attributes): Add riscv_vls_cc attribute entry.
	(riscv_flatten_aggregate_field): Add vls_p and abi_vlen parameters
	to handle VLS vector types.
	(riscv_flatten_aggregate_argument): Update call to
	riscv_flatten_aggregate_field.
	(riscv_get_vector_arg): Add vls_p parameter for VLS handling.
	(riscv_vls_cc_p): New function.
	(riscv_get_cc_abi_vlen): New function.
	(riscv_valid_abi_vlen_vls_cc_p): New function.
	(riscv_get_riscv_cc_by_abi_vlen): New function.
	(riscv_get_vls_container_type): New function.
	(riscv_pass_vls_in_vr): New function.
	(riscv_pass_aggregate_in_vr): New function.
	(riscv_get_arg_info): Add VLS calling convention handling.
	(riscv_function_arg_advance): Update for VLS calling convention.
	(riscv_return_in_memory): Add fntype parameter and initialize
	cumulative args properly.
	(riscv_v_abi): Add abi parameter.
	(riscv_get_vls_cc_attr): New function.
	(riscv_vls_cc_function_abi): New function.
	(riscv_fntype_abi): Add VLS calling convention detection.
	(riscv_asm_output_variant_cc): Update for VLS calling convention.

2025-10-27  Jeff Law  <jlaw@ventanamicro.com>

	PR target/64345
	PR tree-optimization/80770
	* config/riscv/bitmanip.md (<optab>_not_const<mode>): Turn into a
	peephole2 to avoid matching prior to combine.
	* ifcvt.cc (noce_try_sign_bit_splat): When costs are equal steer
	towards an AND based sequence.

2025-10-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122419
	* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): Only
	skip noop conversions.

2025-10-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122435
	* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
	Also match noop conversions when detecting redundant stores.

2025-10-27  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/loongarch.cc (loongarch_rtx_costs):
	Ignore the cost impact of SIGN_EXTEND/ZERO_EXTEND.

2025-10-27  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/loongarch.md (both_non_zero): New combiner.
	(both_non_zero_subreg): Ditto.

2025-10-27  Guo Jie  <guojie@loongson.cn>

	* config/loongarch/loongarch.md
	(sign_extend_ashift<GPR:mode><SHORT:mode>): New combiner.

2025-10-27  Kito Cheng  <kito.cheng@sifive.com>

	* function-abi.h (NUM_ABI_IDS): Increase from 8 to 12.

2025-10-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (one_cmplsi2):
	Rearrange back as an expand pattern.

2025-10-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/107389
	PR tree-optimization/122086
	* tree-ssa-forwprop.cc (forwprop_may_propagate_copy): New function.
	(pass_forwprop::execute):  Use forwprop_may_propagate_copy
	instead of may_propagate_copy.

2025-10-26  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR target/122270
	* config/riscv/riscv-vector-builtins-bases.cc (vset::fold): Use the
	unshare_expr for the statement that will be added seperately rather
	the one which will be used for the replacement.

2025-10-26  James K. Lowden  <jklowden@cobolworx.com>

	* doc/install.texi: Add libxml2 dependency for COBOL
	library. Clarify 128-bit numeric dependency.

2025-10-26  Gerald Pfeifer  <gerald@pfeifer.com>

	* poly-int.h: Change struct poly_int to class poly_int.

2025-10-26  LIU Hao  <lh_mouse@126.com>

	PR target/119079
	* config/i386/i386.md: Use `movsxd` to perform SI-to-DI extension in Intel
	syntax.

2025-10-26  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/riscv.cc (riscv_legitimize_move): Append extend.

2025-10-26  Osama Abdelkader  <osama.abdelkader@gmail.com>

	* wide-int.h: Fix typo "accomodate" to "accommodate" in comment.
	* value-range-storage.h: Likewise.
	* tree-vectorizer.h (dr_set_safe_speculative_read_required):
	Fix duplicate "the the" to "the" in comment.

2025-10-25  Sam James  <sam@gentoo.org>

	* doc/extend.texi (nocf_check): Fix syntax errors in example.

2025-10-25  Jiahao Xu  <xujiahao@loongson.cn>

	* config/loongarch/lasx.md (vec_extract<mode><lasxhalf>): New define_expand.
	(vec_extract_lo_<mode>): New define_insn_and_split.
	(vec_extract_hi_<mode>): New define_insn.
	* config/loongarch/loongarch-protos.h (loongarch_check_vect_par_cnst_half)
	New function prototype.
	* config/loongarch/loongarch.cc (loongarch_split_reduction):
	Implement TARGET_VECTORIZE_SPLIT_REDUCTION.
	(loongarch_check_vect_par_cnst_half): New function.
	* config/loongarch/predicates.md
	(vect_par_cnst_low_half): New predicate.
	(vect_par_cnst_high_half): New predicate.

2025-10-24  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/114025
	* gimple-range-fold.cc (fold_using_range::condexpr_adjust): Handle
	the same ssa_name in the condition and the COND_EXPR better.

2025-10-24  Andrew MacLeod  <amacleod@redhat.com>

	* range-op.cc (operator_bitwise_and::wi_fold): Split signed
	operations crossing zero into 2 operations.

2025-10-24  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/118254
	PR tree-optimization/114331
	* range-op.cc (operator_cast::fold_range): When VARYING is
	reached, update the bitmask if we reach VARYING.
	(operator_cast::op1_range): For truncating casts, create a
	bitmask bit in LHS.

2025-10-24  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (call_internal, call_value_internal,
	sibcall_internal, sibcall_value_internal): Remove 'n'-constraint.

2025-10-24  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (*addsubx, *subsi3_from_const,
	*xtensa_clamps, *andsi3_const_pow2_minus_one,
	*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
	*splice_bits, extvsi_internal, extzvsi_internal,
	*extzvsi-1bit_ashlsi3, *extzvsi-1bit_addsubx, insvsi, *lsiu, *ssiu,
	*lsip, *ssip, *shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1,
	*shlrd_const, *shlrd_per_byte_omit_AND, *masktrue_const_bitcmpl,
	*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
	*masktrue_const_shifted_mask, call_internal, call_value_internal,
	sibcall_internal, sibcall_value_internal, entry,
	*eqne_zero_masked_bits, *eqne_in_range): Remove 'i'-constraint.

2025-10-24  Josef Melcr  <jmelcr02@gmail.com>

	PR middle-end/122392
	* attr-callback.cc (callback_build_attr): Remove erroneous
	annotation.

2025-10-24  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorizable_reduction): SLP-ify reduction
	operation processing a bit more.

2025-10-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122406
	* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): Create
	the SLP nodes for the conversions around the reduction
	operation if required.

2025-10-24  Paul-Antoine Arras  <parras@baylibre.com>

	PR fortran/121452
	* omp-low.cc (check_omp_nesting_restrictions): Accept an
	OMP_STRUCTURED_BLOCK in a collapsed simd region and in an ordered loop.

2025-10-24  Pengfei Li  <Pengfei.Li2@arm.com>

	* match.pd: Fold VEC_PERM_EXPR chains implementing vector
	concat-and-extract.

2025-10-24  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/vxworks.h (SET_CMODEL): Undefine before
	(re)defining.

2025-10-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* match.pd (`(type1)x CMP CST1 ? (type2)x : CST2`): Better handling
	of `((signed)x) < 0`.

2025-10-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/101024
	* tree-ssa-phiopt.cc (match_simplify_replacement): Special
	case fp `a CMP b ? a : b` when not creating a min/max.
	(strip_bit_not): Remove.
	(invert_minmax_code): Remove.
	(minmax_replacement): Remove.
	(pass_phiopt::execute): Update pass comment.
	Don't call minmax_replacement.

2025-10-23  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/101024
	* fold-const.cc (minmax_from_comparison): New version that takes widest_int
	instead of tree.
	(minmax_from_comparison):  Call minmax_from_comparison for integer cst case.
	* fold-const.h (minmax_from_comparison): New declaration.
	* match.pd (`((signed)a </>= 0) ? min/max (a, c) : b`): New pattern.

2025-10-23  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Add
	__HAVE_FUNCTION_MULTI_VERSIONING macro.

2025-10-23  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64.cc (dispatch_function_versions): Remove
	unnecessary sorting and data structure.

2025-10-23  Alfie Richards  <alfie.richards@arm.com>

	PR target/122190
	* config/aarch64/aarch64.cc (compare_feature_masks): Fix version rules.

2025-10-23  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64.cc (aarch64_generate_version_dispatcher_body):
	Dump function versions and the ordering.

2025-10-23  zhaozhou  <zhaozhou@loongson.cn>

	* match.pd: Add new pattern for round.

2025-10-23  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (_loop_vec_info::slp_unrolling_factor): Remove.
	(LOOP_VINFO_SLP_UNROLLING_FACTOR): Likewise.
	* tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Adjust.
	(vect_analyze_loop_2): Likewise.
	* tree-vect-slp.cc (vect_make_slp_decision): Set
	LOOP_VINFO_VECT_FACTOR directly.

2025-10-23  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_analyze_loop_2): Move vect_optimize_slp
	after applying suggested_unroll_factor.

2025-10-23  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_analyze_loop_2): Deal with NULL
	element in SLP_TREE_SCALAR_STMTS.

2025-10-23  liuhongt  <hongtao.liu@intel.com>

	PR target/101639
	* config/i386/sse.md
	(VI_AVX): New mode iterator.
	(VI_AVX_CMP): Ditto.
	(ssebytemode): Add V16HI, V32QI, V16QI.
	(reduc_sbool_and_scal_<mode>): New expander.
	(reduc_sbool_ior_scal_<mode>): Ditto.
	(reduc_sbool_xor_scal_<mode>): Ditto.
	(*eq<mode>3_2_negate): New pre_reload splitter.
	(*ptest<mode>_ccz): Ditto.

2025-10-23  liuhongt  <hongtao.liu@intel.com>

	PR target/101639
	* config/i386/sse.md
	(reduc_sbool_and_scal_<mode>): New expander.
	(reduc_sbool_ior_scal_<mode>): Ditto.
	(reduc_sbool_xor_scal_<mode>): Ditto.

2025-10-22  H.J. Lu  <hjl.tools@gmail.com>

	* config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Use
	HOST_WIDE_INT_0U and HOST_WIDE_INT_M1U to initialize unsigned
	HOST_WIDE_INT.

2025-10-22  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64-simd.md (reduc_sbool_and_scal_<mode>,
	reduc_sbool_ior_scal_<mode>, reduc_sbool_xor_scal_<mode>): Use SVE if
	available.
	* config/aarch64/aarch64-sve.md (*cmp<cmp_op><mode>_ptest): Rename ...
	(@aarch64_pred_cmp<cmp_op><mode>_ptest): ... To this.
	(reduc_sbool_xor_scal_<mode>): Rename ...
	(@reduc_sbool_xor_scal_<mode>): ... To this.

2025-10-22  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64-simd.md (reduc_sbool_and_scal_<mode>,
	reduc_sbool_ior_scal_<mode>, reduc_sbool_xor_scal_<mode>): New.
	* config/aarch64/iterators.md (VALLI): New.

2025-10-22  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64-sve.md (reduc_sbool_and_scal_<mode>,
	reduc_sbool_ior_scal_<mode>, reduc_sbool_xor_scal_<mode>): New.

2025-10-22  Tamar Christina  <tamar.christina@arm.com>

	* tree-vect-loop.cc (vectorizable_reduction): Don't always require
	IFN_VEC_SHL_INSERT when using reduc sbool optabs.

2025-10-22  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

	* config/aarch64/aarch64.opt.urls: Regenerate.

2025-10-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122364
	* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): Re-try
	linearization on a conversion source.

2025-10-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122370
	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	Also update compute_vectype when demoting masks to an
	integer vector.

2025-10-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122371
	* tree-vect-loop.cc (vectorize_fold_left_reduction): Get
	to the scalar def to replace via the scalar PHI backedge def.
	* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): Do not
	re-associate to for a reduction chain if a fold-left
	reduction is required.

2025-10-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122365
	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	Convert all inputs.  Use the proper vector element sizes
	for the elementwise reduction.

2025-10-22  Haochen Jiang  <haochen.jiang@intel.com>

	* common/config/i386/cpuinfo.h
	(get_intel_cpu): Handle Nova Lake.
	* common/config/i386/i386-common.cc (processor_name):
	Add Nova Lake.
	(processor_alias_table): Ditto.
	* common/config/i386/i386-cpuinfo.h (enum processor_types):
	Add INTEL_COREI7_NOVALAKE.
	* config.gcc: Add -march=novalake.
	* config/i386/driver-i386.cc (host_detect_local_cpu): Handle
	novalake.
	* config/i386/i386-c.cc (ix86_target_macros_internal): Ditto.
	* config/i386/i386-options.cc (processor_cost_table): Ditto.
	(m_NOVALAKE): New.
	(m_CORE_HYBRID): Add novalake.
	* config/i386/i386.h (enum processor_type): Ditto.
	* doc/extend.texi: Ditto.
	* doc/invoke.texi: Ditto.

2025-10-22  Haochen Jiang  <haochen.jiang@intel.com>

	* config/i386/driver-i386.cc (host_detect_local_cpu): Correct
	the logic for unknown model number cpu guess value.

2025-10-22  liuhongt  <hongtao.liu@intel.com>

	PR target/122320
	* config/i386/sse.md (*<avx512>_cmp<mode>3_dup_op): New define_insn_and_split.

2025-10-22  Antoni Boucher  <bouanto@zoho.com>

	* config/i386/i386-jit.cc: Mark new float types as supported.

2025-10-21  Antoni Boucher  <bouanto@zoho.com>

	* config.gcc (jit_target_objs): Don't set this variable since
	the object files don't exist.

2025-10-21  Roger Sayle  <roger@nextmovesoftware.com>

	* config/i386/i386-features.cc (timode_concatdi_p): New
	function to recognize the various variants of *concatditi3_[1-7].
	(scalar_chain::add_insn): Like VEC_SELECT, ZERO_EXTEND and
	timode_concatdi_p instructions don't require their input
	operands to be converted (to TImode).
	(timode_scalar_chain::compute_convert_gain): Split/clone XOR and
	IOR cases from AND case, to handle timode_concatdi_p costs.
	<case PLUS>: Handle timode_concatdi_p conversion costs.
	<case ZERO_EXTEND>: Provide costs of DImode to TImode extension.
	(timode_convert_concatdi): Helper function to transform
	a *concatditi3 instruction into a vec_concatv2di instruction.
	(timode_scalar_chain::convert_insn): Split/clone XOR and IOR
	cases from ANS case, to handle timode_concatdi_p using the new
	timode_convert_concatdi helper function.
	<case ZERO_EXTEND>: Convert zero_extendditi2 to *vec_concatv2di_0.
	<case PLUS>: Handle timode_concatdi_p using the new
	timode_convert_concatdi helper function.
	(timode_scalar_to_vector_candidate_p): Support timode_concatdi_p
	instructions in IOR, XOR and PLUS cases.
	<case ZERO_EXTEND>: Consider zero extension of a register from
	DImode to TImode to be a candidate.

2025-10-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/120687
	* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): When
	there's no natural reduction chain see if vect_slp_linearize_chain
	can recover one and built the SLP instance manually in that
	case.
	(vect_schedule_slp): Deal with NULL lanes when looking for
	stores to remove.
	* tree-vect-loop.cc (vect_transform_cycle_phi): Dump when we
	are successfully transforming a reduction chain.

2025-10-21  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_create_partial_epilog): Pun back
	to the requested type if necessary.

2025-10-21  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/95699
	PR tree-optimization/101024
	PR tree-optimization/110068
	* match.pd (`(type1)x CMP CST1 ? (type2)x : CST2`): Treat
	`(signed)x </>= 0` as `x >=/< SIGNED_TYPE_MIN`

2025-10-21  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/vxworks.h (ASM_PREFERRED_EH_DATA_FORMAT):
	Redefine.

2025-10-21  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC):
	Remove guard on -fself-tests and replace %:getenv(VSB_DIR) by
	sysroot references.

2025-10-20  Josef Melcr  <jmelcr02@gmail.com>

	* ipa-fnsummary.cc (redirect_to_unreachable): Purge callback
	edges when redirecting the carrying edge.
	(analyze_function_body): Fix typo.

2025-10-20  Svante Signell  <svante.signell@gmail.com>

	PR go/104290
	* config/gnu.h (OPTION_GLIBC_P, OPTION_GLIBC): Define.

2025-10-20  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/constraints.md (R, U):
	Change define_memory_constraint to define_special_memory_constraint.
	* config/xtensa/xtensa.md
	(movsi_internal, movhi_internal, movqi_internal):
	Rearrange their alternatives in the order of constant assignment, register-
	register move, load, store and special.  And also consolidate overlapping
	alternatives.
	(movsf_internal): Rearrange the alternatives as above, and remove the '^'
	alternative character which is no longer needed.

2025-10-20  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.cc
	(constantsynth_method_const16): New.
	(constantsynth_methods): Append constantsynth_method_const16().
	(constantsynth_info): Add cost calculation for full-word constant
	assignment when TARGET_CONST16 is enabled.
	(constantsynth_pass1): Change it so that it works regardless of
	TARGET_CONST16.
	* config/xtensa/xtensa.md (*xtensa_const16): New.

2025-10-20  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.cc (do_largeconst):
	Change split_DI_SF_DF_const() to be called unconditionally.

2025-10-20  Olivier Hainque  <hainque@adacore.com>

	* config.gcc (powerpc*-wrs-vxworks7r*): Add linux-protos.h
	to tm_p_file.

2025-10-20  Olivier Hainque  <hainque@adacore.com>

	* config/vxworks.h (VXWORKS_OS_CPP_BUILTINS): Only
	builtin_define TOOL and TOOL_FAMILY for !TARGET_VXWORKS7.
	Augment comment on VXWORKS_PERSONALITY.
	* config/vxworks/vxworks-predef.h: Infer TOOL and TOOL_FAMILY
	from the VSB autoconf.h	when we have one, determined by the presence
	of a _VSB_CONFIG_FILE definition.

2025-10-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

	* config/aarch64/aarch64-elf.h (ASM_SPEC): Update the macro.
	* config/aarch64/aarch64.cc (aarch64_valid_sysreg_name_p):
	Add feature check condition.
	(aarch64_retrieve_sysreg): Likewise.
	* config/aarch64/aarch64.opt (menable-sysreg-checking):
	Define new flag.
	* doc/invoke.texi (menable-sysreg-checking): Document new flag.

2025-10-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121631
	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	When the reduction operation invokes UB on signed overflow
	make sure to perform operations with it on an unsigned type.

2025-10-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/101639
	PR tree-optimization/103495
	* tree-vectorizer.h (vect_reduc_info_s): Add reduc_type_for_mask.
	(VECT_REDUC_INFO_VECTYPE_FOR_MASK): New.
	* tree-vect-patterns.cc (vect_determine_mask_precision):
	Return whether the mask precision changed.
	(vect_determine_precisions): Iterate mask precision computation
	for loop vectorization.
	* tree-vect-loop.cc (get_initial_defs_for_reduction): Properly
	convert non-mask initial values to a mask initial def for
	the reduction.
	(sbool_reduction_fn_for_fn): New function.
	(vect_create_epilog_for_reduction): For a mask input convert
	it to the vector type analysis decided to use.  Use a regular
	conversion for the final convert to the scalar code type.
	(vectorizable_reduction): Support mask reductions.  Verify
	we can compute a data vector from the mask result or a direct
	maks reduction is provided by the target.

2025-10-20  Richard Biener  <rguenther@suse.de>

	* doc/md.texi (reduc_sbool_{and,ior,xor}_scal_<mode>): Document.
	* optabs.def (reduc_sbool_and_scal_optab,
	reduc_sbool_ior_scal_optab, reduc_sbool_xor_scal_optab): New.
	* internal-fn.def (REDUC_SBOOL_AND, REDUC_SBOOL_IOR,
	REDUC_SBOO_XOR): Likewise.
	* internal-fn.cc (reduc_sbool_direct): New initializer.
	(expand_reduc_sbool_optab_fn): New expander.
	(direct_reduc_sbool_optab_supported_p): New.

2025-10-20  H.J. Lu  <hjl.tools@gmail.com>

	PR target/99930
	PR target/122323
	* config/i386/i386-expand.cc (ix86_expand_copysign): Swap
	operands[1] with operands[2].  Optimize copysign (x, const_double)
	instead of copysign (const_double, x).
	* config/i386/i386.md (copysign<mode>3): Swap constraints for
	operands[1] and operands[2].

2025-10-19  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.cc (avr_nonzero_bits_lsr_operands_p): Also
	handle PLUS.
	* config/avr/avr.md (pixaop): New code iterator for PLUS,
	IOR, XOR, AND.
	(nzb=1 insns): Use pixaop instead of bitop code iterator.
	Handle PLUS in outputs.

2025-10-18  Mark Wielaard  <mark@klomp.org>

	* common.opt.urls: Regenerate.

2025-10-18  Iain Sandoe  <iain@sandoe.co.uk>

	PR c++/119060
	* builtins.cc (expand_builtin): Handle BUILT_IN_OBSERVABLE_CHKPT.
	* builtins.def (BUILT_IN_OBSERVABLE_CHKPT): New.
	* tree.cc (build_common_builtin_nodes): Build observable
	checkpoint builtin.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* config/aarch64/aarch64-sve2.md
	(widen_ssum<mode><Vnarrow>3): Update.
	(widen_usum<mode><Vnarrow>3): Update.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* config/aarch64/aarch64-sve2.md: (widen_ssum<mode><Vnarrow>3): New.
	(widen_usum<mode><Vnarrow>3): New.
	* config/aarch64/iterators.md (Vnarrow): New, to match VNARROW.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* config/aarch64/aarch64-sve.md (widen_<sur>sum<mode><vsi2qi>3): New.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* config/rs6000/altivec.md (widen_usum<mode>3): Rename ...
	(widen_usumv4si<mode>3): ... to this.
	(widen_ssumv16qi3): Rename ...
	(widen_ssumv4siv16qi3): ... to this.
	(widen_ssumv8hi3): Rename ...
	(widen_ssumv4siv8hi3): ... to this.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* config/ia64/vect.md (widen_usumv8qi3): Renamed ...
	(widen_usumv4hiv8qi3): ... into this.
	(widen_usumv4hi3): Renamed ...
	(widen_usumv2siv4hi3): ... into this.
	(widen_ssumv8qi3): Renamed ...
	(widen_ssumv4hiv8qi3): ... into this.
	(widen_ssumv4hi3): Renamed ...
	(widen_ssumv2siv4hi3): ... into this.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* config/arm/iterators.md (v_double_width): New, matching
	V_double_width.
	* config/arm/neon.md (widen_ssum<mode>3): Renamed ...
	(widen_ssum<v_double_width><mode>3, widen_ssum<V_widen_l><mode>3): ...
	into these.
	(widen_usum<mode>3): Renamed ...
	(widen_usum<v_double_width><mode>3, widen_usum<V_widen_l><mode>3): ...
	into these.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* config/aarch64/aarch64-simd.md (widen_ssum<mode><vsi2qi>3): New.
	(widen_usum<mode><vsi2qi>3): New.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* config/aarch64/aarch64-simd.md (widen_ssum<mode>3): Change into..
	(widen_ssum<Vdblw><mode>3, widen_ssum<Vwide><mode>3): ... these.
	(widen_usum<mode>3): Change into ...
	(widen_usum<Vdblw><mode>3, widen_usum<Vwide><mode>3): ... these.
	* config/aarch64/iterators.md (Vdblw): New.
	(Vwide): Extend to match VWIDE.

2025-10-18  Tamar Christina  <tamar.christina@arm.com>

	PR middle-end/122069
	* doc/md.texi (widen_ssum@var{n}@var{m}3, widen_usum@var{n}@var{m}3):
	Update docs.
	* optabs.cc (expand_widen_pattern_expr): Add WIDEN_SUM_EXPR as widening.
	* optabs.def (ssum_widen_optab, usum_widen_optab): Convert from direct
	to a conversion optab.
	* tree-vect-patterns.cc (vect_recog_widen_sum_pattern): Change
	vect_supportable_direct_optab_p into vect_supportable_conv_optab_p.

2025-10-18  Linsen Zhou  <i@lin.moe>

	PR tree-optimization/122012
	* tree-object-size.cc (check_for_plus_in_loops): Skip check
	for the variable offset

2025-10-17  David Faust  <david.faust@oracle.com>

	PR target/122139
	* config/bpf/bpf.cc (bpf_expand_setmem): Duplicate byte value
	across to new mode when using larger modes for store.

2025-10-17  Tamar Christina  <tamar.christina@arm.com>
	    Jennifer Schmitz  <jschmitz@nvidia.com>

	PR target/121604
	* config/aarch64/aarch64-sve-builtins-shapes.cc (apply_predication):
	Store gp_index.
	(struct pmov_to_vector_lane_def): Mark instruction as has no GP.
	* config/aarch64/aarch64-sve-builtins.h (function_instance::gp_value,
	function_instance::inactive_values, function_instance::gp_index,
	function_shape::has_gp_argument_p): New.
	* config/aarch64/aarch64-sve-builtins.cc (gimple_folder::fold_pfalse):
	Simplify code and use GP helpers.

2025-10-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122308
	* gimple-loop-jam.cc (tree_loop_unroll_and_jam): Do LIM
	after applying unroll-and-jam.

2025-10-17  Josef Melcr  <jmelcr02@gmail.com>

	* Makefile.in: Add attr-callback.o to OBJS.
	* builtin-attrs.def (ATTR_CALLBACK): Callback attr identifier.
	(DEF_CALLBACK_ATTRIBUTE): Macro for callback attr creation.
	(GOMP): Attr for libgomp functions.
	(ATTR_CALLBACK_GOMP_LIST): ATTR_NOTHROW_LIST with GOMP callback
	attr added.
	* cgraph.cc (cgraph_add_edge_to_call_site_hash): Always hash the
	callback-carrying edge.
	(cgraph_node::get_edge): Always return the callback-carrying
	edge.
	(cgraph_edge::set_call_stmt): Add cascade for callback edges.
	(symbol_table::create_edge): Allow callback edges to share call
	stmts, initialize new flags.
	(cgraph_edge::make_callback): New method, derives a new callback
	edge.
	(cgraph_edge::get_callback_carrying_edge): New method.
	(cgraph_edge::first_callback_edge): Likewise.
	(cgraph_edge::next_callback_edge): Likewise.
	(cgraph_edge::purge_callback_edges): Likewise.
	(cgraph_edge::redirect_callee): When redirecting a callback
	edge, redirect its ref as well.
	(cgraph_edge::redirect_call_stmt_to_callee): Add callback edge
	redirection logic, set update_derived_edges to true hwne
	redirecting the carrying edge.
	(cgraph_node::remove_callers): Add cascade for callback edges.
	(cgraph_edge::dump_edge_flags): Print callback flags.
	(cgraph_node::verify_node): Add sanity checks for callback
	edges.
	* cgraph.h: Add new 1 bit flags and 16 bit callback_id to
	cgraph_edge class.
	* cgraphclones.cc (cgraph_edge::clone): Copy over callback data.
	* cif-code.def (CALLBACK_EDGE): Add CIF_CALLBACK_EDGE code.
	* ipa-cp.cc (purge_useless_callback_edges): New function,
	deletes callback edges when necessary.
	(ipcp_decision_stage): Call purge_useless_callback_edges.
	* ipa-fnsummary.cc (ipa_call_summary_t::duplicate): Add
	an exception for callback edges.
	(analyze_function_body): Copy over summary from carrying to
	callback edge.
	* ipa-inline-analysis.cc (do_estimate_growth_1): Skip callback
	edges when estimating growth.
	* ipa-inline-transform.cc (inline_transform): Add redirection
	cascade for callback edges.
	* ipa-param-manipulation.cc
	(drop_decl_attribute_if_params_changed_p): New function.
	(ipa_param_adjustments::build_new_function_type): Add
	args_modified out param.
	(ipa_param_adjustments::adjust_decl): Drop callback attrs when
	modifying args.
	* ipa-param-manipulation.h: Adjust decl of
	build_new_function_type.
	* ipa-prop.cc (ipa_duplicate_jump_function): Add decl.
	(init_callback_edge_summary): New function.
	(ipa_compute_jump_functions_for_edge): Add callback edge
	creation logic.
	* lto-cgraph.cc (lto_output_edge): Stream out callback data.
	(input_edge): Input callback data.
	* omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC): Use new
	attr list.
	(BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED): Likewise.
	(BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC): Likewise.
	(BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME): Likewise.
	(BUILT_IN_GOMP_PARALLEL): Likewise.
	(BUILT_IN_GOMP_PARALLEL_SECTIONS): Likewise.
	(BUILT_IN_GOMP_TEAMS_REG): Likewise.
	* tree-core.h (ECF_CB_1_2): New constant for callback(1,2).
	* tree-inline.cc (copy_bb): Copy callback edges when copying the
	carrying edge.
	(redirect_all_calls): Redirect callback edges.
	* tree.cc (set_call_expr_flags): Create callback attr according
	to the ECF_CB flag.
	* attr-callback.cc: New file.
	* attr-callback.h: New file.

2025-10-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122301
	* tree-vect-patterns.cc (vect_recog_over_widening_pattern):
	Fix reduction guard.
	(vect_mark_pattern_stmts): Fix reduction def check.

2025-10-17  Avinash Jayakar  <avinashd@linux.ibm.com>

	PR tree-optimization/104116
	* tree-vect-patterns.cc (add_code_for_floorceilround_divmod): patt recog
	for {FLOOR,ROUND,CEIL}_{DIV,MOD}_EXPR.
	(vect_recog_divmod_pattern): Call add_code_for_floorceilround_divmod
	after computing div/mod for each control path.

2025-10-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122296
	* match.pd (`(a != b) | ((a|b) != 0)`): Reuse both
	the ior and zero instead of recreating them.
	(`(a == b) & ((a|b) == 0)`): Likewise

2025-10-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122296
	* match.pd (`(a == b) | ((a|b) != 0)`): Fix true value.

2025-10-17  Hu, Lin1  <lin1.hu@intel.com>

	PR target/122119
	* config/i386/amxmovrsintrin.h
	(_tile_loaddrs_internal): Use __PTRDIFF_TYPE__ instead of long.
	(_tile_loaddrst1_internal): Ditto.

2025-10-16  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Add
	custom-sarif-properties/digraphs.o and
	custom-sarif-properties/state-graphs.o.  Remove
	diagnostics/state-graphs.o.
	* configure: Regenerate.
	* configure.ac: Add custom-sarif-properties to subdir iteration.
	* custom-sarif-properties/digraphs.cc: New file.
	* custom-sarif-properties/digraphs.h: New file.
	* custom-sarif-properties/state-graphs.cc: New file.
	* custom-sarif-properties/state-graphs.h: New file.
	* diagnostics/diagnostics-selftests.cc
	(run_diagnostics_selftests): Drop call of state_graphs_cc_tests.
	* diagnostics/diagnostics-selftests.h (state_graphs_cc_tests):
	Delete decl.
	* diagnostics/digraphs.cc: Include
	"custom-sarif-properties/digraphs.h".  Move include of
	"selftest.h" to within CHECKING_P section.
	(using digraph_object): New.
	(namespace properties): New.
	(diagnostics::digraphs::object::get_attr): Delete.
	(diagnostics::digraphs::object::set_attr): Delete.
	(diagnostics::digraphs::object::set_json_attr): Delete.
	(digraph_object::get_property): New definitions, for various
	property types.
	(digraph_object::set_property): Likewise.
	(digraph_object::maybe_get_property): New.
	(digraph_object::get_property_as_tristate): New.
	(digraph_object::ensure_property_bag): New.
	(digraph::get_graph_kind): New.
	(digraph::set_graph_kind): New.
	Add include of "custom-sarif-properties/state-graphs.h".
	(selftest::test_simple_graph): Rewrite to use json::property
	instances rather than string attribute names.
	(selftest::test_property_objects): New test.
	(selftest::digraphs_cc_tests): Call it.
	* diagnostics/digraphs.h: Include "tristate.h".
	(object::get_attr): Delete.
	(object::set_attr): Delete.
	(object::get_property): New decls.
	(object::set_property): New decls.
	(object::maybe_get_property): New.
	(object::get_property_as_tristate): New.
	(object::set_json_attr): Delete.
	(object::ensure_property_bag): New.
	(graph::get_graph_kind): New.
	(graph::set_graph_kind): New.
	* diagnostics/html-sink.cc
	(html_generation_options::html_generation_options): Update for
	field renamings.
	(html_generation_options::dump): Likewise.
	(html_builder::maybe_make_state_diagram): Likewise.
	(html_builder::add_graph): Show SARIF and .dot src inline, if
	requested.
	* diagnostics/html-sink.h
	(html_generation_options::m_show_state_diagrams_sarif): Rename
	to...
	(html_generation_options::m_show_graph_sarif): ...this.
	(html_generation_options::m_show_state_diagrams_dot_src): Rename
	to...
	(html_generation_options::m_show_graph_dot_src0): ...this.
	* diagnostics/output-spec.cc
	(html_scheme_handler::maybe_handle_kv): Rename keys.
	(html_scheme_handler::get_keys): Likewise.
	* diagnostics/state-graphs-to-dot.cc: : Reimplement throughout to
	use json::property instances found within custom_sarif_properties
	throughout, rather than types in diagnostics::state_graphs.
	* diagnostics/state-graphs.cc: Deleted file.
	* diagnostics/state-graphs.h: Delete almost all, except decl of
	diagnostics::state_graphs::make_dot_graph.
	* doc/invoke.texi: Update for changes to "experimental-html" sink
	keys.
	* json.cc (json::object::set_string): New.
	(json::object::set_integer): New.
	(json::object::set_bool): New.
	(json::object::set_array_of_string): New.
	* json.h: Include "label-text.h".
	(struct json::property): New template.
	(json::string_property): New.
	(json::integer_property): New.
	(json::bool_property): New.
	(json::json_property): New.
	(using json::array_of_string_property): New.
	(struct json::enum_traits): New.
	(enum_json::property): New.
	(json::value::dyn_cast_array): New vfunc.
	(json::value::dyn_cast_integer_number): New vfunc.
	(json::value::set_string): New.
	(json::value::set_integer): New.
	(json::value::set_bool): New.
	(json::value::set_array_of_string): New.
	(json::value::maybe_get_enum): New.
	(json::value::set_enum): New.
	(json::array::dyn_cast_array): New.
	(json::integer_number::dyn_cast_integer_number): New.
	(object::maybe_get_enum): New.
	(object::set_enum): New.

2025-10-16  Ayappan Perumal  <ayappap2@in.ibm.com>

	* config/rs6000/aix.h (SUBTARGET_DRIVER_SELF_SPECS):
	Error out when stack-protector option is used in AIX
	as it is not supported on AIX
	Approved By: Segher Boessenkool <segher@kernel.crashing.org>

2025-10-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122292
	* tree-vect-loop.cc (vect_transform_reduction): Compute the
	input vector type the same way the analysis phase does.

2025-10-15  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/121468
	PR tree-optimization/121206
	PR tree-optimization/122200
	* value-range.cc (irange_bitmask::range_from_mask): New.
	(irange::snap): Add explicit overflow flag.
	(irange::snap_subranges): Use overflow flag.
	(irange::set_range_from_bitmask): Use range_from_mask.
	(test_irange_snap_bounds): Adjust for improved ranges.
	* value-range.h (irange::range_from_mask): Add prototype.
	(irange::snap): Adjust prototype.

2025-10-15  Tobias Burnus  <tburnus@baylibre.com>

	* config/gcn/gcn-devices.def (gfx942, gfx950): Set generic name
	to GFX9_4_GENERIC.
	* config/gcn/t-omp-device: Include generic names for OpenMP's
	ISA trait.

2025-10-15  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* print-tree.cc (print_node): Print out clique/base
	for MEM_REF and TARGET_MEM_REF.

2025-10-15  Richard Earnshaw  <rearnsha@arm.com>

	PR target/118460
	* config/arm/arm.cc (arm_canonicalize_comparison): For floating-
	point comparisons, swap the operand order if that will be more
	likely to produce a comparison that can be used with VSEL.
	(arm_validize_comparison): Make sure that HFmode comparisons
	are compatible with VSEL.

2025-10-15  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122037
	* tree-ssa-dce.cc (eliminate_unnecessary_stmts): Remove
	__builtin_stack_save when the lhs is unused.

2025-10-15  Alice Carlotti  <alice.carlotti@arm.com>

	* config/aarch64/aarch64-sys-regs.def: Copy from Binutils.
	* config/aarch64/aarch64.cc (F_ARCHEXT): Delete flag.
	* config/aarch64/aarch64.h
	(AARCH64_FL_AMU): Delete unused macro.
	(AARCH64_FL_SCXTNUM): Ditto.
	(AARCH64_FL_ID_PFR2): Ditto.
	(AARCH64_FL_AIE): Ditto.
	(AARCH64_FL_DEBUGv8p9): Ditto.
	(AARCH64_FL_FGT2): Ditto.
	(AARCH64_FL_PFAR): Ditto.
	(AARCH64_FL_PMUv3_ICNTR): Ditto.
	(AARCH64_FL_PMUv3_SS): Ditto.
	(AARCH64_FL_PMUv3p9): Ditto.
	(AARCH64_FL_S1PIE): Ditto.
	(AARCH64_FL_S1POE): Ditto.
	(AARCH64_FL_S2PIE): Ditto.
	(AARCH64_FL_S2POE): Ditto.
	(AARCH64_FL_SCTLR2): Ditto.
	(AARCH64_FL_SEBEP): Ditto.
	(AARCH64_FL_SPE_FDS): Ditto.
	(AARCH64_FL_TCR2): Ditto.

2025-10-15  Sebastian Pop  <spop@nvidia.com>

	* doc/invoke.texi (ftree-parallelize-loops): Update.
	* common.opt (ftree-parallelize-loops): Add alias that maps to
	special value INT_MAX for runtime thread detection.
	* tree-parloops.cc (create_parallel_loop): Use INT_MAX for runtime
	detection.  Call gimple_build_omp_parallel without building a
	OMP_CLAUSE_NUM_THREADS clause.
	(gen_parallel_loop): For auto-detection, use a conservative
	estimate of 2 threads.
	(parallelize_loops): Same.

2025-10-15  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/122189
	* config/arm/iterators.md (VxCIQ_carry, VxCIQ_M_carry, VxCQ_carry)
	(VxCQ_M_carry): New iterators.
	* config/arm/mve.md (get_fpscr_nzcvqc, set_fpscr_nzcvqc): Use
	unspec instead of unspec_volatile.
	(vadciq, vadciq_m, vadcq, vadcq_m): Use vfpcc in operation.  Use a
	different unspec code for carry calcultation.
	* config/arm/unspecs.md (VADCQ_U_carry, VADCQ_M_U_carry)
	(VADCQ_S_carry, VADCQ_M_S_carry, VSBCIQ_U_carry ,VSBCIQ_S_carry
	,VSBCIQ_M_U_carry ,VSBCIQ_M_S_carry ,VSBCQ_U_carry ,VSBCQ_S_carry
	,VSBCQ_M_U_carry ,VSBCQ_M_S_carry ,VADCIQ_U_carry
	,VADCIQ_M_U_carry ,VADCIQ_S_carry ,VADCIQ_M_S_carry): New unspec
	codes.

2025-10-15  Roger Sayle  <roger@nextmovesoftware.com>

	PR rtl-optimization/122266
	* combine.cc (struct reg_stat_type): Change types of sign_bit_copies
	and last_set_sign_bit_copies to unsigned short, to avoid overflows
	on TImode (and wider) values.

2025-10-15  Jan Hubicka  <hubicka@ucw.cz>

	* auto-profile.cc (scale_bb_profile): Use
	profile_count::max_prefer_initialized.
	(afdo_adjust_guessed_profile): Likewise.
	* bb-reorder.cc (edge_order): Do not use max.
	* cfghooks.cc (merge_blocks): Likewise.
	* ipa-fnsummary.cc (param_change_prob): Likewise.
	* ipa-inline-transform.cc (inline_transform): Likewise.
	* predict.cc (update_max_bb_count): Likewise.
	(estimate_bb_frequencies): Likewise.
	(rebuild_frequencies): Likewise.
	* tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Likewise.
	* profile-count.h (profile_count::max): Rename to
	(profile_count::max_prefer_initialized): this; update handling
	of qualities.

2025-10-15  Haochen Jiang  <haochen.jiang@intel.com>

	* common/config/i386/cpuinfo.h
	(get_intel_cpu): Handle Wildcat Lake.
	* common/config/i386/i386-common.cc (processor_name):
	Add Wildcat Lake.
	* doc/invoke.texi: Ditto.

2025-10-15  Haochen Jiang  <haochen.jiang@intel.com>

	* config/i386/i386.h
	(PTA_PANTHERLAKE): Remove PREFETCHI.
	(PTA_DIAMONDRAPIDS): Remove USER_MSR.
	* doc/invoke.texi: Correct documentation.

2025-10-15  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md: Take concrete op instead
	of any_widen_binop for vwaddu/vwsubu wx combine.

2025-10-14  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (REDUC_GROUP_FIRST_ELEMENT,
	REDUC_GROUP_NEXT_ELEMENT, REDUC_GROUP_SIZE): Remove.
	* tree-vect-slp.cc (REDUC_GROUP_FIRST_ELEMENT): Re-instantiate
	here.

2025-10-14  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.cc (vect_analyze_slp_reduction): Move
	reduction chain discovery ...
	(vect_analyze_slp_reduc_chain): ... here.

2025-10-14  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_create_epilog_for_reduction): Move
	bitsize compute down to where it is used and consistently
	use vectype1 for element extraction.

2025-10-14  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/121949
	* tree-vect-patterns.cc (vect_recog_vector_vector_shift_pattern): Remove
	restriction on internal_def.

2025-10-14  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-stmts.cc (get_load_store_type): Add load-permutation
	checks and setting of slp_perm.
	(vectorizable_store): Remove perm_ok argument.
	(vectorizable_load): Ditto and replace slp_perm by ls.slp_perm.
	* tree-vectorizer.h (struct vect_load_store_data): Add slp_perm.

2025-10-14  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_reduc_info_s::is_reduc_chain): New.
	(_loop_vec_info::reduction_chains): Remove.
	(LOOP_VINFO_REDUCTION_CHAINS): Likewise.
	* tree-vect-patterns.cc (vect_reassociating_reduction_p):
	Do not special-case reduction group stmts.
	* tree-vect-loop.cc (vect_is_simple_reduction): Remove
	reduction chain handling.
	(vect_analyze_scalar_cycles_1): Remove slp parameter and adjust.
	(vect_analyze_scalar_cycles): Likewise.
	(vect_fixup_reduc_chain): Remove.
	(vect_fixup_scalar_cycles_with_patterns): Likewise.
	(vect_analyze_loop_2): Adjust.
	(vect_create_epilog_for_reduction): Check the reduction info
	for whether this is a reduction chain.
	(vect_transform_cycle_phi): Likewise.
	(vectorizable_reduction): Likewise.  Simplify code for all-SLP.
	* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): Simplify.
	(vect_analyze_slp_reduction): New function, perform reduction
	chain discovery here.
	(vect_analyze_slp): Remove reduction chain handling.
	Use vect_analyze_slp_reduction for possible reduction chain
	processing.

2025-10-14  Haochen Jiang  <haochen.jiang@intel.com>

	* common/config/i386/cpuinfo.h
	(get_available_features): Remove AMX-TRANSPOSE.
	* common/config/i386/i386-common.cc
	(OPTION_MASK_ISA2_AMX_TRANSPOSE_SET): Removed.
	(OPTION_MASK_ISA2_AMX_TRANSPOSE_UNSET): Ditto.
	(ix86_handle_option): Remove amx-transpose handle.
	* common/config/i386/i386-cpuinfo.h
	(enum processor_features): Remove FEATURE_AMX_TRANSPOSE.
	Set FEATURE_AMX_MOVRS value.
	* common/config/i386/i386-isas.h: Remove AMX-TRANSPOSE.
	* config.gcc: Do not include amxtransposeintrin.h.
	* config/i386/amxmovrsintrin.h: Remove AMX-TRANSPOSE intrins.
	* config/i386/amxtransposeintrin.h: Ditto.
	* config/i386/cpuid.h (bit_AMX_TRANSPOSE): Removed.
	* config/i386/i386.h (PTA_DIAMONDRAPIDS): Remove AMX-TRANSPOSE.
	* config/i386/i386-c.cc (ix86_target_macros_internal): Remove
	AMX_TRANSPOSE.
	* config/i386/i386-isa.def (AMX_TRANSPOSE): Removed.
	* config/i386/i386-options.cc
	(ix86_valid_target_attribute_inner_p): Remove AMX-TRANSPOSE.
	* config/i386/i386.opt: Ditto.
	* config/i386/i386.opt.urls: Ditto.
	* config/i386/immintrin.h: Remove amxtransposeintrin.h.
	* doc/extend.texi: Remove amx-transpose.
	* doc/invoke.texi: Ditto.
	* doc/sourcebuild.texi: Ditto.

2025-10-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-phiopt.cc (pass_phiopt::execute): Disable
	cselim-limited and factor out operations for -Og.

2025-10-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122178
	* tree-ssa-phiopt.cc (cond_if_else_store_replacement_1): Handle
	clobber statements.

2025-10-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122182
	* tree-ssa-dom.cc (cprop_operand): Don't check may_propagate_copy_into_asm.
	* tree-ssa-propagate.cc (substitute_and_fold_engine::replace_uses_in): Don't
	check may_propagate_copy_into_asm.
	(may_propagate_copy_into_asm): Remove.
	* tree-ssa-propagate.h (may_propagate_copy_into_asm): Remove.

2025-10-14  Zhongyao Chen  <chenzhongyao.hit@gmail.com>

	* common/config/riscv/riscv-common.cc (riscv_subset_list::get_profile_name):
	New function.
	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
	profile macro if a profile is detected.
	* config/riscv/riscv-subset.h (riscv_subset_list::get_profile_name): Declare.

2025-10-13  Shreya Munnangi  <smunnangi1@ventanamicro.com>

	PR target/120811
	* config/riscv/riscv.cc (synthesize_add): Exchange constant terms when
	generating addi pairs.
	(synthesize_addsi): Similarly.
	* config/riscv/riscv.md (addptr<mode>3): New define_expand.
	(*add<mode>3_const_sum_of_two_s12): Remove pattern.

2025-10-13  Jeff Law  <jlaw@ventanamicro.com>

	PR target/120674
	* config/riscv/riscv.cc (riscv_dwarf_poly_indeterminite_value): Do not
	set FACTOR to zero, for that case use one instead.

2025-10-13  Pan Li  <pan2.li@intel.com>

	* match.pd: Add simplifed pattern for widen_mul based unsigned
	SAT_MUL.

2025-10-13  Jan Hubicka  <hubicka@ucw.cz>

	* ipa-inline.cc (max_count): Remove.
	(has_nonzero_ipa_profile): New.
	(inline_small_functions): Update.
	(dump_inline_stats): Update.

2025-10-13  Robin Dapp  <rdapp@ventanamicro.com>

	PR target/118019
	* internal-fn.cc (get_supported_else_vals): Exit at invalid
	index.
	(internal_strided_fn_supported_p): New funtion.
	* internal-fn.h (internal_strided_fn_supported_p): Declare.
	* tree-vect-stmts.cc (vector_vector_composition_type):
	Add vector_only argument.
	(vect_use_grouped_gather): New function.
	(vect_get_store_rhs): Adjust docs of
	vector_vector_composition_type.
	(get_load_store_type): Try grouped gather.
	(vectorizable_store): Use punned vectype.
	(vectorizable_load): Ditto.
	* tree-vectorizer.h (struct vect_load_store_data): Add punned
	vectype.

2025-10-13  Avinash Jayakar  <avinashd@linux.ibm.com>

	PR tree-optimization/122213
	* match.pd: Canonicalize unsigned pow2 div only for trunk, floor and
	exact div.

2025-10-13  Richard Biener  <rguenther@suse.de>

	* tree-vect-patterns.cc (integer_type_for_mask): Add optional
	output dt argument.
	(vect_recog_bool_pattern): Make sure to not apply the bitwise
	binary pattern to an external operand.

2025-10-11  Bohan Lei  <garthlei@linux.alibaba.com>

	PR target/119587
	* config/riscv/thead.md (*th_memidx_operand): New splitter.

2025-10-11  Georg-Johann Lay  <avr@gjlay.de>

	* coretypes.h (enum artificial_rodata): New enum type.
	* doc/tm.texi: Rebuild.
	* doc/tm.texi.in (TARGET_ADDR_SPACE_FOR_ARTIFICIAL_RODATA):
	New hook.
	* target.def (addr_sapce.for_artificial_rodata): New DEFHOOK.
	* targhooks.cc (default_addr_space_convert): New function.
	* targhooks.h (default_addr_space_convert): New prototype.
	* tree-switch-conversion.cc (build_one_array) <value_type>:
	Set type_quals address-space according to
	targetm.addr_space.for_artificial_rodata().
	* config/avr/avr.cc (avr_rodata_in_flash_p): Move up.
	(TARGET_ADDR_SPACE_FOR_ARTIFICIAL_RODATA): Define to...
	(avr_addr_space_for_artificial_rodata): ...this new function.
	* common/config/avr/avr-common.cc (avr_option_optimization_table):
	Adjust -ftree-switch-conversion comment.

2025-10-11  Austin Law  <austinklaw@gmail.com>

	* config/riscv/sync.md (lrsc_atomic_fetch_<atomic_optab><mode>):
	Adjust operand predicate/constraint to allow simm12 operands
	where valid.  Adjust output template accordingly.
	(subword_atomic_fech_strong_<atomic_optab>): Likewise.
	(subword_atomic_fetch_strong_nand): Likewise.
	(subword_atomic_exchange_strong): Likewise.
	(subword_atomic_cas_strong): Likewise.

2025-10-10  David Faust  <david.faust@oracle.com>

	PR target/122141
	* config/bpf/bpf.cc (bpf_expand_cbranch): Use swap_condition
	rather than reverse_condition when reversing jump condition to
	work around missing instructions in very old BPF ISAs.

2025-10-10  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (do_simple_agr_dse): New function.
	(pass_forwprop::execute): Call do_simple_agr_dse for clobbers.

2025-10-10  Umesh Kalvakuntla  <Umesh.Kalvakuntla@amd.com>

	* common/config/i386/cpuinfo.h (get_amd_cpu): Fix znver5 family
	model numbers.
	(get_available_features): Set FEATURE_PREFETCHI for bit_AMD_PREFETCHI.
	* config/i386/cpuid.h (bit_AMD_PREFETCHI): New Macro.

2025-10-10  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*widen_wsubu_wx_<mode>): Add new
	pattern to match vwsubu.wx.

2025-10-10  Juergen Christ  <jchrist@linux.ibm.com>

	* config/s390/vector.md (fmax<mode>3): Restrict to no trapping
	math.
	(fmin<mode>3): Ditto.

2025-10-10  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (mode_iterator CCANY): Add CCFP and CCEQ.

2025-10-10  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/122223
	* config/arm/mve.md (@mve_vbicq_f<mode>): Fix operands order.

2025-10-10  Andrew Stubbs  <ams@baylibre.com>

	* tree-vect-stmts.cc: Fix VEC_STMT parameter comments throughout.

2025-10-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Improve Apple
	M3 and add Apple M4 cores.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* doc/invoke.texi: Add apple-m4 core to the ones listed
	for arch and tune selections.

2025-10-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122111
	* tree-ssa-math-opts.cc (build_and_insert_cast): Remove
	conversion simplification, instead use gimple_convert.

2025-10-10  Robin Dapp  <rdapp@ventanamicro.com>

	* config/arm/arm.cc (arm_builtin_support_vector_misalignment):
	Remove use of type.

2025-10-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122225
	* tree-cfg.cc (verify_gimple_return): Look at DECL_RESULT
	for DECL_BY_REFERENCE.

2025-10-10  YunQiang Su  <yunqiang@isrc.iscas.ac.cn>

	Revert:
	2025-09-27  Jie Mei  <jie.mei@oss.cipunited.com>

	* config/mips/mips.cc(mips_option_override):Add conditions
	for use of the -mmips16e2 and -mips16 option.

2025-10-09  David Faust  <david.faust@oracle.com>

	* doc/extend.texi (Common Function Attributes)
	(Common Variable Attributes): Document btf_decl_tag attribute.
	(Common Type Attributes): Document btf_type_tag attribute.

2025-10-09  David Faust  <david.faust@oracle.com>

	* btfout.cc (get_btf_kind): Handle DECL_TAG and TYPE_TAG kinds.
	(btf_calc_num_vbytes): Likewise.
	(btf_asm_type): Likewise.
	(output_asm_btf_vlen_bytes): Likewise.
	(output_btf_tags): New.
	(btf_output): Call it here.
	(btf_add_used_type): Replace with simple wrapper around...
	(btf_add_used_type_1): ...the implementation.  Handle
	BTF_KIND_DECL_TAG and BTF_KIND_TYPE_TAG.
	(btf_add_vars): Update btf_add_used_type call.
	(btf_assign_tag_ids): New.
	(btf_mark_type_used): Update btf_add_used_type call.
	(btf_collect_pruned_types): Likewise.  Handle type and decl tags.
	(btf_finish): Call btf_assign_tag_ids.

2025-10-09  David Faust  <david.faust@oracle.com>

	* ctfc.cc (ctf_dtu_d_union_selector): Handle CTF_K_DECL_TAG and
	CTF_K_TYPE_TAG.
	(ctf_add_type_tag, ctf_add_decl_tag): New.
	(ctf_add_variable): Return the new ctf_dvdef_ref rather than zero.
	(new_ctf_container): Initialize new members.
	(ctfc_delete_container): Deallocate new members.
	* ctfc.h (ctf_dvdef, ctf_dvdef_t, ctf_dvdef_ref): Move forward
	declarations earlier in file.
	(ctf_decl_tag_t): New typedef.
	(ctf_dtdef): Add ctf_decl_tag_t member to dtd_u union.
	(ctf_dtu_d_union_enum): Add new CTF_DTU_D_TAG enumerator.
	(ctf_container): Add ctfc_tags vector and ctfc_type_tags_map hash_map
	members.
	(ctf_add_type_tag, ctf_add_decl_tag): New function protos.
	(ctf_add_variable): Change prototype return type to ctf_dvdef_ref.
	* dwarf2ctf.cc (gen_ctf_type_tags, gen_ctf_decl_tags)
	(gen_ctf_decl_tags_for_var): New static functions.
	(gen_ctf_pointer_type): Handle type tags.
	(gen_ctf_sou_type): Handle decl tags.
	(gen_ctf_function_type): Likewise.
	(gen_ctf_variable): Likewise.
	(gen_ctf_function): Likewise.
	(gen_ctf_type): Handle TAG_GNU_annotation DIEs.

2025-10-09  David Faust  <david.faust@oracle.com>

	* dwarf2out.cc (struct annotation_node, struct annotation_node_hasher)
	(btf_tag_htab): New ancillary structures and hash table.
	(annotation_node_hasher::hash, annotation_node_hasher::equal): New.
	(hash_btf_tag, gen_btf_tag_dies, maybe_gen_btf_type_tag_dies)
	(maybe_gen_btf_decl_tag_dies): New functions.
	(modified_type_die): Add new argument to pass type attributes.
	Handle btf_type_tag, and update recursive calls.
	(base_type_for_mode): Add new arg for modified_type_die call.
	(add_type_attribute): Likewise.
	(gen_array_type_die): Call maybe_gen_btf_type_tag_dies for the type.
	(gen_formal_parameter_die): Call maybe_gen_btf_decl_tag_dies for the
	parameter.
	(override_type_for_decl_p): Add new arg for modified_type_die call.
	(force_type_die): Likewise.
	(gen_tagged_type_die): Call maybe_gen_btf_type_tag_dies for the type.
	(gen_decl_die): Call maybe_gen_btf_decl_tag_dies for the decl.
	(dwarf2out_finish): Empty btf_tag_htab.
	(dwarf2out_cc_finalize): Delete btf_tag_htab hash table.

2025-10-09  Jakub Jelinek  <jakub@redhat.com>

	* ginclude/stdarg.h (va_start): Use __builtin_c23_va_start
	also for C++26.
	(__STDC_VERSION_STDARG_H__): Also define for C++26.

2025-10-09  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic-global-context.cc: Define INCLUDE_VECTOR.
	* diagnostics/buffering.cc: Likewise.
	* diagnostics/context.cc (context::finish): Call
	finalize_extensions on each sink.
	(sink::dump): Dump any extensions.
	(sink::finalize_extensions): New.
	* diagnostics/macro-unwinding.cc: Define INCLUDE_VECTOR.
	* diagnostics/selftest-context.cc: Likewise.
	* diagnostics/sink.h (class sink::extension): New.
	(sink::add_extension): New.
	(sink::finalize_extensions): New decl.
	(sink::m_extensions): New member.
	* gcc.cc: Define INCLUDE_VECTOR.
	* langhooks.cc: Likewise.
	* opts.cc: Likewise.
	* tree-diagnostic-client-data-hooks.cc: Likewise.
	* tree-diagnostic.cc: Likewise.

2025-10-09  Filip Kastl  <fkastl@suse.cz>

	* Makefile.in: Add gimple-ssa-pta-constraints.cc.
	* tree-ssa-structalias.cc (determine_global_memory_access):
	External linkage, move to namespace pointer_analysis.
	(fndecl_maybe_in_other_partition): External linkage, move to
	namespace pointer_analysis.
	(new_var_info): External linkage, move to namespace
	pointer_analysis.
	(create_variable_info_for): Move to
	gimple-ssa-pta-constraints.cc.
	(lookup_vi_for_tree): External linkage, move to namespace
	pointer_analysis, move to gimple-ssa-pta-constraints.cc.
	(type_can_have_subvars): Move to gimple-ssa-pta-constraints.cc.
	(make_param_constraints): Move to gimple-ssa-pta-constraints.cc.
	(get_call_vi): Move to gimple-ssa-pta-constraints.cc.
	(lookup_call_use_vi): External linkage, move to namespace
	pointer_analysis, move to gimple-ssa-pta-constraints.cc.
	(lookup_call_clobber_vi): External linkage, move to namespace
	pointer_analysis, move to gimple-ssa-pta-constraints.cc.
	(get_call_use_vi): Move to gimple-ssa-pta-constraints.cc.
	(get_call_clobber_vi): Move to gimple-ssa-pta-constraints.cc.
	(get_constraint_for_1): Move to gimple-ssa-pta-constraints.cc.
	(get_constraint_for): Move to gimple-ssa-pta-constraints.cc.
	(get_constraint_for_rhs): Move to gimple-ssa-pta-constraints.cc.
	(do_deref): Move to gimple-ssa-pta-constraints.cc.
	(constraint_pool): Move to gimple-ssa-pta-constraints.cc.
	(new_constraint): Move to gimple-ssa-pta-constraints.cc.
	(insert_vi_for_tree): Move to gimple-ssa-pta-constraints.cc.
	(alias_get_name): Move to gimple-ssa-pta-constraints.cc.
	(get_vi_for_tree): Move to gimple-ssa-pta-constraints.cc.
	(new_scalar_tmp_constraint_exp): Move to
	gimple-ssa-pta-constraints.cc.
	(get_constraint_for_ssa_var): Move to
	gimple-ssa-pta-constraints.cc.
	(process_constraint): Move to gimple-ssa-pta-constraints.cc.
	(bitpos_of_field): Move to gimple-ssa-pta-constraints.cc.
	(get_constraint_for_ptr_offset): Move to
	gimple-ssa-pta-constraints.cc.
	(get_constraint_for_component_ref): Move to
	gimple-ssa-pta-constraints.cc.
	(get_constraint_for_address_of): Move to
	gimple-ssa-pta-constraints.cc.
	(process_all_all_constraints): Move to
	gimple-ssa-pta-constraints.cc.
	(do_structure_copy): Move to gimple-ssa-pta-constraints.cc.
	(make_constraints_to): Move to gimple-ssa-pta-constraints.cc.
	(make_constraint_to): Move to gimple-ssa-pta-constraints.cc.
	(make_constraint_from): Move to gimple-ssa-pta-constraints.cc.
	(make_copy_constraint): Move to gimple-ssa-pta-constraints.cc.
	(make_escape_constraint): Move to gimple-ssa-pta-constraints.cc.
	(make_indirect_escape_constraint): Move to
	gimple-ssa-pta-constraints.cc.
	(make_transitive_closure_constraints): Move to
	gimple-ssa-pta-constraints.cc.
	(make_any_offset_constraints): Move to
	gimple-ssa-pta-constraints.cc.
	(struct obstack fake_var_decl_obstack): Move to
	gimple-ssa-pta-constraints.cc.
	(build_fake_var_decl): Move to gimple-ssa-pta-constraints.cc.
	(make_heapvar): Move to gimple-ssa-pta-constraints.cc.
	(make_constraint_from_restrict): Move to
	gimple-ssa-pta-constraints.cc.
	(make_constraint_from_global_restrict): Move to
	gimple-ssa-pta-constraints.cc.
	(get_function_part_constraint): Move to
	gimple-ssa-pta-constraints.cc.
	(handle_call_arg): Move to gimple-ssa-pta-constraints.cc.
	(handle_rhs_call): Move to gimple-ssa-pta-constraints.cc.
	(handle_lhs_call): Move to gimple-ssa-pta-constraints.cc.
	(get_fi_for_callee): Move to gimple-ssa-pta-constraints.cc.
	(find_func_aliases_for_call_arg): Move to
	gimple-ssa-pta-constraints.cc.
	(find_func_aliases_for_builtin_call): Move to
	gimple-ssa-pta-constraints.cc.
	(find_func_aliases_for_call): Move to
	gimple-ssa-pta-constraints.cc.
	(find_func_aliases): Move to gimple-ssa-pta-constraints.cc.
	(process_ipa_clobber): Move to gimple-ssa-pta-constraints.cc.
	(find_func_clobbers): Move to gimple-ssa-pta-constraints.cc.
	(struct fieldoff): Move to gimple-ssa-pta-constraints.cc.
	(fieldoff_compare): Move to gimple-ssa-pta-constraints.cc.
	(sort_fieldstack): Move to gimple-ssa-pta-constraints.cc.
	(var_can_have_subvars): Move to gimple-ssa-pta-constraints.cc.
	(type_must_have_pointers): Move to
	gimple-ssa-pta-constraints.cc.
	(field_must_have_pointers): Move to
	gimple-ssa-pta-constraints.cc.
	(push_fields_onto_fieldstack): Move to
	gimple-ssa-pta-constraints.cc.
	(count_num_arguments): Move to gimple-ssa-pta-constraints.cc.
	(create_function_info_for): Move to
	gimple-ssa-pta-constraints.cc.
	(check_for_overlaps): Move to gimple-ssa-pta-constraints.cc.
	(create_variable_info_for_1): Move to
	gimple-ssa-pta-constraints.cc.
	(intra_create_variable_infos): Move to
	gimple-ssa-pta-constraints.cc.
	(init_base_vars): Move to gimple-ssa-pta-constraints.cc.
	(init_constraint_builder): Move to
	gimple-ssa-pta-constraints.cc.
	(delete_constraint_builder): Move to
	gimple-ssa-pta-constraints.cc.
	(intra_build_constraints): Move to
	gimple-ssa-pta-constraints.cc.
	(delete_points_to_sets): Move to gimple-ssa-pta-constraints.cc.
	(associate_varinfo_to_alias): Move to
	gimple-ssa-pta-constraints.cc
	(refered_from_nonlocal_fn): Move to
	gimple-ssa-pta-constraints.cc
	(refered_from_nonlocal_var): Move to
	gimple-ssa-pta-constraints.cc
	(ipa_create_function_infos): Move to
	gimple-ssa-pta-constraints.cc
	(ipa_create_global_variable_infos): Move to
	gimple-ssa-pta-constraints.cc
	(ipa_build_constraints): Move to gimple-ssa-pta-constraints.cc
	* tree-ssa-structalias.h (struct constraint_stats):
	(determine_global_memory_access): External linkage, move to
	namespace pointer_analysis.
	(fndecl_maybe_in_other_partition): External linkage, move to
	namespace pointer_analysis.
	(new_var_info): External linkage, move to namespace
	pointer_analysis.
	* gimple-ssa-pta-constraints.cc: New file.
	* gimple-ssa-pta-constraints.h: New file.

2025-10-09  Filip Kastl  <fkastl@suse.cz>

	* tree-ssa-structalias.cc (init_constraint_builder): New
	function.
	(delete_constraint_builder): New function.
	(compute_points_to_sets): Put constraint building into
	intra_build_constraints and call it.
	(intra_build_constraints): New function.
	(delete_points_to_sets): Put cleanup of constraint builder
	global vars into delete_constraint_builder and call it.
	(ipa_pta_execute): Put constraint building into
	ipa_build_constraints and call it.
	(ipa_create_function_infos): New function.
	(ipa_create_global_variable_infos): New function.
	(ipa_build_constraints): New function.

2025-10-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa-protos.h (xtensa_constantsynth): Remove.
	* config/xtensa/xtensa.cc
	(#include): Remove "context.h" and "pass_manager.h".
	(machine_function): Remove "litpool_usage" member.
	(xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
	xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth): Remove.
	(constantsynth_method_lshr_m1, split_hwi_to_MOVI_ADDMI,
	constantsynth_method_16bits, constantsynth_method_32bits,
	constantsynth_method_square): New worker function related to
	constant synthesis methods.
	(constantsynth_method_info, constantsynth_methods):
	New structure representing the list of all constant synthesis
	methods.
	(constantsynth_info): New structure that stores internal
	information for "constantsynth".
	(constantsynth_pass1, verify_synth_seq, constantsynth_pass2):
	New functions that are the core of "constantsynth".
	(do_largeconst): Add a call to constantsynth_pass1() to the insn
	enumeration loop, and add a call to constantsynth_pass2() to the
	end of this function.
	* config/xtensa/xtensa.md (SHI): Remove.
	(The two auxiliary define_splits for mov[sh]i_internal): Remove.
	(The two auxiliary define_splits for movsf_internal): Remove.

2025-10-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa-protos.h
	(xtensa_split_DI_reg_imm): Remove.
	* config/xtensa/xtensa.cc (xtensa_split_DI_reg_imm): Remove.
	(split_DI_SF_DF_const): New worker function.
	(do_largeconst): Add a call to split_DI_SF_DF_const() to the insn
	enumeration loop.
	* config/xtensa/xtensa.md (movdi): Remove split code when the
	source is constant.
	(movdi_internal): Add a new constraint pair (a, Y) to the second
	of the existing constraint alternatives.
	(The auxiliary define_split for movdi_internal): Remove.

2025-10-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.cc (xt_full_rtx_costs):
	New struct, derived from full_rtx_costs.
	(FPreg_neg_scaled_simm12b_1, FPreg_neg_scaled_simm12b):
	New worker functions.
	(do_largeconst): Add a call to FPreg_neg_scaled_simm12b() to the
	insn enumeration loop.

2025-10-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/constraints.md (Y):
	Change to reference xtensa_postreload_completed_p() instead of
	xtensa_split1_finished_p().
	* config/xtensa/predicates.md (move_operand): Ditto.
	* config/xtensa/t-xtensa (PASSES_EXTRA):
	Add xtensa-passes.def as target-specific pass description.
	* config/xtensa/xtensa-passes.def:
	New definition file that inserts pass_xtensa_largeconst after
	pass_postreload_cse.
	* config/xtensa/xtensa-protos.h (xtensa_split1_finished_p): Remove.
	(xtensa_postreload_completed_p, make_pass_xtensa_largeconst):
	New function prototypes.
	* config/xtensa/xtensa.cc (machine_function):
	Add a new member "postreload_completed".
	(xtensa_emit_move_sequence):
	Change to reference xtensa_postreload_completed_p() instead of
	can_create_pseudo_p().
	(xtensa_split1_finished_p): Remove.
	(xtensa_postreload_completed_p): New function.
	(xtensa_legitimate_constant_p): Change to also consider
	xtensa_postreload_completed_p().
	(litpool_set_src_1, litpool_set_src, do_largeconst,
	rest_of_handle_largeconst):
	New sub-functions for pass_xtensa_largeconst.
	(pass_data_xtensa_largeconst, pass_xtensa_largeconst):
	New target-specific pass definition.
	(make_pass_xtensa_largeconst):
	New function called by the pass manager.
	* config/xtensa/xtensa.md
	(The auxiliary define_split for movdi_internal):
	Change to reference xtensa_postreload_completed_p() instead of
	xtensa_split1_finished_p().
	(The first of three auxiliary define_splits for mov[sh]i_internal):
	Remove.

2025-10-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.cc
	(TARGET_MD_ASM_ADJUST): New macro definition.
	(xtensa_md_asm_adjust): New function prototype and definition, that
	prepends all 'g'-constraints in the "constraints" vector with 'n',
	if neither TARGET_CONST16 nor TARGET_AUTO_LITPOOLS is enabled.

2025-10-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122212
	* tree-ssa-forwprop.cc (simplify_count_zeroes): Apply
	bias for CLZ after dealing with the zero special value.

2025-10-09  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/riscv-protos.h (vls_mode_valid_p): New argument
	allow_up_to_lmul_8.
	* config/riscv/riscv-v.cc (autovectorize_vector_modes): Set
	allow_up_to_lmul_8 to false.
	(vls_mode_valid_p): Add new argument allow_up_to_lmul_8, and use
	it to determine whether to allow LMUL 8.

2025-10-09  Prathamesh Kulkarni  <prathameshk@nvidia.com>
	    Matthew Malcolmson  <mmalcolmson@nvidia.com>

	PR driver/81358
	* common.opt: New option -flink-libatomic.
	* gcc.cc (LINK_LIBATOMIC_SPEC): New macro.
	* config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Use LINK_LIBATOMIC_SPEC.
	* config/arm/uclinux-elf.h: Likewise.
	* config/arm/unknown-elf.h: Likewise.
	* config/avr/avrlibc.h: Likewise.
	* config/bfin/linux.h: Likewise.
	* config/darwin.h: Likewise.
	* config/gnu-user.h: Likewise.
	* config/lm32/uclinux-elf.h: Likewise.
	* config/rs6000/linux64.h: Likewise.
	* config/rs6000/rtems.h: Likewise.
	* config/sparc/sparc.h: Likewise.
	* doc/invoke.texi: Document -flink-libatomic.
	* configure.ac: Define TARGET_PROVIDES_LIBATOMIC.
	* configure: Regenerate.
	* config.in: Regenerate.
	* common.opt.urls: Regenerate.

2025-10-09  Robin Dapp  <rdapp@ventanamicro.com>

	* config/aarch64/aarch64.cc (aarch64_builtin_support_vector_misalignment):
	Remove type.
	* config/arm/arm.cc (arm_builtin_support_vector_misalignment):
	Ditto.
	* config/epiphany/epiphany.cc (epiphany_support_vector_misalignment):
	Ditto.
	* config/gcn/gcn.cc (gcn_vectorize_support_vector_misalignment):
	Ditto.
	* config/loongarch/loongarch.cc (loongarch_builtin_support_vector_misalignment):
	Ditto.
	* config/riscv/riscv.cc (riscv_support_vector_misalignment):
	Ditto.
	* config/rs6000/rs6000.cc (rs6000_builtin_support_vector_misalignment):
	Ditto.
	* config/s390/s390.cc (s390_support_vector_misalignment):
	Ditto.
	* doc/tm.texi: Adjust vector misalignment docs.
	* target.def: Ditto.
	* targhooks.cc (default_builtin_support_vector_misalignment):
	Remove type.
	* targhooks.h (default_builtin_support_vector_misalignment):
	Ditto.
	* tree-vect-data-refs.cc (vect_can_force_dr_alignment_p):
	Set misalignment for gather/scatter and remove type.
	(vect_supportable_dr_alignment): Ditto.

2025-10-09  Sam James  <sam@gentoo.org>

	PR c++/117219
	* doc/invoke.texi (-fstrict-aliasing): Explain that type-punning
	through a union in C++ is supported as a GNU extension.

2025-10-09  Sam James  <sam@gentoo.org>

	* doc/invoke.texi: Add missing full stop.

2025-10-09  Sam James  <sam@gentoo.org>

	PR tree-optimization/18501
	* doc/invoke.texi (-Wmaybe-uninitialized): Mention interaction with
	CCP.

2025-10-08  Antoni Boucher  <bouanto@zoho.com>

	* configure: Regenerate.

2025-10-08  Trevor Gross  <tmgross@umich.edu>

	PR target/115054
	* config/i386/i386.cc (function_arg_ms_64,
	function_value_ms_64): Pass and return _Float16 in vector
	registers on Windows.

2025-10-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110223
	PR tree-optimization/122128
	* tree-vect-patterns.cc (vect_recog_bool_pattern): Add
	compensation for mixed mask/data bitwise operations.

2025-10-08  Richard Biener  <rguenther@suse.de>

	* tree-vect-patterns.cc (integer_type_for_mask): Only
	reject vect_external_defs.

2025-10-08  Richard Biener  <rguenther@suse.de>

	* doc/tm.texi.in (JIT Language and ABI): Add menu item.
	* doc/tm.texi: Re-generate.

2025-10-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/110223
	* tree-vect-patterns.cc (vect_recog_bool_pattern): Fix
	mistakes in the store-from-mask bool pattern.  Add
	required mask conversions.

2025-10-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/105490
	* tree-vect-patterns.cc (build_mask_conversion): Move earlier.
	(vect_convert_mask_for_vectype): Likewise.
	(vect_recog_bool_pattern): Remove redundant truth type
	construction.  Add missing possibly required mask conversion.

2025-10-08  Antoni Boucher  <bouanto@zoho.com>

	PR jit/112466
	* Makefile.in (tm_jit_file_list, tm_jit_include_list, TM_JIT_H,
	JIT_TARGET_DEF, JIT_TARGET_H, JIT_TARGET_OBJS): New variables.
	(tm_jit.h, cs-tm_jit.h, jit/jit-target-hooks-def.h,
	s-jit-target-hooks-def-h, default-jit.o): New rules.
	(s-tm-texi): Also check timestamp on jit-target.def.
	(generated_files): Add TM_JIT_H and jit/jit-target-hooks-def.h.
	(build/genhooks.o): Also depend on JIT_TARGET_DEF.
	* config.gcc (tm_jit_file, jit_target_objs, target_has_targetjitm):
	New variables.
	* config/i386/t-i386 (i386-jit.o): New rule.
	* configure: Regenerate.
	* configure.ac (tm_jit_file_list, tm_jit_include_list,
	jit_target_objs): Add substitutes.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in (targetjitm): Document.
	(target_has_targetjitm): Document.
	* genhooks.cc: Include jit/jit-target.def.
	* config/default-jit.cc: New file.
	* config/i386/i386-jit.cc: New file.
	* config/i386/i386-jit.h: New file.

2025-10-07  Alfie Richards  <alfie.richards@arm.com>

	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in: Add documentation for TARGET_HAS_FMV_TARGET_ATTRIBUTE.

2025-10-07  Georg-Johann Lay  <avr@gjlay.de>

	PR target/122187
	* config/avr/avr.cc (avr_out_extr, avr_out_extr_not):
	Make a local copy of the passed rtx[] operands.

2025-10-07  Jonathan Wakely  <jwakely@redhat.com>

	* config/i386/i386-features.cc
	(general_scalar_chain::vector_const_cost): Fix spelling in
	comment.
	* ipa-prop.h (enum jump_func_type): Likewise.
	* tree-vectorizer.cc (try_vectorize_loop_1): Likewise.

2025-10-07  Robin Dapp  <rdapp.gcc@gmail.com>

	PR target/121845
	* config/riscv/riscv-v.cc (shuffle_series_patterns):
	Modulo indices for VLA and punt when wrapping for VLS.

2025-10-07  Raphael Moreira Zinsly  <rzinsly@ventanamicro.com>

	PR target/122124
	* config/riscv/riscv-v.cc (shuffle_slide_patterns): Check if
	the second pivot is in OP1 and improve comments.

2025-10-07  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121921
	* match.pd (`-(a ptrdiff b)`): Extend for a nop_convert
	between the neg and ptrdiff.

2025-10-07  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122083
	* tree-ssa-phiopt.cc (single_trailing_store_in_bb): Rename to ...
	(trailing_store_in_bb): This and take new argument to check for
	only store.
	(cond_if_else_store_replacement_limited): Update to use
	trailing_store_in_bb.
	(cond_if_else_store_replacement): Loop until
	cond_if_else_store_replacement_limited returns false.
	(pass_phiopt::execute): Instead of calling cond_if_else_store_replacement_limited
	once, also loop on it.

2025-10-06  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122155
	* tree-ssa-phiopt.cc (cond_if_else_store_replacement_1): Don't
	create a phi if the 2 rhs are the same.

2025-10-06  Jan Hubicka  <hubicka@ucw.cz>

	PR middle-end/122122
	* tree-cfgcleanup.cc (tree_forwarder_block_p): Cleanup.
	* tree-ssa-dce.cc (propagate_counts): New function.
	(eliminate_unnecessary_stmts): Use it.

2025-10-06  Jan Hubicka  <hubicka@ucw.cz>

	* params.opt (-param=auto-profile-bbs=): Add missing full stop after
	description.

2025-10-06  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/121206
	* value-range.cc (irange::intersect_bitmask): Always call
	set_range_from_bitmask if the bitmask changes.

2025-10-06  Sam James  <sam@gentoo.org>

	PR rtl-optimization/111619
	* doc/install.texi (Building a native compiler): Discuss STAGE1_CFLAGS.

2025-10-06  Jennifer Schmitz  <jschmitz@nvidia.com>

	PR target/121599
	* config/aarch64/aarch64-sve-builtins.cc
	(function_expander::use_cond_insn): Use add_fixed_operand if
	fallback_arg == CONST0_RTX (mode).

2025-10-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122131
	* tree-vect-data-refs.cc (vect_supportable_dr_alignment): Do
	not use re-align loads for gathers.

2025-10-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122158
	* tree-vect-loop.cc (vect_create_epilog_for_reduction): Handle
	bit-precision result.

2025-10-06  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/122133
	* stmt.cc (resolve_asm_operand_names): Handle % and 2 letters followed
	by open square.

2025-10-06  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122142
	* generic-match-head.cc: Include gimple-iterator.h
	and gimple-fold.h.
	* gimple-fold.cc (gimple_fold_builtin_constant_p): Use
	fold_before_rtl_expansion_p.
	(gimple_fold_builtin_assume_aligned): Likewise.
	(gimple_fold_builtin_stdarg): Likewise.
	(gimple_fold_call): Likewise.
	* gimple-fold.h: Include "tree-pass.h".
	(fold_before_rtl_expansion_p): New function.
	* match.pd: Use fold_before_rtl_expansion_p
	instead of `cfun->curr_properties & PROP_last_full_fold`.
	* tree-ssa-forwprop.cc (simplify_builtin_memcmp): Likewise.
	(optimize_stack_restore): Likewise.

2025-10-05  H.J. Lu  <hjl.tools@gmail.com>

	PR target/122150
	* config/i386/i386-expand.cc (setmem_epilogue_gen_val): Duplicate
	OP if its size is smaller than MODE size.

2025-10-05  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.h (FUNCTION_BOUNDARY): Set to 32.

2025-10-05  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*widen_waddu_wx_<mode>): Add new
	pattern to match vwaddu.wx.

2025-10-05  Pan Li  <pan2.li@intel.com>

	* match.pd: Refactor the form 1 of SAT_MUL by keyword for.

2025-10-04  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122143
	* tree-ssa-forwprop.cc (pass_forwprop::execute): Restrict setting
	TODO_update_address_taken only when the statement was a call before fold_stmt.

2025-10-04  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122153
	* tree-ssa-phiopt.cc (cond_if_else_store_replacement_1): Handle
	stores of empty constructors too.

2025-10-04  Matteo Nicoli  <matteo.nicoli001@gmail.com>

	PR tree-optimization/117760
	* match.pd: Add simplifications that exploit implied values after
	logical tests.

2025-10-04  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/122104
	* tree-ssa-math-opts.cc (maybe_optimize_guarding_check): Call
	reset_flow_sensitive_info_in_bb on bb when optimizing out the
	guarding condition.

2025-10-04  Raphael Moreira Zinsly  <rzinsly@ventanamicro.com>

	PR target/122114
	* config/riscv/riscv.cc
	(riscv_allocate_and_probe_stack_space): Change initial_cfa_offset
	type.

2025-10-04  Jeff Law  <jlaw@ventanamicro.com>

	PR target/122147
	* config/riscv/predicates.md (move_operand): Only allow a REG as the
	operand of a SUBREG.

2025-10-04  Zhongyao Chen  <chenzhongyao.hit@gmail.com>

	PR target/118945
	* config/riscv/riscv.cc (riscv_prefer_agnostic_p): New function.
	(riscv_tune_param): Add prefer_agnostic member.
	(various tune info structures): Initialize prefer_agnostic.
	* config/riscv/riscv-protos.h (riscv_prefer_agnostic_p): Add
	prototype.
	* config/riscv/riscv-v.cc (get_prefer_tail_policy,
	get_prefer_mask_policy): Use riscv_prefer_agnostic_p.
	* config/riscv/riscv-vsetvl.cc (vsetvl_info::get_demand_flags):
	demand policy for agnostic when prefer_agnostic is true.

2025-10-04  Jakub Jelinek  <jakub@redhat.com>

	PR c++/114457
	* flag-types.h (enum auto_init_type): Add AUTO_INIT_CXX26.
	* tree.h (VACUOUS_INIT_LABEL_P): Define.
	* gimplify.cc (is_var_need_auto_init): Renamed to ...
	(var_needs_auto_init_p): ... this.  Don't return true for
	vars with "indeterminate" attribute.  Formatting fixes.
	(gimplify_decl_expr): Use var_needs_auto_init_p instead of
	is_var_need_auto_init.
	(emit_warn_switch_unreachable): Remove the flag_auto_var_init
	special cases.
	(warn_switch_unreachable_and_auto_init_r): Handle them here
	by doing just returning NULL.
	(last_stmt_in_scope): Don't skip just debug stmts to find
	the last stmt in seq, skip for
	flag_auto_var_init > AUTO_INIT_UNINITIALIZED also IFN_DEFERRED_INIT
	calls.
	(collect_fallthrough_labels): For
	flag_auto_var_init > AUTO_INIT_UNINITIALIZED ignore
	IFN_DEFERRED_INIT calls and GIMPLE_GOTOs to
	VACUOUS_INIT_LABEL_P.
	(should_warn_for_implicit_fallthrough): For
	flag_auto_var_init > AUTO_INIT_UNINITIALIZED also skip over
	IFN_DEFERRED_INIT calls.
	(expand_FALLTHROUGH_r): Likewise, and handle GIMPLE_GOTOs
	to VACUOUS_INIT_LABEL_P.
	(gimplify_init_constructor): Use var_needs_auto_init_p instead
	of is_var_need_auto_init and for flag_auto_var_init
	AUTO_INIT_CXX26 don't call gimple_add_padding_init_for_auto_var.
	(gimplify_target_expr): If var_needs_auto_init_p and init has
	void type, call gimple_add_init_for_auto_var and for
	AUTO_INIT_PATTERN also gimple_add_padding_init_for_auto_var.
	* tree-ssa-uninit.cc (maybe_warn_operand): Handle loads from *this
	at the start of the function with "clobber *this" attribute on the
	PARM_DECL.
	* ipa-split.cc (split_function): Remove "clobber *this" attribute
	from the first PARM_DECL (if any).
	* doc/invoke.texi (ftrivial-auto-var-init=): Adjust documentation.

2025-10-04  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR c++/117658
	* doc/invoke.texi: Document '-Wno-external-tu-local'.

2025-10-03  David Malcolm  <dmalcolm@redhat.com>

	Revert:
	2025-10-03  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Add
	custom-sarif-properties/digraphs.o and
	custom-sarif-properties/state-graphs.o.  Remove
	diagnostics/state-graphs.o.
	* configure: Regenerate.
	* configure.ac: Add custom-sarif-properties to subdir iteration.
	* custom-sarif-properties/digraphs.cc: New file.
	* custom-sarif-properties/digraphs.h: New file.
	* custom-sarif-properties/state-graphs.cc: New file.
	* custom-sarif-properties/state-graphs.h: New file.
	* diagnostics/diagnostics-selftests.cc
	(run_diagnostics_selftests): Drop call of state_graphs_cc_tests.
	* diagnostics/diagnostics-selftests.h (state_graphs_cc_tests):
	Delete decl.
	* diagnostics/digraphs.cc: Include
	"custom-sarif-properties/digraphs.h".  Move include of
	"selftest.h" to within CHECKING_P section.
	(using digraph_object): New.
	(namespace properties): New.
	(diagnostics::digraphs::object::get_attr): Delete.
	(diagnostics::digraphs::object::set_attr): Delete.
	(diagnostics::digraphs::object::set_json_attr): Delete.
	(digraph_object::get_property): New definitions, for various
	property types.
	(digraph_object::set_property): Likewise.
	(digraph_object::maybe_get_property): New.
	(digraph_object::get_property_as_tristate): New.
	(digraph_object::ensure_property_bag): New.
	(digraph::get_graph_kind): New.
	(digraph::set_graph_kind): New.
	Add include of "custom-sarif-properties/state-graphs.h".
	(selftest::test_simple_graph): Rewrite to use json::property
	instances rather than string attribute names.
	(selftest::test_property_objects): New test.
	(selftest::digraphs_cc_tests): Call it.
	* diagnostics/digraphs.h: Include "tristate.h".
	(object::get_attr): Delete.
	(object::set_attr): Delete.
	(object::get_property): New decls.
	(object::set_property): New decls.
	(object::maybe_get_property): New.
	(object::get_property_as_tristate): New.
	(object::set_json_attr): Delete.
	(object::ensure_property_bag): New.
	(graph::get_graph_kind): New.
	(graph::set_graph_kind): New.
	* diagnostics/html-sink.cc
	(html_generation_options::html_generation_options): Update for
	field renamings.
	(html_generation_options::dump): Likewise.
	(html_builder::maybe_make_state_diagram): Likewise.
	(html_builder::add_graph): Show SARIF and .dot src inline, if
	requested.
	* diagnostics/html-sink.h
	(html_generation_options::m_show_state_diagrams_sarif): Rename
	to...
	(html_generation_options::m_show_graph_sarif): ...this.
	(html_generation_options::m_show_state_diagrams_dot_src): Rename
	to...
	(html_generation_options::m_show_graph_dot_src0): ...this.
	* diagnostics/output-spec.cc
	(html_scheme_handler::maybe_handle_kv): Rename keys.
	(html_scheme_handler::get_keys): Likewise.
	* diagnostics/state-graphs-to-dot.cc: : Reimplement throughout to
	use json::property instances found within custom_sarif_properties
	throughout, rather than types in diagnostics::state_graphs.
	* diagnostics/state-graphs.cc: Deleted file.
	* diagnostics/state-graphs.h: Delete almost all, except decl of
	diagnostics::state_graphs::make_dot_graph.
	* doc/invoke.texi: Update for changes to "experimental-html" sink
	keys.
	* json.cc (json::object::set_string): New.
	(json::object::set_integer): New.
	(json::object::set_bool): New.
	(json::object::set_array_of_string): New.
	* json.h: Include "label-text.h".
	(struct json::property): New template.
	(json::string_property): New.
	(json::integer_property): New.
	(json::bool_property): New.
	(json::json_property): New.
	(using json::array_of_string_property): New.
	(struct json::enum_traits): New.
	(enum_json::property): New.
	(json::value::dyn_cast_array): New vfunc.
	(json::value::dyn_cast_integer_number): New vfunc.
	(json::value::set_string): New.
	(json::value::set_integer): New.
	(json::value::set_bool): New.
	(json::value::set_array_of_string): New.
	(json::value::maybe_get_enum): New.
	(json::value::set_enum): New.
	(json::array::dyn_cast_array): New.
	(json::integer_number::dyn_cast_integer_number): New.
	(object::maybe_get_enum): New.
	(object::set_enum): New.

2025-10-03  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/121937
	* simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Make
	sure we've got a scalar_int_mode before calling neg_poly_int_rtx.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121762
	* passes.def: Remove both pass_fold_builtin.
	Swap out pass_copy_prop for pass_forwprop with
	full_walk = false and last=true.
	* tree-pass.h (make_pass_fold_builtins): Remove.
	* tree-ssa-ccp.cc (class pass_fold_builtins): Delete.
	(pass_fold_builtins::execute): Delete.
	(make_pass_fold_builtins): Remove.
	* doc/passes.texi (Folding built-in functions): Remove.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121762
	* gimple-isel.cc (gimple_nop_atomic_bit_test_and_p): New decl.
	(gimple_nop_convert): Likewise.
	(convert_atomic_bit_not): Moved from tree-ssa-ccp.cc.
	(optimize_atomic_bit_test_and): Likewise.
	(optimize_atomic_op_fetch_cmp_0): Likewise.
	(gimple_isel_builtin_call): New function.
	(CASE_ATOMIC): Moved from tree-ssa-ccp.cc.
	(CASE_ATOMIC_CMP0): Likewise.
	(CASE_ATOMIC_BIT_TEST_AND): Likewise.
	(pass_gimple_isel::execute): For calls just call gimple_isel_builtin_call.
	* tree-ssa-ccp.cc (convert_atomic_bit_not): Move to gimple-isel.cc.
	(gimple_nop_atomic_bit_test_and_p): Likewise.
	(gimple_nop_convert): Likewise.
	(optimize_atomic_bit_test_and): Likewise.
	(optimize_atomic_op_fetch_cmp_0): Likewise.
	(pass_fold_builtins::execute): Just call fold_stmt for internal
	or normal bultin calls.
	(CASE_ATOMIC): Move to gimple-isel.cc.
	(CASE_ATOMIC_CMP0): Likewise.
	(CASE_ATOMIC_BIT_TEST_AND): Likewise.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-ccp.cc (CASE_ATOMIC): New defined.
	(CASE_ATOMIC_CMP0): New define.
	(CASE_ATOMIC_BIT_TEST_AND): New defined.
	(pass_fold_builtins::execute): Use CASE_ATOMIC, CASE_ATOMIC_CMP0,
	and CASE_ATOMIC_BIT_TEST_AND.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121762
	* gimple-fold.cc (gimple_fold_builtin_stdarg): New function,
	moved from tree-ssa-ccp.cc (optimize_stdarg_builtin).
	(gimple_fold_builtin): Call gimple_fold_builtin_stdarg for
	va_start, va_copy and va_end.
	* tree-ssa-ccp.cc (optimize_stdarg_builtin): Remove.
	(pass_fold_builtins::execute): Remove handling of
	va_start, va_copy and va_end.
	* tree-ssa-forwprop.cc (pass_forwprop::execute): Update
	todos if fold_stmt return true if last forwprop to include
	TODO_update_address_taken.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121762
	* tree-ssa-ccp.cc (optimize_unreachable): Move to tree-ssa-forwprop.cc
	(pass_fold_builtins::execute): Remove handling of __builtin_unreachable.
	* tree-ssa-forwprop.cc (optimize_unreachable): New function from
	tree-ssa-ccp.cc. Change argument to bb. Remove check on first statement
	being the __builtin_unreachable since it is handled already.
	(pass_forwprop::execute): Handle first statement as being __builtin_unreachable
	by calling optimize_unreachable.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121762
	* tree-ssa-ccp.cc (optimize_stack_restore): Move to tree-ssa-forwprop.cc.
	(pass_fold_builtins::execute): Don't call optimize_stack_restore.
	* tree-ssa-forwprop.cc (optimize_stack_restore): New function from
	tree-ssa-ccp.cc. Return bool instead of value, use replace_call_with_value
	istead of returning integer_zero_node.
	(simplify_builtin_call): Call optimize_stack_restore.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/122033
	* tree-ssa-ccp.cc (optimize_stack_restore): Rewrite the call check.
	Update comment in the front to new rules on calls.
	* tree.h (fndecl_builtin_alloc_p): New function.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121762
	* gimple-fold.cc (gimple_fold_call): Remove ASSUME internal function
	calls when PROP_last_full_fold is set.
	* tree-ssa-ccp.cc (pass_fold_builtins::execute): Handling folding
	of all internal functions.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-ccp.cc (optimize_stdarg_builtin): Mannually create the
	gimple statements instead of depending on the gimplifier.
	(pass_fold_builtins::execute): Handle updated call to optimize_stdarg_builtin.

2025-10-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-ccp.cc (optimize_memcmp_eq): Remove.
	(pass_fold_builtins::execute): Remove handling of memcmp.
	* tree-ssa-forwprop.cc (simplify_builtin_memcmp): Add folding
	of memcmp to memcmp_eq for PROP_last_full_fold.

2025-10-02  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Add
	custom-sarif-properties/digraphs.o and
	custom-sarif-properties/state-graphs.o.  Remove
	diagnostics/state-graphs.o.
	* configure: Regenerate.
	* configure.ac: Add custom-sarif-properties to subdir iteration.
	* custom-sarif-properties/digraphs.cc: New file.
	* custom-sarif-properties/digraphs.h: New file.
	* custom-sarif-properties/state-graphs.cc: New file.
	* custom-sarif-properties/state-graphs.h: New file.
	* diagnostics/diagnostics-selftests.cc
	(run_diagnostics_selftests): Drop call of state_graphs_cc_tests.
	* diagnostics/diagnostics-selftests.h (state_graphs_cc_tests):
	Delete decl.
	* diagnostics/digraphs.cc: Include
	"custom-sarif-properties/digraphs.h".  Move include of
	"selftest.h" to within CHECKING_P section.
	(using digraph_object): New.
	(namespace properties): New.
	(diagnostics::digraphs::object::get_attr): Delete.
	(diagnostics::digraphs::object::set_attr): Delete.
	(diagnostics::digraphs::object::set_json_attr): Delete.
	(digraph_object::get_property): New definitions, for various
	property types.
	(digraph_object::set_property): Likewise.
	(digraph_object::maybe_get_property): New.
	(digraph_object::get_property_as_tristate): New.
	(digraph_object::ensure_property_bag): New.
	(digraph::get_graph_kind): New.
	(digraph::set_graph_kind): New.
	Add include of "custom-sarif-properties/state-graphs.h".
	(selftest::test_simple_graph): Rewrite to use json::property
	instances rather than string attribute names.
	(selftest::test_property_objects): New test.
	(selftest::digraphs_cc_tests): Call it.
	* diagnostics/digraphs.h: Include "tristate.h".
	(object::get_attr): Delete.
	(object::set_attr): Delete.
	(object::get_property): New decls.
	(object::set_property): New decls.
	(object::maybe_get_property): New.
	(object::get_property_as_tristate): New.
	(object::set_json_attr): Delete.
	(object::ensure_property_bag): New.
	(graph::get_graph_kind): New.
	(graph::set_graph_kind): New.
	* diagnostics/html-sink.cc
	(html_generation_options::html_generation_options): Update for
	field renamings.
	(html_generation_options::dump): Likewise.
	(html_builder::maybe_make_state_diagram): Likewise.
	(html_builder::add_graph): Show SARIF and .dot src inline, if
	requested.
	* diagnostics/html-sink.h
	(html_generation_options::m_show_state_diagrams_sarif): Rename
	to...
	(html_generation_options::m_show_graph_sarif): ...this.
	(html_generation_options::m_show_state_diagrams_dot_src): Rename
	to...
	(html_generation_options::m_show_graph_dot_src0): ...this.
	* diagnostics/output-spec.cc
	(html_scheme_handler::maybe_handle_kv): Rename keys.
	(html_scheme_handler::get_keys): Likewise.
	* diagnostics/state-graphs-to-dot.cc: : Reimplement throughout to
	use json::property instances found within custom_sarif_properties
	throughout, rather than types in diagnostics::state_graphs.
	* diagnostics/state-graphs.cc: Deleted file.
	* diagnostics/state-graphs.h: Delete almost all, except decl of
	diagnostics::state_graphs::make_dot_graph.
	* doc/invoke.texi: Update for changes to "experimental-html" sink
	keys.
	* json.cc (json::object::set_string): New.
	(json::object::set_integer): New.
	(json::object::set_bool): New.
	(json::object::set_array_of_string): New.
	* json.h: Include "label-text.h".
	(struct json::property): New template.
	(json::string_property): New.
	(json::integer_property): New.
	(json::bool_property): New.
	(json::json_property): New.
	(using json::array_of_string_property): New.
	(struct json::enum_traits): New.
	(enum_json::property): New.
	(json::value::dyn_cast_array): New vfunc.
	(json::value::dyn_cast_integer_number): New vfunc.
	(json::value::set_string): New.
	(json::value::set_integer): New.
	(json::value::set_bool): New.
	(json::value::set_array_of_string): New.
	(json::value::maybe_get_enum): New.
	(json::value::set_enum): New.
	(json::array::dyn_cast_array): New.
	(json::integer_number::dyn_cast_integer_number): New.
	(object::maybe_get_enum): New.
	(object::set_enum): New.

2025-10-02  Aurelien Jarno  <aurelien@aurel32.net>

	PR target/121652
	* config/riscv/riscv.md (round_pattern): special case NaN input
	instead of saving/restoring fflags.

2025-10-02  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/output-spec.cc: (scheme_handler::parse_bool_value):
	Convert to...
	(key_handler::parse_bool_value): ...this.
	(scheme_handler::parse_enum_value): Convert to...
	(key_handler::parse_enum_value): ...this.
	(struct text_scheme_handler::decoded_args): Eliminate, moving
	fields into class text_scheme_handler.
	(text_scheme_handler::text_scheme_handler): Initialize the new
	fields.
	Add a "dc" param and use it to initialize m_show_color.
	(struct sarif_scheme_handler::decoded_args): Eliminate, moving
	fields into class sarif_scheme_handler.
	(sarif_scheme_handler::sarif_scheme_handler): Initialize the new
	fields.
	(struct html_scheme_handler::decoded_args): Eliminate, moving
	fields into class html_scheme_handler.
	(html_scheme_handler::html_scheme_handler): Initialize the new
	fields.
	(context::report_unknown_key): Get keys from scheme rather than
	passing them in.  Support client keys.
	(context::parse_and_make_sink): Pass dc to output_factory ctor.
	(output_factory::output_factory): Pass dc to text_scheme_handler.
	(output_factory::get_scheme_handler): Make return non-const.
	(output_factory::make_sink): Move key-handling here, rather than
	in individual sinks.
	(context::handle_kv): New.
	(text_scheme_handler::make_sink): Eliminate key decoding.
	(text_scheme_handler::decode_kv): Convert to...
	(text_scheme_handler::maybe_handle_kv): ...this...
	(text_scheme_handler::get_keys): ...and this.
	(sarif_scheme_handler::make_sink): Eliminate key decoding.
	(sarif_scheme_handler::decode_kv): Convert to...
	(sarif_scheme_handler::maybe_handle_kv): ...this...
	(sarif_scheme_handler::get_keys): ...and this.
	(html_scheme_handler::make_sink): Eliminate key decoding.
	(html_scheme_handler::decode_kv): Convert to...
	(html_scheme_handler::maybe_handle_kv): ...this...
	(html_scheme_handler::get_keys): ...and this.
	(struct selftest::parser_test): Add "client_keys" arg, and update
	for new param ordering.
	(selftest::parser_test::parse_and_make_sink): New.
	(selftest::test_output_arg_parsing): Move auto-fixes to caller.
	(class selftest::test_key_handler): New.
	(selftest::test_client_arg_parsing): New test.
	(selftest::output_spec_cc_tests): Call it.
	* diagnostics/output-spec.h (class key_handler): New.
	(class scheme_handler): Move here from output-spec.cc.
	(context::report_unknown_key): Simplify params.
	(context::handle_kv): Update params.
	(context::context): Add "client_keys" param.
	(context::m_client_keys): New field.
	(struct dc_spec_context): Update order of params.  Add
	"client_keys" param.
	* libgdiagnostics.cc (spec_context::spec_context): Pass nullptr
	for client keys.
	* opts-diagnostic.cc (opt_spec_context::opt_spec_context):
	Likewise.  Update for new param ordering.

2025-10-02  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorizable_reduction): Do not allow
	mask reductions.

2025-10-02  Jan Hubicka  <jh@suse.cz>
	    H.J. Lu  <hjl.tools@gmail.com>

	* cfghooks.cc (merge_blocks): Fix typo in the previous change.

2025-10-02  Jeff Law  <jlaw@ventanamicro.com>

	PR target/122051
	* config/riscv/predicates.md (pmode_reg_or_uimm5_operand): Implement
	directly rather than using vector_length_operand.

2025-10-02  H.J. Lu  <hjl.tools@gmail.com>

	* aclocal.m4: Regenerated.
	* configure: Likewise.

2025-10-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122079
	* tree-ssa-pre.cc (compute_antic_aux): Re-instantiate
	ANTIC_IN value pruning by the old solution.

2025-10-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122079
	* tree-ssa-pre.cc (prune_clobbered_mems): Do not prune
	values when the maximum expression set is involved.

2025-10-01  Jeff Law  <jlaw@ventanamicro.com>

	PR target/122106
	* config/riscv/bitmanip.md (crc expanders): Add predicate for
	polynomial argument.  Drop unnecessary constraints.

2025-10-01  Andreas Schwab  <schwab@linux-m68k.org>

	PR target/122066
	* config/m68k/m68k.md (adddi3, subdi3): Strip POST_INC and PRE_DEC
	when generating high part of the destination operand.

2025-10-01  Jan Hubicka  <hubicka@ucw.cz>

	* auto-profile.cc (afdo_calculate_branch_prob): Improve dump file.

2025-10-01  Jan Hubicka  <hubicka@ucw.cz>

	* auto-profile.cc (determine_scale): Break out from ...
	(afdo_adjust_guessed_profile): ... here.
	(scale_bb_profile): New function.
	(afdo_annotate_cfg): Use it.
	* params.opt (auto-profile-bbs): New parmaeter.
	* doc/invoke.texi (auto-profile-bbs): Document.

2025-10-01  Jan Hubicka  <hubicka@ucw.cz>

	* auto-profile.cc (afdo_unscaled_edge_count): New function based on
	part of ...
	(afdo_set_bb_count): ... this function; use it here.
	(afdo_calculate_branch_prob): Try to determine edge counts using
	phi args and goto locuses.

2025-10-01  Jan Hubicka  <hubicka@ucw.cz>

	* Makefile.in (ALL_FDAS): New variable.
	(ALL_HOST_BACKEND_OBJ): Use all.fda instead of cc1plus.fda
	(all.fda): New target

2025-10-01  Jan Hubicka  <hubicka@ucw.cz>

	* cfghooks.cc (merge_blocks): Choose more reliable or higher BB
	count.

2025-10-01  Jan Hubicka  <hubicka@ucw.cz>

	* predict.cc (unlikely_executed_stmt_p): Remove redundant check.
	(rebuild_frequencies): Also recompute unlikely bbs when profile is
	present or consistent.

2025-10-01  Andrew MacLeod  <amacleod@redhat.com>

	PR tree-optimization/120560
	* vr-values.cc (range_from_loop_direction): Use wi::ge_p rather
	than wi::gt_p.

2025-10-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122110
	* tree-vect-loop.cc (vectorizable_reduction): Relax restriction
	to mode-precision operations.

2025-09-30  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/output-spec.cc (text_scheme_handler::make_sink): Use
	the value of the "color" to determine if the sink's printer is
	colorized.

2025-09-30  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/output-spec.cc: Add comments.  Introduce a
	"struct decoded_args" within each scheme_handler subclass,
	and split out per-scheme key-value parsing from each make_sink
	implementation into new per-scheme decode_kv member functions.

2025-09-30  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/output-spec.cc: Move class scheme_handler out from
	inside class output_factory.

2025-09-30  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/output-spec.cc: Rename "parsed_arg" to
	"scheme_and_kvs" throughout.  Rename "unparsed_arg" to
	"unparsed_spec" throughout, and make a member of
	output_spec::context rather than passing it around.
	* diagnostics/output-spec.h: Likewise.
	* libgdiagnostics.cc: Likewise.
	* opts-diagnostic.cc: Likewise.

2025-09-30  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64.cc (aarch64_functions_b_resolvable_from_a): New
	function.
	(TARGET_OPTION_FUNCTIONS_B_RESOLVABLE_FROM_A): New define.
	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in: Add documentation for
	TARGET_OPTION_FUNCTIONS_B_RESOLVABLE_FROM_A.
	* multiple_target.cc (redirect_to_specific_clone): Add new optimisation
	logic.
	(ipa_target_clone): Remove check for TARGET_HAS_FMV_TARGET_ATTRIBUTE.
	* target.def: Document new hook..
	* attribs.cc: (functions_b_resolvable_from_a) New function.
	* attribs.h: (functions_b_resolvable_from_a) New function.

2025-09-30  Jakub Jelinek  <jakub@redhat.com>

	* auto-profile.h (maybe_hot_afdo_count_p): Fix comment typos,
	possiby -> possibly and ture -> true.
	* gimplify.cc (build_asan_poison_call_expr): Change "of a for"
	to "memory of the" in a comment.
	* ipa-devirt.cc (add_type_duplicate): Fix comment typo,
	mangles -> mangled.
	* auto-profile.cc: Fix comment typo, -fauto-profile-inlinig
	-> -fauto-profile-inlining.
	(maybe_hot_afdo_count_p): Fix comment typos, possiby -> possibly
	and ture -> true.
	(function_instance::removed_icall_target): Fix comment typo,
	Reutrn -> Return.
	(function_instance::in_worklist_): Fix comment typo, Ture -> True.
	(function_instance::offline): Fix comment typo, tolevel -> toplevel.
	(function_instance::match): Fix comment typo, craeate_gcov ->
	create_gcov.
	(autofdo_source_profile::offline_external_functions): Fix comment
	typos, tolevel -> toplevel and porfile -> profile.
	(autofdo_source_profile::get_function_instance_by_inline_stack): Fix
	comment typo, chekcing -> checking.
	(struct scale): Fix comment typo, scalle -> scale.
	* gimple.h (currently_expanding_gimple_stmt): Fix comment typo,
	comminucating -> communicating.
	* tree.h (canonical_type_used_p): Fix comment typo, ture -> true.
	* tree-ssa-alias.cc (types_equal_for_same_type_for_tbaa_p): Likewise.
	* ipa-profile.cc (contains_hot_call_p): Likewise.
	* cfgexpand.cc (add_scope_conflicts_2): Fix comment typos,
	Querry -> Query, referendd -> referenced and Querrying -> Querying.
	* ipa-param-manipulation.cc (currently_expanding_gimple_stmt): Fix
	comment typo, comminucating -> communicating.
	* ipa-prop.cc (ipa_cst_ref_desc::refcount): Fix comment typo,
	if -> is.
	* tree-if-conv.cc (version_loop_for_if_conversion): Fix comment typos,
	porfile -> profile and confistency -> consistency.
	* fold-const.cc: Change size_int_wide in comment to size_int as
	size_int_wide doesn't exit for 21 years.

2025-09-30  Jan Hubicka  <hubicka@ucw.cz>

	* auto-profile.cc (function_instance::match): Sanity check
	that gimple PHI has no location.
	* tree-cfg.cc (assign_discriminators): Also remap locations
	of gimple PHI arguments.

2025-09-30  Jan Hubicka  <hubicka@ucw.cz>

	* basic-block.h (GCOV_COMPUTE_SCALE): Remove.
	* ipa-profile.cc (ipa_profile_generate_summary): Use
	profile-count scaling.
	* sched-rgn.cc (compute_trg_info): Likewise.

2025-09-30  Jan Hubicka  <hubicka@ucw.cz>

	* auto-profile.cc (stmt_loc_used_by_debug_info): New function.
	(autofdo_source_profile::get_count_info): Use it.
	(afdo_set_bb_count): Likewise.
	(afdo_vpt_for_early_inline): Likewise.

2025-09-30  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* gimple-lower-bitint.cc (bitint_precision_kind): Fix inconsistency in
	results between first and consecutive calls to this function.

2025-09-28  liuhongt  <hongtao.liu@intel.com>

	PR target/121970
	* config/i386/i386-options.cc (ix86_target_string): Remove
	store_max.
	(ix86_debug_options): Ditto.
	(ix86_function_specific_print): Ditto.
	(ix86_valid_target_attribute_tree): Ditto.
	(ix86_option_override_internal): Ditto.
	* config/i386/i386-expand.cc (ix86_expand_builtin): Ditto.
	* config/i386/i386-options.h (ix86_target_string): Ditto.
	* config/i386/i386.h (MOVE_MAX): Ditto.
	(STORE_MAX_PIECES): Set by move_max.
	* config/i386/i386.opt: Deprecate mmove-max=.
	* config/i386/x86-tune.def (X86_TUNE_AVX256_STORE_BY_PIECES):
	Removed.
	(X86_TUNE_AVX512_STORE_BY_PIECES): Ditto.

2025-09-28  Peter Damianov  <peter0x44@disroot.org>

	* pretty-print.cc (decode_utf8_char): Move forward declaration.
	(mingw_utf8_str_to_utf16_str): New function to convert UTF-8 to UTF-16.
	(is_console_handle): New function to detect Windows console handles.
	(write_all): Add UTF-8 to UTF-16 conversion for console output,
	falling back to WriteFile for ASCII strings and regular files.

2025-09-27  ChengLulu  <chenglulu@loongson.cn>

	PR target/99217
	* config/mips/mips.cc (mips_start_function_definition):
	Implements the functionality of '-fpatchable-function-entry='.
	(mips_print_patchable_function_entry): Define empty function.
	(TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): Define macro.

2025-09-27  Jie Mei  <jie.mei@oss.cipunited.com>

	* config/mips/mips.cc(mips_option_override):Add conditions
	for use of the -mmips16e2 and -mips16 option.

2025-09-27  Jie Mei  <jie.mei@oss.cipunited.com>

	* config/mips/mips.md (fms<mode>4): Generates MSUBF.fmt
	instructions.
	(*fms<mode>4_msubf): Same as above.
	(fnma<mode>4): Same as above.
	(*fnma<mode>4_msubf): Same as above.

2025-09-26  Alejandro Colomar  <alx@kernel.org>

	* doc/extend.texi: Clarify documentation about lists of
	parameter forward declarations, and mention that more than one
	of them are unnecessary.
	* doc/invoke.texi: Document the new
	-Wmultiple-parameter-fwd-decl-lists.

2025-09-26  Jan Hubicka  <hubicka@ucw.cz>

	* auto-profile.cc (afdo_propagate_edge): Fix handling of precize 0
	counts.

2025-09-26  Andrew Stubbs  <ams@baylibre.com>

	* config/gcn/gcn.cc
	(gcn_vectorize_support_vector_misalignment): Allow any alignment, as
	long as it's not packed.

2025-09-26  Jan Hubicka  <hubicka@ucw.cz>

	* profile-count.h (profile_probability::operator/): Do not cap
	twice.
	(profile_probability::operator/=): Likewise.
	(profile_probability::apply_scale): Do not watch for overflow.
	(profile_count::probability_in): Watch overflow.

2025-09-26  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/121875
	* config/loongarch/loongarch.cc
	(loongarch_can_inline_p): New function.
	(TARGET_CAN_INLINE_P): Define.

2025-09-25  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/invoke.texi (Warning Options): Use "bitwise" over
	"bit-wise".
	* doc/extend.texi (Vector Extensions): Use "elementwise"
	over "element-wise".
	* doc/md.texi (Standard Names): Ditto.

2025-09-25  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/extend.texi (Vector Extensions): Fix grammar.

2025-09-25  Xi Ruoyao  <xry111@xry111.site>

	* doc/invoke.texi (-ffp-int-builtin-inexact): Reword to match
	the default value with the default C standard.

2025-09-24  Dusan Stojkovic  <Dusan.Stojkovic@rt-rk.com>

	PR target/121778
	* config/riscv/riscv.md: Add define_split pattern.

2025-09-24  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121762
	* gimple-fold.cc (gimple_fold_builtin_assume_aligned): New function.
	(gimple_fold_builtin): Call gimple_fold_builtin_assume_aligned
	for BUILT_IN_ASSUME_ALIGNED.
	* tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove handling
	of BUILT_IN_ASSUME_ALIGNED.

2025-09-24  Jennifer Schmitz  <jschmitz@nvidia.com>

	* config/aarch64/aarch64.md: Include neoversev2.md.
	* config/aarch64/tuning_models/neoversev2.h: Enable dispatch
	scheduling and add dispatch constraints.
	* config/aarch64/neoversev2.md: New file and new instruction attribute
	neoversev2_dispatch.

2025-09-24  Jennifer Schmitz  <jschmitz@nvidia.com>

	* config.gcc: Add aarch64-sched-dispatch.o to extra_objs.
	* config/aarch64/aarch64-protos.h (struct tune_params): New
	field for dispatch scheduling.
	(struct dispatch_constraint_info): New struct for dispatch scheduling.
	* config/aarch64/aarch64-tuning-flags.def
	(AARCH64_EXTRA_TUNING_OPTION): New flag to enable dispatch scheduling.
	* config/aarch64/aarch64.cc (TARGET_SCHED_DISPATCH): Implement
	target hook.
	(TARGET_SCHED_DISPATCH_DO): Likewise.
	(aarch64_override_options_internal): Add check for definition of
	dispatch constraints if dispatch-scheduling tune flag is set.
	* config/aarch64/t-aarch64: Add aarch64-sched-dispatch.o.
	* config/aarch64/tuning_models/a64fx.h: Initialize fields for
	dispatch scheduling in tune_params.
	* config/aarch64/tuning_models/ampere1.h: Likewise.
	* config/aarch64/tuning_models/ampere1a.h: Likewise.
	* config/aarch64/tuning_models/ampere1b.h: Likewise.
	* config/aarch64/tuning_models/cortexa35.h: Likewise.
	* config/aarch64/tuning_models/cortexa53.h: Likewise.
	* config/aarch64/tuning_models/cortexa57.h: Likewise.
	* config/aarch64/tuning_models/cortexa72.h: Likewise.
	* config/aarch64/tuning_models/cortexa73.h: Likewise.
	* config/aarch64/tuning_models/cortexx925.h: Likewise.
	* config/aarch64/tuning_models/emag.h: Likewise.
	* config/aarch64/tuning_models/exynosm1.h: Likewise.
	* config/aarch64/tuning_models/fujitsu_monaka.h: Likewise.
	* config/aarch64/tuning_models/generic.h: Likewise.
	* config/aarch64/tuning_models/generic_armv8_a.h: Likewise.
	* config/aarch64/tuning_models/generic_armv9_a.h: Likewise.
	* config/aarch64/tuning_models/neoverse512tvb.h: Likewise.
	* config/aarch64/tuning_models/neoversen1.h: Likewise.
	* config/aarch64/tuning_models/neoversen2.h: Likewise.
	* config/aarch64/tuning_models/neoversen3.h: Likewise.
	* config/aarch64/tuning_models/neoversev1.h: Likewise.
	* config/aarch64/tuning_models/neoversev2.h: Likewise.
	* config/aarch64/tuning_models/neoversev3.h: Likewise.
	* config/aarch64/tuning_models/neoversev3ae.h: Likewise.
	* config/aarch64/tuning_models/olympus.h: Likewise.
	* config/aarch64/tuning_models/qdf24xx.h: Likewise.
	* config/aarch64/tuning_models/saphira.h: Likewise.
	* config/aarch64/tuning_models/thunderx.h: Likewise.
	* config/aarch64/tuning_models/thunderx2t99.h: Likewise.
	* config/aarch64/tuning_models/thunderx3t110.h: Likewise.
	* config/aarch64/tuning_models/thunderxt88.h: Likewise.
	* config/aarch64/tuning_models/tsv110.h: Likewise.
	* config/aarch64/tuning_models/xgene1.h: Likewise.
	* config/aarch64/aarch64-sched-dispatch.cc: New file for
	dispatch scheduling for aarch64.
	* config/aarch64/aarch64-sched-dispatch.h: New header file.

2025-09-24  Jennifer Schmitz  <jschmitz@nvidia.com>

	* config/aarch64/aarch64-sve.md: Annotate instructions with
	attribute sve_type.
	* config/aarch64/aarch64-sve2.md: Likewise.
	* config/aarch64/aarch64.md (sve_type): New attribute sve_type.
	* config/aarch64/iterators.md (sve_type_unspec): New int attribute.
	(sve_type_int): New code attribute.
	(sve_type_fp): New int attribute.

2025-09-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/116816
	* tree-vect-stmts.cc (get_load_store_type): Allow multi-lane
	single-element interleaving to fall back to VMAT_ELEMENTWISE.
	Fall back to VMAT_ELEMENTWISE when we cannot handle a load
	permutation.
	(vectorizable_load): Do not check a load permutation
	for VMAT_ELEMENTWISE.  Handle grouped loads with
	VMAT_ELEMENTWISE and directly apply a load permutation.

2025-09-24  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (get_load_store_type): Explicitly fail
	when we end up with VMAT_ELEMENTWISE for BB vectorization.

2025-09-24  Xi Ruoyao  <xry111@xry111.site>

	PR tree-optimization/122040
	* doc/invoke.texi (-fisolate-erroneous-paths-dereference):
	Mention it also turns division by zero into a trap in addition
	to null dereference.

2025-09-24  Xi Ruoyao  <xry111@xry111.site>

	PR middle-end/66462
	* config/loongarch/loongarch.md (FCLASS_MASK): Add 3.
	(fclass_optab): Assign isnan for 3.
	(<FCLASS_MASK:fclass_optab><ANYF:mode>2): If FCLASS_MASK is 3,
	only enable when -fsignaling-nans.

2025-09-24  Pan Li  <pan2.li@intel.com>

	* match.pd: Add pattern of mult and reuse the widen-mul
	by for keyword.

2025-09-23  David Malcolm  <dmalcolm@redhat.com>

	PR diagnostics/121986
	* diagnostics/sarif-sink.cc: Include "intl.h".
	(sarif_builder::make_message_describing_fix_it_hint): New.
	(sarif_builder::make_fix_object): Attempt to auto-generate a
	description for fix-it hints.

2025-09-23  Richard Earnshaw  <rearnsha@arm.com>

	PR target/121810
	* config/arm/mve.md (mve_mov<mode>): Move the Ui constraint
	and pool_range attributes to the final alternative.  Fix
	the forward range value and correctly name the negative
	range.

2025-09-23  Pan Li  <pan2.li@intel.com>

	PR middle-end/122031
	* tree-ssa-math-opts.cc (build_and_insert_cast): Fix the typo
	of self assignment.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* config/aarch64/aarch64.cc (aarch64_process_target_version_attr):
	Remove warning.
	* config/aarch64/aarch64.opt: Mark -Wno-experimental-fmv-target
	deprecated.
	* doc/invoke.texi: Ditto.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* attribs.cc (is_function_default_version): Update to handle
	target_clones.
	* cgraph.h (FOR_EACH_FUNCTION_REMOVABLE): New macro.
	* multiple_target.cc (expand_target_clones): Update logic to delete
	empty target_clones and modify diagnostic.
	(ipa_target_clone): Update to use FOR_EACH_FUNCTION_REMOVABLE.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* attribs.h (common_function_versions): Removed.
	* attribs.cc (common_function_versions): Removed.
	* config/aarch64/aarch64.cc (aarch64_common_function_versions): Removed.
	(aarch64_same_function_versions): New function to check if two version
	strings imply the same version.
	(TARGET_OPTION_FUNCTION_VERSIONS): Removed.
	(TARGET_OPTION_SAME_FUNCTION_VERSIONS): New macro.
	* config/i386/i386.cc (TARGET_OPTION_FUNCTION_VERSIONS): Removed.
	* config/rs6000/rs6000.cc (TARGET_OPTION_FUNCTION_VERSIONS): Removed.
	* config/riscv/riscv.cc (riscv_same_function_versions):  New function
	to check if two version strings imply the same version.
	(riscv_common_function_versions): Removed.
	(TARGET_OPTION_FUNCTION_VERSIONS): Removed.
	(TARGET_OPTION_SAME_FUNCTION_VERSIONS): New macro.
	* doc/tm.texi: Regenerated.
	* target.def: Remove common_version hook and add same_function_version
	hook.
	* doc/tm.texi.in: Ditto.
	* tree.cc (distinct_version_decls): New function.
	(mergeable_version_decls): Ditto.
	* tree.h (distinct_version_decls): New function.
	(mergeable_version_decls): Ditto.
	* hooks.h (hook_stringslice_stringslice_unreachable): New function.
	* hooks.cc (hook_stringslice_stringslice_unreachable): New function.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	PR target/118313
	* cgraph.cc (delete_function_version): Made public static member of
	cgraph_node.
	* cgraph.h (delete_function_version): Ditto.
	* cgraphunit.cc (analyze_functions): Add logic for target version
	dependencies.
	* ipa.cc (symbol_table::remove_unreachable_nodes): Ditto.
	* multiple_target.cc (create_dispatcher_calls): Change to support
	target version semantics.
	(ipa_target_clone): Change to dispatch all function sets in
	target_version semantics, and to have early and late pass.
	(expand_target_clones): Add logic for cases of target_clones with no
	defaults.
	(is_simple_target_clones_case): New function.
	(class pass_target_clone): New parameter for early or late pass.
	* config/aarch64/aarch64.cc: (aarch64_get_function_versions_dispatcher):
	Refactor with the assumption that the DECL node will be default.
	* config/riscv/riscv.cc: (riscv_get_function_versions_dispatcher):
	Refactor with the assumption that the DECL node will be default.
	* passes.def: Split target_clones pass into early and late version.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	PR target/118339
	* target.def: Add check_target_clone_version hook.
	* tree.cc (get_clone_attr_versions): Add filter argument.
	(get_clone_versions): Add filter argument.
	* tree.h (get_clone_attr_versions): Add filter.
	(get_clone_versions): Add filter argument.
	* config/aarch64/aarch64.cc (aarch64_check_target_clone_version):
	New function
	(TARGET_CHECK_TARGET_CLONE_VERSION): New define.
	* config/riscv/riscv.cc (riscv_check_target_clone_version):
	New function.
	(TARGET_CHECK_TARGET_CLONE_VERSION): New define.
	* doc/tm.texi: Regenerated.
	* doc/tm.texi.in: Add documentation for new hook.
	* hooks.h (hook_stringslice_locationtptr_true): New function.
	* hooks.cc (hook_stringslice_locationtptr_true): New function.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* config/riscv/riscv-protos.h (riscv_process_target_version_str): New function..
	* config/riscv/riscv-target-attr.cc (riscv_process_target_attr): Refactor to take
	string_slice.
	(riscv_process_target_version_str): New function.
	* config/riscv/riscv.cc (parse_features_for_version): Refactor to take
	string_slice.
	(riscv_compare_version_priority): Ditto.
	(dispatch_function_versions): Change to pass location.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* attribs.cc (make_dispatcher_decl): Move duplicated cgraph logic into
	this function and change to use targetm.mangle_decl_assembler_name for
	mangling.
	* cgraph.cc (cgraph_node::insert_new_function_version): Record
	assembler_name.
	* cgraph.h (struct cgraph_function_version_info): Add assembler_name.
	(struct cgraph_node): Add dispatcher_resolver_function and
	is_target_clone.
	* config/aarch64/aarch64.cc (aarch64_parse_fmv_features): Change to
	support string_slice.
	(aarch64_process_target_version_attr): Ditto.
	(get_feature_mask_for_version): Ditto.
	(aarch64_mangle_decl_assembler_name): Add logic for mangling dispatched
	symbol and resolver.
	(get_suffixed_assembler_name): Removed.
	(make_resolver_func): Refactor to use
	aarch64_mangle_decl_assembler_name for mangling.
	(aarch64_generate_version_dispatcher_body): Remove remangling.
	(aarch64_get_function_versions_dispatcher): Refactor to remove
	duplicated cgraph logic.
	* config/i386/i386-features.cc
	(ix86_mangle_function_version_assembler_name): Refactor to use
	clone_identifier and to mangle default.
	(ix86_mangle_decl_assembler_name): Add logic for mangling dispatched
	symbol and resolver.
	(ix86_get_function_versions_dispatcher): Remove duplicated cgraph
	logic.
	(make_resolver_func): Refactor to use ix86_mangle_decl_assembler_name
	for mangling.
	* config/riscv/riscv.cc (riscv_mangle_decl_assembler_name): Add logic
	for FMV mangling.
	(get_suffixed_assembler_name): Removed.
	(make_resolver_func): Refactor to use riscv_mangle_decl_assembler_name
	for mangling.
	(riscv_generate_version_dispatcher_body): Remove unnecessary remangling.
	(riscv_get_function_versions_dispatcher): Remove duplicated cgraph
	logic.
	* config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): New
	function.
	(rs6000_get_function_versions_dispatcher): Remove duplicated cgraph
	logic.
	(make_resolver_func): Refactor to use rs6000_mangle_decl_assembler_name
	for mangling.
	(rs6000_mangle_function_version_assembler_name): New function.
	* multiple_target.cc (create_dispatcher_calls): Remove mangling code.
	(get_attr_str): Removed.
	(separate_attrs): Ditto.
	(is_valid_asm_symbol): Removed.
	(create_new_asm_name): Ditto.
	(expand_target_clones): Refactor to use
	targetm.mangle_decl_assembler_name for mangling and be more general.
	* tree.cc (get_target_clone_attr_len): Removed.
	* tree.h (get_target_clone_attr_len): Removed.

2025-09-23  Alfie Richards  <alfie.richards@arm.com>

	* cgraph.h (clone_identifier): New function.
	* cgraphclones.cc (clone_identifier): New function.
	(clone_function_name): Refactored to use clone_identifier.
	(is_valid_asm_symbol): New helper function.

2025-09-23  liuhongt  <hongtao.liu@intel.com>

	PR target/121994
	* config/i386/x86-tune-costs.h (znver2_cost): Set
	vect_unroll_limit to 1.
	(znver1_cost): Ditto.
	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
	Adjust count number for	{AVX256,AVX512}_SPLIT_REGS.

2025-09-22  Peter Bergner  <bergner@tenstorrent.com>

	PR target/121982
	* config/riscv/tt-ascalon-d8.md (tt_ascalon_d8_vec_idiv_byte): New
	define_insn_reservation.

2025-09-22  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121762
	* builtins.cc (fold_builtin_constant_p): Make non-static.
	* builtins.h (fold_builtin_constant_p): New declaration.
	* gimple-fold.cc (gimple_fold_builtin_constant_p): New function.
	(gimple_fold_builtin): Call gimple_fold_builtin_constant_p
	for BUILT_IN_CONSTANT_P.
	* tree-ssa-ccp.cc (pass_fold_builtins::execute): Set PROP_last_full_fold
	on curr_properties. Remove handling of BUILT_IN_CONSTANT_P.

2025-09-22  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/libgdiagnostics/index.rst: Drop broken reference to
	`modindex`.

2025-09-22  Pan Li  <pan2.li@intel.com>

	PR middle-end/122021
	* tree-ssa-math-opts.cc (build_and_insert_cast): Add sign-extend
	check before prop.

2025-09-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122016
	* tree-ssa-sccvn.cc (vn_nary_simplify): Do not use the
	simplified expression when it references abnormals.

2025-09-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/122023
	* tree-vect-patterns.cc (vect_recog_rotate_pattern): Disable
	for rotates.

2025-09-22  Dimitar Dimitrov  <dimitar@dinux.eu>

	PR target/116205
	* config/pru/pru-passes.cc (class pass_pru_tiabi_check): Make
	this an IPA pass.
	(chkp_type_has_function_pointer): Remove.
	(check_type_tiabi_compatibility): New function.
	(chk_function_decl): Rename.
	(check_function_decl): Simplify.
	(check_op_callback): Rework to use
	check_type_tiabi_compatibility.
	(pass_pru_tiabi_check::execute): Rework to scan all symbols and
	gimple contents of all defined functions.
	* config/pru/pru-passes.def (INSERT_PASS_AFTER): Move after
	pass_ipa_auto_profile_offline.
	* config/pru/pru-protos.h (make_pru_tiabi_check): New
	declaration to mark as IPA pass.
	(make_pru_minrt_check): Specify it is making a gimple pass.
	* doc/invoke.texi: Document that bit-fields are now rejected for
	TI ABI.

2025-09-21  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-ccp.cc (optimize_unreachable): Don't check for forced labels.

2025-09-21  Jan Hubicka  <jh@suse.cz>

	* cgraphclones.cc (cgraph_node::create_version_clone): Recompute
	calls_comdat_local

2025-09-21  Jan Hubicka  <jh@suse.cz>

	* cgraph.cc (cgraph_edge::maybe_hot_p): For AFDO profiles force
	count to be non-zero.

2025-09-21  Jan Hubicka  <jh@suse.cz>

	* auto-profile.cc (autofdo_source_profile::read): Scale profile up to
	profile_count::n_bits - 10.

2025-09-21  Jan Hubicka  <jh@suse.cz>

	* ipa-inline-transform.cc (clone_inlined_nodes): Add KEEP_OFFLINE_COPY
	parameter.
	(inline_call): Sanity check profile and if it is clearly broken do
	not subtract profile from original function.
	* ipa-inline.cc (recursive_inlining): Update.
	* ipa-inline.h (clone_inlined_nodes): Update.

2025-09-20  Jan Hubicka  <jh@suse.cz>

	* doc/invoke.texi (--param max-devirt-targets) Document.
	* ipa-devirt.cc (ipa_devirt): Implement muti-target
	devirtualization.
	* params.opt (max-devirt-targets): New parameter.

2025-09-19  Alexandre Oliva  <oliva@adacore.com>

	* ira.cc (setup_reg_equiv): Retain function invariant
	equivalences.

2025-09-19  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (optimize_aggr_zeroprop): Take gimple*
	instead of iterator.
	(optimize_agr_copyprop): Likewise.
	(simplify_builtin_call): Update call to optimize_aggr_zeroprop.
	(pass_forwprop::execute): Update calls to optimize_aggr_zeroprop
	and optimize_agr_copyprop.

2025-09-19  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (optimize_aggr_zeroprop_1): Change return type
	to void.
	(optimize_aggr_zeroprop): Likewise.
	(optimize_agr_copyprop_1): Likewise.
	(optimize_agr_copyprop_arg): Likewise.
	(optimize_agr_copyprop): Likewise.
	(simplify_builtin_call): Handle update of the return type
	of optimize_aggr_zeroprop.
	(pass_forwprop::execute): Likewise and optimize_agr_copyprop.

2025-09-19  Michael Eager  <eager@eagercon.com>

	PR target/118280
	* config/microblaze/iterators.md: New.
	* config/microblaze/microblaze-protos.h: Add
	microblaze_subword_address.
	* config/microblaze/microblaze.cc: Ditto.
	* config/microblaze/microblaze.md: constants: Add UNSPECV_CAS_BOOL,
	UNSPECV_CAS_MEM, UNSPECV_CAS_VAL, UNSPECV_ATOMIC_FETCH_OP
	type: add atomic
	* config/microblaze/sync.md: Add atomic_fetch_<atomic_optab>si
	atomic_test_and_set

2025-09-19  Jan Hubicka  <jh@suse.cz>

	* ipa-fnsummary.cc (estimate_edge_devirt_benefit): Handle speculative
	edges correctly.
	(estimate_edge_size_and_time): Even when not collecting hints,
	devirtualization affects function size.
	(estimate_calls_size_and_time): Do not use tables when devirtualization
	is possible.

2025-09-19  Jan Hubicka  <jh@suse.cz>

	* cgraph.cc (cgraph_edge::make_direct): Do not ICE when there are
	multiple speculations to comptaible targets
	(cgraph_edge::combined_sreal_frequency): New member function.
	* cgraph.h (cgraph_edge::combined_sreal_frequency): Declare.
	* ipa-cp.cc (devirtualization_time_bonus): Return sreal; consider
	profile.
	(estimate_local_effects): Likewise.

2025-09-19  Gaius Mulley  <gaiusmod2@gmail.com>

	PR modula2/121856
	* doc/gm2.texi (Compiler options): New item -fwideset.

2025-09-19  Jeff Law  <jlaw@ventanamicro.com>

	PR target/121983
	* config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Make sure
	object is a REG before asking for its REGNO.  Fix a trivial
	whitespace nit.

2025-09-19  Raphael Moreira Zinsly  <rzinsly@ventanamicro.com>

	* config/riscv/riscv-v.cc
	(shuffle_slide_patterns): Cover more permutations.

2025-09-19  Jim Lin  <jim@andestech.com>

	* config/riscv/riscv.cc (riscv_compute_frame_info): Remove the
	dedicated calculation for RVE.

2025-09-19  Jeff Law  <jlaw@ventanamicro.com>

	* config.gcc (riscv*); Add riscv-bclr-lowest-set-bit.o to extra_objs.
	* config/riscv/riscv-bclr-lowest-set-bit.cc: New file.
	* config/riscv/riscv-passes.def: Add new pass after combine.
	* config/riscv/riscv-protos.h (make_pass_bclr_lowest_set_bit): Add
	prototype.
	* config/riscv/t-riscv: Add rules to build riscv-bclr-lowest-set-bit.o.

2025-09-19  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.cc (compute_antic_aux): Remove dead code.

2025-09-19  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (_stmt_vec_info::store_count): Remove.
	(DR_GROUP_STORE_COUNT): Likewise.
	* tree-vect-stmts.cc (vect_transform_stmt): Remove non-SLP
	path.

2025-09-19  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_get_num_copies): Remove unused
	overload.  Remove defaulted vectype argument and always
	use the vector type of the SLP node.
	* tree-vect-loop.cc (vect_reduction_update_partial_vector_usage):
	Adjust.
	(vectorizable_lane_reducing): Likewise.
	(vect_transform_reduction): Likewise.
	(vectorizable_nonlinear_induction): Likewise.
	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
	Likewise.

2025-09-19  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (_slp_tree::vec_stmts_size): Remove.
	(SLP_TREE_NUMBER_OF_VEC_STMTS): Likewise.
	* tree-vect-loop.cc (vectorizable_reduction): Adjust.
	(vect_transform_cycle_phi): Likewise.
	(vect_transform_lc_phi): Likewise.
	(vectorizable_recurr): Likewise.
	(vectorizable_induction): Likewise.
	(vectorizable_live_operation): Likewise.
	* tree-vect-slp.cc (_slp_tree::_slp_tree): Do not set
	SLP_TREE_NUMBER_OF_VEC_STMTS.
	(vect_slp_analyze_node_operations_1): Likewise.
	(vect_slp_analyze_node_operations): Likewise.
	(vect_prologue_cost_for_slp): Adjust.
	(vect_create_constant_vectors): Likewise.
	(vect_get_slp_vect_def): Likewise.
	(vect_transform_slp_perm_load_1): Likewise.
	(vectorizable_slp_permutation_1): Likewise.
	(vect_schedule_slp_node): Likewise.
	(vectorize_slp_instance_root_stmt): Likewise.
	* tree-vect-stmts.cc (vect_model_simple_cost): Likewise.
	(vectorizable_bswap): Likewise.
	(vectorizable_call): Likewise.
	(vectorizable_conversion): Likewise.
	(vectorizable_shift): Likewise.
	(vectorizable_operation): Likewise.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.
	(vectorizable_condition): Likewise.
	(vectorizable_early_exit): Likewise.

2025-09-18  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/client-data-hooks.h (client_data_hooks::dump): New.
	* diagnostics/context.cc (context::dump): Dump
	m_client_data_hooks.
	(client_data_hooks::dump): New.
	* diagnostics/logical-locations.h
	(logical_locations::manager::dump): New.
	* diagnostics/selftest-logical-locations.cc: Include
	"diagnostics/dumping.h".
	(test_manager::dump): New.
	* diagnostics/selftest-logical-locations.h (test_manager::dump):
	New decl.
	* libgdiagnostics.cc: Include "diagnostics/dumping.h".
	(impl_logical_location_manager::dump): New.
	* tree-logical-location.cc: Include "diagnostics/dumping.h".
	(tree_logical_location_manager::dump): New.
	* tree-logical-location.h (tree_logical_location_manager::dump):
	New decl.

2025-09-18  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/paths-output.cc: Update for conversion of
	location_aspect to enum class.
	* diagnostics/source-printing.cc: Likewise.
	* input.cc: Likewise.
	* input.h: Likewise.

2025-09-18  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/buffering.cc: Drop include of "diagnostic.h".
	* diagnostics/buffering.h: Likewise.
	* diagnostics/context.h (diagnostics::metadata): Add forward decl.
	* diagnostics/html-sink.cc: Drop include of "diagnostic.h".
	* diagnostics/lazy-paths.cc: Likewise.
	* diagnostics/macro-unwinding.cc: Likewise.
	* diagnostics/macro-unwinding.h (diagnostics:diagnostic_info): Add
	forward decl.
	* diagnostics/option-classifier.h: Include
	"diagnostics/option-id.h" and "diagnostics/kinds.h".
	(diagnostics:diagnostic_info): Add forward decl.
	* diagnostics/output-spec.cc: Drop include of "diagnostic.h".
	* diagnostics/paths-output.cc: Likewise.
	* diagnostics/paths.cc: Likewise.
	* diagnostics/sarif-sink.cc: Likewise.
	* diagnostics/selftest-context.cc: Likewise.
	* diagnostics/selftest-paths.cc: Likewise.
	* diagnostics/source-printing-options.h: Include
	"rich-location.h".
	* diagnostics/text-sink.cc: Drop include of "diagnostic.h".

2025-09-18  Qing Zhao  <qing.zhao@oracle.com>

	PR tree-optimization/121894
	* tree-sra.cc (scan_function): Set grp_assignment_write to 1 when
	specially handle call to .DEFERRED_INIT.

2025-09-18  Zhongyao Chen  <chenzhongyao.hit@gmail.com>

	PR target/121910
	* config/riscv/riscv-vector-costs.cc (compute_estimated_lmul):
	Return RVV_M8 when estimated lmul is too large.

2025-09-18  Jakub Jelinek  <jakub@redhat.com>

	PR c++/121977
	* omp-low.cc (lower_omp_regimplify_operands_p): If maybe_lookup_decl
	returns NULL, use maybe_lookup_decl_in_outer_ctx as fallback.

2025-09-18  Karl Meakin  <karl.meakin@arm.com>

	* config/aarch64/aarch64-sme.md (@aarch64_sme_write_zt<SVE_FULL:mode>): New insn.
	(aarch64_sme_lut_zt): Likewise.
	* config/aarch64/aarch64-sve-builtins-shapes.cc (parse_type): New type format "%T".
	(struct luti_lane_zt_base): New function shape.
	(SHAPE): Likewise.
	(struct write_zt_def): Likewise.
	(struct write_lane_zt_def): Likewise.
	* config/aarch64/aarch64-sve-builtins-shapes.h: New function shape.
	* config/aarch64/aarch64-sve-builtins-sme.cc (class svluti_zt_impl): New function expander.
	(class svwrite_zt_impl): Likewise.
	(class svwrite_lane_zt_impl): Likewise.
	(FUNCTION): Likewise
	* config/aarch64/aarch64-sve-builtins-sme.def (svwrite_zt): New function shape.
	(svwrite_lane_zt): Likewise.
	(svluti4_zt): Likewise.
	* config/aarch64/aarch64-sve-builtins-sme.h: New function base.
	* config/aarch64/aarch64-sve-builtins.h: Mention the arrays of function_group_info by name.

2025-09-18  Karl Meakin  <karl.meakin@arm.com>

	* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Conditonally define
	`__ARM_FEATURE_SME_LUTv2" macro.
	* config/aarch64/aarch64-option-extensions.def (AARCH64_OPT_EXTENSION("sme-lutv2")): New
	optional architecture extension.
	* config/aarch64/aarch64.h (TARGET_SME_LUTv2): New macro.
	* doc/invoke.texi: Document `+sme-lutv2` flag.

2025-09-18  Pan Li  <pan2.li@intel.com>

	* match.pd: Add pattern for SAT_MUL form 5.
	* tree-ssa-math-opts.cc (math_opts_dom_walker::after_dom_children):
	Try match pattern for IOR.

2025-09-18  Jan Hubicka  <hubicka@ucw.cz>

	* ipa-cp.cc (update_counts_for_self_gen_clones): Do not update
	call frequency for local profiles.

2025-09-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87615
	* tree-ssa-sccvn.cc (vn_nary_op_insert_into): When inserting
	a new predicate or location into an existing predicate list
	make sure to not exceed 8 locations.  Avoid copying things
	when we later eventually throw them away.
	(vn_nary_op_insert_pieces_predicated): Avoid expensive check
	when not checking.
	(dominated_by_p_w_unex): Apply the limit on a single successors
	predecessor count consistently.

2025-09-18  Tobias Burnus  <tburnus@baylibre.com>
	    Sandra Loosemore  <sloosemore@baylibre.com>

	PR middle-end/121922
	* omp-general.cc (omp_dynamic_cond): Use 'unshare_expr' for
	the user condition.

2025-09-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121720
	* tree-ssa-pre.cc (bitmap_set_subtract_expressions): Add
	flag to tell whether we should copy instead of prune the
	value set.
	(compute_antic_aux): Remove intersection of ANTIC_IN with
	the old solution.  When subtracting TMP_GEN from
	ANTIC_OUT do not prune the value set when MAX was involved
	in the ANTIC_OUT computation.

2025-09-18  hongtao.liu  <hongtao.liu@intel.com>

	* config/i386/x86-tune.def (X86_TUNE_AVX512_MOVE_BY_PIECES):
	Remove SPR/GNR/DMR.
	(X86_TUNE_AVX512_STORE_BY_PIECES): Ditto.

2025-09-17  David Malcolm  <dmalcolm@redhat.com>

	* sarif-replay.cc (set_defaults): Initialize
	m_debug_physical_locations.

2025-09-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121962
	* tree-ssa-forwprop.cc (same_for_assignment): New function.
	(optimize_agr_copyprop_1): Use same_for_assignment to check for
	nop copies.
	(optimize_agr_copyprop): Likewise.

2025-09-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (new_src_based_on_copy): An early out
	if both are decls.

2025-09-17  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (optimize_agr_copyprop_1): Split out
	the case where `operand_equal_p (dest, src2)` is false into ...
	(new_src_based_on_copy): This. New function.
	(optimize_agr_copyprop_arg): Use new_src_based_on_copy
	instead of operand_equal_p to find the new src.

2025-09-17  Shreya Munnangi  <smunnangi1@ventanamicro.com>

	PR tree-optimization/58727
	* simplify-rtx.cc (simplify_context::simplify_binary_operation_1):
	In (A & C1) | C2, if (C1|C2) results in a constant with a single bit
	clear, then adjust C1 appropriately.

2025-09-17  Eric Botcazou  <ebotcazou@adacore.com>

	* tree-inline.cc (maybe_copy_this_notrap): New function.  Also copy
	the TREE_THIS_NOTRAP flag for parameters when the argument is a full
	object and the parameter's type is self-referential.
	(remap_gimple_op_r): Call maybe_copy_this_notrap.
	(copy_tree_body_r): Likewise.

2025-09-17  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*widen_first_<any_extend:su>_vx_<mode>):
	Add helper bridge pattern for vwaddu.vx combine.
	(*widen_<any_widen_binop:optab>_<any_extend:su>_vx_<mode>): Add
	new pattern to match vwaddu.vx combine.
	* config/riscv/iterators.md: Add code attr to get extend CODE.
	* config/riscv/vector-iterators.md: Add Dmode iterator for
	widen.

2025-09-16  Jakub Jelinek  <jakub@redhat.com>

	* doc/invoke.texi (Wimplicit-fallthrough=): Document that also C23
	provides a standard way to suppress the warning with [[fallthrough]];.

2025-09-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.cc (#include):
	Add "addresses.h".
	* config/xtensa/xtensa.h (REGNO_OK_FOR_BASE_P):
	Simplify to just a call to GP_REG_P().
	(BASE_REG_P): Replace REGNO_OK_FOR_BASE_P() with the equivalent
	call to regno_ok_for_base_p().

2025-09-16  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR middle-end/66462
	* config/aarch64/aarch64.md (isnan<mode>2): Add new expander.

2025-09-16  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (get_load_store_type): Get in a flag
	whether a SLP_TREE_LOAD_PERMUTATION on the node can be
	code generated and use it.  Fix the condition on using
	strided gather/scatter to avoid dropping a meaningful
	permutation.
	(vectorizable_store): Adjust.
	(vectorizable_load): Analyze the permutation early and
	pass the result down to get_load_store_type.  Fix the
	condition on when we are allowed to elide a load permutation.

2025-09-16  Jennifer Schmitz  <jschmitz@nvidia.com>

	PR target/121602
	* config/aarch64/aarch64-sve-builtins.cc
	(gimple_folder::fold_active_lanes_to): Add force_vector
	statement.

2025-09-16  Jiawei  <jiawei@iscas.ac.cn>

	* config.gcc: Accept RISC-V profiles in `--with-arch`.
	* config/riscv/arch-canonicalize: Add profile detection and
	skip canonicalization for profiles.

2025-09-16  Jiawei  <jiawei@iscas.ac.cn>

	* common/config/riscv/riscv-common.cc (struct riscv_profiles): Add comments.
	(RISCV_PROFILE): Removed.
	* config/riscv/riscv-profiles.def: New file.

2025-09-16  Dongyan Chen  <chendongyan@isrc.iscas.ac.cn>

	* config/riscv/riscv-ext.def: Imply zicsr.

2025-09-16  liuhongt  <hongtao.liu@intel.com>

	* config/i386/predicates.md (avx_vbroadcast128_operand): New
	predicate.
	* config/i386/sse.md (*avx_vbroadcastf128_<mode>_perm): New
	pre_reload splitter.

2025-09-15  Alexandre Oliva  <oliva@adacore.com>

	* config/rs6000/vxworks.h (TARGET_CMODEL, SET_CMODEL): Define.

2025-09-15  Alexandre Oliva  <oliva@adacore.com>

	* configure.ac: Adjust base register in linker test for large
	TOC support.
	* configure: Rebuild.

2025-09-15  Pan Li  <pan2.li@intel.com>

	* match.pd: Remove unnecessary cast of unsigned
	SAT_MUL for widen-mul.

2025-09-15  Pan Li  <pan2.li@intel.com>

	* tree-ssa-math-opts.cc (build_and_insert_cast): Refine
	the cast insert by check the rhs of val.

2025-09-15  David Faust  <david.faust@oracle.com>

	PR debug/121411
	PR debug/121903
	* ctfc.h (ctf_add_sou): Change size arg from size_t to uHWI.
	* ctfc.cc (ctf_add_sou): Likewise.

2025-09-15  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121751
	PR tree-optimization/121418
	PR tree-optimization/121417
	* tree-ssa-forwprop.cc (split_core_and_offset_size): New function.
	(optimize_agr_copyprop_1): Allow for the same
	address but different type accesses via a VCE.

2025-09-15  Alex Coplan  <alex.coplan@arm.com>

	PR tree-optimization/121772
	* match.pd: Add type check to reduc(ctor) pattern.

2025-09-15  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr-mcus.def: Add avr32eb14, avr32eb20,
	avr32eb28, avr32eb32.
	* doc/avr-mmcu.texi: Rebuild.

2025-09-15  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121934
	* config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): If a
	single instruction can store or move the whole block of memory,
	use vector instruction and don't align destination.

2025-09-15  Xi Ruoyao  <xry111@xry111.site>

	PR target/121906
	* config/loongarch/loongarch.md (*bstrins_<mode>_for_ior_mask):
	Always create a new pseudo for the input register of the bstrins
	instruction.

2025-09-15  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/121904
	* tree.cc (get_range_pos_neg): Return 3 if arg doesn't have
	scalar integral type.
	* expr.cc (expand_expr_real_2) <CASE_CONVERT>: Only choose between
	sign and zero extension based on costs for scalar integral inner
	types.

2025-09-15  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	PR middle-end/121391
	* gimplify.cc (gimplify_asm_expr): In case an asm operand is an
	error node, bail out early.

2025-09-14  Richard Biener  <rguenther@suse.de>

	PR lto/121935
	* ipa-free-lang-data.cc (find_decls_types_r): Visit DECL_ARGUMENTS
	chain manually.

2025-09-14  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (stmt_vec_info_type::permute_info_type): Add.
	(vectorizable_slp_permutation): Declare.
	* tree-vect-slp.cc (vectorizable_slp_permutation): Export.
	(vect_slp_analyze_node_operations_1): Set permute_info_type
	on permute nodes successfully analyzed.
	(vect_schedule_slp_node): Dispatch to vect_transform_stmt
	for all nodes.
	* tree-vect-stmts.cc (vect_transform_stmt): Remove redundant
	dump, handle permute_info_type.

2025-09-14  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (get_load_store_type): Use VMAT_STRIDED_SLP
	for negative stride accesses when VMAT_CONTIGUOUS_REVERSE
	isn't applicable.

2025-09-14  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_load_store_data::n_perms): New.
	* tree-vect-stmts.cc (vectorizable_load): Analyze
	SLP_TREE_LOAD_PERMUTATION only once and remember n_perms.
	Verify the transform-time n_perms against the value stored
	during analysis.

2025-09-13  Gerald Pfeifer  <gerald@pfeifer.com>

	* target.def (dtors_from_cxa_atexit): Properly mark up
	__cxa_atexit as code.
	* doc/tm.texi: Regenerate.

2025-09-13  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	PR rtl-optimization/121205
	* lra-constraints.cc (curr_insn_transform): Stop processing on
	error.

2025-09-13  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/invoke.texi (Optimize Options): Editorial changes around
	-fprofile-partial-training.

2025-09-12  Jeff Law  <jlaw@ventanamicro.com>

	* lra-constraints.cc (get_equiv): Bounds check before accessing
	data in ira_reg_equiv.

2025-09-12  Edwin Lu  <ewlu@rivosinc.com>

	* match.pd: New NARROW_CLIP variant for SAT_TRUNC.
	* tree-vect-patterns.cc (gimple_unsigned_integer_narrow_clip):
	Add new decl for NARROW_CLIP.
	(vect_recog_sat_trunc_pattern): Add NARROW_CLIP check.

2025-09-12  David Malcolm  <dmalcolm@redhat.com>

	PR diagnostics/120063
	* diagnostics/context.cc (context::execution_failed_p): Also treat
	any kind::fatal errors as leading to failed execution.
	* diagnostics/sarif-sink.cc (maybe_get_sarif_level): Handle
	kind::fatal as SARIF level "error".

2025-09-12  David Malcolm  <dmalcolm@redhat.com>

	PR diagnostics/121876
	* diagnostics/buffering.cc (context::set_diagnostic_buffer): Add
	early reject of the no-op case.

2025-09-12  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR c++/121865
	* ipa-free-lang-data.cc (find_decls_types_r): Don't walk into
	DECL_CHAIN for any DECL.

2025-09-12  Eric Botcazou  <ebotcazou@adacore.com>

	* ipa-pure-const.cc (check_stmt): Minor formatting tweaks.
	(pass_data_nothrow): Fix pasto in description.

2025-09-12  Tamar Christina  <tamar.christina@arm.com>

	* internal-fn.def (VEC_TRUNC_ADD_HIGH): New.
	* doc/generic.texi: Document it.
	* optabs.def (vec_trunc_add_high): New.
	* doc/md.texi: Document it.
	* tree-vect-stmts.cc (vectorizable_early_exit): Use addhn if supported.

2025-09-12  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64-simd.md (vec_addh_narrow<mode>): New.

2025-09-12  Tamar Christina  <tamar.christina@arm.com>

	* tree-vect-loop.cc (vect_analyze_loop_1): If the unroll pragma was set
	mark it as handled.
	* doc/extend.texi (pragma GCC unroll): Update documentation.

2025-09-11  Trevor Gross  <tmgross@umich.edu>

	* doc/libgcc.texi (Comparison functions): Document functions as
	returning CMPtype.

2025-09-11  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR middle-end/66462
	* config/aarch64/aarch64.md (isfinite<mode>2): Add new expander.

2025-09-11  Matteo Nicoli  <matteo.nicoli001@gmail.com>

	PR tree-optimization/121595
	* match.pd (fabs(a + 0.0) -> fabs (a)): Optimization pattern limited to
	the -fno-trapping-math case.

2025-09-11  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_compare_and_swapti_scq):
	Require LSX.  Change the operands for the output, the memory,
	and the expected value to LSX vector modes.  Add a FCCmode
	output to indicate if CAS has written the desired value into
	memory.  Use LSX to atomically load both words of the 16B value
	in memory.
	(atomic_compare_and_swapti): Pun the modes to satisify
	the new atomic_compare_and_swapti_scq implementation.  Read the
	bool return value from the FCC instead of performing a
	comparision.

2025-09-11  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/loongarch.cc (loongarch_print_operand): Call
	reg_or_0_operand for checking the sanity of %t.

2025-09-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121703
	* tree-vect-stmts.cc (vectorizable_store): Value-initialize ls.
	(vectorizable_load): Likewise.

2025-09-11  Tsukasa OI  <research_trasio@irq.a4lg.com>

	* config/riscv/riscv.cc (riscv_function_ok_for_sibcall):
	Suppress cross calling convention sibcall optimization from
	the vector calling convention variant.

2025-09-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121829
	* cfgloopmanip.cc (create_preheader): Ensure we can insert
	at the end of a preheader.

2025-09-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121870
	* tree-ssa-propagate.cc
	(substitute_and_fold_engine::substitute_and_fold): Skip
	removed stmts from noreturn fixup.

2025-09-11  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/bitmanip.md (*<bitmanip_minmax_cmp_insn>_cmp_<mode>3):
	New min/max ifcvt pattern.
	* config/riscv/iterators.md (minu): New iterator.
	* config/riscv/riscv.cc (riscv_noce_conversion_profitable_p):
	Remove riscv-specific adjustment.

2025-09-11  Robin Dapp  <rdapp@ventanamicro.com>

	* ifcvt.cc (noce_convert_multiple_sets_1): Add use_cond_earliest
	param.
	(noce_convert_multiple_sets): Set use_cond_earliest.
	(noce_process_if_block): Just use original cost.
	(noce_find_if_block): Use insn_cost (jump_insn).

2025-09-11  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/riscv-selftests.cc (riscv_run_selftests): Call
	run_vectorize_related_mode_selftests.
	(test_vectorize_related_mode): New function to test
	vectorize_related_mode behavior.
	(run_vectorize_related_mode_selftests): New function to run all
	vectorize_related_mode tests.
	(run_vectorize_related_mode_vla_selftests): New function to test
	VLA modes.
	(run_vectorize_related_mode_vls_rv64gcv_selftests): New function to
	test VLS modes on rv64gcv.
	(run_vectorize_related_mode_vls_rv32gc_zve32x_zvl256b_selftests):
	New function to test VLS modes on rv32gc_zve32x_zvl256b.
	(run_vectorize_related_mode_vls_selftests): New function to run all
	VLS mode tests.
	* config/riscv/riscv-v.cc (can_find_related_mode_p): Fix VLS type
	handling by converting TARGET_MIN_VLEN from bits to bytes.

2025-09-10  Georg-Johann Lay  <avr@gjlay.de>

	PR target/81540
	PR target/49857
	* common/config/avr/avr-common.cc: Disable -ftree-switch-conversion.

2025-09-10  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
	Change "Xtrnase" in the comment to "Xtensa".

2025-09-10  Peter Bergner  <bergner@tenstorrent.com>

	PR target/121878
	* config/riscv/tt-ascalon-d8.md (tt_ascalon_d8_vec_idiv_half): Test the
	Selected Element Width (SEW) rather than the mode.
	(tt_ascalon_d8_vec_idiv_single): Likewise.
	(tt_ascalon_d8_vec_idiv_double): Likewise.
	(tt_ascalon_d8_vec_float_divsqrt_half): Likewise.
	(tt_ascalon_d8_vec_float_divsqrt_single): Likewise.
	(tt_ascalon_d8_vec_float_divsqrt_double): Likewise.

2025-09-10  Juergen Christ  <jchrist@linux.ibm.com>

	* tree-vect-loop.cc (vectorizable_live_operation_1): Fix
	load/store bias handling.

2025-09-10  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfwsub_wf_<mode>): New pattern to
	combine float_extend + vec_duplicate + vfsub.vv into vfwsub.wf.

2025-09-10  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/121828
	* gimple-lower-bitint.cc (gimple_lower_bitint): For REALPART_EXPR
	consumed by store in the same bb and with REALPART_EXPR from
	optimizable_arith_overflow, don't add REALPART_EXPR lhs to
	the m_names bitmap only if the cast from IMAGPART_EXPR doesn't
	appear in between the REALPART_EXPR and the store.

2025-09-10  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/121831
	* expr.cc (raw_data_cst_read_str): New function.
	(store_constructor) <case ARRAY_TYPE>: Handle RAW_DATA_CST.

2025-09-10  Juergen Christ  <jchrist@linux.ibm.com>

	* config/s390/s390.h (CLZ_DEFINED_VALUE_AT_ZERO): Adjust and
	return 2.
	(CTZ_DEFINED_VALUE_AT_ZERO): Return 2.
	* config/s390/s390.md (clzsi2): Implement.
	(ctzsi2): Implement.

2025-09-10  Maximilian Immanuel Brandtner  <maxbr@linux.ibm.com>

	* config/s390/vector.md (*vec_extract<mode>_plus_zero_extend):
	Fix define insn.

2025-09-09  Andrew Stubbs  <ams@baylibre.com>

	* config/gcn/gcn-devices.def: Correct the Max ISA VGPRs counts for
	GFX10 and GFX11 devices.
	* config/gcn/gcn.cc (gcn_hsa_declare_function_name): Remove the wave64
	VGPR count fudge.

2025-09-09  Andrew Stubbs  <ams@baylibre.com>

	* config/gcn/gcn.cc (gcn_expand_builtin_1): Enable the "mode" parameter
	and ensure that "target" is a register for most of the builtins.

2025-09-09  David Faust  <david.faust@oracle.com>

	PR debug/121411
	* dwarf2ctf.cc (ctf_get_AT_data_member_location) Use AT_unsigned
	when fetching AT_bit_offset and AT_data_member_location.  Simplify.
	(ctf_die_bitsize): Return unsigned HOST_WIDE_INT instead of
	uint32_t.
	(gen_ctf_base_type, gen_ctf_sou_type, gen_ctf_enumeration_type):
	Adapt accordingly.

2025-09-09  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfwsub_vf_<mode>): New pattern to
	combine float_extend + vec_duplicate + vfwsub.vv into vfwsub.vf.

2025-09-09  Jakub Jelinek  <jakub@redhat.com>

	PR c++/121678
	* tree.cc (staticp): Handle REALPART_EXPR and IMAGPART_EXPR.

2025-09-09  Jonathan Wakely  <jwakely@redhat.com>

	* doc/invoke.texi (Warning Options): Note that an option
	enabled by -Wextra is for C and ObjC only.

2025-09-09  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfwadd_wf_<mode>): New pattern to
	combine float_extend + vec_duplicate + vfadd.vv into vfwadd.wf.
	* config/riscv/vector.md
	(@pred_single_widen_<plus_minus:optab><mode>_scalar): Swap and reorder
	operands to match the RTL emitted by expand.

2025-09-09  Kyrylo Tkachov  <ktkachov@nvidia.com>

	Revert:
	2025-07-11  Kyrylo Tkachov  <ktkachov@nvidia.com>

	* config/aarch64/aarch64-simd.md (*bcaxqdi4): New
	define_insn_and_split.

2025-09-09  Tamar Christina  <tamar.christina@arm.com>

	Revert:
	2025-09-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121829
	* tree-vect-loop-manip.cc (vect_remove_forwarder): New
	function.
	(slpeel_tree_duplicate_loop_to_edge_cfg): Use it.

2025-09-09  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121861
	* config/i386/i386.cc (ix86_optab_supported_p): Drop
	!flag_trapping_math check for floor_optab, ceil_optab and
	btrunc_optab.

2025-09-09  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386-expand.cc (expand_vec_perm_vpermil): Extend
	to handle V8SImode.
	* config/i386/i386.cc (avx_vpermilp_parallel): Extend to
	handle vector integer modes with same vector size and same
	component size.
	* config/i386/sse.md
	(<sse2_avx_avx512f>_vpermilp<mode><mask_name>): Ditto.
	(V48_AVX): New mode iterator.
	(ssefltmodesuffix): Extend for V16SI/V8DI/V16SF/V8DF.

2025-09-09  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
	Check permutation index for vec_perm, don't count it if we
	know it's not a cross-lane permutation.

2025-09-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/107997
	PR tree-optimization/121844
	* tree-ssa-loop-ivopts.cc (allow_ip_end_pos_p): Do not allow
	IP_END for latches ending with a control stmt.
	(create_new_iv): Do not split the latch edge, instead assert
	that's not necessary.

2025-09-08  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfwadd_vf_<mode>): New pattern to
	combine float_extend + vec_duplicate + vfwadd.vv into vfwadd.vf.

2025-09-08  Anton Blanchard  <antonb@tenstorrent.com>

	* config/riscv/riscv.cc (tt_ascalon_d8_tune_info): Increase branch_cost
	from 3 to 4.

2025-09-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121830
	* tree-vect-loop.cc (vect_analyze_scalar_cycles_1): Only
	set STMT_VINFO_REDUC_DEF on reductions.
	* tree-vect-slp.cc (vect_build_slp_tree_2): Identify reduction
	PHIs by a set STMT_VINFO_REDUC_DEF instead of their def type.

2025-09-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121829
	* tree-vect-loop-manip.cc (vect_remove_forwarder): New
	function.
	(slpeel_tree_duplicate_loop_to_edge_cfg): Use it.

2025-09-08  Alex Coplan  <alex.coplan@arm.com>

	PR tree-optimization/114892
	* doc/invoke.texi (Developer Options): Document -folding option
	for -fdump-tree-*.

2025-09-08  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>

	* ipa-cp.cc (gather_count_of_non_rec_edges): Check count
	initialization before adding to total.

2025-09-08  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfrsub_vf_<mode>): New pattern to
	combine vec_duplicate + vfsub.vv into vfrsub.vf.

2025-09-08  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfsub_vf_<mode>): New pattern to
	combine vec_duplicate + vfsub.vv into vfsub.vf.
	* config/riscv/vector.md (@pred_<optab><mode>_scalar): Allow VLS modes.

2025-09-08  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfadd_vf_<mode>): New pattern to
	combine vec_duplicate + vfadd.vv into vfadd.vf.

2025-09-08  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfwmul_vf_<mode>): New pattern to
	combine float_extend + vec_duplicate + vfmul.vv into vfmul.vf.
	* config/riscv/vector.md (*@pred_dual_widen_<optab><mode>_scalar):
	Swap operands to match the RTL emitted by expand, i.e. first
	float_extend then vec_duplicate.

2025-09-08  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfmin_vf_ieee_<mode>): Rename into...
	(*v<ieee_fmaxmin_op>_vf_<mode>): New pattern to combine vec_duplicate +
	vf{max,min}.vv (unspec) into vf{max,min}.vf.

2025-09-08  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/extend.texi (SH Function Attributes): Remove reference to
	GNU Binutils 2.7 requirement.
	(H8/300 Variable Attributes): Ditto.

2025-09-08  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/87900
	* tree-ssa-strlen.cc  (strlen_pass::handle_assign): Add RHS argument.
	For empty constructor RHS, see if can combine with a previous malloc into
	a calloc.
	(strlen_pass::check_and_optimize_call): Update call to handle_assign;
	passing NULL_TREE for RHS.
	(strlen_pass::check_and_optimize_stmt): Update call to handle_assign.

2025-09-08  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/83022
	* tree-ssa-strlen.cc (last_stmt_ptr_check): New function.
	(allow_memset_malloc_to_calloc): New function.
	(strlen_pass::handle_builtin_memset): Check to see if it is a good
	idea to do the malloc+memset->calloc optimization.
	(printf_strlen_execute): Free post dom info.

2025-09-08  Sam James  <sam@gentoo.org>

	* common.opt.urls: Regenerate.

2025-09-07  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121841
	* tree-ssa-forwprop.cc (optimize_agr_copyprop_1): Allow
	two different decls as bases as non-overlapping bases.

2025-09-07  Jeff Law  <jlaw@ventanamicro.com>

	* dep-fusion.cc: Mark clone, gate and execute methods as final.

2025-09-07  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/andes-vector-builtins-bases.cc (nds_vd4dot): New class.
	(class nds_vd4dotsu): New class.
	* config/riscv/andes-vector-builtins-bases.h: New def.
	* config/riscv/andes-vector-builtins-functions.def (nds_vd4dots): Ditto.
	(nds_vd4dotsu): Ditto.
	(nds_vd4dotu): Ditto.
	* config/riscv/andes-vector.md
	(@pred_nds_vd4dot<su><mode>): New pattern.
	(@pred_nds_vd4dotsu<mode>): New pattern.
	* config/riscv/genrvv-type-indexer.cc (main): Modify sew of QUAD_FIX,
	QUAD_FIX_SIGNED and QUAD_FIX_UNSIGNED.
	* config/riscv/riscv-vector-builtins.cc
	(qexti_vvvv_ops): New operand information.
	(qexti_su_vvvv_ops): New operand information.
	(qextu_vvvv_ops): New operand information.
	* config/riscv/riscv-vector-builtins.h (XANDESVDOT_EXT): New def.
	(required_ext_to_isa_name): Add case XANDESVDOT_EXT.
	(required_extensions_specified): Ditto.
	(struct function_group_info): Ditto.
	* config/riscv/vector-iterators.md (NDS_QUAD_FIX): New iterator.

2025-09-07  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv-opts.h (riscv_microarchitecture_type): Fix ordering.

2025-09-07  Kuan-Lin Chen  <rufus@andestech.com>

	* common/config/riscv/riscv-common.cc:
	Turn on VECTOR_ELEN_FP_16 for XAndesvpackfph.
	* config/riscv/andes-vector-builtins-bases.cc (nds_vfpmad): New class.
	* config/riscv/andes-vector-builtins-bases.h: New def.
	* config/riscv/andes-vector-builtins-functions.def (nds_vfpmadt): Ditto.
	(nds_vfpmadb): Ditto.
	(nds_vfpmadt_frm): Ditto.
	(nds_vfpmadb_frm): Ditto.
	* config/riscv/andes-vector.md (@pred_nds_vfpmad<nds_tb><mode>):
	New pattern.
	* config/riscv/riscv-vector-builtins-types.def
	(DEF_RVV_F16_OPS): New def.
	* config/riscv/riscv-vector-builtins.cc (f16_ops): Ditto
	* config/riscv/riscv-vector-builtins.def (float32_type_node): Ditto.
	* config/riscv/riscv-vector-builtins.h (XANDESVPACKFPH_EXT): Ditto.
	(required_ext_to_isa_name): Add case XANDESVPACKFPH_EXT.
	(required_extensions_specified): Ditto.
	* config/riscv/vector-iterators.md (VHF): New iterator.

2025-09-07  Georg-Johann Lay  <avr@gjlay.de>

	PR target/121794
	* config/avr/avr.md (cmpqi3): Use cpi R,0 if possible.

2025-09-07  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*vnmsac_vx_<mode>): Rename from.
	(*mul_minus_vx_<mode>): Rename to and add nmsub support.
	* config/riscv/vector.md (@pred_vnmsac_vx_<mode>): Rename from.
	(@pred_mul_minus_vx_<mode>): Rename to and add nmsub support.
	(*pred_nmsac_<mode>_scalar_undef): Rename from.
	(*pred_mul_minus_vx<mode>_undef): Rename to and add nmsub support.

2025-09-06  Sam James  <sam@gentoo.org>

	* doc/generic.texi (TYPE_CANONICAL): Don't mention long-removed
	--param verify-canonical-types.

2025-09-06  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR rtl-optimization/121835
	* dep-fusion.cc (pass_dep_fusion::execute): Return early if
	macro_fusion_pair_p is null.

2025-09-06  Artemiy Volkov  <artemiyv@acm.org>

	* Makefile.in (OBJS): Add dep-fusion.o.
	* common.opt (fdep-fusion): Add option.
	* dep-fusion.cc: New pass.
	* doc/invoke.texi: Document it.
	* opts.cc (default_options_table): Enable it at -O2+ and -Os.
	* passes.def: Insert two instances of dep_fusion.
	* tree-pass.h (make_pass_dep_fusion): Declare new function.

2025-09-06  Sam James  <sam@gentoo.org>

	* doc/invoke.texi (x86 Options): Fix '-momit-leaf-frame-pointer' typo.

2025-09-06  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (simplify_builtin_call): Factor out
	the memcpy followed by a memset optimization to ...
	(simplify_builtin_memcpy_memset): Here. New function.

2025-09-06  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (simplify_builtin_call): Factor out the memchr
	optimization to ...
	(simplify_builtin_memchr): Here. New function.

2025-09-06  Simon Martin  <simon@nasilyan.com>

	* ipa-inline-transform.cc: Define INCLUDE_ALGORITHM.

2025-09-06  Gerald Pfeifer  <gerald@pfeifer.com>

	PR target/69374
	* doc/install.texi (Prerequisites): Properly capitalize
	GNU Binutils.
	(Configuration): Ditto.
	(Building): Ditto.
	(Specific): Ditto.

2025-09-06  Sam James  <sam@gentoo.org>

	* doc/invoke.texi: Say 'whole-program' consistently where
	appropriate.

2025-09-06  Sam James  <sam@gentoo.org>

	* doc/invoke.texi: Capitalize 'GNU Binutils' consistently.

2025-09-06  Sam James  <sam@gentoo.org>

	PR ipa/116410
	* doc/invoke.texi (Link Options): Update -flinker-output= text
	to reflect GNU Binutils changes. Fix grammar.

2025-09-06  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/andes-vector-builtins-bases.cc
	(nds_nibbleload): New class.
	* config/riscv/andes-vector-builtins-bases.h (nds_vln8): New def.
	(nds_vlnu8): Ditto.
	* config/riscv/andes-vector-builtins-functions.def (nds_vln8): Ditto.
	(nds_vlnu8): Ditto.
	* config/riscv/andes-vector.md (@pred_intload_mov<su><mode>): New pattern.
	* config/riscv/riscv-vector-builtins-types.def (DEF_RVV_Q_OPS): New def.
	(DEF_RVV_QU_OPS): Ditto.
	* config/riscv/riscv-vector-builtins.cc
	(q_v_void_const_ptr_ops): New operand information.
	(qu_v_void_const_ptr_ops): Ditto.
	* config/riscv/riscv-vector-builtins.def (void_const_ptr): New def.
	* config/riscv/riscv-vector-builtins.h (enum required_ext): Ditto.
	(required_ext_to_isa_name): Add case XANDESVSINTLOAD_EXT.
	(required_extensions_specified): Ditto.
	* config/riscv/vector-iterators.md (NDS_QVI): New iterator.

2025-09-06  Kuan-Lin Chen  <rufus@andestech.com>

	* common/config/riscv/riscv-common.cc:
	Turn on VECTOR_ELEN_BF_16 for XAndesvbfhcvt.
	* config.gcc: Add extra_objs andes-vector-builtins-bases.o
	and extra_headers andes_vector.h.
	* config/riscv/riscv-vector-builtins-shapes.cc
	(BASE_NAME_MAX_LEN): Increase size to 20.
	* config/riscv/riscv-vector-builtins.cc
	(f32_to_bf16_nf_w_ops): New operand information.
	(f32_to_bf16_nf_w_ops): New operand information.
	(DEF_RVV_FUNCTION): New def.
	* config/riscv/riscv-vector-builtins.def (bf16): Ditto.
	* config/riscv/riscv-vector-builtins.h (enum required_ext): Ditto.
	(required_ext_to_isa_name): Add case XANDESVBFHCVT_EXT.
	(required_extensions_specified): Ditto.
	* config/riscv/t-riscv: Add andes-vector-builtins-functions.def,
	andes-vector-builtins-bases.h and andes-vector-builtins-bases.o.
	* config/riscv/vector-iterators.md (NDS_VWEXTBF): New iterator.
	(NDS_V_DOUBLE_TRUNC_BF): New attr.
	* config/riscv/andes-vector-builtins-bases.cc: New file.
	* config/riscv/andes-vector-builtins-bases.h: New file.
	* config/riscv/andes-vector-builtins-functions.def: New file.
	* config/riscv/andes_vector.h: New file.
	* config/riscv/andes-vector.md: New file.
	* config/riscv/vector.md: Include andes_vector.md.

2025-09-06  Anton Blanchard  <antonb@tenstorrent.com>

	* config/riscv/riscv-cores.def (RISCV_TUNE): Update.
	* config/riscv/riscv-opts.h (enum riscv_microarchitecture_type):
	Add tt_ascalon_d8.
	* config/riscv/riscv.md: Update tune attribute and include
	tt-ascalon-d8.md.
	* config/riscv/tt-ascalon-d8.md: New file.

2025-09-06  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/108466
	* tree-ssa-phiopt.cc (factor_out_conditional_operation): Give better
	locations to the new phi args and the new statement.

2025-09-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR middle-end/121806
	* gcc.cc (for_each_path): Initialize return value.

2025-09-05  Robin Dapp  <rdapp@ventanamicro.com>

	PR target/121510
	* config/riscv/riscv.cc (riscv_legitimize_move): Check if we can
	vec_extract.

2025-09-05  Richard Sandiford  <rdsandiford@googlemail.com>

	PR rtl-optimization/121757
	* rtl-ssa/accesses.h (clobber_group::lookup_clobber): New member
	function.
	* rtl-ssa/accesses.cc (clobber_group::lookup_clobber): Likewise.
	(clobber_group::prev_clobber, clobber_group::next_clobber)
	(function_info::add_clobber): Use it.

2025-09-05  Georg-Johann Lay  <avr@gjlay.de>

	PR target/121794
	* config/avr/avr.cc (avr_out_compare): Only use zero_reg
	when there is no other sequence of the same length.
	(avr_out_plus_ext): Same.
	(avr_out_plus_1): Same.

2025-09-05  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.cc (vectorizable_bb_reduc_epilogue): Do not
	cost zero remaining scalar stmts.
	(vectorizable_slp_permutation): Do not cost zero actual
	permutations.
	* tree-vect-stmts.cc (vectorizable_load): Likewise.

2025-09-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121802
	* tree-vectorizer.h (vect_setup_realignment): Add vectype
	argument.
	* tree-vect-data-refs.cc (vect_setup_realignment): Replace
	local vectype with argument.
	* tree-vect-stmts.cc (vectorizable_load): Adjust.

2025-09-05  Jakub Jelinek  <jakub@redhat.com>

	* J: Remove.

2025-09-05  Kyrylo Tkachov  <ktkachov@nvidia.com>

	* config/aarch64/iterators.md (sve_di_suf): New mode attribute.
	* config/aarch64/aarch64-sve.md (<optab><mode>3 SVE_INT_BINARY_MULTI):
	Rename to...
	(<optab><mode>3<sve_di_suf>): ... This.  Use SVE_I_SIMD_DI mode
	iterator.
	* config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): Use the above
	for TARGET_SVE.

2025-09-04  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*vmacc_vx_<mode>): Rename to
	handle both the macc and madd.
	(*mul_plus_vx_<mode>): Add madd pattern.
	* config/riscv/vector.md (@pred_mul_plus_vx_<mode>): Rename to
	handle both the macc and madd.
	(*pred_macc_<mode>_scalar_undef): Remove.
	(*pred_nmsac_<mode>_scalar_undef): Remove.
	(*pred_mul_plus_vx<mode>_undef): Add new pattern to handle
	both the vmacc and vmadd.
	(@pred_mul_plus_vx<mode>): Ditto.

2025-09-04  Jan Hubicka  <hubicka@ucw.cz>

	* auto-profile.cc (afdo_annotate_cfg): Apply zero_bbs after early
	exit for missing profile; fix formating

2025-09-04  Jan Hubicka  <hubicka@ucw.cz>

	* ipa-inline-transform.cc (inline_call): If function with
	AFDO profile is inlined into function with
	GUESSED_GLOBAL0_AFDO or GUESSED_GLOBAL0_ADJUSTED, scale
	caller to AFDO profile.
	* profile-count.h (profile_count::apply_scale): If num is AFDO
	and den is not GUESSED, make result AFDO rather then GUESSED.

2025-09-04  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* builtins.cc (interclass_mathfn_icode): Add support for isnan
	optab.
	(expand_builtin): Add BUILT_IN_ISNAN to expand isnan optab.
	(fold_builtin_interclass_mathfn): Expand BUILT_IN_ISNAN only after
	checking for a valid optab.
	(fold_builtin_classify): Move generic BUILT_IN_ISNAN expansion
	to fold_builtin_interclass_mathfn.
	(fold_builtin_1): For BUILT_IN_ISNAN first try fold_builtin_classify,
	then fold_builtin_interclass_mathfn.
	* optabs.def: Add isnan optab.
	* doc/md.texi: Document isnan.

2025-09-04  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	Remove unnecessary code around double reductions.

2025-09-04  Richard Earnshaw  <rearnsha@arm.com>

	PR target/121775
	* config/arm/neon.md (vec_set<mode>_internal, all variants):
	validate the immediate operand that indicates the lane to
	modify.

2025-09-04  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorizable_reduction): Eliminate
	nested_cycle in favor of double_reduc and set that where
	it makes most sense.  Remove never taken paths and always
	true conditions.

2025-09-04  Robin Dapp  <rdapp@ventanamicro.com>

	PR target/121742
	PR target/121780
	PR target/121781
	* config/riscv/riscv-v.cc (expand_vec_perm): Swap target and
	tmp_target.

2025-09-04  Robin Dapp  <rdapp@ventanamicro.com>

	* tree-vect-loop-manip.cc (vect_gen_prolog_loop_niters):
	Change prolog bound to poly_int64.
	(vect_gen_scalar_loop_niters): Ditto.
	(vect_do_peeling): Use poly estimate for frequency scaling.

2025-09-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121768
	* tree-vect-loop.cc (vect_inner_phi_in_double_reduction_p): Remove.
	(vect_analyze_scalar_cycles_1): Analyze inner loops of
	double reductions immediately and only mark fully recognized
	double reductions.  Skip already analyzed inner loops.
	(vect_is_simple_reduction): Change double_reduc from a flag
	to an output of the inner loop PHI and to whether we are
	processing an inner loop of a double reduction.

2025-09-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121685
	* tree-eh.cc (ref_outside_object_p): Split out from ...
	(tree_could_trap_p): ... here.  Assume the this pointer
	of a method refers to an object of at least size of its
	base type.

2025-09-04  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/107051
	* tree-ssa-forwprop.cc (optimize_agr_copyprop_1): Allow for
	memory sharing the same base if they known not to overlap over
	the size.

2025-09-04  Kito Cheng  <kito.cheng@sifive.com>

	PR target/110812
	* config/riscv/riscv-c.cc (pragma_intrinsic_flags): Remove struct.
	(riscv_pragma_intrinsic_flags_pollute): Remove function.
	(riscv_pragma_intrinsic_flags_restore): Remove function.
	(riscv_pragma_intrinsic): Simplify to only call handle_pragma_vector.
	* config/riscv/riscv-vector-builtins.cc (pragma_intrinsic_flags):
	Move struct definition here from riscv-c.cc.
	(riscv_pragma_intrinsic_flags_pollute): Move and adapt from
	riscv-c.cc, add zvfbfmin, zvfhmin and vector_elen_bf_16 support.
	(riscv_pragma_intrinsic_flags_restore): Move from riscv-c.cc.
	(rvv_switcher::rvv_switcher): Add pollute_flags parameter to
	control flag manipulation.
	(rvv_switcher::~rvv_switcher): Restore flags conditionally.
	(register_builtin_types): Use rvv_switcher without polluting flags.
	(get_required_extensions): Remove function.
	(check_required_extensions): Simplify to only check type validity.
	(function_instance::function_returns_void_p): Move implementation
	from header.
	(function_builder::add_function): Register placeholder for LTO.
	(init_builtins): Simplify and handle LTO case.
	(reinit_builtins): Remove function.
	(handle_pragma_vector): Remove extension checking.
	* config/riscv/riscv-vector-builtins.h
	(function_instance::function_returns_void_p): Add declaration.
	(function_call_info::function_returns_void_p): Remove inline
	implementation.

2025-09-04  Kito Cheng  <kito.cheng@sifive.com>

	* common/config/riscv/riscv-common.cc (riscv_ext_is_subset): Fix
	inverted logic in extension subset check.

2025-09-04  Jakub Jelinek  <jakub@redhat.com>

	PR target/117599
	* gimple-lower-bitint.cc (bitint_large_huge::limb_access): Move
	build_qualified_type calls into the if/else if/else bodies, for
	the last one set ltype to m_limb_type first, drop limb_type_a
	and use ltype instead.

2025-09-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61247
	* tree-scalar-evolution.cc (simplify_peeled_chrec):
	Handle the case of a converted peeled chrec.

2025-09-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121740
	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow skipping
	may-defs from CTORs.  Do not skip may-defs with storage-order
	issues or (partial) must-defs.

2025-09-03  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/andes.def: Add nds_fcvt_s_bf16 and nds_fcvt_bf16_s.
	* config/riscv/riscv.md (truncsfbf2): Add TARGET_XANDESBFHCVT support.
	(extendbfsf2): Ditto.
	* config/riscv/riscv-builtins.cc: New AVAIL andesbfhcvt.
	Add new define RISCV_ATYPE_BF and RISCV_ATYPE_SF.
	* config/riscv/riscv-ftypes.def: New DEF_RISCV_FTYPE.

2025-09-03  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/constraints.md (Ou07): New constraint.
	(ads_Bext): New constraint.
	* config/riscv/iterators.md (ANYLE32): New iterator.
	(sizen): New iterator.
	(sh_limit): New iterator.
	(sh_bit): New iterator.
	(cs): New iterator.
	* config/riscv/predicates.md (ads_branch_bbcs_operand): New predicate.
	(ads_branch_bimm_operand): New predicate.
	(ads_imm_extract_operand): New predicate.
	(ads_extract_size_imm_si): New predicate.
	(ads_extract_size_imm_di): New predicate.
	(const_int5_operand): New predicate.
	* config/riscv/riscv-builtins.cc:
	Add new AVAIL andesperf32 and andesperf64.
	Add new define RISCV_ATYPE_DI.
	* config/riscv/riscv-ftypes.def: New DEF_RISCV_FTYPE.
	* config/riscv/riscv.cc
	(riscv_extend_cost): Cost for pattern 'bfo'.
	(riscv_rtx_costs): Cost for XAndesperf extension.
	* config/riscv/riscv.md: Add support for XAndesperf to patterns
	zero_extendsidi2_internal, zero_extendhi2, extendsidi2_internal,
	extend<SHORT:mode><SUPERQI:mode>2, <any_extract:optab><GPR:mode>3
	and branch_on_bit.
	* config/riscv/vector-iterators.md
	(sz): Add sign_extract and zero_extract.
	* config/riscv/andes.def: New file for vender Andes.
	* config/riscv/andes.md: New file for vender Andes.

2025-09-03  Kuan-Lin Chen  <rufus@andestech.com>

	* config/riscv/riscv-ext.def: Include riscv-ext-andes.def.
	* config/riscv/riscv-ext.opt (riscv_xandes_subext): New variable.
	(XANDESPERF) : New mask.
	(XANDESBFHCVT): Ditto.
	(XANDESVBFHCVT): Ditto.
	(XANDESVSINTLOAD): Ditto.
	(XANDESVPACKFPH): Ditto.
	(XANDESVDOT): Ditto.
	* config/riscv/t-riscv: Add riscv-ext-andes.def.
	* doc/riscv-ext.texi: Regenerated.
	* config/riscv/riscv-ext-andes.def: New file.

2025-09-03  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfmax_vf_<mode>): Rename into...
	(*vf<optab>_vf_<mode>): New pattern to combine vec_duplicate +
	vf{min,max}.vv into vf{max,min}.vf.
	* J: New file.

2025-09-03  Austin Law  <austinklaw@gmail.com>

	PR target/121213
	* config/riscv/sync.md (amo_atomic_exchange_extended<mode>):
	Separate insn with sign extension for 64 bit targets.

2025-09-03  Jan Hubicka  <hubicka@ucw.cz>

	* ipa-profile.cc (ipa_profile): Dump profile_info.

2025-09-03  Jan Hubicka  <hubicka@ucw.cz>

	* opts.cc (enable_fdo_optimizations): Do not auto-enabele loop
	optimizations with AutoFDO.

2025-09-03  Jan Hubicka  <hubicka@ucw.cz>

	* params.opt (-param=lto-partitions=): INcrease default value from 128 to 512.

2025-09-03  Kyrylo Tkachov  <ktkachov@nvidia.com>

	PR target/121749
	* config/aarch64/aarch64-simd.md (aarch64_<shrn_op>shrn_n<mode>):
	Use aarch64_simd_shift_imm_offset_<vn_mode> instead of
	aarch64_simd_shift_imm_offset_<ve_mode> predicate.
	(aarch64_<shrn_op>shrn_n<mode> VQN define_expand): Likewise.
	(*aarch64_<shrn_op>rshrn_n<mode>_insn): Likewise.
	(aarch64_<shrn_op>rshrn_n<mode>): Likewise.
	(aarch64_<shrn_op>rshrn_n<mode> VQN define_expand): Likewise.
	(aarch64_sqshrun_n<mode>_insn): Likewise.
	(aarch64_sqshrun_n<mode>): Likewise.
	(aarch64_sqshrun_n<mode> VQN define_expand): Likewise.
	(aarch64_sqrshrun_n<mode>_insn): Likewise.
	(aarch64_sqrshrun_n<mode>): Likewise.
	(aarch64_sqrshrun_n<mode>): Likewise.
	* config/aarch64/iterators.md (vn_mode): Handle DI, SI, HI modes.

2025-09-03  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121756
	* tree-ssa-sink.cc (select_best_block): Avoid irreducible
	regions in otherwise same loop depth.
	(statement_sink_location): When sinking a VDEF, never place
	that into an irreducible region.

2025-09-03  Richard Biener  <rguenther@suse.de>

	* tree-vect-patterns.cc (vect_recog_cond_expr_convert_pattern):
	Do not set any vector types.

2025-09-03  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121767
	* tree-vect-patterns.cc (vect_recog_mod_var_pattern): Disable
	for reductions.

2025-09-03  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121758
	* tree-vect-patterns.cc (vect_mark_pattern_stmts): Try
	harder to find a reduction continuation.

2025-09-03  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121355
	* fold-const.cc (split_address_to_core_and_offset): Handle an MEM_REF after the call
	to get_inner_reference.

2025-09-02  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-ccp.cc (optimize_memcmp_eq): New function.
	(pass_fold_builtins::execute): Call optimize_memcmp_eq
	for memcmp.
	* tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcmp): Remove.
	(strlen_pass::check_and_optimize_call): Don't call handle_builtin_memcmp.

2025-09-02  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-strlen.cc (strlen_pass::handle_builtin_memcmp): Create
	unaligned types if the alignment of the pointers is less
	than the alignment of the new type.

2025-09-02  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (simplify_builtin_memcmp): Create
	unaligned types if the alignment of the pointers is less
	than the alignment of the new type.

2025-09-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121753
	* tree-vect-patterns.cc (vect_synth_mult_by_constant): Properly
	bail when synth_shift_p and an alg_shift use.  Handle other
	problematic cases.

2025-09-02  Robin Dapp  <rdapp@ventanamicro.com>

	* config/riscv/riscv-v.cc (is_vlmax_len_p): Properly handle VLS
	modes.
	(imm_avl_p): Fix VLS length check.
	(expand_strided_load): Use is_vlmax_len_p.
	(expand_strided_store): Ditto.
	* config/riscv/riscv-avlprop.cc (pass_avlprop::execute):
	Use GET_MODE_NUNITS / NF as avl.

2025-09-02  Robin Dapp  <rdapp@ventanamicro.com>

	PR target/121742
	* config/riscv/riscv-v.cc (expand_vec_perm): Use temporary if
	op1 and target overlap.

2025-09-02  Andrew Stubbs  <ams@baylibre.com>

	* doc/options.texi: Document NoOffload.

2025-09-02  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vect_transform_stmt): Clear
	STMT_VINFO_VECTYPE for all stmts.
	(vect_analyze_stmt): Likewise.  But restore at the end again.

2025-09-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121754
	* tree-vectorizer.h (vect_reduc_type): Simplify to not ICE
	on nested cycles.

2025-09-02  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.cc (bump_vector_ptr): Remove the
	STMT_VINFO_VECTYPE use, bump is always specified.

2025-09-02  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_check_gather_scatter): Add
	vectype parameter.
	* tree-vect-data-refs.cc (vect_check_gather_scatter): Get
	vectype as parameter.
	(vect_analyze_data_refs): Adjust.
	* tree-vect-patterns.cc (vect_recog_gather_scatter_pattern): Likewise.
	* tree-vect-slp.cc (vect_get_and_check_slp_defs): Get vectype
	as parameter, pass down.
	(vect_build_slp_tree_2): Adjust.
	* tree-vect-stmts.cc (vect_mark_stmts_to_be_vectorized): Likewise.
	(vect_use_strided_gather_scatters_p): Likewise.

2025-09-02  Jonathan Wakely  <jwakely@redhat.com>

	* doc/extend.texi (Common Variable Attributes): Put counted_by
	in alphabetical order.

2025-09-02  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/121663
	* tree-cfg.cc (assign_discriminator): Change map argument type
	from hash_map with int_hash <int64_t, -1, -2> to one with
	int_hash <unsigned, -1U, -2U>.  Cast LOCATION_LINE to unsigned.
	Return early for (unsigned) LOCATION_LINE above -3U.
	(assign_discriminators): Change map type from hash_map with
	int_hash <int64_t, -1, -2> to one with int_hash <unsigned, -1U, -2U>.

2025-09-02  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/gen-riscv-ext-opt.cc (version_t): Remove unused
	struct.
	(print_ext_doc_entry): Remove unused function.

2025-09-01  Jonathan Grant  <jg@jguk.org>

	* doc/install.texi (Configuration): Fix spelling of "support"
	and "floating-point arithmetic".

2025-09-01  Mark Harmstone  <mark@harmstone.com>

	* dwarf2codeview.cc (get_type_num_array_type): Don't try to
	encode non-C-style arrays.

2025-09-01  Jakub Jelinek  <jakub@redhat.com>

	* builtins.def: Implement C2Y N3577 - Rename s/uimaxabs/umaxabs/.
	(BUILT_IN_UIMAXABS): Rename to ...
	(BUILT_IN_UMAXABS): ... this.  Change second argument to "umaxabs".
	* builtins.cc (fold_builtin_1): Use BUILT_IN_UMAXABS rather than
	BUILT_IN_UIMAXABS.

2025-09-01  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/invoke.texi (Optimize Options): Update the perfwiki web
	address.

2025-09-01  Iain Sandoe  <iain@sandoe.co.uk>

	* diagnostics/logging.h (log_param_location_t): Cast
	location_t value to fmt_size_t.

2025-09-01  Iain Sandoe  <iain@sandoe.co.uk>

	* configure: Regenerate.
	* configure.ac: Do not claim cfi instruction support even
	if the assembler has it.

2025-09-01  Yoshinori Sato  <yoshinori.sato@nifty.com>

	PR target/89828
	* config/rx/rx.cc (add_pop_cfi_notes): Release the frame pointer if it is
	used.
	(rx_expand_prologue): Redesigned stack pointer and frame pointer update
	process.

2025-09-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121744
	* tree-vect-patterns.cc (vect_recog_vector_vector_shift_pattern):
	Allow constant left operand.

2025-09-01  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
	Use SLP_TREE_REDUC_IDX for following the SLP graph and
	for identifying whether we use the 'else' in a COND.
	(vectorizable_lane_reducing): Simplify check of whether
	we are in a reduction.
	(vectorizable_reduction): Add sanity checking around
	SLP_TREE_REDUC_IDX and use it where it looks appropriate.
	(vect_transform_reduction): Use SLP_TREE_REDUC_IDX.
	* tree-vect-stmts.cc (vectorizable_call): Likewise.
	(vectorizable_operation): Likewise.
	(vectorizable_condition): Likewise.

2025-09-01  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorizable_live_operation): Check
	vect_is_reduction on the SLP node rather than
	STMT_VINFO_REDUC_DEF on the stmt.
	(vectorizable_reduction): Do not set STMT_VINFO_REDUC_DEF
	on live stmts.

2025-09-01  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_reduc_info): New.
	(create_info_for_reduction): Likewise.
	(VECT_REDUC_INFO_TYPE): Likewise.
	(VECT_REDUC_INFO_CODE): Likewise.
	(VECT_REDUC_INFO_FN): Likewise.
	(VECT_REDUC_INFO_SCALAR_RESULTS): Likewise.
	(VECT_REDUC_INFO_INITIAL_VALUES): Likewise.
	(VECT_REDUC_INFO_REUSED_ACCUMULATOR): Likewise.
	(VECT_REDUC_INFO_INDUC_COND_INITIAL_VAL): Likewise.
	(VECT_REDUC_INFO_EPILOGUE_ADJUSTMENT): Likewise.
	(VECT_REDUC_INFO_FORCE_SINGLE_CYCLE): Likewise.
	(VECT_REDUC_INFO_RESULT_POS): Likewise.
	(VECT_REDUC_INFO_VECTYPE): Likewise.
	(STMT_VINFO_VEC_INDUC_COND_INITIAL_VAL): Remove.
	(STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT): Likewise.
	(STMT_VINFO_FORCE_SINGLE_CYCLE): Likewise.
	(STMT_VINFO_REDUC_FN): Likewise.
	(STMT_VINFO_REDUC_VECTYPE): Likewise.
	(vect_reusable_accumulator::reduc_info): Adjust.
	(vect_reduc_type): Adjust.
	(_slp_tree::cycle_info): New member.
	(SLP_TREE_REDUC_IDX): Likewise.
	(vect_reduc_info_s): Move/copy data from ...
	(_stmt_vec_info): ... here.
	(_loop_vec_info::redcu_infos): New member.
	(info_for_reduction): Adjust to take SLP node.
	(vect_reduc_type): Adjust.
	(vect_is_reduction): Add overload for SLP node.
	* tree-vectorizer.cc (vec_info::new_stmt_vec_info):
	Do not initialize removed members.
	(vec_info::free_stmt_vec_info): Do not release them.
	* tree-vect-stmts.cc (vectorizable_condition): Adjust.
	* tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize
	cycle info.
	(vect_build_slp_tree_2): Compute SLP reduc_idx and store
	it.  Create, populate and propagate reduction info.
	(vect_print_slp_tree): Print cycle info.
	(vect_analyze_slp_reduc_chain): Set cycle info on the
	manual added conversion node.
	(vect_optimize_slp_pass::start_choosing_layouts): Adjust.
	* tree-vect-loop.cc (_loop_vec_info::~_loop_vec_info):
	Release reduction infos.
	(info_for_reduction): Get the reduction info from
	the vector in the loop_vinfo.
	(vect_create_epilog_for_reduction): Adjust.
	(vectorizable_reduction): Likewise.
	(vect_transform_reduction): Likewise.
	(vect_transform_cycle_phi): Likewise, deal with nested
	cycles not part of a double reduction have no reduction info.
	* config/aarch64/aarch64.cc (aarch64_force_single_cycle):
	Use VECT_REDUC_INFO_FORCE_SINGLE_CYCLE, get SLP node and use
	that.
	(aarch64_vector_costs::count_ops): Adjust.

2025-09-01  Tobias Burnus  <tburnus@baylibre.com>

	PR target/121392
	* doc/install.texi (amdgcn): Mention Newlib commit
	that fixes another SIMD issue.

2025-09-01  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_is_simple_iv_evolution): Get
	stmt_info and store into STMT_VINFO_LOOP_PHI_EVOLUTION_BASE_UNCHANGED
	and STMT_VINFO_LOOP_PHI_EVOLUTION_PART here.  Drop unused
	output parameters.
	(vect_is_nonlinear_iv_evolution): Likewise.
	(vect_analyze_scalar_cycles_1): Remove redundant setting
	of STMT_VINFO_LOOP_PHI_EVOLUTION_BASE_UNCHANGED and
	STMT_VINFO_LOOP_PHI_EVOLUTION_PART.

2025-09-01  Cui, Lili  <lili.cui@intel.com>

	PR rtl-optimization/117838
	* ira-color.cc (improve_allocation): Remove soft conflict related code.

2025-09-01  liuhongt  <hongtao.liu@intel.com>

	PR target/121699
	* config/i386/predicates.md (const_vec_dup_operand): New
	predicate.
	* config/i386/sse.md (cond_<insn><mode>): Fix predicate of
	operands[3], and fix wrong operands passed to
	ix86_vgf2p8affine_shift_matrix and
	gen_vgf2p8affineqb_<mode>_mask.

2025-08-31  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/predicates.md (alt_ubranch_operator):
	New predicate.
	* config/xtensa/xtensa.md (*eqne_in_range):
	New insn_and_split pattern.

2025-08-31  Shreya Munnangi  <smunnangi1@ventanamicro.com>

	* config/riscv/riscv-protos.h (synthesize_add_extended): Prototype.
	* config/riscv/riscv.cc (synthesize_add_extended): New function.
	* config/riscv/riscv.md (addsi3): For RV64, try synthesize_add_extended.

2025-08-31  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/install.texi (Binaries): Drop MinGW.

2025-08-30  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/121698
	* tree-ssa-phiopt.cc (spaceship_replacement): Adjust
	to handle spaceship unordered value -128 rather than 2 and
	stmts from the new std::partial_order::_M_reverse() instead
	of (_M_value & ~1) == _M_value etc.
	* doc/md.texi (spaceship@var{m}4): Use -128 instead of 2.
	* tree-ssa-math-opts.cc (optimize_spaceship): Adjust comments
	that libstdc++ unordered value is -128 rather than 2 and use
	that as the default unordered value.
	* config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Use
	GEN_INT (-128) instead of const2_rtx and adjust comment accordingly.
	* config/aarch64/aarch64.cc (aarch64_expand_fp_spaceship): Likewise.
	* config/s390/s390.cc (s390_expand_fp_spaceship): Likewise.

2025-08-30  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/extend.texi (Vector Extensions): Improve markup for list
	of operators.

2025-08-30  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/standards.texi (Standards): Update "Object-Oriented
	Programming and the Objective-C Language" reference.

2025-08-30  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121725
	* config/i386/i386-features.cc
	(pass_x86_cse::candidate_gnu2_tls_p): Use the UNSPEC_DTPOFF
	operand to check source operand in TLS64_COMBINE pattern.

2025-08-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/116651
	PR tree-optimization/93265
	PR tree-optimization/103647
	PR tree-optimization/52171
	* tree-ssa-forwprop.cc (simplify_builtin_memcmp): New function.
	(simplify_builtin_call): Call simplify_builtin_memcmp for memcmp
	memcmp_eq builtins.

2025-08-29  Gaius Mulley  <gaiusmod2@gmail.com>

	PR modula2/121709
	* doc/gm2.texi (Module Search Path): Reflect the new
	search order.

2025-08-29  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Add diagnostics/logging.o.
	* diagnostic-global-context.cc: Include "diagnostics/logging.h".
	(log_function_params, auto_inc_log_depth): New "using" decls.
	(verbatim): Add logging.
	(emit_diagnostic): Likewise.
	(emit_diagnostic_valist): Likewise.
	(emit_diagnostic_valist_meta): Likewise.
	(inform): Likewise.
	(inform_n): Likewise.
	(warning): Likewise.
	(warning_at): Likewise.
	(warning_meta): Likewise.
	(warning_n): Likewise.
	(pedwarn): Likewise.
	(permerror): Likewise.
	(permerror_opt): Likewise.
	* diagnostics/context.cc: Include "diagnostics/logging.h".
	(context::initialize): Initialize m_logger.  Add logging.
	(context::finish): Add logging.  Clean up m_logger.
	(context::dump): Add indent param.
	(context::set_sink): Add logging.
	(context::add_sink): Add logging.
	(diagnostic_kind_debug_text): New.
	(get_debug_string_for_kind): New.
	(context::report_diagnostic): Add logging.
	(context::diagnostic_impl): Likewise.
	(context::diagnostic_n_impl): Likewise.
	(context::end_group): Likewise.
	* diagnostics/context.h: Include "diagnostics/logging.h".
	(context::dump): Add indent param.
	(context::get_logger): New accessor.
	(context::classify_diagnostics): Add logging.
	(context::push_diagnostics): Likewise.
	(context::pop_diagnostics): Likewise.
	(context::m_logger): New field.
	* diagnostics/html-sink.cc: Include "diagnostics/logging.h".
	(html_builder::flush_to_file): Add logging.
	(html_sink::on_report_diagnostic): Likewise.
	* diagnostics/kinds.h (get_debug_string_for_kind): New decl.
	* diagnostics/logging.cc: New file.
	* diagnostics/logging.h: New file.
	* diagnostics/output-file.h: Include "label-text.h".
	* diagnostics/sarif-sink.cc: Include "diagnostics/logging.h".
	(sarif_builder::flush_to_object): Add logging.
	(sarif_builder::flush_to_file): Likewise.
	(sarif_sink::on_report_diagnostic): Likewise.
	* diagnostics/sink.h (sink::get_logger): New.
	* diagnostics/text-sink.cc: Include "diagnostics/logging.h".
	(text_sink::on_report_diagnostic): Add logging.
	* doc/invoke.texi (Environment Variables): Document
	GCC_DIAGNOSTICS_LOG.
	* opts-diagnostic.cc: Include "diagnostics/logging.h".
	(handle_OPT_fdiagnostics_add_output_): Add loggging.
	(handle_OPT_fdiagnostics_set_output_): Likewise.

2025-08-29  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa-protos.h (xtensa_bswapsi2_output):
	New function prototype.
	* config/xtensa/xtensa.cc
	(xtensa_bswapsi2_output_1, xtensa_bswapsi2_output):
	New functions.
	* config/xtensa/xtensa.md (bswapsi2_internal):
	Rewrite in compact syntax and use xtensa_bswapsi2_output() as asm
	output.

2025-08-29  Jeff Law  <jlaw@ventanamicro.com>

	PR target/121548
	* config/riscv/riscv-avlprop.cc (get_insn_vtype_mode): Assert
	MODE_IDX is smaller than the number of operands.
	(simplify_replace_vlmax_avl): Similarly.
	(pass_avlprop::get_vlmax_ta_preferred_avl): Similarly.
	* config/riscv/vector.md: Override merge_op_idx computation
	for simple moves, just like is done for avl_type_idx and mode_idx.

2025-08-29  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md
	(*vfmin_vf_ieee_<mode>): Add new patterns to combine vec_duplicate +
	vfmin.vv (unspec) into vfmin.vf.
	(*vfmul_vf_<mode>, *vfrdiv_vf_<mode>, *vfmin_vf_<mode>): Fix attribute
	types.
	* config/riscv/vector.md (@pred_<ieee_fmaxmin_op><mode>_scalar): Allow
	VLS modes.

2025-08-29  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121096
	* config/i386/i386-expand.cc (expand_cpymem_epilogue): Set and
	clear by_pieces_in_use when using by_pieces op.
	(expand_setmem_epilogue): Likewise.
	* config/i386/i386.cc (ix86_use_by_pieces_infrastructure_p): New.
	(TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Likewise.
	* config/i386/i386.h (machine_function): Add by_pieces_in_use.

2025-08-29  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121108
	* config/i386/i386-expand.cc (setmem_epilogue_gen_val): Don't
	assert op_mode == word_mode and handle any integer modes.

2025-08-29  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121694
	* config/i386/i386-features.cc (redundant_pattern): Add
	tlsdesc_val.
	(pass_x86_cse): Likewise.
	(pass_x86_cse::tls_set_insn_from_symbol): New member function.
	(pass_x86_cse::candidate_gnu2_tls_p): Set tlsdesc_val.  For
	TLS64_COMBINE, match both UNSPEC_TLSDESC and UNSPEC_DTPOFF
	symbols.  For TLS64_CALL, match the UNSPEC_TLSDESC sumbol.
	(pass_x86_cse::x86_cse): Initialize the tlsdesc_val field in
	load.  Pass the tlsdesc_val field to ix86_place_single_tls_call
	for X86_CSE_TLSDESC.

2025-08-29  Tobias Burnus  <tburnus@baylibre.com>

	* doc/invoke.texi (AMD GCN Options: -march): Remove '(experimental)'
	from gfx-{9,10-3,11}-generic.

2025-08-29  Tobias Burnus  <tburnus@baylibre.com>

	* doc/install.texi (amdgcn): Clarify which binaries must be the
	LLVM version and which must be installed. Update version data for
	ROCm for generic architectures.

2025-08-29  liuhongt  <hongtao.liu@intel.com>

	* doc/invoke.texi: Document -param=ix86-vect-unroll-limit.

2025-08-29  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*vnmsac_vx_<mode>): Add new
	pattern to combine to vx.
	* config/riscv/vector.md (@pred_vnmsac_vx_<mode>): Add new
	pattern to generate rtl.
	(*pred_nmsac_<mode>_scalar_undef): Ditto.

2025-08-28  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/115201
	* passes.def: Move cleanup_eh before first tail_recursion.

2025-08-28  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfmin_vf_<mode>): Add new pattern to
	combine vec_duplicate + vfmin.vv into vfmin.vf.
	* config/riscv/vector.md (@pred_<optab><mode>_scalar): Allow VLS modes.

2025-08-28  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_analyze_loop_form): Dump
	niter assumption used for versioning.

2025-08-28  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR middle-end/66462
	* config/aarch64/aarch64.md (isinf<mode>2): Add new expander.
	* config/aarch64/iterators.md (mantissa_bits): Add new mode_attr.

2025-08-28  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorize_fold_left_reduction): Do not get
	reduc_var as argument, instead compute it here.
	(vect_transform_reduction): Adjust.

2025-08-28  Gaius Mulley  <gaiusmod2@gmail.com>

	PR modula2/121629
	* doc/gm2.texi (Module Search Path): New section.
	(Compiler options): New option -fm2-pathname-root=.
	New option -fm2-pathname-rootI.

2025-08-28  Tobias Burnus  <tburnus@baylibre.com>

	PR debug/119367
	* acinclude.m4 (gcc_GAS_FLAGS): For gcn, use "--filetype=obj
	-triple=amdgcn--amdhsa", if supported.
	* configure: Regenerate.
	* doc/install.texi (amdgcn-*-*): Also add llvm-objdump to the list of
	to-be-copied files.

2025-08-28  Richard Biener  <rguenther@suse.de>
	    Jakub Jelinek  <jakub@redhat.com>

	* tree-vect-patterns.cc (vect_synth_mult_by_constant): Avoid
	in cases that introduce multiple uses of reduction operands.

2025-08-28  Richard Biener  <rguenther@suse.de>

	* tree-vect-patterns.cc (vect_recog_divmod_pattern): Avoid
	for stmts participating in a reduction.

2025-08-28  Jakub Jelinek  <jakub@redhat.com>

	PR debug/119367
	* configure.ac (gcc_cv_as_leb128): Add fallback using readelf.
	Grammar fix in comment.
	* configure: Regenerate.

2025-08-28  Jakub Jelinek  <jakub@redhat.com>

	PR debug/119367
	* dwarf2out.cc (output_one_line_info_table) <case LI_adv_address>: If
	HAVE_AS_LEB128, use DW_LNS_advance_pc with dw2_asm_output_delta_uleb128
	instead of DW_LNS_fixed_advance_pc with dw2_asm_output_delta.

2025-08-27  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121695
	* tree-if-conv.cc (factor_out_operators): Fix typo
	in assignment of the phi.

2025-08-27  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_transform_cycle_phi): Remove
	unused reduc_stmt_info.

2025-08-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121686
	* tree-vect-slp.cc (vect_analyze_slp): Consider all only-live
	non-reduction defs for discovery.

2025-08-27  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121668
	* config/i386/i386-features.cc (ix86_emit_tls_call): Emit the
	TLS call after debug marker.

2025-08-27  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv-cores.def (xt-c908v): Drop xtheadvdot.
	(xt-c910v2): Remove extraenous whitespace.
	(xt-c920v2): Drop xtheadvdot and remove extraeonous whitespace.

2025-08-26  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386.cc (ix86_vector_costs::ix86_vector_costs):
	Addd new memeber m_num_reduc, m_prefer_unroll.
	(ix86_vector_costs::add_stmt_cost): Set m_prefer_unroll and
	m_num_reduc
	(ix86_vector_costs::finish_cost): Determine
	m_suggested_unroll_vector with consideration of
	reduc_lat_mult_thr, m_num_reduction and
	ix86_vect_unroll_limit.
	* config/i386/i386.h (enum ix86_reduc_unroll_factor): New
	enum.
	(processor_costs): Add reduc_lat_mult_thr and
	vect_unroll_limit.
	* config/i386/x86-tune-costs.h: Initialize
	reduc_lat_mult_thr and vect_unroll_limit.
	* config/i386/i386.opt: Add -param=ix86-vect-unroll-limit.

2025-08-26  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfrdiv_vf_<mode>): Add new pattern to
	combine vec_duplicate + vfdiv.vv into vfrdiv.vf.
	* config/riscv/vector.md (@pred_<optab><mode>_reverse_scalar): Allow VLS
	modes.

2025-08-26  Tamar Christina  <tamar.christina@arm.com>

	PR target/121290
	* config/aarch64/aarch64.cc
	(class aarch64_vector_costs ): Add m_loop_fully_scalar_dup.
	(aarch64_vector_costs::add_stmt_cost): Detect invariant inner loops.
	(adjust_body_cost): Adjust final costing if m_loop_fully_scalar_dup.

2025-08-26  Paul-Antoine Arras  <parras@baylibre.com>

	* config/riscv/autovec-opt.md (*vfmul_vf_<mode>): Add new pattern to
	combine vec_duplicate + vfmul.vv into vfmul.vf.
	* config/riscv/vector.md (@pred_<optab><mode>_scalar): Allow VLS modes.

2025-08-26  Jeff Law  <jlaw@ventanamicro.com>

	* config/riscv/riscv.cc (riscv_arg_partial_bytes): Remove name
	from unused parameter.

2025-08-26  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_reduc_type): Get SLP node as argument.
	* config/aarch64/aarch64.cc (aarch64_sve_in_loop_reduction_latency):
	Take SLO node as argument and adjust.
	(aarch64_in_loop_reduction_latency): Likewise.
	(aarch64_detect_vector_stmt_subtype): Adjust.
	(aarch64_vector_costs::count_ops): Likewise.  Treat reductions
	during scalar costing as single-cycle.

2025-08-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121659
	* tree-vect-slp.cc (vect_build_slp_tree_1): Do not allow
	matching up comparison operators by swapping if that would
	disturb STMT_VINFO_REDUC_IDX.  Make sure to only
	actually mark operands for swapping when there was a
	mismatch and we're not processing the first stmt.

2025-08-26  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vectorizable_store): Access lanes_ifn
	only when VMAT_LOAD_STORE_LANES.
	(vectorizable_load): Likewise.

2025-08-26  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (stmt_vec_info_::reduc_vectype_in): Remove.
	(STMT_VINFO_REDUC_VECTYPE_IN): Likewise.
	* tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): Get
	at the input vectype via the SLP node child.
	(vectorizable_lane_reducing): Likewise.
	(vect_transform_reduction): Likewise.
	(vectorizable_reduction): Do not set STMT_VINFO_REDUC_VECTYPE_IN.

2025-08-26  Jakub Jelinek  <jakub@redhat.com>

	PR target/121658
	* config/i386/sse.md (<insn><mode>3 any_shift): Use const0_rtx
	instead of GEN_INT (0).
	(cond_<insn><mode> any_shift): Likewise.  Formatting fix.
	(<insn><mode>3 any_rotate): Use register_operand predicate instead of
	general_operand for match_operand 1.  Use const0_rtx instead of
	GEN_INT (0).
	(<insn>v16qi3 any_rotate): Use force_reg on operands[1].  Formatting
	fix.
	* config/i386/i386.cc (ix86_shift_rotate_cost): Comment formatting
	fixes.

2025-08-26  Pan Li  <pan2.li@intel.com>

	* config/riscv/vector.md (@pred_mul_plus_vx_<mode>): Add new pattern to
	generate vmacc rtl.
	(*pred_macc_<mode>_scalar_undef): Ditto.
	* config/riscv/autovec-opt.md (*vmacc_vx_<mode>): Add new
	pattern to match the vmacc vx combine.

2025-08-25  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/121453
	* omp-expand.cc (expand_omp_for_init_counts): Clear fd->loop.n2
	before first zero count check if zero_iter1_bb is non-NULL upon
	entry and fd->loop.n2 has not been written yet.

2025-08-25  David Faust  <david.faust@oracle.com>

	PR debug/121411
	* dwarf2ctf.cc (gen_ctf_subrange_type): Use unsigned HWI for
	array_num_elements.  Fallback to CTF_K_UNKNOWN if the array
	type has too many elements for CTF to represent.

2025-08-25  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (simplify_permutation): Boolify.
	(pass_forwprop::execute): No longer handle 2 as the return
	from simplify_permutation.

2025-08-25  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (forward_propagate_into_comparison): Boolify.
	(pass_forwprop::execute): Don't handle return of 2 from
	forward_propagate_into_comparison.

2025-08-25  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (remove_prop_source_from_use): Remove
	return type.
	(forward_propagate_into_comparison): Update dealing with
	no return type of remove_prop_source_from_use.
	(forward_propagate_into_gimple_cond): Likewise.
	(simplify_permutation): Likewise.

2025-08-25  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-forwprop.cc (simplify_gimple_switch): Add simple_dce_worklist
	argument. Mark the old index when doing the replacement.
	(pass_forwprop::execute): Update call to simplify_gimple_switch.

2025-08-25  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121279
	* gimple-fold.cc (gimple_needing_rewrite_undefined): Return
	true for non mode precision boolean loads.
	(rewrite_to_defined_unconditional): Handle non mode precision loads.

2025-08-25  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* tree-ssa-loop-im.cc (execute_sm): Call
	get_or_create_ssa_default_def for the new uninitialized
	decl.

2025-08-25  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (addsi3, <u>mulhisi3, andsi3,
	zero_extend<mode>si2, extendhisi2_internal, movsi_internal,
	movhi_internal, movqi_internal, movsf_internal, ashlsi3_internal,
	ashrsi3, lshrsi3, rotlsi3, rotrsi3):
	Rewrite in compact syntax.

2025-08-25  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md
	(The auxiliary define_split for *masktrue_const_bitcmpl):
	Use a more concise function call, i.e.,
	(1 << GET_MODE_BITSIZE (mode)) - 1 is equivalent to
	GET_MODE_MASK (mode).

2025-08-25  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (mode_bits):
	New mode attribute.
	(zero_extend<mode>si2): Use the appropriate mode iterator and
	attribute to unify "zero_extend[hq]isi2" to this description.

2025-08-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121638
	* tree-vect-stmts.cc (process_use): Do not make induction
	PHI backedge values relevant.

2025-08-25  Indu Bhagat  <indu.bhagat@oracle.com>
	    Claudiu Zissulescu  <claudiu.zissulescu-ianculescu@oracle.com>

	* asan.h (HWASAN_TAG_SIZE): Use targetm.memtag.tag_bitsize.
	* config/i386/i386.cc (ix86_memtag_tag_size): Rename to
	ix86_memtag_tag_bitsize.
	(TARGET_MEMTAG_TAG_SIZE): Renamed to TARGET_MEMTAG_TAG_BITSIZE.
	* doc/tm.texi (TARGET_MEMTAG_TAG_SIZE): Likewise.
	* doc/tm.texi.in (TARGET_MEMTAG_TAG_SIZE): Likewise.
	* target.def (tag_size): Rename to tag_bitsize.
	* targhooks.cc (default_memtag_tag_size): Rename to
	default_memtag_tag_bitsize.
	* targhooks.h (default_memtag_tag_size): Likewise.

2025-08-25  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/riscv-protos.h (riscv_init_cumulative_args): Change
	fntype parameter from tree to const_tree.
	* config/riscv/riscv.cc (riscv_init_cumulative_args): Likewise.
	(riscv_function_value): Replace with new implementation that
	conforms to TARGET_FUNCTION_VALUE hook signature.
	(riscv_libcall_value): New function implementing TARGET_LIBCALL_VALUE.
	(TARGET_FUNCTION_VALUE): Define.
	(TARGET_LIBCALL_VALUE): Define.
	* config/riscv/riscv.h (FUNCTION_VALUE): Remove.
	(LIBCALL_VALUE): Remove.

2025-08-25  Andi Kleen  <ak@gcc.gnu.org>

	* config/i386/i386-expand.cc (ix86_vgf2p8affine_shift_matrix):
	New function to lookup shift/rotate matrixes for gf2p8affine.
	* config/i386/i386-protos.h (ix86_vgf2p8affine_shift_matrix):
	Declare new function.
	* config/i386/i386.cc (ix86_shift_rotate_cost): Add cost model
	for shift/rotate implemented using gf2p8affine.
	* config/i386/sse.md (VI1_AVX512_3264): New mode iterator.
	(<insn><mode>3): Add GFNI case for shift patterns.
	(cond_<insn><mode>3): New pattern.
	(<insn><mode>3<mask_name>): Dito.
	(<insn>v16qi): New rotate pattern to handle XOP V16QI case
	and GFNI.
	(rotl<mode>3, rotr<mode>3): Exclude V16QI case.

2025-08-25  Xi Ruoyao  <xry111@xry111.site>

	PR target/121634
	* config/loongarch/simd.md (simd_maddw_evod_<mode>_<su>): Use
	WVEC_HALF instead of WVEC for the mode of the sign_extend for
	the rhs of multiplication.

2025-08-25  Jeff Law  <jlaw@ventanamicro.com>

	* ifcvt.cc (noce_try_sign_bit_splat): Fix right shift computation.

2025-08-23  Sam James  <sam@gentoo.org>

	PR target/120933
	* config.gcc (supported_defaults): Add tls for i386, x86_64.
	* config/i386/i386.h (OPTION_DEFAULT_SPECS): Add tls.
	* doc/install.texi: Document --with-tls= for i386, x86_64.

2025-08-23  John Ericson  <git@JohnEricson.me>

	* gcc.cc (for_each_path): templated, to make passing lambdas
	possible/easy/safe, and to have a polymorphic return type.
	(struct add_to_obstack_info): Deleted, lambda captures replace
	it.
	(add_to_obstack): Moved to lambda in build_search_list.
	(build_search_list): Has above lambda now.
	(struct file_at_path_info):  Deleted, lambda captures replace
	it.
	(file_at_path): Moved to lambda in find_a_file.
	(find_a_file): Has above lambda now.
	(struct spec_path_info): Reamed to just struct spec_path.
	(struct spec_path): New name.
	(spec_path): Rnamed to spec_path::operator()
	(spec_path::operator()): New name
	(do_spec_1): Updated for_each_path call sites.

2025-08-22  Kishan Parmar  <kishan@linux.ibm.com>

	PR target/118890
	* config/rs6000/rs6000.cc (can_be_rotated_to_negative_lis): Add bounds
	checks for shift counts to prevent undefined behavior.
	(rs6000_emit_set_long_const): Likewise.

2025-08-22  Jeff Law  <jlaw@ventanamicro.com>

	PR rtl-optimization/120553
	* ifcvt.cc (noce_try_sign_bit_splat): New function.
	(noce_process_if_block): Use it.

2025-08-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorizable_live_operation): Pass
	the representative of the PHIs node to
	vect_create_epilog_for_reduction.

2025-08-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorizable_lane_reducing): Get
	reduction info properly.  Adjust checks according to
	comments.
	(vectorizable_reduction): Do not set STMT_VINFO_REDUC_VECTYPE_IN
	on the reduc info.
	(vect_transform_reduction): Query STMT_VINFO_REDUC_VECTYPE_IN
	on the actual reduction stmt, not the info.

2025-08-22  Pan Li  <pan2.li@intel.com>

	* match.pd: Add form 3 for unsigned SAT_MUL.

2025-08-22  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121635
	* config/i386/i386-features.cc (ix86_emit_tls_call): Emit the
	TLS call after NOTE_INSN_FUNCTION_BEG.

2025-08-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (get_initial_defs_for_reduction): Adjust
	comment.
	(vect_create_epilog_for_reduction): Get at the reduction
	kind via the instance, re-use the slp_reduc flag instead
	of checking REDUC_GROUP_FIRST_ELEMENT again.
	Remove unreachable code.
	(vectorizable_reduction): Compute a reduc_chain flag from
	the SLP instance kind, avoid REDUC_GROUP_FIRST_ELEMENT
	checks.
	(vect_transform_cycle_phi): Likewise.
	(vectorizable_live_operation): Check the SLP instance
	kind instead of REDUC_GROUP_FIRST_ELEMENT.

2025-08-22  Richard Biener  <rguenther@suse.de>

	* tree-parloops.cc (parloops_is_simple_reduction): Pass
	in double reduction inner loop LC phis and query that.
	(parloops_force_simple_reduction): Similar, but set it.
	Check for valid reduction types here.
	(valid_reduction_p): Remove.
	(gather_scalar_reductions): Adjust, fixup double
	reduction inner loop processing.

2025-08-22  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config/riscv/t-rtems: Add -mstrict-align multilibs for
	targets without support for misaligned access in hardware.

2025-08-21  Dimitar Dimitrov  <dimitar@dinux.eu>

	* config/pru/pru.cc (pru_init_libfuncs): Set softmpy libgcc
	functions for optab multiplication entries if TARGET_OPT_MUL
	option is not set.

2025-08-21  Dimitar Dimitrov  <dimitar@dinux.eu>

	* config.gcc: Include pru/t-multilib.
	* config/pru/pru.h (MULTILIB_DEFAULTS): Define.
	* config/pru/t-multilib: New file.

2025-08-21  Dimitar Dimitrov  <dimitar@dinux.eu>

	* common/config/pru/pru-common.cc (TARGET_DEFAULT_TARGET_FLAGS):
	Keep multiplication, FILL and ZERO instructions enabled by
	default.
	* config/pru/pru.md (prumov<mode>): Gate code generation on
	TARGET_OPT_FILLZERO.
	(mov<mode>): Ditto.
	(zero_extendqidi2): Ditto.
	(zero_extendhidi2): Ditto.
	(zero_extendsidi2): Ditto.
	(@pru_ior_fillbytes<mode>): Ditto.
	(@pru_and_zerobytes<mode>): Ditto.
	(@<code>di3): Ditto.
	(mulsi3): Gate code generation on TARGET_OPT_MUL.
	* config/pru/pru.opt: Add mmul and mfillzero options.
	* config/pru/pru.opt.urls: Regenerate.
	* config/rl78/rl78.opt.urls: Regenerate.
	* doc/invoke.texi: Document new options.

2025-08-21  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/121619
	* rtl-ssa/functions.h (function_info::commit_make_use_available):
	Declare.
	* rtl-ssa/blocks.cc (function_info::commit_make_use_available):
	New function.
	* rtl-ssa/changes.cc (function_info::apply_changes_to_insn): Use it.

2025-08-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/111494
	* gimple-fold.h (arith_code_with_undefined_signed_overflow): Declare.
	* gimple-fold.cc (arith_code_with_undefined_signed_overflow): Export.
	* tree-vect-stmts.cc (vectorizable_operation): Use unsigned
	arithmetic for operations participating in a reduction.

2025-08-21  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121607
	* config/i386/i386-features.cc (ix86_emit_tls_call): Emit the
	TLS call after NOTE_INSN_BASIC_BLOCK in a basic block with only
	a label.

2025-08-21  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.md (*btrue_INT_MIN):
	Change the branch insn condition to test for a negative number
	rather than testing for the MSB.

2025-08-21  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vectorizable_phi): Take bb_vec_info.
	(vectorizable_early_exit): Take loop_vec_info.
	* tree-vect-loop.cc (vectorizable_phi): Adjust.
	* tree-vect-slp.cc (vect_slp_analyze_operations): Likewise.
	(vectorize_slp_instance_root_stmt): Likewise.
	* tree-vect-stmts.cc (vectorizable_early_exit): Likewise.
	(vect_transform_stmt): Likewise.
	(vect_analyze_stmt): Merge the sequences of vectorizable_*
	where common.

2025-08-20  Qing Zhao  <qing.zhao@oracle.com>

	* common.opt.urls: Regenerate.

2025-08-20  Qing Zhao  <qing.zhao@oracle.com>

	PR tree-optimization/109071
	PR tree-optimization/85788
	PR tree-optimization/88771
	PR tree-optimization/106762
	PR tree-optimization/108770
	PR tree-optimization/115274
	PR tree-optimization/117179
	* Makefile.in (OBJS): Add diagnostic-context-rich-location.o.
	* common.opt (fdiagnostics-show-context): New option.
	(fdiagnostics-show-context=): New option.
	* diagnostic-context-rich-location.cc: New file.
	* diagnostic-context-rich-location.h: New file.
	* doc/invoke.texi (fdiagnostics-details): Add
	documentation for the new options.
	* gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add
	one new parameter. Use rich location with details for warning_at.
	(array_bounds_checker::check_array_ref): Use rich location with
	ditails for warning_at.
	(array_bounds_checker::check_mem_ref): Add one new parameter.
	Use rich location with details for warning_at.
	(array_bounds_checker::check_addr_expr): Use rich location with
	move_history_diagnostic_path for warning_at.
	(array_bounds_checker::check_array_bounds): Call check_mem_ref with
	one more parameter.
	* gimple-array-bounds.h: Update prototype for check_mem_ref.
	* gimple-ssa-warn-access.cc (warn_string_no_nul): Use rich location
	with details for warning_at.
	(maybe_warn_nonstring_arg): Likewise.
	(maybe_warn_for_bound): Likewise.
	(warn_for_access): Likewise.
	(check_access): Likewise.
	(pass_waccess::check_strncat): Likewise.
	(pass_waccess::maybe_check_access_sizes): Likewise.
	* gimple-ssa-warn-restrict.cc (pass_wrestrict::execute): Calculate
	dominance info for diagnostics show context.
	(maybe_diag_overlap): Use rich location with details for warning_at.
	(maybe_diag_access_bounds): Use rich location with details for
	warning_at.

2025-08-20  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121568
	* ipa-prop.h (build_ref_for_offset): Remove.
	* tree-sra.cc (build_ref_for_offset): Make static.

2025-08-20  Richard Sandiford  <richard.sandiford@arm.com>

	* config.gcc (aarch64*-*-*): Remove aarch64-cc-fusion.o from
	extra_objs.
	* config/aarch64/aarch64-passes.def (pass_cc_fusion): Delete.
	* config/aarch64/aarch64-protos.h (make_pass_cc_fusion): Delete.
	* config/aarch64/t-aarch64 (aarch64-cc-fusion.o): Delete.
	* config/aarch64/aarch64-cc-fusion.cc: Delete.
	* late-combine.cc (late_combine::optimizable_set): Take a set_info *
	rather than an insn_info * and move destination tests from...
	(late_combine::combine_into_uses): ...here. Take a set_info * rather
	an insn_info *.  Take the rtx set.
	(late_combine::parallelize_insns, late_combine::combine_cc_setter)
	(late_combine::combine_insn): New member functions.
	(late_combine::m_parallel): New member variable.
	* rtlanal.cc (pattern_cost): Handle sets of CC registers in the
	same way as comparisons.

2025-08-20  Richard Sandiford  <richard.sandiford@arm.com>

	* rtl-ssa/blocks.cc (function_info::create_degenerate_phi): Fix
	inverted test of bitmap_set_bit.  Call add_live_out_use even
	if the register was previously live-out from the predecessor block.
	Instead...
	(function_info::add_live_out_use): ...check here whether a live-out
	use already exists.

2025-08-20  Richard Sandiford  <richard.sandiford@arm.com>

	* rtl-ssa/accesses.h (use_lookup): New class.
	* rtl-ssa/functions.h (function_info::find_def): Expand comment.
	(function_info::find_use): Declare.
	* rtl-ssa/member-fns.inl (use_lookup::prev_use, use_lookup::next_use)
	(use_lookup::matching_use, use_lookup::matching_or_prev_use)
	(use_lookup::matching_or_next_use): New member functions.
	* rtl-ssa/accesses.cc (function_info::find_use): Likewise.

2025-08-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/114480
	* cfganal.cc (compute_idf): Split processing of the initial
	workset from the main iteration.  Use a vector for the
	workset of the main iteration.

2025-08-20  Georg-Johann Lay  <avr@gjlay.de>

	PR target/121608
	* config/avr/specs.h (LINK_RELAX_SPEC): Wrap in %{!r...}.

2025-08-20  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): New,
	copied from vect_analyze_slp_instance and only handle
	slp_inst_kind_reduc_chain.  Inline vect_build_slp_instance.
	(vect_analyze_slp_instance): Only handle slp_inst_kind_store.
	Inline vect_build_slp_instance.
	(vect_build_slp_instance): Remove now unused stmt_info parameter,
	remove special code for store groups and reduction chains.
	(vect_analyze_slp): Call vect_analyze_slp_reduc_chain
	for reduction chain SLP build and adjust.

2025-08-20  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.cc (vect_check_gather_scatter):
	Remove restriction on epilogue of epilogue vectorization.

2025-08-20  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (update_epilogue_loop_vinfo): Remove
	fixing up pattern stmt operands and gather/scatter DR_REFs.
	(find_in_mapping): Remove.

2025-08-20  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_load_store_data): New.
	(_slp_tree::memory_access_type): Remove.
	(SLP_TREE_MEMORY_ACCESS_TYPE): Turn into inline function.
	* tree-vect-slp.cc (_slp_tree::_slp_tree): Do not
	initialize SLP_TREE_MEMORY_ACCESS_TYPE.
	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
	Remove gather_scatter_info pointer argument, instead get
	info from the SLP node.
	(vect_build_one_gather_load_call): Get SLP node and builtin
	decl as argument and remove uses of gather_scatter_info.
	(vect_build_one_scatter_store_call): Likewise.
	(vect_get_gather_scatter_ops): Remove uses of gather_scatter_info.
	(vect_get_strided_load_store_ops): Get SLP node and remove
	uses of gather_scatter_info.
	(get_load_store_type): Take pointer to vect_load_store_data
	instead of individual pointers.
	(vectorizable_store): Adjust.  Re-use get_load_store_type
	result from analysis time.
	(vectorizable_load): Likewise.

2025-08-20  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121572
	* config/i386/i386-features.cc (replace_tls_call): Add a bitmap
	argument and put the updated TLS instruction in the bitmap.
	(ix86_get_dominator_for_reg): New.
	(ix86_check_flags_reg): Likewise.
	(ix86_emit_tls_call): Likewise.
	(ix86_place_single_tls_call): Add 2 bitmap arguments for updated
	GNU and GNU2 TLS instructions.  Call ix86_emit_tls_call to emit
	TLS instruction.  Correct debug dump for before instruction.

2025-08-19  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/120024
	* calls.cc (expand_call): Remove start_sequence/end_sequence
	for ECF_MALLOC.
	Check valreg before deferencing it when it comes to malloc like
	functions. Use the return value of emit_move_insn instead of
	calling get_last_insn.

2025-08-19  Richard Biener  <rguenther@suse.de>

	* tree-parloops.cc (parloops_is_slp_reduction): Remove.
	(parloops_is_simple_reduction): Do not call it.

2025-08-19  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorizable_reduction): Pass the
	appropriate SLP node for costing of single-def-use-cycle
	operations.
	(vectorizable_live_operation): Pass the SLP node to the
	costing hook.
	* tree-vect-stmts.cc (vectorizable_bswap): Likewise.
	(vectorizable_store): Likewise.

2025-08-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121592
	* tree-vect-slp.cc (vect_analyze_slp): When SLP reduction chain
	discovery fails, fail overall when the tail of the chain
	isn't also the entry for the non-SLP reduction.

2025-08-19  Richard Biener  <rguenther@suse.de>

	* config.gcc (riscv*-*-*): Look for python3, then fall back
	to python.  Never use python2.

2025-08-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121527
	* tree-sra.cc (build_access_from_expr_1): Do not strip an
	outer VIEW_CONVERT_EXPR as it's relevant for the size of
	the access.
	(get_access_for_expr): Likewise.

2025-08-19  Tamar Christina  <tamar.christina@arm.com>

	PR target/121536
	* config/aarch64/aarch64.cc (aarch64_bool_compound_p): Use
	SLP_TREE_VECTYPE instead of STMT_VINFO_VECTYPE.
	(aarch64_adjust_stmt_cost, aarch64_vector_costs::count_ops): Pass SLP
	node to aarch64_bool_compound_p.

2025-08-19  Tamar Christina  <tamar.christina@arm.com>

	PR target/121536
	* tree-vect-loop.cc (vectorizable_phi, vectorizable_recurr,
	vectorizable_nonlinear_induction, vectorizable_induction): Pass slp_node
	instead of stmt_info to record_stmt_cost.

2025-08-19  Tamar Christina  <tamar.christina@arm.com>

	PR target/121536
	* config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): Set
	vectype from type of lhs of gimple stmt.

2025-08-18  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR middle-end/121581
	* doc/extend.texi (__builtin_object_size): Fix example.

2025-08-18  Indu Bhagat  <indu.bhagat@oracle.com>

	* flag-types.h (sanitize_code_type): Define.
	* asan.h (sanitize_flags_p): Use 'sanitize_code_type' instead of
	'unsigned int'.
	* common.opt: Likewise.
	* dwarf2asm.cc (dw2_output_indirect_constant_1): Likewise.
	* opts.cc (find_sanitizer_argument): Likewise.
	(report_conflicting_sanitizer_options): Likewise.
	(parse_sanitizer_options): Likewise.
	(parse_no_sanitize_attribute): Likewise.
	* opts.h (parse_sanitizer_options): Likewise.
	(parse_no_sanitize_attribute): Likewise.
	* tree-cfg.cc (print_no_sanitize_attr_value): Likewise.
	* tree.cc (tree_fits_sanitize_code_type_p): Define.
	(tree_to_sanitize_code_type): Likewise.
	* tree.h (tree_fits_sanitize_code_type_p): Declare.
	(tree_to_sanitize_code_type): Likewise.

2025-08-18  Indu Bhagat  <indu.bhagat@oracle.com>

	* config/aarch64/aarch64.md (MEMTAG_TAG_MASK): New define
	constant.
	(MEMTAG_ADDR_MASK): Likewise.
	(irg, subp, ldg): Use new constants.

2025-08-18  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/97497
	* function-abi.h (predefined_function_abi::only_partial_reg_clobbers)
	(function_abi::only_partial_reg_clobbers): New member functions.
	* gcse-common.cc: Include regs.h and function-abi.h.
	(compute_transp): Check for partially call-clobbered registers
	and treat them as not being transparent in blocks with calls.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (UNSPEC_TI_FETCH_ADD): New unspec.
	(UNSPEC_TI_FETCH_SUB): Likewise.
	(UNSPEC_TI_FETCH_AND): Likewise.
	(UNSPEC_TI_FETCH_XOR): Likewise.
	(UNSPEC_TI_FETCH_OR): Likewise.
	(UNSPEC_TI_FETCH_NAND_MASK_INVERTED): Likewise.
	(ALL_SC): New define_mode_iterator.
	(_scq): New define_mode_attr.
	(atomic_fetch_nand<mode>): Accept ALL_SC instead of only GPR.
	(UNSPEC_TI_FETCH_DIRECT): New define_int_iterator.
	(UNSPEC_TI_FETCH): New define_int_iterator.
	(amop_ti_fetch): New define_int_attr.
	(size_ti_fetch): New define_int_attr.
	(atomic_fetch_<amop_ti_fetch>ti_scq): New define_insn.
	(atomic_fetch_<amop_ti_fetch>ti): New define_expand.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_exchangeti_scq): New
	define_insn.
	(atomic_exchangeti): New define_expand.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_compare_and_swapti_scq): New
	define_insn.
	(atomic_compare_and_swapti): New define_expand.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/loongarch.cc (loongarch_print_operand_reloc):
	Accept "%t" for printing the number of the 64-bit machine
	register holding the upper half of a TImode.
	* config/loongarch/sync.md (atomic_storeti_scq): New
	define_insn.
	(atomic_storeti): expand to atomic_storeti_scq if !ISA_HAS_LSX.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/genopts/isa-evolution.in (scq): New evolution
	feature.
	* config/loongarch/loongarch-evolution.cc: Regenerate.
	* config/loongarch/loongarch-evolution.h: Regenerate.
	* config/loongarch/loongarch-str.h: Regenerate.
	* config/loongarch/loongarch.opt: Regenerate.
	* config/loongarch/loongarch.opt.urls: Regenerate.
	* config/loongarch/loongarch-def.cc: Make -mscq the default for
	-march=la664 and -march=la64v1.1.
	* doc/invoke.texi (LoongArch Options): Document -m[no-]scq.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_storeti_lsx): New
	define_insn.
	(atomic_storeti): New define_expand.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_loadti_lsx): New define_insn.
	(atomic_loadti): New define_expand.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md
	(atomic_fetch_nand_mask_inverted<GPR:mode>): New define_insn.
	(atomic_fetch_nand<GPR:mode>): New define_expand.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_fetch_sub<SHORT:mode>):
	Disable if ISA_HAS_LAM_BH.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (UNSPEC_COMPARE_AND_SWAP_AND):
	Remove.
	(UNSPEC_COMPARE_AND_SWAP_XOR): Remove.
	(UNSPEC_COMPARE_AND_SWAP_OR): Remove.
	(atomic_test_and_set): Rename to ...
	(atomic_fetch_<any_bitwise:amop><SHORT:mode>): ... this, and
	adapt the expansion to use it for any bitwise operations and any
	val, instead of just ior 1.
	(atomic_test_and_set): New define_expand.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_test_and_set): Remove
	unneeded andi instruction from the expansion.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/loongarch.cc (loongarch_print_operand_reloc):
	Make "%T" output a comment marker if the operand is a memory
	order for which the barrier won't be generated; remove "%t".
	* config/loongarch/sync.md (atomic_cas_value_strong<mode>): Add
	%T before "b 3f".
	(atomic_cas_value_cmp_and_7_<mode>): Likewise.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (UNSPEC_COMPARE_AND_SWAP_AMCAS): New
	UNSPEC code.
	(atomic_cas_value_strong<mode>): NFC, update the comment to note
	we only need to consider failure memory order.
	(atomic_cas_value_strong<mode>_amcas): Use
	UNSPEC_COMPARE_AND_SWAP_AMCAS instead of
	UNSPEC_COMPARE_AND_SWAP.
	(atomic_compare_and_swap<mode:GPR>): Pass failure memorder to
	gen_atomic_cas_value_strong<mode>.
	(atomic_compare_and_swap<mode:SHORT>): Pass failure memorder to
	gen_atomic_cas_value_cmp_and_7_si.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_test_and_set): Use bstrins
	for masking the address if possible.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_load<mode>): Remove "+" for
	the memory operand.
	(atomic_store<mode>): Use "=" instead of "+" for the memory
	operand.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md: Use <size> instead of <amo>.
	(amo): Remove.

2025-08-18  Xi Ruoyao  <xry111@xry111.site>

	* config/loongarch/sync.md (atomic_optab): Remove.
	(atomic_<atomic_optab><mode>): Change atomic_optab to amop.
	(atomic_fetch_<atomic_optab><mode>): Likewise.

2025-08-17  Austin Law  <austinklaw@gmail.com>

	PR target/121213
	* config/riscv/sync.md (amo_atomic_exchange<mode>): Allow
	(const_int 0) as input operand. Do not tie input to output.
	No longer earlyclobber the output.

2025-08-17  Artemiy Volkov  <artemiyv@acm.org>

	* regrename.cc (scan_rtx_reg): Handle fused insn pairs.

2025-08-17  Jan Dubiec  <jdx@o2.pl>

	PR target/109324
	* config/h8300/addsub.md: Explicitly specify mode for plus operation.
	* config/h8300/jumpcall.md: Explicitly specify modes for eq and
	match_operand operations.
	* config/h8300/testcompare.md: Explicitly specify modes for eq, ltu
	and compare operations.

2025-08-17  Artemiy Volkov  <artemiyv@acm.org>

	* ira-conflicts.cc (add_insn_allocno_copies): Handle fused insn pairs.
	* rtl.h (single_output_fused_pair_p): Declare new function.
	* rtlanal.cc (single_output_fused_pair_p): Define it.

2025-08-17  Dimitar Dimitrov  <dimitar@dinux.eu>

	PR target/121538
	* config/riscv/arch-canonicalize (parse_dep_exts):
	Match condition block up to closing brace.
	(test_parse_long_condition_block): New test.

2025-08-17  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121541
	* config/i386/i386-options.cc
	(ix86_valid_target_attribute_inner_p): Add target("80387")
	attribute.  Set the mask bit in opts_set->x_target_flags if the
	mask bit in opts->x_target_flags is updated.
	* doc/extend.texi: Document target("80387") function attribute.

2025-08-17  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md: Add supported insn
	of vx combine.

2025-08-17  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md: Add missed DONE
	for vx combine pattern.

2025-08-15  Jakub Jelinek  <jakub@redhat.com>

	* doc/extend.texi (Type Traits): Document
	__builtin_structured_binding_size.

2025-08-15  Jakub Jelinek  <jakub@redhat.com>

	PR c++/121552
	* doc/invoke.texi (-Wno-non-c-typedef-for-linkage): Document.

2025-08-15  Robert Dubner  <rdubner@symas.com>

	* real.cc (real_to_decimal_for_mode): Set str[0] to known value.

2025-08-15  Vineet Gupta  <vineetg@rivosinc.com>

	PR target/121534
	* config/riscv/riscv.md (round_pattern): save/restore fflags.

2025-08-15  Qing Zhao  <qing.zhao@oracle.com>

	* doc/extend.texi: Extend counted_by attribute to pointer fields in
	structures. Add one more requirement to pointers with counted_by
	attribute.

2025-08-15  Umesh Kalappa  <ukalappa.mips@gmail.com>

	* config/riscv/riscv-ext-mips.def (DEFINE_RISCV_EXT):
	Added mips prefetch extension.
	* config/riscv/riscv-ext.opt: Generated file.
	* config/riscv/riscv.md (prefetch):
	Added mips prefetch address operand constraint.
	* config/riscv/constraints.md: Added mips specific constraint.
	* config/riscv/predicates.md (prefetch_operand):
	Updated for mips nine bits offset.
	* config/riscv/riscv.cc (riscv_prefetch_offset_address_p):
	Legitimate address with offset for prefetch check.
	* config/riscv/riscv-protos.h: Likewise.
	* config/riscv/riscv.h:
	Macros to support for mips cached type.
	* doc/riscv-ext.texi: Updated for mips prefetch.

2025-08-15  Richard Sandiford  <richard.sandiford@arm.com>

	* config/riscv/riscv-protos.h
	(riscv_process_target_version_attr): Change location_t argument
	to location_t *.
	* config/riscv/riscv-subset.h
	(riscv_subset_list::riscv_subset_list): Change location_t argument
	to location_t *.
	(riscv_subset_list::parse): Likwise.
	(riscv_subset_list::set_loc): Likewise.
	(riscv_minimal_hwprobe_feature_bits): Likewise.
	(riscv_subset_list::m_loc): Change type to location_t.
	* common/config/riscv/riscv-common.cc
	(riscv_subset_list::riscv_subset_list): Change location_t argument
	to location_t *.
	(riscv_subset_list::add): Suppress diagnostics when m_loc is null.
	(riscv_subset_list::parsing_subset_version): Likewise.
	(riscv_subset_list::parse_profiles): Likewise.
	(riscv_subset_list::parse_base_ext): Likewise.
	(riscv_subset_list::parse_single_std_ext): Likewise.
	(riscv_subset_list::check_conflict_ext): Likewise.
	(riscv_subset_list::parse_single_multiletter_ext): Likewise.
	(riscv_subset_list::parse): Change location_t argument to location_t *.
	(riscv_subset_list::set_loc): Likewise.
	(riscv_minimal_hwprobe_feature_bits): Likewise.
	(riscv_parse_arch_string): Update call accordingly.
	* config/riscv/riscv-target-attr.cc
	(riscv_target_attr_parser::m_loc): Change type to location_t *.
	(riscv_target_attr_parser::riscv_target_attr_parser): Change
	location_t argument to location_t *.
	(riscv_process_one_target_attr): Likewise.
	(riscv_process_target_attr): Likewise.
	(riscv_process_target_version_attr): Likewise.
	(riscv_target_attr_parser::parse_arch): Suppress diagnostics when
	m_loc is null.
	(riscv_target_attr_parser::handle_arch): Likewise.
	(riscv_target_attr_parser::handle_cpu): Likewise.
	(riscv_target_attr_parser::handle_tune): Likewise.
	(riscv_target_attr_parser::handle_priority): Likewise.
	(riscv_option_valid_attribute_p): Update call accordingly.
	(riscv_option_valid_version_attribute_p): Likewise.
	* config/riscv/riscv.cc (parse_features_for_version): Add a
	location_t * argument.
	(dispatch_function_versions): Update call accordingly.
	(riscv_compare_version_priority): Likewise, suppressing diagnostics.

2025-08-15  Kito Cheng  <kito.cheng@sifive.com>

	* tree-nrv.cc (pass_return_slot::execute): Use
	gimple_call_fntype instead of gimple_call_fndecl.

2025-08-15  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/121542
	* config/loongarch/loongarch.cc
	(loongarch_vector_costs::add_stmt_cost): When using vectype,
	first determine whether it is NULL.

2025-08-14  Jeff Law  <jlaw@ventanamicro.com>

	PR target/119275
	* config/riscv/riscv.cc (riscv_legitimize_move): Avoid calling
	gen_lowpart for cases where it'll fail.  Just use standard expander
	paths for those cases.

2025-08-14  Mikael Pettersson  <mikpelinux@gmail.com>

	PR target/121336
	* config/cris/cris.h: Do not abbreviate --emulation.

2025-08-14  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/121501
	* config/rs6000/rs6000.md (cmprb, setb_signed, setb_unsigned)
	(cmprb2, cmpeqb): Add missing modes to nested if_then_elses.

2025-08-14  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121474
	* passes.def: Update forwprop1/2 to have full_walk to be true.
	* tree-ssa-forwprop.cc (optimize_aggr_zeroprop): Add new argument
	full_walk. Take into account the full_walk and clobbers at the end
	of the limit can be done always.
	(simplify_builtin_call): Add new argument, full_walk.
	Update call to optimize_aggr_zeroprop.
	(pass_forwprop): Add m_full_walk field.
	(pass_forwprop::set_pass_param): Update for m_full_walk.
	(pass_forwprop::execute): Update call to simplify_builtin_call
	and optimize_aggr_zeroprop.

2025-08-14  Andrew Pinski  <quic_apinski@quicinc.com>

	* tree-ssa-forwprop.cc (optimize_agr_copyprop_1): New function split out of ...
	(optimize_agr_copyprop): Here. Also try calling optimize_agr_copyprop_arg.
	(optimize_agr_copyprop_arg): New function.

2025-08-14  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390.md: Merge movdi<mode>_zero_extend_A and
	movsi<mode>_zero_extend_A into zero_extendsidi2 and
	zero_extendhi<mode>2_z10 and
	zero_extend<HQI:mode><GPR:mode>2_extimm.
	* config/s390/vector.md (*movdi<mode>_zero_extend_A): Remove.
	(*movsi<mode>_zero_extend_A): Remove.
	(*movdi<mode>_zero_extend_B): Move to vec_extract patterns and
	rename to *vec_extract<mode>_zero_extend.
	(*movsi<mode>_zero_extend_B): Ditto.

2025-08-14  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121540
	* config/i386/i386-options.cc (ix86_set_current_function):
	Properly check if MMX and 80387 are enabled.

2025-08-13  Jeff Law  <jlaw@ventanamicro.com>

	PR target/121531
	* config/riscv/sifive-p400.md (sifive_p400_unknown): New reservation.
	* config/riscv/sifive-p600.md (sifive_p600_unkonwn): Likewise.

2025-08-13  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/output-spec.cc (sarif_scheme_handler::make_sink):
	Populate sarif_generation_options instance directly, rather than
	through local variables.
	(sarif_scheme_handler::make_sarif_gen_opts): Drop.
	(html_scheme_handler::make_sink): Populate html_generation_options
	instance directly, rather than through local variables.

2025-08-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* config.gcc: Mark epiphany*-*-* and rl78*-*-* as
	obsolete targets.

2025-08-13  H.J. Lu  <hjl.tools@gmail.com>

	PR target/81501
	* config/i386/i386-features.cc (x86_cse_kind): Add X86_CSE_TLS_GD,
	X86_CSE_TLS_LD_BASE and X86_CSE_TLSDESC.
	(redundant_load): Renamed to ...
	(redundant_pattern): This.
	(ix86_place_single_vector_set): Replace redundant_load with
	redundant_pattern.
	(replace_tls_call): New.
	(ix86_place_single_tls_call): Likewise.
	(pass_remove_redundant_vector_load): Renamed to ...
	(pass_x86_cse): This.  Add val, def_insn, mode, scalar_mode, kind,
	x86_cse, candidate_gnu_tls_p, candidate_gnu2_tls_p and
	candidate_vector_p.
	(pass_x86_cse::candidate_gnu_tls_p): New.
	(pass_x86_cse::candidate_gnu2_tls_p): Likewise.
	(pass_x86_cse::candidate_vector_p): Likewise.
	(remove_redundant_vector_load): Renamed to ...
	(pass_x86_cse::x86_cse): This.  Extend to remove redundant TLS
	calls.
	(make_pass_remove_redundant_vector_load): Renamed to ...
	(make_pass_x86_cse): This.
	* config/i386/i386-passes.def: Replace
	pass_remove_redundant_vector_load with pass_x86_cse.
	* config/i386/i386-protos.h (ix86_tls_get_addr): New.
	(make_pass_remove_redundant_vector_load): Renamed to ...
	(make_pass_x86_cse): This.
	* config/i386/i386.cc (ix86_tls_get_addr): Remove static.
	* config/i386/i386.h (machine_function): Add
	tls_descriptor_call_multiple_p.
	* config/i386/i386.md (tls64): New attribute.
	(@tls_global_dynamic_64_<mode>): Set tls_descriptor_call_multiple_p.
	(@tls_local_dynamic_base_64_<mode>): Likewise.
	(@tls_dynamic_gnu2_64_<mode>): Likewise.
	(*tls_global_dynamic_64_<mode>): Set tls64 attribute to gd.
	(*tls_local_dynamic_base_64_<mode>): Set tls64 attribute to ld_base.
	(*tls_dynamic_gnu2_lea_64_<mode>): Set tls64 attribute to lea.
	(*tls_dynamic_gnu2_call_64_<mode>): Set tls64 attribute to call.
	(*tls_dynamic_gnu2_combine_64_<mode>): Set tls64 attribute to
	combine.

2025-08-13  Iain Sandoe  <iain@sandoe.co.uk>

	* config.in: Regenerate.
	* config/darwin.h (DARWIN_LD_NO_DEDUPLICATE): New.
	(LINK_SPEC): Handle -no_deduplicate.
	* configure: Regenerate.
	* configure.ac: Detect linker support for -no_deduplicate.

2025-08-13  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin-sections.def (asan_string_section,
	asan_globals_section, asan_liveness_section): New.
	* config/darwin.cc (objc_method_decl): Use asan sections
	when asan is enabled.
	(darwin_encode_section_info): Alter string constant
	linker visibility depending on asan.
	(machopic_select_section): Use the asan sections when
	asan is enabled.

2025-08-13  Jeff Law  <jlaw@ventanamicro.com>

	PR target/121160
	* config/riscv/riscv.cc (canonicalize_comparands); Tighten check for
	forcing value into a GPR.

2025-08-13  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121474
	* tree-ssa-forwprop.cc (optimize_aggr_zeroprop): Move the check
	for limit before the alias check.

2025-08-13  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (SLP_TREE_PERMUTE_P): New.
	* tree-vect-slp-patterns.cc (linear_loads_p): Adjust.
	(vect_detect_pair_op): Likewise.
	(addsub_pattern::recognize): Likewise.
	* tree-vect-slp.cc (vect_print_slp_tree): Likewise.
	(vect_gather_slp_loads): Likewise.
	(vect_is_slp_load_node): Likewise.
	(optimize_load_redistribution_1): Likewise.
	(vect_optimize_slp_pass::is_cfg_latch_edge): Likewise.
	(vect_optimize_slp_pass::internal_node_cost): Likewise.
	(vect_optimize_slp_pass::start_choosing_layouts): Likewise.
	(vect_optimize_slp_pass::backward_cost): Likewise.
	(vect_optimize_slp_pass::forward_pass): Likewise.
	(vect_optimize_slp_pass::get_result_with_layout): Likewise.
	(vect_optimize_slp_pass::materialize): Likewise.
	(vect_optimize_slp_pass::dump): Likewise.
	(vect_optimize_slp_pass::decide_masked_load_lanes): Likewise.
	(vect_update_slp_vf_for_node): Likewise.
	(vect_slp_analyze_node_operations_1): Likewise.
	(vect_schedule_slp_node): Likewise.
	(vect_schedule_scc): Likewise.
	* tree-vect-stmts.cc (vect_analyze_stmt): Likewise.
	(vect_transform_stmt): Likewise.
	(vect_is_simple_use): Likewise.

2025-08-13  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vect_analyze_stmt): Use
	SLP_TREE_DEF_TYPE instead of STMT_VINFO_DEF_TYPE.

2025-08-13  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_memory_access_type): Replace
	VMAT_GATHER_SCATTER with three separate access types,
	VMAT_GATHER_SCATTER_LEGACY, VMAT_GATHER_SCATTER_IFN and
	VMAT_GATHER_SCATTER_EMULATED.
	(mat_gather_scatter_p): New predicate.
	(GATHER_SCATTER_LEGACY_P): Remove.
	(GATHER_SCATTER_IFN_P): Likewise.
	(GATHER_SCATTER_EMULATED_P): Likewise.
	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
	Adjust.
	(get_load_store_type): Likewise.
	(vect_get_loop_variant_data_ptr_increment): Likewise.
	(vectorizable_store): Likewise.
	(vectorizable_load): Likewise.
	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
	Likewise.
	* config/riscv/riscv-vector-costs.cc
	(costs::need_additional_vector_vars_p): Likewise.
	* config/aarch64/aarch64.cc (aarch64_detect_vector_stmt_subtype):
	Likewise.
	(aarch64_vector_costs::count_ops): Likewise.
	(aarch64_vector_costs::add_stmt_cost): Likewise.

2025-08-13  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_supportable_dr_alignment): Pass
	a bool instead of a pointer to gather_scatter_info.
	* tree-vect-data-refs.cc (vect_supportable_dr_alignment):
	Likewise.
	* tree-vect-stmts.cc (get_load_store_type): Adjust.

2025-08-13  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/120476
	* config/loongarch/loongarch.cc
	(loongarch_compute_pressure_classes): New function.
	(TARGET_COMPUTE_PRESSURE_CLASSES): Define.

2025-08-13  Yang Yujie  <yangyujie@loongson.cn>

	PR target/117599
	* config/loongarch/loongarch.h: Define a PROMOTE_MODE case for
	small _BitInts.
	* config/loongarch/loongarch.cc (loongarch_promote_function_mode):
	Same.
	(loongarch_bitint_type_info): New function.
	(TARGET_C_BITINT_TYPE_INFO): Declare.

2025-08-13  Jeff Law  <jlaw@ventanamicro.com>

	PR target/121113
	* config/riscv/sifive-p400.md: Handle HFmode for fdiv/fsqrt.
	* config/riscv/sifive-p600.md: Likewise.
	* config/riscv/xiangshan.md: Likewise.

2025-08-13  H.J. Lu  <hjl.tools@gmail.com>
	    Liu, Hongtao  <hongtao.liu@intel.com>

	PR target/121497
	* config/i386/i386-features.cc (ix86_broadcast_inner): Convert
	integer constant to mode of move

2025-08-12  Pan Li  <pan2.li@intel.com>

	* config/riscv/autovec-opt.md (*merge_vx_<mode>): Add new
	pattern to combine the vmerge.vxm.

2025-08-12  Robin Dapp  <rdapp.gcc@gmail.com>

	PR target/121334
	* config/riscv/riscv-v.cc (expand_slide1up): New function.
	(expand_vector_init_trailing_same_elem): Use new function.
	(expand_const_vector_onestep): New function.
	(expand_const_vector): Uew expand_slide1up.
	(expand_vector_init_merge_repeating_sequence): Ditto.
	(shuffle_off_by_one_patterns): Ditto.

2025-08-12  mengqinggang  <mengqinggang@loongson.cn>

	* config/loongarch/loongarch-def.h (ABI_BASE_LP64D): New macro.
	(ABI_BASE_LP64F): New macro.
	(ABI_BASE_LP64S): New macro.
	(N_ABI_BASE_TYPES): New macro.

2025-08-12  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_analyze_loop_2): Change
	slp_done_for_suggested_uf to a boolean
	single_lane_slp_done_for_suggested_uf.  Change slp
	to force_single_lane boolean.
	(vect_analyze_loop_1): Adjust similarly.

2025-08-12  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/121253
	* fwprop.cc (forward_propagate_into): Don't propagate asm defs.

2025-08-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121509
	* tree-vect-stmts.cc (vect_mark_stmts_to_be_vectorized):
	Fail early when we detect a relevant but not handled PHI.

2025-08-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121514
	* tree-ssa-sccvn.cc (visit_nary_op): Only call
	vn_nary_op_insert_stmt for SSA name result.

2025-08-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	PR tree-optimization/121494
	* tree-ssa-forwprop.cc (optimize_agr_copyprop): Mark the bb of the use
	stmt if needed for eh cleanup.

2025-08-12  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vect_analyze_stmt): Only set
	STMT_VINFO_VECTYPE for dataref SLP representatives.
	Clear it for others and do not restore the original value.
	(vect_transform_stmt): Likewise.

2025-08-12  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (get_initial_defs_for_reduction):
	Get vector type as argument.
	(vect_find_reusable_accumulator): Likewise.
	(vect_transform_cycle_phi): Adjust.

2025-08-12  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vectorizable_reduction): Replace
	STMT_VINFO_VECTYPE use with SLP_TREE_VECTYPE.

2025-08-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121493
	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Opportunistically
	strip components with known offset.

2025-08-12  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.cc (vn_reference_lookup_3): When we fail to
	match up the two base MEM_REFs, fail.

2025-08-12  Shreya Munnangi  <smunnangi1@ventanamicro.com>
	    Jeff Law   <jlaw@ventanamicro.com>
	    Philipp Tomsich  <philipp.tomsich@vrull.eu>

	* config/riscv/riscv-protos.h (synthesize_add): Add prototype.
	* config/riscv/riscv.cc (synthesize_add): New function.
	* config/riscv/riscv.md (addsi3): Allow any constant as operands[2]
	in the expander.  Force the constant into a register as needed for
	TARGET_64BIT.  Use synthesize_add for !TARGET_64BIT.
	(*adddi3): Renamed from adddi3.
	(adddi3): New expander.  Use synthesize_add.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.md (mov<ALLI>cc): Accept MODE_CC
	conditions directly; reject QI/HImode conditions.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	PR target/121388
	* config/aarch64/aarch64.cc (aarch64_cb_rhs): Restrict the
	range of LT/GE and GT/LE to their intersections.
	* config/aarch64/aarch64.md (*aarch64_cb<INT_CMP><GPI>): Unexport.
	Use cmpbr_imm_predicate instead of aarch64_cb_rhs.
	* config/aarch64/constraints.md (Uc1): Accept 0..62.
	(Uc2): Remove.
	* config/aarch64/iterators.md (cmpbr_imm_predicate): New.
	(cmpbr_imm_constraint): Update to match aarch64_cb_rhs.
	* config/aarch64/predicates.md (aarch64_cb_reg_i63_operand): New.
	(aarch64_cb_reg_i62_operand): New.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.cc (aarch64_if_then_else_costs):
	Use aarch64_cb_rhs to match CB insns.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	PR target/121385
	* config/aarch64/aarch64.md (*aarch64_tbz<LTGE><ALLI>1): Remove
	cc clobber and expansion via TST+Bcond.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.h (TARGET_CMPBR): False when
	aarch64_track_speculation is true.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.cc (aarch64_gen_compare_split_imm24): New.
	* config/aarch64/aarch64-protos.h: Update.
	* config/aarch64/aarch64.md (*aarch64_bcond_wide_imm<GPI>): Use it.
	Add match_scratch and cc clobbers.  Use match_operator instead of
	iterator expansion.
	(*compare_cstore<GPI>_insn): Likewise.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/predicates.md (aarch64_split_imm24): Rename from
	aarch64_imm24; exclude aarch64_move_imm and aarch64_uimm12_shift.
	* config/aarch64/aarch64.md (*aarch64_bcond_wide_imm<GPI>):
	Update for aarch64_split_imm24.
	(*compare_cstore<GPI>_insn): Likewise.
	* config/aarch64/aarch64.cc (aarch64_if_then_else_costs): Likewise.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.md (tbranch_<EQL><SHORT>3): Remove.
	(save_stack_nonlocal): Use aarch64_gen_compare_zero_and_branch.
	(restore_stack_nonlocal): Likewise.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.cc
	(aarch64_gen_compare_zero_and_branch): Export.
	* config/aarch64/aarch64-protos.h
	(aarch64_gen_compare_zero_and_branch): Declare it.
	* config/aarch64/aarch64-sme.md (aarch64_restore_za): Use it.
	* config/aarch64/aarch64.md (*aarch64_cbz<EQL><GPI>): Unexport.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.cc (aarch64_if_the_else_costs): Reorg to
	include the cost of inner within TBZ sign-bit test, only match
	CBZ/CBNZ with valid modes, and both for the aarch64_imm24 test.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.cc (aarch64_if_then_else_costs): Remove
	else after return and re-indent.

2025-08-11  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/aarch64.md (BRANCH_LEN_N_1KiB): Rename
	from BRANCH_LEN_N_1Kib.

2025-08-11  Andrew Pinski  <quic_apinski@quicinc.com>

	* tree-ssa-forwprop.cc (optimize_aggr_zeroprop): Recognize stores
	of integer_zerop as memset of 0.

2025-08-11  Jeff Law  <jlaw@ventanamicro.com>

	* doc/sourcebuild.texi: Add riscv_b_ok and riscv_v_ok target selectors.

2025-08-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121488
	* tree-ssa-sccvn.cc (visit_nary_op): If the BIT_FIELD_REF
	result is of wrong type, try a VIEW_CONVERT_EXPR around it.

2025-08-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121362
	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Swap index
	guards on component stripping loops.

2025-08-11  Pan Li  <pan2.li@intel.com>

	* tree-ssa-math-opts.cc (match_saturation_mul): Add new func
	to emit IFN_SAT_MUL if matched.
	(math_opts_dom_walker::after_dom_children): Try to match
	the phi node for SAT_MUL.

2025-08-11  Pan Li  <pan2.li@intel.com>

	* match.pd: Add form 2 for unsigned SAT_MUL.

2025-08-11  Pan Li  <pan2.li@intel.com>

	* config/riscv/riscv.cc (get_vector_binary_rtx_cost): Remove.
	(riscv_rtx_costs): Refactor to serach vec_duplicate on the
	sub rtx.

2025-08-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/121464
	* config/arm/arm.md (arm_<mrrc>, arm_<mcrr>): Fix operand check.

2025-08-11  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/121306
	* simplify-rtx.cc (simplify_context::simplify_subreg): Distribute
	non-narrowing integer-to-integer subregs through logic ops,
	in a similar way to the existing word_mode handling.

2025-08-11  Jakub Jelinek  <jakub@redhat.com>

	* tree-cfg.cc (find_case_label_for_value): Fix comment typo,
	singe-valued -> single-valued.
	* config/arc/arc.md: Fix comment typos, unsinged -> unsigned.

2025-08-10  Matthew Fortune  <matthew.fortune@imgtec.com>

	* config/mips/mips.h (FRAME_GROWS_DOWNWARD) Allow the frame to
	grow downwards for mips16 when -mgrow-frame-downwards is set.
	* config/mips/mips.opt: Add -mgrow-frame-downwards option.

2025-08-10  Andrew Pinski  <quic_apinski@quicinc.com>

	PR middle-end/121438
	PR middle-end/121444
	* output.h (MAX_ALIGN_MERGABLE): Rename to ...
	(MAX_MERGEABLE_BITSIZE): This.
	* tree-switch-conversion.cc (switch_conversion::build_one_array): Don't
	increase the alignment.
	* varasm.cc (mergeable_string_section): Use MAX_MERGEABLE_BITSIZE
	instead of MAX_ALIGN_MERGABLE. Also replace `/ 8` with `/ BITS_PER_UNIT`.
	(mergeable_constant_section): Select the mergeable section based on
	the bitsize rather than the alignment. Make sure the align is less
	than the entity size.

2025-08-10  Andrew Pinski  <quic_apinski@quicinc.com>

	PR middle-end/121394
	* varasm.cc (assemble_variable_contents): Pad out
	mergeable sections if needed.
	(output_constant_pool_1): Change the padding to be explicit
	zeroing for mergeable sections.

2025-08-10  H.J. Lu  <hjl.tools@gmail.com>

	* configure: Regenerated.

2025-08-09  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.cc (darwin_encode_section_info): Do not
	make anchored symbols linker-visible.
	(darwin_use_anchors_for_symbol_p): Disallow anchoring on
	symbols that must be linker-visible (or external), even
	if the definitions are in this TU.

2025-08-09  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): New
	entry for LANCHOR.

2025-08-09  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/context.cc (context::dump): Bulletproof against
	m_reference_printer being null.
	* diagnostics/dumping.cc (emit_field<const char *>): Replace
	with...
	(emit_string_field): ...this.
	(emit_field<char *>): Eliminate.
	(emit_field<bool>): Replace with...
	(emit_bool_field): ...this.
	(emit_field<size_t>): Replace with...
	(emit_size_t_field): ...this, and use HOST_SIZE_T_PRINT_DEC rather
	than %zi in fprintf call.
	(emit_field<int>): Replace with...
	(emit_int_field): ...this.
	(emit_field<unsigned>): Replace with...
	(emit_unsigned_field): ...this.
	* diagnostics/dumping.h (emit_field): Replace this template decl
	with...
	(emit_string_field): ...this,
	(emit_bool_field): ...this,
	(emit_size_t_field): ...this,
	(emit_int_field): ...this,
	(emit_unsigned_field): ... and this.
	(DIAGNOSTICS_DUMPING_EMIT_FIELD): Rename to...
	(DIAGNOSTICS_DUMPING_EMIT_BOOL_FIELD): ...this and update for
	above change.
	* diagnostics/file-cache.cc (file_cache_slot::dump): Replace
	emit_field calls with calls that explicitly state the type.  Fix
	type of dump of m_missing_trailing_newline to use bool.
	(file_cache_slot::dump): Use HOST_SIZE_T_PRINT_DEC rather than
	%zi in fprintf call.
	* diagnostics/html-sink.cc (html_generation_options::dump): Update
	for macro renaming.
	* diagnostics/sarif-sink.cc
	(sarif_serialization_format_json::dump): Likewise.
	(sarif_generation_options::dump): Likewise, and for function
	renaming.
	* diagnostics/text-sink.cc (text_sink::dump): Update for macro
	renaming.
	* libgdiagnostics.cc (diagnostic_manager_debug_dump_file): Use
	HOST_SIZE_T_PRINT_DEC rather than %zi in fprintf call.
	* pretty-print.cc: Include "diagnostics/dumping.h".
	(pp_formatted_chunks::dump): Use it.
	(get_url_format_as_string): New.
	(pretty_printer::dump): Use diagnostics::dumping.  Bulletproof
	against m_buffer being null.

2025-08-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/constraints.md (T):
	Change define_memory_constraint to define_special_memory_constraint.

2025-08-08  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/120599
	* tree-ssa-forwprop.cc (optimize_agr_copyprop): Don't try to copy
	from statements that throw.

2025-08-08  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/118946
	PR tree-optimization/121422
	* tree-ssa-forwprop.cc (optimize_memcpy_to_memset): Remove.
	(optimize_aggr_zeroprop_1): New function.
	(optimize_aggr_zeroprop): New function.
	(simplify_builtin_call): Don't call optimize_memcpy_to_memset
	for memcpy but call optimize_aggr_zeroprop for memset.
	(pass_forwprop::execute): Don't call optimize_memcpy_to_memset
	for aggregate copies but rather call optimize_aggr_zeroprop
	for aggregate stores.

2025-08-08  Andrew Pinski  <quic_apinski@quicinc.com>

	* tree-ssa-forwprop.cc (optimize_agr_copyprop): Change into a
	forward looking (looking at vdef's uses) instead of a back
	looking (vuse's def).

2025-08-08  David Malcolm  <dmalcolm@redhat.com>

	PR diagnostics/116253
	* common.opt (fdiagnostics-show-nesting): New option.
	(fdiagnostics-show-nesting-locations): New option.
	(fdiagnostics-show-nesting-levels): New option.
	* common.opt.urls: Regenerate.
	* diagnostics/context.cc (context::set_show_nesting): New.
	(context::set_show_nesting_locations): New.
	(context::set_show_nesting_levels): New.
	* diagnostics/context.h (context::set_show_nesting): New decl.
	(context::set_show_nesting_locations): New decl.
	(context::set_show_nesting_levels): New decl.
	* diagnostics/html-sink.cc: Tweak comment.
	* diagnostics/output-spec.cc (text_scheme_handler::make_sink):
	Rename "experimental-nesting" to "show-nesting" and enable by
	default.  Rename "experimental-nesting-show-locations" to
	"show-nesting-locations".  Rename
	"experimental-nesting-show-levels" to "show-nesting-levels".
	* diagnostics/sink.h (sink::dyn_cast_text_sink): New.
	* diagnostics/text-sink.h (text_sink::dyn_cast_text_sink): New.
	* doc/invoke.texi: Add -fdiagnostics-show-nesting,
	-fdiagnostics-show-nesting-locations, and
	-fdiagnostics-show-nesting-levels.  Update for changes to
	output-spec.cc above.
	* lto-wrapper.cc (merge_and_complain): Ignore
	OPT_fdiagnostics_show_nesting,
	OPT_fdiagnostics_show_nesting_locations, and
	OPT_fdiagnostics_show_nesting_levels.
	(append_compiler_options): Likewise.
	(append_diag_options): Likewise.
	* opts-common.cc (decode_cmdline_options_to_array): Add
	"-fno-diagnostics-show-nesting" to -fdiagnostics-plain-output.
	* opts.cc (common_handle_option): Handle the new options.
	(gen_command_line_string): Ignore the new options.
	* toplev.cc (general_init): Call set_show_nesting,
	set_show_nesting_locations, and set_show_nesting_levels on
	global_dc.

2025-08-08  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Add diagnostics/dumping.o.
	* diagnostics/buffering.cc: Include "diagnostics/dumping.h".
	(buffer::dump): Reimplement using diagnostics::dumping.
	* diagnostics/context.cc: Include "diagnostics/dumping.h".
	(context::dump): Reimplement using diagnostics::dumping.
	Use sink::dump_kind when listing the sinks.
	(sink::dump): Reimplement using diagnostics::dumping.
	(counters::dump): Likewise.
	* diagnostics/dumping.cc: New file.
	* diagnostics/dumping.h: New file.
	* diagnostics/file-cache.cc: Include "diagnostics/dumping.h".
	(file_cache::dump): Reimplement using diagnostics::dumping.
	(file_cache_slot::dump): Likewise.
	* diagnostics/html-sink.cc: Include "diagnostics/dumping.h".
	(html_generation_options::dump): New.
	(html_sink_buffer::dump): Reimplement using diagnostics::dumping.
	(html_builder::dump): New.
	(html_sink::dump): Reimplement using diagnostics::dumping.
	Add dump of the html_builder.
	(html_file_sink::dump): Replace with...
	(html_file_sink::dump_kind): ...this.
	(html_buffered_sink::dump_kind): New.
	* diagnostics/html-sink.h (html_generation_options::dump): New
	decl.
	* diagnostics/sarif-sink.cc: Include "diagnostics/dumping.h".
	(sarif_serialization_format_json::dump): New.
	(sarif_builder::dump): New.
	(sarif_sink_buffer::dump): Reimplement using diagnostics::dumping.
	(sarif_sink::dump): Likewise.  Add dump of the sarif_builder.
	(sarif_stream_sink::dump_kind): New.
	(sarif_file_sink::dump): Replace with...
	(sarif_file_sink::dump_kind): ...this.
	(get_dump_string_for_sarif_version): New.
	(sarif_generation_options::dump): New.
	(class buffered_sink): Rename to...
	(class sarif_buffered_sink): ...this.
	(sarif_buffered_sink::dump_kind): New.
	* diagnostics/sarif-sink.h (sarif_serialization_format::dump):
	New.
	(sarif_serialization_format_json::dump): New decl.
	(sarif_generation_options::dump): New decl.
	* diagnostics/sink.h (sink::dump_kind): New.
	* diagnostics/text-sink.cc: Include "diagnostics/dumping.h".
	(text_sink_buffer::dump): Reimplement using diagnostics::dumping.
	(text_sink::dump): Likewise.  Emit fields m_show_nesting,
	m_show_locations_in_nesting, and m_show_nesting_levels.
	* diagnostics/text-sink.h (text_sink::dump_kind): New.

2025-08-08  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic.h (diagnostics::get_cwe_url): Move decl to
	diagnostics/metadata.h.
	(diagnostics::maybe_line_and_column): Move into
	diagnostics::text_sink.
	* diagnostics/context.cc: Update for maybe_line_and_column
	becoming a static member of text_sink.
	* diagnostics/metadata.h (diagnostics::get_cwe_url): Move decl
	here from diagnostic.h.
	* diagnostics/text-sink.cc (maybe_line_and_column): Convert to...
	(text_sink::maybe_line_and_column): ...this.
	* diagnostics/text-sink.h (text_sink::maybe_line_and_column): Move
	here from diagnostic.h.

2025-08-08  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/context.cc (context::get_any_inlining_info): Convert
	"context" arg of m_set_locations_cb from ptr to const &.
	(context::report_diagnostic): Convert "context" arg of
	m_adjust_diagnostic_info from ptr to const &.
	* diagnostics/context.h (context::set_locations_callback_t):
	Likewise.
	(context::set_adjust_diagnostic_info_callback): Likewise.
	(context::m_adjust_diagnostic_info): Likewise.
	* tree-diagnostic.cc (set_inlining_locations): Likewise.

2025-08-08  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/column-options.h: New file, adding struct
	diagnostics::column_options, taken from fields in
	diagnostics::context and diagnostics::column_policy.
	* diagnostics/context.cc (context::initialize): Update for moving
	fields of diagnostics::context into diagnostics::column_options.
	(column_policy::column_policy): Likewise.
	(column_policy::converted_column): Move implementation to...
	(column_options::convert_column): ...this new function.
	(context::report_diagnostic): Update for moving fields of
	diagnostics::context into diagnostics::column_options.
	(assert_location_text): Likewise.
	* diagnostics/context.h: Include "diagnostics/column-options.h".
	(class column_policy): Replace fields m_column_unit,
	m_column_origin, and m_tabstop with m_column_options.
	(context::get_column_options): New accessors.
	(context::m_column_unit): Move to struct column_options and
	replace with m_column_options.
	(context::m_column_origin): Likewise.
	(context::m_tabstop): Likewise.
	* diagnostics/sarif-sink.cc (sarif_builder::sarif_builder): Update
	for moving fields of diagnostics::context into
	diagnostics::column_options.
	* diagnostics/source-printing.cc: Likewise.
	* opts.cc (common_handle_option): Likewise.

2025-08-08  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/120977
	* config/arm/arm.md (call): Move unspec parameter to parallel.
	(nonsecure_call_internal): Likewise.
	(call_value): Likewise.
	(nonsecure_call_value_internal): Likewise.
	* config/arm/thumb1.md (nonsecure_call_reg_thumb1_v5): Likewise.
	(nonsecure_call_value_reg_thumb1_v5): Likewise.
	* config/arm/thumb2.md (nonsecure_call_reg_thumb2_fpcxt):
	Likewise.
	(nonsecure_call_reg_thumb2): Likewise.
	(nonsecure_call_value_reg_thumb2_fpcxt): Likewise.
	(nonsecure_call_value_reg_thumb2): Likewise.
	* config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear):
	Likewise.

2025-08-08  Pengfei Li  <Pengfei.Li2@arm.com>

	PR target/121449
	* config/aarch64/aarch64-sve.md
	(mask_gather_load<mode><v_int_container>): Use vg<Vesize>
	constraints for alternatives with immediate offset.
	(mask_scatter_store<mode><v_int_container>): Likewise.

2025-08-08  Richard Biener  <rguenther@suse.de>

	* doc/tm.texi.in: Add Vectorization and OpenMP and OpenACC
	sub-sections to the list of target macros and functions.
	* doc/tm.texi: Re-generate.

2025-08-08  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_determine_vectype_for_stmt_1): Remove.
	(vect_determine_vectype_for_stmt): Likewise.
	(vect_set_stmts_vectype): Likewise.
	(vect_analyze_loop_2): Do not call vect_set_stmts_vectype.
	* tree-vect-stmts.cc (vect_mark_stmts_to_be_vectorized): Detect
	irregular stmts early here.

2025-08-08  Alex Coplan  <alex.coplan@arm.com>

	PR target/120986
	* config/aarch64/aarch64-sve-builtins.cc
	(function_expander::expand): Relax fpm_t assert to allow
	modeless const_ints.

2025-08-08  Alex Coplan  <alex.coplan@arm.com>

	PR target/120986
	* config/aarch64/aarch64-sve2.md (@aarch64_sve_dot<mode>):
	Switch mode iterator from SVE_FULL_HSF to new iterator;
	remove insn predicate as this is now taken care of by conditions
	in the mode iterator.
	(@aarch64_sve_dot_lane<mode>): Likewise.
	* config/aarch64/iterators.md (SVE_FULL_HSF_FP8_FDOT): New.

2025-08-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121454
	* tree-ssa-sccvn.cc (visit_nary_op): Avoid unexpected
	BIT_FIELD_REFs.

2025-08-08  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/121389
	* tree-tailcall.cc (find_tail_calls): For finally_tmp.N
	handle not just GIMPLE_CONDs with EQ_EXPR/NE_EXPR and only
	values 0 and 1, but arbitrary non-negative values, arbitrary
	comparisons in conditions and also GIMPLE_SWITCH next to
	GIMPLE_CONDs.

2025-08-08  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): Get
	the SLP node rather than the stmt_info.
	(vectorizable_lane_reducing): Adjust, pass SLP node to costing.
	(vect_transform_reduction): Adjust.

2025-08-08  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vect_model_promotion_demotion_cost): Pass
	in SLP node and drop unused dr argument.  Use SLP node for
	costing, drop costing of constant/external operands.
	(vectorizable_conversion): Adjust.

2025-08-08  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vectorizable_store): Apply SLP_TREE_VECTYPE
	to slp_node rather than stmt_info.

2025-08-07  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/121414
	* config/aarch64/aarch64.cc (aarch64_is_variant_pcs): New function,
	split out from...
	(aarch64_asm_output_variant_pcs): ...here.  Handle various types
	of SME function type.

2025-08-07  Richard Sandiford  <richard.sandiford@arm.com>

	PR rtl-optimization/120718
	* simplify-rtx.cc (simplify_context::simplify_gen_subreg):
	Remove MODE_COMPOSITE_P condition.

2025-08-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121405
	* tree-ssa-sccvn.cc (visit_nary_op): Handle BIT_FIELD_REF
	with reference def by looking up a combination of both.

2025-08-07  Pengfei Li  <Pengfei.Li2@arm.com>

	* tree-vect-data-refs.cc (vect_compute_data_ref_alignment):
	Allow DR target alignment to be a poly_int.
	(vect_enhance_data_refs_alignment): Support peeling and
	versioning for VLA modes.
	* tree-vect-loop-manip.cc (get_misalign_in_elems): Remove
	power-of-two rounding in peeling.
	(vect_create_cond_for_align_checks): Update alignment check
	logic for poly_int mask.
	(vect_create_cond_for_vla_spec_read): New runtime checks.
	(vect_loop_versioning): Support new runtime checks.
	* tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Add a new
	loop_vinfo field.
	(vectorizable_induction): Fix wrong IV offset issue.
	* tree-vect-stmts.cc (get_load_store_type): Refactor
	vectorizable checks for speculative loads.
	* tree-vectorizer.h (LOOP_VINFO_MAX_SPEC_READ_AMOUNT): New
	macro for new runtime checks.
	(LOOP_REQUIRES_VERSIONING_FOR_SPEC_READ): Likewise
	(LOOP_REQUIRES_VERSIONING): Update macro for new runtime checks.

2025-08-07  Jakub Jelinek  <jakub@redhat.com>

	PR preprocessor/120778
	* doc/invoke.texi (Wkeyword-macro): Document.

2025-08-07  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/s390.cc (print_operand): Allow arbitrary wide_int
	constants for _BitInt.
	(s390_bitint_type_info): Implement target hook
	TARGET_C_BITINT_TYPE_INFO.

2025-08-06  Uros Bizjak  <ubizjak@gmail.com>

	PR target/96226
	* config/i386/predicates.md (and_operator): New operator.
	* config/i386/i386.md (splitter after *<rotate_insn><mode>3_mask):
	Use and_operator to match AND RTX and use its mode
	in the split pattern.

2025-08-06  Gerald Pfeifer  <gerald@pfeifer.com>

	PR target/69374
	* doc/install.texi (Prerequisites): Replace bzip2 by xz.

2025-08-06  Yangyu Chen  <cyy@cyyself.name>

	* config/i386/i386.h (PTA_BDVER1):
	Add missing PTA_POPCNT and PTA_LZCNT with PTA_ABM.
	(PTA_ZNVER1): Ditto.
	(PTA_BTVER1): Ditto.
	(PTA_LUJIAZUI): Ditto.
	(PTA_YONGFENG): Do not include extra PTA_LZCNT.

2025-08-06  Sam James  <sam@gentoo.org>

	PR libstdc++/29286
	* Makefile.in (ALIASING_FLAGS): Drop.
	* configure: Regenerate.
	* configure.ac: Drop -fno-strict-aliasing workaround for < GCC 4.3.

2025-08-06  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.cc (vect_supportable_dr_alignment):
	Prune dead code.

2025-08-06  Patrick Palka  <ppalka@redhat.com>

	PR c++/121231
	PR c++/119688
	PR c++/94511
	* common.opt: Document additional ABI version 21 change.
	* doc/invoke.texi: Likewise.

2025-08-06  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (_slp_tree::gs_scale): New.
	(_slp_tree::gs_base): Likewise.
	(SLP_TREE_GS_SCALE): Likewise.
	(SLP_TREE_GS_BASE): Likewise.
	(vect_describe_gather_scatter_call): Declare.
	* tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize
	new members.
	(vect_build_slp_tree_2): Record gather/scatter base and scale.
	(vect_get_and_check_slp_defs): For gather/scatter IFNs
	describe the call to first_gs_info.
	* tree-vect-data-refs.cc (vect_gather_scatter_fn_p): Add
	mode of operation with fixed offset vector type.
	(vect_describe_gather_scatter_call): Export.
	* tree-vect-stmts.cc (get_load_store_type): Do not call
	vect_check_gather_scatter to fill gs_info, instead populate
	from the SLP tree.  Check which of, IFN, decl or fallback
	is supported and record that decision.

2025-08-06  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vectorizable_store): Build proper
	alias + align pointer value for gather/scatter and SLP
	and use it.
	(vectorizable_load): Likewise.

2025-08-06  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
	Remove redundant gather/scatter target support check, instead
	check the recorded ifns.  Also allow legacy gather/scatter
	with loop masking.

2025-08-06  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/121413
	* gimple-lower-bitint.cc (gimple_lower_bitint): Fix up last
	commit, cast limb_prec to unsigned before comparison.

2025-08-06  Yang Yujie  <yangyujie@loongson.cn>

	* match.pd: Preserve conversion to _BitInt before a VCE
	if the _BitInt is extended.

2025-08-06  Yang Yujie  <yangyujie@loongson.cn>

	* gimple-lower-bitint.cc (bitint_large_huge::lower_mergeable_stmt):
	Zero-extend the partial limb of any unsigned _BitInt LHS assigned
	with a widening sign-extension.

2025-08-06  Yang Yujie  <yangyujie@loongson.cn>

	* gimple-lower-bitint.cc (bitint_large_huge::limb_access):
	Add a parameter abi_load_p.  If set, load a limb directly
	in its actual precision without casting from m_limb_type.
	(struct bitint_large_huge): Same.
	(bitint_large_huge::handle_load): Use.

2025-08-06  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/121413
	* gimple-lower-bitint.cc (abi_limb_prec): New variable
	(bitint_precision_kind): Initialize it.
	(gimple_lower_bitint): Clear it at the start.  For
	min_prec > limb_prec descreased precision vars for
	INTEGER_CST PHI arguments ensure min_prec is either
	prec or multiple of abi_limb_prec.

2025-08-06  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/121127
	* gimple-lower-bitint.cc (bitint_large_huge::handle_operand_addr): For
	uninitialized SSA_NAME, set *prec_stored to 0 rather than *prec.
	Handle that case in narrowing casts.  If prec_stored is non-NULL,
	set *prec_stored to prec_stored_val.

2025-08-06  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/121386
	* Makefile.in (gengtype-lex.cc): Append #define FLEX_SCANNER,
	#include "system.h" and #undef FLEX_SCANNER to the prepended lines.
	* gengtype-lex.l: Remove inclusion of config.h or bconfig.h, system.h
	and definition of malloc/realloc from %{} section.

2025-08-06  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/arch-canonicalize: Read extension data from
	riscv-ext*.def and adding unittest.

2025-08-06  Kito Cheng  <kito.cheng@sifive.com>

	* common/config/riscv/riscv-common.cc (riscv_expand_arch):
	Ignore `unset`.
	* config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Handle
	`-march=unset`.
	(ARCH_UNSET_CLEANUP_SPECS): New.
	(DRIVER_SELF_SPECS): Handle -march=unset.
	* doc/invoke.texi (RISC-V Options): Update documentation for
	`-march=unset`.

2025-08-06  Kwok Cheung Yeung  <kcyeung@baylibre.com>

	* gimplify.cc (remove_unused_omp_iterator_vars): Display unused
	variable warning for 'to' and 'from' clauses.
	(gimplify_scan_omp_clauses): Add argument for iterator loop sequence.
	Gimplify the clause decl and size into the iterator loop if iterators
	are used.
	(gimplify_omp_workshare): Add argument for iterator loops sequence
	in call to gimplify_scan_omp_clauses.
	(gimplify_omp_target_update): Call remove_unused_omp_iterator_vars and
	build_omp_iterators_loops.  Add loop sequence as argument when calling
	gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses and building
	the Gimple statement.
	* tree-pretty-print.cc (dump_omp_clause): Call dump_omp_iterators
	for to/from clauses with iterators.
	* tree.cc (omp_clause_num_ops): Add extra operand for OMP_CLAUSE_FROM
	and OMP_CLAUSE_TO.
	* tree.h (OMP_CLAUSE_HAS_ITERATORS): Add check for OMP_CLAUSE_TO and
	OMP_CLAUSE_FROM.
	(OMP_CLAUSE_ITERATORS): Likewise.

2025-08-06  Kwok Cheung Yeung  <kcyeung@baylibre.com>
	    Andrew Stubbs  <ams@baylibre.com>

	* gimple-pretty-print.cc (dump_gimple_omp_target): Print expanded
	iterator loops.
	* gimple.cc (gimple_build_omp_target): Add argument for iterator
	loops sequence.  Initialize iterator loops field.
	* gimple.def (GIMPLE_OMP_TARGET): Set GSS symbol to GSS_OMP_TARGET.
	* gimple.h (gomp_target): Set GSS symbol to GSS_OMP_TARGET.  Add extra
	field for iterator loops.
	(gimple_build_omp_target): Add argument for iterator loops sequence.
	(gimple_omp_target_iterator_loops): New.
	(gimple_omp_target_iterator_loops_ptr): New.
	(gimple_omp_target_set_iterator_loops): New.
	* gimplify.cc (find_var_decl): New.
	(copy_omp_iterator): New.
	(remap_omp_iterator_var_1): New.
	(remap_omp_iterator_var): New.
	(remove_unused_omp_iterator_vars): New.
	(struct iterator_loop_info_t): New type.
	(iterator_loop_info_map_t): New type.
	(build_omp_iterators_loops): New.
	(enter_omp_iterator_loop_context_1): New.
	(enter_omp_iterator_loop_context): New.
	(enter_omp_iterator_loop_context): New.
	(exit_omp_iterator_loop_context): New.
	(gimplify_adjust_omp_clauses): Add argument for iterator loop
	sequence.  Gimplify the clause decl and size into the iterator
	loop if iterators are used.
	(gimplify_omp_workshare): Call remove_unused_omp_iterator_vars and
	build_omp_iterators_loops for OpenMP target expressions.  Add
	loop sequence as argument when calling gimplify_adjust_omp_clauses
	and building the Gimple statement.
	* gimplify.h (enter_omp_iterator_loop_context): New prototype.
	(exit_omp_iterator_loop_context): New prototype.
	* gsstruct.def (GSS_OMP_TARGET): New.
	* omp-low.cc (lower_omp_map_iterator_expr): New.
	(lower_omp_map_iterator_size): New.
	(finish_omp_map_iterators): New.
	(lower_omp_target): Add sorry if iterators used with deep mapping.
	Call lower_omp_map_iterator_expr before assigning to sender ref.
	Call lower_omp_map_iterator_size before setting the size.  Insert
	iterator loop sequence before the statements for the target clause.
	* tree-nested.cc (convert_nonlocal_reference_stmt): Walk the iterator
	loop sequence of OpenMP target statements.
	(convert_local_reference_stmt): Likewise.
	(convert_tramp_reference_stmt): Likewise.
	* tree-pretty-print.cc (dump_omp_iterators): Dump extra iterator
	information if present.
	(dump_omp_clause): Call dump_omp_iterators for iterators in map
	clauses.
	* tree.cc (omp_clause_num_ops): Add operand for OMP_CLAUSE_MAP.
	(walk_tree_1): Do not walk last operand of OMP_CLAUSE_MAP.
	* tree.h (OMP_CLAUSE_HAS_ITERATORS): New.
	(OMP_CLAUSE_ITERATORS): New.

2025-08-05  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121410
	* config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Use
	STORE_MAX_PIECES to get the widest vector mode in vector loop
	for memset.

2025-08-05  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.cc (avr_rtx_costs_1) [SIGN_EXTEND]: Adjust cost.
	* config/avr/avr.md (*sext.ashift<QIPSI:mode><HISI:mode>2): New
	insn and a cc split.

2025-08-05  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/121306
	* config/i386/predicates.md (extract_operator): Replace with...
	(extract_high_operator): ...this new predicate.
	* config/i386/i386.md (*cmpqi_ext<mode>_1, *cmpqi_ext<mode>_2)
	(*cmpqi_ext<mode>_3, *cmpqi_ext<mode>_4, *movstrictqi_ext<mode>_1)
	(*extzv<mode>, *insvqi_2, *extendqi<SWI24:mode>_ext_1)
	(*addqi_ext<mode>_1_slp, *addqi_ext<mode>_1_slp, *addqi_ext<mode>_0)
	(*addqi_ext2<mode>_0, *addqi_ext<mode>_1, *<insn>qi_ext<mode>_2)
	(*subqi_ext<mode>_1_slp, *subqi_ext<mode>_2_slp, *subqi_ext<mode>_0)
	(*subqi_ext2<mode>_0, *subqi_ext<mode>_1, *testqi_ext<mode>_1)
	(*testqi_ext<mode>_2, *<code>qi_ext<mode>_1_slp)
	(*<code>qi_ext<mode>_2_slp. *<code>qi_ext<mode>_0)
	(*<code>qi_ext2<mode>_0, *<code>qi_ext<mode>_1)
	(*<code>qi_ext<mode>_1_cc, *<code>qi_ext<mode>_1_cc)
	(*<code>qi_ext<mode>_2, *<code>qi_ext<mode>_3, *negqi_ext<mode>_1)
	(*one_cmplqi_ext<mode>_1, *ashlqi_ext<mode>_1, *<insn>qi_ext<mode>_1)
	(define_peephole2): Replace uses of extract_operator with
	extract_high_operator, matching only the first operand.
	Use zero_extract rather than match_op_dup when splitting.

2025-08-05  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_relevant::hybrid): Remove.
	* tree-vect-loop.cc (vect_analyze_loop_2): Do not call
	vect_detect_hybrid_slp.
	* tree-vect-slp.cc (maybe_push_to_hybrid_worklist): Remove.
	(vect_detect_hybrid_slp): Likewise.

2025-08-05  Georg-Johann Lay  <avr@gjlay.de>

	PR target/121359
	* config/avr/avr.h: Remove -mlra and remains of reload.
	* config/avr/avr.cc: Same.
	* config/avr/avr.md: Same.
	* config/avr/avr-log.cc: Same.
	* config/avr/avr-protos.h: Same.
	* config/avr/avr.opt: Same.
	* config/avr/avr.opt.urls: Same.

2025-08-05  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121306
	* config/i386/i386.md (*one_cmplqi_ext<mode>_1): Updated to
	support the new pattern.

2025-08-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121395
	* tree-vectorizer.h (_loop_vec_info::alternate_defs): New member.
	(LOOP_VINFO_ALTERNATE_DEFS): New.
	* tree-vect-stmts.cc (vect_stmt_relevant_p): Populate it.
	(vectorizable_simd_clone_call): Do not register a SLP def
	when there is none.
	* tree-vect-slp.cc (vect_build_slp_tree_1): Allow a NULL
	vectype when there's no LHS.  Allow all calls w/o LHS.
	(vect_analyze_slp): Process LOOP_VINFO_ALTERNATE_DEFS as
	SLP graph entries.
	(vect_make_slp_decision): Handle a NULL SLP_TREE_VECTYPE.
	(vect_slp_analyze_node_operations_1): Likewise.
	(vect_schedule_slp_node): Likewise.

2025-08-05  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (enum slp_vect_type): Rename loop_vect
	to not_vect, clarify docs.
	(HYBRID_SLP_STMT): Remove.
	* tree-vectorizer.cc (vec_info::new_stmt_vec_info): Adjust.
	* tree-vect-loop.cc (vect_analyze_loop_2): Likewise.

2025-08-05  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.cc (vect_get_data_access_cost): Use
	ncopies == 1.
	* tree-vect-slp.cc (vect_remove_slp_scalar_calls): Remove
	hybrid/loop SLP skip.
	* tree-vect-stmts.cc (vectorizable_store): Remove pure SLP assert.

2025-08-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121382
	* tree-ssa-loop-ivopts.cc (create_new_iv): Rewrite the IV
	step to defined form.

2025-08-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121370
	* tree-scalar-evolution.cc (scev_dfs::add_to_evolution_1):
	Avoid UB integer overflow in accumulating CHREC_RIGHT.

2025-08-05  Yang Yujie  <yangyujie@loongson.cn>

	* expr.cc (expand_expr_real_1): Do not call
	reduce_to_bit_field_precision if the target assumes the _BitInt
	results to be already extended.
	(EXTEND_BITINT): Same.
	* expr.h (bitint_extended): Declare the cache variable.
	* function.cc (prepare_function_start): Initialize it.

2025-08-05  Yang Yujie  <yangyujie@loongson.cn>

	* explow.cc (promote_function_mode): Add a case for
	small/medium _BitInts.
	(promote_mode): Same.

2025-08-05  Gerald Pfeifer  <gerald@pfeifer.com>

	PR target/69374
	* doc/install.texi (Configuration): Mark up atexit as code.

2025-08-05  Pan Li  <pan2.li@intel.com>

	* config/riscv/riscv.cc (riscv_expand_xmode_usmul): Take
	umulhu for high bits mul result.

2025-08-04  Hans-Peter Nilsson  <hp@bitrange.com>

	* defaults.h (MAX_FIXED_MODE_SIZE): Default to 2 * BITS_PER_WORD
	for larger-than-32-bitters.
	* doc/tm.texi.in (MAX_FIXED_MODE_SIZE): Adjust accordingly.  Tweak
	wording.
	* doc/tm.texi: Regenerate.

2025-08-04  David Malcolm  <dmalcolm@redhat.com>

	* dump-context.h: Convert "enum optinfo_item_kind" into
	"enum class kind" within class optinfo_item.
	* dumpfile.cc: Likewise.  Use "auto" in a few places.
	Convert "enum optinfo_kind" to "enum class kind" within
	class optinfo.
	* opt-problem.cc: Likewise.
	* optinfo-emit-json.cc: Likewise.
	* optinfo.cc: Likewise.
	* optinfo.h: Likewise.

2025-08-04  David Malcolm  <dmalcolm@redhat.com>

	PR diagnostics/116253
	* diagnostics/context.cc (context::set_nesting_level): New.
	* diagnostics/context.h (context::set_nesting_level): New decl.
	* doc/libgdiagnostics/topics/compatibility.rst
	(LIBGDIAGNOSTICS_ABI_5): New.
	* doc/libgdiagnostics/topics/physical-locations.rst
	(diagnostic_manager_set_debug_physical_locations): New.
	* libgdiagnostics++.h (manager::set_debug_physical_locations):
	New.
	* libgdiagnostics-private.h
	(private_diagnostic_set_nesting_level): New decl.
	* libgdiagnostics.cc (diagnostic_manager::diagnostic_manager):
	Initialize m_debug_physical_locations.
	(diagnostic_manager::new_location_from_file_and_line): Add debug
	printing.
	(diagnostic_manager::new_location_from_file_line_column):
	Likewise.
	(diagnostic_manager::new_location_from_range): Likewise.
	(diagnostic_manager::set_debug_physical_locations): New.
	(diagnostic_manager::ensure_linemap_for_file_and_line): Avoid
	redundant calls to linemap_add.
	(diagnostic_manager::new_location): Add debug printing.
	(diagnostic_manager::m_debug_physical_locations): New field.
	(diagnostic::diagnostic): Initialize m_nesting_level.
	(diagnostic::get_nesting_level): New accessor.
	(diagnostic::set_nesting_level): New.
	(diagnostic::m_nesting_level): New field.
	(diagnostic_manager::emit_va): Set and reset the nesting level
	of the context from that of the diagnostic.
	(diagnostic_manager_set_debug_physical_locations): New.
	(private_diagnostic_set_nesting_level): New.
	* libgdiagnostics.h
	(diagnostic_manager_set_debug_physical_locations): New decl.
	* libgdiagnostics.map (LIBGDIAGNOSTICS_ABI_5): New.
	* libsarifreplay.cc (sarif_replayer::handle_result_obj): Support
	the "nestingLevel" property.
	* libsarifreplay.h (replay_options::m_debug_physical_locations):
	New field.
	* sarif-replay.cc: Add -fdebug-physical-locations.

2025-08-04  David Malcolm  <dmalcolm@redhat.com>

	PR diagnostics/116792
	* diagnostics/html-sink.cc
	(html_builder::make_element_for_diagnostic): Don't add the
	metadata element if it's empty.
	(html_builder::make_element_for_metadata): Return null rather than
	an empty element.

2025-08-04  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/context.h: Move struct counters to its own header
	and include it.
	* diagnostics/counters.h: New file, from the above.

2025-08-04  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/context.h: Split struct source_printing_options out
	into "diagnostics/source-printing-options.h" and include it.
	* diagnostics/source-printing-options.h: New file, from the above.

2025-08-04  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/context.cc: Update for renaming of option_manager to
	option_id_manager and of context::m_option_mgr to
	context::m_option_id_mgr.
	* diagnostics/context.h: Likewise, moving class declaration to a
	new diagnostics/option-id-manager.h.
	* diagnostics/lazy-paths.cc: Likewise.
	* diagnostics/option-id-manager.h: New file, from material in
	diagnostics/context.h.
	* lto-wrapper.cc: Update for renaming of option_manager to
	option_id_manager.
	* opts-common.cc: Likewise.
	* opts-diagnostic.h: Likewise.
	* opts.cc: Likewise.
	* toplev.cc: Likewise.

2025-08-04  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/buffering.h: Update comment to refer to output sinks
	rather than output formats.

2025-08-04  David Malcolm  <dmalcolm@redhat.com>

	* gimple-warn-recursion.cc (pass_warn_recursion::execute): Add
	missing auto_diagnostic_group.

2025-08-04  Konstantinos Eleftheriou  <konstantinos.eleftheriou@vrull.eu>

	PR rtl-optimization/121303
	* avoid-store-forwarding.cc (is_store_forwarding): Add check
	for `off_val` in `is_store_forwarding`.

2025-08-04  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.cc (vect_analyze_slp): When analyzing a loop
	and slp instance discovery fails, immediately fail the whole
	process.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve-builtins.cc
	(function_expander::expand): Assert that the return value
	has an appropriate mode.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-protos.h
	(aarch64_convert_sve_data_to_pred): Remove the mode argument.
	* config/aarch64/aarch64.cc
	(aarch64_sve_emit_int_cmp): Allow PRED_MODE to be VNx16BI or
	the natural predicate mode for the data mode.
	(aarch64_convert_sve_data_to_pred): Remove the mode argument
	and instead always create a VNx16BI result.
	(aarch64_expand_sve_const_pred): Update call accordingly.
	* config/aarch64/aarch64-sve-builtins-base.cc
	(svdupq_impl::expand): Likewise, ensuring that the result
	has mode VNx16BI.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-protos.h
	(aarch64_emit_sve_pred_vec_duplicate): Declare.
	* config/aarch64/aarch64.cc
	(aarch64_emit_sve_pred_vec_duplicate): New function.
	* config/aarch64/aarch64-sve.md (vec_duplicate<PRED_ALL:mode>): Use it.
	* config/aarch64/aarch64-sve-builtins-base.cc
	(svdup_impl::expand): Handle boolean values specially.  Check for
	constants and fall back on aarch64_emit_sve_pred_vec_duplicate
	for the variable case, ensuring that the result has mode VNx16BI.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/iterators.md (PNEXT_ONLY): New int iterator.
	* config/aarch64/aarch64-sve.md
	(@aarch64_sve_<sve_pred_op><mode>): Restrict SVE_PITER pattern
	to VNx16BI_ONLY.
	(@aarch64_sve_<sve_pred_op><mode>): New PNEXT_ONLY pattern for
	PRED_HSD.
	(*aarch64_sve_<sve_pred_op><mode>): Likewise.
	(*aarch64_sve_<sve_pred_op><mode>_cc): Likewise.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve2.md (@aarch64_pred_<sve_int_op><mode>):
	Split SVE2_MATCH pattern into a VNx16QI_ONLY define_ins and a
	VNx8HI_ONLY define_expand.  Use a VNx16BI destination for the latter.
	(*aarch64_pred_<sve_int_op><mode>): New SVE2_MATCH pattern for
	VNx8HI_ONLY.
	(*aarch64_pred_<sve_int_op><mode>_cc): Likewise.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve.md (@aarch64_pred_fac<cmp_op><mode>):
	Replace with...
	(@aarch64_pred_fac<cmp_op><mode>_acle): ...this new expander.
	(*aarch64_pred_fac<cmp_op><mode>_strict_acle): New pattern.
	* config/aarch64/aarch64-sve-builtins-base.cc
	(svac_impl::expand): Update accordingly.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve.md (@aarch64_pred_fcm<cmp_op><mode>_acle)
	(*aarch64_pred_fcm<cmp_op><mode>_acle, @aarch64_pred_fcmuo<mode>_acle)
	(*aarch64_pred_fcmuo<mode>_acle): New patterns.
	* config/aarch64/aarch64-sve-builtins-base.cc
	(svcmp_impl::expand, svcmpuo_impl::expand): Use them.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve.md (@aarch64_pred_cmp<cmp_op><mode>_wide):
	Split into VNx16QI_ONLY and SVE_FULL_HSI patterns.  Use VNx16BI
	results for both.
	(*aarch64_pred_cmp<cmp_op><mode>_wide): New pattern.
	(*aarch64_pred_cmp<cmp_op><mode>_wide_cc): Likewise.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve.md
	(*aarch64_pred_cmp<cmp_op><mode>_wide_cc): Turn into a
	define_insn_and_rewrite and rewrite the governing predicate
	of the comparison so that it is identical to the PTEST's.
	(*aarch64_pred_cmp<cmp_op><mode>_wide_ptest): Likewise.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve.md (@aarch64_pred_cmp<cmp_op><mode>_wide)
	(*aarch64_pred_cmp<cmp_op><mode>_wide_cc): Use <VPRED> instead of
	VNx16BI for the governing predicate.
	(*aarch64_pred_cmp<cmp_op><mode>_wide_ptest): Likewise.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve.md (@aarch64_pred_cmp<cmp_op><mode>_acle)
	(*aarch64_pred_cmp<cmp_op><mode>_acle, *cmp<cmp_op><mode>_acle_cc)
	(*cmp<cmp_op><mode>_acle_and): New patterns that yield VNx16BI
	results for all element types.
	* config/aarch64/aarch64-sve-builtins-base.cc
	(svcmp_impl::expand): Use them.
	(svcmp_wide_impl::expand): Likewise when implementing an svcmp_wide
	against an in-range constant.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve.md (@aarch64_sve_punpk<perm_hilo>_acle)
	(*aarch64_sve_punpk<perm_hilo>_acle): New patterns.
	* config/aarch64/aarch64-sve-builtins-base.cc
	(svunpk_impl::expand): Use them for boolean svunpk*.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/121294
	* config/aarch64/aarch64.md (UNSPEC_REV_PRED): New unspec.
	* config/aarch64/aarch64-sve.md (@aarch64_sve_rev<mode>_acle)
	(*aarch64_sve_rev<mode>_acle): New patterns.
	* config/aarch64/aarch64-sve-builtins-base.cc
	(svrev_impl::expand): Use the new patterns for boolean svrev.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/121294
	* config/aarch64/iterators.md (UNSPEC_TRN1_CONV): Delete.
	(UNSPEC_PERMUTE_PRED): New unspec.
	* config/aarch64/aarch64-sve.md (@aarch64_sve_trn1_conv<mode>):
	Replace with...
	(@aarch64_sve_<perm_insn><mode>_acle)
	(*aarch64_sve_<perm_insn><mode>_acle): ...these new patterns.
	* config/aarch64/aarch64.cc (aarch64_expand_sve_const_pred_trn):
	Update accordingly.
	* config/aarch64/aarch64-sve-builtins-functions.h
	(binary_permute::expand): Use the new _acle patterns for
	predicate operations.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	PR testsuite/121118
	* config/aarch64/iterators.md (VNx16BI_ONLY): New mode iterator.
	* config/aarch64/predicates.md (aarch64_ptrue_all_operand): New
	predicate.
	* config/aarch64/aarch64-sve.md
	(@aarch64_sve_while_<while_optab_cmp><GPI:mode><VNx16BI_ONLY:mode>_acle)
	(@aarch64_sve_while_<while_optab_cmp><GPI:mode><PRED_HSD:mode>_acle)
	(*aarch64_sve_while_<while_optab_cmp><GPI:mode><PRED_HSD:mode>_acle)
	(*while_<while_optab_cmp><GPI:mode><PRED_HSD:mode>_acle_cc): New
	patterns.
	* config/aarch64/aarch64-sve-builtins-functions.h
	(while_comparison::expand): Use the new _acle patterns that
	always return a VNx16BI.
	* config/aarch64/aarch64-sve-builtins-sve2.cc
	(svwhilerw_svwhilewr_impl::expand): Likewise.
	* config/aarch64/aarch64.cc
	(aarch64_sve_move_pred_via_while): Likewise.

2025-08-04  Richard Sandiford  <richard.sandiford@arm.com>

	PR target/121293
	* config/aarch64/aarch64-sve-builtins-base.cc (svdupq_lane::expand):
	Use aarch64_sve_reinterpret instead of subregs.  Explicitly
	reinterpret the result back to the required mode, rather than
	leaving the caller to take a subreg.

2025-08-04  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121362
	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Generalize
	aggregate copy handling.

2025-08-04  Filip Kastl  <fkastl@suse.cz>

	* doc/invoke.texi: Add remark about -options being documented
	under -fdump-tree.  Remove remark about -graph working only for
	RTL.

2025-08-04  H.J. Lu  <hjl.tools@gmail.com>

	PR target/120941
	* config/i386/i386-features.cc (x86_cse_kind): Moved before
	ix86_place_single_vector_set.
	(redundant_load): Likewise.
	(ix86_place_single_vector_set): Replace the last argument to the
	pointer to redundant_load.  For X86_CSE_VEC_DUP, don't place the
	vector set outside of the loop to avoid extra spills.
	(remove_redundant_vector_load): Pass load to
	ix86_place_single_vector_set.

2025-08-03  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.md (define_insn_and_split) [reload_completed]:
	For splits that just append a (clobber (reg:CC REG_CC)) to
	the pattern, use avr_add_ccclobber (curr_insn) instead of
	repeating the original pattern.
	* config/avr/avr-dimode.md: Same.
	* config/avr/avr-fixed.md: Same.

2025-08-03  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.cc (avr_add_ccclobber): New function.
	* config/avr/avr-protos.h (avr_add_ccclobber): New proto.
	(DONE_ADD_CCC): New define.

2025-08-03  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/90242
	* tree-ssa-sccvn.cc (vn_reference_compute_hash): Use
	poly_offset_int for offset accumulation.  For hashing
	truncate to 64 bits and also hash 64 bits.
	(vn_reference_eq): Likewise.

2025-08-02  Gerald Pfeifer  <gerald@pfeifer.com>

	PR target/69374
	* doc/install.texi (Specific) <windows>: Drop note on 16-bit
	Windows support. Streamline note on 32-bit support.

2025-08-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121350
	* tree-vect-stmts.cc (vectorizable_store): Pass down SLP
	node when costing scalar stores in vect_body.

2025-08-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121349
	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
	Get full SLP mask, reduce to uniform scalar_mask for further
	processing if possible.
	(vect_check_scalar_mask): Remove scalar mask output, remove
	code conditional on slp_mask.
	(vectorizable_call): Adjust.
	(check_scan_store): Get and check SLP mask.
	(vectorizable_store): Eliminate scalar mask variable.
	(vectorizable_load): Likewise.

2025-08-01  Gerald Pfeifer  <gerald@pfeifer.com>

	* doc/install.texi (Prerequisites): mdocml.bsd.lv is now
	mandoc.bsd.lv.

2025-08-01  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (get_group_load_store_type): Remove,
	inline into ...
	(get_load_store_type): ... this.  Remove ncopies parameter.
	(vectorizable_load): Adjust.
	(vectorizable_store): Likewise.

2025-08-01  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (get_group_load_store_type): Remove
	checks performed at SLP build time.
	(vect_check_store_rhs): Remove scalar RHS output.
	(vectorizable_store): Remove uses of scalar RHS.

2025-08-01  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (VMAT_UNINITIALIZED): New
	vect_memory_access_type.
	* tree-vect-slp.cc (_slp_tree::_slp_tree): Use it.

2025-08-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121338
	* tree-ssa-loop-ivopts.cc (avg_loop_niter): Return an
	unsigned.
	(adjust_setup_cost): When niters is so large the division
	result is one or zero avoid it.
	(create_new_ivs): Adjust.

2025-08-01  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vect_simd_clone_data): New.
	(_slp_tree::simd_clone_info): Remove.
	(SLP_TREE_SIMD_CLONE_INFO): Likewise.
	* tree-vect-slp.cc (_slp_tree::_slp_tree): Adjust.
	(_slp_tree::~_slp_tree): Likewise.
	* tree-vect-stmts.cc (vectorizable_simd_clone_call): Use
	tyupe specific data to store SLP_TREE_SIMD_CLONE_INFO.

2025-08-01  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.cc (_slp_tree::_slp_tree): Adjust.
	(_slp_tree::~_slp_tree): Likewise.
	* tree-vectorizer.h (vect_data): New base class.
	(_slp_tree::u): Remove.
	(_slp_tree::data): Add pointer to vect_data.
	(_slp_tree::get_data): New helper template.

2025-08-01  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/121322
	* gimple-ssa-store-merging.cc (find_bswap_or_nop): Return NULL if
	count is 0.

2025-07-31  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.opt.urls (-mfuse-move2): Add url.

2025-07-31  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr.cc (avr_output_addr_vec) <labl>: Asm out its .type.

2025-07-31  Georg-Johann Lay  <avr@gjlay.de>

	PR rtl-optimization/121340
	* config/avr/avr.opt (-mfuse-move2): New option.
	* config/avr/avr-passes.def (avr_pass_2moves): Insert after combine.
	* config/avr/avr-passes.cc (make_avr_pass_2moves): New function.
	(pass_data avr_pass_data_2moves): New static variable.
	(avr_pass_2moves): New rtl_opt_pass.
	* config/avr/avr-protos.h (make_avr_pass_2moves): New proto.
	* common/config/avr/avr-common.cc
	(default_options avr_option_optimization_table) <-mfuse-move2>:
	Set for -O1 and higher.
	* doc/invoke.texi (AVR Options) <-mfuse-move2>: Document.

2025-07-31  Tamar Christina  <tamar.christina@arm.com>

	PR tree-optimization/120805
	* tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Skip setting
	bounds on epilogues.

2025-07-31  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* common/config/aarch64/cpuinfo.h: Remove unused features, add FEAT_CSSC
	and FEAT_MOPS.
	* config/aarch64/aarch64-option-extensions.def: Remove FMV support
	for RPRES, use PULL rather than AES, add FMV support for CSSC and MOPS.

2025-07-31  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/tuning_models/generic_armv9_a.h
	(generic_armv9_a_addrcost_table): Use zero cost for himode.

2025-07-31  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (get_group_load_store_type): Properly
	compare the scalar type of the gather/scatter offset to
	the offset vector component type.

2025-07-31  Richard Biener  <rguenther@suse.de>

	* gimple-fold.h (fold_stmt_inplace): Add valueization hook
	argument, defaulted to no_follow_ssa_edges.
	* gimple-fold.cc (fold_stmt_inplace): Adjust.

2025-07-31  Artemiy Granat  <a.granat@ispras.ru>

	* config/i386/i386-options.cc (ix86_handle_cconv_attribute):
	Fix typo.

2025-07-31  Artemiy Granat  <a.granat@ispras.ru>

	* config/i386/i386-options.cc (ix86_handle_cconv_attribute):
	Handle simultaneous use of regparm and thiscall attributes in
	case when regparm is set before thiscall.

2025-07-31  Artemiy Granat  <a.granat@ispras.ru>

	* config/i386/i386-options.cc (ix86_handle_cconv_attribute):
	Fix comments which state that combination of stdcall and fastcall
	attributes is valid but redundant.

2025-07-31  Artemiy Granat  <a.granat@ispras.ru>

	* config/i386/i386-options.cc (ix86_handle_cconv_attribute):
	Move 64-bit mode check before regparm handling.

2025-07-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121320
	* tree-ssa-sccvn.cc (ao_ref_init_from_vn_reference): Convert
	op->off to poly_offset_int before multiplying by
	BITS_PER_UNIT.

2025-07-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121323
	* tree-ssa-alias.cc (ao_ref_init_from_ptr_and_range): Check
	the pointer offset fits in a HWI when represented in bits.

2025-07-31  Yury Khrustalev  <yury.khrustalev@arm.com>

	* config/aarch64/aarch64.cc (build_ifunc_arg_type):
	Add new fields _hwcap3 and _hwcap4.

2025-07-31  Kishan Parmar  <kishan@linux.ibm.com>

	PR target/118890
	* config/rs6000/rs6000.cc (can_be_rotated_to_negative_lis): Avoid left
	shift of negative value and guard shift count.
	(can_be_built_by_li_and_rldic): Likewise.
	(rs6000_emit_set_long_const): Likewise.
	* config/rs6000/rs6000.md (splitter for plus into two 16-bit parts): Fix
	UB from overflow in addition.

2025-07-31  Richard Biener  <rguenther@suse.de>

	* config/aarch64/aarch64.cc (aarch64_detect_vector_stmt_subtype):
	Check for node before dereferencing.
	(aarch64_vector_costs::add_stmt_cost): Likewise.

2025-07-31  Spencer Abson  <spencer.abson@arm.com>

	PR target/121028
	* config/aarch64/aarch64-sme.md (aarch64_smstart_sm): Use the .inst
	directive if !TARGET_SME.
	(aarch64_smstop_sm): Likewise.

2025-07-31  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (_stmt_vec_info::memory_access_type): Remove.
	(STMT_VINFO_MEMORY_ACCESS_TYPE): Likewise.
	(vect_mem_access_type): Likewise.
	* tree-vect-stmts.cc (vectorizable_store): Do not set
	STMT_VINFO_MEMORY_ACCESS_TYPE.  Fix SLP_TREE_MEMORY_ACCESS_TYPE
	usage.
	* tree-vect-loop.cc (update_epilogue_loop_vinfo): Remove
	checking of memory access type.
	* config/riscv/riscv-vector-costs.cc (costs::compute_local_live_ranges):
	Use SLP_TREE_MEMORY_ACCESS_TYPE.
	(costs::need_additional_vector_vars_p): Likewise.
	(segment_loadstore_group_size): Get SLP node as argument,
	use SLP_TREE_MEMORY_ACCESS_TYPE.
	(costs::adjust_stmt_cost): Pass down SLP node.
	* config/aarch64/aarch64.cc (aarch64_ld234_st234_vectors): Use
	SLP_TREE_MEMORY_ACCESS_TYPE instead of vect_mem_access_type.
	(aarch64_detect_vector_stmt_subtype): Likewise.
	(aarch64_vector_costs::count_ops): Likewise.
	(aarch64_vector_costs::add_stmt_cost): Likewise.

2025-07-31  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.cc (vect_transform_loop): Do not verify DRs
	have not been modified for epilogue loops.
	(update_epilogue_loop_vinfo): Do not copy modified DRs to
	the originals.

2025-07-31  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/121264
	* machmode.h (get_best_mode): Change type of first 2 arguments
	from int to HOST_WIDE_INT.
	* stor-layout.cc (get_best_mode): Likewise.

2025-07-31  Jakub Jelinek  <jakub@redhat.com>

	* gimple-ssa-store-merging.cc (find_bswap_or_nop): Fix comment typos,
	hanlde -> handle.
	* config/i386/i386.cc (ix86_gimple_fold_builtin, ix86_rtx_costs):
	Likewise.
	* config/i386/i386-features.cc (remove_partial_avx_dependency):
	Likewise.

2025-07-31  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (check_scan_store): Remove redundant
	slp_node check.  Disallow epilogue vectorization.

2025-07-31  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (vector_costs::costing_for_scalar): New
	accessor.
	(add_stmt_cost): For scalar costing force vectype to NULL.
	Verify we do not pass in a SLP node.

2025-07-31  Kito Cheng  <kito.cheng@sifive.com>

	PR target/121312
	* config/riscv/arch-canonicalize: Add H extension to the
	canonical order.

2025-07-30  Andrew Pinski  <quic_apinski@quicinc.com>

	PR rtl-optimization/121308
	* simplify-rtx.cc (simplify_context::simplify_subreg): Handle
	subreg of `not` with word_mode to make it symmetric with the
	other bitwise operators.

2025-07-30  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/121236
	PR tree-optimization/121295
	* tree-if-conv.cc (factor_out_operators): Change the phi node
	to the new result and args.

2025-07-30  Andrew Pinski  <quic_apinski@quicinc.com>

	Revert:
	2025-07-28  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/121236
	* tree-if-conv.cc (is_cond_scalar_reduction): Instead of phi argument,
	pass bb and res of the phi.
	(factor_out_operators): Add iterator for the phi. Remove the phi
	if this is the first time. Return if we had removed the phi.
	(predicate_scalar_phi): Add the phi iterator argument.
	Update call to is_cond_scalar_reduction.
	Update call to factor_out_operators and set the return value to true
	when factor_out_operators returns true.
	(predicate_all_scalar_phis): Don't remove the phi if predicate_scalar_phi
	already removed it.

2025-07-30  Jan Hubicka  <jh@suse.cz>

	* auto-profile.cc (string_table::read): Check gcov_is_error.
	(read_profile): Likewise.
	* gcov-io.cc (gcov_is_error): Export for gcc linkage.
	* gcov-io.h (gcov_is_error): Declare.

2025-07-30  Richard Biener  <rguenther@suse.de>

	* config/i386/i386.cc (ix86_default_vector_cost): Split
	out from ...
	(ix86_builtin_vectorization_cost): ... this and use
	mode instead of vectype as argument.
	(ix86_vector_costs::add_stmt_cost): Call
	ix86_default_vector_cost instead of ix86_builtin_vectorization_cost.

2025-07-30  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	PR target/117015
	* config/s390/s390-protos.h (s390_expand_int_spaceship): New
	function.
	(s390_expand_fp_spaceship): New function.
	* config/s390/s390.cc (s390_expand_int_spaceship): New function.
	(s390_expand_fp_spaceship): New function.
	* config/s390/s390.md (spaceship<mode>4): New expander.

2025-07-30  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* cprop.cc (bypass_block): Extract single set.
	(bypass_conditional_jumps): Ditto.

2025-07-30  H.J. Lu  <hjl.tools@gmail.com>

	PR target/120427
	* config/i386/i386.md (peephole2): Transform "movq $-1,reg" to
	"pushq $-1; popq reg" for -Oz if reg is a legacy integer register.

2025-07-30  Jan Hubicka  <jh@suse.cz>

	* auto-profile.cc (function_instance::match): Disable warning
	about bogus locations since dwarf does not represent enough
	info to output them correctly in all cases.
	(add_scale): Use nonzero_p instead of orig.force_nonzero () == orig.
	(afdo_adjust_guessed_profile): Add missing newline in dump
	file.

2025-07-30  Jan Hubicka  <jh@suse.cz>

	* symtab.cc (symbol_table::change_decl_assembler_name): Recompute DECL_RTL
	in case it is already computed.

2025-07-30  Jan Hubicka  <jh@suse.cz>

	* predict.cc (unlikely_executed_edge_p): Ignore EDGE_EH if profile
	is reliable.
	(unlikely_executed_stmt_p): special case builtin_trap/unreachable and
	ignore other heuristics for reliable profiles.
	(tree_estimate_probability): Disable unlikely bb detection when
	doing dry run

2025-07-30  Andrew Stubbs  <ams@baylibre.com>
	     Julian Brown   <julian@codesourcery.com>

	* doc/tm.texi.in (TARGET_VECTORIZE_PREFER_GATHER_SCATTER): Add
	documentation hook.
	* doc/tm.texi: Regenerate.
	* target.def (prefer_gather_scatter): Add target hook under vectorizer.
	* hooks.cc (hook_bool_mode_int_unsigned_false): New function.
	* hooks.h (hook_bool_mode_int_unsigned_false): New prototype.
	* tree-vect-stmts.cc (vect_use_strided_gather_scatters_p): Add
	parameters group_size and single_element_p, and rework to use
	targetm.vectorize.prefer_gather_scatter.
	(get_group_load_store_type): Move some of the condition into
	vect_use_strided_gather_scatters_p.
	* config/gcn/gcn.cc (gcn_prefer_gather_scatter): New function.
	(TARGET_VECTORIZE_PREFER_GATHER_SCATTER): Define hook.

2025-07-30  Andrew Stubbs  <ams@baylibre.com>

	* config/gcn/gcn.cc (gcn_option_override): Add note to set default for
	param_vect_partial_vector_usage to "1".
	* optc-save-gen.awk: Don't pass through options marked "NoOffload".
	* params.opt (-param=vect-epilogues-nomask): Add NoOffload.
	(-param=vect-partial-vector-usage): Likewise.
	(-param=vect-inner-loop-cost-factor): Likewise.

2025-07-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121130
	* tree-vect-stmts.cc (vectorizable_call): Bail out for
	.MASK_CALL.

2025-07-30  Pengfei Li  <Pengfei.Li2@arm.com>

	PR tree-optimization/121020
	* tree-vect-loop-manip.cc (vect_do_peeling): Update the
	condition of omitting the skip-vector check.
	* tree-vectorizer.h (LOOP_VINFO_USE_VERSIONING_WITHOUT_PEELING):
	Add a helper macro.

2025-07-30  Pengfei Li  <Pengfei.Li2@arm.com>

	PR tree-optimization/121190
	* tree-vect-data-refs.cc (vect_enhance_data_refs_alignment):
	Increase alignment requirement for speculative loads.

2025-07-30  Alfie Richards  <alfie.richards@arm.com>

	PR target/121300
	* config/aarch64/aarch64-sve-builtins-sme.def (svamin/svamax): Fix
	arch gating.

2025-07-30  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (get_group_load_store_type):
	Process STMT_VINFO_GATHER_SCATTER before reading
	memory_access_type.

2025-07-30  Spencer Abson  <spencer.abson@arm.com>

	* config/aarch64/aarch64-sve.md (@cond_<optab><mode>): Extend
	to support partial FP modes.
	(*cond_<optab><mode>_2_strict): Extend from SVE_FULL_F to SVE_F,
	use aarch64_predicate_operand.
	(*cond_<optab><mode>_4_strict): Extend from SVE_FULL_F_B16B16 to
	SVE_F_B16B16, use aarch64_predicate_operand.
	(*cond_<optab><mode>_any_strict):  Likewise.

2025-07-30  Spencer Abson  <spencer.abson@arm.com>

	* config/aarch64/aarch64-sve.md (*cond_<optab><mode>_2_relaxed):
	Extend from SVE_FULL_F to SVE_F.
	(*cond_<optab><mode>_4_relaxed): Extend from SVE_FULL_F_B16B16
	to SVE_F_B16B16.
	(*cond_<optab><mode>_any_relaxed): Likewise.

2025-07-30  Spencer Abson  <spencer.abson@arm.com>

	* config/aarch64/aarch64-sve.md (<optab><mode>4): Extend from
	SVE_FULL_F_B16B16 to SVE_F_B16B16.  Use aarch64_sve_fp_pred instead
	of aarch64_ptrue_reg.
	(@aarch64_pred_<optab><mode>): Extend from SVE_FULL_F_B16B16 to
	SVE_F_B16B16.  Use aarch64_predicate_operand.

2025-07-30  liuhongt  <hongtao.liu@intel.com>

	* config/i386/i386-modes.def: Remove VECTOR_MODES(FLOAT, 256)
	and VECTOR_MODE (INT, SI, 64).
	* config/i386/i386.cc (ix86_hard_regno_nregs): Remove related
	code for V64SF/V64SImode.

2025-07-30  liuhongt  <hongtao.liu@intel.com>

	PR target/121274
	* config/i386/sse.md (*vec_concatv2di_0): Add a splitter
	before it.

2025-07-30  Andrew Pinski  <quic_apinski@quicinc.com>

	PR rtl-optimization/121302
	* simplify-rtx.cc (simplify_context::simplify_subreg): Use
	byte instead of 0 when calling simplify_subreg.

2025-07-29  Spencer Abson  <spencer.abson@arm.com>

	* config/aarch64/aarch64-protos.h (aarch64_sve_emit_masked_fp_pred):
	Declare.
	* config/aarch64/aarch64-sve.md (and<mode>3):  Change this to...
	(@and<mode>3): ...this, so that we can use gen_and3.
	(@cond_<optab><mode>): Extend from SVE_FULL_F_B16B16 to SVE_F_B16B16,
	use aarch64_predicate_operand.
	(*cond_<optab><mode>_2_strict): Likewise.
	(*cond_<optab><mode>_3_strict): Likewise.
	(*cond_<optab><mode>_any_strict): Likwise.
	(*cond_<optab><mode>_2_const_strict): Extend from SVE_FULL_F to SVE_F,
	use aarch64_predicate_operand.
	(*cond_<optab><mode>_any_const_strict): Likewise.
	(*cond_sub<mode>_3_const_strict): Likwise.
	(*cond_sub<mode>_const_strict): Likewise.
	(*vcond_mask_<mode><vpred>): Use aarch64_predicate_operand, and update
	the comment here.
	* config/aarch64/aarch64.cc (aarch64_sve_emit_masked_fp_pred): New
	function.  Helper to mask the predicate in conditional expanders.

2025-07-29  Dongyan Chen  <chendongyan@isrc.iscas.ac.cn>

	* Makefile.in: Add riscv-mcpu.texi and riscv-mtune.texi to the list
	of files to be processed by the Texinfo generator.
	* config/riscv/t-riscv: Add rule for generating riscv-mcpu.texi
	and riscv-mtune.texi.
	* doc/invoke.texi: Replace hand‑written extension table with
	`@include riscv-mcpu.texi` and `@include riscv-mtune.texi` to
	pull in auto‑generated entries.
	* config/riscv/gen-riscv-mcpu-texi.cc: New file.
	* config/riscv/gen-riscv-mtune-texi.cc: New file.
	* doc/riscv-mcpu.texi: New file.
	* doc/riscv-mtune.texi: New file.

2025-07-29  Richard Sandiford  <richard.sandiford@arm.com>

	* simplify-rtx.cc (simplify_context::simplify_subreg): Distribute
	lowpart subregs through AND/IOR/XOR, if doing so eliminates one
	of the terms.
	(test_scalar_int_ext_ops): Add some tests of the above for integers.
	* config/aarch64/aarch64.cc (aarch64_test_sve_folding): Likewise
	add tests for predicate modes.

2025-07-29  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/aarch64-sve-builtins.cc
	(function_expander::get_reg_target): Check whether the target
	is a valid register_operand.

2025-07-29  Konstantinos Eleftheriou  <konstantinos.eleftheriou@vrull.eu>

	PR rtl-optimization/120660
	* avoid-store-forwarding.cc (process_store_forwarding):
	Fix instruction generation when haveing multiple stores with
	base offset.

2025-07-29  Christoph Müllner  <christoph.muellner@vrull.eu>

	* common/config/riscv/riscv-common.cc (riscv_ext_is_subset):
	Remove use of structured binding to fix compiler warning.

2025-07-29  Konstantinos Eleftheriou  <konstantinos.eleftheriou@vrull.eu>

	PR rtl-optimization/119795
	* avoid-store-forwarding.cc
	(store_forwarding_analyzer::avoid_store_forwarding): Skip
	transformations for stores that operate on the same address
	range as deleted ones.

2025-07-29  Pan Li  <pan2.li@intel.com>

	* match.pd: Add mul based unsigned SAT_MUL.

2025-07-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/120687
	* tree-ssa-reassoc.cc (reassociate_bb): Do not disturb
	the sorted operand order in the early pass.
	* tree-vect-slp.cc (vect_analyze_slp): Dump when a detected
	reduction chain fails SLP discovery.

2025-07-29  Alfie Richards  <alfie.richards@arm.com>

	PR middle-end/121261
	* vec.h: Add null ptr check.

2025-07-29  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/121159
	* calls.cc (can_implement_as_sibling_call_p): Don't reject declared
	noreturn functions in musttail calls.

2025-07-29  Andrew Pinski  <quic_apinski@quicinc.com>

	* output.h (MAX_ALIGN_MERGABLE): New define.
	* tree-switch-conversion.cc (switch_conversion::build_one_array):
	Use MAX_ALIGN_MERGABLE instead of 256.
	* varasm.cc (mergeable_string_section): Likewise
	(mergeable_constant_section): Likewise

2025-07-29  Andrew Pinski  <quic_apinski@quicinc.com>

	PR middle-end/120523
	* output.h (mergeable_constant_section): New declaration taking
	unsigned HOST_WIDE_INT for the size.
	* tree-switch-conversion.cc (switch_conversion::build_one_array):
	Increase the alignment of CSWTCH for sizes less than 32bytes.
	* varasm.cc (mergeable_constant_section): Split out twice.
	One that takes the size in unsigned HOST_WIDE_INT and the
	other size in a tree.
	(default_elf_select_section): Pass DECL_SIZE instead of
	DECL_MODE to mergeable_constant_section.

2025-07-29  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (vectorizable_load): Un-factor VMAT
	specific code to their handling blocks.

2025-07-29  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (gather_scatter_info::offset_dt): Remove.
	* tree-vect-data-refs.cc (vect_describe_gather_scatter_call):
	Do not set it.
	(vect_check_gather_scatter): Likewise.
	* tree-vect-stmts.cc (vect_truncate_gather_scatter_offset):
	Likewise.
	(get_group_load_store_type): Use the vector type of the offset
	SLP child.  Do not re-check vect_is_simple_use validated by
	SLP build.

2025-07-28  Georg-Johann Lay  <avr@gjlay.de>

	PR target/121277
	* config/avr/avr.cc (avr_addr_space_convert): When converting
	from generic AS to __flashx, don't set bit 23.
	(avr_convert_to_type): Don't -Waddr-space-convert when NULL
	is converted to __flashx or to __flash.

2025-07-28  Andrew Pinski  <quic_apinski@quicinc.com>

	PR tree-optimization/121236
	* tree-if-conv.cc (is_cond_scalar_reduction): Instead of phi argument,
	pass bb and res of the phi.
	(factor_out_operators): Add iterator for the phi. Remove the phi
	if this is the first time. Return if we had removed the phi.
	(predicate_scalar_phi): Add the phi iterator argument.
	Update call to is_cond_scalar_reduction.
	Update call to factor_out_operators and set the return value to true
	when factor_out_operators returns true.
	(predicate_all_scalar_phis): Don't remove the phi if predicate_scalar_phi
	already removed it.

2025-07-28  H.J. Lu  <hjl.tools@gmail.com>

	PR target/121208
	* config/i386/i386.cc (ix86_tls_get_addr): Issue an error for
	-mtls-dialect=gnu with no_caller_saved_registers attribute and
	suggest -mtls-dialect=gnu2.

2025-07-28  Mikael Pettersson  <mikpelinux@gmail.com>

	PR other/121260
	* diagnostics/changes.cc: Correct nesting of namespaces
	and #if CHECKING_P blocks.
	* diagnostics/context.cc: Likewise.
	* diagnostics/html-sink.cc: Likewise.
	* diagnostics/output-spec.cc: Likewise.
	* diagnostics/sarif-sink.cc: Likewise.

2025-07-28  Tobias Burnus  <tburnus@baylibre.com>

	* config/nvptx/nvptx.opt (march-map=): Add sm_100{,f,a},
	sm_101{,f,a}, sm_103{,a,f}, sm_120{,a,f} and sm_121{,f,a}.

2025-07-28  Tobias Burnus  <tburnus@baylibre.com>

	* config/gcn/gcn.md (atomic_load, atomic_store, atomic_exchange):
	Fix CDNA3 L2 cache write-back before atomic instructions.

2025-07-28  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
	Make *gs_info const.
	(vect_build_one_gather_load_call): Likewise.
	(vect_build_one_scatter_store_call): Likewise.
	(vect_get_gather_scatter_ops): Likewise.
	(vect_get_strided_load_store_ops): Likewise.

2025-07-28  Tobias Burnus  <tburnus@baylibre.com>

	* config/gcn/gcn.md  (define_attr "vcmp"): Add with values
	vcmp/vcmpx/no.
	(*movbi, cstoredi4.., cstore<mode>4): Set it.
	* config/gcn/gcn-valu.md (vec_cmp<mode>...): Likewise.
	* config/gcn/gcn.cc (gcn_cmpx_insn_p): Remove.
	(gcn_md_reorg): Add two new conditions for MI300.

2025-07-28  Tobias Burnus  <tburnus@baylibre.com>

	* config/gcn/gcn-opts.h (enum hsaco_attr_type): Add comment
	about 'sc0'.
	* config/gcn/gcn.cc (gcn_md_reorg): Use gen_nops instead of gen_nop.
	(print_operand_address): Document 'R' and 'V' in the
	pre-function comment as well.
	* config/gcn/gcn.md (nops): Add.

2025-07-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/121256
	* tree-vect-loop.cc (vectorizable_recurr): Build a correct
	initialization vector for SLP_TREE_LANES > 1.

2025-07-28  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (_slp_tree::type): Add.
	(_slp_tree::u): Likewise.
	(_stmt_vec_info::type): Remove.
	(STMT_VINFO_TYPE): Likewise.
	(SLP_TREE_TYPE): New.
	* tree-vectorizer.cc (vec_info::new_stmt_vec_info): Do not
	initialize type.
	* tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize type.
	(vect_slp_analyze_node_operations): Adjust.
	(vect_schedule_slp_node): Likewise.
	* tree-vect-patterns.cc (vect_init_pattern_stmt): Do not
	copy STMT_VINFO_TYPE.
	* tree-vect-loop.cc: Set SLP_TREE_TYPE instead of
	STMT_VINFO_TYPE everywhere.
	(vect_create_loop_vinfo): Do not set STMT_VINFO_TYPE on
	loop conditions.
	* tree-vect-stmts.cc: Set SLP_TREE_TYPE instead of
	STMT_VINFO_TYPE everywhere.
	(vect_analyze_stmt): Adjust.
	(vect_transform_stmt): Likewise.
	* config/aarch64/aarch64.cc (aarch64_vector_costs::count_ops):
	Access SLP_TREE_TYPE instead of STMT_VINFO_TYPE.
	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
	Remove non-SLP element-wise load/store matching.
	* config/rs6000/rs6000.cc
	(rs6000_cost_data::update_target_cost_per_stmt): Pass in
	the SLP node.  Use that to get at the memory access
	kind and type.
	(rs6000_cost_data::add_stmt_cost): Pass down SLP node.
	* config/riscv/riscv-vector-costs.cc (variable_vectorized_p):
	Use SLP_TREE_TYPE.
	(costs::need_additional_vector_vars_p): Likewise.
	(costs::update_local_live_ranges): Likewise.

2025-07-28  Jennifer Schmitz  <jschmitz@nvidia.com>
	    Dhruv Chawla  <dhruvc@nvidia.com>

	* config/aarch64/aarch64-cores.def (olympus): Use olympus tuning
	model.
	* config/aarch64/aarch64.cc: Include olympus.h.
	* config/aarch64/tuning_models/olympus.h: New file.

2025-07-28  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/loongarch.h
	(CASE_VECTOR_SHORTEN_MODE): Delete.

2025-07-28  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
	Re-rewrite to more accurately capture insns that could be L32R machine
	instructions wherever possible, and add comments that help understand
	the intent of the process.

2025-07-27  Pan Li  <pan2.li@intel.com>

	* config/riscv/riscv-v.cc (expand_vx_binary_vxrm_vec_vec_dup):
	Add new case UNSPEC_VAADD.
	(expand_vx_binary_vxrm_vec_dup_vec): Ditto.
	* config/riscv/riscv.cc (riscv_rtx_costs): Ditto.
	* config/riscv/vector-iterators.md: Add new case UNSPEC_VAADD to
	iterator.

2025-07-27  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR middle-end/120855
	* cgraphunit.cc (symbol_table::compile): Assert a transparent
	alias is not an internal identifier.
	* symtab.cc (symbol_table::change_decl_assembler_name):
	Likewise.
	* varasm.cc (assemble_name_resolve): Check for
	IDENTIFIER_TRANSPARENT_ALIAS instead of just TREE_CHAIN.

2025-07-26  Thomas Schwinge  <tschwinge@baylibre.com>

	* diagnostics/context.cc (context::diagnostic_impl)
	(context::diagnostic_n_impl): In presence of formal parameter
	'kind', explicitly state 'diagnostics::' scope for 'kind' enum.

2025-07-26  Thomas Schwinge  <tschwinge@baylibre.com>

	* diagnostics/option-classifier.cc
	(update_effective_level_from_pragmas): In presence of local
	variable 'kind', explicitly state 'diagnostics::' scope for 'kind'
	enum.

2025-07-26  Christoph Müllner  <christoph.muellner@vrull.eu>

	* config/riscv/riscv-ext.def: Add allocated group IDs and
	group bit positions.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/context.cc: Eliminate digraphs::lazy_digraph in
	favor of lazily_created template.
	* diagnostics/context.h: Likewise.
	* diagnostics/digraphs.cc: Likewise, also digraphs::lazy_digraphs.
	* diagnostics/digraphs.h: Likewise.
	* diagnostics/html-sink.cc: Likewise.
	* diagnostics/metadata.h: Likewise.
	* diagnostics/sarif-sink.cc: Likewise.
	* diagnostics/sink.h: Likewise.
	* diagnostics/text-sink.h: Likewise.
	* lazily-created.h: New file.
	* libgdiagnostics.cc: Eliminate digraphs::lazy_digraph in
	favor of lazily_created template.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic.h: Use TextOrHtml rather than Sink for template
	params.
	* diagnostics/context.h: Likewise.
	* diagnostics/selftest-context.cc: Use "html_or_text" rather than
	"sink".
	* diagnostics/source-printing.cc: Use TextOrHtml rather than Sink
	for template params.  Use "text_out" and "html_out" rather than
	"sink".

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic.h (diagnostic_set_caret_max_width): Drop forward
	decl.
	(diagnostic_same_line): Make
	diagnostics::context::m_source_printing private.
	* diagnostics/context.cc (diagnostic_set_caret_max_width): Convert
	to...
	(diagnostics::context::set_caret_max_width): ...this.
	* diagnostics/context.h
	(diagnostics::context::get_source_printing_options): New
	accessors.
	(diagnostics::context::m_source_printing): Make private.
	* diagnostics/html-sink.cc: Make
	diagnostics::context::m_source_printing private.
	* diagnostics/paths-output.cc: Likewise.
	* diagnostics/sarif-sink.cc: Likewise.
	* diagnostics/selftest-context.cc: Likewise.
	* diagnostics/selftest-context.h
	(diagnostics::selftest::test_context::colorize_source): New.
	(diagnostics::selftest::test_context::show_labels): New.
	(diagnostics::selftest::test_context::show_line_numbers): New.
	(diagnostics::selftest::test_context::show_ruler): New.
	(diagnostics::selftest::test_context::show_event_links): New.
	(diagnostics::selftest::test_context::set_caret_char): New.
	* diagnostics/source-printing.cc: Make
	diagnostics::context::m_source_printing private.
	* diagnostics/text-sink.h: Likewise.
	* libgdiagnostics.cc: Likewise.
	* opts.cc: Likewise.
	* toplev.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic.h: Eliminate "diagnostic_info" typedef.
	* diagnostics/context.cc: Update usage of "diagnostic_info" to
	explicitly refer to "diagnostics::diagnostic_info".
	* langhooks.cc: Likewise.
	* libgdiagnostics.cc: Likewise.
	* rtl-error.cc: Likewise.
	* substring-locations.cc: Likewise.
	* toplev.cc: Likewise.
	* tree-diagnostic.cc: Likewise.
	* tree-diagnostic.h: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic.h (enum diagnostics_column_unit): Move to
	diagnostics/context-options.h.
	(enum diagnostics_escape_format): Likewise.
	(enum diagnostics_output_format): Likewise.
	(enum diagnostic_path_format): Likewise.
	(enum diagnostics_extra_output_kind): Likewise.
	(enum diagnostic_text_art_charset): Likewise.
	* diagnostics/context-options.h: New file, based on the above
	material.
	* diagnostics/context.h: Include it.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Add diagnostics/file-cache.o.
	* diagnostics/changes.cc: Update for file_cache and char_span
	moving from input.h to diagnostics/file-cache.h and into the
	"diagnostics::" namespace.
	* diagnostics/context.cc: Likewise.
	* diagnostics/diagnostics-selftests.cc: Likewise.
	* diagnostics/diagnostics-selftests.h: Likewise.
	* diagnostics/file-cache.cc: New file, based on the file_cache
	and file_cache_slot material in input.cc.
	* diagnostics/file-cache.h: Likewise for input.h.
	* diagnostics/selftest-source-printing.h: Update for file_cache
	and char_span moving from input.h to diagnostics/file-cache.h and
	into the "diagnostics::" namespace.
	* diagnostics/source-printing.cc: Likewise.
	* final.cc: Likewise.
	* gcc-rich-location.cc: Likewise.
	* input.cc (default_charset_callback): Move to
	diagnostics/file-cache.cc.
	(file_cache::initialize_input_context): Likewise.
	(class file_cache_slot): Likewise.
	(file_cache::tune): Likewise.
	(file_cache::lookup_file): Likewise.
	(file_cache::forcibly_evict_file): Likewise.
	(file_cache::missing_trailing_newline_p): Likewise.
	(file_cache::add_buffered_content): Likewise.
	(file_cache::evicted_cache_tab_entry): Likewise.
	(file_cache::add_file): Likewise.
	(file_cache::file_cache): Likewise.
	(file_cache::dump): Likewise.
	(file_cache::dump): Likewise.
	(file_cache::lookup_or_add_file): Likewise.
	(find_end_of_line): Likewise.
	(file_cache::get_source_line): Likewise.
	(check_line): Likewise.
	(test_replacement): Likewise.
	(test_reading_source_line): Likewise.
	(test_reading_source_buffer): Likewise.
	* input.h (class char_span): Move to diagnostics/file-cache.h and
	into the "diagnostics::" namespace.
	(class file_cache_slot): Likewise.
	(class file_cache): Likewise.
	* libgdiagnostics.cc: Update for file_cache and char_span moving
	from input.h to diagnostics/file-cache.h and into the
	"diagnostics::" namespace.
	* selftest.cc: Likewise.
	* selftest.h: Likewise.
	* substring-locations.h: Likewise.
	* toplev.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostics/selftest-paths.cc: Don't include "demangle.h"
	and "backtrace.h".
	* diagnostics/source-printing.cc: Likewise.
	* diagnostics/state-graphs.cc: Don't include "graphviz.h",
	"xml.h", "xml-printer.h", or "intl.h".

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic.h: Move include of "unique-argv.h"
	and various forward decls into...
	* diagnostics/context.h: ...here.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic.h (num_digits): Move to...
	(diagnostics::num_digits): ...here.
	(get_cwe_url): Move to...
	(diagnostics::get_cwe_url): ...here.
	(maybe_line_and_column): Move to...
	(diagnostics::maybe_line_and_column): ...here.
	* diagnostic.cc: Move to...
	* diagnostics/context.cc: ...here.
	* diagnostics/diagnostics-selftests.cc
	(run_diagnostics_selftests): Add comment about context_cc_tests.
	* diagnostics/diagnostics-selftests.h: Add context_cc_tests decl.
	* diagnostics/sarif-sink.cc: Update for file rename.
	* diagnostics/source-printing.cc: Update for num_digits moving to
	diagnostics::num_digits.
	* errors.cc: Update for file rename.
	* input.cc: Update for num_digits moving to
	diagnostics::num_digits.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Replace diagnostic.o with
	diagnostics/context.o.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in: Replace diagnostic.def with diagnostics/kinds.def.
	* config/aarch64/aarch64.cc: Update for diagnostic_t becoming
	enum class diagnostics::kind.
	* config/i386/i386-options.cc: Likewise.
	* config/s390/s390.cc: Likewise.
	* diagnostic-core.h: Replace typedef diagnostic_t with
	enum class diagnostics::kind in diagnostics/kinds.h and include
	it.
	* diagnostic-global-context.cc: Update for diagnostic_t becoming
	enum class diagnostics::kind.
	* diagnostic.cc: Likewise.
	* diagnostic.h: Likewise.
	* diagnostics/buffering.cc: Likewise.
	* diagnostics/buffering.h: Likewise.
	* diagnostics/context.h: Likewise.
	* diagnostics/diagnostic-info.h: Likewise.
	* diagnostics/html-sink.cc: Likewise.
	* diagnostic.def: Move to...
	* diagnostics/kinds.def: ...here and update for diagnostic_t
	becoming enum class diagnostics::kind.
	* diagnostics/kinds.h: New file, based on material in
	diagnostic-core.h.
	* diagnostics/lazy-paths.cc: Update for diagnostic_t becoming
	enum class diagnostics::kind.
	* diagnostics/option-classifier.cc: Likewise.
	* diagnostics/option-classifier.h: Likewise.
	* diagnostics/output-spec.h: Likewise.
	* diagnostics/paths-output.cc: Likewise.
	* diagnostics/sarif-sink.cc: Likewise.
	* diagnostics/selftest-context.cc: Likewise.
	* diagnostics/selftest-context.h: Likewise.
	* diagnostics/sink.h: Likewise.
	* diagnostics/source-printing.cc: Likewise.
	* diagnostics/text-sink.cc: Likewise.
	* diagnostics/text-sink.h: Likewise.
	* gcc.cc: Likewise.
	* libgdiagnostics.cc: Likewise.
	* lto-wrapper.cc: Likewise.
	* opts-common.cc: Likewise.
	* opts-diagnostic.h: Likewise.
	* opts.cc: Likewise.
	* rtl-error.cc: Likewise.
	* substring-locations.cc: Likewise.
	* toplev.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* diagnostic-core.h: Include "diagnostics/option-id.h".
	(struct diagnostic_option_id): Move there, renaming to
	diagnostics::option_id.
	* diagnostic-global-context.cc: Update for renaming of
	diagnostic_option_id to diagnostics::option_id.
	* diagnostic.cc: Likewise.
	* diagnostic.h: Likewise.
	* diagnostics/context.h: Likewise.
	* diagnostics/diagnostic-info.h: Likewise.
	* diagnostics/lazy-paths.cc: Likewise.
	* diagnostics/option-classifier.cc: Likewise.
	* diagnostics/option-classifier.h: Likewise.
	* diagnostics/option-id.h: New file, taken from material in
	diagnostic-core.h.
	* diagnostics/selftest-context.cc: Update for renaming of
	diagnostic_option_id to diagnostics::option_id.
	* diagnostics/selftest-context.h: Likewise.
	* ipa-pure-const.cc: Likewise.
	* lto-wrapper.cc: Likewise.
	* opts-common.cc: Likewise.
	* opts-diagnostic.h: Likewise.
	* opts.cc: Likewise.
	* substring-locations.cc: Likewise.
	* substring-locations.h: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Replace diagnostic-spec.o with
	gcc-diagnostic-spec.o.
	(GTFILES): Replace diagnostic-spec.h with gcc-diagnostic-spec.h.
	* diagnostic-spec.cc: Move to...
	* gcc-diagnostic-spec.cc: ...here.
	* diagnostic-spec.h: Move to...
	* gcc-diagnostic-spec.h: ...here.
	* gengtype.cc (open_base_files): Replace diagnostic-spec.h with
	gcc-diagnostic-spec.h.
	* warning-control.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Replace diagnostics/changes.o with
	diagnostics/edit-context.o.
	* diagnostic.cc: Update for move of diagnostics/edit-context.h to
	diagnostics/changes.h.
	(diagnostics::context::initialize): Update for renaming of
	m_edit_context_ptr to m_fixits_change_set.
	(diagnostics::context::finish): Likewise.
	(diagnostics::context::create_edit_context): Rename to...
	(diagnostics::context::initialize_fixits_change_set): ...this and
	update for other renamings.
	(diagnostics::context::report_diagnostic): Update for renaming of
	m_edit_context_ptr to m_fixits_change_set.
	* diagnostic.h (diagnostics::edit_context): Drop forward decl
	* diagnostics/edit-context.cc: Move to...
	* diagnostics/changes.cc: ...here.  Update for move of
	diagnostics/edit-context.h to diagnostics/changes.h.
	Rename diagnostics::edit_context to
	diagnostics::changes::change_set.  Rename diagnostics::edited_file
	to diagnostics::changes::changed_file.  Rename
	diagnostics::edited_line to diagnostics::changes::changed_line.
	* diagnostics/edit-context.h: Move to...
	* diagnostics/changes.h: ...here, renaming as above.
	* diagnostics/context.h (diagnostics::changes::change_set): New
	forward decl.
	(diagnostics::context::create_edit_context): Rename to...
	(diagnostics::context::initialize_fixits_change_set): ...this.
	(diagnostics::context::get_edit_context): Rename to...
	(diagnostics::context::get_fixits_change_set): ...this.
	(diagnostics::context::m_edit_context_ptr): Rename to...
	(diagnostics::context::m_fixits_change_set): ..this and update
	type.
	* diagnostics/diagnostics-selftests.cc: Update for renaming.
	* diagnostics/diagnostics-selftests.h: Likewise.
	* diagnostics/html-sink.cc: Update for above changes.
	* libgdiagnostics.cc: Likewise.
	* toplev.cc: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS): Move diagnostics/lazy-paths.o to...
	(OBJS-libcommon): ...here.  Add
	diagnostics/diagnostics-selftests.o.
	* diagnostic.cc: Update for move of
	selftest::test_diagnostic_context to
	diagnostics::selftest::test_context.
	* diagnostics/color.cc: Move selftests from selftest:: to
	diagnostics::selftest::.
	* diagnostics/diagnostics-selftests.cc: New file.
	* diagnostics/diagnostics-selftests.h: New file.
	* diagnostics/digraphs.cc: Move selftests from selftest:: to
	diagnostics::selftest::.
	* diagnostics/edit-context.cc: Likewise.
	* diagnostics/html-sink.cc: Likewise.
	* diagnostics/lazy-paths.cc: Likewise.  Eliminate use of "tree"
	by porting selftests from simple-diagnostic-path.h to
	diagnostics/selftest-paths.h.
	* diagnostics/output-spec.cc: Move selftests from selftest:: to
	diagnostics::selftest::.
	* diagnostics/paths-output.cc: Likewise.
	* diagnostics/sarif-sink.cc: Likewise.
	* diagnostics/selftest-context.cc: Move
	selftest::test_diagnostic_context to
	diagnostics::selftest::test_context.
	* diagnostics/selftest-context.h: Likewise.
	* diagnostics/selftest-logical-locations.cc: Move selftests from
	selftest:: to diagnostics::logical_locations::selftest::.
	* diagnostics/selftest-logical-locations.h: Move
	selftest::logical_location_manager to
	diagnostics::logical_locations::selftest::logical_location_manager.
	* diagnostics/selftest-paths.cc: Move
	selftest::test_diagnostic_path to
	diagnostics::paths::selftest::test_path.  Move
	selftest::test_diagnostic_event to
	diagnostics::paths::selftest::test_event.
	* diagnostics/selftest-paths.h: Likewise, and move
	selftest::test_diagnostic_thread to
	diagnostics::paths::selftest::test_thread.
	* diagnostics/selftest-source-printing.h: Move
	selftest::diagnostic_show_locus_fixture to
	diagnostics::selftest::source_printing_fixture.
	* diagnostics/source-printing.cc: Move selftests from selftest::
	to diagnostics::selftest:: and update for renames.
	* diagnostics/state-graphs.cc: Likewise.
	* selftest-run-tests.cc: Include
	"diagnostics/diagnostics-selftests.h".
	(selftest::run_tests): Replace invocation of the various diagnostics
	selftests with a call to
	diagnostics::selftest::run_diagnostics_selftests.
	* selftest.h: Move decls of the various per-file diagnostics
	invocation functions to diagnostics/diagnostics-selftests.h,
	renaming due to diagostics prefix being implied by namespace.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* common.opt: Update for move of diagnostic-url.h to
	diagnostics/url.h.
	* diagnostic.cc: Likewise.
	* diagnostics/color.cc: Likewise.
	* diagnostics/text-sink.cc: Likewise.
	* diagnostic-url.h: Move to...
	* diagnostics/url.h: ...here.
	* libgdiagnostics.cc: Update for move of diagnostic-url.h to
	diagnostics/url.h.
	* pretty-print.h: Likewise.

2025-07-25  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (OBJS-libcommon): Replace diagnostic-color.o w