https://gcc.gnu.org/g:0f86e86a869a7defefa63469a1c411ab4bb36c25

commit r13-9509-g0f86e86a869a7defefa63469a1c411ab4bb36c25
Author: Richard Biener <rguent...@suse.de>
Date:   Tue Jan 28 15:01:25 2025 +0100

    tree-optimization/112859 - add comment
    
    This adds a comment before the workaround, indicating flaky
    dependence analysis.
    
            PR tree-optimization/112859
            * tree-loop-distribution.cc
            (loop_distribution::pg_add_dependence_edges): Add comment.
    
    (cherry picked from commit 3ccbc8c9d182c380e396631b2b5a683de4fddba9)

Diff:
---
 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 66474c495d59..3beffaf92c5d 100644
--- a/gcc/tree-loop-distribution.cc
+++ b/gcc/tree-loop-distribution.cc
@@ -2178,7 +2178,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,

Reply via email to