diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 349 |
1 files changed, 349 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1530dcb..e082958 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,352 @@ +2025-04-15 Sandra Loosemore <sloosemore@baylibre.com> + + PR tree-optimization/71094 + * doc/invoke.texi (Optimize Options): Document that -fivopts is + enabled at -O1 and higher. Add blurb about -O0 causing GCC to + completely ignore most optimization options. + +2025-04-15 Iain Sandoe <iain@sandoe.co.uk> + + * configure: Regenerate. + * configure.ac: Recognise PROJECT:ld-mmmm.nn.aa as an identifier + for Darwin's static linker. + +2025-04-15 Iain Sandoe <iainsandoe@mini-05-seq.local> + + PR target/116827 + * ginclude/stddef.h: Undefine __PTRDIFF_T and __SIZE_T for module- + enabled c++ on Darwin/macOS platforms. + +2025-04-15 Kyrylo Tkachov <ktkachov@nvidia.com> + + * common.opt.urls: Regenerate. + +2025-04-15 Jan Hubicka <hubicka@ucw.cz> + + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Set + to 4 for znver5. + +2025-04-15 Jan Hubicka <hubicka@ucw.cz> + + PR target/119298 + * config/i386/x86-tune-costs.h (znver5_cost): Set ADDSS cost to 3. + +2025-04-15 Vineet Gupta <vineetg@rivosinc.com> + + PR target/119533 + * config/riscv/riscv-vsetvl.cc (invalid_opt_bb_p): Check for + EDGE_ABNOMAL. + (pre_vsetvl::compute_lcm_local_properties): Initialize kill + bitmap. + Debug dump skipped edge. + +2025-04-15 Robin Dapp <rdapp@ventanamicro.com> + + PR target/119547 + * config/riscv/riscv-vsetvl.cc (pre_vsetvl::earliest_fuse_vsetvl_info): + Do not perform lift if block is not transparent. + +2025-04-15 Kyrylo Tkachov <ktkachov@nvidia.com> + + * Makefile.in (OBJS): Add ipa-locality-cloning.o. + * cgraph.h (set_new_clone_decl_and_node_flags): Declare prototype. + * cgraphclones.cc (set_new_clone_decl_and_node_flags): Remove static + qualifier. + * common.opt (fipa-reorder-for-locality): New flag. + (LTO_PARTITION_DEFAULT): Declare. + (flto-partition): Change default to LTO_PARTITION_DFEAULT. + * doc/invoke.texi: Document -fipa-reorder-for-locality. + * flag-types.h (enum lto_locality_cloning_model): Declare. + (lto_partitioning_model): Add LTO_PARTITION_DEFAULT. + * lto-cgraph.cc (lto_set_symtab_encoder_in_partition): Add dumping of + node and index. + * opts.cc (validate_ipa_reorder_locality_lto_partition): Define. + (finish_options): Handle LTO_PARTITION_DEFAULT. + * params.opt (lto_locality_cloning_model): New enum. + (lto-partition-locality-cloning): New param. + (lto-partition-locality-frequency-cutoff): Likewise. + (lto-partition-locality-size-cutoff): Likewise. + (lto-max-locality-partition): Likewise. + * passes.def: Register pass_ipa_locality_cloning. + * timevar.def (TV_IPA_LC): New timevar. + * tree-pass.h (make_pass_ipa_locality_cloning): Declare. + * ipa-locality-cloning.cc: New file. + * ipa-locality-cloning.h: New file. + +2025-04-15 Martin Jambor <mjambor@suse.cz> + Jakub Jelinek <jakub@redhat.com> + + PR ipa/119803 + * ipa-cp.cc (ipcp_bits_lattice::meet_with_1): Move m_value adjustmed + according to m_mask below the adjustment of the latter according to + cap_mask. Optimize the calculation of cap_mask a bit. + (ipcp_bits_lattice::meet_with): Optimize the calculation of cap_mask a + bit. + +2025-04-15 Jakub Jelinek <jakub@redhat.com> + + * ipa-cp.cc (ipcp_print_widest_int): Print values with all ones in + bits 128+ with "0xf..f" prefix instead of "all ones folled by ". + Simplify wide_int check for -1 or all ones above least significant + 128 bits. + +2025-04-15 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/119801 + * sanitizer.def (BUILT_IN_TSAN_FUNC_EXIT): Use BT_FN_VOID rather + than BT_FN_VOID_PTR. + * tree-tailcall.cc: Include attribs.h and asan.h. + (struct tailcall): Add has_tsan_func_exit member. + (empty_eh_cleanup): Add eh_has_tsan_func_exit argument, set what + it points to to 1 if there is exactly one __tsan_func_exit call + and ignore that call otherwise. Adjust recursive call. + (find_tail_calls): Add RETRY_TSAN_FUNC_EXIT argument, pass it + to recursive calls. When seeing __tsan_func_exit call with + RETRY_TSAN_FUNC_EXIT 0, set it to -1. If RETRY_TSAN_FUNC_EXIT + is 1, initially ignore __tsan_func_exit calls. Adjust + empty_eh_cleanup caller. When looking through stmts after the call, + ignore exactly one __tsan_func_exit call but remember it in + t->has_tsan_func_exit. Diagnose if EH cleanups didn't have + __tsan_func_exit and normal path did or vice versa. + (optimize_tail_call): Emit __tsan_func_exit before the tail call + or tail recursion. + (tree_optimize_tail_calls_1): Adjust find_tail_calls callers. If + find_tail_calls changes retry_tsan_func_exit to -1, set it to 1 + and call it again with otherwise the same arguments. + +2025-04-15 Sandra Loosemore <sloosemore@baylibre.com> + + PR ipa/113203 + * doc/extend.texi (Common Function Attributes): Explain how to + use always_inline in programs that have multiple translation + units, and that LTO inlining additionally needs optimization + enabled. + +2025-04-15 liuhongt <hongtao.liu@intel.com> + + PR target/108134 + * doc/extend.texi: Remove documents from r11-344-g0fec3f62b9bfc0. + +2025-04-15 Sandra Loosemore <sloosemore@baylibre.com> + + PR target/42683 + * doc/invoke.texi (x86 Options): Clarify that -march=pentiumpro + doesn't include MMX. + +2025-04-14 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/118794 + * config/gcn/gcn.opt (-mfake-exceptions): Support. + * config/nvptx/nvptx.opt (-mfake-exceptions): Likewise. + * config/gcn/gcn.md (define_expand "exception_receiver"): Use it. + * config/nvptx/nvptx.md (define_expand "exception_receiver"): + Likewise. + * config/gcn/mkoffload.cc (main): Set it. + * config/nvptx/mkoffload.cc (main): Likewise. + * config/nvptx/nvptx.cc (nvptx_assemble_integer) + <in_section == exception_section>: Special handling for + 'SYMBOL_REF's. + * except.cc (expand_dw2_landing_pad_for_region): Don't generate + bogus code for (default) + '#define EH_RETURN_DATA_REGNO(N) INVALID_REGNUM'. + +2025-04-14 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/119785 + * expmed.cc (init_expmed): Always pass QImode rather than mode to + set_src_cost passed to set_zero_cost. + +2025-04-14 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/119718 + * tree-pretty-print.cc (dump_generic_node) <case CALL_EXPR>: Dump + also CALL_EXPR_MUST_TAIL_CALL flag. + * calls.cc (maybe_complain_about_tail_call): Emit error about + CALL_EXPR_MUST_TAIL_CALL only after emitting dump message, not before + it. + +2025-04-14 Arthur Cohen <arthur.cohen@embecosm.com> + + * doc/install.texi: Add requirements for building gccrs. + +2025-04-14 H.J. Lu <hjl.tools@gmail.com> + + PR target/119784 + * config/i386/i386.cc (ix86_using_red_zone): Don't use red-zone + with 32 GPRs and no caller-saved registers. + +2025-04-14 Martin Jambor <mjambor@suse.cz> + + PR ipa/118097 + * ipa-cp.cc (ipa_get_jf_arith_result): Require res_operand for + anything except NOP_EXPR or ADDR_EXPR, document it and remove the code + trying to deduce it. + (ipa_value_from_jfunc): Use the stored and streamed type of arithmetic + pass-through functions. + (ipa_agg_value_from_jfunc): Use the stored and streamed type of + arithmetic pass-through functions, convert to the type used to store + the value if necessary. + (get_val_across_arith_op): New parameter op_type, pass it to + ipa_get_jf_arith_result. + (propagate_vals_across_arith_jfunc): New parameter op_type, pass it to + get_val_across_arith_op. + (propagate_vals_across_pass_through): Use the stored and streamed type + of arithmetic pass-through functions. + (propagate_aggregate_lattice): Likewise. + (push_agg_values_for_index_from_edge): Use the stored and streamed + type of arithmetic pass-through functions, convert to the type used to + store the value if necessary. + +2025-04-14 Martin Jambor <mjambor@suse.cz> + + PR ipa/118785 + * ipa-cp.cc (ipa_vr_intersect_with_arith_jfunc): Use the stored + and streamed type of arithmetic pass-through functions. + +2025-04-14 Martin Jambor <mjambor@suse.cz> + + * ipa-cp.cc (ipcp_print_widest_int): Also add a truncated form of + dumping of widest ints which only have zeros in the lowest 128 bits. + Update the comment. + (ipcp_bits_lattice::print): Also dump the mask using + ipcp_print_widest_int. + (ipcp_store_vr_results): Likewise. + +2025-04-14 Martin Jambor <mjambor@suse.cz> + + PR ipa/119318 + * ipa-cp.cc (ipcp_bits_lattice::meet_with_1): Set all mask bits + not covered by precision to one. + (ipcp_bits_lattice::meet_with): Likewise. + (propagate_bits_across_jump_function): Use the stored operation + type to perform meet with other lattices. + +2025-04-14 Martin Jambor <mjambor@suse.cz> + + PR ipa/118097 + PR ipa/118785 + PR ipa/119318 + * lto-streamer.h (lto_variably_modified_type_p): Declare. + * ipa-prop.h (ipa_pass_through_data): New field op_type. + (ipa_get_jf_pass_through_op_type): New function. + * ipa-prop.cc: Include lto-streamer.h. + (ipa_dump_jump_function): Dump also pass-through + operation types, if any. Dump pass-through operands only if not NULL. + (ipa_set_jf_simple_pass_through): Set op_type accordingly. + (compute_complex_assign_jump_func): Set op_type of arithmetic + pass-through jump_functions. + (analyze_agg_content_value): Update lhs when walking assighment + copies. Set op_type of aggregate arithmetic pass-through + jump_functions. + (update_jump_functions_after_inlining): Also transfer the operation + type from the source arithmentic pass-through jump function to the + destination jump function. + (ipa_write_jump_function): Stream also the op_type when necessary. + (ipa_read_jump_function): Likewise. + (ipa_agg_pass_through_jf_equivalent_p): Also compare operation types. + * lto-streamer-out.cc (lto_variably_modified_type_p): Make public. + +2025-04-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/119757 + * tree-vect-slp.cc (vect_build_slp_tree_1): Record and compare + whether a stmt uses a maks. + +2025-04-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/119778 + * tree-inline.cc (copy_edges_for_bb): Mark calls that are + source of abnormal edges as altering control-flow. + +2025-04-14 Gaius Mulley <gaiusmod2@gmail.com> + + PR modula2/119779 + * doc/gm2.texi (Interface to assembly language): Use eax + rather than rax in both examples. + +2025-04-14 Jakub Jelinek <jakub@redhat.com> + + PR driver/119727 + * configure.ac (HOST_HAS_PERSONALITY_ADDR_NO_RANDOMIZE): New check. + * gcc.cc: Include sys/personality.h if + HOST_HAS_PERSONALITY_ADDR_NO_RANDOMIZE is defined. + (try_generate_repro): Call + personality (personality (0xffffffffU) | ADDR_NO_RANDOMIZE) + if HOST_HAS_PERSONALITY_ADDR_NO_RANDOMIZE is defined. + * config.in: Regenerate. + * configure: Regenerate. + +2025-04-13 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config/s390/s390.cc: Add z17 scheduler description. + * config/s390/s390.h: Ditto. + * config/s390/s390.md: Ditto. + * config/s390/9175.md: New file. + +2025-04-13 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * common/config/s390/s390-common.cc: Rename arch15 to z17. + * config.gcc: Add z17. + * config/s390/driver-native.cc: Detect z17 machine. + * config/s390/s390-builtins.def (B_VXE3): Rename arch15 to z17. + * config/s390/s390-c.cc (s390_resolve_overloaded_builtin): Ditto. + * config/s390/s390-opts.h (enum processor_type): Ditto. + * config/s390/s390.cc: Ditto. + * config/s390/s390.h: Ditto. + * config/s390/s390.md: Ditto. + * config/s390/s390.opt: Add z17. + * doc/invoke.texi: Ditto. + +2025-04-12 Sandra Loosemore <sloosemore@baylibre.com> + + PR target/97585 + * doc/invoke.texi (x86 Options): Document list of extensions + supported by -march=x86_64, according to the declaration of + PTA_X86_64_BASELINE in config/i386/i386.h. + +2025-04-12 Jakub Jelinek <jakub@redhat.com> + + PR driver/119727 + * gcc.cc (files_equal_p): Rewritten using fopen/fgets/fclose instead + of open/fstat/read/close. At the start of lines, ignore lowercase + hexadecimal addresses followed by space. + +2025-04-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/119722 + * gimple-lower-bitint.h (build_bitint_stmt_ssa_conflicts): Add + CLEAR argument. + * gimple-lower-bitint.cc (build_bitint_stmt_ssa_conflicts): Add + CLEAR argument. Call clear on gimple_assign_copy_p rhs1 if lhs + is large/huge bitint unless lhs is not in names. + * tree-ssa-coalesce.cc (build_ssa_conflict_graph): Adjust + build_bitint_stmt_ssa_conflicts caller. Move gimple_assign_copy_p + handling to after the build_bitint_stmt_ssa_conflicts call. + +2025-04-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/119718 + * tree-tailcall.cc (maybe_error_musttail): Dump the GIMPLE at the + end of the Cannot tail-call line rather than on the line before it. + * calls.cc (maybe_complain_about_tail_call): Dump the GENERIC + at the end of the ;; Cannot tail-call line rather than on the + line before it. + +2025-04-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/119718 + * tree-tailcall.cc (maybe_error_musttail): Only dump into dump_file + if dump_flags & TDF_DETAILS. Use "Cannot tail-call: " prefix instead + of "Cannot convert: ". + (find_tail_calls, tree_optimize_tail_calls_1): Formatting fixes + for maybe_error_musttail calls. + * calls.cc (maybe_complain_about_tail_call): Emit also a message + into dump_file when dump_flags & TDF_DETAILS for CALL_EXPR_TAILCALL + calls. + (initialize_argument_information): Formatting fix for + maybe_complain_about_tail_call calls. + (can_implement_as_sibling_call_p, expand_call): Likewise. + 2025-04-11 Sandra Loosemore <sloosemore@baylibre.com> PR c++/106618 |