aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog349
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