This adds a comment before the workaround, indicating flaky
dependence analysis.

Pushed.

        PR tree-optimization/112859
        * tree-loop-distribution.cc
        (loop_distribution::pg_add_dependence_edges): Add comment.
---
 gcc/tree-loop-distribution.cc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-loop-distribution.cc b/gcc/tree-loop-distribution.cc
index 9d9d2ae592b..fc0cd3952d5 100644
--- a/gcc/tree-loop-distribution.cc
+++ b/gcc/tree-loop-distribution.cc
@@ -2193,7 +2193,9 @@ loop_distribution::pg_add_dependence_edges (struct graph 
*rdg, int dir,
                      this_dir = -this_dir;
                    }
                  /* When then dependence distance of the innermost common
-                    loop of the DRs is zero we have a conflict.  */
+                    loop of the DRs is zero we have a conflict.  This is
+                    due to wonky dependence analysis which sometimes
+                    ends up using a zero distance in place of unknown.  */
                  auto l1 = gimple_bb (DR_STMT (dr1))->loop_father;
                  auto l2 = gimple_bb (DR_STMT (dr2))->loop_father;
                  int idx = index_in_loop_nest (find_common_loop (l1, l2)->num,
-- 
2.43.0

Reply via email to