| 2026-07-09 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| Andrew Stubbs <ams@baylibre.com> |
| |
| * testsuite/libgomp.fortran/mapper-iterators-1.f90: New test. |
| * testsuite/libgomp.fortran/mapper-iterators-2.f90: New test. |
| * testsuite/libgomp.fortran/mapper-iterators-3.f90: New test. |
| * testsuite/libgomp.fortran/mapper-iterators-4.f90: New test. |
| |
| 2026-07-09 Chung-Lin Tang <cltang@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * acc_prof.h (_ACC_PROF_INFO_VERSION): Adjust to 201811. |
| * libgomp.texi (Enabling OpenACC): Adjust version |
| references to 2.7 from 2.6. |
| * openacc.f90 (module openacc): Adjust openacc_version to 201811. |
| * openacc_lib.h (openacc_version): Adjust openacc_version to 201811. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: |
| Adjust test value to 201811. |
| * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Adjust |
| test value to 201811. |
| * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. |
| |
| 2026-07-09 Chung-Lin Tang <cltang@baylibre.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-2.c: Adjust test. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-3.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-4.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-5.c: Likewise. |
| |
| 2026-07-09 Chung-Lin Tang <cltang@baylibre.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/reduction.h |
| (check_reduction_array_xx): New macro. |
| (operator_apply): Likewise. |
| (check_reduction_array_op): Likewise. |
| (check_reduction_arraysec_op): Likewise. |
| (function_apply): Likewise. |
| (check_reduction_array_macro): Likewise. |
| (check_reduction_arraysec_macro): Likewise. |
| (check_reduction_xxx_xx_all): Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-2.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-3.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-4.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-arrays-5.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-structs-1.c: New test. |
| * testsuite/libgomp.oacc-fortran/reduction-10.f90: New test. |
| * testsuite/libgomp.oacc-fortran/reduction-11.f90: New test. |
| * testsuite/libgomp.oacc-fortran/reduction-12.f90: New test. |
| * testsuite/libgomp.oacc-fortran/reduction-13.f90: New test. |
| * testsuite/libgomp.oacc-fortran/reduction-14.f90: New test. |
| * testsuite/libgomp.oacc-fortran/reduction-15.f90: New test. |
| * testsuite/libgomp.oacc-fortran/reduction-16.f90: New test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| Andrew Stubbs <ams@baylibre.com> |
| Kwok Cheung Yeung <kcyeung@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * testsuite/libgomp.fortran/declare-mapper-25.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-28.f90: New test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/declare-mapper-30.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-4.f90: Adjust test for new |
| lookup behaviour. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/declare-mapper-2.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-3.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-4.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-6.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-7.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-8.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-9.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-10.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-11.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-12.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-13.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-15.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-17.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-18.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-19.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-20.f90: New test. |
| * testsuite/libgomp.fortran/declare-mapper-21.f90: New test. |
| |
| 2026-07-09 Sandra Loosemore <sloosemore@baylibre.com> |
| Tobias Burnus <tburnus@baylibre.com> |
| |
| * libgomp.texi: Mark need_device_addr as supported. |
| * testsuite/libgomp.c++/need-device-ptr.C: New. |
| * testsuite/libgomp.c-c++-common/dispatch-3.c: New. |
| * testsuite/libgomp.fortran/adjust-args-array-descriptor.f90: New. |
| * testsuite/libgomp.fortran/need-device-ptr.f90: New. |
| |
| 2026-07-09 waffl3x <waffl3x@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR c++/119659 |
| PR c++/118859 |
| PR c++/119601 |
| PR c++/119602 |
| PR c++/119775 |
| * libgomp.texi: Set 'adjust args' variadic arguments support to Y. |
| |
| 2026-07-09 Waffl3x <waffl3x@baylibre.com> |
| |
| * testsuite/libgomp.c-c++-common/allocate-7.c: Disable for C++. |
| |
| 2026-07-09 Waffl3x <waffl3x@baylibre.com> |
| |
| * testsuite/libgomp.c/allocate-4.c: Move to... |
| * testsuite/libgomp.c-c++-common/allocate-4.c: ...here. |
| * testsuite/libgomp.c/allocate-5.c: Move to... |
| * testsuite/libgomp.c-c++-common/allocate-5.c: ...here. |
| * testsuite/libgomp.c/allocate-6.c: Move to... |
| * testsuite/libgomp.c-c++-common/allocate-6.c: ...here. |
| * testsuite/libgomp.c/allocate-7.c: Move to... |
| * testsuite/libgomp.c-c++-common/allocate-7.c: ...here. |
| * testsuite/libgomp.c++/allocate-2.C: New test. |
| * testsuite/libgomp.c-c++-common/uses_allocators-1.c: Remove sorry. |
| |
| 2026-07-09 Waffl3x <waffl3x@baylibre.com> |
| |
| * testsuite/libgomp.c/allocate-7.c: _Alignof to alignof. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * target.c (omp_target_memcpy_rect_worker): Add 1D strided transfer |
| support. |
| |
| 2026-07-09 Andrew Stubbs <ams@codesourcery.com> |
| |
| * config/gcn/target.c (GOMP_target_ext): Add "signal" field. |
| Fix atomics race condition. |
| * config/nvptx/libgomp-nvptx.h (REV_OFFLOAD_QUEUE_SIZE): New define. |
| (struct rev_offload): Implement ring buffer. |
| * config/nvptx/target.c (GOMP_target_ext): Likewise. |
| * env.c (initialize_env): Read GOMP_REVERSE_OFFLOAD_THREADS. |
| * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Replace "aq" parameter |
| with "signal" and "use_aq". |
| * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Likewise. |
| * libgomp.h (gomp_target_rev): Likewise. |
| * plugin/plugin-gcn.c (process_reverse_offload): Add "signal". |
| (console_output): Pass signal value through. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): |
| Attach new threads to the numbered device. |
| Change the flag to CU_STREAM_NON_BLOCKING. |
| (GOMP_OFFLOAD_run): Implement ring-buffer and remove signalling. |
| * target.c (gomp_target_rev): Rename to ... |
| (gomp_target_rev_internal): ... this, and change "dev_num" to |
| "devicep". |
| (gomp_target_rev_worker_thread): New function. |
| (gomp_target_rev): New function (old name). |
| * libgomp.texi: Document GOMP_REVERSE_OFFLOAD_THREADS. |
| * testsuite/libgomp.c/reverse-offload-threads-1.c: New test. |
| * testsuite/libgomp.c/reverse-offload-threads-2.c: New test. |
| |
| 2026-07-09 Paul-Antoine Arras <parras@baylibre.com> |
| |
| * target.c (omp_target_memcpy_rect_worker): Require unit strides |
| and matching element size. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * libgomp.h (omp_noncontig_array_desc): Add span field. |
| * target.c (omp_target_memcpy_rect_worker): Add span parameter. Update |
| forward declaration. Handle span != element_size. |
| (gomp_update): Handle bias in descriptor's size slot. Update calls to |
| omp_target_memcpy_rect_worker. |
| * testsuite/libgomp.fortran/noncontig-updates-1.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-2.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-3.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-4.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-5.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-6.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-7.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-8.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-9.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-10.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-11.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-12.f90: New test. |
| * testsuite/libgomp.fortran/noncontig-updates-13.f90: New test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/array-shaping-14.c: New test. |
| * testsuite/libgomp.c/array-shaping-1.c: New test. |
| * testsuite/libgomp.c/array-shaping-2.c: New test. |
| * testsuite/libgomp.c/array-shaping-3.c: New test. |
| * testsuite/libgomp.c/array-shaping-4.c: New test. |
| * testsuite/libgomp.c/array-shaping-5.c: New test. |
| * testsuite/libgomp.c/array-shaping-6.c: New test. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| Sandra Loosemore <sloosemore@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. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * libgomp.h (omp_noncontig_array_desc): New struct. |
| * target.c (omp_target_memcpy_rect_worker): Add stride array |
| parameter. Forward declare. Add STRIDES parameter and strided |
| update support. |
| (gomp_update): Add noncontiguous (strided/shaped) update support. |
| * testsuite/libgomp.c++/array-shaping-1.C: New test. |
| * testsuite/libgomp.c++/array-shaping-2.C: New test. |
| * testsuite/libgomp.c++/array-shaping-3.C: New test. |
| * testsuite/libgomp.c++/array-shaping-4.C: New test. |
| * testsuite/libgomp.c++/array-shaping-5.C: New test. |
| * testsuite/libgomp.c++/array-shaping-6.C: New test. |
| * testsuite/libgomp.c++/array-shaping-7.C: New test. |
| * testsuite/libgomp.c++/array-shaping-8.C: New test. |
| * testsuite/libgomp.c++/array-shaping-9.C: New test. |
| * testsuite/libgomp.c++/array-shaping-10.C: New test. |
| * testsuite/libgomp.c++/array-shaping-11.C: New test. |
| * testsuite/libgomp.c++/array-shaping-12.C: New test. |
| * testsuite/libgomp.c++/array-shaping-13.C: New test. |
| * testsuite/libgomp.c++/map-static-cast-lvalue-1.C: New test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| Thomas Schwinge <tschwinge@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/implicit-mapping-1.c: New test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-fortran/nonlexical-assumed-size-1.f90: New |
| test. |
| * testsuite/libgomp.oacc-fortran/nonlexical-assumed-size-2.f90: New |
| test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| Paul-Antoine Arras <parras@baylibre.com> |
| Sandra Loosemore <sandra@baylibre.com> |
| |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90: |
| Remove xfails. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90: |
| Remove xfails. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: |
| Remove xfails. |
| * testsuite/libgomp.oacc-fortran/declare-create-1.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-create-2.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-create-3.f90: New test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/pr70828.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/pr70828-2.c: Likewise. |
| * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust patterns. |
| * testsuite/libgomp.oacc-fortran/pr70828.f90: New test. |
| * testsuite/libgomp.oacc-fortran/pr70828-2.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/pr70828-3.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/pr70828-4.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/pr70828-5.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/pr70828-6.f90: Likewise. |
| |
| 2026-07-09 Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * config/nvptx/team.c (__nvptx_omp_num_threads): New global variable in |
| shared memory. |
| * testsuite/libgomp.c-c++-common/for-17.c: New. |
| * testsuite/libgomp.c-c++-common/for-18.c: New. |
| |
| 2026-07-09 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * target.c (gomp_unmap_vars_internal): Queue splay-tree keys for |
| removal after main loop. |
| |
| 2026-07-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-enter-data-3a.f90: New test. |
| |
| 2026-07-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| * testsuite/libgomp.fortran/target-13.f90: Update test. |
| |
| 2026-07-09 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.c-c++-common/collapse-4.c: New. |
| * testsuite/libgomp.fortran/collapse5.f90: New. |
| |
| 2026-07-09 Andrew Stubbs <ams@codesourcery.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * config/gcn/bar.h (gomp_barrier_init): Limit thread count to the |
| actual physical number. Return count, not void. |
| (gomp_barrier_reinit): Likewise. |
| * config/gcn/team.c (gomp_team_start): Don't attempt to set up |
| threads that do not exist. |
| * config/linux/bar.h (gomp_barrier_init): Return count, not void. |
| (gomp_barrier_reinit): Likewise. |
| * config/nvptx/bar.h (gomp_barrier_init): Likewise. |
| (gomp_barrier_reinit): Likewise. |
| * config/posix/bar.c (gomp_barrier_init): Likewise. |
| (gomp_barrier_reinit): Likewise. |
| * config/posix/bar.h: (gomp_barrier_init): Likewise. |
| (gomp_barrier_reinit): Likewise. |
| * config/posix/simple-bar.h: (gomp_barrier_init): Likewise. |
| (gomp_barrier_reinit): Likewise. |
| * config/rtems/bar.h: (gomp_barrier_init): Likewise. |
| (gomp_barrier_reinit): Likewise. |
| * team.c (gomp_new_team): Set nthreads to actual rather than |
| requested number of threads. |
| * testsuite/libgomp.c/thread-limit-6.c: New test case. |
| |
| 2026-07-09 Andrew Stubbs <ams@codesourcery.com> |
| |
| * plugin/plugin-nvptx.c (cleanup_and_alloc): Remove early call to |
| nvptx_stacks_free. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Adjust for loop |
| lowering changes. |
| * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. |
| |
| 2026-07-09 Cesar Philippidis <cesar@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| Kwok Cheung Yeung <kcy@codesourcery.com> |
| Tobias Burnus <tobias@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| Paul-Antoine Arras <parras@baylibre.com> |
| |
| * libgomp.h (gomp_acc_declare_allocate): Remove prototype. |
| * oacc-mem.c (gomp_acc_declare_allocate): New function. |
| (find_group_last): Handle GOMP_MAP_DECLARE_ALLOCATE and |
| GOMP_MAP_DECLARE_DEALLOCATE groupings. |
| (goacc_enter_data_internal): Fix kind check for |
| GOMP_MAP_DECLARE_ALLOCATE. Pass new pointer argument to |
| gomp_acc_declare_allocate. Unlock mutex before calling |
| gomp_acc_declare_allocate and relock it afterwards. |
| (goacc_exit_data_internal): Unlock device mutex around |
| gomp_acc_declare_allocate call. Pass new pointer argument. Handle |
| group pointer mapping for deallocate. |
| * testsuite/libgomp.oacc-fortran/allocatable-scalar.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90: |
| Adjust. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-2.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-3.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-4.f90: New test. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90: |
| Adjust. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90: |
| Likewise. |
| * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1.f90: |
| New test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| Tobias Burnus <tobias@codesourcery.com> |
| Sandra Loosemore <sandra@baylibre.com> |
| |
| * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Add xfails. |
| * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise. |
| |
| 2026-07-09 Cesar Philippidis <cesar@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove |
| xfail on bogus warnings. |
| * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. |
| * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise. |
| |
| 2026-07-09 Thomas Schwinge <thomas@codesourcery.com> |
| Maciej W. Rozycki <macro@codesourcery.com> |
| |
| * Makefile.am (libgomp_la_SOURCES): Add |
| oacc-profiling-acc_register_library.c. |
| * Makefile.in: Regenerate. |
| * libgomp.texi: Remove paragraph about acc_register_library. |
| * oacc-init.c (get_property_any): Add profiling code. |
| * oacc-parallel.c (GOACC_parallel_keyed_internal): Set device_api for |
| profiling. |
| * oacc-profiling-acc_register_library.c: New file. |
| * oacc-profiling.c (goacc_profiling_initialize): Call |
| acc_register_library. Avoid duplicate registration. |
| (acc_register_library): Remove. |
| * config/nvptx/oacc-profiling-acc_register_library.c: |
| New empty file. |
| * config/nvptx/oacc-profiling.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: Remove |
| call to acc_register_library. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c: |
| Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: Likewise. |
| |
| 2026-07-09 Cesar Philippidis <cesar@codesourcery.com> |
| Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/privatize-reduction-1.c: New |
| test. |
| * testsuite/libgomp.oacc-c-c++-common/privatize-reduction-2.c: New |
| test. |
| |
| 2026-07-09 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust test case |
| to conform to the new behavior of the auto clause in OpenACC 2.5. |
| |
| 2026-07-09 Cesar Philippidis <cesar@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| Tobias Burnus <tobias@codesourcery.com> |
| Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c++/firstprivate-int.C: New test. |
| * testsuite/libgomp.oacc-c-c++-common/firstprivate-int.c: New |
| test. |
| * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: XFAIL |
| execution test. |
| * testsuite/libgomp.oacc-fortran/firstprivate-int.f90: New test. |
| |
| 2026-07-09 Nathan Sidwell <nathan@acm.org> |
| Tom de Vries <tdevries@suse.de> |
| Thomas Schwinge <thomas@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| |
| * testsuite/libgomp.oacc-c-c++-common/loop-default-compile.c: New. |
| |
| 2026-07-09 Cesar Philippidis <cesar@codesourcery.com> |
| James Norris <jnorris@codesourcery.com> |
| Tom de Vries <tom@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| Tobias Burnus <tburnus@baylibre.com> |
| |
| * testsuite/libgomp.oacc-fortran/data-3.f90: Update parallel |
| regions to denote variables copyied in via acc enter data as |
| present. |
| * testsuite/libgomp.oacc-c-c++-common/subr.h: Reimplement. |
| * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Regenerated PTX. |
| * testsuite/libgomp.oacc-c-c++-common/timer.h: Removed. |
| * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Change async checks. |
| * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Rework kernel i/f and |
| change async checks. |
| * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Rework kernel i/f and |
| timing checks. |
| * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. |
| * testsuite/libgomp.oacc-c-c++-common/lib-93.c: New test. |
| |
| 2026-07-09 Julian Brown <julian@codesourcery.com> |
| Cesar Philippidis <cesar@codesourcery.com> |
| Nathan Sidwell <nathan@acm.org> |
| |
| * testsuite/libgomp.oacc-c-c++-common/par-reduction-3.c: New. |
| * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt-2.c: New. |
| * testsuite/libgomp.oacc-fortran/reduction-9.f90: New. |
| |
| 2026-07-09 Cesar Philippidis <cesar@codesourcery.com> |
| James Norris <jnorris@codesourcery.com> |
| Julian Brown <julian@codesourcery.com> |
| Tobias Burnus <tobias@codesourcery.com> |
| Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * oacc-parallel.c (GOACC_parallel_keyed): Handle Fortran deviceptr |
| clause. |
| (GOACC_data_start): Likewise. |
| * testsuite/libgomp.oacc-fortran/deviceptr-1.f90: New test. |
| |
| 2026-07-09 Chung-Lin Tang <cltang@codesourcery.com> |
| Kwok Cheung Yeung <kcy@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| Paul-Antoine Arras <parras@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| PR other/76739 |
| * libgomp.h (goacc_map_vars): Add 'struct goacc_ncarray_info *' |
| formal parameter. |
| * libgomp_g.h (GOACC_data_start): Add variadic '...' to declaration. |
| * oacc-int.h (struct goacc_ncarray_dim): New struct declaration. |
| (struct goacc_ncarray_descr_type): Likewise. |
| (struct goacc_ncarray): Likewise. |
| (struct goacc_ncarray_info): Likewise. |
| (goacc_noncontig_array_create_ptrblock): New function declaration. |
| * oacc-mem.c (acc_map_data, goacc_enter_datum) |
| (goacc_enter_data_internal): Adjust. |
| * oacc-parallel.c (goacc_noncontig_array_count_rows): New function. |
| (goacc_noncontig_array_compute_sizes): Likewise. |
| (goacc_noncontig_array_fill_rows_1): Likewise. |
| (goacc_noncontig_array_fill_rows): Likewise. |
| (goacc_process_noncontiguous_arrays): Likewise. |
| (goacc_noncontig_array_create_ptrblock): Likewise. |
| (GOACC_parallel_keyed): Use goacc_process_noncontiguous_arrays to |
| handle non-contiguous array descriptors at end of varargs, adjust |
| to use gomp_map_vars_openacc. |
| (GOACC_data_start): Likewise. Adjust function type to accept varargs. |
| * target.c (gomp_map_vars_internal): Add struct goacc_ncarray_info * |
| nca_info parameter, add handling code for non-contiguous arrays. |
| (goacc_map_vars): Adjust. |
| * testsuite/libgomp.oacc-c-c++-common/noncontig_array-1.c: New test. |
| * testsuite/libgomp.oacc-c-c++-common/noncontig_array-2.c: New test. |
| * 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. |
| |
| 2026-07-09 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| |
| * testsuite/libgomp.fortran/allocatable-comp-iterators.f90: Add test |
| for non-const iterator boundaries. |
| |
| 2026-07-09 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * testsuite/libgomp.fortran/allocatable-comp-iterators.f90: New. |
| |
| 2026-07-09 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| Andrew Stubbs <ams@baylibre.com> |
| |
| * testsuite/libgomp.c-c++-common/mapper-iterators-1.c: New test. |
| * testsuite/libgomp.c-c++-common/mapper-iterators-2.c: New test. |
| |
| 2026-07-09 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * testsuite/libgomp.c-c++-common/target-map-iterators-1c.c: New. |
| * testsuite/libgomp.c-c++-common/target-map-iterators-1d.c: New. |
| * testsuite/libgomp.c-c++-common/target-map-iterators-1e.c: New. |
| * testsuite/libgomp.c-c++-common/target-map-iterators-1f.c: New. |
| * testsuite/libgomp.c-c++-common/target-map-iterators-4.c: New. |
| * testsuite/libgomp.c-c++-common/target-map-iterators-5.c: New. |
| * testsuite/libgomp.c-c++-common/target-update-iterators-4.c: New. |
| * testsuite/libgomp.fortran/target-map-iterators-1c.f90: New. |
| * testsuite/libgomp.fortran/target-map-iterators-4.f90: New. |
| * testsuite/libgomp.fortran/target-map-iterators-5.f90: New. |
| * testsuite/libgomp.fortran/target-update-iterators-4.f90: New. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-07-02 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * config/nvptx/allocator.c [PTX < 4.1]: Fix build. |
| * config/nvptx/team.c [PTX < 4.1]: Disable the whole |
| '__nvptx_lowlat_pool' machinery. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-30 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * config.h.in: Regenerate. |
| * configure.ac [x$libgomp_cv_have_sync_builtins = xno]: Fix check. |
| * configure: Regenerate. |
| * allocator.c (omp_init_allocator, gomp_map_omp_init_allocator) |
| [!HAVE_SYNC_BUILTINS]: Fix build. |
| * testsuite/libgomp.c-c++-common/uses_allocators-2.c: Fix for C++ testing. |
| * testsuite/libgomp.c-c++-common/uses_allocators-9.c: Likewise. |
| * testsuite/libgomp.fortran/dep-uses-allocators.f90: Remove |
| obsolete "sorry, unimplemented: [...]" diagnostic check. |
| * testsuite/libgomp.fortran/uses_allocators-7.f90: XFAIL one |
| 'scan-tree-dump-times' check. |
| |
| 2026-07-09 Chung-Lin Tang <cltang@baylibre.com> |
| |
| Backported from master: |
| 2026-06-30 Chung-Lin Tang <cltang@baylibre.com> |
| |
| * allocator.c (struct omp_allocator_data): Always enable 'memkind' field |
| for configurations with offloading. Adjust comments assuming |
| HAVE_SYNC_BUILTINS for all offload host/accelerators. |
| (gomp_init_allocator_data): New function, created from omp_init_allocator |
| logic. |
| (omp_init_allocator): Adjust to use gomp_init_allocator_data. |
| (gomp_map_omp_init_allocator): New function to call |
| gomp_init_allocator_data for uses_allocators clauses. |
| * config/gcn/allocator.c (gcn_memspace_validate): Add comments. |
| * config/nvptx/allocator.c (nvptx_memspace_alloc): Add PTX >= v4.1 |
| preprocessor symbol check. |
| (nvptx_memspace_calloc): Likewise. |
| (nvptx_memspace_free): Likewise. |
| (nvptx_memspace_realloc): Likewise. |
| (nvptx_memspace_validate): Add comments. |
| * configure.ac: Require offload hosts and accelerator targets to support |
| __sync_* builtins. |
| * configure: Regenerate. |
| * libgomp-plugin.h (GOMP_OFFLOAD_memspace_validate): New declaration. |
| * libgomp.h (gomp_omp_allocator_data_size): New declaration. |
| (memspace_validate_func): New plugin hook in struct gomp_device_descr. |
| (gomp_map_omp_init_allocator): New declaration. |
| * oacc-host.c (host_dispatch): Init .memspace_validate_func = NULL. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_memspace_validate): New function. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memspace_validate): New function. |
| * target.c (gomp_map_vars_internal): Implement GOMP_MAP_USES_ALLOCATORS |
| map kind. |
| (calculate_firstprivate_requirements): Likewise. |
| (copy_firstprivate_data): Likewise. |
| (gomp_load_plugin_for_device): Add DLSYM_OPT of memspace_validate_func |
| hook. |
| * testsuite/libgomp.c++/uses_allocators-1.C: Moved from |
| ../gcc/testsuite/g++.dg/gomp/uses_allocators-1.C. |
| * testsuite/libgomp.c-c++-common/uses_allocators-1.c: Moved from |
| ../gcc/testsuite/c-c++-common/gomp/uses_allocators-1.c. |
| * testsuite/libgomp.c-c++-common/uses_allocators-2.c: Moved from |
| ../gcc/testsuite/c-c++-common/gomp/uses_allocators-2.c. |
| * testsuite/libgomp.c-c++-common/uses_allocators-4.c: Moved from |
| ../gcc/testsuite/c-c++-common/gomp/uses_allocators-4.c. |
| * testsuite/libgomp.c-c++-common/uses_allocators-7.c: Moved from |
| ../gcc/testsuite/c-c++-common/gomp/uses_allocators-7.c. |
| * testsuite/libgomp.c-c++-common/uses_allocators-8.c: Moved from |
| ../gcc/testsuite/c-c++-common/gomp/uses_allocators-8.c. |
| * testsuite/libgomp.c-c++-common/uses_allocators-3.c: New test. |
| * testsuite/libgomp.c-c++-common/uses_allocators-5.c: New test. |
| * testsuite/libgomp.c-c++-common/uses_allocators-6.c: New test. |
| * testsuite/libgomp.c-c++-common/uses_allocators-9.c: New test. |
| * testsuite/libgomp.fortran/uses_allocators-1.f90: New test. |
| * testsuite/libgomp.fortran/uses_allocators-2.f90: |
| Rename from uses_allocators_1.f90. |
| * testsuite/libgomp.fortran/uses_allocators-3.f90: |
| Rename from uses_allocators_2.f90. |
| * testsuite/libgomp.fortran/uses_allocators-4.f90: New test. |
| * testsuite/libgomp.fortran/uses_allocators-5.f90: New test. |
| * testsuite/libgomp.fortran/uses_allocators-6.f90: New test. |
| * testsuite/libgomp.fortran/uses_allocators-7.f90: Adjust test. |
| * testsuite/libgomp.fortran/uses_allocators-8.f90: New test. |
| * testsuite/libgomp.fortran/uses_allocators_1.f90: |
| Renamed to uses_allocators-2.f90 and deleted. |
| * testsuite/libgomp.fortran/uses_allocators_2.f90: |
| Renamed to uses_allocators-3.f90 and deleted. |
| * testsuite/libgomp.c++/c++.exp (check_effective_target_c): Add. |
| (check_effective_target_c++): Add. |
| * testsuite/libgomp.c/c.exp (check_effective_target_c): Add. |
| (check_effective_target_c++): Add. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-30 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| PR libgomp/125877 |
| * config/linux/numa.c (gomp_get_numa_distance): Gracefully handle |
| failure to open Linux sysfs file for NUMA node. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-30 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| PR libgomp/125877 |
| * plugin/plugin-nvptx.c (nvptx_open_device): Initialize 'numa_node'. |
| |
| 2026-07-09 Paul-Antoine Arras <parras@baylibre.com> |
| |
| Backported from master: |
| 2026-06-25 Paul-Antoine Arras <parras@baylibre.com> |
| |
| * libgomp.texi (Implementing MASKED and MASTER construct): Fix |
| @end smallexample. |
| (Implementing FOR construct): Likewise. |
| |
| 2026-07-09 Paul-Antoine Arras <parras@baylibre.com> |
| |
| Backported from master: |
| 2026-06-25 Paul-Antoine Arras <parras@baylibre.com> |
| |
| * libgomp.texi (Implementing MASKED and MASTER construct): Update |
| pseudocode; describe GOMP_has_masked_thread_num. |
| (Implementing ATOMIC construct): Fix stale function names; note |
| exclusivity to explicit atomic constructs. |
| (Implementing BARRIER construct): Document GOMP_barrier_ext and |
| GOMP_barrier_cancel_ext; describe the kind parameter. |
| (Implementing REDUCTION clause): Document GOMP_reduction_start and |
| GOMP_reduction_end. |
| (Implementing FOR construct): Document GOMP_loop_static_worksharing |
| and GOMP_distribute_static_worksharing. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-25 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * libgomp_g.h (GOMP_reduction_start, GOMP_reduction_end): Sort |
| correctly. |
| |
| 2026-07-09 Paul-Antoine Arras <parras@baylibre.com> |
| |
| Backported from master: |
| 2026-06-24 Paul-Antoine Arras <parras@baylibre.com> |
| |
| * atomic.c (GOMP_reduction_start): New function. |
| (GOMP_reduction_end): New function. |
| * libgomp.map (GOMP_6.0.2): Export GOMP_reduction_start and |
| GOMP_reduction_end. |
| * libgomp_g.h (GOMP_reduction_start): New declaration. |
| (GOMP_reduction_end): New declaration. |
| |
| 2026-07-09 Paul-Antoine Arras <parras@baylibre.com> |
| |
| Backported from master: |
| 2026-06-24 Paul-Antoine Arras <parras@baylibre.com> |
| |
| * barrier.c (GOMP_barrier_ext): New function. |
| (GOMP_barrier_cancel_ext): Likewise. |
| * libgomp_g.h (GOMP_barrier_ext): Declare. |
| (GOMP_barrier_cancel_ext): Likewise. |
| * libgomp.map (GOMP_6.0.2): Add GOMP_barrier_ext and |
| GOMP_barrier_cancel_ext. |
| * testsuite/libgomp.c/barrier-1.c: Update GOMP_barrier_ext calls to pass |
| GOMP_BARRIER_EXPLICIT. |
| |
| 2026-07-09 Paul-Antoine Arras <parras@baylibre.com> |
| |
| Backported from master: |
| 2026-06-24 Paul-Antoine Arras <parras@baylibre.com> |
| |
| * config/gcn/teams.c (GOMP_distribute_static_worksharing): New |
| function. |
| * config/nvptx/teams.c (GOMP_distribute_static_worksharing): Likewise. |
| * libgomp.map (GOMP_6.0.2): Export GOMP_loop_static_worksharing and |
| GOMP_distribute_static_worksharing. |
| * libgomp_g.h (GOMP_loop_static_worksharing): New declaration. |
| (GOMP_distribute_static_worksharing): Likewise. |
| * parallel.c (GOMP_loop_static_worksharing): New function. |
| * teams.c (GOMP_distribute_static_worksharing): Likewise. |
| |
| 2026-07-09 Paul-Antoine Arras <parras@baylibre.com> |
| |
| Backported from master: |
| 2026-06-24 Paul-Antoine Arras <parras@baylibre.com> |
| |
| * libgomp.map (GOMP_6.0.2): New symbol version. Export |
| GOMP_has_masked_thread_num. |
| * libgomp_g.h (GOMP_has_masked_thread_num): New declaration. |
| * parallel.c (GOMP_has_masked_thread_num): New function. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-06-24 Tobias Burnus <tburnus@baylibre.com> |
| |
| PR libgomp/125940 |
| * Makefile.am (libgomp_la_SOURCES): Add numa.c. |
| * Makefile.in: Regenerate. |
| * affinity.c (gomp_get_current_numa_node, |
| gomp_get_numa_distance): Move to ... |
| * numa.c: ... this new file. |
| * config/linux/affinity.c (gomp_get_current_numa_node, |
| gomp_get_numa_distance): Move to ... |
| * config/linux/numa.c: ... this new file. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-06-24 Tobias Burnus <tburnus@baylibre.com> |
| |
| PR libgomp/125951 |
| * target.c (omp_get_device_distances): Handle omp_default_device |
| in the fallback code. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-06-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| * libgomp.texi (GCN): Mention ROCR_VISIBLE_DEVICES. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-06-22 Tobias Burnus <tburnus@baylibre.com> |
| |
| * config/gcn/teams.c (omp_get_num_teams_dim, |
| omp_get_team_num_dim): New functions. |
| * config/nvptx/teams.c (omp_get_num_teams_dim, |
| omp_get_team_num_dim): Likewise. |
| * fortran.c (omp_get_supported_active_team_dims_, |
| omp_get_supported_active_league_dims_): Likewise. |
| * icv.c (omp_get_thread_limit_dim): Likewise. |
| * libgomp-plugin.h (GOMP_OFFLOAD_get_numa_node): Remove spurious |
| const of 'const int' function return type. |
| (GOMP_OFFLOAD_supported_teams_dim, |
| GOMP_OFFLOAD_supported_threads_dim): Declare. |
| * libgomp.h (struct gomp_device_descr): Add supported_teams_dim_func |
| and supported_threads_dim_func members. |
| * libgomp.map (OMP_6.1): Add new OpenMP routines. |
| * libgomp.texi (Multidimensional Support Routines): Add new section. |
| (omp_get_device_distances): Fix chapter of spec reference. |
| * omp.h.in (omp_get_num_threads_dim, omp_get_thread_num_dim, |
| omp_get_thread_limit_dim, omp_get_supported_active_team_dims, |
| omp_get_supported_active_league_dims, omp_get_supported_teams_dim, |
| omp_get_supported_threads_dim, omp_get_num_teams_dim, |
| omp_get_team_num_dim, omp_get_device_distances): Declare. |
| * omp_lib.f90.in: Likewise. |
| * omp_lib.h.in: Likewise. |
| * parallel.c (omp_get_num_threads_dim, |
| omp_get_thread_num_dim): New functions. |
| * plugin/plugin-gcn.c (limit_worker_threads): Add comment. |
| (GOMP_OFFLOAD_supported_teams_dim, |
| GOMP_OFFLOAD_supported_threads_dim): New functions. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_supported_teams_dim, |
| GOMP_OFFLOAD_supported_threads_dim): New functions. |
| (nvptx_adjust_launch_bounds): Add comment. |
| * target.c (omp_get_supported_active_team_dims, |
| omp_get_supported_active_league_dims, |
| omp_get_supported_teams_dim, |
| omp_get_supported_threads_dim): New functions. |
| (gomp_load_plugin_for_device): dlsym added functions. |
| * teams.c (omp_get_num_teams_dim, |
| omp_get_team_num_dim): New functions. |
| * testsuite/libgomp.c/multi-dim-routines.c: New test. |
| * testsuite/libgomp.fortran/multi-dim-routines-2.F90: New test. |
| * testsuite/libgomp.fortran/multi-dim-routines.F90: New test. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-06-19 Tobias Burnus <tburnus@baylibre.com> |
| |
| PR libgomp/125877 |
| * affinity.c (gomp_get_current_numa_node, |
| gomp_get_numa_distance): New functions. |
| * config/linux/affinity.c (gomp_get_current_numa_node, |
| gomp_get_numa_distance): Likewise. |
| * libgomp-plugin.h (GOMP_OFFLOAD_get_numa_node): Declare. |
| * libgomp.h (gomp_get_current_numa_node, |
| gomp_get_numa_distance): Declare. |
| (struct gomp_device_descr): Add get_numa_node_func. |
| * libgomp.map (OMP_6.1): Add. |
| * libgomp.texi (omp_get_device_distances): Add routine. |
| * omp.h.in (omp_get_device_distances): Declare. |
| * omp_lib.f90.in (omp_get_device_distances): Add interface. |
| * omp_lib.h.in (omp_get_device_distances): Likewise. |
| * plugin/cuda-lib.def (cuDeviceGetPCIBusId): Add. |
| * plugin/plugin-gcn.c (struct agent_info): Add numa_node. |
| (GOMP_OFFLOAD_get_numa_node): New. |
| * plugin/plugin-nvptx.c (struct ptx_device): Add numa_node. |
| (GOMP_OFFLOAD_get_numa_node): New. |
| * target.c (omp_get_device_distances): New function. |
| (gomp_load_plugin_for_device): Load get_numa_node symbol. |
| * testsuite/libgomp.c/omp-get-device-distances.c: New test. |
| * testsuite/libgomp.fortran/omp-get-device-distances.f90: New test. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-18 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * config/accel/target-indirect.h (GOMP_INDIRECT_ADDR_MAP) |
| (GOMP_INDIRECT_ADDR_HMAP): Prototype. |
| * config/gcn/team.c: Adjust. |
| * config/nvptx/team.c: Likewise. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-18 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * config/accel/target-indirect.h: New. |
| * config/accel/target-indirect.c: Adjust. |
| * config/gcn/team.c: Likewise. |
| * config/nvptx/team.c: Likewise. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-18 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * target-indirect.c: '#include "libgomp.h"'. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-18 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * libgomp_g.h (GOMP_target_map_indirect_ptr): Sort correctly. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-18 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * libgomp_g.h (GOMP_atomic_start, GOMP_atomic_end): Sort correctly. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-18 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * oacc-init.c (acc_init, acc_shutdown, acc_get_num_devices) |
| (acc_set_device_type, acc_get_device_type, acc_get_device_num) |
| (acc_set_device_num, acc_get_property, acc_get_property_string) |
| (acc_on_device): Drop 'ialias'es. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-18 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * config/nvptx/oacc-parallel.c: Move... |
| * config/accel/oacc-parallel.c: ... here. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-12 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * config/linux/allocator.c: De-duplicate '#define _GNU_SOURCE'. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-12 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| * plugin/plugin-gcn.c: '#define _GNU_SOURCE'. |
| * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't add |
| '-D_GNU_SOURCE'. |
| * Makefile.in: Regenerate. |
| |
| 2026-07-09 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| Backported from master: |
| 2026-06-12 Thomas Schwinge <tschwinge@baylibre.com> |
| |
| PR target/101484 |
| * configure.tgt [GCN] (XCFLAGS): Don't add '-Wno-error=array-bounds'. |
| |
| 2026-07-09 Chung-Lin Tang <cltang@baylibre.com> |
| |
| Backported from master: |
| 2026-06-10 Chung-Lin Tang <cltang@baylibre.com> |
| |
| PR fortran/122910 |
| * testsuite/libgomp.fortran/pr122910.f90: New test. |
| |
| 2026-07-09 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| |
| Backported from master: |
| 2026-06-07 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| Andrew Stubbs <ams@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * testsuite/libgomp.fortran/target-update-iterators-1.f90: New. |
| * testsuite/libgomp.fortran/target-update-iterators-2.f90: New. |
| * testsuite/libgomp.fortran/target-update-iterators-3.f90: New. |
| |
| 2026-07-09 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| |
| Backported from master: |
| 2026-06-07 Kwok Cheung Yeung <kcyeung@baylibre.com> |
| Andrew Stubbs <ams@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * target.c (kind_to_name): Handle GOMP_MAP_STRUCT and |
| GOMP_MAP_STRUCT_UNORD. |
| (gomp_add_map): New. |
| (gomp_merge_iterator_maps): Expand fields of a struct mapping |
| breadth-first. |
| * testsuite/libgomp.fortran/target-map-iterators-1.f90: New. |
| * testsuite/libgomp.fortran/target-map-iterators-2.f90: New. |
| * testsuite/libgomp.fortran/target-map-iterators-3.f90: New. |
| |
| 2026-07-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backported from master: |
| 2026-06-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_alloca instead |
| of alloca. |
| * target.c (GOMP_target): Likewise. |
| (GOMP_target_ext): Likewise. |
| |
| 2026-07-09 Arsen Arsenović <aarsenovic@baylibre.com> |
| |
| Backported from master: |
| 2026-06-01 Arsen Arsenović <aarsenovic@baylibre.com> |
| |
| * oacc-mem.c (goacc_enter_datum): Assert that tgt_offset of the |
| newly-mapped variable is zero. |
| |
| 2026-07-09 Arsen Arsenović <aarsenovic@baylibre.com> |
| |
| Backported from master: |
| 2026-06-01 Arsen Arsenović <aarsenovic@baylibre.com> |
| |
| * plugin/plugin-gcn.c (struct kernel_dispatch): Store |
| hsa_signal_t, rather than a uint64_t, so that we don't rely on |
| knowledge of the contents of hsa_signal_t. |
| (create_kernel_dispatch): Rename... |
| (prepare_kernel_dispatch): ... to this, as it no longer creates |
| a kernel dispatch. The allocation that would've created it is |
| hoisted... |
| (run_kernel): ... here, as an automatic variable. Move logic |
| that copies the fields of kernel_dispatch... |
| (populate_packet_from_dispatch): ... into this standalone |
| function, to make it clearer. |
| (release_kernel_dispatch): Rename.... |
| (cleanup_kernel_dispatch): ... to this, don't free 'shadow'. |
| |
| 2026-07-09 Arsen Arsenović <aarsenovic@baylibre.com> |
| |
| Backported from master: |
| 2026-06-01 Arsen Arsenović <aarsenovic@baylibre.com> |
| |
| * libgomp-plugin.h (GOMP_OFFLOAD_run, GOMP_OFFLOAD_exec) |
| (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_async_exec): Pass |
| session in place of target variable table and devices. |
| (struct gomp_offload_session): New. |
| (GOMP_OFFLOAD_session_size): New |
| (GOMP_OFFLOAD_check_session_struct): New. |
| (GOMP_OFFLOAD_session_boilerplate): New. |
| (GOMP_OFFLOAD_session_start): New. |
| (GOMP_OFFLOAD_session_allocate_target_var_table): New. |
| (GOMP_OFFLOAD_session_set_target_var_table): New. |
| * libgomp.h (struct gomp_target_task): Add offload_session |
| field. |
| (struct gomp_device_descr): Add offload session management |
| functions. |
| (gomp_offload_session_new): New. |
| (goacc_map_vars): Add SESSION to signature |
| * oacc-host.c (struct gomp_offload_session): Define, for host |
| offload fallback case. |
| (host_session_size): New. Implements GOMP_OFFLOAD_session_size. |
| (host_session_start): New. Implements |
| GOMP_OFFLOAD_session_start. |
| (host_session_set_target_var_table): New. Implements |
| GOMP_OFFLOAD_session_set_target_var_table. |
| (host_run): Adjust to match GOMP_OFFLOAD_run. |
| (host_openacc_exec): Adjust to match GOMP_OFFLOAD_openacc_exec. |
| (host_openacc_async_exec): Adjust to match |
| GOMP_OFFLOAD_openacc_async_exec. |
| * oacc-mem.c (acc_map_data): Adjust call to goacc_map_vars. |
| (goacc_enter_datum): Ditto. |
| (goacc_enter_data_internal): Ditto. |
| * oacc-parallel.c (GOACC_parallel_keyed): Allocate and pass |
| offload session. |
| (GOACC_data_start): Adjust call to goacc_map_vars. |
| * plugin/plugin-gcn.c (struct kernel_dispatch): Remove |
| kernarg_cache_node. |
| (struct kernargs): Add a flexible array member for the target |
| variable table. |
| (struct kernel_launch): Store an offload session rather than |
| target var. table pointer. |
| (print_kernel_dispatch): Receive kernargs as parameter. |
| (struct gomp_offload_session): Define. |
| (init_session): New. |
| (GOMP_OFFLOAD_session_start): Implement, using init_session. |
| (release_session): New. |
| (alloc_kernargs_on_agent): Rename to... |
| (allocate_session_kernargs): ... this, store result in |
| passed-in SESSION, and allocate extra room for target variable |
| table (rounding it up to nearest multiple of 64 pointers). |
| (GOMP_OFFLOAD_session_allocate_target_var_table): Implement |
| using the previous function. |
| (GOMP_OFFLOAD_session_set_target_var_table): Ditto. |
| (create_kernel_dispatch): Remove kernarg allocation, instead |
| receiving it as an argument. |
| (release_kernel_dispatch): Receive kernargs as an argument, |
| don't release them. |
| (run_kernel): Adjust to use sessions. |
| (destroy_module): Ditto. |
| (GOMP_OFFLOAD_load_image): Ditto. |
| (execute_queue_entry): Adjust to match changed struct |
| kernel_launch. |
| (queue_push_launch): Ditto. |
| (gcn_exec): Receive and pass along session. |
| (GOMP_OFFLOAD_run): Ditto. |
| (GOMP_OFFLOAD_async_run): Ditto. |
| (GOMP_OFFLOAD_openacc_exec): Ditto. |
| (GOMP_OFFLOAD_openacc_async_exec): Ditto. |
| * plugin/plugin-nvptx.c (struct gomp_offload_session): Define. |
| (GOMP_OFFLOAD_session_start): Implement. |
| (GOMP_OFFLOAD_session_set_target_var_table): Implement. |
| (GOMP_OFFLOAD_openacc_exec): Adjust to receive session. |
| (GOMP_OFFLOAD_openacc_async_exec): Ditto. |
| (GOMP_OFFLOAD_run): Ditto. |
| * target.c (gomp_get_tvt_size): Extract helper from... |
| (gomp_map_vars_internal): ... here. Receive SESSION, iff doing |
| target offload. Use a target variable table on the host |
| allocated by GOMP_OFFLOAD_session_allocate_target_var_table if |
| possible, or call GOMP_OFFLOAD_session_set_target_var_table with |
| an allocated device pointer otherwise. |
| (gomp_map_vars): Update to pass along session. |
| (goacc_map_vars): Ditto. |
| (GOMP_target): Allocate and pass along session. |
| (GOMP_target_ext): Ditto. |
| (gomp_target_data_fallback): Adjust call to gomp_map_vars. |
| (GOMP_target_data): Ditto. |
| (GOMP_target_data_ext): Ditto. |
| (GOMP_target_enter_exit_data): Ditto. |
| (gomp_target_task_fn): Start and pass along session, the storage |
| for which is allocated by gomp_create_target_task. |
| (DLSYM2): Rename from DLSYM, adding a new parameter for the |
| variable to populate, akin to DLSYM_OPT. |
| (DLSYM): Delegate to DLSYM2. |
| (gomp_load_plugin_for_device): Populate session-related fields. |
| * task.c (gomp_create_target_task): Allocate enough storage for |
| an offload session. |
| * testsuite/libgomp.c-c++-common/gcn-kernel-launch-no-tvt-alloc.c: New test. |
| * testsuite/libgomp.c-c++-common/gcn-kernel-launch-tvt-alloc.c: New test. |
| |
| 2026-07-09 Arsen Arsenović <aarsenovic@baylibre.com> |
| |
| Backported from master: |
| 2026-06-01 Arsen Arsenović <aarsenovic@baylibre.com> |
| |
| * libgomp.h (struct gomp_thread_start_data): New struct. Holds |
| thread-independent parameters needed to initialize current |
| thread. |
| (struct gomp_team): On GCN, add thr_start_data field, that holds |
| a gomp_thread_start_data to be used in each thread. |
| (struct gomp_thread): Add start_data field, that points to |
| thread initialization parameters. |
| * config/gcn/team.c (gomp_team_start): Move thread |
| initialization steps into ... |
| (gomp_prep_our_thread): this new function, such that it reads |
| from a gomp_thread_start_data object. |
| (gomp_thread_start): Call the above to initialize our thread. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-05-29 Tobias Burnus <tburnus@baylibre.com> |
| |
| PR c/122892 |
| * allocator.c (_Static_assert): Add asserts for the values of |
| GOMP_OMP_PREDEF_ALLOC_CGROUP and GOMP_OMP_PREDEF_ALLOC_PTEAM. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-05-27 Tobias Burnus <tburnus@baylibre.com> |
| |
| * libgomp.texi (Foreign-runtime support for AMD GPUs, |
| Foreign-runtime support for Nvdia GPUs): Fix vendor |
| value to match compiler not GPU vendor. |
| * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_interop_int, |
| GOMP_OFFLOAD_get_interop_str): Return 5/"gnu" as ipr_vendor. |
| * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_interop_int, |
| GOMP_OFFLOAD_get_interop_str): Likewise. |
| * testsuite/libgomp.c/append-args-fr.h: Updated expected |
| value. |
| * testsuite/libgomp.c/interop-cuda-full.c: Likewise. |
| * testsuite/libgomp.c/interop-fr-1.c: Likewise. |
| * testsuite/libgomp.c/interop-hip.h: Likewise. |
| * testsuite/libgomp.fortran/interop-hip.h: Likewise. |
| |
| 2026-07-09 Paul-Antoine Arras <parras@baylibre.com> |
| |
| Backported from master: |
| 2026-05-19 Paul-Antoine Arras <parras@baylibre.com> |
| Chung-Lin Tang <cltang@baylibre.com> |
| Sandra Loosemore <sloosemore@baylibre.com> |
| |
| * testsuite/libgomp.c++/target-map-multi-1.C: New test. |
| * testsuite/libgomp.c-c++-common/target-map-iterators-6.c: New test. |
| * testsuite/libgomp.c-c++-common/target-map-multi-1.c: New test. |
| * testsuite/libgomp.c-c++-common/target-map-multi-2.c: New test. |
| * testsuite/libgomp.c-c++-common/target-map-multi-3.c: New test. |
| * testsuite/libgomp.c-c++-common/target-map-multi-4.c: New test. |
| * testsuite/libgomp.fortran/target-map-multi-1.f90: New test. |
| * testsuite/libgomp.fortran/target-map-multi-2.f90: New test. |
| * testsuite/libgomp.fortran/target-map-multi-3.f90: New test. |
| * testsuite/libgomp.fortran/target-map-multi-4.f90: New test. |
| * testsuite/libgomp.fortran/target-map-multi-5.f90: New test. |
| |
| 2026-07-09 H.J. Lu <hjl.tools@gmail.com> |
| |
| Backported from master: |
| 2026-05-13 H.J. Lu <hjl.tools@gmail.com> |
| |
| * libgomp.texi: the Add missing closing brace. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-05-13 Tobias Burnus <tburnus@baylibre.com> |
| |
| * env.c (omp_control_tool): Stub implementation for omp_control_tool. |
| * fortran.c (omp_control_tool_, omp_control_tool_8_): Add. |
| * libgomp.map (OMP_6.0): Add for omp_control_tool*. |
| * libgomp.texi (Tool Control Routine): Add for omp_control_tool. |
| (OpenMP 6.0): Mark omp_pause_stop_tool as implemented. |
| * omp.h.in (omp_pause_resource_t): Add omp_pause_stop_tool. |
| (omp_control_tool_result_t): Add. |
| (omp_control_tool_t): Add. |
| * omp_lib.f90.in (omp_lib_kinds): Add omp_pause_stop_tool and |
| omp_control_tool/omp_control_tool_result parameters. |
| (omp_lib): Add omp_control_tool interface. |
| * omp_lib.h.in: Add omp_pause_stop_tool and |
| omp_control_tool/omp_control_tool_result parameters; add |
| omp_control_tool interface. |
| * testsuite/libgomp.c/omp-control-tools-1.c: New test. |
| * testsuite/libgomp.fortran/omp-control-tools-1.f: New test. |
| * testsuite/libgomp.fortran/omp-control-tools-1.f90: New test. |
| |
| 2026-07-09 Tobias Burnus <tburnus@baylibre.com> |
| |
| Backported from master: |
| 2026-04-28 Tobias Burnus <tburnus@baylibre.com> |
| |
| * testsuite/libgomp.fortran/map-subarray-6.f90: Fix, extend, and |
| robustify. |