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