From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 99714 invoked by alias); 2 Dec 2015 23:32:08 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 99692 invoked by uid 89); 2 Dec 2015 23:32:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_PASS,T_RP_MATCHES_RCVD 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; Wed, 02 Dec 2015 23:32:05 +0000 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58153) by fencepost.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1a4GsV-0004DG-6B for gcc-patches@gnu.org; Wed, 02 Dec 2015 18:32:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a4GsR-0004wK-JD for gcc-patches@gnu.org; Wed, 02 Dec 2015 18:32:02 -0500 Received: from relay1.mentorg.com ([192.94.38.131]:49916) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a4GsR-0004w1-B6 for gcc-patches@gnu.org; Wed, 02 Dec 2015 18:31:59 -0500 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 1a4GsP-00014z-CF from Tom_deVries@mentor.com ; Wed, 02 Dec 2015 15:31:57 -0800 Received: from [127.0.0.1] (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; Wed, 2 Dec 2015 23:31:55 +0000 Subject: Re: [PATCH] Handle BUILT_IN_GOACC_PARALLEL in ipa-pta To: Thomas Schwinge References: <565C0F47.5020604@mentor.com> <565C3CEC.9040209@mentor.com> <565C7B09.6000206@mentor.com> <565DADE6.8020908@mentor.com> <87zixsloli.fsf@kepler.schwinge.homeip.net> CC: Jakub Jelinek , "gcc-patches@gnu.org" , Richard Biener From: Tom de Vries Message-ID: <565F7F68.1080903@mentor.com> Date: Wed, 02 Dec 2015 23:32:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <87zixsloli.fsf@kepler.schwinge.homeip.net> Content-Type: multipart/mixed; boundary="------------000106050200080908090808" X-detected-operating-system: by eggs.gnu.org: Windows NT kernel [generic] [fuzzy] X-Received-From: 192.94.38.131 X-SW-Source: 2015-12/txt/msg00379.txt.bz2 --------------000106050200080908090808 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-length: 3460 On 02/12/15 18:58, Thomas Schwinge wrote: > Hi! > > On Tue, 1 Dec 2015 15:25:42 +0100, Tom de Vries wrote: >> >Handle BUILT_IN_GOACC_PARALLEL in ipa-pta >> > * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: New test. >> > * c-c++-common/goacc/kernels-alias-ipa-pta-3.c: New test. >> > * c-c++-common/goacc/kernels-alias-ipa-pta.c: New test. > I see: > > PASS: c-c++-common/goacc/kernels-alias-ipa-pta-2.c (test for excess errors) > FAIL: c-c++-common/goacc/kernels-alias-ipa-pta-2.c scan-tree-dump-times optimized "(?n)= 0;$" 2 > PASS: c-c++-common/goacc/kernels-alias-ipa-pta-2.c scan-tree-dump-times optimized "(?n)= 1;$" 1 > FAIL: c-c++-common/goacc/kernels-alias-ipa-pta-2.c scan-tree-dump-times optimized "(?n)= \\*a" 0 > PASS: c-c++-common/goacc/kernels-alias-ipa-pta-3.c (test for excess errors) > PASS: c-c++-common/goacc/kernels-alias-ipa-pta-3.c scan-tree-dump-times optimized "(?n)= 0;$" 1 > PASS: c-c++-common/goacc/kernels-alias-ipa-pta-3.c scan-tree-dump-times optimized "(?n)= 1;$" 1 > PASS: c-c++-common/goacc/kernels-alias-ipa-pta-3.c scan-tree-dump-times optimized "(?n)= \\*a" 1 > PASS: c-c++-common/goacc/kernels-alias-ipa-pta.c (test for excess errors) > FAIL: c-c++-common/goacc/kernels-alias-ipa-pta.c scan-tree-dump-times optimized "(?n)= 0;$" 2 > PASS: c-c++-common/goacc/kernels-alias-ipa-pta.c scan-tree-dump-times optimized "(?n)= 1;$" 1 > FAIL: c-c++-common/goacc/kernels-alias-ipa-pta.c scan-tree-dump-times optimized "(?n)= \\*_[0-9]\\[0\\];$" 0 > > ..., and similar for C++. Curious, I get all passes for both C and C++ (at r231192). > Looking at > c-c++-common/goacc/kernels-alias-ipa-pta.c: > >> >--- /dev/null >> >+++ b/gcc/testsuite/c-c++-common/goacc/kernels-alias-ipa-pta.c >> >@@ -0,0 +1,23 @@ >> >+/* { dg-additional-options "-O2" } */ >> >+/* { dg-additional-options "-fipa-pta -fdump-tree-optimized" } */ >> >+ >> >+#define N 2 >> >+ >> >+void >> >+foo (void) >> >+{ >> >+ unsigned int a[N]; >> >+ unsigned int b[N]; >> >+ unsigned int c[N]; >> >+ >> >+#pragma acc kernels pcopyout (a, b, c) >> >+ { >> >+ a[0] = 0; >> >+ b[0] = 1; >> >+ c[0] = a[0]; >> >+ } >> >+} >> >+ >> >+/* { dg-final { scan-tree-dump-times "(?n)= 0;$" 2 "optimized" } } */ >> >+/* { dg-final { scan-tree-dump-times "(?n)= 1;$" 1 "optimized" } } */ >> >+/* { dg-final { scan-tree-dump-times "(?n)= \\*_\[0-9\]\\\[0\\\];$" 0 "optimized" } } */ > ..., manually running that one for C, I get: > > ;; Function foo._omp_fn.0 (foo._omp_fn.0, funcdef_no=1, decl_uid=1874, cgraph_uid=1, symbol_order=1) > > __attribute__((oacc function (1, 1, 1), omp target entrypoint)) > foo._omp_fn.0 (const struct .omp_data_t.0 & restrict .omp_data_i) > { > unsigned int[2] * _3; > unsigned int[2] * _5; > unsigned int _7; > unsigned int[2] * _8; > > : > _3 = *.omp_data_i_2(D).a; > *_3[0] = 0; > _5 = *.omp_data_i_2(D).b; > *_5[0] = 1; > _7 = *_3[0]; > _8 = *.omp_data_i_2(D).c; > *_8[0] = _7; > return; > > } Indeed, the optimization hasn't taken place here so it's correct that the scan fails. I've attached the kernels-alias-ipa-pta.c.201t.optimized which I get, and it's clear the optimization is happening there (which explains why I get all PASSES). The question is, why is the optimization not happening for you. Thanks, - Tom --------------000106050200080908090808 Content-Type: text/plain; charset="UTF-8"; name="kernels-alias-ipa-pta.c.201t.optimized" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="kernels-alias-ipa-pta.c.201t.optimized" Content-length: 1493 Cjs7IEZ1bmN0aW9uIGZvby5fb21wX2ZuLjAgKGZvby5fb21wX2ZuLjAsIGZ1 bmNkZWZfbm89MSwgZGVjbF91aWQ9MTg3NCwgY2dyYXBoX3VpZD0xLCBzeW1i b2xfb3JkZXI9MSkKCl9fYXR0cmlidXRlX18oKG9hY2MgZnVuY3Rpb24gKDEs IDEsIDEpLCBvbXAgdGFyZ2V0IGVudHJ5cG9pbnQpKQpmb28uX29tcF9mbi4w IChjb25zdCBzdHJ1Y3QgLm9tcF9kYXRhX3QuMCAmIHJlc3RyaWN0IC5vbXBf ZGF0YV9pKQp7CiAgdW5zaWduZWQgaW50WzJdICogXzM7CiAgdW5zaWduZWQg aW50WzJdICogXzU7CiAgdW5zaWduZWQgaW50WzJdICogXzg7CgogIDxiYiAy PjoKICBfMyA9ICoub21wX2RhdGFfaV8yKEQpLmE7CiAgKl8zWzBdID0gMDsK ICBfNSA9ICoub21wX2RhdGFfaV8yKEQpLmI7CiAgKl81WzBdID0gMTsKICBf OCA9ICoub21wX2RhdGFfaV8yKEQpLmM7CiAgKl84WzBdID0gMDsKICByZXR1 cm47Cgp9CgoKCjs7IEZ1bmN0aW9uIGZvbyAoZm9vLCBmdW5jZGVmX25vPTAs IGRlY2xfdWlkPTE4NjYsIGNncmFwaF91aWQ9MCwgc3ltYm9sX29yZGVyPTAp Cgpmb28gKCkKewogIHVuc2lnbmVkIGludCBjWzJdOwogIHVuc2lnbmVkIGlu dCBiWzJdOwogIHVuc2lnbmVkIGludCBhWzJdOwogIHN0cnVjdCAub21wX2Rh dGFfdC4wIC5vbXBfZGF0YV9hcnIuMTsKICBzdGF0aWMgbG9uZyB1bnNpZ25l ZCBpbnQgLm9tcF9kYXRhX3NpemVzLjJbM10gPSB7OCwgOCwgOH07CiAgc3Rh dGljIHNob3J0IHVuc2lnbmVkIGludCAub21wX2RhdGFfa2luZHMuM1szXSA9 IHs1MTQsIDUxNCwgNTE0fTsKCiAgPGJiIDI+OgogIC5vbXBfZGF0YV9hcnIu MS5jID0gJmM7CiAgLm9tcF9kYXRhX2Fyci4xLmIgPSAmYjsKICAub21wX2Rh dGFfYXJyLjEuYSA9ICZhOwogIF9fYnVpbHRpbl9HT0FDQ19wYXJhbGxlbF9r ZXllZCAoLTEsIGZvby5fb21wX2ZuLjAsIDMsICYub21wX2RhdGFfYXJyLjEs ICYub21wX2RhdGFfc2l6ZXMuMiwgJi5vbXBfZGF0YV9raW5kcy4zLCAwKTsK ICAub21wX2RhdGFfYXJyLjEgPXt2fSB7Q0xPQkJFUn07CiAgYSA9e3Z9IHtD TE9CQkVSfTsKICBiID17dn0ge0NMT0JCRVJ9OwogIGMgPXt2fSB7Q0xPQkJF Un07CiAgcmV0dXJuOwoKfQoKCg== --------------000106050200080908090808--