aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2023-02-24 16:17:57 +0100
committerThomas Schwinge <thomas@codesourcery.com>2023-03-10 15:43:58 +0100
commite58692d95d36ed9b466a1925cae38eb5318bc25e (patch)
treecb6211ccee6d6f2d7dbf17e6ce81d9a54adbc533
parentb13cc8db8d4a6fd82b9b540945723d2eca293e0c (diff)
downloadgcc-e58692d95d36ed9b466a1925cae38eb5318bc25e.zip
gcc-e58692d95d36ed9b466a1925cae38eb5318bc25e.tar.gz
gcc-e58692d95d36ed9b466a1925cae38eb5318bc25e.tar.bz2
OpenACC: Remove 'acc_async_test' -> skip shortcut in 'libgomp/oacc-async.c:goacc_wait'
We're not taking such a shortcut anywhere else, and (with future changes) it has potential to confuse things if synchronization in a libgomp plugin happens to have side effects even if an async queue currently is empty. libgomp/ * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip shortcut. (cherry picked from commit b5037d4a073f2e4625afab5ec1f35624d9f9eba1)
-rw-r--r--libgomp/ChangeLog.omp6
-rw-r--r--libgomp/oacc-async.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp
index 402b143..da11f40 100644
--- a/libgomp/ChangeLog.omp
+++ b/libgomp/ChangeLog.omp
@@ -3,6 +3,12 @@
Backported from master:
2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
+ * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
+ shortcut.
+
+ Backported from master:
+ 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
+
* testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
another aspect of OpenACC 'async' semantics.
diff --git a/libgomp/oacc-async.c b/libgomp/oacc-async.c
index 026df3c..b00f45d 100644
--- a/libgomp/oacc-async.c
+++ b/libgomp/oacc-async.c
@@ -410,9 +410,6 @@ goacc_wait (int async, int num_waits, va_list *ap)
break;
}
- if (acc_async_test (qid))
- continue;
-
if (async == acc_async_sync)
acc_wait (qid);
else if (qid == async)