commit: 2a3c253e4db7a75166116d361b6a5e89e383bd2b Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri Feb 27 12:35:17 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Feb 27 12:35:17 2026 +0000 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=2a3c253e
16.0.0: drop upstream patch Signed-off-by: Sam James <sam <AT> gentoo.org> 16.0.0/gentoo/88_all_PR123629-ipa.patch | 76 --------------------------------- 16.0.0/gentoo/README.history | 1 - 2 files changed, 77 deletions(-) diff --git a/16.0.0/gentoo/88_all_PR123629-ipa.patch b/16.0.0/gentoo/88_all_PR123629-ipa.patch deleted file mode 100644 index d42c1b6..0000000 --- a/16.0.0/gentoo/88_all_PR123629-ipa.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 32bd375af7b0aa9bb289a7da636bd4d29c52c47b Mon Sep 17 00:00:00 2001 -Message-ID: <32bd375af7b0aa9bb289a7da636bd4d29c52c47b.1771940379.git....@gentoo.org> -From: Martin Jambor <[email protected]> -Date: Tue, 24 Feb 2026 11:41:07 +0100 -Subject: [PATCH] ipa: Meet same speculative and certain polymorphic contexts - (PR123629) - -Hi, - -PR 123629 is a somewhat complicated situation. IPA-CP clones for a -known speculative polymorphic context in a situation when a caller -bringing the known context has itself already been cloned, and now we -can determine that the context coming from that clone is not -speculative (but otherwise the same). This confuses the meet function -of contexts which gives up and returns a useless context, which in -turn triggers an assert because the value we originally cloned for is -nowhere to be found in the data structures which describe what we know -about the function clone. - -This patch changes the meet function so that it can deal with this -situation. When one of the contexts does not have a certain -component, the other one is moved to the speculative one. - -The patch does not have a testcase, because even though Josef Melcr has -heroically managed to reduce the original Firefox LTO failure to six -small files, possibly a lot of work would be needed to make their LTO -link pass when this is fixed. - -The patch has passed bootstrap and testing on x86_64-linux, I have also -LTO-bootstrapped it with -O3 and profiled-bootstrapped it. - -OK for master? - -Thanks, - -Martin - -gcc/ChangeLog: - -2026-02-23 Martin Jambor <[email protected]> - -PR ipa/123629 - * ipa-polymorphic-call.cc - (ipa_polymorphic_call_context::meet_with): When an outer context is - NULL, call make_speculative on the other one. ---- - gcc/ipa-polymorphic-call.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/gcc/ipa-polymorphic-call.cc b/gcc/ipa-polymorphic-call.cc -index 5e53c217e33c..b32dc70806f5 100644 ---- a/gcc/ipa-polymorphic-call.cc -+++ b/gcc/ipa-polymorphic-call.cc -@@ -2482,12 +2482,14 @@ ipa_polymorphic_call_context::meet_with (ipa_polymorphic_call_context ctx, - updated = true; - } - -- /* If call is known to be invalid, we are done. */ -+ /* If a certain context is known to be invalid, we can move to comparing -+ speculation. Because the second context might be a certain one which can -+ be met with the speculation of the first, make it speculative. */ - if (!outer_type) -- ; -+ ctx.make_speculative (); - else if (!ctx.outer_type) - { -- clear_outer_type (); -+ make_speculative (); - updated = true; - } - /* If types are known to be same, merging is quite easy. */ - -base-commit: a8150eea4e228a387305714554071cf10a6f180f --- -2.53.0 - diff --git a/16.0.0/gentoo/README.history b/16.0.0/gentoo/README.history index 5d9b215..1397421 100644 --- a/16.0.0/gentoo/README.history +++ b/16.0.0/gentoo/README.history @@ -1,6 +1,5 @@ 39 ???? - + 88_all_PR123629-ipa.patch + 89_all_PR123229-ipa-prop-Reset-param_index-of-indir.-edge-when-there.patch 38 22 February 2026
