https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122856
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Martin Jambor <[email protected]>: https://gcc.gnu.org/g:e47f44074a5fe9b51cbe75269363a42e90d6a580 commit r16-7600-ge47f44074a5fe9b51cbe75269363a42e90d6a580 Author: Martin Jambor <[email protected]> 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 <[email protected]> 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 <[email protected]> PR ipa/122856 * g++.dg/ipa/pr122856.C: New test.
