https://gcc.gnu.org/g:fbde111a3466f3870d00a574700fbb87c56d6c42
commit fbde111a3466f3870d00a574700fbb87c56d6c42 Merge: 1e21c26f2f53 c153150b8a05 Author: Thomas Schwinge <tschwi...@baylibre.com> Date: Fri May 30 15:06:20 2025 +0200 Merge commit 'c153150b8a05878191de2ee16c0cce7d526f3c46' into HEAD Diff: gcc/ChangeLog.omp | 9 + gcc/tree-nrv.cc | 19 +- libgomp/ChangeLog.omp | 126 +++- libgomp/testsuite/libgomp.c++/target-flex-10.C | 215 ++++++ libgomp/testsuite/libgomp.c++/target-flex-100.C | 210 ++++++ libgomp/testsuite/libgomp.c++/target-flex-101.C | 136 ++++ libgomp/testsuite/libgomp.c++/target-flex-11.C | 444 +++++++++++++ libgomp/testsuite/libgomp.c++/target-flex-12.C | 736 +++++++++++++++++++++ libgomp/testsuite/libgomp.c++/target-flex-2000.C | 32 + libgomp/testsuite/libgomp.c++/target-flex-2001.C | 61 ++ libgomp/testsuite/libgomp.c++/target-flex-2002.C | 97 +++ libgomp/testsuite/libgomp.c++/target-flex-2003.C | 176 +++++ libgomp/testsuite/libgomp.c++/target-flex-30.C | 51 ++ libgomp/testsuite/libgomp.c++/target-flex-300.C | 51 ++ libgomp/testsuite/libgomp.c++/target-flex-31.C | 80 +++ libgomp/testsuite/libgomp.c++/target-flex-32.C | 50 ++ libgomp/testsuite/libgomp.c++/target-flex-33.C | 52 ++ libgomp/testsuite/libgomp.c++/target-flex-41.C | 94 +++ libgomp/testsuite/libgomp.c++/target-flex-60.C | 48 ++ libgomp/testsuite/libgomp.c++/target-flex-61.C | 56 ++ libgomp/testsuite/libgomp.c++/target-flex-62.C | 52 ++ libgomp/testsuite/libgomp.c++/target-flex-70.C | 26 + libgomp/testsuite/libgomp.c++/target-flex-80.C | 49 ++ libgomp/testsuite/libgomp.c++/target-flex-81.C | 77 +++ libgomp/testsuite/libgomp.c++/target-flex-90.C | 107 +++ libgomp/testsuite/libgomp.c++/target-flex-common.h | 40 ++ .../libgomp.c++/target-std__array-concurrent-usm.C | 5 + .../libgomp.c++/target-std__array-concurrent.C | 62 ++ .../target-std__bitset-concurrent-usm.C | 5 + .../libgomp.c++/target-std__bitset-concurrent.C | 69 ++ libgomp/testsuite/libgomp.c++/target-std__cmath.C | 340 ++++++++++ .../testsuite/libgomp.c++/target-std__complex.C | 175 +++++ .../libgomp.c++/target-std__deque-concurrent-usm.C | 5 + .../libgomp.c++/target-std__deque-concurrent.C | 64 ++ .../libgomp.c++/target-std__flat_map-concurrent.C | 71 ++ .../target-std__flat_multimap-concurrent.C | 70 ++ .../target-std__flat_multiset-concurrent.C | 60 ++ .../libgomp.c++/target-std__flat_set-concurrent.C | 67 ++ .../target-std__forward_list-concurrent-usm.C | 5 + .../target-std__forward_list-concurrent.C | 83 +++ .../libgomp.c++/target-std__list-concurrent-usm.C | 5 + .../libgomp.c++/target-std__list-concurrent.C | 83 +++ .../libgomp.c++/target-std__map-concurrent-usm.C | 5 + .../libgomp.c++/target-std__map-concurrent.C | 70 ++ .../target-std__multimap-concurrent-usm.C | 5 + .../libgomp.c++/target-std__multimap-concurrent.C | 68 ++ .../target-std__multiset-concurrent-usm.C | 5 + .../libgomp.c++/target-std__multiset-concurrent.C | 62 ++ .../testsuite/libgomp.c++/target-std__numbers.C | 93 +++ .../libgomp.c++/target-std__set-concurrent-usm.C | 5 + .../libgomp.c++/target-std__set-concurrent.C | 68 ++ .../libgomp.c++/target-std__span-concurrent-usm.C | 7 + .../libgomp.c++/target-std__span-concurrent.C | 66 ++ .../target-std__unordered_map-concurrent.C | 66 ++ .../target-std__unordered_multimap-concurrent.C | 65 ++ .../target-std__unordered_multiset-concurrent.C | 59 ++ .../target-std__unordered_set-concurrent.C | 66 ++ .../testsuite/libgomp.c++/target-std__valarray-1.C | 179 +++++ .../libgomp.c++/target-std__valarray-1.output | 22 + .../target-std__valarray-concurrent-usm.C | 5 + .../libgomp.c++/target-std__valarray-concurrent.C | 66 ++ .../target-std__vector-concurrent-usm.C | 5 + .../libgomp.c++/target-std__vector-concurrent.C | 63 ++ .../libgomp.c-c++-common/target-abi-struct-1-O0.c | 2 +- .../libgomp.c-c++-common/target-abi-struct-1.c | 1 + .../libgomp.oacc-c-c++-common/abi-struct-1.c | 6 +- 66 files changed, 5312 insertions(+), 10 deletions(-) diff --cc libgomp/ChangeLog.omp index 53d3bc165381,afc818454dea..5ecab6d05e98 --- a/libgomp/ChangeLog.omp +++ b/libgomp/ChangeLog.omp @@@ -1,39 -1,127 +1,163 @@@ + 2025-05-30 Thomas Schwinge <tschwi...@baylibre.com> + + * testsuite/libgomp.c++/target-flex-300.C: XFAIL. + * testsuite/libgomp.c++/target-flex-60.C: Likewise. + * testsuite/libgomp.c++/target-flex-61.C: Likewise. + * testsuite/libgomp.c++/target-flex-62.C: Likewise. + * testsuite/libgomp.c++/target-flex-81.C: Likewise. + + 2025-05-30 Thomas Schwinge <tschwi...@baylibre.com> + + Backported from master: + 2025-05-30 Thomas Schwinge <tschwi...@baylibre.com> + + * testsuite/libgomp.c++/target-std__valarray-1.C: New. + * testsuite/libgomp.c++/target-std__valarray-1.output: Likewise. + + 2025-05-30 Thomas Schwinge <tschwi...@baylibre.com> + + Backported from master: + 2025-05-30 Thomas Schwinge <tschwi...@baylibre.com> + + * testsuite/libgomp.c++/target-std__array-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__array-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__bitset-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__bitset-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__deque-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__deque-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__forward_list-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__forward_list-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__list-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__list-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__map-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__map-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__multimap-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__multimap-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__multiset-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__multiset-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__set-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__set-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__span-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__span-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__valarray-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__valarray-concurrent.C: Adjust. + * testsuite/libgomp.c++/target-std__vector-concurrent-usm.C: New. + * testsuite/libgomp.c++/target-std__vector-concurrent.C: Adjust. + + 2025-05-30 Kwok Cheung Yeung <kcye...@baylibre.com> + + Backported from master: + 2025-05-30 Kwok Cheung Yeung <kcye...@baylibre.com> + Thomas Schwinge <tschwi...@baylibre.com> + + * testsuite/libgomp.c++/target-std__array-concurrent.C: New. + * testsuite/libgomp.c++/target-std__bitset-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__deque-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__flat_map-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__flat_multimap-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__flat_multiset-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__flat_set-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__forward_list-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__list-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__map-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__multimap-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__multiset-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__set-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__span-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__unordered_map-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__unordered_multimap-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__unordered_multiset-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__unordered_set-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__valarray-concurrent.C: Likewise. + * testsuite/libgomp.c++/target-std__vector-concurrent.C: Likewise. + + 2025-05-30 Kwok Cheung Yeung <kcye...@baylibre.com> + + Backported from master: + 2025-05-30 Kwok Cheung Yeung <kcye...@baylibre.com> + + * testsuite/libgomp.c++/target-std__cmath.C: New. + * testsuite/libgomp.c++/target-std__complex.C: Likewise. + * testsuite/libgomp.c++/target-std__numbers.C: Likewise. + + 2025-05-30 Waffl3x <waff...@baylibre.com> + + Backported from master: + 2025-05-30 Waffl3x <waff...@baylibre.com> + Thomas Schwinge <tschwi...@baylibre.com> + + * testsuite/libgomp.c++/target-flex-10.C: New test. + * testsuite/libgomp.c++/target-flex-100.C: New test. + * testsuite/libgomp.c++/target-flex-101.C: New test. + * testsuite/libgomp.c++/target-flex-11.C: New test. + * testsuite/libgomp.c++/target-flex-12.C: New test. + * testsuite/libgomp.c++/target-flex-2000.C: New test. + * testsuite/libgomp.c++/target-flex-2001.C: New test. + * testsuite/libgomp.c++/target-flex-2002.C: New test. + * testsuite/libgomp.c++/target-flex-2003.C: New test. + * testsuite/libgomp.c++/target-flex-30.C: New test. + * testsuite/libgomp.c++/target-flex-300.C: New test. + * testsuite/libgomp.c++/target-flex-31.C: New test. + * testsuite/libgomp.c++/target-flex-32.C: New test. + * testsuite/libgomp.c++/target-flex-33.C: New test. + * testsuite/libgomp.c++/target-flex-41.C: New test. + * testsuite/libgomp.c++/target-flex-60.C: New test. + * testsuite/libgomp.c++/target-flex-61.C: New test. + * testsuite/libgomp.c++/target-flex-62.C: New test. + * testsuite/libgomp.c++/target-flex-70.C: New test. + * testsuite/libgomp.c++/target-flex-80.C: New test. + * testsuite/libgomp.c++/target-flex-81.C: New test. + * testsuite/libgomp.c++/target-flex-90.C: New test. + * testsuite/libgomp.c++/target-flex-common.h: New test. + + 2025-05-30 Thomas Schwinge <tschwi...@baylibre.com> + + Backported from master: + 2025-05-30 Thomas Schwinge <tschwi...@baylibre.com> + Richard Biener <rguent...@suse.de> + + PR middle-end/119835 + * testsuite/libgomp.oacc-c-c++-common/abi-struct-1.c: + '#pragma GCC optimize "-fno-inline"'. + * testsuite/libgomp.c-c++-common/target-abi-struct-1.c: New. + * testsuite/libgomp.c-c++-common/target-abi-struct-1-O0.c: Adjust. + +2025-05-30 Tobias Burnus <tbur...@baylibre.com> + + Backported from master: + 2025-05-29 Tobias Burnus <tbur...@baylibre.com> + + PR libgomp/93226 + * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_dev2dev): New + prototype. + * libgomp.h (struct acc_dispatch_t): Add dev2dev_func. + (gomp_copy_dev2dev): New prototype. + * libgomp.map (OACC_2.6.1): New; add acc_memcpy_device{,_async}. + * libgomp.texi (acc_memcpy_device): New. + * oacc-mem.c (memcpy_tofrom_device): Change to take from/to + device boolean; use memcpy not memmove; add early return if + size == 0 or same device + same ptr. + (acc_memcpy_to_device, acc_memcpy_to_device_async, + acc_memcpy_from_device, acc_memcpy_from_device_async): Update. + (acc_memcpy_device, acc_memcpy_device_async): New. + * openacc.f90 (acc_memcpy_device, acc_memcpy_device_async): + Add interface. + * openacc_lib.h (acc_memcpy_device, acc_memcpy_device_async): + Likewise. + * openacc.h (acc_memcpy_device, acc_memcpy_device_async): Add + prototype. + * plugin/plugin-gcn.c (GOMP_OFFLOAD_openacc_async_host2dev): + Update comment. + (GOMP_OFFLOAD_openacc_async_dev2host): Update call. + (GOMP_OFFLOAD_openacc_async_dev2dev): New. + * plugin/plugin-nvptx.c (cuda_memcpy_dev_sanity_check): New. + (GOMP_OFFLOAD_dev2dev): Call it. + (GOMP_OFFLOAD_openacc_async_dev2dev): New. + * target.c (gomp_copy_dev2dev): New. + (gomp_load_plugin_for_device): Load dev2dev and async_dev2dev. + * testsuite/libgomp.oacc-c-c++-common/acc_memcpy_device-1.c: New test. + * testsuite/libgomp.oacc-fortran/acc_memcpy_device-1.f90: New test. + 2025-05-22 Thomas Schwinge <tschwi...@baylibre.com> Backported from master: @@@ -926,4 -1014,4 +1050,4 @@@ * testsuite/libgomp.oacc-c-c++-common/noncontig_array-3.c: New test. * testsuite/libgomp.oacc-c-c++-common/noncontig_array-4.c: New test. * testsuite/libgomp.oacc-c-c++-common/noncontig_array-utils.h: Support -- header for new tests. ++ header for new tests.