https://gcc.gnu.org/g:55b01e17c793688a2878fa43a76df1266153b438
commit r16-292-g55b01e17c793688a2878fa43a76df1266153b438 Author: GCC Administrator <gccadmin@gcc.gnu.org> Date: Wed Apr 30 00:18:58 2025 +0000 Daily bump. Diff: --- gcc/ChangeLog | 147 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 6 ++ gcc/d/ChangeLog | 17 ++++++ gcc/testsuite/ChangeLog | 31 ++++++++++ libstdc++-v3/ChangeLog | 111 ++++++++++++++++++++++++++++++++++++ 6 files changed, 313 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eab323120d82..a2bb7c25a68f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,150 @@ +2025-04-29 Jan Hubicka <hubi...@ucw.cz> + + * ipa-cp.cc (cs_interesting_for_ipcp_p): Fix handling of uninitialized + counts and 0 IPA cost wrt flag_profile_partial_training. + +2025-04-29 Pengfei Li <pengfei....@arm.com> + + * simplify-rtx.cc (non_paradoxical_subreg_not_p): New function + for pattern match of (subreg (not X)). + (simplify_with_subreg_not): New function for simplification. + +2025-04-29 Uros Bizjak <ubiz...@gmail.com> + + PR target/111657 + * config/i386/i386-expand.cc (alg_usable_p): For Pmode != word_mode + reject rep_prefix_{1,4,8}_byte algorithms with src_as in the + non-default address space. + * config/i386/i386-protos.h (ix86_check_movs): New prototype. + * config/i386/i386.cc (ix86_check_movs): New function. + (ix86_print_operand) [case '^']: Remove excess check for TARGET_64BIT. + * config/i386/i386.md (strmov): For Pmode != word_mode expand with + gen_strmov_single only when operands[3] (source) is in the default + address space. + (*strmovdi_rex_1) Use ix86_check_movs. Remove %^ from asm template. + (*strmovsi_1): Ditto. + (*strmovhi_1): DItto. + (*strmovqi_1): Ditto. + (*rep_movdi_rex64): Ditto. + (*rep_movsi): Ditto. + (*rep_movqi): Ditto. + +2025-04-29 Zhijin Zeng <zengzhi...@linux.spacemit.com> + + * config/riscv/riscv.cc (riscv_register_move_cost): Use + reg_class_subset_p to check the reg class. + +2025-04-29 Richard Biener <rguent...@suse.de> + + PR tree-optimization/119997 + * vec.h (vec<T, A, vl_embed>::last): Provide const overload. + (vec<T, va_heap, vl_ptr>::last): Likewise. + * tree-ssa-sccvn.h (vn_pp_nary_for_addr): Declare. + * tree-ssa-sccvn.cc (vn_pp_nary_for_addr): Split out from ... + (vn_reference_lookup): ... here. + (vn_reference_insert): ... and duplicate here. Do not handle + zero offset as POINTER_PLUS_EXPR. + * tree-ssa-pre.cc (compute_avail): Implement + ADDR_EXPR-as-POINTER_PLUS_EXPR special casing. + +2025-04-29 Uros Bizjak <ubiz...@gmail.com> + + PR target/111657 + * config/i386/i386-expand.cc (alg_usable_p): Remove have_as bool + argument and add dst_as and src_as address space arguments. Reject + libcall algorithm with dst_as and src_as in the non-default address + spaces. Reject rep_prefix_{1,4,8}_byte algorithms with dst_as in + the non-default address space. + (decide_alg): Remove have_as bool argument and add dst_as and src_as + address space arguments. Update calls to alg_usable_p. + (ix86_expand_set_or_cpymem): Update call to decide_alg. + * config/i386/i386.md (strmov): Do not fail if operand[3] (source) + is in the non-default address space. Expand with gen_strmov_singleop + only when operand[1] (destination) is in the default address space. + (*strmovdi_rex_1): Determine memory operands from insn pattern. + Allow only when destination is in the default address space. + Rewrite asm template to use explicit operands. + (*strmovsi_1): Ditto. + (*strmovhi_1): DItto. + (*strmovqi_1): Ditto. + (*rep_movdi_rex64): Ditto. + (*rep_movsi): Ditto. + (*rep_movqi): Ditto. + (*strsetdi_rex_1): Determine memory operands from insn pattern. + Allow only when destination is in the default address space. + (*strsetsi_1): Ditto. + (*strsethi_1): Ditto. + (*strsetqi_1): Ditto. + (*rep_stosdi_rex64): Ditto. + (*rep_stossi): Ditto. + (*rep_stosqi): Ditto. + +2025-04-29 H.J. Lu <hjl.to...@gmail.com> + + PR target/119985 + * target.def: Remove TARGET_PROMOTE_FUNCTION_RETURN reference. + * doc/tm.texi: Regenerated. + +2025-04-29 hongtao.liu <hongtao....@intel.com> + + PR gcov-profile/118581 + * auto-profile.cc (autofdo_source_profile::get_count_info): + Overload the function with parameter gimple location instead + of stmt. + (afdo_set_bb_count): For !has_annotated BB, Check single + successors PHIs corresponding to the block and use those + count. + +2025-04-29 Richard Biener <rguent...@suse.de> + + PR debug/78685 + * doc/invoke.texi (-Og): Reword. + +2025-04-29 Uros Bizjak <ubiz...@gmail.com> + + * config/i386/i386.cc (ix86_update_stack_alignment): Skip sub-RTXes + of the memory operand if stack access register is not mentioned in + the operand. + +2025-04-29 H.J. Lu <hjl.to...@gmail.com> + + PR target/92080 + PR target/117839 + * config/i386/i386-features.cc (ix86_place_single_vector_set): + New function. + (remove_partial_avx_dependency): Use it. + (ix86_get_vector_load_mode): New function. + (replace_vector_const): Likewise. + (remove_redundant_vector_load): Likewise. + (pass_data_remove_redundant_vector_load): Likewise. + (pass_remove_redundant_vector_load): Likewise. + (make_pass_remove_redundant_vector_load): Likewise. + * config/i386/i386-passes.def: Add + pass_remove_redundant_vector_load after + pass_remove_partial_avx_dependency. + * config/i386/i386-protos.h + (make_pass_remove_redundant_vector_load): New. + * config/i386/i386.cc (ix86_modes_tieable_p): Return true for + narrower non-scalar-integer modes in SSE registers. + +2025-04-29 H.J. Lu <hjl.to...@gmail.com> + + PR target/117547 + * config/i386/i386-expand.cc (ix86_expand_unsigned_small_int_cst_argument): + New function. + (ix86_expand_args_builtin): Call + ix86_expand_unsigned_small_int_cst_argument to expand the argument + before calling fixup_modeless_constant. + (ix86_expand_round_builtin): Likewise. + (ix86_expand_special_args_builtin): Likewise. + (ix86_expand_builtin): Likewise. + +2025-04-29 liuhongt <hongtao....@intel.com> + + * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): + Remove other processor except for GLC since this one is only + for GLC. + 2025-04-28 David Malcolm <dmalc...@redhat.com> PR analyzer/97111 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index e69718003fe1..2848e618ec86 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20250429 +20250430 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index ce2f385b62c8..40d1ff1075c2 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,9 @@ +2025-04-29 Marc Poulhiès <d...@kataplop.net> + + * exploded-graph.h (set_status): Rename parameter. + * constraint-manager.cc (bound::ensure_closed): Likewise. + (range::add_bound): Likewise. + 2025-04-28 David Malcolm <dmalc...@redhat.com> PR analyzer/111536 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index f816c70ce3b9..b6815d37bc30 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,20 @@ +2025-04-29 Iain Buclaw <ibuc...@gdcproject.org> + + PR d/103044 + * d-tree.h (build_clear_padding_call): New prototype. + * d-codegen.cc (build_clear_padding_call): New function. + (build_memset_call): Remove generated call to __builtin_memcpy. + (build_address): Replace generated call to __builtin_memset with + __builtin_clear_padding. + (build_array_from_exprs): Likewise. + * expr.cc (ExprVisitor::visit (AssignExp *)): Remove generated call to + __builtin_memset. + (ExprVisitor::visit (ArrayLiteralExp *)): Likewise. Insert call to + __builtin_clear_padding after copying array into GC memory. + (ExprVisitor::visit (StructLiteralExp *)): Remove generated call to + __builtin_memset. + * toir.cc (IRVisitor::visit (ReturnStatement *)): Likewise. + 2025-04-17 Iain Buclaw <ibuc...@gdcproject.org> * dmd/MERGE: Merge upstream dmd 956e73d64e. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 053765b699cd..b196daf5e443 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,34 @@ +2025-04-29 Pengfei Li <pengfei....@arm.com> + + * gcc.target/aarch64/simd/bic_orn_1.c: New file. + +2025-04-29 Uros Bizjak <ubiz...@gmail.com> + + PR target/111657 + * gcc.target/i386/pr111657-1.c: Check that segment override is not + generated for "rep movsq" for x32 target. + +2025-04-29 Richard Biener <rguent...@suse.de> + + PR tree-optimization/119997 + * gcc.dg/tree-ssa/ssa-pre-35.c: New testcase. + +2025-04-29 Uros Bizjak <ubiz...@gmail.com> + + PR target/111657 + * gcc.target/i386/pr111657-1.c: New test. + +2025-04-29 H.J. Lu <hjl.to...@gmail.com> + + PR target/92080 + PR target/117839 + * gcc.target/i386/pr117839-1a.c: New test. + * gcc.target/i386/pr117839-1b.c: Likewise. + * gcc.target/i386/pr117839-2.c: Likewise. + * gcc.target/i386/pr92080-1.c: Likewise. + * gcc.target/i386/pr92080-2.c: Likewise. + * gcc.target/i386/pr92080-3.c: Likewise. + 2025-04-28 David Malcolm <dmalc...@redhat.com> PR analyzer/111536 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3d27c9114522..1c4ba7ddecd3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,114 @@ +2025-04-29 Jonathan Wakely <jwak...@redhat.com> + + * include/bits/version.def (make_obj_using_allocator): Use + no_stdname. + * include/bits/version.h: Regenerate. + +2025-04-29 Jonathan Wakely <jwak...@redhat.com> + + * include/bits/regex_compiler.h: Replace _GLIBCXX17_CONSTEXPR + with constexpr and disable diagnostics with pragmas. + (_AnyMatcher::operator()): Use constexpr-if instead of tag + dispatching. Postpone calls to _M_translate until after checking + result of earlier calls. + (_AnyMatcher::_M_apply): Remove both overloads. + (_BracketMatcher::operator(), _BracketMatcher::_M_ready): + Replace tag dispatching with 'if constexpr'. + (_BracketMatcher::_M_apply(_CharT, true_type)): Remove. + (_BracketMatcher::_M_apply(_CharT, false_type)): Remove second + parameter. + (_BracketMatcher::_M_make_cache): Remove both overloads. + * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply): + Remove second parameter. + * include/bits/regex_executor.tcc: Replace _GLIBCXX17_CONSTEXPR + with constexpr and disable diagnostics with pragmas. + (_Executor::_M_handle_backref): Replace __glibcxx_assert with + static_assert. + (_Executor::_M_handle_accept): Mark _S_opcode_backref case as + unreachable for non-DFS mode and do not instantiate + _M_handle_backref for that case. + +2025-04-29 Barnabás Pőcze <po...@protonmail.com> + + PR libstdc++/112934 + * include/bits/stl_map.h (map::erase): Use _M_erase_unique. + * include/bits/stl_set.h (set::erase): Likewise. + * include/bits/stl_tree.h (_Rb_tree::_M_erase_unique): Add. + +2025-04-29 Patrick Palka <ppa...@redhat.com> + + PR libstdc++/119427 + * include/std/flat_map (_Flat_map_impl::erase_if): Replace + this hidden friend with ... + (_Flat_map_impl::_M_erase_if): ... this member function. + (flat_map): Export _Flat_map_impl::_M_erase_if. + (erase_if(flat_map)): Define. + (flat_multimap): Export _Flat_map_impl::_M_erase_if. + (erase_if(flat_multimap)): Define. + * include/std/flat_set (_Flat_set_impl::erase_if): Replace + with ... + (_Flat_set_impl::_M_erase_if): ... this member function. + (flat_set): Export _Flat_set_impl::_M_erase_if. + (erase_if(flat_set)): Define. + (flat_multiset): Export _Flat_set_impl::_M_erase_if. + (erase_if(flat_multiset)): Define. + * testsuite/23_containers/flat_map/1.cc (test07): New test. + * testsuite/23_containers/flat_multimap/1.cc (test07): New test. + * testsuite/23_containers/flat_multiset/1.cc (test09): New test. + * testsuite/23_containers/flat_set/1.cc (test09): New test. + +2025-04-29 Jonathan Wakely <jwak...@redhat.com> + + * include/bits/char_traits.h (char_traits::assign): Use + constexpr-if unconditionally for C++11 and C++14. + * include/bits/locale_conv.h (__do_str_codecvt): Likewise. + * include/bits/ostream.h (basic_ostream::_S_cast_flt): Likewise. + * include/bits/random.tcc (shuffle_order_engine::operator()) + (seed_seq::seed_seq(Iter, Iter)): Likewise. + * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_release): + Likewise. + * include/bits/stl_tree.h (_Rb_tree::_M_move_data): Likewise. + * include/bits/uniform_int_dist.h + (uniform_int_distribution::operator()): Likewise. + * include/bits/valarray_array.h (__valarray_default_construct) + (__valarray_fill_construct, __valarray_copy_construct) + (__valarray_copy_construct, __valarray_destroy_elements): + Likewise. + * include/experimental/numeric (lcm): Likewise. + * include/std/bit (__rotl, __rotr, __countl_zero, __countr_zero) + (__popcount, __bit_ceil) Likewise.: + * include/std/bitset (operator>>): Likewise. + * include/std/charconv (__to_chars_8, __to_chars_i) + (__from_chars_alnum_to_val, from_chars): Likewise. + * include/tr2/dynamic_bitset (__dynamic_bitset_base): Likewise. + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + line number. + +2025-04-29 Jonathan Wakely <jwak...@redhat.com> + + * include/bits/std_function.h (_Target_handler): Remove. + (function::target): Use constexpr-if for C++11 and + C++14, with diagnostic pragmas to suppress warnings. + +2025-04-29 Jonathan Wakely <jwak...@redhat.com> + + * include/bits/stl_vector.h (_S_do_relocate): Remove. + (_S_relocate): Remove tag dispatching path. + * include/bits/vector.tcc (reserve, _M_realloc_insert) + (_M_realloc_append, _M_default_append): Add diagnostic pragmas + and use 'if constexpr' in C++11 and C++14. Call + std::__relocate_a directly instead of _S_relocate. + +2025-04-29 Jonathan Wakely <jwak...@redhat.com> + + * include/bits/basic_string.h (operator+(string&&, string&&)): + Do not assume that COW strings have equal allocators. Use + constexpr-if unconditionally. + * testsuite/21_strings/basic_string/allocator/char/operator_plus.cc: + Remove cxx11_abi effective-target check. + * testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc: + Likewise. + 2025-04-28 Giuseppe D'Angelo <giuseppe.dang...@kdab.com> * testsuite/20_util/shared_ptr/requirements/1.cc: Test both