[Bug ipa/122856] [13/14/15 Regression] ICE: in decide_about_value, at ipa-cp.cc
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 27 13:50:47 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122856
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Martin Jambor
<jamborm@gcc.gnu.org>:
https://gcc.gnu.org/g:acce7073fb3397e6873bc54d223699c5db143721
commit r13-10226-gacce7073fb3397e6873bc54d223699c5db143721
Author: Martin Jambor <mjambor@suse.cz>
Date: Fri Feb 20 14:34:27 2026 +0100
ipa-cp: Also look at self-recursive ancestor jump functions (PR122856)
PR 122856 shows that when looking at self recursive calls with
self-feeding jump functions, we did consider pass-through functions
but not ancestor functions with zero offsets. This then leads to the
fact that constants which were collected from IPA-CP lattices were not
among those collected from available edges, triggering a verification
assert.
This patch fixes that by also detecting self-feeding ancestor jump
functions.
gcc/ChangeLog:
2026-02-06 Martin Jambor <mjambor@suse.cz>
PR ipa/122856
* ipa-cp.cc (self_recursive_pass_through_p): Test jump function
type first.
(self_recursive_ancestor_p): New function.
(find_scalar_values_for_callers_subset): Test also for
self-recursive
ancestor jump functions.
(push_agg_values_for_index_from_edge): Likewise.
gcc/testsuite/ChangeLog:
2026-02-06 Martin Jambor <mjambor@suse.cz>
PR ipa/122856
* g++.dg/ipa/pr122856.C: New test.
(cherry picked from commit e47f44074a5fe9b51cbe75269363a42e90d6a580)
More information about the Gcc-bugs
mailing list