commit: c8efdd40e70884f82c463ad5cf4c44c9e01125c3 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Mon Mar 3 16:37:51 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Mar 3 16:37:51 2025 +0000 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=c8efdd40
15.0.0: add PGO patch for Firefox Bug: https://gcc.gnu.org/PR118318 Signed-off-by: Sam James <sam <AT> gentoo.org> .../gentoo/81_all_PR118318-firefox-pgo-ice.patch | 56 ++++++++++++++++++++++ 15.0.0/gentoo/README.history | 4 ++ 2 files changed, 60 insertions(+) diff --git a/15.0.0/gentoo/81_all_PR118318-firefox-pgo-ice.patch b/15.0.0/gentoo/81_all_PR118318-firefox-pgo-ice.patch new file mode 100644 index 0000000..4e01689 --- /dev/null +++ b/15.0.0/gentoo/81_all_PR118318-firefox-pgo-ice.patch @@ -0,0 +1,56 @@ +From 833d679c3c071b78dfb22015fe03d2cecfd650ec Mon Sep 17 00:00:00 2001 +Message-ID: <833d679c3c071b78dfb22015fe03d2cecfd650ec.1741019831.git....@gentoo.org> +From: Martin Jambor <[email protected]> +Date: Mon, 3 Mar 2025 14:18:10 +0100 +Subject: [PATCH] ipa-cp: Avoid ICE when redistributing nodes among edges to + recursive clones (PR 118318) + +Hi, + +PR 118318 reported an ICE during PGO build of Firefox when IPA-CP, in +the final stages of update_counts_for_self_gen_clones where it +attempts to guess how to distribute profile count among clones created +for recursive edges and the various edges that are created in the +process. If one such edge has profile count of kind GUESSED_GLOBAL0, +the compatibility check in the operator+ will lead to an ICE. After +discussing the situation with Honza, we concluded that there is little +more we can do other than check for this situation before touching the +edge count, so this is what this patch does. + +Bootstrapped and LTO-profile-bootstrapped and tested on x86_64. OK for +master? (Should I then backport this to active release branches? I +guess it would make sense.) + +Thanks, + +Martin + +gcc/ChangeLog: + +2025-02-28 Martin Jambor <[email protected]> + +PR ipa/118318 + * ipa-cp.cc (adjust_clone_incoming_counts): Add a compatible_p check. +--- + gcc/ipa-cp.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gcc/ipa-cp.cc b/gcc/ipa-cp.cc +index 3c994f24f540..264568989a96 100644 +--- a/gcc/ipa-cp.cc ++++ b/gcc/ipa-cp.cc +@@ -4638,7 +4638,8 @@ adjust_clone_incoming_counts (cgraph_node *node, + cs->count = cs->count.combine_with_ipa_count (sum); + } + else if (!desc->processed_edges->contains (cs) +- && cs->caller->clone_of == desc->orig) ++ && cs->caller->clone_of == desc->orig ++ && cs->count.compatible_p (desc->count)) + { + cs->count += desc->count; + if (dump_file) + +base-commit: f1c30c6213fb228f1e8b5973d10c868b834a4acd +-- +2.48.1 + diff --git a/15.0.0/gentoo/README.history b/15.0.0/gentoo/README.history index 06c4a0d..abbecb3 100644 --- a/15.0.0/gentoo/README.history +++ b/15.0.0/gentoo/README.history @@ -1,3 +1,7 @@ +47 ???? + + + 81_all_PR118318-firefox-pgo-ice.patch + 46 17 February 2025 - 81_all_PR118097-ipa-cp-Perform-operations-in-the-appropriate-types-P.patch
