* [OG12][committed] Fix omp-expand.cc's expand_omp_target for OpenACC
@ 2022-10-19 15:37 Tobias Burnus
0 siblings, 0 replies; only message in thread
From: Tobias Burnus @ 2022-10-19 15:37 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 422 bytes --]
Fallout of my Fortran deep-mapping patch, which I somehow missed –
probably because being inundated by the OG11 OpenACC fails back then.
Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
[-- Attachment #2: committed.diff --]
[-- Type: text/x-patch, Size: 3956 bytes --]
commit 0d6fc5032c7ba8a95301d0ccbc418875e73955ac
Author: Tobias Burnus <tobias@codesourcery.com>
Date: Wed Oct 19 17:31:14 2022 +0200
Fix omp-expand.cc's expand_omp_target for OpenACC
In OG12 commit a6c1eccffb161130351d891dc87f5afe54f8075c,
"Fortran/OpenMP: Support mapping of DT with allocatable components"
the size of the addr/sizes/kind arrays was passed as 4th argument.
However, OpenACC uses >3 arguments for its own purpose, e.g. to
handle noncontiguous arrays by passing an array descriptor there.
This patch restores the previous behaviour for OpenACC, fixing
testcases like libgomp.oacc-c-c++-common/noncontig_array-1.c.
gcc/
* omp-expand.cc (expand_omp_target): Fix OpenACC in case there
are more than 3 arguments to the builtin function.
---
gcc/ChangeLog.omp | 5 +++++
gcc/omp-expand.cc | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp
index 527a9850dba..32a8c7b485f 100644
--- a/gcc/ChangeLog.omp
+++ b/gcc/ChangeLog.omp
@@ -1,3 +1,8 @@
+2022-10-19 Tobias Burnus <tobias@codesourcery.com>
+
+ * omp-expand.cc (expand_omp_target): Fix OpenACC in case there
+ are more than 3 arguments to the builtin function.
+
2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
Backported from master:
diff --git a/gcc/omp-expand.cc b/gcc/omp-expand.cc
index 92996685d41..6529f63362b 100644
--- a/gcc/omp-expand.cc
+++ b/gcc/omp-expand.cc
@@ -10456,7 +10456,7 @@ expand_omp_target (struct omp_region *region)
t3 = t2;
t4 = t2;
}
- else if (TREE_VEC_LENGTH (t) == 3)
+ else if (TREE_VEC_LENGTH (t) == 3 || is_gimple_omp_oacc (entry_stmt))
{
t1 = TYPE_MAX_VALUE (TYPE_DOMAIN (TREE_TYPE (TREE_VEC_ELT (t, 1))));
t1 = size_binop (PLUS_EXPR, t1, size_int (1));
commit 92b14810a2743594df945dc6479413a3d9d943aa
Author: Tobias Burnus <tobias@codesourcery.com>
Date: Wed Oct 19 17:26:34 2022 +0200
ChangeLog for "Fortran: Fix delinearization regression"
Missed to update gcc/fortran/ChangeLog.omp and to include the
following in previous commit, i.e.
commit 76b773a4a2d1daf0b83e50cd999bc38f8dd047be.
gcc/fortran/ChangeLog:
* trans-array.cc (non_negative_strides_array_p): Fix handling
of GFC_DECL_SAVED_DESCRIPTOR.
(gfc_conv_array_ref): Use ARRAY_REF again when possible.
gcc/testsuite/ChangeLog:
* gfortran.dg/gomp/affinity-clause-1.f90: Revert to upsteam version,
update one scan-tree item.
* gfortran.dg/gomp/depend-4.f90: Revert to upstream version.
* gfortran.dg/gomp/depend-5.f90: Likewise.
* gfortran.dg/gomp/depend-6.f90: Likewise.
---
gcc/fortran/ChangeLog.omp | 6 ++++++
gcc/testsuite/ChangeLog.omp | 8 ++++++++
2 files changed, 14 insertions(+)
diff --git a/gcc/fortran/ChangeLog.omp b/gcc/fortran/ChangeLog.omp
index 685fe68667a..189431df4eb 100644
--- a/gcc/fortran/ChangeLog.omp
+++ b/gcc/fortran/ChangeLog.omp
@@ -1,3 +1,9 @@
+2022-10-19 Tobias Burnus <tobias@codesourcery.com>
+
+ * trans-array.cc (non_negative_strides_array_p): Fix handling
+ of GFC_DECL_SAVED_DESCRIPTOR.
+ (gfc_conv_array_ref): Use ARRAY_REF again when possible.
+
2022-10-17 Tobias Burnus <tobias@codesourcery.com>
Backport from mainline:
diff --git a/gcc/testsuite/ChangeLog.omp b/gcc/testsuite/ChangeLog.omp
index b2b4381e3ce..6928d520c0f 100644
--- a/gcc/testsuite/ChangeLog.omp
+++ b/gcc/testsuite/ChangeLog.omp
@@ -1,3 +1,11 @@
+2022-10-19 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/gomp/affinity-clause-1.f90: Revert to upsteam version,
+ update one scan-tree item.
+ * gfortran.dg/gomp/depend-4.f90: Revert to upstream version.
+ * gfortran.dg/gomp/depend-5.f90: Likewise.
+ * gfortran.dg/gomp/depend-6.f90: Likewise.
+
2022-10-17 Tobias Burnus <tobias@codesourcery.com>
Backport from mainline:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-10-19 15:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-19 15:37 [OG12][committed] Fix omp-expand.cc's expand_omp_target for OpenACC Tobias Burnus
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).