diff mbox

[gomp4.1] OpenMP 4.1 is dead, long live OpenMP 4.5

Message ID 20151009075507.GB8714@tucnak.redhat.com
State New
Headers show

Commit Message

Jakub Jelinek Oct. 9, 2015, 7:55 a.m. UTC
Hi!

Yesterday the upcoming OpenMP specification got renumbered from 4.1
to 4.5 to take into the amount of 4.0 -> 4.5 changes.

This patch adjusts the 4.1 occurrences I could find.  Not going to rename
the development branch at this point, I hope it can be merged RSN into the
trunk.

2015-10-09  Jakub Jelinek  <jakub@redhat.com>

	* gimplify.c (gimplify_scan_omp_clauses): Adjust OpenMP version
	number from 4.1 to 4.5 in a comment.
c-family/
	* c-pragma.h (enum pragma_omp_clause): Adjust OpenMP version
	number from 4.1 to 4.5 in a comment.
c/
	* c-parser.c: Adjust OpenMP version numbers from 4.1 to 4.5 in
	all comments.
cp/
	* parser.c: Adjust OpenMP version numbers from 4.1 to 4.5 in
	all comments.
libgomp/
	* libgomp.map (OMP_4.1): Renamed to ...
	(OMP_4.5): ... this.
	(GOMP_4.1): Renamed to ...
	(GOMP_4.5): ... this.
	* libgomp.texi: Adjust OpenMP version number from 4.1 to 4.5.



	Jakub

Comments

