This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Add BUILT_IN_GOACC_KERNELS_INTERNAL (was: openacc kernels directive -- initial support)


Hi!

On Sat, 15 Nov 2014 13:14:52 +0100, Tom de Vries <Tom_deVries@mentor.com> 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 <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
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(+)

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  <tom@codesourcery.com>
 
+	* 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  <tom@codesourcery.com>
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)


GrÃÃe,
 Thomas

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]