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