* [gomp4.1] OpenMP 4.1 is dead, long live OpenMP 4.5
@ 2015-10-09 7:55 Jakub Jelinek
2015-10-09 17:26 ` Ilya Verbin
0 siblings, 1 reply; 4+ messages in thread
From: Jakub Jelinek @ 2015-10-09 7:55 UTC (permalink / raw)
To: gcc-patches
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.
--- 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
Jakub
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gomp4.1] OpenMP 4.1 is dead, long live OpenMP 4.5
2015-10-09 7:55 [gomp4.1] OpenMP 4.1 is dead, long live OpenMP 4.5 Jakub Jelinek
@ 2015-10-09 17:26 ` Ilya Verbin
2015-10-15 11:06 ` Jakub Jelinek
0 siblings, 1 reply; 4+ messages in thread
From: Ilya Verbin @ 2015-10-09 17:26 UTC (permalink / raw)
To: Jakub Jelinek; +Cc: gcc-patches
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gomp4.1] OpenMP 4.1 is dead, long live OpenMP 4.5
2015-10-09 17:26 ` Ilya Verbin
@ 2015-10-15 11:06 ` Jakub Jelinek
2015-10-16 10:29 ` Thomas Schwinge
0 siblings, 1 reply; 4+ messages in thread
From: Jakub Jelinek @ 2015-10-15 11:06 UTC (permalink / raw)
To: Ilya Verbin; +Cc: gcc-patches
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gomp4.1] OpenMP 4.1 is dead, long live OpenMP 4.5
2015-10-15 11:06 ` Jakub Jelinek
@ 2015-10-16 10:29 ` Thomas Schwinge
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Schwinge @ 2015-10-16 10:29 UTC (permalink / raw)
To: Jakub Jelinek, Ilya Verbin; +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 1927 bytes --]
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-10-16 10:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-09 7:55 [gomp4.1] OpenMP 4.1 is dead, long live OpenMP 4.5 Jakub Jelinek
2015-10-09 17:26 ` Ilya Verbin
2015-10-15 11:06 ` Jakub Jelinek
2015-10-16 10:29 ` Thomas Schwinge
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).