> 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

Reply via email to