From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2102) id 8D840385AC27; Wed, 17 Nov 2021 08:18:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8D840385AC27 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Frederik Harwath To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-11] graphite: Accept loops without data references X-Act-Checkin: gcc X-Git-Author: Frederik Harwath X-Git-Refname: refs/heads/devel/omp/gcc-11 X-Git-Oldrev: cf481a504f4628d9cd496925a2ef4a1284ae64d5 X-Git-Newrev: 7bc13103c3ef408a1811a4d2ea935b03b6745451 Message-Id: <20211117081856.8D840385AC27@sourceware.org> Date: Wed, 17 Nov 2021 08:18:56 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Nov 2021 08:18:56 -0000 https://gcc.gnu.org/g:7bc13103c3ef408a1811a4d2ea935b03b6745451 commit 7bc13103c3ef408a1811a4d2ea935b03b6745451 Author: Frederik Harwath Date: Tue Nov 16 16:22:29 2021 +0100 graphite: Accept loops without data references It seems that the check that rejects loops without data references is only included to avoid handling non-profitable loops. Including those loops in Graphite's analysis enables more consistent diagnostic messages in OpenACC "kernels" code and does not introduce any testsuite regressions. If executing Graphite on loops without data references leads to noticeable compile time slow-downs for non-OpenACC users of Graphite, the check can be re-introduced but restricted to non-OpenACC functions. gcc/ChangeLog: * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): Remove check for loops without data references. Diff: --- gcc/graphite-scop-detection.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index 99e906a5d12..9311a0e42a5 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -851,19 +851,6 @@ scop_detection::harmful_loop_in_region (sese_l scop) const return true; } - /* Check if all loop nests have at least one data reference. - ??? This check is expensive and loops premature at this point. - If important to retain we can pre-compute this for all innermost - loops and reject those when we build a SESE region for a loop - during SESE discovery. */ - if (! loop->inner - && ! loop_nest_has_data_refs (loop)) - { - DEBUG_PRINT (dp << "[scop-detection-fail] loop_" << loop->num - << " does not have any data reference.\n"); - return true; - } - DEBUG_PRINT (dp << "[scop-detection] loop_" << loop->num << " is harmless.\n"); }