ecution time gains. The vector-scalar is only faster by
0.33% on average over 3 iterations.
Thanks,
--
PAcommit b0f1dbf8b4ad12c0eff459d0bf6b3d9c466fd5ad
Author: Paul-Antoine Arras
Date: Tue Feb 25 16:38:54 2025 +0100
RISC-V: Add pattern for vector-scalar multiply-add/sub [PR119100]
This patch partially enables use of the OpenMP interop construct by adding
middle end support, mostly in the omplower pass, and in the target-independent
part of the libgomp runtime. It follows up on previous patches for C, C++ and
Fortran front ends support. The full interop feature requires anoth
https://gcc.gnu.org/g:e0a1d0e044c6eb129d1133d5af51818129a4d4e0
commit r15-8894-ge0a1d0e044c6eb129d1133d5af51818129a4d4e0
Author: Paul-Antoine Arras
Date: Mon Mar 24 15:53:36 2025 +0100
OpenMP: interop - fix Fortran test
This fixes up commit r15-8654-g99e2906ae255fc:
* Do not
This pattern enables the combine pass to merge a vec_duplicate into a plus-mult
or minus-mult RTL instruction.
Before this patch, we have two instructions, e.g.:
vfmv.v.fv6,fa0
vfmadd.vv v9,v6,v7
After, we get only one:
vfmadd.vf v9,fa0,v7
On SPEC2017's 503.bwaves_r, de
On 25/03/2025 18:55, Sandra Loosemore wrote:
On 3/25/25 09:25, Paul-Antoine Arras wrote:
On 24/03/2025 21:17, Sandra Loosemore wrote:
[snip]
Besides, I am not sure how to encode complex types like (**const *).
Does that require creating new definitions in gcc/builtin-types.def
and gcc/fortran
On 24/03/2025 21:17, Sandra Loosemore wrote:
On 3/24/25 08:20, Paul-Antoine Arras wrote:
On 21/03/2025 20:17, Sandra Loosemore wrote:
Does the attached patch reflect what you have in mind?
diff --git libgomp/libgomp_g.h libgomp/libgomp_g.h
index 8993ec610fb..274f4937680 100644
--- libgomp
https://gcc.gnu.org/g:d26a2eac8bb4b5bb121f462398903a778ada8da3
commit d26a2eac8bb4b5bb121f462398903a778ada8da3
Author: Paul-Antoine Arras
Date: Mon Mar 24 15:53:36 2025 +0100
OpenMP: interop - fix Fortran test
This fixes up commit r15-8654-g99e2906ae255fc:
* Do not use
Here is a patch that encompasses the modifications requested by Sandra
and Thomas, as well as a fix for 32-bit pointers.
OK for trunk?
--
PAcommit b1b634d5d3c35682b65edacecf7a4749221f5728
Author: Paul-Antoine Arras
Date: Mon Mar 24 15:53:36 2025 +0100
OpenMP: interop - make arrays const
On 21/03/2025 20:17, Sandra Loosemore wrote:
On 3/21/25 11:35, Paul-Antoine Arras wrote:
Thanks Sandra and Jakub for your comments.
Here is attached an updated version of the patch:
* Removed special case for n==1, now use an array even when only one
interop object is passed.
* Updated scan
Hi Thomas,
On 24/03/2025 13:47, Thomas Schwinge wrote:
On 2025-03-21T18:35:57+0100, Paul-Antoine Arras wrote:
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/gomp/interop-5.f90
@@ -0,0 +1,21 @@
+! { dg-additional-options "-fdump-tree-omplower" }
+
+subroutine sub1 (a1, a2, a3, a
actual rather than generic types.
* Renamed 'nowait' argument into 'flags' to allow for future extension.
* Added comments.
* Fixed style and formatting.
--
PAFrom 971aff0b218e6dfc0215d3fd04bfa24aded61532 Mon Sep 17 00:00:00 2001
From: Paul-Antoine Arras
Date: Thu, 13 Mar 2025 17
https://gcc.gnu.org/g:99e2906ae255fc7b8edb008d7cd47b28b078a809
commit r15-8654-g99e2906ae255fc7b8edb008d7cd47b28b078a809
Author: Paul-Antoine Arras
Date: Thu Mar 13 17:16:41 2025 +0100
OpenMP: 'interop' construct - add ME support + target-independent libgomp
This patch
https://gcc.gnu.org/g:da1ae9430415ccdbcc0095cab218d3af68ce735f
commit da1ae9430415ccdbcc0095cab218d3af68ce735f
Author: Paul-Antoine Arras
Date: Fri Jan 31 11:41:47 2025 +0100
OpenMP/Fortran: Add missing pop_state in parse_omp_dispatch [PR118714]
When the ST_NONE case is taken
Pushed to master as obvious. This should fix PR118714.
On 31/01/2025 11:46, Paul-Antoine Arras wrote:
When the ST_NONE case is taken, the function returns immediately. Not calling
pop_state causes a dangling pointer.
gcc/fortran/ChangeLog:
* parse.cc (parse_omp_dispatch): Add missing
https://gcc.gnu.org/g:af51fe9593ec0e9373f8a453bab2129a48193a44
commit r15-7307-gaf51fe9593ec0e9373f8a453bab2129a48193a44
Author: Paul-Antoine Arras
Date: Fri Jan 31 11:41:47 2025 +0100
OpenMP/Fortran: Add missing pop_state in parse_omp_dispatch [PR118714]
When the ST_NONE case is
Pushed to master as obvious. This should fix PR118714.
On 31/01/2025 11:46, Paul-Antoine Arras wrote:
When the ST_NONE case is taken, the function returns immediately. Not calling
pop_state causes a dangling pointer.
gcc/fortran/ChangeLog:
* parse.cc (parse_omp_dispatch): Add missing
When the ST_NONE case is taken, the function returns immediately. Not calling
pop_state causes a dangling pointer.
gcc/fortran/ChangeLog:
* parse.cc (parse_omp_dispatch): Add missing pop_state.
---
gcc/fortran/parse.cc | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git
When the ST_NONE case is taken, the function returns immediately. Not calling
pop_state causes a dangling pointer.
gcc/fortran/ChangeLog:
* parse.cc (parse_omp_dispatch): Add missing pop_state.
---
gcc/fortran/parse.cc | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git
https://gcc.gnu.org/g:c54051c282dbba6297a23173feb82fa066149973
commit c54051c282dbba6297a23173feb82fa066149973
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:57 2024 +0100
OpenMP: C front-end support for dispatch + adjust_args
This patch adds support to the C front-end to
https://gcc.gnu.org/g:0a49642cf5173c4a8c6752c1e3fd4bad4dbcebab
commit 0a49642cf5173c4a8c6752c1e3fd4bad4dbcebab
Author: Paul-Antoine Arras
Date: Mon Jan 6 18:38:11 2025 +0100
Accept commas between clauses in OpenMP declare variant
Add support to the Fortran parser for the OpenMP
https://gcc.gnu.org/g:2e8a3d4a62657f034401e6abec25fbfb5318b9f3
commit 2e8a3d4a62657f034401e6abec25fbfb5318b9f3
Author: Paul-Antoine Arras
Date: Mon Jan 13 12:57:15 2025 +0100
Add missing target directive in OpenMP dispatch Fortran runtime test
Without the target directive, the
https://gcc.gnu.org/g:73701e14e91c57cd3aefcddf835aec003d8ce49f
commit 73701e14e91c57cd3aefcddf835aec003d8ce49f
Author: Paul-Antoine Arras
Date: Mon Jan 6 17:00:10 2025 +0100
Only apply adjust_args in OpenMP dispatch if variant substitution occurs
This is a followup to
https://gcc.gnu.org/g:fb0dad07be32276b35bae92a7a3c51fcd3daa972
commit fb0dad07be32276b35bae92a7a3c51fcd3daa972
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:58 2024 +0100
OpenMP: common C/C++ testcases for dispatch + adjust_args
gcc/testsuite/ChangeLog:
* c-c
https://gcc.gnu.org/g:7ba8e60967f74fa0adde03e494dc9f2a5be9497f
commit 7ba8e60967f74fa0adde03e494dc9f2a5be9497f
Author: Paul-Antoine Arras
Date: Mon Jan 6 16:06:43 2025 +0100
Do not call cp_parser_omp_dispatch directly in cp_parser_pragma
This is a followup to
ed49709acda
https://gcc.gnu.org/g:2d4682b9d86015d8f5f8b8a2862746d03673ee59
commit 2d4682b9d86015d8f5f8b8a2862746d03673ee59
Author: Paul-Antoine Arras
Date: Mon May 27 11:48:34 2024 +0200
OpenMP: update documentation for dispatch and adjust_args
libgomp/ChangeLog
https://gcc.gnu.org/g:b5c764108dfd0cdc97bdf829d8f3d4398259f811
commit b5c764108dfd0cdc97bdf829d8f3d4398259f811
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:57 2024 +0100
OpenMP: middle-end support for dispatch + adjust_args
This patch adds middle-end support for the
https://gcc.gnu.org/g:1985a02ef74582d7cdcb2c139aa7d22a9c619dc3
commit 1985a02ef74582d7cdcb2c139aa7d22a9c619dc3
Author: Paul-Antoine Arras
Date: Fri May 24 19:13:50 2024 +0200
OpenMP: Fortran front-end support for dispatch + adjust_args
This patch adds support for the `dispatch
https://gcc.gnu.org/g:a9164dde46c41794c97d40a1a0271db16512f2c0
commit a9164dde46c41794c97d40a1a0271db16512f2c0
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:58 2024 +0100
OpenMP: C++ front-end support for dispatch + adjust_args
This patch adds C++ support for the `dispatch
On 13/01/2025 16:51, Tobias Burnus wrote:
Hi PA,
Paul-Antoine Arras wrote:
I am not sure I am getting that part. Is this what you are suggesting?
Yes, something like that, but not quite, as you found out.
I think we need something like the following (untested):
diff --git gcc/fortran
On 13/01/2025 16:51, Tobias Burnus wrote:
Hi PA,
Paul-Antoine Arras wrote:
I am not sure I am getting that part. Is this what you are suggesting?
Yes, something like that, but not quite, as you found out.
I think we need something like the following (untested):
diff --git gcc/fortran
https://gcc.gnu.org/g:2ea4801cf7a4ebc0145b84f84ae7f4961e57b64f
commit r15-6871-g2ea4801cf7a4ebc0145b84f84ae7f4961e57b64f
Author: Paul-Antoine Arras
Date: Mon Jan 6 18:38:11 2025 +0100
Accept commas between clauses in OpenMP declare variant
Add support to the Fortran parser for
On 13/01/2025 14:57, Tobias Burnus wrote:
Hi PA,
Paul-Antoine Arras wrote:
Here is an updated patch following your suggestion.
Thanks. It is not clear whether you are just waiting
for test result or not before committing it as obvious.
Thus, just in case: LGTM.
Thanks,
Tobias
Thanks
https://gcc.gnu.org/g:655a8a024dd49ddf73e745f3c7486596d68ae3e8
commit r15-6869-g655a8a024dd49ddf73e745f3c7486596d68ae3e8
Author: Paul-Antoine Arras
Date: Mon Jan 13 12:57:15 2025 +0100
Add missing target directive in OpenMP dispatch Fortran runtime test
Without the target
Hi Tobias,
Here are an updated patch and a few questions.
On 07/01/2025 13:18, Tobias Burnus wrote:
Paul-Antoine Arras:
Add support to the Fortran parser for the new OpenMP syntax that allows a
comma after the directive name and between clauses of declare variant.
The C and C++ parsers
Hi Tobias,
On 13/01/2025 13:24, Tobias Burnus wrote:
Hi PA,
Paul-Antoine Arras wrote:
Hi Thomas,
Added libgomp/testsuite/libgomp.fortran/dispatch-1.f90.
I see this new test case FAIL (execution test SIGSEGV) for most (but not
all) offloading configurations, both GCN and nvptx:
+PASS
Hi Thomas,
On 08/01/2025 10:04, Thomas Schwinge wrote:
Hi Paul-Antoine!
On 2024-12-16T19:35:01+0100, Paul-Antoine Arras wrote:
On 15/11/2024 14:59, Tobias Burnus wrote:
Paul-Antoine Arras wrote:
This patch adds support for the `dispatch` construct and the
`adjust_args` clause to the
https://gcc.gnu.org/g:b5a679898986ae22ffdec538374c5378c26a229f
commit r15-6800-gb5a679898986ae22ffdec538374c5378c26a229f
Author: Paul-Antoine Arras
Date: Mon Jan 6 16:06:43 2025 +0100
Do not call cp_parser_omp_dispatch directly in cp_parser_pragma
This is a followup to
Hi Tobias,
On 07/01/2025 12:13, Tobias Burnus wrote:
Paul-Antoine Arras wrote:
This is a followup to
ed49709acda OpenMP: C++ front-end support for dispatch + adjust_args.
The call to cp_parser_omp_dispatch only belongs in
cp_parser_omp_construct. In
cp_parser_pragma, handle
https://gcc.gnu.org/g:aa688dd6302fd9fd4a6ede232bbe63781e672ae9
commit r15-6658-gaa688dd6302fd9fd4a6ede232bbe63781e672ae9
Author: Paul-Antoine Arras
Date: Mon Jan 6 17:00:10 2025 +0100
Only apply adjust_args in OpenMP dispatch if variant substitution occurs
This is a followup to
Add support to the Fortran parser for the new OpenMP syntax that allows a
comma after the directive name and between clauses of declare variant.
The C and C++ parsers already support this syntax so only a new test is added.
gcc/fortran/ChangeLog:
* openmp.cc (gfc_match_omp_declare_variant
Apologies, I forgot to add the testcase. Please find attached an updated
patch.
On 06/01/2025 17:12, Paul-Antoine Arras wrote:
This is a followup to
084ea8ad584 OpenMP: middle-end support for dispatch + adjust_args.
This patch fixes a bug that caused arguments in an OpenMP dispatch call to be
This is a followup to
084ea8ad584 OpenMP: middle-end support for dispatch + adjust_args.
This patch fixes a bug that caused arguments in an OpenMP dispatch call to be
modified even when no variant substitution occurred.
gcc/ChangeLog:
* gimplify.cc (gimplify_call_expr): Create variable
This is a followup to
ed49709acda OpenMP: C++ front-end support for dispatch + adjust_args.
The call to cp_parser_omp_dispatch only belongs in cp_parser_omp_construct. In
cp_parser_pragma, handle PRAGMA_OMP_DISPATCH by calling cp_parser_omp_construct.
gcc/cp/ChangeLog:
* parser.cc (cp_pa
Committing this last patch in the set as obvious (and approved off list).
On 02/10/2024 18:55, Paul-Antoine Arras wrote:
libgomp/ChangeLog:
* libgomp.texi:
---
libgomp/libgomp.texi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgomp/libgomp.texi b/libgomp
https://gcc.gnu.org/g:d22b0e3033d991104ad48c3618981fedea1a8841
commit r15-6513-gd22b0e3033d991104ad48c3618981fedea1a8841
Author: Paul-Antoine Arras
Date: Mon May 27 11:48:34 2024 +0200
OpenMP: update documentation for dispatch and adjust_args
libgomp/ChangeLog
https://gcc.gnu.org/g:bca8b13bd7bc3dbe07004664ba3411a2f2991f5c
commit r15-6508-gbca8b13bd7bc3dbe07004664ba3411a2f2991f5c
Author: Paul-Antoine Arras
Date: Fri May 24 19:13:50 2024 +0200
OpenMP: Fortran front-end support for dispatch + adjust_args
This patch adds support for the
On 27/12/2024 19:52, Paul-Antoine Arras wrote:
On 23/12/2024 21:04, Tobias Burnus wrote:
For adjust-args-10.f90, I wonder whether it is sufficient as compile-
time only or whether it makes more sense to have a "dg-do run" to
check that type(C_ptr) value vs. not-value works. I think
On 27/12/2024 19:52, Paul-Antoine Arras wrote:
On 23/12/2024 21:04, Tobias Burnus wrote:
For adjust-args-10.f90, I wonder whether it is sufficient as compile-
time only or whether it makes more sense to have a "dg-do run" to
check that type(C_ptr) value vs. not-value works. I think
Hi Tobias,
On 23/12/2024 21:04, Tobias Burnus wrote:
Paul-Antoine Arras wrote:
Replying to your last two messages here and attaching revised patches.
Regarding the C++ and ME patches:
==> 0003-C-fix.patch <==
Subject: [PATCH 3/4] C++ fix
==> 0004-ME-fixes.patch <==
Subject: [P
Hi Tobias,
On 23/12/2024 21:04, Tobias Burnus wrote:
Paul-Antoine Arras wrote:
Replying to your last two messages here and attaching revised patches.
Regarding the C++ and ME patches:
==> 0003-C-fix.patch <==
Subject: [PATCH 3/4] C++ fix
==> 0004-ME-fixes.patch <==
Subject: [P
g an -fdump-tree-gimple + scan test probably won't
harm, as not everyone has a GPU and we might implement map as
selfmap on APUs).
This is actually not specific to the Fortran FE. So I had to modify the
middle end and the C++ parser as well. See attached pactches.
Otherwise LGTM.
Tobias
g an -fdump-tree-gimple + scan test probably won't
harm, as not everyone has a GPU and we might implement map as
selfmap on APUs).
This is actually not specific to the Fortran FE. So I had to modify the
middle end and the C++ parser as well. See attached pactches.
Otherwise LGTM.
Tobias
Hi Tobias,
See the revised patch attached and my comments below.
On 15/11/2024 14:59, Tobias Burnus wrote:
Hi,
Paul-Antoine Arras wrote:
This patch adds support for the `dispatch` construct and the
`adjust_args` clause to the Fortran front-end.
Handling of `adjust_args` across translation
Hi Tobias,
Thanks for your thorough review.
On 09/10/2024 14:55, Tobias Burnus wrote:
Paul-Antoine Arras wrote:
This patch adds middle-end support for the `dispatch` construct and the
`adjust_args` clause. The heavy lifting is done in
`gimplify_omp_dispatch` and
`gimplify_call_expr
https://gcc.gnu.org/g:ed49709acda4938f71ef2dfac68450be5429db3d
commit r15-5518-ged49709acda4938f71ef2dfac68450be5429db3d
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:58 2024 +0100
OpenMP: C++ front-end support for dispatch + adjust_args
This patch adds C++ support for the
https://gcc.gnu.org/g:d7d8d9dae9f86df6ca5d03f0eb5d78898e6aa804
commit r15-5517-gd7d8d9dae9f86df6ca5d03f0eb5d78898e6aa804
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:57 2024 +0100
OpenMP: C front-end support for dispatch + adjust_args
This patch adds support to the C front
https://gcc.gnu.org/g:0e15f1df4ae86cf8542cee6c15ad11b85f968f2e
commit r15-5515-g0e15f1df4ae86cf8542cee6c15ad11b85f968f2e
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:57 2024 +0100
OpenMP: dispatch + adjust_args tree data structures and front-end interfaces
This patch
https://gcc.gnu.org/g:377eff7c38e8df1388b0a1eeb6afdbcaf12c3551
commit r15-5519-g377eff7c38e8df1388b0a1eeb6afdbcaf12c3551
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:58 2024 +0100
OpenMP: common C/C++ testcases for dispatch + adjust_args
gcc/testsuite/ChangeLog
https://gcc.gnu.org/g:084ea8ad5845c9b69c1366fa6dfeaf1a6c5e423b
commit r15-5516-g084ea8ad5845c9b69c1366fa6dfeaf1a6c5e423b
Author: Paul-Antoine Arras
Date: Wed Nov 20 15:28:57 2024 +0100
OpenMP: middle-end support for dispatch + adjust_args
This patch adds middle-end support for
Here is an updated version of the patch following earlier reviews in the
series.
--
PAcommit 8f67de476decf151f853d68eb26223200535cc57
Author: Paul-Antoine Arras
Date: Fri May 24 19:04:35 2024 +0200
OpenMP: common C/C++ testcases for dispatch + adjust_args
gcc/testsuite/ChangeLog
TM (assuming that you have a testcase for it).
The testcase is gcc/testsuite/g++.dg/gomp/dispatch-4.C, included in
v4.1-0004-OpenMP-C-front-end-support-for-dispatch-adjust_ar.patch... but
I forgot to update the ChangeLog.
* * *
Regarding C++:
Paul-Antoine Arras wrote:
In C++,
On 30/10/2024 15:08, Tobias Burnus wrote:
I still need to look at 4/7 (C++) and 5/7 (tests for C and C++) [either
before after you posted the new version].
I sent a revised C++ patch a few moments ago.
* * *
However, this 3/7 patch LGTM 🙂
One comment: For the < C23 testcase, can you add, e.
On 24/10/2024 16:10, Tobias Burnus wrote:
Hi PA;
only playing around quickly and glancing at the patch; I need to have a
real look at this later.
Paul-Antoine Arras:
This patch adds C++ support for the `dispatch` construct and the
`adjust_args`
clause. It relies on the c-family bits comprised
On 24/10/2024 13:42, Tobias Burnus wrote:
Hi,
some more comments:
Paul-Antoine Arras wrote:
Here is an updated patch following these comments.
gcc/testsuite/ChangeLog:
* gcc.dg/gomp/adjust-args-1.c: New test.
* gcc.dg/gomp/dispatch-1.c: New test.
The
/7 or later of the series as it
requires a parser and, as written/file location, requires both C and C+
+, unless a skip for C is added.
Moved the testcase to 5/7. Will post the updated patch later.
Thanks,
--
PAcommit 6265c755697bba629fce4b27b8f1800ea1e313fb
Author: Paul-Antoine Arras
Date: Fr
Here is an updated patch following these comments.
On 09/10/2024 19:15, Tobias Burnus wrote:
First comments; I need to have a deeper, but now I need fetch some
victuals.
Paul-Antoine Arras wrote:
This patch adds support to the C front-end to parse the `dispatch`
construct and
the
Hi Tobias,
Thanks for your thorough review. Please find attached a revised patch.
On 09/10/2024 14:55, Tobias Burnus wrote:
Paul-Antoine Arras wrote:
This patch adds middle-end support for the `dispatch` construct and the
`adjust_args` clause. The heavy lifting is done in
gcc/testsuite/ChangeLog:
* c-c++-common/gomp/declare-variant-2.c: Adjust dg-error directives.
* c-c++-common/gomp/adjust-args-1.c: New test.
* c-c++-common/gomp/adjust-args-2.c: New test.
* c-c++-common/gomp/dispatch-1.c: New test.
* c-c++-common/gomp/dispat
This patch adds C++ support for the `dispatch` construct and the `adjust_args`
clause. It relies on the c-family bits comprised in the corresponding C front
end patch for pragmas and attributes.
Additional C/C++ common testcases are provided in a subsequent patch in the
series.
gcc/cp/ChangeLog:
libgomp/ChangeLog:
* libgomp.texi:
---
libgomp/libgomp.texi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index c6464ece32e..7026f32f867 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -294,8 +294,8 @@ T
This patch adds support for the `dispatch` construct and the `adjust_args`
clause to the Fortran front-end.
Handling of `adjust_args` across translation units is missing due to PR115271.
gcc/fortran/ChangeLog:
* dump-parse-tree.cc (show_omp_clauses): Handle novariants and nocontext
This patch adds support to the C front-end to parse the `dispatch` construct and
the `adjust_args` clause. It also includes some common C/C++ bits for pragmas
and attributes.
Additional common C/C++ testcases are in a later patch in the series.
gcc/c-family/ChangeLog:
* c-attribs.cc (c_c
ingle function call we are
interested in is sandwiched in a sequence of pre- and post-call statements,
or when the same function is call several times within the dispatch body.
Paul-Antoine Arras (7):
OpenMP: dispatch + adjust_args tree data structures and front-end
interfaces
OpenMP: m
This patch adds middle-end support for the `dispatch` construct and the
`adjust_args` clause. The heavy lifting is done in `gimplify_omp_dispatch` and
`gimplify_call_expr` respectively. For `adjust_args`, this mostly consists in
emitting a call to `gomp_get_mapped_ptr` for the adequate device.
For
This patch introduces the OMP_DISPATCH tree node, as well as two new clauses
`nocontext` and `novariants`. It defines/exposes interfaces that will be
used in subsequent patches that add front-end and middle-end support, but
nothing generates these nodes yet.
gcc/ChangeLog:
* builtin-types
Paul-Antoine Arras
Date: Fri May 24 19:13:50 2024 +0200
OpenMP: Fortran front-end support for dispatch + adjust_args
This patch adds support for the `dispatch` construct and the `adjust_args`
clause to the Fortran front-end.
Handling of `adjust_args` across translation uni
Here is an updated version following Tobias's review on the ME patch.
The differences compared to the previous version are:
* updated DejaGnu patterns
* added testcase dispatch-8.c
--
PA
commit 533f2693680f109837f03cda2e123b155bbb5c60
Author: Paul-Antoine Arras
Date: Fri May 24 19:04:35
Hi Tobias,
Thanks for the review. Please find attached an updated patch following
your comments.
Since further adjustments to other patches of the series were required,
I'll post them shortly.
See also my replies below.
On 09/08/2024 13:51, Tobias Burnus wrote:
Paul-Antoine Arras
This patch adds support for the `dispatch` construct and the `adjust_args`
clause to the Fortran front-end.
Handling of `adjust_args` across translation units is missing due to PR115271.
gcc/fortran/ChangeLog:
* dump-parse-tree.cc (show_omp_clauses): Handle novariants and nocontext
This patch adds support to the C front-end to parse the `dispatch` construct and
the `adjust_args` clause. It also includes some common C/C++ bits for pragmas
and attributes.
Additional common C/C++ testcases are in a later patch in the series.
gcc/c-family/ChangeLog:
* c-attribs.cc (c_c
libgomp/ChangeLog:
* libgomp.texi:
---
libgomp/libgomp.texi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index 07cd75124b0..b35424c047a 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -294,8 +294,8 @@ T
This patch adds C++ support for the `dispatch` construct and the `adjust_args`
clause. It relies on the c-family bits comprised in the corresponding C front
end patch for pragmas and attributes.
Additional C/C++ common testcases are provided in a subsequent patch in the
series.
gcc/cp/ChangeLog:
gcc/testsuite/ChangeLog:
* c-c++-common/gomp/declare-variant-2.c: Adjust dg-error directives.
* c-c++-common/gomp/adjust-args-1.c: New test.
* c-c++-common/gomp/adjust-args-2.c: New test.
* c-c++-common/gomp/dispatch-1.c: New test.
* c-c++-common/gomp/dispat
This patch adds middle-end support for the `dispatch` construct and the
`adjust_args` clause. The heavy lifting is done in `gimplify_omp_dispatch` and
`gimplify_call_expr` respectively. For `adjust_args`, this mostly consists in
emitting a call to `gomp_get_mapped_ptr` for the adequate device.
For
-Antoine Arras (7):
OpenMP: dispatch + adjust_args tree data structures and front-end
interfaces
OpenMP: middle-end support for dispatch + adjust_args
OpenMP: C front-end support for dispatch + adjust_args
OpenMP: C++ front-end support for dispatch + adjust_args
OpenMP: common C/C++ testcases
This patch introduces the OMP_DISPATCH tree node, as well as two new clauses
`nocontext` and `novariants`. It defines/exposes interfaces that will be
used in subsequent patches that add front-end and middle-end support, but
nothing generates these nodes yet.
gcc/ChangeLog:
* builtin-types
https://gcc.gnu.org/g:0450a143d2d132a8b3e6cff896f69e191c3316e2
commit r15-2402-g0450a143d2d132a8b3e6cff896f69e191c3316e2
Author: Paul-Antoine Arras
Date: Fri Jun 28 14:14:38 2024 +0200
Fix warnings for tree formats in gfc_error
This enables proper warnings for formats like %qD
This trivially fixes an incorrectly encoded character in the DejaGnu
scan pattern.
OK for trunk?
--
PA>From 87686fe5589711b90d0b421368747373978f2a39 Mon Sep 17 00:00:00 2001
From: Paul-Antoine Arras
Date: Mon, 15 Jul 2024 13:18:01 +0200
Subject: [PATCH] Fix non-Unicode character
---
libgomp/ChangeLog:
* libgomp.texi:
---
libgomp/libgomp.texi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi
index 50da248b74d..a2f5897463a 100644
--- a/libgomp/libgomp.texi
+++ b/libgomp/libgomp.texi
@@ -294,8 +294,8 @@ T
This patch adds support for the `dispatch` construct and the `adjust_args`
clause to the Fortran front-end.
Handling of `adjust_args` across translation units is missing due to PR115271.
gcc/fortran/ChangeLog:
* dump-parse-tree.cc (show_omp_clauses): Handle novariants and nocontext
This patch adds support to the C front-end to parse the `dispatch` construct and
the `adjust_args` clause. It also includes some common C/C++ bits for pragmas
and attributes.
Additional common C/C++ testcases are in a later patch in the series.
gcc/c-family/ChangeLog:
* c-attribs.cc (c_c
This patch adds C++ support for the `dispatch` construct and the `adjust_args`
clause. It relies on the c-family bits comprised in the corresponding C front
end patch for pragmas and attributes.
Additional C/C++ common testcases are provided in a subsequent patch in the
series.
gcc/cp/ChangeLog:
This patch introduces the OMP_DISPATCH tree node, as well as two new clauses
`nocontext` and `novariants`. It defines/exposes interfaces that will be
used in subsequent patches that add front-end and middle-end support, but
nothing generates these nodes yet.
It also adds support for new OpenMP con
This patch adds middle-end support for the `dispatch` construct and the
`adjust_args` clause. The heavy lifting is done in `gimplify_omp_dispatch` and
`gimplify_call_expr` respectively. For `adjust_args`, this mostly consists in
emitting a call to `gomp_get_mapped_ptr` for the adequate device.
For
.
Paul-Antoine Arras (8):
Fix warnings for tree formats in gfc_error
OpenMP: dispatch + adjust_args tree data structures and front-end
interfaces
OpenMP: middle-end support for dispatch + adjust_args
OpenMP: C front-end support for dispatch + adjust_args
OpenMP: C++ front-end support for
gcc/testsuite/ChangeLog:
* c-c++-common/gomp/declare-variant-2.c: Adjust dg-error directives.
* c-c++-common/gomp/adjust-args-1.c: New test.
* c-c++-common/gomp/adjust-args-2.c: New test.
* c-c++-common/gomp/dispatch-1.c: New test.
* c-c++-common/gomp/dispat
This enables proper warnings for formats like %qD.
gcc/c-family/ChangeLog:
* c-format.cc (gcc_gfc_char_table): Add formats for tree objects.
---
gcc/c-family/c-format.cc | 4
1 file changed, 4 insertions(+)
diff --git a/gcc/c-family/c-format.cc b/gcc/c-family/c-format.cc
index 5bfd
https://gcc.gnu.org/g:0fb5d87ab56e1a4798b87294708791cc12de2546
commit 0fb5d87ab56e1a4798b87294708791cc12de2546
Merge: 735bbbfc6eaf 43b730b9134a
Author: Paul-Antoine Arras
Date: Tue Jul 9 18:17:59 2024 +0200
Merge commit '43b730b9134af60a8f1c5b107d625f7127ff23c5' into
devel/
The branch 'devel/omp/gcc-14' was updated to point to:
0fb5d87ab56e... Merge commit '43b730b9134af60a8f1c5b107d625f7127ff23c5' int
It previously pointed to:
735bbbfc6eaf... Fix scan dumps in readonly-1.c
Diff:
Summary of changes (added commits):
---
0fb5d87
Committed as debf3885965604c81541a549d531ec450f498058
https://gcc.gnu.org/git.html#general
--
PAcommit debf3885965604c81541a549d531ec450f498058
Author: Paul-Antoine Arras
Date: Fri Jun 28 12:08:57 2024 +0200
git: Move current devel/omp/gcc branch to 14
diff --git htdocs/git.html htdocs
1 - 100 of 279 matches
Mail list logo