commit: 8de62fc16a21ace578aa2fc9922e288c5ad62c79 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Thu Mar 5 00:06:14 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Mar 5 00:07:06 2026 +0000 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=8de62fc1
16.0.0: add firefox PGO patch Bug: https://gcc.gnu.org/PR124291 Signed-off-by: Sam James <sam <AT> gentoo.org> 16.0.0/gentoo/88_all_PR124291-firefox.patch | 27 +++++++++++++++++++++++++++ 16.0.0/gentoo/README.history | 1 + 2 files changed, 28 insertions(+) diff --git a/16.0.0/gentoo/88_all_PR124291-firefox.patch b/16.0.0/gentoo/88_all_PR124291-firefox.patch new file mode 100644 index 0000000..56debcd --- /dev/null +++ b/16.0.0/gentoo/88_all_PR124291-firefox.patch @@ -0,0 +1,27 @@ +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124291#c12 +--- a/gcc/ipa-cp.cc ++++ b/gcc/ipa-cp.cc +@@ -5920,11 +5920,19 @@ ipcp_val_replacement_ok_p (vec<tree> &, + int index, HOST_WIDE_INT offset, + ipa_polymorphic_call_context value) + { +- if (offset != -1) ++ if (offset != -1 ++ || known_contexts.length () <= (unsigned) index ++ || known_contexts[index].useless_p ()) + return false; +- return (known_contexts.length () > (unsigned) index +- && !known_contexts[index].useless_p () +- && known_contexts[index].equal_to (value)); ++ ++ if (known_contexts[index].equal_to (value)) ++ return true; ++ ++ /* In some corner cases, the final gathering of contexts can figure out that ++ the available context is actually more precise than what we wanted to ++ clone for. Allow it. */ ++ value.combine_with (known_contexts[index]); ++ return known_contexts[index].equal_to (value); + } + + /* Decide whether to create a special version of NODE for value VAL of diff --git a/16.0.0/gentoo/README.history b/16.0.0/gentoo/README.history index de88438..00e8464 100644 --- a/16.0.0/gentoo/README.history +++ b/16.0.0/gentoo/README.history @@ -1,6 +1,7 @@ 39 ???? - 85_all_PR120987-ipa-modref-typo.patch + + 88_all_PR124291-firefox.patch 38 22 February 2026
