From patchwork Tue Apr 21 19:26:50 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 463467 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 80E66140083 for ; Wed, 22 Apr 2015 05:27:26 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass reason="1024-bit key; unprotected key" header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=fJ29JlRF; dkim-adsp=none (unprotected policy); 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=H8dBzzJoANF8Nyem 8P7mjP1hhzKds67xe9MQGDUzx9q8qIJFEHn5ys9QXuqx1JG34pePcjffLS3PILCz o1gfUXVwrCVRhvsLzYLj2eC6LWFZMDrXhQ6S04EfpCp6Z3YNU0yqAsaz53chGa8E 9oGAfNPdcFdXQyo10nacayzqBp8= 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=qzC0sLYFQFzCjCGrWhnDHg XMAaA=; b=fJ29JlRF8YbI7BT9mXr5hSPWEd/veuEIUKa6/+xxKrDjhYFmbbUvOL o0vdNNZUHy3p1+TUTFDWKcluF4OyEgQVran77G8h5pJWnQkFF1BdyY4YukZjUeMe Kt2WjzvRS2+MVoK/XJ0OjvbdMzp4qoDdUhlQeGFLeRLXWFv6k9p6E= Received: (qmail 78798 invoked by alias); 21 Apr 2015 19:27:17 -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 78788 invoked by uid 89); 21 Apr 2015 19:27:16 -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; Tue, 21 Apr 2015 19:27:15 +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 1YkdpA-000025-0w from Thomas_Schwinge@mentor.com ; Tue, 21 Apr 2015 12:27:12 -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; Tue, 21 Apr 2015 20:27:10 +0100 From: Thomas Schwinge To: GCC Patches CC: Tom de Vries , Richard Biener , Jakub Jelinek Subject: Add BUILT_IN_GOACC_KERNELS_INTERNAL (was: openacc kernels directive -- initial support) In-Reply-To: <546743BC.5070804@mentor.com> References: <546743BC.5070804@mentor.com> User-Agent: Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) Date: Tue, 21 Apr 2015 21:26:50 +0200 Message-ID: <87mw211dvp.fsf@kepler.schwinge.homeip.net> MIME-Version: 1.0 Hi! On Sat, 15 Nov 2014 13:14:52 +0100, Tom de Vries wrote: > I'm submitting a patch series with initial support for the oacc kernels directive. > > The patch series uses pass_parallelize_loops to implement parallelization of > loops in the oacc kernels region. Committed to gomp-4_0-branch in r222278: commit fd3add90d38d5f1b38c9cb557404542b6383b2b0 Author: tschwinge Date: Tue Apr 21 19:24:57 2015 +0000 Add BUILT_IN_GOACC_KERNELS_INTERNAL ..., a variant of the GOACC_kernels builtin. This variant does not call the function passed as function pointer, and therefore is less of an optimization barrier than the original variant. The purpose of this variant is to allow the introduction of the GOACC_kernels call before splitting off the region body into a function (something that is currently done simultaneously). gcc/ * builtin-attrs.def (DOT_DOT_DOT_r_r_r): Add DEF_ATTR_FOR_STRING. (ATTR_FNSPEC_DOT_DOT_DOT_r_r_r_NOTHROW_LIST): Add DEF_ATTR_TREE_LIST. * omp-builtins.def (BUILT_IN_GOACC_KERNELS_INTERNAL): Add DEF_GOACC_BUILTIN_FNSPEC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@222278 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.gomp | 6 ++++++ gcc/builtin-attrs.def | 4 ++++ gcc/omp-builtins.def | 5 +++++ 3 files changed, 15 insertions(+) Grüße, Thomas diff --git gcc/ChangeLog.gomp gcc/ChangeLog.gomp index b091dd5..7885189 100644 --- gcc/ChangeLog.gomp +++ gcc/ChangeLog.gomp @@ -1,5 +1,11 @@ 2015-04-21 Tom de Vries + * builtin-attrs.def (DOT_DOT_DOT_r_r_r): Add DEF_ATTR_FOR_STRING. + (ATTR_FNSPEC_DOT_DOT_DOT_r_r_r_NOTHROW_LIST): Add + DEF_ATTR_TREE_LIST. + * omp-builtins.def (BUILT_IN_GOACC_KERNELS_INTERNAL): Add + DEF_GOACC_BUILTIN_FNSPEC. + * builtins.def (DEF_GOACC_BUILTIN_FNSPEC): Define. 2015-03-21 Tom de Vries diff --git gcc/builtin-attrs.def gcc/builtin-attrs.def index 1338644..8eca053 100644 --- gcc/builtin-attrs.def +++ gcc/builtin-attrs.def @@ -64,6 +64,7 @@ DEF_ATTR_FOR_INT (6) DEF_ATTR_TREE_LIST (ATTR_LIST_##ENUM, ATTR_NULL, \ ATTR_##ENUM, ATTR_NULL) DEF_ATTR_FOR_STRING (STR1, "1") +DEF_ATTR_FOR_STRING (DOT_DOT_DOT_r_r_r, "...rrr") #undef DEF_ATTR_FOR_STRING /* Construct a tree for a list of two integers. */ @@ -127,6 +128,9 @@ DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_LIST, ATTR_PURE, \ ATTR_NULL, ATTR_NOTHROW_LIST) DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_LEAF_LIST, ATTR_PURE, \ ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) +DEF_ATTR_TREE_LIST (ATTR_FNSPEC_DOT_DOT_DOT_r_r_r_NOTHROW_LIST, \ + ATTR_FNSPEC, ATTR_LIST_DOT_DOT_DOT_r_r_r, \ + ATTR_NOTHROW_LIST) DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LIST, ATTR_NORETURN, \ ATTR_NULL, ATTR_NOTHROW_LIST) DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LEAF_LIST, ATTR_NORETURN,\ diff --git gcc/omp-builtins.def gcc/omp-builtins.def index 03955c4..cd273f2 100644 --- gcc/omp-builtins.def +++ gcc/omp-builtins.def @@ -39,6 +39,11 @@ DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_END, "GOACC_data_end", DEF_GOACC_BUILTIN (BUILT_IN_GOACC_ENTER_EXIT_DATA, "GOACC_enter_exit_data", BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, ATTR_NOTHROW_LIST) +DEF_GOACC_BUILTIN_FNSPEC (BUILT_IN_GOACC_KERNELS_INTERNAL, + "GOACC_kernels_internal", + BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, + ATTR_FNSPEC_DOT_DOT_DOT_r_r_r_NOTHROW_LIST, + ATTR_NOTHROW_LIST, "...rrr") DEF_GOACC_BUILTIN (BUILT_IN_GOACC_KERNELS, "GOACC_kernels", BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, ATTR_NOTHROW_LIST)