From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1666) id F1C123858D1E; Fri, 17 Nov 2023 13:48:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F1C123858D1E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1700228934; bh=FPFjlR/HeR4qQcfwsVg9PugdjDIVL7G5twFZ+XofXj4=; h=From:To:Subject:Date:From; b=vtNQ5lQfZZ/BxzEwpRXfqaUFsmwivk56ujLy71sohoY4/rbeO4PPyUxa3Y+MIzBDF 7N/RqIiwABnJQnLnsOQuzAalojP4jylWrYw3VjNf/LkeCAGcQ7O91AeY2NWJjM0uQ9 Ba/BO23MbUjhTQ3ZxbWjdpoHlbLiyFnE76nuOPSs= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Richard Biener To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-5554] Revert "tree-optimization/112281 - loop distribution and zero dependence distances" X-Act-Checkin: gcc X-Git-Author: Richard Biener X-Git-Refname: refs/heads/master X-Git-Oldrev: b9eba3baf54b4fc25c3006768bb945058622658b X-Git-Newrev: 1f28b2e4d8f8ea54848c332c707fa4ca5f028fa1 Message-Id: <20231117134854.F1C123858D1E@sourceware.org> Date: Fri, 17 Nov 2023 13:48:54 +0000 (GMT) List-Id: https://gcc.gnu.org/g:1f28b2e4d8f8ea54848c332c707fa4ca5f028fa1 commit r14-5554-g1f28b2e4d8f8ea54848c332c707fa4ca5f028fa1 Author: Richard Biener Date: Fri Nov 17 14:47:07 2023 +0100 Revert "tree-optimization/112281 - loop distribution and zero dependence distances" This reverts commit 5ea2965b499f9e491e45db19fedbccfccb75076a. Diff: --- gcc/testsuite/gcc.dg/torture/pr112281.c | 19 ------------------- gcc/tree-loop-distribution.cc | 7 +++---- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/gcc/testsuite/gcc.dg/torture/pr112281.c b/gcc/testsuite/gcc.dg/torture/pr112281.c deleted file mode 100644 index 3f0a61a9376..00000000000 --- 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 5ededd97c3d..ffca535064b 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. */