> Hi,
>
> 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.
>
> Bootstrapped and tested on x86_64-linux. OK for master and affected
> release branches?
>
> Thanks,
>
> Martin
>
>
> 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.
OK,
thanks!
Honza