From patchwork Mon Aug 3 10:33:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 503105 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 168DC140E0F for ; Mon, 3 Aug 2015 20:34:09 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=BErXr0SU; 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:from :to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type; q=dns; s=default; b=QZPe5ZPCtf7fuMJ7 b33bqJyd6FYzAhTWDbmQrzAyhy8UGEDXZ3UhLaX7HMMrogTYRaUV1/2C3z3sI3Qu ygcn3v72WLRfGUDgV+9FmHsRg5WUP7k64e2Wl6RFpCzstNe0fsUYFmE/+yvVaU+M FGI/ZZwNfMz82G+IqGfEmeMx1XQ= 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:from :to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-type; s=default; bh=HEWDMaMURfS9h6ndMPFPcX DTboY=; b=BErXr0SUqZ28XC6sQ83KtVO58QOAhkfkcGPpGQjIAIZ7Q7YvvJ4Fvt DVCag6gpU+cFyKZtLnMD7lhP9EivWMegNWNPx4Vkl5L1v+XQL/pus4vDHBw6Bbw/ UH0enDtXESMw05TlB0hLlQLxPHVHSAdcl6+DmGlmVgcQOABGdsYn8= Received: (qmail 86177 invoked by alias); 3 Aug 2015 10:34:01 -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 86162 invoked by uid 89); 3 Aug 2015 10:34:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_PASS, UNWANTED_LANGUAGE_BODY autolearn=ham version=3.3.2 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, 03 Aug 2015 10:33:55 +0000 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35546) by fencepost.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ZMD44-0000Yy-5z for gcc-patches@gnu.org; Mon, 03 Aug 2015 06:33:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMD3z-0005KR-5d for gcc-patches@gnu.org; Mon, 03 Aug 2015 06:33:51 -0400 Received: from relay1.mentorg.com ([192.94.38.131]:35667) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMD3y-0005K1-Qj for gcc-patches@gnu.org; Mon, 03 Aug 2015 06:33:47 -0400 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-01.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1ZMD3v-0002LG-Sh from Thomas_Schwinge@mentor.com ; Mon, 03 Aug 2015 03:33:44 -0700 Received: from feldtkeller.schwinge.homeip.net (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server id 14.3.224.2; Mon, 3 Aug 2015 11:33:33 +0100 From: Thomas Schwinge To: Tom de Vries , "gcc-patches@gnu.org" CC: Jakub Jelinek Subject: Re: [gomp4, committed] Handle double reduction in oacc kernels pass group In-Reply-To: <55B73B57.5090606@mentor.com> References: <55B73B57.5090606@mentor.com> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) Date: Mon, 3 Aug 2015 12:33:17 +0200 Message-ID: <87h9ogoe4y.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Windows NT kernel [generic] [fuzzy] X-Received-From: 192.94.38.131 Hi! On Tue, 28 Jul 2015 10:20:39 +0200, Tom de Vries wrote: > this patch adds a test-case with a double reduction in an oacc kernels > region. > > In order to get it in the proper shape for parloops to deal with, I > needed to repeat the pass_lim/pass_copy_prop sequence. > > Bootstrapped and reg-tested on x86_64. > > Committed to gomp-4_0-branch. Thanks! > --- a/gcc/passes.def > +++ b/gcc/passes.def > @@ -96,6 +96,8 @@ along with GCC; see the file COPYING3. If not see > NEXT_PASS (pass_tree_loop_init); > NEXT_PASS (pass_lim); > NEXT_PASS (pass_copy_prop); > + NEXT_PASS (pass_lim); > + NEXT_PASS (pass_copy_prop); > NEXT_PASS (pass_scev_cprop); > NEXT_PASS (pass_parallelize_loops_oacc_kernels); > NEXT_PASS (pass_expand_omp_ssa); Very much in line with the older r222283, , now committed to gomp-4_0-branch in r226494: commit 3f2d750170034024232cf619f1ba6b703e37bc89 Author: tschwinge Date: Mon Aug 3 10:31:23 2015 +0000 Update testsuite for new pass_lim ... that got added in r226305. gcc/testsuite/ * c-c++-common/restrict-2.c: Update for new pass_lim. * c-c++-common/restrict-4.c: Same. * g++.dg/tree-ssa/pr33615.C: Same. * g++.dg/tree-ssa/restrict1.C: Same. * gcc.dg/tm/pub-safety-1.c: Same. * gcc.dg/tm/reg-promotion.c: Same. * gcc.dg/tree-ssa/20050314-1.c: Same. * gcc.dg/tree-ssa/loop-32.c: Same. * gcc.dg/tree-ssa/loop-33.c: Same. * gcc.dg/tree-ssa/loop-34.c: Same. * gcc.dg/tree-ssa/loop-35.c: Same. * gcc.dg/tree-ssa/loop-7.c: Same. * gcc.dg/tree-ssa/pr23109.c: Same. * gcc.dg/tree-ssa/restrict-3.c: Same. * gcc.dg/tree-ssa/restrict-5.c: Same. * gcc.dg/tree-ssa/ssa-lim-1.c: Same. * gcc.dg/tree-ssa/ssa-lim-10.c: Same. * gcc.dg/tree-ssa/ssa-lim-11.c: Same. * gcc.dg/tree-ssa/ssa-lim-12.c: Same. * gcc.dg/tree-ssa/ssa-lim-2.c: Same. * gcc.dg/tree-ssa/ssa-lim-3.c: Same. * gcc.dg/tree-ssa/ssa-lim-6.c: Same. * gcc.dg/tree-ssa/ssa-lim-7.c: Same. * gcc.dg/tree-ssa/ssa-lim-8.c: Same. * gcc.dg/tree-ssa/ssa-lim-9.c: Same. * gcc.dg/tree-ssa/structopt-1.c: Same. * gfortran.dg/pr32921.f: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@226494 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog.gomp | 30 +++++++++++++++++++++++++++ gcc/testsuite/c-c++-common/restrict-2.c | 4 ++-- gcc/testsuite/c-c++-common/restrict-4.c | 4 ++-- gcc/testsuite/g++.dg/tree-ssa/pr33615.C | 4 ++-- gcc/testsuite/g++.dg/tree-ssa/restrict1.C | 4 ++-- gcc/testsuite/gcc.dg/tm/pub-safety-1.c | 4 ++-- gcc/testsuite/gcc.dg/tm/reg-promotion.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/loop-32.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/loop-33.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/loop-34.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/loop-35.c | 6 +++--- gcc/testsuite/gcc.dg/tree-ssa/loop-7.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/pr23109.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c | 6 +++--- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c | 4 ++-- gcc/testsuite/gfortran.dg/pr32921.f | 4 ++-- 28 files changed, 86 insertions(+), 56 deletions(-) Grüße, Thomas diff --git gcc/testsuite/ChangeLog.gomp gcc/testsuite/ChangeLog.gomp index 04286dd..33519ef 100644 --- gcc/testsuite/ChangeLog.gomp +++ gcc/testsuite/ChangeLog.gomp @@ -1,3 +1,33 @@ +2015-08-03 Thomas Schwinge + + * c-c++-common/restrict-2.c: Update for new pass_lim. + * c-c++-common/restrict-4.c: Same. + * g++.dg/tree-ssa/pr33615.C: Same. + * g++.dg/tree-ssa/restrict1.C: Same. + * gcc.dg/tm/pub-safety-1.c: Same. + * gcc.dg/tm/reg-promotion.c: Same. + * gcc.dg/tree-ssa/20050314-1.c: Same. + * gcc.dg/tree-ssa/loop-32.c: Same. + * gcc.dg/tree-ssa/loop-33.c: Same. + * gcc.dg/tree-ssa/loop-34.c: Same. + * gcc.dg/tree-ssa/loop-35.c: Same. + * gcc.dg/tree-ssa/loop-7.c: Same. + * gcc.dg/tree-ssa/pr23109.c: Same. + * gcc.dg/tree-ssa/restrict-3.c: Same. + * gcc.dg/tree-ssa/restrict-5.c: Same. + * gcc.dg/tree-ssa/ssa-lim-1.c: Same. + * gcc.dg/tree-ssa/ssa-lim-10.c: Same. + * gcc.dg/tree-ssa/ssa-lim-11.c: Same. + * gcc.dg/tree-ssa/ssa-lim-12.c: Same. + * gcc.dg/tree-ssa/ssa-lim-2.c: Same. + * gcc.dg/tree-ssa/ssa-lim-3.c: Same. + * gcc.dg/tree-ssa/ssa-lim-6.c: Same. + * gcc.dg/tree-ssa/ssa-lim-7.c: Same. + * gcc.dg/tree-ssa/ssa-lim-8.c: Same. + * gcc.dg/tree-ssa/ssa-lim-9.c: Same. + * gcc.dg/tree-ssa/structopt-1.c: Same. + * gfortran.dg/pr32921.f: Same. + 2015-07-31 Thomas Schwinge PR libgomp/65742 diff --git gcc/testsuite/c-c++-common/restrict-2.c gcc/testsuite/c-c++-common/restrict-2.c index ad19fb3..183a0de 100644 --- gcc/testsuite/c-c++-common/restrict-2.c +++ gcc/testsuite/c-c++-common/restrict-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim2-details" } */ +/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim3-details" } */ void foo (float * __restrict__ a, float * __restrict__ b, int n, int j) { @@ -10,4 +10,4 @@ void foo (float * __restrict__ a, float * __restrict__ b, int n, int j) /* We should move the RHS of the store out of the loop. */ -/* { dg-final { scan-tree-dump-times "Moving statement" 11 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Moving statement" 11 "lim3" } } */ diff --git gcc/testsuite/c-c++-common/restrict-4.c gcc/testsuite/c-c++-common/restrict-4.c index 5806a2a..8dd597c 100644 --- gcc/testsuite/c-c++-common/restrict-4.c +++ gcc/testsuite/c-c++-common/restrict-4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ struct Foo { @@ -15,4 +15,4 @@ void bar(struct Foo f, int * __restrict__ q) } } -/* { dg-final { scan-tree-dump "Executing store motion" "lim2" } } */ +/* { dg-final { scan-tree-dump "Executing store motion" "lim3" } } */ diff --git gcc/testsuite/g++.dg/tree-ssa/pr33615.C gcc/testsuite/g++.dg/tree-ssa/pr33615.C index 13e20e0..dd2bbb2 100644 --- gcc/testsuite/g++.dg/tree-ssa/pr33615.C +++ gcc/testsuite/g++.dg/tree-ssa/pr33615.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fnon-call-exceptions -fdump-tree-lim2-details -w" } */ +/* { dg-options "-O -fnon-call-exceptions -fdump-tree-lim3-details -w" } */ extern volatile int y; @@ -16,4 +16,4 @@ foo (double a, int x) // The expression 1.0 / 0.0 should not be treated as a loop invariant // if it may throw an exception. -// { dg-final { scan-tree-dump-times "invariant up to" 0 "lim2" } } +// { dg-final { scan-tree-dump-times "invariant up to" 0 "lim3" } } diff --git gcc/testsuite/g++.dg/tree-ssa/restrict1.C gcc/testsuite/g++.dg/tree-ssa/restrict1.C index 3228321..718d1ec 100644 --- gcc/testsuite/g++.dg/tree-ssa/restrict1.C +++ gcc/testsuite/g++.dg/tree-ssa/restrict1.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ struct Foo { @@ -16,4 +16,4 @@ void bar(Foo f, int * __restrict__ q) } } -/* { dg-final { scan-tree-dump "Executing store motion" "lim2" } } */ +/* { dg-final { scan-tree-dump "Executing store motion" "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tm/pub-safety-1.c gcc/testsuite/gcc.dg/tm/pub-safety-1.c index 59fb43e..3841c08 100644 --- gcc/testsuite/gcc.dg/tm/pub-safety-1.c +++ gcc/testsuite/gcc.dg/tm/pub-safety-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-fgnu-tm -O1 -fdump-tree-lim2" } */ +/* { dg-options "-fgnu-tm -O1 -fdump-tree-lim3" } */ /* Test that thread visible loads do not get hoisted out of loops if the load would not have occurred on each path out of the loop. */ @@ -20,4 +20,4 @@ void reader() } } -/* { dg-final { scan-tree-dump-times "Cannot hoist.*DATA_DATA because it is in a transaction" 1 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Cannot hoist.*DATA_DATA because it is in a transaction" 1 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tm/reg-promotion.c gcc/testsuite/gcc.dg/tm/reg-promotion.c index 47400ef..e0e5f62 100644 --- gcc/testsuite/gcc.dg/tm/reg-promotion.c +++ gcc/testsuite/gcc.dg/tm/reg-promotion.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-fgnu-tm -O2 -fdump-tree-lim2" } */ +/* { dg-options "-fgnu-tm -O2 -fdump-tree-lim3" } */ /* Test that `count' is not written to unless p->data>0. */ @@ -20,4 +20,4 @@ void func() } } -/* { dg-final { scan-tree-dump-times "Cannot hoist conditional load of count because it is in a transaction" 1 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Cannot hoist conditional load of count because it is in a transaction" 1 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c index fd9895b..1ad61f1 100644 --- gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c +++ gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-lim2-details --param allow-store-data-races=1" } */ +/* { dg-options "-O1 -fdump-tree-lim3-details --param allow-store-data-races=1" } */ float a[100]; @@ -17,4 +17,4 @@ void xxx (void) /* Store motion may be applied to the assignment to a[k], since sinf cannot read nor write the memory. */ -/* { dg-final { scan-tree-dump-times "Moving statement" 1 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Moving statement" 1 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/loop-32.c gcc/testsuite/gcc.dg/tree-ssa/loop-32.c index e06a1e4..9b69c73 100644 --- gcc/testsuite/gcc.dg/tree-ssa/loop-32.c +++ gcc/testsuite/gcc.dg/tree-ssa/loop-32.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ int x; int a[100]; @@ -42,4 +42,4 @@ void test3(struct a *A) } } -/* { dg-final { scan-tree-dump-times "Executing store motion of" 3 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of" 3 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/loop-33.c gcc/testsuite/gcc.dg/tree-ssa/loop-33.c index 57fd06d..98a16fb 100644 --- gcc/testsuite/gcc.dg/tree-ssa/loop-33.c +++ gcc/testsuite/gcc.dg/tree-ssa/loop-33.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ int x; int a[100]; @@ -36,4 +36,4 @@ void test5(struct a *A, unsigned b) } } -/* { dg-final { scan-tree-dump-times "Executing store motion of" 4 "lim2" { xfail { lp64 || llp64 } } } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of" 4 "lim3" { xfail { lp64 || llp64 } } } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/loop-34.c gcc/testsuite/gcc.dg/tree-ssa/loop-34.c index 4a7b082..26fb281 100644 --- gcc/testsuite/gcc.dg/tree-ssa/loop-34.c +++ gcc/testsuite/gcc.dg/tree-ssa/loop-34.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ int r[6]; @@ -17,4 +17,4 @@ void f (int n) } -/* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/loop-35.c gcc/testsuite/gcc.dg/tree-ssa/loop-35.c index 4e9d03a..87d105a 100644 --- gcc/testsuite/gcc.dg/tree-ssa/loop-35.c +++ gcc/testsuite/gcc.dg/tree-ssa/loop-35.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ int x; int a[100]; @@ -67,5 +67,5 @@ void test4(struct a *A, unsigned LONG b) } } /* long index not hoisted for avr target PR 36561 */ -/* { dg-final { scan-tree-dump-times "Executing store motion of" 8 "lim2" { xfail { "avr-*-*" } } } } */ -/* { dg-final { scan-tree-dump-times "Executing store motion of" 6 "lim2" { target { "avr-*-*" } } } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of" 8 "lim3" { xfail { "avr-*-*" } } } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of" 6 "lim3" { target { "avr-*-*" } } } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/loop-7.c gcc/testsuite/gcc.dg/tree-ssa/loop-7.c index 08a4935..e28e4c9 100644 --- gcc/testsuite/gcc.dg/tree-ssa/loop-7.c +++ gcc/testsuite/gcc.dg/tree-ssa/loop-7.c @@ -1,6 +1,6 @@ /* PR tree-optimization/19828 */ /* { dg-do compile } */ -/* { dg-options "-O1 -fdump-tree-lim2-details" } */ +/* { dg-options "-O1 -fdump-tree-lim3-details" } */ int cst_fun1 (int) __attribute__((__const__)); int cst_fun2 (int) __attribute__((__const__)); @@ -31,4 +31,4 @@ int xxx (void) Calls to cst_fun2 and pure_fun2 should not be, since calling with k = 0 may be invalid. */ -/* { dg-final { scan-tree-dump-times "Moving statement" 2 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Moving statement" 2 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/pr23109.c gcc/testsuite/gcc.dg/tree-ssa/pr23109.c index fac991c..040f3ae 100644 --- gcc/testsuite/gcc.dg/tree-ssa/pr23109.c +++ gcc/testsuite/gcc.dg/tree-ssa/pr23109.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim2" } */ +/* { dg-options "-O2 -funsafe-math-optimizations -ftrapping-math -fdump-tree-recip -fdump-tree-lim3" } */ /* { dg-warning "-fassociative-math disabled" "" { target *-*-* } 1 } */ double F[2] = { 0., 0. }, e = 0.; @@ -29,6 +29,6 @@ int main() /* LIM only performs the transformation in the no-trapping-math case. In the future we will do it for trapping-math as well in recip, check that this is not wrongly optimized. */ -/* { dg-final { scan-tree-dump-not "reciptmp" "lim2" } } */ +/* { dg-final { scan-tree-dump-not "reciptmp" "lim3" } } */ /* { dg-final { scan-tree-dump-not "reciptmp" "recip" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c index 90b9b55..a352129 100644 --- gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c +++ gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim2-details" } */ +/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim3-details" } */ void f(int * __restrict__ r, int a[__restrict__ 16][16], @@ -14,4 +14,4 @@ void f(int * __restrict__ r, /* We should apply store motion to the store to *r. */ -/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim2" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c index fc03c1e..2e0edab 100644 --- gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c +++ gcc/testsuite/gcc.dg/tree-ssa/restrict-5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim2-details" } */ +/* { dg-options "-O -fno-strict-aliasing -fdump-tree-lim3-details" } */ static inline __attribute__((always_inline)) void f(int * __restrict__ r, @@ -20,4 +20,4 @@ void g(int *r, int a[16][16], int b[16][16], int i, int j) /* We should apply store motion to the store to *r. */ -/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim2" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of \\\*r" "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c index 4ee7049..6a4b819 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim2" } */ +/* { dg-options "-O -fdump-tree-lim3" } */ /* This is a variant that does cause fold to place a cast to int before testing bit 1. */ @@ -18,4 +18,4 @@ quantum_toffoli (int control1, int control2, int target, } } -/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c index ec609d8..afa547c 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-10.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ int *l, *r; int test_func(void) @@ -27,4 +27,4 @@ int test_func(void) return i; } -/* { dg-final { scan-tree-dump "Executing store motion of pos" "lim2" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of pos" "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c index db7c8d2..e8cedbf 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fprofile-arcs -fdump-tree-lim2-details" } */ +/* { dg-options "-O -fprofile-arcs -fdump-tree-lim3-details" } */ struct thread_param { @@ -21,4 +21,4 @@ void access_buf(struct thread_param* p) } } -/* { dg-final { scan-tree-dump-times "Executing store motion of __gcov0.access_buf\\\[\[01\]\\\] from loop 1" 2 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of __gcov0.access_buf\\\[\[01\]\\\] from loop 1" 2 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c index 016ff22..18b055f 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-12.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim2" } */ +/* { dg-options "-O -fdump-tree-lim3" } */ int a[1024]; @@ -23,4 +23,4 @@ void bar (int x, int z) } } -/* { dg-final { scan-tree-dump-times "!= 0 ? " 2 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "!= 0 ? " 2 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c index 37639cd..9ef7bae 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim2" } */ +/* { dg-options "-O -fdump-tree-lim3" } */ /* This is a variant that doesn't cause fold to place a cast to int before testing bit 1. */ @@ -18,4 +18,4 @@ int size) } } -/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c index f059d5a..dc7f41a 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim2-details" } */ +/* { dg-options "-O -fdump-tree-lim3-details" } */ struct { int x; int y; } global; void foo(int n) @@ -9,5 +9,5 @@ void foo(int n) global.y += global.x*global.x; } -/* { dg-final { scan-tree-dump "Executing store motion of global.y" "lim2" } } */ -/* { dg-final { scan-tree-dump "Moving statement.*global.x.*out of loop 1" "lim2" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of global.y" "lim3" } } */ +/* { dg-final { scan-tree-dump "Moving statement.*global.x.*out of loop 1" "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c index 21edcd0..535d627 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ double a[16][64], y[64], x[16]; void foo(void) @@ -10,4 +10,4 @@ void foo(void) y[j] = y[j] + a[i][j] * x[i]; } -/* { dg-final { scan-tree-dump "Executing store motion of y" "lim2" } } */ +/* { dg-final { scan-tree-dump "Executing store motion of y" "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c index 7612e75..bf4e8ec 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-7.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim2-details" } */ +/* { dg-options "-O -fdump-tree-lim3-details" } */ extern const int srcshift; @@ -11,4 +11,4 @@ void foo (int *srcdata, int *dstdata) dstdata[i] = srcdata[i] << srcshift; } -/* { dg-final { scan-tree-dump "Moving statement" "lim2" } } */ +/* { dg-final { scan-tree-dump "Moving statement" "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c index 9256b39..fb69af3 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-8.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim2-details" } */ +/* { dg-options "-O -fdump-tree-lim3-details" } */ void bar (int); void foo (int n, int m) @@ -16,4 +16,4 @@ void foo (int n, int m) } } -/* { dg-final { scan-tree-dump-times "Moving PHI node" 1 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Moving PHI node" 1 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c index a65656f..9d2e817 100644 --- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c +++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-9.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O -fdump-tree-lim2-details" } */ +/* { dg-options "-O -fdump-tree-lim3-details" } */ void bar (int); void foo (int n, int m) @@ -16,4 +16,4 @@ void foo (int n, int m) } } -/* { dg-final { scan-tree-dump-times "Moving PHI node" 1 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Moving PHI node" 1 "lim3" } } */ diff --git gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c index 94bdd4a..6abcb6c 100644 --- gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c +++ gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-lim2-details" } */ +/* { dg-options "-O2 -fdump-tree-lim3-details" } */ int x; int y; struct { int x; int y; } global; int foo() { @@ -10,5 +10,5 @@ int foo() { global.y += global.x*global.x; } -/* { dg-final { scan-tree-dump-times "Executing store motion of global.y" 1 "lim2" } } */ +/* { dg-final { scan-tree-dump-times "Executing store motion of global.y" 1 "lim3" } } */ /* XXX: We should also check for the load motion of global.x, but there is no easy way to do this. */ diff --git gcc/testsuite/gfortran.dg/pr32921.f gcc/testsuite/gfortran.dg/pr32921.f index 0661208..e7264b7 100644 --- gcc/testsuite/gfortran.dg/pr32921.f +++ gcc/testsuite/gfortran.dg/pr32921.f @@ -1,5 +1,5 @@ ! { dg-do compile } -! { dg-options "-O2 -fdump-tree-lim2" } +! { dg-options "-O2 -fdump-tree-lim3" } ! gfortran -c -m32 -O2 -S junk.f ! MODULE LES3D_DATA @@ -45,4 +45,4 @@ RETURN END -! { dg-final { scan-tree-dump-times "stride" 4 "lim2" } } +! { dg-final { scan-tree-dump-times "stride" 4 "lim3" } }