diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2023-02-24 16:17:57 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2023-03-10 15:43:58 +0100 |
commit | e58692d95d36ed9b466a1925cae38eb5318bc25e (patch) | |
tree | cb6211ccee6d6f2d7dbf17e6ce81d9a54adbc533 | |
parent | b13cc8db8d4a6fd82b9b540945723d2eca293e0c (diff) | |
download | gcc-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.omp | 6 | ||||
-rw-r--r-- | libgomp/oacc-async.c | 3 |
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) |