I've tested this patch on the wrong tree, and picked up the test changes
in a pending patch, without which this patch is no longer obvious.
Plus, it causes a regression in an invalid test I've recommended we remove.

I'm reverting this patch until the dependencies are reviewed.

Sorry for the noise.

gcc/ChangeLog:

        * tree-ssa-threadbackward.c
        (back_threader::maybe_register_path): Remove circular paths check.
---
 gcc/tree-ssa-threadbackward.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gcc/tree-ssa-threadbackward.c b/gcc/tree-ssa-threadbackward.c
index 38913b06717..d94e3b962db 100644
--- a/gcc/tree-ssa-threadbackward.c
+++ b/gcc/tree-ssa-threadbackward.c
@@ -140,10 +140,6 @@ back_threader::maybe_register_path ()
 
   if (taken_edge && taken_edge != UNREACHABLE_EDGE)
     {
-      // Avoid circular paths.
-      if (m_visited_bbs.contains (taken_edge->dest))
-       return UNREACHABLE_EDGE;
-
       bool irreducible = false;
       bool profitable
        = m_profit.profitable_path_p (m_path, m_name, taken_edge, &irreducible);
-- 
2.31.1

Reply via email to