https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124651
--- Comment #10 from Heiko Eißfeldt <heiko at hexco dot de> ---
Thanks a lot! With your comments I could replace the recursion and passed the
Winfinite-recursion* tests from the testsuite.
>From debugging a core dump I found another place where recursion over many BBs
occurs.
this is from tree-ssa.cc in function verify_vssa()
```
/* Verify virtual SSA form. */
bool
verify_vssa (basic_block bb, tree current_vdef, sbitmap visited)
{
...
/* Verify destination PHI uses and recurse. */
edge_iterator ei;
edge e;
FOR_EACH_EDGE (e, ei, bb->succs)
{
gphi *phi = get_virtual_phi (e->dest);
if (phi
&& PHI_ARG_DEF_FROM_EDGE (phi, e) != current_vdef)
{
error ("PHI node with wrong VUSE on edge from BB %d",
e->src->index);
print_gimple_stmt (stderr, phi, 0, TDF_VOPS);
fprintf (stderr, "expected ");
print_generic_expr (stderr, current_vdef);
fprintf (stderr, "\n");
err = true;
}
/* Recurse. */
err |= verify_vssa (e->dest, current_vdef, visited);
}
return err;
}
```
Would this also be easy to transform?