[gcc r16-6456] Rotate ChangeLog files.
Jakub Jelinek
jakub@gcc.gnu.org
Thu Jan 1 17:59:34 GMT 2026
https://gcc.gnu.org/g:24fbc14eeb90a913c37bc8a17717fc51e3cb3abb
commit r16-6456-g24fbc14eeb90a913c37bc8a17717fc51e3cb3abb
Author: Jakub Jelinek <jakub@redhat.com>
Date: Thu Jan 1 18:50:16 2026 +0100
Rotate ChangeLog files.
Rotate ChangeLog files for ChangeLogs with yearly cadence.
Also remove empty lines before Form Feed line.
Diff:
---
gcc/ChangeLog | 36187 +---------------------------------
gcc/ChangeLog-2025 | 36191 ++++++++++++++++++++++++++++++++++
gcc/ada/ChangeLog | 7811 +-------
gcc/ada/ChangeLog-2025 | 7814 ++++++++
gcc/cp/ChangeLog | 5409 +-----
gcc/cp/ChangeLog-2025 | 5412 ++++++
gcc/d/ChangeLog | 467 +-
gcc/d/ChangeLog-2025 | 470 +
gcc/fortran/ChangeLog | 3462 +---
gcc/fortran/ChangeLog-2025 | 3466 ++++
gcc/testsuite/ChangeLog | 43187 +---------------------------------------
gcc/testsuite/ChangeLog-2025 | 43191 +++++++++++++++++++++++++++++++++++++++++
libgfortran/ChangeLog | 603 +-
libgfortran/ChangeLog-2025 | 607 +
libstdc++-v3/ChangeLog | 9150 +--------
libstdc++-v3/ChangeLog-2025 | 9154 +++++++++
16 files changed, 106313 insertions(+), 106268 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f44ba0afc7ea..923c914865e6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,36190 +1,5 @@
-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.[...]
[diff truncated at 524288 bytes]
More information about the Libstdc++-cvs
mailing list