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

--- Comment #9 from Jeffrey A. Law <law at gcc dot gnu.org> ---
I think Andrew has raised a really interesting issue.  If the relation code is
designed around seeing things in dominator order, then don't we have to stop
using it once we traverse any edge where the edge source does not dominate the
edge destination (assume this is a partial graph rather than a multi-entry
function ;-)



   1  2   3
   |   \ /
   |    4
   |   / \
   +->5   6
     / \
    7   8


Note how BB4 does not dominate BB5.  If we try to thread something like
2->4->5->?, then can't we run into problems with the equivalence handling as
well, even though we're not dealing with a loop?

Reply via email to