From patchwork Fri Jul 10 09:04:14 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 493694 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 611731402B1 for ; Fri, 10 Jul 2015 19:04:43 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=jL0ZuibT; 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=Fw38VNBk/bxaetHj gy+OAnPFC4yFwtggTCve/FAUB395a9oeB8JSP4FpaUFH9QXO/PWnXWMGjpYat1Jc +6fYuaNbM20JK/8CIBVNdsYqHccLfep6td3RDkzz+BgZ/L1z6krDeRyArfWgqnWW L4I491CytUAFU0/wOeuBulRru+k= 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=sNh5mR2OWTwJF6qvNws3l8 DHZhw=; b=jL0ZuibTq7S47GyBMH/sd6MdG3Opxc+PHM+yQhGhlLPXt6rT0Y3Q7p L6e1xTh0bq9DY0Rc9JwetnyMMQAZCcCgehiToyuwWguj0hOFT8NukskCwQgLyC4I 62xWx68N+XFcY0VynfHFBe98Cw5hFCBneBwg5hms5pPxLALsDQyNw= Received: (qmail 126328 invoked by alias); 10 Jul 2015 09:04:36 -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 126319 invoked by uid 89); 10 Jul 2015 09:04:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 10 Jul 2015 09:04:32 +0000 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 1ZDUEM-0003Pr-TJ from Thomas_Schwinge@mentor.com ; Fri, 10 Jul 2015 02:04:27 -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; Fri, 10 Jul 2015 10:04:25 +0100 From: Thomas Schwinge To: Nathan Sidwell CC: GCC Patches , Jakub Jelinek Subject: Re: [gomp] Move openacc vector& worker single handling to RTL In-Reply-To: <559F10F2.9050102@acm.org> References: <5597120D.2080308@acm.org> <20150703231159.GP10247@tucnak.redhat.com> <559844EF.6010208@acm.org> <559AD85B.2050102@acm.org> <20150707095408.GD10247@tucnak.redhat.com> <559BDE68.9010302@acm.org> <20150707142229.GG10247@tucnak.redhat.com> <559D381C.7020804@acm.org> <20150708145822.GB10247@tucnak.redhat.com> <559D9A29.2020409@acm.org> <559F10F2.9050102@acm.org> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) Date: Fri, 10 Jul 2015 11:04:14 +0200 Message-ID: <87a8v42xkh.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Hi! On Thu, 09 Jul 2015 20:25:22 -0400, Nathan Sidwell wrote: > This is the patch I committed. :-) Whee! From testing this, two things: 1. Can you please have a look at the following ICE? I suppose you can reproduce this in your non-checking build by just unconditionally enabling that df_verify call? Committed to gomp-4_0-branch in r225656: commit 1aff96b721921f621642c0fab95359453bc01beb Author: tschwinge Date: Fri Jul 10 09:01:55 2015 +0000 Work around nvptx offloading compiler --enable-checking=yes,df,fold,rtl breakage ... introduced in r225647. checking whether the GNU Fortran compiler is working... no configure: error: GNU Fortran is not working; please report a bug in http://gcc.gnu.org/bugzilla, attaching /home/thomas/tmp/source/gcc/openacc/openacc-gomp-4_0-branch-work_/build-gcc-accel-nvptx/nvptx-none/libgfortran/config.log make[1]: *** [configure-target-libgfortran] Error 1 configure:4192: [...]/build-gcc-accel-nvptx/./gcc/xgcc -B[...]/build-gcc-accel-nvptx/./gcc/ -nostdinc -B[...]/build-gcc-accel-nvptx/nvptx-none/newlib/ -isystem [...]/build-gcc-accel-nvptx/nvptx-none/newlib/targ-include -isystem [...]/source-gcc/newlib/libc/include -B/nvptx-none/bin/ -B/nvptx-none/lib/ -isystem /nvptx-none/include -isystem /nvptx-none/sys-include --sysroot=[...]/install/nvptx-none -c -g conftest.c >&5 conftest.c: In function 'main': conftest.c:16:1: internal compiler error: in df_live_verify_transfer_functions, at df-problems.c:1849 } ^ 0x6d3d8e df_live_verify_transfer_functions() [...]/source-gcc/gcc/df-problems.c:1848 0x6cb83a df_analyze_1 [...]/source-gcc/gcc/df-core.c:1241 0xd909a0 nvptx_reorg [...]/source-gcc/gcc/config/nvptx/nvptx.c:2946 0xa50829 execute [...]/source-gcc/gcc/reorg.c:4034 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. configure:4192: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "GNU Fortran Runtime Library" | #define PACKAGE_TARNAME "libgfortran" | #define PACKAGE_VERSION "0.3" | #define PACKAGE_STRING "GNU Fortran Runtime Library 0.3" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "http://www.gnu.org/software/libgfortran/" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } Reproduce: $ echo 'static void foo(void) {}' | build-gcc-accel-nvptx/gcc/xgcc -Bbuild-gcc-accel-nvptx/gcc/ -S -x c - : In function 'foo': :1:1: internal compiler error: in df_live_verify_transfer_functions, at df-problems.c:1849 0x6d3d8e df_live_verify_transfer_functions() [...]/source-gcc/gcc/df-problems.c:1848 0x6cb83a df_analyze_1 [...]/source-gcc/gcc/df-core.c:1241 0xd909a0 nvptx_reorg [...]/source-gcc/gcc/config/nvptx/nvptx.c:2946 0xa50829 execute [...]/source-gcc/gcc/reorg.c:4034 Workaround: gcc/ * df-core.c (df_analyze_1): Disable df_verify call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@225656 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.gomp | 4 ++++ gcc/df-core.c | 2 ++ 2 files changed, 6 insertions(+) Grüße, Thomas diff --git gcc/ChangeLog.gomp gcc/ChangeLog.gomp index c71e396..535900c 100644 --- gcc/ChangeLog.gomp +++ gcc/ChangeLog.gomp @@ -1,3 +1,7 @@ +2015-07-10 Thomas Schwinge + + * df-core.c (df_analyze_1): Disable df_verify call. + 2015-07-09 Nathan Sidwell Infrastructure: diff --git gcc/df-core.c gcc/df-core.c index 67040a1..52cca8e 100644 --- gcc/df-core.c +++ gcc/df-core.c @@ -1235,10 +1235,12 @@ df_analyze_1 (void) if (dump_file) fprintf (dump_file, "df_analyze called\n"); +#if /* TODO */ 0 #ifndef ENABLE_DF_CHECKING if (df->changeable_flags & DF_VERIFY_SCHEDULED) #endif df_verify (); +#endif /* Skip over the DF_SCAN problem. */ for (i = 1; i < df->num_problems_defined; i++) 2. Don't be shy to remove a bunch of XFAILs, in fact all :-) of those remaining from the test cases that Julian had added in . Unfortunately, there's also one regressions, but I'm seeing it only on Nvidia K20 hardware, not on my laptop (but it may well be hardware-dependent: according to a web search, CUDA error 716 translates to CUDA_ERROR_MISALIGNED_ADDRESS). Are you reproducing that one, and/or do you have an idea where it's coming from? Committed to gomp-4_0-branch in r225657: commit bdecfaf444a5811e5ea2a942e7b98b160d737b7b Author: tschwinge Date: Fri Jul 10 09:02:02 2015 +0000 libgomp: XFAILs update ... after r225647. libgomp/ * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Add XFAIL. * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c: Remove XFAIL. * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@225657 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgomp/ChangeLog.gomp | 25 ++++++++++++++++++++ .../libgomp.oacc-c-c++-common/parallel-loop-1.c | 1 + .../private-vars-local-worker-3.c | 2 -- .../private-vars-local-worker-4.c | 2 -- .../private-vars-local-worker-5.c | 2 -- .../private-vars-loop-gang-2.c | 2 -- .../private-vars-loop-gang-4.c | 3 --- .../private-vars-loop-gang-5.c | 2 -- .../private-vars-loop-gang-6.c | 2 -- .../private-vars-loop-worker-5.c | 3 --- .../private-vars-loop-worker-6.c | 2 -- .../private-vars-loop-worker-7.c | 2 -- 12 files changed, 26 insertions(+), 22 deletions(-) diff --git libgomp/ChangeLog.gomp libgomp/ChangeLog.gomp index 1949d78..6d1c547 100644 --- libgomp/ChangeLog.gomp +++ libgomp/ChangeLog.gomp @@ -1,3 +1,28 @@ +2015-07-10 Thomas Schwinge + + * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Add + XFAIL. + * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c: + Remove XFAIL. + * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c: + Likewise. + 2015-07-08 James Norris * oacc-parallel.c (GOACC_parallel GOACC_data_start): Handle Fortran diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c index a1f974d..23a9b23 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-xfail-run-if "cuStreamSynchronize error: unknown result code: 716" { openacc_nvidia_accel_selected } } */ #include diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c index 6129523..1e67322 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-3.c @@ -1,5 +1,3 @@ -/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } } */ - #include /* Test of worker-private variables declared in a local scope, broadcasting diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c index 4cec00e..120001b 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-4.c @@ -1,5 +1,3 @@ -/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } } */ - #include /* Test of worker-private variables declared in a local scope, broadcasting diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c index efc2206..f849f0c 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-local-worker-5.c @@ -1,5 +1,3 @@ -/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } } */ - #include /* Test of worker-private variables declared in a local scope, broadcasting diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c index 9debf83..3898c0e 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-2.c @@ -1,5 +1,3 @@ -/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } } */ - #include /* Test of gang-private variables declared on loop directive, with broadcasting diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c index f0f0477..45714010 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-4.c @@ -1,6 +1,3 @@ -/* { dg-xfail-if "TODO: ICE" { *-*-* } } */ -/* { dg-excess-errors "TODO" } */ - #include /* Test of gang-private addressable variable declared on loop directive, with diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c index b955303..b070773 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-5.c @@ -1,5 +1,3 @@ -/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } } */ - #include /* Test of gang-private array variable declared on loop directive, with diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c index 0c17eaa..ec74292 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-gang-6.c @@ -1,5 +1,3 @@ -/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } } */ - #include /* Test of gang-private aggregate variable declared on loop directive, with diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c index 741795d..a28105c 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-5.c @@ -1,6 +1,3 @@ -/* { dg-xfail-if "TODO: ICE" { *-*-* } } */ -/* { dg-excess-errors "TODO" } */ - #include /* Test of worker-private variables declared on a loop directive, broadcasting diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c index feba09e..5dde621 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-6.c @@ -1,5 +1,3 @@ -/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } } */ - #include /* Test of worker-private variables declared on a loop directive, broadcasting diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c index 5469c5d..e4d4ccf 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/private-vars-loop-worker-7.c @@ -1,5 +1,3 @@ -/* { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "*" } { "" } } */ - #include /* Test of worker-private variables declared on loop directive, broadcasting