From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 53919 invoked by alias); 3 Jun 2015 11:41:53 -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 53909 invoked by uid 89); 3 Jun 2015 11:41:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 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 (AES256-SHA encrypted) ESMTPS; Wed, 03 Jun 2015 11:41:51 +0000 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43878) by fencepost.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1Z073N-0003UR-Ea for gcc-patches@gnu.org; Wed, 03 Jun 2015 07:41:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z073H-0008L5-K6 for gcc-patches@gnu.org; Wed, 03 Jun 2015 07:41:49 -0400 Received: from relay1.mentorg.com ([192.94.38.131]:39612) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z073H-0008KC-BY for gcc-patches@gnu.org; Wed, 03 Jun 2015 07:41:43 -0400 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-03.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1Z073E-0000I3-M3 from Thomas_Schwinge@mentor.com ; Wed, 03 Jun 2015 04:41:41 -0700 Received: from feldtkeller.schwinge.homeip.net (137.202.0.76) by SVR-IES-FEM-03.mgc.mentorg.com (137.202.0.108) with Microsoft SMTP Server id 14.3.224.2; Wed, 3 Jun 2015 12:41:39 +0100 From: Thomas Schwinge To: Tom de Vries CC: Jakub Jelinek , , Bernd Schmidt Subject: Re: [gomp4] Avoiding predication for certain blocks In-Reply-To: <87d21fljyc.fsf@kepler.schwinge.homeip.net> References: <55689279.2020809@codesourcery.com> <556C2F84.80207@mentor.com> <87d21fljyc.fsf@kepler.schwinge.homeip.net> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) Date: Wed, 03 Jun 2015 11:43:00 -0000 Message-ID: <871thtj9y9.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: Windows NT kernel [generic] [fuzzy] X-Received-From: 192.94.38.131 X-SW-Source: 2015-06/txt/msg00306.txt.bz2 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 3943 Hi! On Mon, 01 Jun 2015 13:57:47 +0200, I wrote: > On Mon, 1 Jun 2015 12:10:12 +0200, Tom de Vries = wrote: > > On 29/05/15 18:23, Bernd Schmidt wrote: > > > When predicating the code for OpenACC, we should avoid the entry block > > > in an offloaded region, which contains setup code that should be run = in > > > every thread. The following patch adds a new marker statement that is > > > used to identify this block. Currently, predication doesn't happen > > > anyway due to an oversight in the algorithm, but I'll be fixing that = in > > > a followup patch. > > > > > > Committed on gomp-4_0-branch. >=20 > > this causes an ICE in kernels-eternal.c. >=20 > (Belatedly) confirmed: >=20 > [-PASS:-]{+FAIL: c-c++-common/goacc/kernels-eternal.c (internal compi= ler error)+} > {+FAIL:+} c-c++-common/goacc/kernels-eternal.c (test for excess error= s) >=20 > [-PASS:-]{+FAIL: c-c++-common/goacc/kernels-eternal.c -std=3Dc++11 (= internal compiler error)+} > {+FAIL:+} c-c++-common/goacc/kernels-eternal.c -std=3Dc++11 (test fo= r excess errors) > [-PASS:-]{+FAIL: c-c++-common/goacc/kernels-eternal.c -std=3Dc++14 (= internal compiler error)+} > {+FAIL:+} c-c++-common/goacc/kernels-eternal.c -std=3Dc++14 (test fo= r excess errors) > [-PASS:-]{+FAIL: c-c++-common/goacc/kernels-eternal.c -std=3Dc++98 (= internal compiler error)+} > {+FAIL:+} c-c++-common/goacc/kernels-eternal.c -std=3Dc++98 (test fo= r excess errors) >=20 > > The GIMPLE_OMP_ENTRY_END is removed the first time (!ssa) we call=20 > > expand_omp_target. The second time we call expand_omp_target (ssa), it'= s=20 > > no longer there, and we call 'gimple_code (NULL)' here: > > ... > > basic_block entry_succ_bb =3D single_succ (entry_bb); > > gsi =3D gsi_last_bb (entry_succ_bb); > > if (gimple_code (gsi_stmt (gsi)) =3D=3D GIMPLE_OMP_ENTRY_END) > > gsi_remove (&gsi, true); > > ... > >=20 > > This patch fixes that by not attempting to remove GIMPLE_OMP_ENTRY_END= =20 > > when in ssa. > >=20 > > Committed to gomp-4_0-branch. >=20 > I also observed -- and still do observe -- ICEs as follows. Tom, as > you've fixed (thanks!) this already for > c-c++-common/goacc/kernels-eternal.c, would you mind fixing it for these, > too: >=20 > [-PASS:-]{+FAIL: c-c++-common/goacc-gomp/nesting-1.c (internal compil= er error)+} > {+FAIL:+} c-c++-common/goacc-gomp/nesting-1.c (test for excess errors) >=20 > [-PASS:-]{+FAIL: c-c++-common/gomp/nesting-1.c (internal compiler err= or)+} > {+FAIL:+} c-c++-common/gomp/nesting-1.c (test for excess errors) >=20 > [-PASS:-]{+FAIL: c-c++-common/goacc-gomp/nesting-1.c -std=3Dc++11 (i= nternal compiler error)+} > {+FAIL:+} c-c++-common/goacc-gomp/nesting-1.c -std=3Dc++11 (test for= excess errors) > [-PASS:-]{+FAIL: c-c++-common/goacc-gomp/nesting-1.c -std=3Dc++14 (i= nternal compiler error)+} > {+FAIL:+} c-c++-common/goacc-gomp/nesting-1.c -std=3Dc++14 (test for= excess errors) > [-PASS:-]{+FAIL: c-c++-common/goacc-gomp/nesting-1.c -std=3Dc++98 (i= nternal compiler error)+} > {+FAIL:+} c-c++-common/goacc-gomp/nesting-1.c -std=3Dc++98 (test for= excess errors) >=20 > [-PASS:-]{+FAIL: c-c++-common/gomp/nesting-1.c -std=3Dc++11 (interna= l compiler error)+} > {+FAIL:+} c-c++-common/gomp/nesting-1.c -std=3Dc++11 (test for exces= s errors) > [-PASS:-]{+FAIL: c-c++-common/gomp/nesting-1.c -std=3Dc++14 (interna= l compiler error)+} > {+FAIL:+} c-c++-common/gomp/nesting-1.c -std=3Dc++14 (test for exces= s errors) > [-PASS:-]{+FAIL: c-c++-common/gomp/nesting-1.c -std=3Dc++98 (interna= l compiler error)+} > {+FAIL:+} c-c++-common/gomp/nesting-1.c -std=3Dc++98 (test for exces= s errors) Bernd fixed this as part of his gomp-4_0-branch commit r224073: =C2=BBomp-low.c [...] (expand_omp_target): Only look for entry-end statement if offloaded=C2=AB. Gr=C3=BC=C3=9Fe, Thomas --=-=-= Content-Type: application/pgp-signature; name="signature.asc" Content-length: 472 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVbufeAAoJEK3/DN1sMFFtWBgH/0FmnaN58OtebUvCcrg8TTM7 KBO2qYdsJN0FFZajvqffI2JamjJIshjn0J0i0ZbQe0kkNz4m5+hNk0bmhT5dUlMF 0kVyq7Tc5aT35O1fbR5odN/OkyqSsWDCPJBL0YKSNECujlDfRb4yX09ni6BqFxWZ z8Ykm/j8fwnRN3RAsFc0P5xT6wXc0Wx8YDYrRUyB4tNvQwb2oDUnHl9lQn15XY8i FrF39sGiQ3a7aPuHm1HhpY1suUKkd2ixxx1q6tPPYYbT63TYuAAGLUyL3g7+Sfr0 mn4WDomV+aZtgyFPnHR5cMFZ6CxXwUQNKMam3OrVoDTTakiSeVbIPe8nRCZD9ME= =FtLg -----END PGP SIGNATURE----- --=-=-=--