From 1f28b2e4d8f8ea54848c332c707fa4ca5f028fa1 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Fri, 17 Nov 2023 14:47:07 +0100 Subject: [PATCH] Revert "tree-optimization/112281 - loop distribution and zero dependence distances" This reverts commit 5ea2965b499f9e491e45db19fedbccfccb75076a. --- gcc/testsuite/gcc.dg/torture/pr112281.c | 19 ------------------- gcc/tree-loop-distribution.cc | 7 +++---- 2 files changed, 3 insertions(+), 23 deletions(-) delete mode 100644 gcc/testsuite/gcc.dg/torture/pr112281.c diff --git a/gcc/testsuite/gcc.dg/torture/pr112281.c b/gcc/testsuite/gcc.dg/torture/pr112281.c deleted file mode 100644 index 3f0a61a93766..000000000000 --- a/gcc/testsuite/gcc.dg/torture/pr112281.c +++ /dev/null @@ -1,19 +0,0 @@ -/* { dg-do run } */ -/* { dg-additional-options "-ftree-loop-distribution" } */ - -struct { - int : 8; - int a; -} b, d[4] = {{0}, {0}, {0}, {5}}; -int c, e; -int main() -{ - for (c = 2; c; c--) - for (e = 0; e < 2; e++) { - d[c] = b = d[c + 1]; - d[c + 1].a = 0; - } - if (b.a != 0) - __builtin_abort(); - return 0; -} diff --git a/gcc/tree-loop-distribution.cc b/gcc/tree-loop-distribution.cc index 5ededd97c3d6..ffca535064be 100644 --- a/gcc/tree-loop-distribution.cc +++ b/gcc/tree-loop-distribution.cc @@ -2163,10 +2163,9 @@ loop_distribution::pg_add_dependence_edges (struct graph *rdg, int dir, gcc.dg/tree-ssa/pr94969.c. */ if (DDR_NUM_DIST_VECTS (ddr) != 1) this_dir = 2; - /* If the dependence distance is zero in the innermost - loop preserve stmt order. */ - else if (DDR_DIST_VECT (ddr, 0) - [DDR_LOOP_NEST (ddr).length () - 1] == 0) + /* If the overlap is exact preserve stmt order. */ + else if (lambda_vector_zerop (DDR_DIST_VECT (ddr, 0), + DDR_NB_LOOPS (ddr))) ; /* Else as the distance vector is lexicographic positive swap the dependence direction. */ -- 2.43.5