Ilya Verbin Oct. 9, 2015, 5:26 p.m. UTC | #1
On Fri, Oct 09, 2015 at 09:55:07 +0200, Jakub Jelinek wrote:
> -GOMP_4.1 {
> +GOMP_4.5 {
>    global:
>  	GOMP_target_41;
>  	GOMP_target_data_41;

Should we rename it to GOMP_target*_45, or do you know some more mnemonic name?

  -- Ilya
Jakub Jelinek Oct. 15, 2015, 11:06 a.m. UTC | #2
On Fri, Oct 09, 2015 at 08:26:25PM +0300, Ilya Verbin wrote:
> On Fri, Oct 09, 2015 at 09:55:07 +0200, Jakub Jelinek wrote:
> > -GOMP_4.1 {
> > +GOMP_4.5 {
> >    global:
> >  	GOMP_target_41;
> >  	GOMP_target_data_41;
> 
> Should we rename it to GOMP_target*_45, or do you know some more mnemonic name?

Either to 45, or find a better name, sure.  The latter would be preferable.
Now, for the latter, either we could add something to say those use 16bit
kinds, or something to indicate they allow both synchronous and asynchronous
execution (but what word covers both of that), or that they create a target
task (but that is the case only for GOMP_target and GOMP_target_update (and
the new GOMP_target_enter_exit_data)).
So 16bit kinds is the only thing all of them have in common, thus perhaps
_kind16 suffixes instead of _4{1,5} ?

	Jakub
Thomas Schwinge Oct. 16, 2015, 10:27 a.m. UTC | #3
Hi!

;-) "Bikeshed" discussion, but while waiting for a test run to finish:

On Thu, 15 Oct 2015 13:06:42 +0200, Jakub Jelinek <jakub@redhat.com> wrote:
> On Fri, Oct 09, 2015 at 08:26:25PM +0300, Ilya Verbin wrote:
> > On Fri, Oct 09, 2015 at 09:55:07 +0200, Jakub Jelinek wrote:
> > > -GOMP_4.1 {
> > > +GOMP_4.5 {
> > >    global:
> > >  	GOMP_target_41;
> > >  	GOMP_target_data_41;
> > 
> > Should we rename it to GOMP_target*_45, or do you know some more mnemonic name?

The OpenMP version is already being encoded in the symbol version.  Which
to me appears a bit "arbitrary", but that at least makes sense in that it
documents for which OpenMP version a specific symbol was introduced
first, and the symbol versions form a list in the libgomp.map file that
is easily understood.  But, encoding the OpenMP version also in the
symbol name itself might be more confusing, because to the casual reader
it's not clear whether, for example, GOMP_target_41 applies just to OpeMP
4.1, or OpenMP 4.1 and later, and likewise, whether the generic
GOMP_target applies to OpenMP versions before or after GOMP_target_41.

> Either to 45, or find a better name, sure.  The latter would be preferable.
> Now, for the latter, either we could add something to say those use 16bit
> kinds, or something to indicate they allow both synchronous and asynchronous
> execution (but what word covers both of that), or that they create a target
> task (but that is the case only for GOMP_target and GOMP_target_update (and
> the new GOMP_target_enter_exit_data)).
> So 16bit kinds is the only thing all of them have in common, thus perhaps
> _kind16 suffixes instead of _4{1,5} ?

Given that it seeems difficult to express the several kinds of changes,
what about simply using GOMP_target_2 and so on?  Everyone should then
understand that it's a replacement/successor of GOMP_target.


Grüße,
 Thomas
diff mbox

Patch

--- gcc/gimplify.c.jj	2015-10-01 12:55:44.000000000 +0200
+++ gcc/gimplify.c	2015-10-09 09:28:04.025923436 +0200
@@ -6225,7 +6225,7 @@  gimplify_scan_omp_clauses (tree *list_p,
     {
       ctx->target_map_pointers_as_0len_arrays = true;
       /* FIXME: For Fortran we want to set this too, when
-	 the Fortran FE is updated to OpenMP 4.1.  */
+	 the Fortran FE is updated to OpenMP 4.5.  */
       ctx->target_map_scalars_firstprivate = true;
     }
   if (!lang_GNU_Fortran ())
--- gcc/c-family/c-pragma.h.jj	2015-09-03 16:36:02.000000000 +0200
+++ gcc/c-family/c-pragma.h	2015-10-09 09:26:37.283158076 +0200
@@ -76,7 +76,7 @@  enum pragma_kind {
 };
 
 
-/* All clauses defined by OpenACC 2.0, and OpenMP 2.5, 3.0, 3.1, 4.0 and 4.1.
+/* All clauses defined by OpenACC 2.0, and OpenMP 2.5, 3.0, 3.1, 4.0 and 4.5.
    Used internally by both C and C++ parsers.  */
 enum pragma_omp_clause {
   PRAGMA_OMP_CLAUSE_NONE = 0,
--- gcc/c/c-parser.c.jj	2015-09-25 14:47:20.000000000 +0200
+++ gcc/c/c-parser.c	2015-10-09 09:26:12.902505095 +0200
@@ -10586,7 +10586,7 @@  c_parser_omp_clause_final (c_parser *par
 /* OpenACC, OpenMP 2.5:
    if ( expression )
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    if ( directive-name-modifier : expression )
 
    directive-name-modifier:
@@ -10862,7 +10862,7 @@  c_parser_omp_clause_num_threads (c_parse
   return list;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    num_tasks ( expression ) */
 
 static tree
@@ -10906,7 +10906,7 @@  c_parser_omp_clause_num_tasks (c_parser
   return list;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    grainsize ( expression ) */
 
 static tree
@@ -10950,7 +10950,7 @@  c_parser_omp_clause_grainsize (c_parser
   return list;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    priority ( expression ) */
 
 static tree
@@ -10995,7 +10995,7 @@  c_parser_omp_clause_priority (c_parser *
   return list;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    hint ( expression ) */
 
 static tree
@@ -11027,7 +11027,7 @@  c_parser_omp_clause_hint (c_parser *pars
   return list;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    defaultmap ( tofrom : scalar ) */
 
 static tree
@@ -11076,7 +11076,7 @@  c_parser_omp_clause_defaultmap (c_parser
   return list;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    use_device_ptr ( variable-list ) */
 
 static tree
@@ -11086,7 +11086,7 @@  c_parser_omp_clause_use_device_ptr (c_pa
 				       list);
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    is_device_ptr ( variable-list ) */
 
 static tree
@@ -11192,7 +11192,7 @@  c_parser_oacc_clause_wait (c_parser *par
 /* OpenMP 2.5:
    ordered
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    ordered ( constant-expression ) */
 
 static tree
@@ -11371,7 +11371,7 @@  c_parser_omp_clause_reduction (c_parser
    schedule-kind:
      static | dynamic | guided | runtime | auto
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    schedule ( schedule-modifier : schedule-kind )
    schedule ( schedule-modifier : schedule-kind , expression )
 
@@ -11581,7 +11581,7 @@  c_parser_omp_clause_cancelkind (c_parser
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    nogroup */
 
 static tree
@@ -11594,7 +11594,7 @@  c_parser_omp_clause_nogroup (c_parser *p
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    simd
    threads */
 
@@ -11740,7 +11740,7 @@  c_parser_omp_clause_aligned (c_parser *p
    linear ( variable-list )
    linear ( variable-list : expression )
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    linear ( modifier ( variable-list ) )
    linear ( modifier ( variable-list ) : expression ) */
 
@@ -11880,7 +11880,7 @@  c_parser_omp_clause_simdlen (c_parser *p
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    vec:
      identifier [+/- integer]
      vec , identifier [+/- integer]
@@ -11968,7 +11968,7 @@  c_parser_omp_clause_depend_sink (c_parse
    depend-kind:
      in | out | inout
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    depend ( source )
 
    depend ( sink  : vec )  */
@@ -12045,7 +12045,7 @@  c_parser_omp_clause_depend (c_parser *pa
    map-kind:
      alloc | to | from | tofrom
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    map-kind:
      alloc | to | from | tofrom | release | delete
 
@@ -13565,7 +13565,7 @@  c_parser_omp_barrier (c_parser *parser)
    # pragma omp critical [(name)] new-line
      structured-block
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    # pragma omp critical [(name) [hint(expression)]] new-line
 
   LOC is the location of the #pragma itself.  */
@@ -14125,7 +14125,7 @@  c_parser_omp_master (location_t loc, c_p
    # pragma omp ordered new-line
      structured-block
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    # pragma omp ordered ordered-clauses new-line
      structured-block
 
@@ -14828,7 +14828,7 @@  c_parser_omp_target_update (location_t l
   return false;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    # pragma omp target enter data target-data-clause[optseq] new-line  */
 
 #define OMP_TARGET_ENTER_DATA_CLAUSE_MASK			\
@@ -14912,7 +14912,7 @@  c_parser_omp_target_enter_data (location
   return stmt;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    # pragma omp target exit data target-data-clause[optseq] new-line  */
 
 #define OMP_TARGET_EXIT_DATA_CLAUSE_MASK			\
@@ -15410,7 +15410,7 @@  c_finish_omp_declare_simd (c_parser *par
    declarations and definitions
    # pragma omp end declare target new-line
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    # pragma omp declare target ( extended-list ) new-line
 
    # pragma omp declare target declare-target-clauses[seq] new-line  */
@@ -15898,7 +15898,7 @@  c_parser_omp_declare (c_parser *parser,
   c_parser_skip_to_pragma_eol (parser);
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    #pragma omp taskloop taskloop-clause[optseq] new-line
      for-loop
 
--- gcc/cp/parser.c.jj	2015-09-25 14:47:29.000000000 +0200
+++ gcc/cp/parser.c	2015-10-09 09:27:22.018521342 +0200
@@ -29389,7 +29389,7 @@  cp_parser_omp_clause_final (cp_parser *p
 /* OpenMP 2.5:
    if ( expression )
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    if ( directive-name-modifier : expression )
 
    directive-name-modifier:
@@ -29638,7 +29638,7 @@  cp_parser_omp_clause_num_threads (cp_par
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    num_tasks ( expression ) */
 
 static tree
@@ -29668,7 +29668,7 @@  cp_parser_omp_clause_num_tasks (cp_parse
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    grainsize ( expression ) */
 
 static tree
@@ -29698,7 +29698,7 @@  cp_parser_omp_clause_grainsize (cp_parse
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    priority ( expression ) */
 
 static tree
@@ -29728,7 +29728,7 @@  cp_parser_omp_clause_priority (cp_parser
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    hint ( expression ) */
 
 static tree
@@ -29757,7 +29757,7 @@  cp_parser_omp_clause_hint (cp_parser *pa
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    defaultmap ( tofrom : scalar ) */
 
 static tree
@@ -29856,7 +29856,7 @@  cp_parser_omp_clause_num_workers (cp_par
 /* OpenMP 2.5:
    ordered
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    ordered ( constant-expression ) */
 
 static tree
@@ -30017,7 +30017,7 @@  cp_parser_omp_clause_reduction (cp_parse
    schedule-kind:
      static | dynamic | guided | runtime | auto
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    schedule ( schedule-modifier : schedule-kind )
    schedule ( schedule-modifier : schedule-kind , expression )
 
@@ -30168,7 +30168,7 @@  cp_parser_omp_clause_cancelkind (cp_pars
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    nogroup */
 
 static tree
@@ -30181,7 +30181,7 @@  cp_parser_omp_clause_nogroup (cp_parser
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    simd
    threads */
 
@@ -30295,7 +30295,7 @@  cp_parser_omp_clause_aligned (cp_parser
    linear ( variable-list )
    linear ( variable-list : expression )
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    linear ( modifier ( variable-list ) )
    linear ( modifier ( variable-list ) : expression ) */
 
@@ -30428,7 +30428,7 @@  cp_parser_omp_clause_simdlen (cp_parser
   return c;
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    vec:
      identifier [+/- integer]
      vec , identifier [+/- integer]
@@ -30519,7 +30519,7 @@  cp_parser_omp_clause_depend_sink (cp_par
    depend-kind:
      in | out | inout
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    depend ( source )
 
    depend ( sink : vec ) */
@@ -30600,7 +30600,7 @@  cp_parser_omp_clause_depend (cp_parser *
    map-kind:
      alloc | to | from | tofrom
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    map-kind:
      alloc | to | from | tofrom | release | delete
 
@@ -31795,7 +31795,7 @@  cp_parser_omp_barrier (cp_parser *parser
    # pragma omp critical [(name)] new-line
      structured-block
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    # pragma omp critical [(name) [hint(expression)]] new-line
      structured-block  */
 
@@ -32653,7 +32653,7 @@  cp_parser_omp_master (cp_parser *parser,
    # pragma omp ordered new-line
      structured-block
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    # pragma omp ordered ordered-clauses new-line
      structured-block  */
 
@@ -33311,7 +33311,7 @@  cp_parser_omp_target_data (cp_parser *pa
   return add_stmt (stmt);
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    # pragma omp target enter data target-enter-data-clause[optseq] new-line
      structured-block  */
 
@@ -33397,7 +33397,7 @@  cp_parser_omp_target_enter_data (cp_pars
   return add_stmt (stmt);
 }
 
-/* OpenMP 4.1:
+/* OpenMP 4.5:
    # pragma omp target exit data target-enter-data-clause[optseq] new-line
      structured-block  */
 
@@ -34172,7 +34172,7 @@  cp_parser_late_parsing_omp_declare_simd
    declarations and definitions
    # pragma omp end declare target new-line
 
-   OpenMP 4.1:
+   OpenMP 4.5:
    # pragma omp declare target ( extended-list ) new-line
 
    # pragma omp declare target declare-target-clauses[seq] new-line  */
@@ -34716,8 +34716,8 @@  cp_parser_omp_declare (cp_parser *parser
   cp_parser_require_pragma_eol (parser, pragma_tok);
 }
 
-/* OpenMP 4.1:
-7   #pragma omp taskloop taskloop-clause[optseq] new-line
+/* OpenMP 4.5:
+   #pragma omp taskloop taskloop-clause[optseq] new-line
      for-loop
 
    #pragma omp taskloop simd taskloop-simd-clause[optseq] new-line
--- libgomp/libgomp.map.jj	2015-10-01 17:03:55.000000000 +0200
+++ libgomp/libgomp.map	2015-10-09 09:29:12.742940007 +0200
@@ -134,7 +134,7 @@  OMP_4.0 {
 	omp_is_initial_device_;
 } OMP_3.1;
 
-OMP_4.1 {
+OMP_4.5 {
   global:
 	omp_get_max_task_priority;
 	omp_get_max_task_priority_;
@@ -264,7 +264,7 @@  GOMP_4.0.1 {
 	GOMP_offload_unregister;
 } GOMP_4.0;
 
-GOMP_4.1 {
+GOMP_4.5 {
   global:
 	GOMP_target_41;
 	GOMP_target_data_41;
--- libgomp/libgomp.texi.jj	2015-09-03 16:43:49.000000000 +0200
+++ libgomp/libgomp.texi	2015-10-09 09:29:40.371543893 +0200
@@ -407,7 +407,7 @@  This function obtains the maximum allowe
 @end multitable
 
 @item @emph{Reference}:
-@uref{http://www.openmp.org/, OpenMP specification v4.1}, Section 3.2.29.
+@uref{http://www.openmp.org/, OpenMP specification v4.5}, Section 3.2.29.
 @end table
 
 
@@ -1458,7 +1458,7 @@  integer, and zero is allowed.  If undefi
 @ref{omp_get_max_task_priority}
 
 @item @emph{Reference}: 
-@uref{http://www.openmp.org/, OpenMP specification v4.1}, Section 4.14
+@uref{http://www.openmp.org/, OpenMP specification v4.5}, Section 4.14
 @end table