From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14433 invoked by alias); 22 Dec 2014 18:05:29 -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 14423 invoked by uid 89); 22 Dec 2014 18:05:29 -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,RCVD_IN_DNSWL_NONE,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; Mon, 22 Dec 2014 18:05:27 +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 1Y37MB-0005iI-Vb from Thomas_Schwinge@mentor.com ; Mon, 22 Dec 2014 10:05:24 -0800 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.181.6; Mon, 22 Dec 2014 18:05:22 +0000 From: Thomas Schwinge To: , Jakub Jelinek CC: Julian Brown Subject: Re: [PATCH 1/5] OpenACC 2.0 support for libgomp - OpenACC runtime, NVidia PTX/CUDA plugin (repost) In-Reply-To: <20141111135323.29e0f27b@octopus> References: <20140923191931.2177e60f@octopus> <20141111135323.29e0f27b@octopus> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) Date: Mon, 22 Dec 2014 18:12:00 -0000 Message-ID: <87r3vry2zl.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-SW-Source: 2014-12/txt/msg01795.txt.bz2 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 3875 Hi! On Tue, 11 Nov 2014 13:53:23 +0000, Julian Brown = wrote: > On Tue, 23 Sep 2014 19:19:31 +0100 > Julian Brown wrote: > > This patch contains the bulk of the OpenACC 2.0 runtime support, > > building around, or on top of, the OpenMP 4.0 support (as previously > > posted or already extant upstream) where we could. [...] >=20 > Here is a new version of the OpenACC support patch for libgomp, [...] > --- a/libgomp/libgomp_target.h > +++ b/libgomp/libgomp_target.h > +extern attribute_hidden void > +gomp_free_memmap (struct gomp_device_descr *devicep); > --- a/libgomp/target.c > +++ b/libgomp/target.c > +attribute_hidden void > +gomp_free_memmap (struct gomp_device_descr *devicep) > +{ > + struct gomp_memory_mapping *mm =3D &devicep->mem_map; > + > + while (mm->splay_tree.root) > + { > + struct target_mem_desc *tgt =3D mm->splay_tree.root->key.tgt; > +=20=20=20=20=20=20 > + splay_tree_remove (&mm->splay_tree, &mm->splay_tree.root->key); > + free (tgt->array); > + free (tgt); > + } > + > + mm->is_initialized =3D false; > +} Committed to gomp-4_0-branch in r219025: commit 2eb33739d20c07303c42ed56db0fb925b575f33e Author: tschwinge Date: Mon Dec 22 18:04:41 2014 +0000 libgomp: gomp_free_memmap interface change. =20=20=20=20 libgomp/ * libgomp.h (gomp_free_memmap): Take a pointer to a struct gomp_memory_mapping instead of a pointer to a struct gomp_device_descr. Change all users. =20=20=20=20 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@2190= 25 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgomp/ChangeLog.gomp | 4 ++++ libgomp/libgomp.h | 4 ++-- libgomp/oacc-init.c | 2 +- libgomp/target.c | 4 +--- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git libgomp/ChangeLog.gomp libgomp/ChangeLog.gomp index 4eac98c..383993d 100644 --- libgomp/ChangeLog.gomp +++ libgomp/ChangeLog.gomp @@ -1,5 +1,9 @@ 2014-12-22 Thomas Schwinge =20 + * libgomp.h (gomp_free_memmap): Take a pointer to a struct + gomp_memory_mapping instead of a pointer to a struct + gomp_device_descr. Change all users. + * libgomp.h (struct gomp_device_descr): Move target_data member... (struct acc_dispatch_t): ... into here. Change all users. =20 diff --git libgomp/libgomp.h libgomp/libgomp.h index ec3c52e..5897d8f 100644 --- libgomp/libgomp.h +++ libgomp/libgomp.h @@ -790,10 +790,10 @@ extern void gomp_init_device (struct gomp_device_desc= r *); extern void gomp_init_tables (const struct gomp_device_descr *, struct gomp_memory_mapping *); =20 +extern void gomp_free_memmap (struct gomp_memory_mapping *); + extern void gomp_fini_device (struct gomp_device_descr *); =20 -extern void gomp_free_memmap (struct gomp_device_descr *); - /* work.c */ =20 extern void gomp_init_work_share (struct gomp_work_share *, bool, unsigned= ); diff --git libgomp/oacc-init.c libgomp/oacc-init.c index 06039b3..3867ca7 100644 --- libgomp/oacc-init.c +++ libgomp/oacc-init.c @@ -350,7 +350,7 @@ acc_shutdown_1 (acc_device_t d) =20 walk->dev->openacc.target_data =3D target_data =3D NULL; =20 - gomp_free_memmap (walk->dev); + gomp_free_memmap (&walk->dev->mem_map); =20 walk->dev =3D NULL; } diff --git libgomp/target.c libgomp/target.c index bf719f8..788d9fb 100644 --- libgomp/target.c +++ libgomp/target.c @@ -722,10 +722,8 @@ gomp_init_dev_tables (struct gomp_device_descr *device= p) =20 =20 attribute_hidden void -gomp_free_memmap (struct gomp_device_descr *devicep) +gomp_free_memmap (struct gomp_memory_mapping *mm) { - struct gomp_memory_mapping *mm =3D &devicep->mem_map; - while (mm->splay_tree.root) { struct target_mem_desc *tgt =3D mm->splay_tree.root->key.tgt; Gr=C3=BC=C3=9Fe, Thomas --=-=-= Content-Type: application/pgp-signature; name="signature.asc" Content-length: 472 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJUmF1eAAoJEK3/DN1sMFFtefIH/Rz566OfKi3b43e77EQRMJvG SphTYY0MNOwODIUSCn0I1JkZfy4LM7/Tshq+OCZrJ/Xd3XsBbNYY7yCpmx6L/fyw 09NQ0ZpvEYWGV7HzYZxLFEuhJuntLR12VLxPGIIaxnlNumPzlxg8/ML5xAPveJxS Hw4xyl7F7h1M1M6ICO+vFAbIUidbRulIB5Xe7g9S2Kw5xIrUKU5+eD4Xz8eVGu3B FrGiBOMKwv6gS3TsuRe1WKObC/ZXOsDJORUiPqvZFgAt5IZfZcREPZJHvrdy5XhQ FbftfsYerkCq/FT9EIOCgjsY5c+gGetyvHfqCRXpCK16WpnTbLpK3gXK0bBbvsM= =B6OT -----END PGP SIGNATURE----- --=-=-=--