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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #3)
> Bi-directional dataflow is notoriously hard to get correct and I have zero
> confidence this code handles that reasonably.  I thought I had some checks
> for this, though I don't immediately see them.

Well, if it's really a bi-directional dataflow then it shouldn't simply
iterate a DF_BACKWARD problem and do the forward problem somehow internally,
that's likely quite bad for convergence.

Usually you'd split the problem into a forward and a backward part so you
can iterate it like forward, backward, forward, backward, etc. instead - you'd
also avoid "converging" the individual forward and backward steps individually.

I didn't see any obvious parts that are FORWARD in ext-dce, just those odd
"local" re-computes during the backward iteration.

Reply via email to