From patchwork Mon Jan 18 13:29:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 569540 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 8859714090A for ; Tue, 19 Jan 2016 00:30:24 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=HWCxEJBn; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :subject:to:references:cc:from:message-id:date:mime-version :in-reply-to:content-type; q=dns; s=default; b=YG5ui4DvWisxoUIh0 RbY09219ZZdUG0HT1z7QQXomZUDA0JZm5c8txWURMAot5ubCTW/5YlcFuyPQndz8 BhxVF6XDX0ubHZdoU/EYeWVPCC65nPiwY6L2DUyNCKGisP39uigGmscOQ3NuOZ3n YZqS/YwyGNR04+bhU52G0RtLaI= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :subject:to:references:cc:from:message-id:date:mime-version :in-reply-to:content-type; s=default; bh=ikbUk1iQJ4+R1UZQXoCNwJf DUw8=; b=HWCxEJBnKpO+/yJYbl3ZCX6wkB9SsF5aws7Foti+gp+DHTVIPjGXKhS HkMkdVfvXWU7UgavoDrpDfyae+TZvAeha7VyxTJGUDmw+1fDDQ26WIfjqBxkcTz2 HiFP5pC/WKNo4kvmgK/05y4kKISWgdBhvbUbzhwaJzrwebr3fw+o= Received: (qmail 41904 invoked by alias); 18 Jan 2016 13:30:17 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 41882 invoked by uid 89); 18 Jan 2016 13:30:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.4 required=5.0 tests=AWL, BAYES_50, RP_MATCHES_RCVD, SPF_PASS, UNSUBSCRIBE_BODY autolearn=no version=3.3.2 spammy=204, 455, Further, 505 X-HELO: fencepost.gnu.org Received: from fencepost.gnu.org (HELO fencepost.gnu.org) (208.118.235.10) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 18 Jan 2016 13:30:06 +0000 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42949) by fencepost.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1aL9si-0005JR-16 for gcc-patches@gnu.org; Mon, 18 Jan 2016 08:30:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aL9sZ-0000L9-Kh for gcc-patches@gnu.org; Mon, 18 Jan 2016 08:30:03 -0500 Received: from relay1.mentorg.com ([192.94.38.131]:54657) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aL9sZ-0000L5-6Q for gcc-patches@gnu.org; Mon, 18 Jan 2016 08:29:55 -0500 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-02.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1aL9sV-0001Op-Qr from Tom_deVries@mentor.com ; Mon, 18 Jan 2016 05:29:52 -0800 Received: from [127.0.0.1] (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.3.224.2; Mon, 18 Jan 2016 13:29:50 +0000 Subject: [committed] Add pass_parallelize_loops to pass_oacc_kernels To: Richard Biener References: <5640BD31.2060602@mentor.com> <5640F98B.5050601@mentor.com> <5649C508.80803@mentor.com> <5654570F.3050003@mentor.com> <566DA3BF.7040105@mentor.com> <569CE37F.3070206@mentor.com> CC: "gcc-patches@gnu.org" , Jakub Jelinek , Richard Biener From: Tom de Vries Message-ID: <569CE8C5.2060903@mentor.com> Date: Mon, 18 Jan 2016 14:29:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <569CE37F.3070206@mentor.com> X-detected-operating-system: by eggs.gnu.org: Windows NT kernel [generic] [fuzzy] X-Received-From: 192.94.38.131 [ was: Re: [committed] Add oacc_kernels_p argument to pass_parallelize_loops ] On 18/01/16 14:07, Tom de Vries wrote: > [was: Re: [PIING][PATCH, 9/16] Add pass_parallelize_loops_oacc_kernels ] > > On 14/12/15 16:22, Richard Biener wrote: >> On Sun, Dec 13, 2015 at 5:58 PM, Tom de Vries >> wrote: >>> On 24/11/15 13:24, Tom de Vries wrote: >>>> >>>> On 16/11/15 12:59, Tom de Vries wrote: >>>>> >>>>> On 09/11/15 20:52, Tom de Vries wrote: >>>>>> >>>>>> On 09/11/15 16:35, Tom de Vries wrote: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> this patch series for stage1 trunk adds support to: >>>>>>> - parallelize oacc kernels regions using parloops, and >>>>>>> - map the loops onto the oacc gang dimension. >>>>>>> >>>>>>> The patch series contains these patches: >>>>>>> >>>>>>> 1 Insert new exit block only when needed in >>>>>>> transform_to_exit_first_loop_alt >>>>>>> 2 Make create_parallel_loop return void >>>>>>> 3 Ignore reduction clause on kernels directive >>>>>>> 4 Implement -foffload-alias >>>>>>> 5 Add in_oacc_kernels_region in struct loop >>>>>>> 6 Add pass_oacc_kernels >>>>>>> 7 Add pass_dominator_oacc_kernels >>>>>>> 8 Add pass_ch_oacc_kernels >>>>>>> 9 Add pass_parallelize_loops_oacc_kernels >>>>>>> 10 Add pass_oacc_kernels pass group in passes.def >>>>>>> 11 Update testcases after adding kernels pass group >>>>>>> 12 Handle acc loop directive >>>>>>> 13 Add c-c++-common/goacc/kernels-*.c >>>>>>> 14 Add gfortran.dg/goacc/kernels-*.f95 >>>>>>> 15 Add libgomp.oacc-c-c++-common/kernels-*.c >>>>>>> 16 Add libgomp.oacc-fortran/kernels-*.f95 >>>>>>> >>>>>>> The first 9 patches are more or less independent, but patches >>>>>>> 10-16 are >>>>>>> intended to be committed at the same time. >>>>>>> >>>>>>> Bootstrapped and reg-tested on x86_64. >>>>>>> >>>>>>> Build and reg-tested with nvidia accelerator, in combination with a >>>>>>> patch that enables accelerator testing (which is submitted at >>>>>>> https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01771.html ). >>>>>>> >>>>>>> I'll post the individual patches in reply to this message. >>>>>> >>>>>> >>>>>> This patch adds pass_parallelize_loops_oacc_kernels. >>>>>> >>>>>> There's a number of things we do differently in parloops for oacc >>>>>> kernels: >>>>>> - in normal parloops, we generate code to choose between a parallel >>>>>> version of the loop, and a sequential (low iteration count) >>>>>> version. >>>>>> Since the code in oacc kernels region is supposed to run on the >>>>>> accelerator anyway, we skip this check, and don't add a low >>>>>> iteration >>>>>> count loop. >>>>>> - in normal parloops, we generate an #pragma omp parallel / >>>>>> GIMPLE_OMP_RETURN pair to delimit the region which will we >>>>>> split off >>>>>> into a thread function. Since the oacc kernels region is already >>>>>> split off, we don't add this pair. >>>>>> - we indicate the parallelization factor by setting the oacc function >>>>>> attributes >>>>>> - we generate an #pragma oacc loop instead of an #pragma omp for, and >>>>>> we add the gang clause >>>>>> - in normal parloops, we rewrite the variable accesses in the loop in >>>>>> terms into accesses relative to a thread function parameter. >>>>>> For the >>>>>> oacc kernels region, that rewrite has already been done at >>>>>> omp-lower, >>>>>> so we skip this. >>>>>> - we need to ensure that the entire kernels region can be run in >>>>>> parallel. The loop independence check is already present, so >>>>>> for oacc >>>>>> kernels we add a check between blocks outside the loop and the >>>>>> entire >>>>>> region. >>>>>> - we guard stores in the blocks outside the loop with gang_pos == 0. >>>>>> There's no need for each gang to write to a single location, >>>>>> we can >>>>>> do this in just one gang. (Typically this is the write of the >>>>>> final >>>>>> value of the iteration variable if that one is copied back to the >>>>>> host). >>>>>> >>>>> >>>>> Reposting with loop optimizer init added in >>>>> pass_parallelize_loops_oacc_kernels::execute. >>>>> >>>> >>>> Reposting with loop_optimizer_finalize,scev_initialize and >>>> scev_finalize >>>> added in pass_parallelize_loops_oacc_kernels::execute. >>>> >>> >>> Ping. >>> >>> Anything I can do to facilitate the review? >> >> Document new functions. > > Done. > > avoid if (1). > > Done. > >> Ideally some refactoring would avoid some of the if (!oacc_kernels_p) >> spaghetti > > Ack. For now, i've tried to minimize the number of oacc_kernels_p tests > in the code. > > Further suggestions on how to improve here are much appreciated. > >> but I'm considering tree-parloops.c (and its bugs) yours. > > Ack. > >> Can the pass not just use a pass parameter to switch between >> oacc/non-oacc? >> > > This patch introduces the pass parameter oacc_kernels_p (but does not > instantiate an oacc_kernels_p == true pass version yet). This patch add pass_parallelize_loops to pass_oacc_kernels (using pass parameter oacc_kernels_p == true). As a consequence, it needs to update parloops testcases to use dumpfile parloops2. Bootstrapped and reg-tested on x86_64. Build with nvidia accelerator and tested goacc.exp and libgomp. Committed to trunk. Thanks, - Tom Add pass_parallelize_loops to pass_oacc_kernels 2016-01-18 Tom de Vries * passes.def: Add pass_parallelize_loops to pass_oacc_kernels. * gcc.dg/autopar/outer-1.c: Update for new parloops instantiation. * gcc.dg/autopar/outer-2.c: Same. * gcc.dg/autopar/outer-3.c: Same. * gcc.dg/autopar/outer-4.c: Same. * gcc.dg/autopar/outer-5.c: Same. * gcc.dg/autopar/outer-6.c: Same. * gcc.dg/autopar/parallelization-1.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-2.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-3.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-4.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-5.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-6.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-7.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt.c: Same. * gcc.dg/autopar/pr39500-1.c: Same. * gcc.dg/autopar/pr39500-2.c: Same. * gcc.dg/autopar/pr46193.c: Same. * gcc.dg/autopar/pr46194.c: Same. * gcc.dg/autopar/pr49580.c: Same. * gcc.dg/autopar/pr49960-1.c: Same. * gcc.dg/autopar/pr49960.c: Same. * gcc.dg/autopar/pr68373.c: Same. * gcc.dg/autopar/reduc-1.c: Same. * gcc.dg/autopar/reduc-1char.c: Same. * gcc.dg/autopar/reduc-1short.c: Same. * gcc.dg/autopar/reduc-2.c: Same. * gcc.dg/autopar/reduc-2char.c: Same. * gcc.dg/autopar/reduc-2short.c: Same. * gcc.dg/autopar/reduc-3.c: Same. * gcc.dg/autopar/reduc-4.c: Same. * gcc.dg/autopar/reduc-6.c: Same. * gcc.dg/autopar/reduc-7.c: Same. * gcc.dg/autopar/reduc-8.c: Same. * gcc.dg/autopar/reduc-9.c: Same. * gcc.dg/autopar/uns-outer-4.c: Same. * gcc.dg/autopar/uns-outer-5.c: Same. * gcc.dg/autopar/uns-outer-6.c: Same. * gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same. * gfortran.dg/parloops-exit-first-loop-alt.f95: Same. --- gcc/passes.def | 2 +- gcc/testsuite/gcc.dg/autopar/outer-1.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/outer-2.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/outer-3.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/outer-4.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/outer-5.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/outer-6.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/parallelization-1.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-2.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-3.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-4.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-5.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-6.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-7.c | 4 ++-- .../gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/pr39500-1.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/pr39500-2.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/pr46193.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/pr46194.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/pr49580.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/pr49960-1.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/pr49960.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/pr68373.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/reduc-1.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/reduc-1char.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/reduc-1short.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/reduc-2.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/reduc-2char.c | 10 +++++----- gcc/testsuite/gcc.dg/autopar/reduc-2short.c | 10 +++++----- gcc/testsuite/gcc.dg/autopar/reduc-3.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/reduc-4.c | 2 +- gcc/testsuite/gcc.dg/autopar/reduc-6.c | 8 ++++---- gcc/testsuite/gcc.dg/autopar/reduc-7.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/reduc-8.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/reduc-9.c | 6 +++--- gcc/testsuite/gcc.dg/autopar/uns-outer-4.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/uns-outer-5.c | 4 ++-- gcc/testsuite/gcc.dg/autopar/uns-outer-6.c | 6 +++--- gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95 | 4 ++-- gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95 | 4 ++-- 41 files changed, 100 insertions(+), 100 deletions(-) diff --git a/gcc/passes.def b/gcc/passes.def index d9a8c4e..ab6e083 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -124,7 +124,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_lim); NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */); NEXT_PASS (pass_dce); - /* pass_parallelize_loops_oacc_kernels */ + NEXT_PASS (pass_parallelize_loops, true /* oacc_kernels_p */); NEXT_PASS (pass_expand_omp_ssa); NEXT_PASS (pass_rebuild_cgraph_edges); POP_INSERT_PASSES () diff --git a/gcc/testsuite/gcc.dg/autopar/outer-1.c b/gcc/testsuite/gcc.dg/autopar/outer-1.c index d36b557..6607ed0 100644 --- a/gcc/testsuite/gcc.dg/autopar/outer-1.c +++ b/gcc/testsuite/gcc.dg/autopar/outer-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -27,5 +27,5 @@ int main(void) /* Check that outer loop is parallelized. */ -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/outer-2.c b/gcc/testsuite/gcc.dg/autopar/outer-2.c index fd7c2be..9533e8d 100644 --- a/gcc/testsuite/gcc.dg/autopar/outer-2.c +++ b/gcc/testsuite/gcc.dg/autopar/outer-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -27,5 +27,5 @@ int main(void) return 0; } -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/outer-3.c b/gcc/testsuite/gcc.dg/autopar/outer-3.c index 55454a4..130a974 100644 --- a/gcc/testsuite/gcc.dg/autopar/outer-3.c +++ b/gcc/testsuite/gcc.dg/autopar/outer-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -27,5 +27,5 @@ int main(void) /* Check that outer loop is parallelized. */ -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/outer-4.c b/gcc/testsuite/gcc.dg/autopar/outer-4.c index 681cf85..b002b0e 100644 --- a/gcc/testsuite/gcc.dg/autopar/outer-4.c +++ b/gcc/testsuite/gcc.dg/autopar/outer-4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -25,6 +25,6 @@ parloop (int N) } -/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" { xfail *-*-* } } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/outer-5.c b/gcc/testsuite/gcc.dg/autopar/outer-5.c index d6e0dd3..84b2de1 100644 --- a/gcc/testsuite/gcc.dg/autopar/outer-5.c +++ b/gcc/testsuite/gcc.dg/autopar/outer-5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -44,5 +44,5 @@ int main(void) return 0; } -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" { xfail *-*-* } } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/outer-6.c b/gcc/testsuite/gcc.dg/autopar/outer-6.c index 726794c..fff7bce 100644 --- a/gcc/testsuite/gcc.dg/autopar/outer-6.c +++ b/gcc/testsuite/gcc.dg/autopar/outer-6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -44,6 +44,6 @@ int main(void) /* Check that outer loop is parallelized. */ -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" { xfail *-*-* } } } */ -/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parallelization-1.c b/gcc/testsuite/gcc.dg/autopar/parallelization-1.c index 222831a..1b400fb 100644 --- a/gcc/testsuite/gcc.dg/autopar/parallelization-1.c +++ b/gcc/testsuite/gcc.dg/autopar/parallelization-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -27,5 +27,5 @@ int main(void) /* Check that the first loop in parloop got parallelized. */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-2.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-2.c index f988455..fbd3af8 100644 --- a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-2.c +++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ /* Constant bound, vector addition. */ @@ -18,4 +18,4 @@ f (void) c[i] = a[i] + b[i]; } -/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-3.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-3.c index 8bba352..f7a7323 100644 --- a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-3.c +++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ /* Variable bound, reduction. */ @@ -17,4 +17,4 @@ f (unsigned int n, unsigned int *__restrict__ a) return sum; } -/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-4.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-4.c index ccb07bc..6b1a776 100644 --- a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-4.c +++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ /* Constant bound, reduction. */ @@ -19,4 +19,4 @@ f (void) return sum; } -/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-5.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-5.c index 68367b1..f3f8a3b 100644 --- a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-5.c +++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ /* Variable bound, vector addition, unsigned loop counter, unsigned bound. */ @@ -13,4 +13,4 @@ f (unsigned int n, unsigned int *__restrict__ a, unsigned int *__restrict__ b, c[i] = a[i] + b[i]; } -/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-6.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-6.c index 80d1550..186eab3 100644 --- a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-6.c +++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ /* Variable bound, vector addition, unsigned loop counter, signed bound. */ @@ -13,4 +13,4 @@ f (int n, unsigned int *__restrict__ a, unsigned int *__restrict__ b, c[i] = a[i] + b[i]; } -/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-7.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-7.c index 8ecff0c..46c5ac4 100644 --- a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-7.c +++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-7.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ /* Variable bound, vector addition, signed loop counter, signed bound. */ @@ -13,4 +13,4 @@ f (int n, unsigned int *__restrict__ a, unsigned int *__restrict__ b, c[i] = a[i] + b[i]; } -/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c index b320628..a02e183 100644 --- a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c +++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ #include #include @@ -21,5 +21,5 @@ f (unsigned int n, unsigned int sum) return sum; } -/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 1 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 0 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 1 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 0 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt.c b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt.c index c67d262..dce9c92 100644 --- a/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt.c +++ b/gcc/testsuite/gcc.dg/autopar/parloops-exit-first-loop-alt.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ /* Variable bound, vector addition, signed loop counter, unsigned bound. */ @@ -13,5 +13,5 @@ f (unsigned int n, unsigned int *__restrict__ a, unsigned int *__restrict__ b, c[i] = a[i] + b[i]; } -/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/pr39500-1.c b/gcc/testsuite/gcc.dg/autopar/pr39500-1.c index 33b93b3..28f4789 100644 --- a/gcc/testsuite/gcc.dg/autopar/pr39500-1.c +++ b/gcc/testsuite/gcc.dg/autopar/pr39500-1.c @@ -1,7 +1,7 @@ /* pr39500: autopar fails to parallel */ /* origin: nemokingdom@gmail.com(LiFeng) */ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details" } */ void abort (void); @@ -24,4 +24,4 @@ int main (void) /* Check that the first loop in parloop got parallelized. */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/pr39500-2.c b/gcc/testsuite/gcc.dg/autopar/pr39500-2.c index 12fa909..98363e4 100644 --- a/gcc/testsuite/gcc.dg/autopar/pr39500-2.c +++ b/gcc/testsuite/gcc.dg/autopar/pr39500-2.c @@ -1,7 +1,7 @@ /* pr39500: autopar fails to parallel */ /* origin: nemokingdom@gmail.com(LiFeng) */ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details" } */ int main (void) { @@ -16,4 +16,4 @@ int main (void) /* This loop cannot be parallelized due to a dependence. */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/pr46193.c b/gcc/testsuite/gcc.dg/autopar/pr46193.c index 544a5da..36f89c1 100644 --- a/gcc/testsuite/gcc.dg/autopar/pr46193.c +++ b/gcc/testsuite/gcc.dg/autopar/pr46193.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ extern void abort (void); @@ -35,4 +35,4 @@ foo2 (int count, char **list) return maxaddr; } -/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 2 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 2 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/pr46194.c b/gcc/testsuite/gcc.dg/autopar/pr46194.c index 3daf2ab..2a184a0 100644 --- a/gcc/testsuite/gcc.dg/autopar/pr46194.c +++ b/gcc/testsuite/gcc.dg/autopar/pr46194.c @@ -1,6 +1,6 @@ /* PR tree-optimization/46194 */ /* { dg-do compile } */ -/* { dg-options "-O -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ #define N 1000 int a[N]; @@ -20,4 +20,4 @@ int foo (void) /* This loop cannot be parallelized due to a dependence. */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/pr49580.c b/gcc/testsuite/gcc.dg/autopar/pr49580.c index ddb622f..e2c8be8 100644 --- a/gcc/testsuite/gcc.dg/autopar/pr49580.c +++ b/gcc/testsuite/gcc.dg/autopar/pr49580.c @@ -1,6 +1,6 @@ /* PR debug/49580 */ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details" } */ #include #include @@ -33,5 +33,5 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/pr49960-1.c b/gcc/testsuite/gcc.dg/autopar/pr49960-1.c index 34d5552..bd65c22 100644 --- a/gcc/testsuite/gcc.dg/autopar/pr49960-1.c +++ b/gcc/testsuite/gcc.dg/autopar/pr49960-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -30,5 +30,5 @@ int main() } /* Check that no loop gets parallelized. */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 0 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/pr49960.c b/gcc/testsuite/gcc.dg/autopar/pr49960.c index c413278..e3fb04d 100644 --- a/gcc/testsuite/gcc.dg/autopar/pr49960.c +++ b/gcc/testsuite/gcc.dg/autopar/pr49960.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized -fno-partial-inlining" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized -fno-partial-inlining" } */ #include #define MB 100 @@ -50,5 +50,5 @@ void main () /* Check that the outer most loop doesn't get parallelized (thus no loop gets parallelized) */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 0 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 0 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/pr68373.c b/gcc/testsuite/gcc.dg/autopar/pr68373.c index 8e0f8a5..ecac613 100644 --- a/gcc/testsuite/gcc.dg/autopar/pr68373.c +++ b/gcc/testsuite/gcc.dg/autopar/pr68373.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops-details" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-parloops2-details" } */ unsigned int foo (int *a, unsigned int n) @@ -11,4 +11,4 @@ foo (int *a, unsigned int n) return i; } -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-1.c b/gcc/testsuite/gcc.dg/autopar/reduc-1.c index 6e9a280..1e5f923 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-1.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -66,6 +66,6 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-1char.c b/gcc/testsuite/gcc.dg/autopar/reduc-1char.c index 48ead88..0d611b96 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-1char.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-1char.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -60,6 +60,6 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-1short.c b/gcc/testsuite/gcc.dg/autopar/reduc-1short.c index f3f547c..92654e3 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-1short.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-1short.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -59,6 +59,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-2.c b/gcc/testsuite/gcc.dg/autopar/reduc-2.c index 2f4883d..b94b2d4 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-2.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -63,6 +63,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" { xfail *-*-* } } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 4 "parloops2" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-2char.c b/gcc/testsuite/gcc.dg/autopar/reduc-2char.c index a2dad44..d48d9f9 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-2char.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-2char.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -61,10 +61,10 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" { xfail *-*-* } } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops2" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-2short.c b/gcc/testsuite/gcc.dg/autopar/reduc-2short.c index a50e14f..f5466f0 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-2short.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-2short.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -59,8 +59,8 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 3 "parloops2" { xfail *-*-* } } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops2" { xfail *-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-3.c b/gcc/testsuite/gcc.dg/autopar/reduc-3.c index 0d4baef..9ed1c90 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-3.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -50,6 +50,6 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "Detected reduction" 1 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 1 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-4.c b/gcc/testsuite/gcc.dg/autopar/reduc-4.c index 80b15e2..fb331cc 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-4.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-4.c @@ -1,4 +1,4 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized --param parloops-chunk-size=100" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized --param parloops-chunk-size=100" } */ #include "reduc-3.c" diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-6.c b/gcc/testsuite/gcc.dg/autopar/reduc-6.c index 91f679e..22a2e62 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-6.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include #include @@ -56,6 +56,6 @@ int main (void) /* need -ffast-math to parallelize these loops. */ -/* { dg-final { scan-tree-dump-times "Detected reduction" 0 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "FAILED: it is not a part of reduction" 3 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 0 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 1 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "FAILED: it is not a part of reduction" 3 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-7.c b/gcc/testsuite/gcc.dg/autopar/reduc-7.c index 77b99e1..efae736 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-7.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-7.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include @@ -84,6 +84,6 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-8.c b/gcc/testsuite/gcc.dg/autopar/reduc-8.c index 18ba03d..b3c0cda 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-8.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-8.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include @@ -85,5 +85,5 @@ main (void) } -/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 2 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-9.c b/gcc/testsuite/gcc.dg/autopar/reduc-9.c index 90f4db2..99f9298 100644 --- a/gcc/testsuite/gcc.dg/autopar/reduc-9.c +++ b/gcc/testsuite/gcc.dg/autopar/reduc-9.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ #include @@ -84,5 +84,5 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "Detected reduction" 2 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "SUCCESS: may be parallelized" 3 "parloops2" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/uns-outer-4.c b/gcc/testsuite/gcc.dg/autopar/uns-outer-4.c index 5eb67ea..ee4bb82 100644 --- a/gcc/testsuite/gcc.dg/autopar/uns-outer-4.c +++ b/gcc/testsuite/gcc.dg/autopar/uns-outer-4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -21,5 +21,5 @@ parloop (int N) g_sum = sum; } -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/uns-outer-5.c b/gcc/testsuite/gcc.dg/autopar/uns-outer-5.c index a929e5d..2d93a2d 100644 --- a/gcc/testsuite/gcc.dg/autopar/uns-outer-5.c +++ b/gcc/testsuite/gcc.dg/autopar/uns-outer-5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -45,5 +45,5 @@ main (void) return 0; } -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" { xfail *-*-* } } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" { xfail *-*-* } } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/autopar/uns-outer-6.c b/gcc/testsuite/gcc.dg/autopar/uns-outer-6.c index 5c745f8..dc2870b 100644 --- a/gcc/testsuite/gcc.dg/autopar/uns-outer-6.c +++ b/gcc/testsuite/gcc.dg/autopar/uns-outer-6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops2-details -fdump-tree-optimized" } */ void abort (void); @@ -46,6 +46,6 @@ main (void) /* Check that outer loop is parallelized. */ -/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */ -/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops2" } } */ +/* { dg-final { scan-tree-dump-times "parallelizing inner loop" 0 "parloops2" } } */ /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */ diff --git a/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95 b/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95 index 52434f2..236480c 100644 --- a/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95 +++ b/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt-2.f95 @@ -1,7 +1,7 @@ ! { dg-additional-options "-O2" } ! { dg-require-effective-target pthread } ! { dg-additional-options "-ftree-parallelize-loops=2" } -! { dg-additional-options "-fdump-tree-parloops-details" } +! { dg-additional-options "-fdump-tree-parloops2-details" } ! Constant bound, vector addition. @@ -16,4 +16,4 @@ subroutine foo () end do end subroutine foo -! { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } +! { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } } diff --git a/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95 b/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95 index 1eb9dfd..a33e11d 100644 --- a/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95 +++ b/gcc/testsuite/gfortran.dg/parloops-exit-first-loop-alt.f95 @@ -1,7 +1,7 @@ ! { dg-additional-options "-O2" } ! { dg-require-effective-target pthread } ! { dg-additional-options "-ftree-parallelize-loops=2" } -! { dg-additional-options "-fdump-tree-parloops-details" } +! { dg-additional-options "-fdump-tree-parloops2-details" } ! Variable bound, vector addition. @@ -17,5 +17,5 @@ subroutine foo (nr) end do end subroutine foo -! { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops" } } +! { dg-final { scan-tree-dump-times "alternative exit-first loop transform succeeded" 1 "parloops2" } }