| 2026-02-02 David Malcolm <dmalcolm@redhat.com> |
| |
| PR diagnostics/110522 |
| * gcc.cc (driver_handle_option): Use |
| get_diagnostic_file_output_basename for |
| OPT_fdiagnostics_format_. |
| * opts-diagnostic.cc (get_base_filename): Likewise. |
| (get_diagnostic_file_output_basename): New. |
| * opts-diagnostic.h (get_diagnostic_file_output_basename): New |
| decl. |
| * opts.cc (maybe_prepend_dump_dir_name): New, based on code in |
| finish_options. |
| (finish_options): Move code for determining prepended |
| dump_base_name to maybe_prepend_dump_dir_name and call it. |
| (common_handle_option): Use get_diagnostic_file_output_basename |
| for OPT_fdiagnostics_format_. |
| * opts.h (maybe_prepend_dump_dir_name): New decl. |
| |
| 2026-02-02 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR rtl-optimization/123294 |
| * ifcvt.cc (noce_emit_store_flag): Reject modes |
| greater than MAX_FIXED_MODE_SIZE. |
| |
| 2026-02-02 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/123897 |
| * tree-ssa-math-opts.cc (convert_mult_to_fma_1): Use type of variable |
| being folded. |
| |
| 2026-02-02 Tamar Christina <tamar.christina@arm.com> |
| |
| PR target/121290 |
| * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost): |
| Remove else. |
| |
| 2026-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/121104 |
| * tree-ssa-math-opts.cc (match_uaddc_usubc): Punt if |
| lhs of ovf1 or ovf2 doesn't have element type compatible with type. |
| |
| 2026-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123755 |
| * tree-vect-stmts.cc (vectorizable_call): Adjust len-masking |
| condition. Simplify code generation. |
| |
| 2026-01-31 Keith Packard <keithp@keithp.com> |
| |
| * config/picolibc-spec.h (LIBC_LINK_SPEC): Use find-file for test |
| and access to picolibc.ld. |
| |
| 2026-01-31 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/123887 |
| * match.pd ((a ? x : y) !=/== (b ? x : y)): Make sure |
| x and y have no side-effects before evaluating them |
| unconditionally. |
| |
| 2026-01-31 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Binaries): Switch delorie.com to https. |
| |
| 2026-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/123887 |
| * match.pd ((zero_one ==/!= 0) ? .. z <op> y .. -> zero_one * z ..): |
| Check evaluating z unconditionally has no side-effects, like |
| trapping. |
| |
| 2026-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR debug/123886 |
| * dwarf2out.cc (sym_off_pair::sym): Remove GTY((skip)). |
| |
| 2026-01-30 Michal Jires <mjires@suse.cz> |
| |
| * doc/extend.texi: Mention flto-toplevel-asm-heuristics. |
| * doc/invoke.texi: Add flto-toplevel-asm-heuristics. |
| |
| 2026-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR debug/110885 |
| * dwarf2out.cc (generate_skeleton_bottom_up): Generate the |
| skeleton ancestor tree when moving a new child to the parent |
| even for template instantiations. |
| |
| 2026-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/123864 |
| * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) -> |
| x > stype_max / cst || x < stype_min / cst): Only check |
| integer_minus_onep for signed types. |
| |
| 2026-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/123790 |
| * fold-const.cc (fold_convert_const): Handle conversion of |
| integer_zerop to NULLPTR_TYPE. |
| (fold_convert_loc): Likewise. |
| |
| 2026-01-30 Jørgen Kvalsvik <j@lambda.is> |
| |
| PR gcov-profile/123855 |
| * path-coverage.cc (flush_on_edges): Only look up SSA name def |
| stmt when counter is non-const. |
| |
| 2026-01-30 Jørgen Kvalsvik <j@lambda.is> |
| |
| * gcov-dump.cc (tag_paths): New function. |
| |
| 2026-01-30 Jørgen Kvalsvik <j@lambda.is> |
| |
| * common.opt: ftest-coverage enabled by fpath-coverage or |
| fcondition-coverage |
| |
| 2026-01-30 Jørgen Kvalsvik <j@lambda.is> |
| |
| * gcov-dump.cc (tag_conditions): Read position before blocks, |
| terms. |
| |
| 2026-01-30 Jørgen Kvalsvik <j@lambda.is> |
| |
| PR gcov-profile/121084 |
| PR gcov-profile/121123 |
| PR gcov-profile/121409 |
| * profile.cc (branch_prob): Record seen_locations without |
| discriminators. |
| |
| 2026-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/123876 |
| * omp-low.cc (diagnose_sb_2): Handle GIMPLE_ASM. |
| |
| 2026-01-30 Alex Coplan <alex.coplan@arm.com> |
| |
| PR target/123206 |
| * config/aarch64/aarch64-builtins.cc (struct aarch64_pragma_builtins_data): |
| Declare array as CONSTEXPR. |
| * config/aarch64/aarch64-simd-pragma-builtins.def: Update |
| incorrect uses of TARGET_SIMD to use AARCH64_FL_SIMD instead. |
| |
| 2026-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/109410 |
| * tree-ssa-reassoc.cc (build_and_add_sum): Use |
| gsi_start_nondebug_after_labels_bb to look for a possible |
| returns-twice call. |
| |
| 2026-01-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * config/darwin-d.cc (darwin_d_os_builtins): Add Apple. |
| |
| 2026-01-30 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR rtl-optimization/122170 |
| * ifcvt.cc (noce_can_force_operand): Don't only check if |
| there is an optab for the code check the entry for the |
| mode is non-null. Handle non integral div by checking |
| optab like force_operand does. |
| |
| 2026-01-30 Lulu Cheng <chenglulu@loongson.cn> |
| |
| * config/loongarch/loongarch-ftypes.def: Remove unused type. |
| |
| 2026-01-30 Lulu Cheng <chenglulu@loongson.cn> |
| |
| PR target/123766 |
| * config/loongarch/loongarch-builtins.cc |
| (loongarch_build_vpointer_type): New function. Return a type |
| for 'volatile void *'. |
| (LARCH_ATYPE_VPOINTER): New macro. |
| * config/loongarch/loongarch-ftypes.def: Change the pointer |
| type of the store class function from CVPOINTER to VPOINTER. |
| |
| 2026-01-30 Lulu Cheng <chenglulu@loongson.cn> |
| |
| PR target/123807 |
| * config/loongarch/loongarch.cc |
| (loongarch_expand_vector_init_same): When same is MEM and |
| GET_MODE(same) != imode, first load the data from memory |
| and then process it further. |
| |
| 2026-01-30 mengqinggang <mengqinggang@loongson.cn> |
| |
| * config/loongarch/loongarch.md: Delete movsf TARGET_HARD_FLOAT |
| condition. |
| |
| 2026-01-29 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR middle-end/123869 |
| * optabs.cc (expand_unop): Move the NEG optab |
| handling before the widening code. |
| Move the ABS bitwise expansion from expand_abs_nojump |
| to before the widening code. |
| (expand_abs_nojump): Remove the bitwise expansion trial |
| since expand_unop is called right above. |
| |
| 2026-01-29 Roger Sayle <roger@nextmovesoftware.com> |
| |
| * expr.cc (emit_group_load_1): Don't call force_reg if orig_src |
| is already a CONCAT. |
| |
| 2026-01-29 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * doc/options.texi (Options): Point to the "user experience" |
| documentation. |
| * doc/ux.texi (Guidelines for Options): Add some. |
| |
| 2026-01-29 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR target/123806 |
| * config/riscv/riscv-string.cc (expand_rawmemchr): Use unified |
| vl_read. |
| (expand_strcmp): Ditto. |
| * config/riscv/riscv-vector-builtins-bases.cc: |
| * config/riscv/riscv-vector-builtins.cc (function_expander::use_fof_load_insn): |
| Only emit the store and not the VL read. |
| * config/riscv/riscv-vsetvl.cc (get_fof_set_vl_reg): New |
| function. |
| (init_rtl_ssa): New wrapper. |
| (finish_rtl_ssa): Ditto. |
| (emit_fof_read_vls): Emit read_vl after each fault-only-first |
| load. |
| (pass_vsetvl::simple_vsetvl): Call emit_fof_read_vls (). |
| (pass_vsetvl::lazy_vsetvl): Ditto. |
| * config/riscv/vector-iterators.md: Add read_vl unspec. |
| * config/riscv/vector.md (read_vlsi): Unify. |
| (@read_vl<mode>): Ditto. |
| (read_vldi_zero_extend): Ditto. |
| (@pred_fault_load_set_vl<V_VLS:mode><P:mode>): New FoF variant |
| that saves VL in a register. |
| (@pred_fault_load_set_vl<VT:mode><P:mode>): Ditto. |
| |
| 2026-01-29 Filip Kastl <fkastl@suse.cz> |
| |
| * gimple-ssa-pta-constraints.cc (make_param_constraints): Adjust |
| comment: The function only creates varinfos for the parameters, |
| the return value and the static chain. |
| |
| 2026-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/122537 |
| * tree-ssa-loop-niter.cc (number_of_iterations_lt_to_ne): Register |
| may_be_zero condition when the IV may overflow. |
| |
| 2026-01-29 Sangamesh Mallayya <swamy.sangamesh@gmail.com> |
| |
| * diagnostics/sarif-sink.cc: Move config.h at the begining. |
| |
| 2026-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123596 |
| * tree-eh.cc (sink_clobbers): Create a virtual PHI when |
| one is required but not present, queuing arguments |
| for renaming. |
| |
| 2026-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/116747 |
| * tree-ssa-phiopt.cc (cond_if_else_store_replacement): Avoid |
| duplicate stmts in the set of store pairs to process. |
| |
| 2026-01-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/36503 |
| * config/i386/i386.md (*<insn:any_shift><mode:SWI48>3_sub): |
| Also allow operands[3] & (<mode_bitsize>-1) == (<mode_bitsize>-1) |
| in insn condition. Emit NOT RTX instead of NEG RTX in this case. |
| (*<insn:any_shift><mode:SWI48>3_sub_1): Ditto. |
| |
| 2026-01-28 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR target/123824 |
| * config/riscv/riscv.cc (riscv_vls_mode_fits_in_gprs_p): New |
| helper. |
| (riscv_pass_vls_aggregate_in_gpr): Use helper and distribute |
| half-fitting vector to GPR and stack. |
| (riscv_pass_aggregate_in_vr): Reformat comment. |
| (riscv_get_arg_info): Use helper. |
| (riscv_pass_by_reference): Ditto. |
| |
| 2026-01-28 Vladimir N. Makarov <vmakarov@redhat.com> |
| |
| PR target/121571 |
| * lra-constraints.cc (process_alt_operands): Reprocess asm insn |
| when there are no enough regs for the asm-insn. |
| |
| 2026-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/123575 |
| * match.pd (abs ((T)x) -> absu (x)): For vector type |
| arguments require the resulting operation is supported. |
| |
| 2026-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/111036 |
| * match.pd (__builtin_constant_p ((T)x)): Strip nop-conversions |
| from __builtin_constant_p arguments. |
| |
| 2026-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/106859 |
| * var-tracking.cc (val_store): Dump -1 as UID if setting_insn |
| is NULL. |
| |
| 2026-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123537 |
| * match.pd (REDUC (@0 & @1) -> @0[I] & @1[I]): Restrict |
| allowed conversions. |
| |
| 2026-01-28 Karl Meakin <karl.meakin@arm.com> |
| |
| * doc/invoke.texi: Document `+sve-bfscale` flag. |
| * config/aarch64/aarch64.h (TARGET_SVE_BFSCALE): New macro. |
| * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): |
| Define `__AARCH64_FEATURE_SVE_BFSCALE`. |
| * config/aarch64/aarch64-sve-builtins-base.cc: Skip constant |
| folding for floating-point or unpredicated multiplications. |
| * config/aarch64/aarch64-sve-builtins-sve2.def: New `SVE_FUNCTION`s. |
| * config/aarch64/aarch64-sve.md: Modify insns for |
| `SVE_COND_FP_BINARY_INT` to handle BF16 modes. |
| * config/aarch64/aarch64-sve2.md |
| (@aarch64_sve_<optab><mode>, @aarch64_sve_<optab><mode>_single): New insn for `BFSCALE`. |
| Modify insns for `UNSPEC_FSCALE` to handle BF16 modes. |
| * config/aarch64/iterators.md (SVE_FULL_F_SCALAR): Add `VNx8BF` to iterator. |
| (SVE_FULL_F_BFSCALE): New iterator. |
| (SVE_Fx24_BFSCALE): New iterator. |
| (SVE_BFx24): New iterator. |
| (UNSPEC_FMUL): New unspec. |
| (V_INT_EQUIV): Add entries for BF16 modes. |
| (b): Add entries for scalar float modes. |
| (is_bf16): Add entries for BF16 modes and reformat. |
| (SVSCALE_SINGLE_INTARG): Likewise. |
| (SVSCALE_INTARG): Likewise. |
| (SVE_FP_MULL): New iterator. |
| |
| 2026-01-28 Pengfei Li <Pengfei.Li2@arm.com> |
| |
| PR middle-end/123447 |
| * expr.cc (expand_expr_real_1): Increase stack slot alignment |
| for STRICT_ALIGNMENT targets. |
| |
| 2026-01-28 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| PR target/123016 |
| * tree-vect-stmts.cc (vectorizable_simd_clone_call): use |
| 'build_truth_vector_type_for_mode' to reconstruct mask's vectype for |
| non-scalar masks. |
| |
| 2026-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/101312 |
| * langhooks.h (struct lang_hooks_for_types): Remove |
| copy_lang_qualifiers. Add build_lang_qualified_type. |
| * langhooks.cc (lhd_build_lang_qualified_type): New function. |
| * langhooks-def.h (lhd_build_lang_qualified_type): Declare. |
| (LANG_HOOKS_COPY_LANG_QUALIFIERS): Remove. |
| (LANG_HOOKS_BUILD_LANG_QUALIFIED_TYPE): Add. |
| (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use |
| LANG_HOOKS_BUILD_LANG_QUALIFIED_TYPE instead of |
| LANG_HOOKS_COPY_LANG_QUALIFIERS. |
| * attribs.cc (build_type_attribute_qual_variant): Use |
| lang_hooks.types.build_lang_qualified_type instead of |
| build_qualified_type and/or build_qualified_type with |
| optional lang_hooks.types.copy_lang_qualifiers call. |
| (attr_access::array_as_string): Use "array " attribute instead of |
| "array". If attribute has been created or intended quals differ |
| from quals of build_array_type, use copy_node and adjust quals and |
| attributes on the copy, print and then ggc_free. |
| |
| 2026-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/123837 |
| * ipa-free-lang-data.cc (find_decls_types_r): Remove C++ annotations |
| from {DECL,TYPE}_ATRIBUTES. |
| |
| 2026-01-28 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/123849 |
| * gimple-ssa-warn-access.cc (new_delete_mismatch_p): Handle |
| DEMANGLE_COMPONENT_EXTENDED_BUILTIN_TYPE like DEMANGLE_COMPONENT_BUILTIN_TYPE. |
| |
| 2026-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/110043 |
| * pointer-query.cc (get_offset_range): Fail for integer |
| types with precision larger than ptrdiff_type_node. |
| |
| 2026-01-28 Hongyu Wang <hongyu.wang@intel.com> |
| |
| PR target/123779 |
| * config/i386/sse.md (*sse4_1_<code>v8qiv8hi2<mask_name>_2): |
| Rename to ... |
| (*sse4_1_<code>v8qiv8hi2_2): ... this, and drop mask conditions. |
| (*avx2_<code>v8qiv8si2<mask_name>_2): Rename to ... |
| (*avx2_<code>v8qiv8si2_2): ... this, and likewise. |
| (*sse4_1_<code>v4qiv4si2<mask_name>_2): Rename to ... |
| (*sse4_1_<code>v4qiv4si2_2): ... this, and likewise. |
| (*sse4_1_<code>v4hiv4si2<mask_name>_2): Rename to ... |
| (*sse4_1_<code>v4hiv4si2_2): ... this, and likewise. |
| (*avx2_<code>v4qiv4di2<mask_name>_2): Rename to ... |
| (*avx2_<code>v4qiv4di2_2): ... this, and likewise. |
| (*avx2_<code>v4hiv4di2<mask_name>_2): Rename to ... |
| (*avx2_<code>v4hiv4di2_2): ... this, and likewise. |
| (*sse4_1_<code>v2hiv2di2<mask_name>_2): Rename to ... |
| (*sse4_1_<code>v2hiv2di2_2): ... this, and likewise. |
| (*sse4_1_<code>v2siv2di2<mask_name>_2): Rename to ... |
| (*sse4_1_<code>v2siv2di2_2): ... this, and likewise. |
| (*avx512f_<code>v8qiv8di2<mask_name>_2): Rename to ... |
| (*avx512f_<code>v8qiv8di2_2): ... this. |
| (*avx512vl_<code>v8qiv8hi2_mask_2): New define_insn_and_split. |
| (*avx512vl_<code>v8qiv8si2_mask_2): Likewise. |
| (*avx512vl_<code>v4qiv4si2_mask_2): Likewise. |
| (*avx512vl_<code>v4hiv4si2_mask_2): Likewise. |
| (*avx512f_<code>v8qiv8di2_mask_2): Likewise. |
| (*avx512vl_<code>v4qiv4di2_mask_2): Likewise. |
| (*avx512vl_<code>v4hiv4di2_mask_2): Likewise. |
| (*avx512vl_<code>v2hiv2di2_mask_2): Likewise. |
| (*avx512vl_<code>v2siv2di2_mask_2): Likewise. |
| |
| 2026-01-28 Nina Ranns <dinka.ranns@gmail.com> |
| Iain Sandoe <iain@sandoe.co.uk> |
| Ville Voutilainen <ville.voutilainen@gmail.com> |
| |
| * doc/invoke.texi: Document -fcontracts-client-check= and |
| -fcontracts-definition-check=. |
| |
| 2026-01-28 Nina Ranns <dinka.ranns@gmail.com> |
| Iain Sandoe <iain@sandoe.co.uk> |
| Ville Voutilainen <ville.voutilainen@gmail.com> |
| |
| * doc/invoke.texi: Document -fcontract-checks-outlined and |
| -fcontract-disable-optimized-checks. |
| |
| 2026-01-28 Nina Ranns <dinka.ranns@gmail.com> |
| Iain Sandoe <iain@sandoe.co.uk> |
| |
| * tree-core.h (struct tree_base): Update tree flag usage comment. |
| |
| 2026-01-28 Nina Ranns <dinka.ranns@gmail.com> |
| Iain Sandoe <iain@sandoe.co.uk> |
| |
| * tree.h (CONST_WRAPPER_P): New. |
| |
| 2026-01-28 Nina Ranns <dinka.ranns@gmail.com> |
| Iain Sandoe <iain@sandoe.co.uk> |
| |
| * doc/invoke.texi: Document -fcontracts-conservative-ipa. |
| |
| 2026-01-28 Iain Sandoe <iain@sandoe.co.uk> |
| Nina Ranns <dinka.ranns@gmail.com> |
| Ville Voutilainen <ville.voutilainen@gmail.com> |
| |
| * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Add cases for contract |
| constant data that need to be in independent link-time 'atoms'. |
| * doc/invoke.texi: Document -fcontracts and |
| -fcontract-evaluation-semantic=. |
| |
| 2026-01-28 Iain Sandoe <iain@sandoe.co.uk> |
| Nina Ranns <dinka.ranns@gmail.com> |
| |
| * doc/invoke.texi: Remove documentation of contracts options. |
| |
| 2026-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/123841 |
| * acinclude.m4 (gcc_GAS_FLAGS) <i?86-*-* | x86_64-*-*>: Set |
| gcc_cv_as_flags irrespective of $gas_flag. |
| * configure: Regenerate. |
| |
| 2026-01-27 David Malcolm <dmalcolm@redhat.com> |
| |
| PR analyzer/122623 |
| * doc/invoke.texi (-fanalyzer-assume-nothrow): New option. |
| |
| 2026-01-27 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR middle-end/97898 |
| * omp-expand.cc (expand_omp_for_static_chunk): Don't |
| conditionalize the call to force_gimple_operand_gsi on DECL_P/TREE_ADDRESSABLE |
| but rather pass that as the 3rd argument. |
| |
| 2026-01-27 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/123619 |
| * ipa-polymorphic-call.cc |
| (ipa_polymorphic_call_context::possible_dynamic_type_change): Remove impossible |
| speuculation. |
| |
| 2026-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (ld_32_opt, ld_64_opt): Set. |
| (ld_ix86_gld_32_opt): Replace by ld_32_opt. |
| (ld_ix86_gld_64_opt): Replace by ld_64_opt. |
| Replace -melf_x86_64 by ld_64_opt. |
| * configure: Regenerate. |
| |
| 2026-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * acinclude.m4 (gcc_cv_as_flags) Provide Solaris settings. |
| Apply Linux/x86 gas settings on all x86 gas targets, too. |
| (as_32_opt, as_64_opt): Set on all x86 gas targets. |
| * configure.ac: Consistenly use as_32_opt, as_64_opt instead of |
| as_ix86_gas_{32,64}_opt or hardcoded --64. |
| <sparc*-*-*>: Simplify setting TLS test code. |
| * configure: Regenerate. |
| |
| 2026-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (fw_as_opt): Set. |
| Replace --fatal-warnings by $fw_as_opt. |
| (tls_as_opt): Remove --fatal-warnings. |
| (gcc_cv_as_tls): Use $fw_as_opt. |
| * configure: Regenerate. |
| |
| 2026-01-27 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/116296 |
| * ipa-modref-tree.cc (modref_access_node::contains): Use |
| poly_offset_int for the param offset difference and the |
| overlap computation. |
| |
| 2026-01-27 Richard Biener <rguenther@suse.de> |
| |
| PR debug/123376 |
| * dwarf2out.cc (tree_add_const_value_attribute): Walk all |
| initializers for early mangling of referenced decls. |
| (mangle_referenced_decls): Also walk subtrees of CONSTRUCTORS. |
| |
| 2026-01-27 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR tree-optimization/123799 |
| * tree-ssa-forwprop.cc (simplify_vector_constructor): Pun |
| conversion element type with integer type. |
| |
| 2026-01-27 Wilco Dijkstra <wilco.dijkstra@arm.com> |
| |
| PR target/123791 |
| * config/aarch64/aarch64.cc (aarch64_cannot_force_const_mem): |
| Always return true for symbols and labels except for large model. |
| (aarch64_select_rtx_section): Force .rodata for constants only. |
| |
| 2026-01-27 Wilco Dijkstra <wilco.dijkstra@arm.com> |
| |
| PR target/123792 |
| * config/aarch64/aarch64.md (aarch64_<optab>_reg_minus<mode>3): |
| Add support for invert in shift count. |
| |
| 2026-01-27 Tobias Burnus <tburnus@baylibre.com> |
| |
| * doc/install.texi (gcn): Require Newlib 4.6.0+, replacing 4.3.0+ |
| requirement with long list of recommended fixes up to post-4.5.0. |
| |
| 2026-01-27 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/122749 |
| * tree-ssa-math-opts.cc (convert_mult_to_fma_1, convert_mult_to_fma): |
| Unwrap converts around addend. |
| |
| 2026-01-26 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/123820 |
| * gimple-ssa-strength-reduction.cc (create_add_on_incoming_edge): Use |
| the correct type for the stride (lhs if non-pointer). |
| |
| 2026-01-26 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR middle-end/123709 |
| * final.cc (output_asm_operand_names): Skip over |
| opnum which is MAX_RECOG_OPERANDS (invalid). |
| (output_asm_insn): Increase opoutput and oporder size |
| by 1. For out of range operands, set the opnum to |
| MAX_RECOG_OPERANDS. |
| |
| 2026-01-26 Filip Kastl <fkastl@suse.cz> |
| |
| * doc/invoke.texi: Document --param auto-profile-reorder-only. |
| * params.opt: Fix spelling. |
| |
| 2026-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/122474 |
| * tree-vectorizer.h (vect_reduc_info_s::neutral_op): New. |
| (VECT_REDUC_INFO_NEUTRAL_OP): New. |
| * tree-vect-loop.cc (vectorizable_reduction): Adjust condition |
| guarding the check for .VEC_SHL_INSERT. |
| |
| 2026-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123755 |
| * tree-vect-stmts.cc (vectorizable_call): Fixup LEN masking |
| of unconditional but possibly trapping calls. |
| |
| 2026-01-26 Victor Do Nascimento <victor.donascimento@arm.com> |
| |
| PR tree-optimization/123657 |
| * tree-vect-loop.cc (vect_analyze_loop_form): Add |
| chrec_dont_know check. |
| |
| 2026-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123794 |
| * tree-vect-slp.cc (vect_remove_slp_scalar_calls): Unlink |
| VOPs for all calls. |
| |
| 2026-01-26 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/122103 |
| PR tree-optimization/123628 |
| * tree-if-conv.cc (if_convertible_simdclone_stmt_p): New. |
| (if_convertible_stmt_p, predicate_statements): Use it. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * gcc-urlifier.cc (test_gcc_urlifier): Match either positive |
| or negative option URLS. |
| |
| 2026-01-25 Roger Sayle <roger@nextmovesoftware.com> |
| |
| PR middle-end/122348 |
| * expr.cc (store_constructor): Ignore fields where DECL_SIZE |
| is NULL_TREE, i.e. flexible array members. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * common.opt.urls: Regenerated. |
| * config/alpha/alpha.opt.urls: Regenerated. |
| * config/arc/arc.opt.urls: Regenerated. |
| * config/arm/arm.opt.urls: Regenerated. |
| * config/avr/avr.opt.urls: Regenerated. |
| * config/bpf/bpf.opt.urls: Regenerated. |
| * config/cris/cris.opt.urls: Regenerated. |
| * config/lynx.opt.urls: Regenerated. |
| * config/m68k/m68k.opt.urls: Regenerated. |
| * config/mcore/mcore.opt.urls: Regenerated. |
| * config/mingw/cygming.opt.urls: Regenerated. |
| * config/mips/mips.opt.urls: Regenerated. |
| * config/mips/sde.opt.urls: Regenerated. |
| * config/mmix/mmix.opt.urls: Regenerated. |
| * config/nvptx/nvptx.opt.urls: Regenerated. |
| * config/rs6000/linux64.opt.urls: Regenerated. |
| * config/rs6000/rs6000.opt.urls: Regenerated. |
| * config/rs6000/sysv4.opt.urls: Regenerated. |
| * config/sh/sh.opt.urls: Regenerated. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * doc/invoke.texi (Option Summary): Fix whitespace in @gccoptlist |
| tables. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * doc/cppopts.texi: Add missing @opindex entries for |
| -fno-* options. |
| * doc/invoke.texi: Likewise. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * doc/cppwarnopts.texi: Add missing @opindex entries for |
| -Wno-* options. |
| * doc/invoke.texi: Likewise. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * doc/cppdiropts.texi: Document -imultiarch. |
| * doc/invoke.texi (Option Summary) <Optimization Options>: Add |
| -flto-toplevel-asm-heuristics. |
| <Program Instrumentation Options>: Remove -fbounds-check. |
| <Directory Options>: Add -imultiarch. |
| <ARC Options>: Add -mbitops, -mcmem, -munaligned-access. |
| <ARM Options>: Add -mvectorize-with-neon-quad and |
| -mvectorize-with-neon-double. |
| <AVR Options>: Add -mrmw and -mstrict-X. |
| <CRIS Options>: Fix typo in -mmax-stackframe. |
| <Cygwin and MinGW Options>: Add -muse-libstdc-wrappers. |
| <M680x0 Options>: Add several missing CPU options, plus -mxtls. |
| <MIPS Options>: Add -mno-data-in-code and -mcode-xonly. |
| <MMIX Options>: Add mset-data-start, -mset-program-start, and |
| -mno-set-program-start. |
| <Nvidia PTX Options>: Add -msoft-stack-reserve-local. |
| <RS/6000 and PowerPC Options>: Add -mprofile-kernel, -mbit-word, |
| -mno-splat-word-constant, -mno-splat-float-constant, |
| -mno-ieee128-constant, and -mno-warn-altivec-long. |
| (Optimization Options): Document -flto-toplevel-asm-heuristics. |
| (ARC Options): Document -mbitops and -mcmem. |
| (ARM Options): Add index entries for mbe32, |
| m[no-]fix-cortex-a57-aes-1742098, m[no-]fix-cortex-a72-aes-1655431. |
| Document -mvectorize-with-neon-quad and -mvectorize-with-neon-double. |
| (AVR Options): Document -mpmem-wrap-around. |
| (CRIS Options): Fix typo in -mmax-stackframe. |
| (Cygwin and MinGW Options): Document -muse-libstdc-wrappers. |
| (DEC Alpha Options): Fix typo in -mfp-regs. |
| (eBPF Options): Add @opindex for -mframe-limit. |
| (HPPA Options): Fix typos in -mno-disable-fpregs and -mno-gas |
| index entries. |
| (m680x0 Options): Document -m68302, -m68332, -m68851, and -mfidoa. |
| Document -mnoshort and -mnortd aliases. Document -mxtls. |
| (MCore Options): Fix typos in -m[no-]relax-immediates. |
| (MIPS Options): Document -mno-data-in-code and -mcode-xonly. |
| (MMIX Options): Document -mset-data-start, -mset-program-start, and |
| -mno-set-program-start. |
| (Nvidia PTX Options): Document -msoft-stack-reserve-local. |
| (RS/6000 and PowerPC Options): Document -mprofile-kernel, |
| -mbit-word, -msplat-word-constant, -msplat-float-constant, |
| -mieee128-constant, and -mwarn-altivec-long. |
| (SH Options): Add index entry for -m2e. Document -m4-400. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * common.opt (fbounds-check): Mark as Undocumented, expand comments |
| to explain why. |
| * config/frv/frv.opt (msched-lookahead=): Mark unused option as |
| Undocumented. |
| * config/m68k/m68k.opt (m68851): Add RejectNegative. |
| * config/nvptx/nvptx.opt (minit-regs=): Mark as Undocumented. It's |
| not currently documented and seems to have been introduced as a |
| stopgap to experiment with different implementation strategies. |
| * config/rs6000/476.opt (mpreserve-link-stack): Mark as Undocumented. |
| It seems to be an internal option that is enabled by default on the |
| cpu that can benefit from it. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * common.opt (gtoggle): Mark RejectNegative. |
| * doc/invoke.texi (Option Summary) <Debugging Options>: Remove |
| redundant -gno- forms from the list. |
| (Debugging Options): Add @opindex for -gno- option forms. |
| Copy-edit option descriptions to avoid future tense and use of |
| implementor jargon. |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/67300 |
| * common.opt (foffload-abi, foffload-abi-host-opts): Mark |
| "Undocumented". |
| |
| 2026-01-25 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * doc/invoke.texi (Option Summary) <LynxOS Options>: New. |
| (LynxOS Options): New section. |
| |
| 2026-01-24 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/123803 |
| * gimple-ssa-strength-reduction.cc (replace_rhs_if_not_dup): For |
| pointer lhs use sizetype. |
| |
| 2026-01-23 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR target/123780 |
| * config/riscv/vector.md: Correct output template. |
| |
| 2026-01-23 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR tree-optimization/123767 |
| * tree-vect-stmts.cc (vectorizable_store): Only scale offset |
| once. |
| (vectorizable_load): Ditto. |
| |
| 2026-01-23 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/123778 |
| * genmatch.cc (parser::parse_expr): Peek on the next |
| token after eating the `!` or `^`. |
| * match.pd (`(op (cnd @0 @1 @2) @3)`, `(op @3 (cnd @0 @1 @2))`): |
| Add the type to resulting op. |
| |
| 2026-01-23 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/120258 |
| PR tree-optimization/106883 |
| * gimple-ssa-strength-reduction.cc (replace_mult_candidate): Allow for |
| basis_name and bump_tree not to be the same type as the lhs. |
| Rewrite added multiply for undefined overflow. |
| (create_add_on_incoming_edge): Allow for init |
| to be a different type from the wanted type. |
| Rewrite added add for undefined overflow. |
| (replace_rhs_if_not_dup): Rewrite replaced stmts |
| for undefined overflow. |
| (replace_one_candidate): Allow for basis_name and |
| rhs2 to be a different type from lhs. |
| |
| 2026-01-23 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/106883 |
| * gimple-ssa-strength-reduction.cc (create_add_on_incoming_edge): Rewrite |
| the new addition on the edge too. |
| |
| 2026-01-23 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| * gimple-ssa-strength-reduction.cc (introduce_cast_before_cand): Use |
| gimple_convert instead of manually creating the gimple_assign. |
| |
| 2026-01-23 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/121347 |
| PR tree-optimization/106883 |
| * gimple-ssa-strength-reduction.cc (insert_initializers): Rewrite |
| newly inserted statements for undefinedness (overflow). |
| |
| 2026-01-23 Peter Bergner <bergner@tenstorrent.com> |
| |
| PR target/123492 |
| * config/riscv/riscv-cores.def (RISCV_CORE): Add zvfbfmin to |
| tt-ascalon-d8. |
| |
| 2026-01-23 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/123776 |
| * gimple-fold.cc (gimple_fold_partial_load_store): Copy |
| the vdef from the old statement to the new statement of a |
| load that is also a store to non gimple_reg. |
| |
| 2026-01-23 Richard Sandiford <rdsandiford@googlemail.com> |
| |
| PR rtl-optimization/80357 |
| PR rtl-optimization/94014 |
| PR rtl-optimization/123144 |
| * haifa-sched.cc (model_recompute): Ignore dying uses of registers |
| that are not assumed to be live. |
| |
| 2026-01-23 Richard Biener <rguenther@suse.de> |
| |
| * match.pd ((convert (vec_cond ...))): Make sure the |
| resulting vec_cond can be expanded. |
| |
| 2026-01-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/123775 |
| * match.pd ((view_convert (vec_cond ...))): Make sure the |
| resulting vec_cond can be expanded. |
| |
| 2026-01-23 Kyrylo Tkachov <ktkachov@nvidia.com> |
| |
| Revert: |
| 2026-01-20 Kyrylo Tkachov <ktkachov@nvidia.com> |
| |
| PR target/123584 |
| * config/aarch64/aarch64-sve2.md (@aarch64_sve2_xar<mode>): Use |
| aarch64_simd_rshift_imm predicate for rotate amount. |
| |
| 2026-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/123703 |
| * builtins.cc (fold_builtin_abs): Return NULL_TREE if type is not |
| integral. |
| |
| 2026-01-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123771 |
| * tree-vect-loop.cc (vectorizable_induction): Convert step |
| also for VLA vectors. |
| |
| 2026-01-23 Richard Biener <rguenther@suse.de> |
| |
| * config/i386/i386.cc (ix86_vector_costs::finish_cost): |
| Avoid selecting masked epilogs for in-order reductions. |
| |
| 2026-01-23 Hongyu Wang <hongyu.wang@intel.com> |
| |
| * config/i386/sse.md (avx2_vbroadcasti128_<mode>): Constraint |
| alternative 0 with jm and add gpr16 attr to avoid egpr usage. |
| |
| 2026-01-22 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/123742 |
| * config/arm/neon.md (*smin<mode>3_neon): Renamed to ... |
| (*smin<VDQWH:mode>3_neon): ... this. Add HFmode support. |
| (*smax<mode>3_neon): Renamed to ... |
| (*smax<VDQWH:mode>3_neon): ... this. Add HFmode support. |
| |
| 2026-01-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123741 |
| * tree-vect-stmts.cc (vectorizable_store): Add missing check |
| on loop vectorization. |
| |
| 2026-01-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| * tree-vrp.cc (remove_unreachable::fully_replaceable): Fix typo |
| in comment. |
| |
| 2026-01-22 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR tree-optimization/123731 |
| * tree-ssa-forwprop.cc (simplify_vector_constructor): Handle nop |
| conversion between during extraction. |
| |
| 2026-01-22 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR target/122869 |
| * config/riscv/riscv-vector-builtins-bases.cc (fold_fault_load): |
| Remove |
| * config/riscv/riscv-vector-builtins.cc (function_expander::use_contiguous_load_insn): |
| Use new helper. |
| (function_expander::prepare_contiguous_load_insn): New helper. |
| (function_expander::use_fof_load_insn): New function to emit FoF |
| loads. |
| * config/riscv/riscv-vector-builtins.h: Declare new functions. |
| |
| 2026-01-22 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR target/123279 |
| * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): |
| Add VECTOR_EXT_NO_XTHEAD. |
| (vlm): Move to VECTOR_EXT_NO_XTHEAD. |
| (vsm): Ditto. |
| (vzext): Ditto. |
| (vsext): Ditto. |
| (vaaddu): Ditto. |
| (vaadd): Ditto. |
| (vasubu): Ditto. |
| (vasub): Ditto. |
| (vfrsqrt7): Ditto. |
| (vfrec7): Ditto. |
| (vfrec7_frm): Ditto. |
| (vfslide1up): Ditto. |
| (vfslide1down): Ditto. |
| (vluxei8): Ditto. |
| (vluxei16): Ditto. |
| (vluxei32): Ditto. |
| (vluxei64): Ditto. |
| (vsuxei8): Ditto. |
| (vsuxei16): Ditto. |
| (vsuxei32): Ditto. |
| (vsuxei64): Ditto. |
| (vluxseg): Ditto. |
| (vsuxseg): Ditto. |
| (vrgatherei16): Ditto. |
| (vlseg): Keep. |
| (vsseg): Keep. |
| (vlsseg): Keep. |
| (vssseg): Keep. |
| (vloxseg): Keep. |
| (vsoxseg): Keep. |
| (vlsegff): Keep. |
| * config/riscv/riscv-vector-builtins.cc (GTY): Split |
| registered_functions into multiple partitions. |
| (is_fractional_lmul): New function. |
| (xthvector_unsupported_p): Ditto. |
| (get_builtin_partition): Ditto. |
| (function_builder::add_function): Use new functions. |
| (lookup_registered_function): Ditto. |
| (builtin_decl): Use lookup_registered_function. |
| (gimple_fold_builtin): Ditto. |
| (expand_builtin): Ditto. |
| (check_builtin_call): Ditto. |
| (resolve_overloaded_builtin): Ditto. |
| * config/riscv/riscv-vector-builtins.h (enum required_ext): |
| (enum rvv_builtin_partition): New enum. |
| (required_ext_to_isa_name): Add NO_XTHEAD. |
| (required_extensions_specified): Ditto. |
| * config/riscv/riscv-vector-switch.def (ENTRY): Remove |
| XTheadVector. |
| (TUPLE_ENTRY): Ditto. |
| * config/riscv/riscv.cc (riscv_expand_mult_with_const_int): Fix |
| whitespace. |
| (riscv_legitimize_poly_move): Ditto. |
| (riscv_vector_fractional_lmul_p): New function. |
| (riscv_validate_vector_type): Use new function. |
| |
| 2026-01-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123755 |
| * tree-vect-stmts.cc (vectorizable_call): Register mask when |
| the call could trap. |
| |
| 2026-01-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123756 |
| * tree-vect-loop.cc (vect_transform_reduction): Remove |
| bogus assert. |
| |
| 2026-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/123736 |
| * tree-ssa-loop-unswitch.cc (hoist_guard): Guard dump message |
| on dump_file && (dump_flags & TDF_DETAILS) condition. |
| |
| 2026-01-22 David Malcolm <dmalcolm@redhat.com> |
| |
| PR diagnostics/122622 |
| * diagnostics/paths-output.cc: Include "diagnostics/file-cache.h". |
| (event_range::print_as_text): Generalize the fallback logic for |
| special locations to also cover the case where source-printing |
| will fail, and show the location for that case. |
| (event_range::print_as_html): Likewise. |
| (event_range::can_print_source_p): New. |
| |
| 2026-01-22 liuhongt <hongtao.liu@intel.com> |
| |
| PR target/123631 |
| * config/i386/i386-expand.cc (ix86_vector_duplicate_value): |
| Don't force CONST_INT to reg !TARGET_PREFER_BCST_FROM_INTEGER, |
| force it to mem instead. |
| * config/i386/i386.h (TARGET_PREFER_BCST_FROM_INTEGER): New macro. |
| * config/i386/x86-tune.def |
| (X86_TUNE_PREFER_BCST_FROM_INTEGER): New tune. |
| |
| 2026-01-21 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> |
| |
| PR target/122781 |
| * config/s390/vector.md: Don't emulate vec_cmpgtu for 128-bit |
| integers for VXE3. |
| |
| 2026-01-20 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| PR rtl-optimization/123380 |
| * combine.cc (gen_lowpart_for_combine): Don't try to create a |
| paradoxical SUBREG if it's going to be rejected by validate_subreg. |
| |
| 2026-01-20 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| PR target/123626 |
| * config/riscv/vector.md (vxrm_mode): Handle CALL_INSNs, which set |
| the attribute to the new VXRM_MODE_CLOBBER state. |
| * config/riscv/riscv.cc (riscv_emit_mode_set): Don't emit code when |
| VXRM's state changes to VXRM_MODE_CLOBBER. |
| |
| 2026-01-20 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/123314 |
| * gimple-range.cc (gimple_ranger::range_on_entry): Do not check |
| ranger cache for an SSA_NAME with no BB. |
| (gimple_ranger::prefill_stmt_dependencies): Stop filling |
| dependencies when an out-of IL name is encountered. |
| |
| 2026-01-20 supers1ngular <supers1ngular@baylibre.com> |
| |
| * doc/extend.texi: Swap samp fields to fix overfull hbox. |
| * doc/invoke.texi: Ditto. |
| |
| 2026-01-20 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> |
| |
| PR c++/123639 |
| * doc/invoke.texi: Add @item for -Wsfinae-incomplete. |
| |
| 2026-01-20 Nathan Sidwell <nathan@acm.org> |
| |
| * diagnostics/context.cc (context::action_after_output): Print |
| invocation on ICE. |
| |
| 2026-01-20 David Malcolm <dmalcolm@redhat.com> |
| |
| PR sarif-replay/123056 |
| * libsarifreplay.cc (struct embedded_link): Move decl earlier. |
| (sarif_replayer::append_embeddded_link): New. |
| (sarif_replayer::make_plain_text_within_result_message): Move the |
| link-replay logic to the above, and skip the link part of |
| intra-sarif links. |
| |
| 2026-01-20 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.cc (TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P): |
| Return true when WITH_AVRLIBC. |
| |
| 2026-01-20 Alfie Richards <alfie.richards@arm.com> |
| |
| * config/aarch64/aarch64.md: Update comment. |
| * config/aarch64/aarch64-simd.md: Change comment to refer to |
| aarch64.md. |
| * config/aarch64/aarch64-sme.md: Likewise. |
| * config/aarch64/aarch64-sve.md: Likewise. |
| * config/aarch64/aarch64-sve2.md: Likewise. |
| * config/aarch64/aarch64-sve-builtins.def: Update comment. |
| * config/aarch64/aarch64-sve-builtins-base.def: Update to refer |
| to aarch64-sve-builtins.def. |
| * config/aarch64/aarch64-sve-builtins-sme.def: Likewise. |
| * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. |
| |
| 2026-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/123724 |
| * config/aarch64/aarch64.cc (aarch64_possible_by_lane_insn_p): Ignore |
| debug stmts. |
| |
| 2026-01-20 Roger Sayle <roger@nextmovesoftware.com> |
| |
| PR rtl-optimization/123585 |
| * simplify-rtx.cc (simplify_context::simplify_binary_operation_1) |
| <case VEC_SELECT>: Correct gcc_assert when optimizing a vec_select |
| of a vec_select with differing vector lengths. |
| |
| 2026-01-20 Kyrylo Tkachov <ktkachov@nvidia.com> |
| |
| PR target/123584 |
| * config/aarch64/aarch64-sve2.md (@aarch64_sve2_xar<mode>): Use |
| aarch64_simd_rshift_imm predicate for rotate amount. |
| |
| 2026-01-20 Kyrylo Tkachov <ktkachov@nvidia.com> |
| |
| PR target/123584 |
| * config/aarch64/aarch64-simd.md (aarch64_xarqv2di): Leave zero |
| rotate amounts as zero during expansion. |
| (*aarch64_xarqv2di_insn): Account for zero rotate amounts. Print # |
| in rotate immediate. |
| |
| 2026-01-20 Prachi Godbole <pgodbole@nvidia.com> |
| |
| * flag-types.h (enum lto_locality_heuristics): New enum. |
| * ipa-locality-cloning.cc (struct templ_info): New struct. |
| (struct locality_info): Add templ_info field. |
| (templ_hash_map): New hash_map. |
| (callee_templ_cmp): Ditto. |
| (static_profile_templ_cmp): Ditto. |
| (sort_templ_hashes_cmp): Ditto. |
| (order_templ_hashes): Ditto. |
| (locality_dc_template_p): Ditto. |
| (populate_templ_info): Ditto. |
| (create_locality_info): Call populate_templ_info. |
| (partition_callchain): Call callee_templ_cmp. |
| (locality_determine_static_order): Populate and sort templ_hash_map. |
| (locality_partition_and_clone): Handle lto_locality_heuristics. |
| (lc_execute): Initialize templ_hash_map. |
| * params.opt: New param. |
| |
| 2026-01-20 Prachi Godbole <pgodbole@nvidia.com> |
| |
| * ipa-locality-cloning.cc (struct locality_callee_info): New struct. |
| (struct locality_info): Ditto. |
| (loc_infos): Ditto. |
| (get_locality_info): New function. |
| (sort_all_callees_default): Ditto. |
| (callee_default_cmp): Ditto. |
| (populate_callee_locality_info): Ditto. |
| (populate_caller_locality_info): Ditto. |
| (create_locality_info): Ditto. |
| (adjust_recursive_callees): Access node_to_clone by reference. |
| (inline_clones): Access node_to_clone and clone_to_node by reference. |
| (clone_node_as_needed): Ditto. |
| (accumulate_incoming_edge_frequency): Remove function. |
| (clone_node_p): New function. |
| (partition_callchain): Refactor the function. |
| (is_entry_node_p): Call local_p (). |
| (locality_determine_ipa_order): Call create_locality_info (). |
| (locality_determine_static_order): Ditto. |
| (locality_partition_and_clone): Update call to partition_callchain () |
| according prototype. |
| (lc_execute): Allocate and free node_to_ch_info, node_to_clone, |
| clone_to_node. |
| |
| 2026-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/123697 |
| * gimple-fold.cc (gimple_fold_partial_load_store): Use an |
| empty CTOR for a zero else value in .MASK_LOAD_LANES. |
| |
| 2026-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123729 |
| * tree-vect-loop.cc (vect_create_epilog_for_reduction): Set |
| SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the reduction flows |
| across an abnomal edge. |
| |
| 2026-01-20 Richard Biener <rguenther@suse.de> |
| |
| * tree-phinodes.h (phi_arg_index_from_use): Use gphi *. |
| (phi_arg_edge_from_use): New helper composing |
| phi_arg_index_from_use and gimple_phi_arg_edge. |
| |
| 2026-01-19 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| PR rtl-optimization/121787 |
| * config/riscv/riscv-vsetvl.cc (pre_vsetvl): Adjust call to |
| loop_optimizer_init to avoid making CFG changes. |
| |
| 2026-01-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/sol2.opt.urls: Regenerate. |
| * config/darwin.opt.urls: Likewise. |
| * config/dragonfly.opt.urls: Likewise. |
| * config/freebsd.opt.urls: Likewise. |
| * config/gnu-user.opt.urls: Likewise. |
| * config/hpux11.opt.urls: Likewise. |
| * config/i386/cygwin.opt.urls: Likewise. |
| * config/mingw/mingw.opt.urls: Likewise. |
| * config/netbsd.opt.urls: Likewise. |
| * config/openbsd.opt.urls: Likewise. |
| * config/rs6000/aix64.opt.urls: Likewise. |
| * config/rtems.opt.urls: Likewise. |
| |
| 2026-01-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/sol2.h (CPP_SUBTARGET_SPEC): Remove. |
| * config/sol2.opt (pthread): Ignore. |
| (pthreads): Likewise. |
| * config/i386/sol2.h (CPP_SPEC): Remove. |
| (SUBTARGET_CPU_EXTRA_SPECS): Remove cpp_subtarget. |
| * doc/invoke.texi (Solaris 2 Options, pthread): Remove. |
| |
| 2026-01-19 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR target/113666 |
| * fold-const-call.cc (fold_const_vec_extract): New function. |
| (fold_const_call, case CFN_VEC_EXTRACT): Call it. |
| * match.pd (IFN_VEC_EXTRACT): Handle extraction from a uniform |
| vector. |
| |
| 2026-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123061 |
| PR tree-optimization/123636 |
| * tree-ssa-loop-im.cc (fill_always_executed_in_1): Change |
| outer-to-inner to inner-to-outer iteration. Update inner |
| loop state only when always executed in an immediately |
| nested loop. |
| |
| 2026-01-19 Tobias Burnus <tburnus@baylibre.com> |
| |
| * doc/install.texi (GCN): gfx9-4-generic requires LLVM 20. |
| |
| 2026-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123602 |
| * tree-ssa-pre.cc (find_or_generate_expression): Do not |
| generate references to abnormal SSA names. |
| |
| 2026-01-19 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> |
| |
| * config.gcc: Deprecate -m31. |
| * doc/invoke.texi: Deprecate -m31. |
| |
| 2026-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/123656 |
| * tree-vect-generic.cc (expand_vector_mult): Fix up alg_sub_factor |
| handling. Fix up formatting in alg_add_t_m2 handling. |
| |
| 2026-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR target/123603 |
| * config/i386/i386.opt (-param=ix86-vect-compare-costs=): Add. |
| * config/i386/i386.cc (ix86_autovectorize_vector_modes): Honor it. |
| * doc/invoke.texi (ix86-vect-compare-costs): Document. |
| |
| 2026-01-19 Lulu Cheng <chenglulu@loongson.cn> |
| |
| PR target/117575 |
| * config/loongarch/lasx.md: Modify the range of operand1. |
| |
| 2026-01-18 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/123645 |
| * tree-ssa-phiopt.cc (cond_removal_in_builtin_zero_pattern): Rewrite |
| the canonicalization of the args code based on e1/e2 being edges into |
| the join block. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * config/darwin.opt.urls: Regenerated. |
| * config/dragonfly.opt.urls: Regenerated. |
| * config/freebsd.opt.urls: Regenerated. |
| * config/gnu-user.opt.urls: Regenerated. |
| * config/hpux11.opt.urls: Regenerated. |
| * config/i386/cygwin.opt.urls: Regenerated. |
| * config/i386/i386.opt.urls: Regenerated. |
| * config/mingw/mingw.opt.urls: Regenerated. |
| * config/nds32/nds32.opt.urls: Regenerated. |
| * config/netbsd.opt.urls: Regenerated. |
| * config/nvptx/nvptx.opt.urls: Regenerated. |
| * config/openbsd.opt.urls: Regenerated. |
| * config/pru/pru.opt.urls: Regenerated. |
| * config/riscv/riscv.opt.urls: Regenerated. |
| * config/rl78/rl78.opt.urls: Regenerated. |
| * config/rs6000/aix64.opt.urls: Regenerated. |
| * config/rs6000/rs6000.opt.urls: Regenerated. |
| * config/rs6000/sysv4.opt.urls: Regenerated. |
| * config/rtems.opt.urls: Regenerated. |
| * config/rx/rx.opt.urls: Regenerated. |
| * config/s390/s390.opt.urls: Regenerated. |
| * config/s390/tpf.opt.urls: Regenerated. |
| * config/sh/sh.opt.urls: Regenerated. |
| * config/sol2.opt.urls: Regenerated. |
| * config/sparc/sparc.opt.urls: Regenerated. |
| * config/v850/v850.opt.urls: Regenerated. |
| * config/vax/vax.opt.urls: Regenerated. |
| * config/vxworks.opt.urls: Regenerated. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/nds32/nds32.opt: Tidy documentation strings. |
| (mbig-endian, mlittle-endian): Remove "Undocumented" flag since |
| these are, in fact, documented. |
| * doc/invoke.texi (Option Summary) <NDS32 Options>: Document |
| -EB, -EL, -mabi, -mfloat-abi, -malways-align, -malign-functions, |
| -mfp-as-gp, -mext-dsp, -mext-fpu-fma, -mext-fpu-sp, -mext-fpu-dp, |
| -misr-vector-size, -misr-secure, -mcpu, -mconfig-fpu, |
| -mconfig-mul, -mconfig-register-ports, -mrelax-hint, |
| -msched-prolog-epilog, -mno-ret-in-naked-func, -malways-save-lp, |
| -munaligned-access, and -minline-asm-r15. |
| (NDS32 Options): Likewise. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/xtensa/uclinux.opt (elf2flt, elf2flt=): Mark as Undocumented. |
| * config/xtensa/xtensa.opt (mlra): Likewise. |
| * doc/invoke.texi (Option Summary) <Xtensa Options>: Remove |
| redundant negative forms plus obsolete -mfused-madd option. |
| (Xtensa Options): Likewise undocument -mfused-madd. List |
| negative form of -mforce-no-pic. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/i386/i386.opt (malign-functions): Mark undocumented/unused |
| option as Undocumented. |
| (malign-jumps): Likewise. |
| (malign-loops): Likewise. |
| (mbranch-cost, mforce-drap): Mark undocumented options likely |
| intended for developer use only as Undocumented. |
| (mstv): Correct sense of option in doc string. |
| (mavx512cd): Remove extra "and" from doc string. |
| (mavx512dq): Likewise. |
| (mavx512bw): Likewise. |
| (mavx512vl): Likewise. |
| (mavx512ifma): Likewise. |
| (mavx512bvmi): Likewise. |
| * doc/invoke.texi (Options Summary) <x86 Options>: Add |
| missing options. Correct whitespace and re-wrap long lines. |
| Remove -mthreads which is now classed as a MinGW option. |
| (Cygwin and MinGW Options): Replace existing documentation of |
| -mthreads with the more detailed text moved from x86 Options. |
| (x86 Options): Move introductory text about ISA extensions before |
| the individual options instead of after. Document them all |
| individually instead of as a group, and move immediately after |
| -march/-mtune documentation. Rewrap long lines. Document |
| interaction between SSE and AVX with -mfpmath=sse. Move -masm |
| documentation farther down instead of grouped with options |
| affecting floating-point behavior. Add missing @opindex |
| entries. Rewrite the -mdaz-ftz documentation. Document |
| -mstack-arg-probe. Copy-editing. Document -mstv. Remove |
| obsolete warning about -mskip-rax-setup in very old GCC versions. |
| Rewrite the -mapx-inline-asm-use-gpr32 documentation. |
| Document -mgather and -mscatter. Split -miamcu documentation |
| from -m32/-m64/etc. Rewrite -munroll-only-small-loops documentation. |
| Document -mdispatch-scheduler. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * doc/invoke.texi (Option Summary) <VxWorks Options>: Add -mvthreads. |
| (VxWorks Options): Likewise. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/vms/vms.opt (map): Mark as Undocumented. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/visium/visium.opt (menable-trampolines): Mark Undocumented. |
| * doc/invoke.texi (Options Summary) <Visium Options>: Remove |
| redundant -mno- option. |
| (Visium Options): Copy-editing to put in active voice and add markup. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/vax/elf.opt (mno-asm-pic): Mark as Undocumented. |
| * doc/invoke.texi (Option Summary) <VAX Options>: Add |
| -mvaxc-alignment and -mqmath. |
| (VAX Options): Likewise. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/v850/v850.opt: Copy-edit documentation strings. |
| (mdebug): Make Undocumented. |
| (mno-strict-align): Add RejectNegative. |
| (mUS-bit-set): Make Undocumented. |
| * doc/invoke.texi (Option Summary) <V850 Options>: Remove |
| redundant -mno- forms from list. Add missing entries. |
| (V850 Options): Add @opindex for negative forms. Combine |
| entries for -mapp-regs and -mno-app-regs. Document -msmall-sld, |
| -mno-strict-align, and -mjump-tables-in-data-section. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * doc/invoke.texi (Option Summary) <SPARC Options>: Remove |
| redundant -mno- forms from the list. Add -mptr32 and -mptr64. |
| (SPARC Options): Document -mptr32 and -mptr64. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * doc/invoke.texi (Option Summary) <Solaris 2 Options>: |
| Remove redundant negative option forms from list. List both |
| -pthread and -pthreads. |
| (Solaris 2 Options): Index and list the negative forms here. |
| Combine the two @table environments. Document both -pthread |
| and -pthreads. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/sh/sh.opt (mhitachi, mpadstruct): Mark obsolete options |
| as Undocumented. |
| * doc/invoke.texi (Option Summary) <SH Options>: Add missing |
| entries for -m4-* and other options. Remove redundant -mno- entries |
| and obsolete options. Add missing options -mfdpic, -mlra. |
| (SH Options): Combine entries for -mrenesas and -mno-renesas. |
| Index and list -mno- forms for other options that have them. |
| Remove documentation for obsolete options -mpadstruct and |
| -mfused-madd. Add documentation for -mlra. Copy-edit and wrap long |
| lines throughout the section. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/s390/s390.opt (mbranch-cost): Mark as Undocumented. |
| * config/s390/tpf.opt (mtpf-trace-hook-prologue-check=): Likewise. |
| (mtpf-trace-hook-prologue-target=): Likewise. |
| (mtpf-trace-hook-epilogue-check=): Likewise. |
| (mtpf-trace-hook-epilogue-target=): Likewise. |
| * doc/invoke.texi (Option Summary) <S/390 and zSeries Options>: |
| Remove redundant -mno- entries and add missing options. Make |
| entries with arguments match the syntax in the main documentation. |
| (S/390 and zSeries Options): Light copy-editing. Wrap overly-long |
| lines. Add missing @opindex entries. Add documention for |
| -mmain, -mno-pic-data-is-text-relative, -mindirect-branch, |
| -mindirect-branch-jump, -mindirect-branch-call, |
| -mfunction-return, -mfunction-return-mem, -mfunction-return-reg, |
| -mindirect-branch-table, -mfentry, -mrecord-mcount, -mnop-mcount, |
| -mpreserve-args, and -munaligned-symbols. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/rx/rx.opt (mgcc-abi, mrx-abi): Mark as Undocumented. |
| * doc/invoke.texi (Option Summary) <RX Options>: Remove redundant |
| entries for -mno-forms, correct name of -msmall-data-limit option, |
| add -mlra, clean up formatting. |
| (RX Options): Minor copy-editing, add -mlra. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| * config/rs6000/darwin.opt (Waltivec-long-deprecated): Mark as |
| Undocumented. |
| (faltivec, ffix-and-continue, findirect-data): Likewise. |
| * config/rs6000/rs6000.opt (mvrsave): Likewise. |
| * config/rs6000/sysv4.opt (mno-toc, mtoc, mno-traceback): Likewise. |
| (mshlib, mnewlib): Likewise. |
| * doc/invoke.texi (Option Summary) <RS/6000 and PowerPC Options>: |
| Document only one form of each option. Add missing options. |
| Correct whitespace. |
| (RS/6000 and PowerPC Options): Separately document -mpowerpc-gpopt, |
| -mpowerpc-gfxopt, -mpowerpc64, -mmfcrf, -mpopcntb, -mpopcntd, |
| -mfprnd, -mcmpb, and -mhard-dfp and move their documentation after |
| -mcpu=. Remove documentation for -mtoc which is unimplemented. |
| Add missing @opindex entries. Minor copy-editing and whitespace |
| fixes. |
| |
| 2026-01-17 Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/122243 |
| PR target/71340 |
| * doc/invoke.texi (Option Summary) <RL78 Options>: Remove |
| never-implemented -m64bit-doubles and -m32bit-doubles options. |
| Add missing entries for -mrelax, -mes0, -mmul=rl78, -mcpu=rl78, |
| and -mrl78. |
| (RL78 Options): Likewise. Add missing @opindex entries. |
| Light copy-editing. |
| |
| 2026-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/123513 |
| * tree.cc (valid_new_delete_pair_p): If new_name[3] or delete_name[3] |
| is 'I', return false with *pcertain set to false rather than true. |
| |
| 2026-01-16 Kugan Vivekanandarajah <kvivekananda@nvidia.com> |
| |
| * hierarchical_discriminator.cc (init_copyid_allocator): Walks the function |
| body to find existing max copyids per location. |
| (record_existing_copyid): New. |
| |
| 2026-01-16 Alice Carlotti <alice.carlotti@arm.com> |
| |
| PR target/123460 |
| * config.gcc: Accept hyphens in aarch64 --with-arch extensions. |
| |
| 2026-01-16 David Malcolm <dmalcolm@redhat.com> |
| |
| PR analyzer/123145 |
| * timevar.def (TV_ANALYZER_SUPERGRAPH): Rename to... |
| (TV_ANALYZER_SUPERGRAPH_CREATION): ...this. |
| (TV_ANALYZER_SUPERGRAPH_FIXUP_LOCATIONS): New. |
| (TV_ANALYZER_SUPERGRAPH_SIMPLIFY): New. |
| (TV_ANALYZER_SUPERGRAPH_SORTING): New. |
| |
| 2026-01-16 Vladimir N. Makarov <vmakarov@redhat.com> |
| |
| PR target/123092 |
| * lra-constraints.cc (lra_constraints): Push insn on processing |
| stack after equivalence substitution. |
| |
| 2026-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR pch/110746 |
| * config/host-freebsd.cc: New file. |
| * config.host <*-*-freebsd*>: Use it. |
| * config/x-freebsd: New file. |
| |
| 2026-01-16 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/123412 |
| * ipa-cp.cc (devirtualization_time_bonus): Do add the indirect |
| edge frequency at least once even for targets which cannot be |
| inlined. |
| |
| 2026-01-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/123607 |
| * config/i386/i386.md (movhf_mask): Change constraint on |
| match_operand 2's second alternative from 0C to 0. |
| |
| 2026-01-16 Lulu Cheng <chenglulu@loongson.cn> |
| |
| PR target/123521 |
| * config/loongarch/loongarch.cc |
| (loongarch_expand_vector_init_same): Fixed a bug in the |
| vector initialization section.. |
| |
| 2026-01-16 David Guillen Fandos <david@davidgf.net> |
| |
| * config/mips/mips.h (ISA_HAS_FMIN_FMAX): Add R5900; |
| note that, R5900 is not IEEE754 fully compatiable. |
| |
| 2026-01-15 Marek Polacek <polacek@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/120775 |
| PR c++/123081 |
| PR c++/122634 |
| * attribs.cc (attribute_value_equal): Return false if either attribute |
| is ATTR_UNIQUE_VALUE_P. |
| (merge_attributes): Handle lists with ATTR_UNIQUE_VALUE_P values. |
| * doc/invoke.texi: Document -freflection. |
| * dwarf2out.cc (is_base_type) <case default>: Check |
| TREE_CODE >= LAST_AND_UNUSED_TREE_CODE instead of is_cxx_auto. |
| (gen_type_die_with_usage): For TREE_CODE >= LAST_AND_UNUSED_TREE_CODE |
| trees use use DW_TAG_unspecified_type. |
| * tree-core.h (struct tree_base): Update a comment. |
| * tree.h (ATTR_UNIQUE_VALUE_P): Define. |
| (BINFO_BASE_ACCESSES): Update the comment. |
| |
| 2026-01-15 Peter Damianov <peter0x44@disroot.org> |
| |
| PR driver/123504 |
| * config/i386/cygming.h (EXTRA_DEFAULT_COMPILERS): Comment out |
| .res spec to allow COFF files with .res extension to pass |
| through to the linker. |
| * config/aarch64/cygming.h (EXTRA_DEFAULT_COMPILERS): Likewise. |
| |
| 2026-01-15 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> |
| |
| * ira-lives.cc (ira_implicitly_set_insn_hard_regs): Honor hard |
| register constraints. |
| * ira.cc (ira_setup_alts): Ditto. |
| |
| 2026-01-15 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> |
| |
| * doc/extend.texi: Document current limitations of hard register |
| constraints. |
| * stmt.cc (parse_output_constraint): Reject multiple hard |
| register constraints or a combination of hard register |
| constraints and regular register constraints in one alternative. |
| (parse_input_constraint): Ditto. |
| |
| 2026-01-15 Alfie Richards <alfie.richards@arm.com> |
| |
| * config/aarch64/aarch64-simd.md: Add comment. |
| * config/aarch64/aarch64-sme.md: Likewise. |
| * config/aarch64/aarch64-sve-builtins-base.def: Likewise. |
| * config/aarch64/aarch64-sve-builtins-sme.def: Likewise. |
| * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise. |
| * config/aarch64/aarch64-sve-builtins.def: Likewise. |
| * config/aarch64/aarch64-sve.md: Likewise. |
| * config/aarch64/aarch64-sve2.md: Likewise. |
| * config/aarch64/aarch64.md: Likewise. |
| |
| 2026-01-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/sparc/sparc.h (TARGET_SUN_TLS): Remove. |
| * config/sparc/sol2.h (TARGET_SUN_TLS): Likewise. |
| * config/sparc/sparc.cc (TARGET_ASM_OUTPUT_DWARF_DTPREL): Guard |
| with HAVE_GNU_AS. |
| (sparc_tls_got): Guard with !HAVE_GNU_AS. |
| (sparc_legitimize_tls_address): Likewise. |
| * config/sparc/sparc.md ("tls_delay_slot"): Likewise. |
| ("@tie_add<P:mode>"): Likewise. |
| |
| 2026-01-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/121045 |
| * tree-pretty-print.h (dump_location): Add new dump_flags_t |
| argument defaulted to TDF_NONE. |
| * tree-pretty-print.cc (dump_location): Add flags argument. Don't |
| print discriminator if TDF_COMPARE_DEBUG bit is set in flags. |
| (dump_block_node, dump_generic_node): Pass through flags to |
| dump_location. |
| * gimple-pretty-print.cc (dump_gimple_phi, pp_gimple_stmt_1, |
| dump_implicit_edges): Likewise. |
| (gimple_dump_bb_as_sarif_properties): Pass dump_flags to |
| dump_location. |
| * print-rtl.cc (rtx_writer::print_rtx_operand_code_L): If dump_flags |
| has TDF_COMPARE_DEBUG bit set, don't print discriminators. |
| |
| 2026-01-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/i386/sol2.h [!HAVE_GNU_AS] (ASM_CPU32_DEFAULT_SPEC): Use -m32. |
| (ASM_CPU64_DEFAULT_SPEC): Use -m64. |
| |
| 2026-01-15 Josef Melcr <josef.melcr@suse.com> |
| |
| PR ipa/122852 |
| * cgraph.cc (cgraph_node::verify_node): Verify that callback |
| edges are unreachable when the carrying edge is unreachable. |
| * ipa-fnsummary.cc (redirect_to_unreachable): Redirect callback |
| edges to unreachable when redirecting the carrying edge. |
| |
| 2026-01-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_as_sparc_ua_pcrel): Remove. |
| (gcc_cv_as_sparc_ua_pcrel_hidden): Likewise. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove |
| !HAVE_AS_SPARC_UA_PCREL, !HAVE_AS_SPARC_UA_PCREL_HIDDEN support. |
| * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove. |
| * config/sparc/sparc.cc (TARGET_ASM_OUTPUT_DWARF_DTPREL): Remove |
| HAVE_AS_SPARC_UA_PCREL guard. |
| |
| 2026-01-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/sparc/sparc.h (TARGET_TLS): Define as HAVE_AS_TLS. |
| Update comment. |
| (TARGET_SUN_TLS): Define as 0. |
| (TARGET_GNU_TLS): Remove. |
| * config/sparc/freebsd.h (TARGET_SUN_TLS): Remove. |
| (TARGET_GNU_TLS): Remove. |
| * config/sparc/linux.h: Likewise. |
| * config/sparc/linux64.h: Likewise. |
| * config/sparc/sol2.h (TARGET_SUN_TLS): Redefine as 1. |
| Guard with HAVE_AS_TLS && !HAVE_GNU_AS. |
| (TARGET_GNU_TLS): Remove. |
| * config/sparc/sparc.cc (TARGET_ASM_OUTPUT_DWARF_DTPREL): Use |
| !TARGET_SUN_TLS in guard. |
| with !TARGET_SUN_TLS only. |
| * config/sparc/sparc.md ("tls_delay_slot"): Guard with |
| !TARGET_SUN_TLS. |
| |
| 2026-01-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/38118 |
| * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Remove. |
| |
| 2026-01-15 Kugan Vivekanandarajah <kvivekananda@nvidia.com> |
| |
| * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Assign |
| hierarchical discriminators for loop unrolling. |
| * cfgloopmanip.h (DLTHE_RECORD_HIERARCHICAL_DISCRIMINATOR): New flag. |
| * tree-ssa-loop-ivcanon.cc (try_unroll_loop_completely): Pass flag |
| to enable hierarchical discriminator assignment. |
| (try_peel_loop): Likewise. |
| |
| 2026-01-15 Kugan Vivekanandarajah <kvivekananda@nvidia.com> |
| |
| * gimple-loop-versioning.cc (loop_versioning::version_loop): Assign |
| copyid discriminators to distinguish different loop versions. |
| |
| 2026-01-15 Kugan Vivekanandarajah <kvivekananda@nvidia.com> |
| |
| * tree-vect-loop-manip.cc (vect_loop_versioning): Assign copyid |
| discriminators for vectorized and scalar loop versions. |
| * tree-vect-loop.cc (vect_transform_loop): Assign copyid |
| discriminators for vectorized and scalar loop versions. |
| |
| 2026-01-15 Kugan Vivekanandarajah <kvivekananda@nvidia.com> |
| |
| * Makefile.in: Add hierarchical_discriminator.o to OBJS. |
| * hierarchical_discriminator.cc: New file. |
| * hierarchical_discriminator.h: New file. |
| * function.h (copyid_alloc): New. |
| * input.cc (location_with_discriminator_components): New function. |
| (get_discriminator_components_from_loc): Likewise. |
| * input.h (DISCR_BASE_BITS): New constant. |
| (DISCR_MULTIPLICITY_BITS): Likewise. |
| (DISCR_COPYID_BITS): Likewise. |
| (DISCR_UNUSED_BITS): Likewise. |
| (DISCR_BASE_MASK): Likewise. |
| (DISCR_MULTIPLICITY_MASK): Likewise. |
| (DISCR_COPYID_MASK): Likewise. |
| (DISCR_BASE_SHIFT): Likewise. |
| (DISCR_MULTIPLICITY_SHIFT): Likewise. |
| (DISCR_COPYID_SHIFT): Likewise. |
| (DISCR_BASE_MAX): Likewise. |
| (DISCR_MULTIPLICITY_MAX): Likewise. |
| (DISCR_COPYID_MAX): Likewise. |
| (location_with_discriminator_components): New function declaration. |
| (get_discriminator_components_from_loc): Likewise. |
| |
| 2026-01-15 DengJianbo <dengjianbo@loongson.cn> |
| |
| * config/loongarch/loongarch.md: Remove condition in template |
| movdi_symbolic_off64. |
| |
| 2026-01-14 Peter Bergner <bergner@tenstorrent.com> |
| |
| PR target/123092 |
| * config/riscv/constraints.md (ZD): Disable when xmipscbop is disabled. |
| |
| 2026-01-14 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/123542 |
| * ipa-cp.cc (ipa_value_from_jfunc): Always use |
| ipacp_value_safe_for_type. Bail out if parm_type is NULL. |
| |
| 2026-01-14 Wilco Dijkstra <wilco.dijkstra@arm.com> |
| |
| PR target/121240 |
| * config/aarch64/aarch64.md (mov<mode>): Expand FP immediates early. |
| * config/aarch64/aarch64.cc (aarch64_select_rtx_section): Force |
| immediates <= 8 bytes to constdata. |
| (aarch64_rtx_costs): Increase cost of CONST_DOUBLE loaded from memory. |
| |
| 2026-01-14 Wilco Dijkstra <wilco.dijkstra@arm.com> |
| |
| PR target/114528 |
| * config/aarch64/aarch64.cc (aarch64_check_mov_add_imm12): |
| New function to check and emit MOV+ADD/SUB immediates. |
| (aarch64_internal_mov_immediate): Add support for MOV+ADD/SUB |
| immediates. |
| |
| 2026-01-14 Tejas Belagod <tejas.belagod@arm.com> |
| |
| PR middle-end/123392 |
| * cfgexpand.cc (expand_debug_expr): Handle variable-length initializer |
| for CONSTRUCTOR. |
| |
| 2026-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/123115 |
| * defaults.h (EH_RETURN_DATA_REGNO): Add void (N) to the macro |
| definition inside of a comma expression before INVALID_REGNUM. |
| |
| 2026-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/120250 |
| * combine.cc (recog_for_combine): Don't try to put SET_SRC |
| into a constant pool if SET_DEST is pc_rtx. |
| |
| 2026-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123190 |
| * tree-vectorizer.h (vect_load_store_data): Add n_loads member. |
| * tree-vect-stmts.cc (get_load_store_type): Record the |
| number of required loads for permuted loads. |
| (vectorizable_load): Make use of this when costing loads |
| for VMAT_CONTIGUOUS[_REVERSE]. |
| |
| 2026-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123190 |
| * tree-vect-loop.cc (vect_analyze_loop_costing): Allow |
| vectorizing loops with a single scalar iteration iff the |
| vectorization factor is 1. |
| |
| 2026-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/123544 |
| * simplify-rtx.cc (simplify_context::simplify_binary_operation_1) |
| <case AND>: Don't canonicalize (subreg (lshiftrt (x cnt)) low) into |
| (lshiftrt (subreg x low) cnt) if the SUBREG is paradoxical. |
| |
| 2026-01-14 Prathamesh Kulkarni <prathameshk@nvidia.com> |
| |
| * auto-profile.cc: (string_table::filenames): New method. |
| (function_instance::timestamp_): New member. |
| (function_instance::timestamp): New accessor for timestamp_ member. |
| (function_instance::set_timestamp): New function. |
| (function_instance::prop_timestamp): Likewise. |
| (function_instance::prop_timestamp_1): Likewise. |
| (function_instance::function_instance): Initialize timestamp_ to 0. |
| (function_instance::read_function_instance): Adjust prototype by |
| replacing head_count with toplevel param with default value true, and |
| stream in head_count and timestamp values from gcov file. |
| (autofdo::timestamp_info_map): New std::map. |
| (autofdo_source_profile::get_function_instance_by_decl): New argument |
| filename with default value NULL. |
| (autofdo_source_profile::read): Populate timestamp_info_map and |
| propagate timestamp to inlined instances from toplevel function. |
| (afdo_annotate_cfg): Assign node->tp_first_run based on |
| timestamp_info_map and bail out of annotation if |
| param_auto_profile_reorder_only is enabled. |
| * params.opt: New param auto-profile-reorder-only. |
| |
| 2026-01-14 Lili Cui <lili.cui@intel.com> |
| |
| * config/i386/x86-tune.def (X86_TUNE_ALIGN_TIGHT_LOOPS): |
| disable tight loop alignment for m_CORE_ATOM. |
| |
| 2026-01-14 Daniel Barboza <daniel.barboza@oss.qualcomm.com> |
| |
| * match.pd: remove 'fold_overflow_warning' references. |
| * tree.h (TYPE_OVERFLOW_UNDEFINED): remove note telling |
| that we must use warn_strict_overflow for every optimization |
| based on TYPE_OVERFLOW_UNDEFINED. |
| |
| 2026-01-13 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| * match.pd (`(T1)(a bit_op (T2)b)`): Remove redundant |
| type checks. |
| |
| 2026-01-13 Pengxuan Zheng <pengxuan.zheng@oss.qualcomm.com> |
| |
| PR tree-optimization/123109 |
| * fold-const.cc (fold_binary_loc): Remove (X >> C) NE/EQ 0 -> X LT/GE 0 |
| folding. |
| * match.pd (`(X >> C) NE/EQ 0 -> X LT/GE 0`): New pattern. |
| |
| 2026-01-13 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/119402 |
| * match.pd (`(a*zero_one_valued_p) & b`): New pattern. |
| |
| 2026-01-13 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR rtl-optimization/123312 |
| * ifcvt.cc (noce_try_cond_zero_arith): Rename to ... |
| (noce_try_cond_arith): This. For AND try `cmp ? a : -1` |
| also to see which one cost less. |
| (noce_process_if_block): Handle the rename. |
| |
| 2026-01-13 Jonathan Yong <10walls@gmail.com> |
| |
| * config/i386/winnt-utf8.manifest: enable longPathAware. |
| |
| 2026-01-13 Jonathan Yong <10walls@gmail.com> |
| |
| PR driver/108865 |
| * config/i386/winnt-utf8.manifest: correct XML tags |
| |
| 2026-01-13 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| PR tree-optimization/123530 |
| * match.pd (reassociating xor to enable rotations): Verify constants |
| fit into a uhwi before trying to extract them as a uhwi. |
| |
| 2026-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/123573 |
| * fold-const.cc (fold_vec_perm): Actually check, not assert, |
| that input and output vector element numbers agree. |
| * match.pd (vec_perm @0 @1 @2): Make sure element numbers |
| are the same when folding to an input vector and wrap that |
| inside a VIEW_CONVERT_EXPR. |
| |
| 2026-01-13 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR tree-optimization/123525 |
| * tree-ssa-forwprop.cc (simplify_vector_constructor): Use |
| converted source type for conversion bit field ref. |
| |
| 2026-01-13 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR tree-optimization/123301 |
| * tree-if-conv.cc (convert_scalar_cond_reduction): |
| Disallow vector types. |
| |
| 2026-01-13 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR rtl-optimization/123501 |
| PR rtl-optimization/123444 |
| * rtlanal.cc (nonzero_bits1): Use operand mode instead of |
| operation mode. |
| |
| 2026-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libstdc++/123396 |
| * configure.ac (gcc_cv_ld_use_as_needed_ldscript): New test. |
| (USE_LD_AS_NEEDED_LDSCRIPT): New AC_DEFINE. |
| * gcc.cc (LINK_LIBATOMIC_SPEC): Use "-latomic_asneeded" instead |
| of LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION |
| if USE_LD_AS_NEEDED_LDSCRIPT is defined. |
| (init_gcc_specs): Use "-lgcc_s_asneeded" instead of |
| LD_AS_NEEDED_OPTION " -lgcc_s " LD_NO_AS_NEEDED_OPTION |
| if USE_LD_AS_NEEDED_LDSCRIPT is defined. |
| * config.in: Regenerate. |
| * configure: Regenerate. |
| |
| 2026-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123539 |
| * tree-vect-loop.cc (vect_create_epilog_for_reduction): |
| Use the compute vectype to pun down to smaller or element |
| size for by-element reductions. |
| |
| 2026-01-13 Kito Cheng <kito.cheng@sifive.com> |
| |
| * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def): Use |
| build_bitint_type for BITINT_TYPE when maxsizei exceeds |
| MAX_FIXED_MODE_SIZE. |
| |
| 2026-01-13 Kito Cheng <kito.cheng@sifive.com> |
| |
| PR target/117581 |
| * config/riscv/riscv.cc (riscv_bitint_type_info): New function. |
| (TARGET_C_BITINT_TYPE_INFO): Define. |
| |
| 2026-01-13 liuhongt <hongtao.liu@intel.com> |
| |
| PR target/123484 |
| * config/i386/mmx.md (divv4hf3): Add TARGET_MMX_WITH_SSE to |
| the condition. |
| (cmlav4hf4): Ditto. |
| (cmla_conjv4hf4): Ditto. |
| (cmulv4hf3): Ditto. |
| (cmul_conjv4hf3): Ditto. |
| |
| 2026-01-12 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/122845 |
| PR tree-optimization/122843 |
| * match.pd (`(T1)(a bit_op (T2)b)`): Also |
| simplify if T1 is the same type as b and T2 is wider |
| type than T1. |
| |
| 2026-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123528 |
| * tree-vect-patterns.cc (vect_recog_bool_pattern): Restore |
| INTEGRAL_TYPE_P check but also allow SCALAR_FLOAT_TYPE_P. |
| |
| 2026-01-12 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/123543 |
| * ipa-cp.cc (propagate_bits_across_jump_function): Fix test for |
| recipient_only_p. |
| |
| 2026-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/122830 |
| PR tree-optimization/122824 |
| * tree-ssa-sccvn.cc (vn_reference_lookup_3): Generalize |
| aggregate copy handling when no variable offsets are |
| involved. |
| |
| 2026-01-12 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-sccvn.cc (vn_reference_lookup_3): Only tentatively |
| accumulate extra_off when tentatively consuming components |
| during aggregate copy handling. |
| |
| 2026-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/123175 |
| * match.pd (vec_perm @0 @1 @2): Fixup for inputs having a |
| different number of elements than the result. |
| * tree-vect-generic.cc (lower_vec_perm): Likewise. |
| |
| 2026-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/123523 |
| * simplify-rtx.cc (simplify_const_binary_operation): Use |
| DImode for VOIDmode shift and truncation counts if int_mode |
| is narrower than HOST_BITS_PER_WIDE_INT rather than |
| word_mode if int_mode it is narrower than BITS_PER_WORD. |
| |
| 2026-01-12 Dhruv Chawla <dhruvc@nvidia.com> |
| |
| * auto-profile.cc (autofdo_source_profile::offline_unrealized_inlines): |
| Add missing check for in_map. |
| |
| 2026-01-11 Michal Jires <mjires@suse.cz> |
| |
| * asm-toplevel.cc (mark_fragile_ref_by_asm): |
| Add marked_local to handle symbol as local. |
| (ipa_asm_heuristics): New. |
| (class pass_ipa_asm): New. |
| (make_pass_ipa_asm_lgen): New. |
| (make_pass_ipa_asm_wpa): New. |
| * common.opt: New flto-toplevel-asm-heuristics. |
| * passes.def: New asm passes. |
| * timevar.def (TV_IPA_LTO_ASM): New. |
| * tree-pass.h (make_pass_ipa_asm_lgen): New. |
| (make_pass_ipa_asm_wpa): New. |
| |
| 2026-01-11 Michal Jires <mjires@suse.cz> |
| |
| * asm-toplevel.cc (mark_fragile_ref_by_asm): New. |
| (struct constraint_data): New. |
| (walk_through_constraints): Handle .local definitions. |
| (analyze_toplevel_extended_asm): Propagate constraint_data. |
| |
| 2026-01-11 Michal Jires <mjires@suse.cz> |
| |
| * cgraph.h: Add must_remain_in_tu_*. |
| * cgraphclones.cc (cgraph_node::create_clone): Propagate |
| must_remain_in_tu_body. |
| * cif-code.def (MUST_REMAIN_IN_TU): New. |
| * ipa-icf.cc (sem_function::equals_wpa): Check |
| must_remain_in_tu_* |
| (sem_variable::equals_wpa): Likewise. |
| * ipa-inline-transform.cc (inline_call): Propagate |
| must_remain_in_tu_body. |
| * ipa-inline.cc (can_inline_edge_p): Check |
| must_remain_in_tu_body. |
| * lto-cgraph.cc (lto_output_node): Output must_remain_in_tu_* |
| (lto_output_varpool_node): Likewise. |
| (input_overwrite_node): Input must_remain_in_tu_*. |
| (input_varpool_node): Likewise. |
| * tree.cc (decl_address_ip_invariant_p): Check |
| must_remain_in_tu_name. |
| * varpool.cc (varpool_node::ctor_useable_for_folding_p): Check |
| must_remain_in_tu_body. |
| |
| 2026-01-11 Michal Jires <mjires@suse.cz> |
| |
| * lto-cgraph.cc (compute_ltrans_boundary): Add symbols |
| referenced from asm_nodes. |
| * lto-streamer-out.cc (lto_output): Move adding asm_nodes |
| to... |
| * passes.cc (ipa_write_summaries): ...here. |
| |
| 2026-01-11 Michal Jires <mjires@suse.cz> |
| |
| * ipa-free-lang-data.cc (find_decls_types_in_asm): New. |
| (free_lang_data_in_cgraph): Use find_decls_types_in_asm. |
| * lto-cgraph.cc (input_cgraph_1): Move asm to.. |
| (input_toplevel_asms): ..here. |
| * lto-streamer-in.cc (lto_input_toplevel_asms): |
| Allow extended asm. |
| * lto-streamer-out.cc (lto_output_toplevel_asms): |
| Allow extended asm. |
| (lto_output_toplevel_asms): Allow ASM_EXPR. |
| * lto-streamer.h (input_toplevel_asms): New. |
| |
| 2026-01-11 Michal Jires <mjires@suse.cz> |
| |
| PR ipa/122458 |
| * Makefile.in: Add new file. |
| * cgraph.h (analyze_toplevel_extended_asm): New. |
| * cgraphunit.cc (symbol_table::finalize_compilation_unit): |
| Call analyze_toplevel_extended_asm. |
| * asm-toplevel.cc: New file. |
| |
| 2026-01-11 Michal Jires <mjires@suse.cz> |
| |
| * cgraph.cc (cgraph_node_cannot_be_local_p_1): Check ref_by_asm. |
| (cgraph_node::verify_node): Likewise. |
| * cgraph.h (cgraph_node::only_called_directly_or_aliased_p): |
| Likewise. |
| (cgraph_node::can_remove_if_no_direct_calls_and_refs_p): |
| Likewise. |
| (varpool_node::can_remove_if_no_refs_p): Likewise. |
| (varpool_node::all_refs_explicit_p): Likewise. |
| * cgraphunit.cc (symtab_node::needed_p): Likewise. |
| (analyze_functions): Likewise. |
| * gimple-ssa-pta-constraints.cc (refered_from_nonlocal_fn): |
| Likewise. |
| (refered_from_nonlocal_var): Likewise. |
| (ipa_create_global_variable_infos): Likewise. |
| * ipa-comdats.cc (ipa_comdats): Likewise. |
| * ipa-visibility.cc (cgraph_externally_visible_p): Likewise. |
| (varpool_node::externally_visible_p): Likewise. |
| * ipa.cc (symbol_table::remove_unreachable_nodes): Likewise. |
| * lto-cgraph.cc (lto_output_node): Output ref_by_asm. |
| (lto_output_varpool_node): Likewise. |
| (input_overwrite_node): Input ref_by_asm. |
| (input_varpool_node): Likewise. |
| * symtab.cc (address_matters_1): Check ref_by_asm. |
| |
| 2026-01-11 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/cris.cc (cris_rtx_costs) <POST_INC>: Handle POST_INC |
| as ZERO_EXTEND and SIGN_EXTEND, i.e. as an operator without cost. |
| |
| 2026-01-10 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| * config/mcore/mcore.h (ASM_OUT_ADDR_DIFF_ELT): Remove. |
| |
| 2026-01-10 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> |
| |
| * config/s390/s390-modes.def (FLOAT_MODE): Add HF mode. |
| (VECTOR_MODE): Add V{1,2,4,8,16}HF modes. |
| * config/s390/s390.cc (s390_scalar_mode_supported_p): For 64-bit |
| targets z10 and newer support HF mode. |
| (s390_vector_mode_supported_p): Add HF mode. |
| (s390_register_move_cost): Keep HF mode operands in registers. |
| (s390_legitimate_constant_p): Support zero constant. |
| (s390_secondary_reload): For GPR to FPR moves a secondary reload |
| register is required. |
| (s390_secondary_memory_needed): GPR<->FPR moves don't require |
| secondary memory. |
| (s390_libgcc_floating_mode_supported_p): For 64-bit targets z10 |
| and newer support HF mode. |
| (s390_hard_regno_mode_ok): Allow HF mode for FPRs and VRs. |
| (s390_function_arg_float): Consider HF mode, too. |
| (s390_excess_precision): For EXCESS_PRECISION_TYPE_FLOAT16 |
| return FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16. |
| (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Define. |
| * config/s390/s390.md (movhf): Define. |
| (reload_half_gprtofpr_z10): Define. |
| (signbithf2): Define. |
| * config/s390/vector.md: Add new vector modes to various |
| iterators. |
| |
| 2026-01-10 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/123417 |
| * tree-cfgcleanup.cc (maybe_remove_forwarder_block): Always |
| protect latches. |
| |
| 2026-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/123431 |
| * gimple-range-op.cc (gimple_range_op_handler::maybe_builtin_call): |
| Punt if type-generic builtins with a single argument don't have |
| exactly one argument. For returns_arg punt if call doesn't have |
| at least one argument. |
| |
| 2026-01-09 Robin Dapp <rdapp@oss.qualcomm.com> |
| |
| PR tree-optimization/123414 |
| * tree-ssa-forwprop.cc (simplify_vector_constructor): |
| Use ssizetype as mask type. |
| |
| 2026-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/loongarch/genopts/gen-evolution.awk: Update |
| copyright year. |
| (copyright_header): Separate parts of Copyright word |
| with " " so that it doesn't get matched by update-copyright.py. |
| (gen_full_header, gen_full_source, gen_full_def): Include |
| 2026 year in the ranges. |
| |
| 2026-01-09 David Malcolm <dmalcolm@redhat.com> |
| |
| * channels.h (gcc::topics::analyzer_events::subscriber): New |
| forward decl. |
| (compiler_channels::analyzer_events_channel): New field. |
| * doc/plugins.texi (PLUGIN_ANALYZER_INIT): Delete. |
| * plugin.cc (register_callback): Delete PLUGIN_ANALYZER_INIT. |
| (invoke_plugin_callbacks_full): Likewise. |
| * plugin.def (PLUGIN_ANALYZER_INIT): Delete this event. |
| |
| 2026-01-09 David Malcolm <dmalcolm@redhat.com> |
| |
| * Makefile.in (OBJS): Add tree-diagnostic-cfg.o. |
| (OBJS-libcommon): Add custom-sarif-properties/cfg.o, |
| diagnostics/digraphs-to-dot.o, and |
| diagnostics/digraphs-to-dot-from-cfg.o. |
| * cfghooks.cc: Define INCLUDE_VECTOR. Add includes of |
| "diagnostics/sarif-sink.h" and "custom-sarif-properties/cfg.h". |
| (dump_bb_as_sarif_properties): New. |
| * cfghooks.h (diagnostics::sarif_builder): New forward decl. |
| (json::object): New forward decl. |
| (cfg_hooks::dump_bb_as_sarif_properties): New callback field. |
| (dump_bb_as_sarif_properties): New decl. |
| * cfgrtl.cc (rtl_cfg_hooks): Populate the new callback |
| field with rtl_dump_bb_as_sarif_properties. |
| (cfg_layout_rtl_cfg_hooks): Likewise. |
| * custom-sarif-properties/cfg.cc: New file. |
| * custom-sarif-properties/cfg.h: New file. |
| * diagnostics/digraphs-to-dot-from-cfg.cc: New file, partly |
| adapted from gcc/graph.cc. |
| * diagnostics/digraphs-to-dot.cc: New file. |
| * diagnostics/digraphs-to-dot.h: New file, based on material in... |
| * diagnostics/digraphs.cc: Include |
| "diagnostics/digraphs-to-dot.h". |
| (class conversion_to_dot): Rework and move to above. |
| (make_dot_graph_from_diagnostic_graph): Likewise. |
| (make_dot_node_from_digraph_node): Likewise. |
| (make_dot_edge_from_digraph_edge): Likewise. |
| (conversion_to_dot::get_dot_id_for_node): Likewise. |
| (conversion_to_dot::has_edges_p): Likewise. |
| (digraph::make_dot_graph): Use to_dot::converter::make and invoke |
| the result to make the dot graph. |
| * diagnostics/digraphs.h (digraph:get_all_nodes): New accessor. |
| * diagnostics/html-sink.cc |
| (html_builder::m_per_logical_loc_graphs): New field. |
| (html_builder::add_graph_for_logical_loc): New. |
| (html_sink::report_digraph_for_logical_location): New. |
| * diagnostics/sarif-sink.cc (sarif_array_of_unique::get_element): |
| New. |
| (sarif_builder::report_digraph_for_logical_location): New. |
| (sarif_sink::report_digraph_for_logical_location): New. |
| * diagnostics/sink.h: Include "diagnostics/logical-locations.h". |
| (sink::report_digraph_for_logical_location): New vfunc. |
| * diagnostics/text-sink.h |
| (text_sink::report_digraph_for_logical_location): New. |
| * doc/invoke.texi (fdiagnostics-add-output): Clarify wording. |
| Distinguish between scheme-specific vs GCC-specific keys, and add |
| "cfgs" as the first example of the latter. |
| * gimple-pretty-print.cc: Include "cfghooks.h", "json.h", and |
| "custom-sarif-properties/cfg.h". |
| (gimple_dump_bb_as_sarif_properties): New. |
| * gimple-pretty-print.h (diagnostics::sarif_builder): New forward |
| decl. |
| (json::object): Likewise. |
| (gimple_dump_bb_as_sarif_properties): New. |
| * graphviz.cc (get_compass_pt_from_string): New |
| * graphviz.h (get_compass_pt_from_string): New decl. |
| * libsarifreplay.cc (sarif_replayer::handle_graph_object): Fix |
| overlong line. |
| * opts-common.cc: Define INCLUDE_VECTOR. |
| * opts-diagnostic.cc: Define INCLUDE_LIST. Include |
| "diagnostics/sarif-sink.h", "tree-diagnostic-sink-extensions.h", |
| "opts-diagnostic.h", and "pub-sub.h". |
| (class gcc_extra_keys): New class. |
| (opt_spec_context::opt_spec_context): Add "client_keys" param and |
| pass to dc_spec_context. |
| (handle_gcc_specific_keys): New. |
| (try_to_make_sink): New. |
| (gcc_extension_factory::singleton): New. |
| (handle_OPT_fdiagnostics_add_output_): Rework to use |
| try_to_make_sink. |
| (handle_OPT_fdiagnostics_set_output_): Likewise. |
| * opts-diagnostic.h: Include "diagnostics/sink.h". |
| (class gcc_extension_factory): New. |
| * opts.cc: Define INCLUDE_LIST. |
| * print-rtl.cc: Include "dumpfile.h", "cfghooks.h", "json.h", and |
| "custom-sarif-properties/cfg.h". |
| (rtl_dump_bb_as_sarif_properties): New. |
| * print-rtl.h (diagnostics::sarif_builder): New forward decl. |
| (json::object): Likewise. |
| (rtl_dump_bb_as_sarif_properties): New decl. |
| * tree-cfg.cc (gimple_cfg_hooks): Use |
| gimple_dump_bb_as_sarif_properties for new callback field. |
| * tree-diagnostic-cfg.cc: New file, based on material in graph.cc. |
| * tree-diagnostic-sink-extensions.h: New file. |
| * tree-diagnostic.cc: Define INCLUDE_LIST. Include |
| "tree-diagnostic-sink-extensions.h". |
| (compiler_ext_factory): New. |
| (tree_diagnostics_defaults): Set gcc_extension_factory::singleton |
| to be compiler_ext_factory. |
| |
| 2026-01-09 David Malcolm <dmalcolm@redhat.com> |
| |
| * channels.h: New file. |
| * context.cc: Define INCLUDE_LIST. Include "channels.h". |
| (gcc::context::context): Create m_channels. |
| (gcc::context::~context): Delete it. |
| * context.h (struct compiler_channels): New forward decl. |
| (gcc::context::get_channels): New accessor. |
| (gcc::context::m_channels): New field. |
| * passes.cc: Define INCLUDE_LIST. Include "topics/pass-events.h" |
| and "channels.h". |
| (execute_one_pass): If the global context's pass_events_channel |
| has subscribers, publish before_pass and after_pass events to it. |
| * topics/pass-events.h: New file. |
| |
| 2026-01-09 David Malcolm <dmalcolm@redhat.com> |
| |
| * Makefile.in (OBJS-libcommon): Add pub-sub.o. |
| * pub-sub.cc: New file. |
| * pub-sub.h: New file. |
| * selftest-run-tests.cc (selftest::run_tests): Call |
| selftest::pub_sub_cc_tests. |
| * selftest.h (selftest::pub_sub_cc_tests): New decl. |
| |
| 2026-01-09 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR target/123457 |
| * config/aarch64/aarch64-sve-builtins.cc (struct registered_function_hasher): |
| Change base class to ggc_ptr_hash. |
| (initial_indexes): Mark with GTY. |
| (function_table): Likewise. |
| (handle_arm_sve_h): Allocate function_table from ggc instead of heap. |
| |
| 2026-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * doc/invoke.texi (-x): Add c++-system-module, objc-cpp-output, |
| objc++-cpp-output, adascil, adawhy, modula-2, modula-2-cpp-output, |
| rust, algol68 and lto as further possible option arguments. |
| |
| 2026-01-09 Vladimir N. Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/123121 |
| * lra-remat.cc (bad_for_rematerialization_p): Consider div/mod ops. |
| (operand_to_remat): Exclude rematerialization of insns with |
| multiple sets. |
| |
| 2026-01-09 Peter Bergner <bergner@tenstorrent.com> |
| |
| PR target/123492 |
| * config/riscv/riscv-cores.def (RISCV_CORE)<tt-ascalon-d8>: Add missing |
| extensions via use of rva23s64 profile and adding zkr, smaia, smmpm, |
| smnpm, smrnmi, smstateen, ssaia, ssstrict, svadu. |
| |
| 2026-01-09 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-cp.h (class ipcp_bits_lattice): New members set_recipient_only, |
| recipient_only_p and m_recipient_only. |
| (class ipcp_vr_lattice): Likewise. |
| (ipcp_vr_lattice::init): Initialize also m_recipient_only. |
| * ipa-cp.cc (ipcp_bits_lattice::print): Adjust printting to also |
| print the new flag. |
| (ipcp_vr_lattice::print): Likewise. |
| (ipcp_vr_lattice::set_recipient_only): New function. |
| (ipcp_bits_lattice::set_recipient_only): Likewise. |
| (set_all_contains_variable): New parameter MAKE_SIMPLE_RECIPIENTS, set |
| bits and vr lattices to recibient only insted to bottom when it is |
| true. |
| (initialize_node_lattices): Pass true to the second parameter of |
| set_all_contains_variable. |
| (propagate_bits_across_jump_function): Treat recipient_only source |
| lattices like bottom. |
| (propagate_vr_across_jump_function): Likewise. |
| (ipcp_store_vr_results): Skip non-local nodes. |
| |
| 2026-01-09 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-cp.cc (good_cloning_opportunity_p): Dump a message when |
| bailing out early too. |
| (find_more_scalar_values_for_callers_subset): Rename to |
| find_scalar_values_for_callers_subset, collect constants regardless of |
| what is already in the vector. Remove dumping. |
| (find_more_contexts_for_caller_subset): Rename to |
| find_contexts_for_caller_subset, collect contexts regardless of what |
| is already in the vector. Remove dumping. |
| (find_aggregate_values_for_callers_subset): Rename to |
| find_aggregate_values_for_callers_subset_gc, implement using new |
| functions. |
| (find_aggregate_values_for_callers_subset_1): New function. |
| (find_aggregate_values_for_callers_subset): Likewise. |
| (copy_known_vectors_add_val): Removed. |
| (dump_reestimation_message): New function. |
| (decide_about_value): Remove formal parameter avals, compute it |
| independently, and use it to estimate local cloning effects. |
| (struct cloning_opportunity_ranking): New type. |
| (compare_cloning_opportunities): New function. |
| (cloning_opportunity_ranking_evaluation): Likewise. |
| (decide_whether_version_node): Pre-sort candidates for cloning before |
| really evaluating them. Calculate context independent values only |
| when considering versioning for all contexts. |
| (ipcp_val_agg_replacement_ok_p): Renamed to |
| ipcp_val_replacement_ok_p, check also non-aggregate values. |
| |
| 2026-01-09 Alexandre Oliva <oliva@gnu.org> |
| |
| PR target/119430 |
| * config/arm/arm.cc (arm_function_ok_for_sibcall): Disable |
| sibcalls for long-calls that use all call-clobbered |
| general-purpose registers, including the static chain. |
| |
| 2026-01-09 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> |
| |
| * config/s390/s390.cc (print_operand): Align %cN with %N. |
| * config/s390/s390.md: Remove comment. |
| |
| 2026-01-09 Filip Kastl <fkastl@suse.cz> |
| |
| PR c/123212 |
| * opts.cc: Enable -fbit-tests and -fjump-tables at -Og. |
| |
| 2026-01-09 Alfie Richards <alfie.richards@arm.com> |
| |
| * config/aarch64/aarch64-builtins.cc |
| (aarch64_expand_pragma_builtin): Add case for FMMLA. |
| * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): |
| Add new __ARM_FEATURE_X macros. |
| * config/aarch64/aarch64-simd-pragma-builtins.def |
| (vmmlaq_f16_mf8): New intrinsic. |
| (vmmlaq_f32_mf8): Likewise. |
| * config/aarch64/aarch64-simd.md |
| (@aarch64_<insn><VDQ_HSF_FMMLA:mode>): New instruction. |
| * config/aarch64/aarch64-sve-builtins-base.cc: Update mmla_impl |
| for new instructions. |
| * config/aarch64/aarch64-sve-builtins-shapes.cc |
| (struct mmla_def): Add support for the new widening forms. |
| * config/aarch64/aarch64-sve-builtins-sve2.def (svmmla) Add new |
| intrinsics. |
| * config/aarch64/aarch64-sve-builtins.cc (TYPES_cvt_narrow_s): |
| Fix comment. |
| * config/aarch64/aarch64-sve2.md |
| (@aarch64_sve2_<sve_fp_op><SVE_FULL_HSF_FMMLA:mode><VNx16QI_ONLY:mode>): New instruction. |
| (@aarch64_sve2_<sve_fp_op><VNx4SF_ONLY:mode><VNx8HF_ONLY:mode>): Likewise. |
| * config/aarch64/aarch64.h (TARGET_F8F32MM): New macro. |
| (TARGET_F8F16MM): Likewise. |
| (TARGET_SVE_F16F32MM): Likewise. |
| * config/aarch64/iterators.md (insn): Add fmmla entry. |
| (VDQ_HSF_FMMLA): New iterator. |
| (SVE_FULL_HSF_FMMLA): Likewise. |
| |
| 2026-01-09 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Remove |
| TARGET_HAVE_MVE condition. |
| (class arm_target_switcher): New. |
| (arm_init_mve_builtins): Remove calls to |
| arm_init_simd_builtin_types and |
| arm_init_simd_builtin_scalar_types. Switch to MVE isa flags. |
| (arm_init_neon_builtins): Remove calls to |
| arm_init_simd_builtin_types and |
| arm_init_simd_builtin_scalar_types. |
| (arm_need_mve_mode_regs): New. |
| (arm_need_neon_mode_regs): New. |
| (arm_target_switcher::arm_target_switcher): New. |
| (arm_target_switcher::~arm_target_switcher): New. |
| (arm_init_builtins): Call arm_init_simd_builtin_scalar_types and |
| arm_init_simd_builtin_types. Always call arm_init_mve_builtins |
| and arm_init_neon_builtins. |
| |
| 2026-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/123489 |
| * config/i386/i386-builtin.def (__builtin_ia32_cvttsd2sis64_round, |
| __builtin_ia32_cvttsd2usis64_round, __builtin_ia32_cvttss2sis64_round, |
| __builtin_ia32_cvttss2usis64_round): Require OPTION_MASK_ISA_64BIT. |
| |
| 2026-01-09 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR rtl-optimization/123491 |
| * ifcvt.cc (noce_try_cond_zero_arith): Reject non-scalar |
| integer modes for the inner mode of the subreg. |
| |
| 2026-01-09 Shreya Munnangi <smunnangi1@ventanamicro.com> |
| Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| PR target/121778 |
| * match.pd: Add pattern to recognize rotate with one or more |
| bits flipped via xor. |
| * config/sh/sh.md (*rotcl); New variant which handles the output |
| we get after the match.pd change above. |
| |
| 2026-01-09 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| * config/riscv/andes-23-series.md: Clamp reservations to 7c. |
| * config/riscv/andes-25-series.md: Likewise. |
| * config/riscv/andes-45-series.md: Likewise. |
| * config/riscv/generic.md: Likewise. |
| * config/riscv/mips-p8700.md: Likewise. |
| * config/riscv/sifive-7.md: Likewise. |
| * config/riscv/spacemit-x60.md: Likewise. |
| |
| 2026-01-09 Kugan Vivekanandarajah <kvivekananda@nvidia.com> |
| |
| PR gcov-profile/123019 |
| * auto-profile.cc (auto_profile): Call execute_fixup_cfg. |
| |
| 2026-01-09 Kugan Vivekanandarajah <kvivekananda@nvidia.com> |
| |
| PR ipa/123383 |
| * cgraph.cc (cgraph_edge::get_next_speculative_id): Check |
| lto_stmt_uid in get_next_speculative_id. |
| |
| 2026-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/111817 |
| * stmt.cc (parse_input_constraint): For matching construct, goto |
| before the loop without changing j instead of break. Remove comment |
| about that problem. |
| |
| 2026-01-08 Robin Dapp <rdapp@ventanamicro.com> |
| |
| PR target/122846 |
| * config/riscv/riscv-opts.h (enum rvv_max_lmul_enum): Add |
| RVV_CONV_DYNAMIC. |
| (TARGET_MAX_LMUL): Ditto. |
| * config/riscv/riscv-string.cc (use_vector_stringop_p): Use |
| LMUL1 for RVV_CONV_DYNAMIC. |
| (expand_rawmemchr): Ditto. |
| (expand_strcmp): Ditto. |
| (check_vectorise_memory_operation): Ditto. |
| * config/riscv/riscv-vector-costs.cc (get_smallest_mode): |
| New function. |
| (compute_lmul_from_conversion_ratio): Calculate LMUL from |
| largest/smallest type. |
| (costs::has_unexpected_spills_p): Split. |
| (costs::compute_live_ranges_and_lmul): Compute smallest type and |
| call new function. |
| (costs::cleanup_live_range_data): New function. |
| (costs::compute_conversion_dynamic_lmul): New function. |
| (costs::record_potential_unexpected_spills): Use new function. |
| (costs::better_main_loop_than_p): Allow appropriate LMUL. |
| * config/riscv/riscv-vector-costs.h: Declare. |
| * config/riscv/riscv.opt: New option |
| -mrvv-max-lmul=conv-dynamic. |
| |
| 2026-01-08 Qing Zhao <qing.zhao@oracle.com> |
| |
| * doc/extend.texi: Update doc to support pointers inside structures. |
| |
| 2026-01-08 Olivier Hainque <hainque@adacore.com> |
| Alexandre Oliva <oliva@adacore.com> |
| |
| * config.gcc [x86_64-*-*]: Match *abi32 target, default to m32 |
| abi. Accept 32 or m32 for --with-abi. |
| |
| 2026-01-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (C++ Dialect Options): Fix typo in |
| documentation of -flang-info-module-cmi. |
| |
| 2026-01-08 Aleksandar Rakic <aleksandar.rakic@htecgroup.com> |
| |
| * Makefile.in: Add with_multi_buildlist for multilib |
| configuration control. Pass an additional argument to |
| genmultilib indicating whether --with-multi-buildlist is set |
| (true or false). Use with_multi_buildlist to filter |
| multilib directories in fixinc_list. |
| * configure: Regenerate. |
| * configure.ac: Restrict the installed fixedincludes multilibs. |
| * configure.tgt: New file. |
| * doc/install.texi: Add --with-multi-buildlist configure option |
| for multilib filtering. |
| * genmultilib: Document the new eleventh argument indicating |
| whether --with-multi-buildlist configure option is set (true or |
| false). Update argument parsing to include this flag before |
| enable_multilib. Modify reuse rule validation: |
| - Keep the original error for reuse of nonexistent multilibs |
| when --with-multi-buildlist is not used. |
| - Suppress the error only when the new configure option is |
| active, allowing reuse rules to reference multilibs that are |
| intentionally excluded from the build. |
| |
| 2026-01-08 Tomas Glozar <tglozar@gmail.com> |
| |
| * config/ia64/ia64.cc (MAX_VECT_LEN): Set to 16 from 8. |
| |
| 2026-01-08 Robin Dapp <rdapp.gcc@gmail.com> |
| |
| PR target/123268 |
| * gimple-match-exports.cc (convert_conditional_op): Check if |
| orig_op->type and type of else value match. |
| |
| 2026-01-08 Richard Sandiford <rdsandiford@googlemail.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/122793 |
| * tree-vect-slp.cc (vect_add_slp_permutation): Document the existing |
| identity_offset parameter. Handle identities that take from the |
| second input rather than the first. |
| |
| 2026-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123310 |
| * tree-ssa-sccvn.cc (vn_reference_lookup_3): Properly |
| test against unknown offset. |
| |
| 2026-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123298 |
| * tree-ssa-alias.h (get_continuation_for_phi): Take a gphi *, |
| add is_backedge hook argument. |
| (walk_non_aliased_vuses): Add is_backedge hook argument. |
| * tree-ssa-alias.cc (maybe_skip_until): Adjust. |
| (get_continuation_for_phi): Use new hook to classify an |
| edge into the PHI as backedge. |
| (walk_non_aliased_vuses): Adjust. |
| * gimple-lower-bitint.cc (bitint_dom_walker::before_dom_children): |
| Likewise. |
| * ipa-prop.cc (determine_known_aggregate_parts): Likewise. |
| * tree-ssa-scopedtables.cc (avail_exprs_stack::lookup_avail_expr): |
| Likewise. |
| * tree-ssa-pre.cc (translate_vuse_through_block): Likewise. |
| * tree-ssa-sccvn.cc (vn_bb_to_rpo): Make BB to RPO order |
| mapping accessible from new hook. |
| (do_rpo_vn_1): Likewise. |
| (vn_is_backedge): New hook to classify edge. |
| (vn_reference_lookup_pieces): Adjust. |
| (vn_reference_lookup): Likewise. |
| |
| 2026-01-08 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-stmts.cc (vectorizable_shift): Improve missing |
| optab or optab support messages. |
| (vectorizable_operation): Likewise. |
| |
| 2026-01-08 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> |
| |
| * config/s390/s390.cc (s390_logical_operator_ok_p): Test for |
| volatile memory. |
| (s390_mem_constraint): Remove volatile condition. |
| * config/s390/s390.md (*andc_split_<mode>): Test for volatile |
| memory. |
| |
| 2026-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/123107 |
| * fold-const.cc (fold_binary_loc): Guard (v >> CST) == { 0, 0.. } |
| to v < { 0, 0.. } folding. |
| |
| 2026-01-08 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| PR tree-optimization/123382 |
| * tree-if-conv.cc: Reject VEC_PERM_EXPR for factoring |
| if it is the mask and they are constant. |
| |
| 2026-01-08 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| * cse.cc (cse_find_path): Change follow_jumps to bool. |
| |
| 2026-01-07 Tomas Glozar <tglozar@gmail.com> |
| |
| PR target/121535 |
| * config/ia64/ia64.cc (TARGET_ZERO_CALL_USED_REGS): Override |
| function with target-specific one. |
| (struct gcc_target): Move to end of file. |
| (ia64_zero_call_used_regs): Add target-specific function. |
| |
| 2026-01-07 Xinhui Yang <cyan@cyano.uk> |
| |
| * config.gcc: limit -lunwind usage by testing if the system |
| libunwind is being used. |
| |
| 2026-01-07 Xi Ruoyao <xry111@xry111.site> |
| |
| PR target/123320 |
| * config/loongarch/loongarch.md (<optab><mode>3): Only expand |
| using psuedos when can_create_pseudo_p (). |
| (addsi3): Likewise. |
| |
| 2026-01-07 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/123300 |
| * gimple-range-gori.cc (gori_map::exports_and_deps): New. |
| * gimple-range-gori.h (exports_and_deps): New prototype. |
| (FOR_EACH_GORI_EXPORT_AND_DEP_NAME): New macro. |
| * tree-vrp.cc (remove_unreachable:remove_unreachable): Initialize |
| m_tmp bitmap. |
| (remove_unreachable:~remove_unreachable): Dispose of m_tmp bitmap. |
| (remove_unreachable:fully_replaceable): Move from static function |
| and check reachability of exports and dependencies. |
| |
| 2026-01-07 Andrew MacLeod <amacleod@redhat.com> |
| |
| PR tree-optimization/123319 |
| * value-range.cc (irange::intersect): If there is a bitmask, snap |
| subranges after creating them. |
| |
| 2026-01-07 Daniel Barboza <daniel.barboza@oss.qualcomm.com> |
| |
| PR tree-optimization/102486 |
| * match.pd (`popcount (X & -X) -> -X != 0`): New pattern. |
| |
| 2026-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/119291 |
| PR rtl-optimization/121773 |
| * combine.cc (try_combine): Check that SET_DEST (setN) is neither |
| modified_between_p nor reg_used_between_p instead of just not |
| reg_used_between_p or pc_rtx. |
| |
| 2026-01-07 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/123390 |
| * config/arm/arm.cc (arm_gen_constant): Fix types of HWI literals. |
| (arm_const_double_prefer_rsbs_rsc): Likewise. |
| |
| 2026-01-07 Alfie Richards <alfie.richards@arm.com> |
| |
| * config/aarch64/aarch64.cc (aarch64_parse_fmv_features): Add parsing |
| for priority arguments. |
| (aarch64_process_target_version_attr): Update call to |
| aarch64_parse_fmv_features. |
| (get_feature_mask_for_version): Update call to |
| aarch64_parse_fmv_features. |
| (aarch64_compare_version_priority): Add logic to order by priority if present. |
| (aarch64_functions_b_resolvable_from_a): Update call to |
| aarch64_parse_fmv_features. |
| (aarch64_mangle_decl_assembler_name): Update call to |
| aarch64_parse_fmv_features. |
| (dispatch_function_versions): Add logic to sort by priority. |
| (aarch64_same_function_versions): Add diagnostic if invalid use of |
| priority syntax. |
| (aarch64_merge_decl_attributes): Add logic to make suer priority |
| arguments are preserved. |
| (aarch64_check_target_clone_version): Update call to |
| aarch64_parse_fmv_features. |
| |
| 2026-01-07 Alfie Richards <alfie.richards@arm.com> |
| |
| * target.def (TARGET_OPTION_SAME_FUNCTION_VERSIONS): Update |
| documentation. |
| * tree.cc (disjoint_version_decls): Change for new NULL parameter |
| to same_function_versions. |
| (diagnose_versioned_decls): Update to pass diagnostic location to |
| same_function_versions. |
| * doc/tm.texi: Regenerate. |
| * config/aarch64/aarch64.cc (aarch64_same_function_versions): |
| Update hook impl for new arguments. |
| * config/riscv/riscv.cc (riscv_same_function_versions): Update |
| hook impl for new arguments. |
| * config/loongarch/loongarch.cc |
| (loongarch_same_function_versions): Likewise |
| * hooks.cc (hook_stringslice_stringslice_unreachable): Changed |
| to... |
| (hook_stringslice_consttree_stringslice_consttree_unreachable): |
| ...this and add extra arguments. |
| * hooks.h (hook_stringslice_stringslice_unreachable): Changed |
| to... |
| (hook_stringslice_consttree_stringslice_consttree_unreachable): |
| and add extra arguments. |
| |
| 2026-01-07 Martin Jambor <mjambor@suse.cz> |
| |
| * params.opt (param_ipa_cp_sweeps): New. |
| * doc/invoke.texi (ipa-cp-sweeps): New. |
| * ipa-cp.cc (max_number_sweeps): New. |
| (get_max_overall_size): New parameter cur_sweep, use it and the total |
| number of sweeps from the NODE to calculate the result too. |
| (ipcp_propagate_stage): Get the maximum number of sweeps specified in |
| the corresponding parameter of any possibly affected node. |
| (good_cloning_opportunity_p): Add parameter cur_sweep, adjust the |
| threshold according to it. |
| (decide_about_value): New parameter cur_sweep, pass it to |
| get_max_overall_size and to good_cloning_opportunity_p. |
| (decide_whether_version_node): New parameter cur_sweep, pass it to |
| decide_about_value and get_max_overall_size. Make sure the node is |
| not dead. |
| (ipcp_decision_stage): Make multiple sweeps over the call-graph. |
| |
| 2026-01-07 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-prop.h (ipa_node_params): Remove member do_clone_for_all_contexts. |
| (ipa_node_params::ipa_node_params): Do not initialize |
| do_clone_for_all_contexts. |
| * ipa-cp.cc (gather_context_independent_values): Remove parameter |
| calculate_aggs, calculate them always. |
| (estimate_local_effects): Move the decision whether to clone for |
| all context... |
| (decide_whether_version_node): ...here. Fix dumps. |
| (decide_about_value): Adjust alignment in dumps. |
| |
| 2026-01-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123315 |
| * tree-vect-loop.cc (vect_analyze_loop_2): Reset |
| LOOP_VINFO_USING_DECREMENTING_IV_P before retrying. |
| |
| 2026-01-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123221 |
| * tree-vect-loop.cc (vectorizable_reduction): When we did not |
| find the non-conversion reduction operation, bail. |
| |
| 2026-01-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/123316 |
| * tree-vect-loop.cc (vectorizable_reduction): Detect missing |
| PHI patterns for bools. |
| |
| 2026-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR debug/123259 |
| * toplev.cc (process_options): Guard CTF non-C warning by |
| -Wcomplain-wrong-lang. |
| * doc/invoke.texi (Warning Options, -Wno-complain-wrong-lang): |
| Document effect on -gctf/-gsctf. |
| |
| 2026-01-07 Siddhesh Poyarekar <siddhesh@gotplt.org> |
| |
| PR tree-optimization/123374 |
| * gimple-ssa-warn-access.cc (pass_waccess::set_pass_param): Add |
| a second parameter. |
| (pass_waccess::check_call): Skip access checks for waccess2. |
| (pass_waccess::execute): Drop initialization of |
| M_CHECK_DANGLING_P. |
| * passes.def: Adjust. |
| |
| 2026-01-06 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * tree-profile.cc (tree_profiling): Do not use atomic operations |
| if they are not available. Try to use at least partial atomic |
| updates as a fallback. |
| |
| 2026-01-06 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> |
| |
| * config/xtensa/xtensa.h (EPILOGUE_USES): New macro definition. |
| * config/xtensa/xtensa.md (return): |
| Remove '(use (reg:SI A0_REG))' from the template description, and |
| reload_completed from the condition. |
| (sibcall_epilogue): Remove emitting '(use (reg:SI A0_REG))'. |
| |
| 2026-01-06 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/122103 |
| * tree-if-conv.cc (ifcvt_can_predicate): Add check for |
| normal builtins. |
| |
| 2026-01-06 Richard Ball <Richard.Ball@arm.com> |
| |
| * config/aarch64/aarch64-builtins.cc |
| (enum aarch64_builtins): New builtin flag. |
| (aarch64_init_pcdphint_builtins): New builtin function. |
| (aarch64_expand_pldir_builtin): Expander for new intrinsic. |
| (aarch64_general_expand_builtin): Call new expander. |
| * config/aarch64/aarch64.md |
| (aarch64_pldir): New pattern for instrinsic. |
| * config/aarch64/arm_acle.h |
| (__attribute__): New call to builtin. |
| (__pldir): Likewise. |
| |
| 2026-01-06 Richard Ball <Richard.Ball@arm.com> |
| |
| * config/aarch64/aarch64-builtins.cc |
| (enum aarch64_builtins): Add new flags. |
| (aarch64_init_pcdphint_builtins): Create new Builtin functions. |
| (aarch64_general_init_builtins): Call init for PCDPHINT. |
| (aarch64_expand_stshh_builtin): Expander for new intrinsic. |
| (aarch64_general_expand_builtin): Call new expander. |
| * config/aarch64/aarch64-c.cc |
| (aarch64_update_cpp_builtins): New feature. |
| * config/aarch64/aarch64.h (TARGET_PCDPHINT): Likewise. |
| * config/aarch64/arm_acle.h |
| (__atomic_store_with_stshh): Generic to call builtins. |
| * config/aarch64/atomics.md |
| (@aarch64_atomic_store_stshh<mode>): New pattern for intrinsic. |
| * config/aarch64/iterators.md: New UNSPEC. |
| |
| 2026-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/121192 |
| * expr.cc (store_constructor) <VECTOR_TYPE>: Disable the special |
| trick for uniform boolean vectors with integer modes and single-bit |
| mask entries on big-endian platforms. |
| |
| 2026-01-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (Prerequisites): Remove reference to Ada in |
| conjunction with GCC 9.5 and adjust its GCC version requirement. |
| |
| 2026-01-06 Jakub Jelinek <jakub@redhat.com> |
| Marco Falke <falke.marco@gmail.com> |
| |
| PR tree-optimization/123351 |
| * tree-object-size.cc (object_sizes_set_temp): Separate calls to |
| make_ssa_name to ensure deterministic execution order. |
| |
| 2026-01-05 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/122103 |
| * tree-vect-stmts.cc (vectorizable_call): Handle trapping math. |
| |
| 2026-01-05 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/122103 |
| * tree-if-conv.cc (ifcvt_can_predicate): Support gimple_call_builtin_p. |
| (if_convertible_stmt_p, predicate_rhs_code, |
| predicate_statements): Likewise. |
| |
| 2026-01-05 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/122103 |
| * match.pd: Add COND_FMA to COND_FMS rewrite rules. |
| |
| 2026-01-05 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/122103 |
| * doc/md.texi: Document them |
| * internal-fn.cc (FOR_EACH_COND_FN_PAIR, internal_fn_else_index): Add |
| SQRT, CEIL, FLOOR, ROUND and RINT. |
| * internal-fn.def (IFN_COND_SQRT, IFN_COND_CEIL, IFN_COND_FLOOR, |
| IFN_COND_ROUND, IFN_COND_RINT, IFN_COND_LEN_SQRT, IFN_COND_LEN_CEIL, |
| IFN_COND_LEN_FLOOR, IFN_COND_LEN_ROUND, IFN_COND_LEN_RINT): New. |
| * optabs.def (cond_rint_optab, cond_sqrt_optab, cond_round_optab, |
| cond_ceil_optab, cond_floor_optab, cond_len_rint_optab, |
| cond_len_sqrt_optab, cond_len_round_optab, cond_len_ceil_optab, |
| cond_len_floor_optab): New. |
| |
| 2026-01-05 Tamar Christina <tamar.christina@arm.com> |
| |
| PR tree-optimization/122103 |
| * gimple.cc (gimple_could_trap_p_1): Handle __builtin_ calls. |
| |
| 2026-01-05 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| * config/riscv/riscv-string.cc (expand_block_move): Restore using |
| inlined memcpy/memmove for unknown counts if the param hasn't been |
| specified. |
| (expand_vec_setmem): Similarly for memset. |
| |
| 2026-01-05 Pan Li <pan2.li@intel.com> |
| |
| PR target/123317 |
| * config/riscv/autovec-opt.md: Take zero_extend for |
| both the vwaddu and vwsubu wx pattern. |
| |
| 2026-01-05 Alice Carlotti <alice.carlotti@arm.com> |
| |
| * config/aarch64/aarch64-sme.md |
| (aarch64_sme_write_zt): Add TARGET_STREAMING requirement. |
| (aarch64_sme_lut_zt): Ditto. |
| |
| 2026-01-05 Alice Carlotti <alice.carlotti@arm.com> |
| |
| * doc/invoke.texi: Fix incorrect function name. |
| |
| 2026-01-05 Pan Li <pan2.li@intel.com> |
| |
| * tree-vect-slp.cc (vec_slp_has_scalar_use): Adjust the |
| depth_limit from 2 to 3. |
| |
| 2026-01-05 Tamar Christina <tamar.christina@arm.com> |
| |
| PR target/121290 |
| * config/aarch64/aarch64.cc (aarch64_possible_by_lane_insn_p): New. |
| (aarch64_vector_costs): Add m_num_dup_stmts and m_num_total_stmts. |
| (aarch64_vector_costs::add_stmt_cost): Use them. |
| (adjust_body_cost): Likewise. |
| |
| 2026-01-05 Tamar Christina <tamar.christina@arm.com> |
| |
| PR target/123017 |
| * config/aarch64/aarch64-json-schema.h: Add br_mispredict_factor. |
| * config/aarch64/aarch64-json-tunings-parser-generated.inc |
| (parse_branch_costs): Add br_mispredict_factor. |
| * config/aarch64/aarch64-json-tunings-printer-generated.inc |
| (serialize_branch_costs): Add br_mispredict_factor. |
| * config/aarch64/aarch64-protos.h (struct cpu_branch_cost): Add |
| br_mispredict_factor. |
| * config/aarch64/aarch64.cc (aarch64_max_noce_ifcvt_seq_cost, |
| aarch64_noce_conversion_profitable_p, |
| TARGET_MAX_NOCE_IFCVT_SEQ_COST, |
| TARGET_NOCE_CONVERSION_PROFITABLE_P): New. |
| * config/aarch64/tuning_models/generic.h (generic_branch_cost): Add |
| br_mispredict_factor. |
| * config/aarch64/tuning_models/generic_armv8_a.h: Remove |
| generic_armv8_a_branch_cost and use generic_branch_cost. |
| |
| 2026-01-04 Andrew Pinski <andrew.pinski@oss.qualcomm.com> |
| |
| * configure: Regenerate. |
| |
| 2026-01-04 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| * config/riscv/riscv.cc (riscv_conditional_register_usage): Revert |
| patch that made VXRM a global register. |
| |
| 2026-01-04 Keith Packard <keithp@keithp.com> |
| |
| * config.gcc: Add clause for picolibc. |
| * config/picolibc-spec.h: New file. |
| * config/picolibc.opt: Likewise. |
| * config/picolibc.opt.urls: Likewise. |
| * configure.ac: Add support for --with-picolibc. |
| * configure: Rebuilt. |
| * doc/invoke.texi: Document picolibc options. |
| * doc/tm.texi.in (LIBC_CPP_SPEC): Document. |
| (LIBC_LINK_SPEC): Similarly. |
| * doc/tm.texi: Rebuilt. |
| * gcc.cc (LIBC_CPP_SPEC): Provide default definition. |
| (LIBC_LINK_SPEC): Likewise. |
| (cpp_spec): Include LIBC_CPP_SPEC. |
| (link_spec): Similarly for LIBC_LINK_SPEC. |
| |
| 2026-01-04 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| * doc/contrib.texi: Add Kazumoto & Oleg. |
| |
| 2026-01-04 Richard Braun <rbraun@sceen.net> |
| |
| * config/c6x/c6x-sched.md.in (mpydp_m_N__CROSS_, |
| mpyspdp_m_N__CROSS_, mpysp2dp_m_N__CROSS_): Update reservations. |
| * config/c6x/c6x-sched.md: Regenerated. |
| * config/c6x/c6x.md (m1dp, m1spdp, m2dp, m2spdp): New CPU units. |
| |
| 2026-01-04 Kalvis Duckmanton <kalvisd@gmail.com> |
| |
| * config/host-netbsd.cc (netbsd_gt_pch_use_address): Support PCH |
| loading at addresses other than its preferred address. |
| * config/host-openbsd.cc (openbsd_gt_pch_use_address): Likewise. |
| |
| 2026-01-04 Daniel Barboza <daniel.barboza@oss.qualcomm.com> |
| |
| PR tree-optimization/122608 |
| * match.pd (`(c ? a : b) op d -> c ? (a op d) : (b op d)`): New |
| pattern. |
| (`d op (c ? a : b) -> c ? (d op a) : (d op b)`): Likewise |
| |
| 2026-01-04 Jeff Law <jeffrey.law@oss.qualcomm.com> |
| |
| PR target/123010 |
| * simplify-rtx.cc (simplify_binary_operation_1, case ASHIFT): Simplify |
| case where a left shift of the sign extracted field can be turned into |
| a sign extension of a left shift. |
| |
| 2026-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/123372 |
| * tree-ssa-math-opts.cc |
| (build_saturation_binary_arith_call_and_replace): Pass type of op_0 |
| rather than type of lhs as second argument to |
| direct_internal_fn_supported_p. |
| |
| 2026-01-02 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/aarch64/aarch64-sve-builtins-shapes.cc |
| (INCLUDE_ALGORITHM): Define. |
| |
| 2026-01-01 Kugan Vivekanandarajah <kvivekananda@nvidia.com> |
| |
| * cgraph.cc (cgraph_edge::get_next_speculative_id): New. |
| * cgraph.h (cgraph_edge::get_next_speculative_id): New. |
| * ipa-devirt.cc (ipa_devirt): Use get_next_speculative_id |
| in make_speculative. |
| |
| 2026-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * gcc.cc (process_command): Update copyright notice dates. |
| * gcov-dump.cc (print_version): Ditto. |
| * gcov.cc (print_version): Ditto. |
| * gcov-tool.cc (print_version): Ditto. |
| * gengtype.cc (create_file): Ditto. |
| * doc/cpp.texi: Bump @copying's copyright year. |
| * doc/cppinternals.texi: Ditto. |
| * doc/gcc.texi: Ditto. |
| * doc/gccint.texi: Ditto. |
| * doc/gcov.texi: Ditto. |
| * doc/install.texi: Ditto. |
| * doc/invoke.texi: Ditto. |
| |
| |
| Copyright (C) 2026 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |