https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70359

--- Comment #25 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we indeed have p_20 and p_9 live as p_9 is used after the loop.  Originally
this wasn't the case but fold_stmt in the first forwprop pass does this
by means of following use-def chains.

As I usually say the user could have written the loop that way so a real
fix is to try undoing this somewhere.

Sprinkling single_use checks in match.pd (or simple_iv_increment_p-like
checks) doesn't look like a sustainable approach to me.

Reply via email to