https://gcc.gnu.org/g:84efccbc61d08eca9ccb86fd45ac7106c14c7b89
commit 84efccbc61d08eca9ccb86fd45ac7106c14c7b89 Merge: 7543bfda00d7 04696df09633 Author: Tobias Burnus <tbur...@baylibre.com> Date: Thu Aug 1 11:09:11 2024 +0200 Merge branch 'releases/gcc-14' into devel/omp/gcc-14 Merge up to r14-10526-g04696df09633ba (1st August 2024). That's the 'GCC 14.2.0 released.' commit. Diff: ChangeLog | 4 ++ c++tools/ChangeLog | 4 ++ config/ChangeLog | 4 ++ contrib/ChangeLog | 4 ++ contrib/header-tools/ChangeLog | 4 ++ contrib/reghunt/ChangeLog | 4 ++ contrib/regression/ChangeLog | 4 ++ fixincludes/ChangeLog | 4 ++ gcc/BASE-VER | 2 +- gcc/ChangeLog | 40 +++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 4 ++ gcc/analyzer/ChangeLog | 4 ++ gcc/c-family/ChangeLog | 4 ++ gcc/c/ChangeLog | 4 ++ gcc/config/i386/driver-i386.cc | 3 +- gcc/config/i386/i386-options.cc | 3 +- gcc/cp/ChangeLog | 39 +++++++++++++++ gcc/cp/constexpr.cc | 21 +++++--- gcc/cp/cp-gimplify.cc | 4 ++ gcc/cp/semantics.cc | 2 +- gcc/d/ChangeLog | 4 ++ gcc/fortran/ChangeLog | 4 ++ gcc/go/ChangeLog | 4 ++ gcc/jit/ChangeLog | 4 ++ gcc/lto/ChangeLog | 4 ++ gcc/m2/ChangeLog | 4 ++ gcc/objc/ChangeLog | 4 ++ gcc/objcp/ChangeLog | 4 ++ gcc/po/ChangeLog | 4 ++ gcc/rust/ChangeLog | 4 ++ gcc/testsuite/ChangeLog | 69 ++++++++++++++++++++++++++ gcc/testsuite/g++.dg/cpp23/consteval-if13.C | 17 +++++++ gcc/testsuite/g++.dg/cpp2a/concepts-lambda21.C | 69 ++++++++++++++++++++++++++ gcc/testsuite/g++.dg/cpp2a/consteval-prop21.C | 23 +++++++++ gcc/testsuite/g++.dg/cpp2a/constexpr-init23.C | 22 ++++++++ gcc/testsuite/gcc.dg/torture/pr116057.c | 20 ++++++++ gcc/testsuite/gcc.target/i386/pr115978-1.c | 22 ++++++++ gcc/testsuite/gcc.target/i386/pr115978-2.c | 6 +++ gcc/tree-ssa-ccp.cc | 11 ++++ gnattools/ChangeLog | 4 ++ gotools/ChangeLog | 4 ++ include/ChangeLog | 4 ++ libada/ChangeLog | 4 ++ libatomic/ChangeLog | 4 ++ libbacktrace/ChangeLog | 4 ++ libcc1/ChangeLog | 4 ++ libcody/ChangeLog | 4 ++ libcpp/ChangeLog | 4 ++ libcpp/po/ChangeLog | 4 ++ libdecnumber/ChangeLog | 4 ++ libffi/ChangeLog | 4 ++ libgcc/ChangeLog | 4 ++ libgcc/config/avr/libf7/ChangeLog | 4 ++ libgcc/config/libbid/ChangeLog | 4 ++ libgfortran/ChangeLog | 4 ++ libgm2/ChangeLog | 4 ++ libgomp/ChangeLog | 11 +--- libgomp/ChangeLog.omp | 10 ++++ libgrust/ChangeLog | 4 ++ libiberty/ChangeLog | 4 ++ libitm/ChangeLog | 4 ++ libobjc/ChangeLog | 4 ++ libphobos/ChangeLog | 4 ++ libquadmath/ChangeLog | 4 ++ libsanitizer/ChangeLog | 4 ++ libssp/ChangeLog | 4 ++ libstdc++-v3/ChangeLog | 4 ++ libvtv/ChangeLog | 4 ++ lto-plugin/ChangeLog | 4 ++ maintainer-scripts/ChangeLog | 4 ++ zlib/ChangeLog | 4 ++ 72 files changed, 584 insertions(+), 20 deletions(-) diff --cc libgomp/ChangeLog.omp index d02bbb14e876,000000000000..bda7382a3b45 mode 100644,000000..100644 --- a/libgomp/ChangeLog.omp +++ b/libgomp/ChangeLog.omp @@@ -1,834 -1,0 +1,844 @@@ +2024-08-01 Tobias Burnus <tbur...@baylibre.com> + + Backported from master: + 2024-08-01 Tobias Burnus <tbur...@baylibre.com> + Richard Biener <rguent...@suse.de + + PR middle-end/115637 + * testsuite/libgomp.fortran/declare-target-link.f90: Uncomment + now working code. + +2024-07-29 Tobias Burnus <tbur...@baylibre.com> + + Backported from master: + 2024-07-29 Tobias Burnus <tbur...@baylibre.com> + + PR fortran/115559 + * testsuite/libgomp.fortran/declare-target-link.f90: New test. + ++2024-07-29 Tobias Burnus <tbur...@baylibre.com> ++ ++ Backported from master: ++ 2024-07-29 Tobias Burnus <tbur...@baylibre.com> ++ ++ PR middle-end/116107 ++ * target.c (gomp_map_vars_internal): Honor array mapping offsets ++ with declare-target 'link' variables. ++ * testsuite/libgomp.c-c++-common/target-link-2.c: New test. ++ +2024-07-19 Thomas Schwinge <tschwi...@baylibre.com> + + Backported from trunk: + 2024-07-19 Thomas Schwinge <tschwi...@baylibre.com> + + * config/gcn/target.c (GOMP_teams4): Document. + * config/nvptx/target.c (GOMP_teams4): Likewise. + * target.c (GOMP_teams4): Likewise. + + Backported from trunk: + 2024-07-19 Thomas Schwinge <tschwi...@baylibre.com> + + * config/gcn/libgomp-gcn.h (GOMP_TEAM_NUM): Inject. + * config/gcn/target.c (GOMP_teams4): Handle. + * config/gcn/team.c (gomp_gcn_enter_kernel): Initialize. + * config/gcn/teams.c (omp_get_team_num): Adjust. + +2024-04-16 Andrew Pinski <quic_apin...@quicinc.com> + + * gfortran.dg/gomp/atomic-21.f90: Update testcase for the removal of `;`. + +2024-05-02 Jakub Jelinek <ja...@redhat.com> + + * testsuite/libgomp.c/declare-variant-4.h (gfx90c, gfx1036, gfx1103): + New functions. + (f): Add #pragma omp declare variant directives for those. + * testsuite/libgomp.c/declare-variant-4-gfx90c.c: New test. + * testsuite/libgomp.c/declare-variant-4-gfx1036.c: New test. + * testsuite/libgomp.c/declare-variant-4-gfx1103.c: New test. + +2024-05-04 Sandra Loosemore <sloosem...@baylibre.com> + + * libgomp.texi (OpenMP 5.0): Mark metadirective and declare variant + as implemented. + (OpenMP 5.1): Mark target_device as supported. + Add changed interaction between declare target and OpenMP context + and dynamic selector support. + (OpenMP 5.2): Mark otherwise clause as supported, note that + default is also still accepted. + +2024-05-04 Sandra Loosemore <sloosem...@baylibre.com> + + * testsuite/libgomp.fortran/metadirective-1.f90: New. + * testsuite/libgomp.fortran/metadirective-2.f90: New. + * testsuite/libgomp.fortran/metadirective-3.f90: New. + * testsuite/libgomp.fortran/metadirective-4.f90: New. + * testsuite/libgomp.fortran/metadirective-5.f90: New. + * testsuite/libgomp.fortran/metadirective-6.f90: New. + +2024-05-04 Sandra Loosemore <sloosem...@baylibre.com> + + * testsuite/libgomp.c-c++-common/metadirective-1.c: New. + * testsuite/libgomp.c-c++-common/metadirective-2.c: New. + * testsuite/libgomp.c-c++-common/metadirective-3.c: New. + * testsuite/libgomp.c-c++-common/metadirective-4.c: New. + * testsuite/libgomp.c-c++-common/metadirective-5.c: New. + +2024-05-04 Sandra Loosemore <sloosem...@baylibre.com> + + * testsuite/libgomp.c++/metadirective-template-1.C: New. + * testsuite/libgomp.c++/metadirective-template-2.C: New. + * testsuite/libgomp.c++/metadirective-template-3.C: New. + +2024-05-04 Sandra Loosemore <sloosem...@baylibre.com> + + * Makefile.am (libgomp_la_SOURCES): Add selector.c. + * Makefile.in: Regenerate. + * config/gcn/selector.c: New. + * config/linux/selector.c: New. + * config/linux/x86/selector.c: New. + * config/nvptx/selector.c: New. + * libgomp-plugin.h (GOMP_OFFLOAD_evaluate_device): New. + * libgomp.h (struct gomp_device_descr): Add evaluate_device_func field. + * libgomp.map (GOMP_5.1.3): New, add GOMP_evaluate_target_device. + * libgomp.texi (OpenMP Context Selectors): Document dynamic selector + matching of kind/arch/isa. + * libgomp_g.h (GOMP_evaluate_current_device): New. + (GOMP_evaluate_target_device): New. + * oacc-host.c (host_evaluate_device): New. + (host_openacc_exec): Initialize evaluate_device_func field to + host_evaluate_device. + * plugin/plugin-gcn.c (gomp_match_selectors): New. + (gomp_match_isa): New. + (GOMP_OFFLOAD_evaluate_device): New. + * plugin/plugin-nvptx.c (struct ptx_device): Add compute_major and + compute_minor fields. + (nvptx_open_device): Read compute capability information from device. + (gomp_match_selectors): New. + (gomp_match_selector): New. + (CHECK_ISA): New macro. + (GOMP_OFFLOAD_evaluate_device): New. + * selector.c: New. + * target.c (GOMP_evaluate_target_device): New. + (gomp_load_plugin_for_device): Load evaluate_device plugin function. + +2023-10-30 Tobias Burnus <tob...@codesourcery.com> + + * testsuite/libgomp.fortran/allocate-8a.f90: New test. + +2023-10-26 Tobias Burnus <tob...@codesourcery.com> + + * libgomp.texi (OpenMP Impl. Status): Document that 'omp allocate' + is now supported for C++ stack/automatic variables. + * testsuite/libgomp.c-c++-common/allocate-4.c: Renamed from ... + * testsuite/libgomp.c/allocate-4.c: ... this. + * testsuite/libgomp.c-c++-common/allocate-5.c: Renamed from ... + * testsuite/libgomp.c/allocate-5.c: ... this. + * testsuite/libgomp.c-c++-common/allocate-6.c: Renamed from ... + * testsuite/libgomp.c/allocate-6.c: ... this. + * testsuite/libgomp.c++/allocate-2.C: New test. + +2023-09-19 Julian Brown <jul...@codesourcery.com> + + * target.c (omp_target_memcpy_rect_worker): Add 1D strided transfer + support. + +2023-08-10 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.c-c++-common/declare-mapper-18.c: New test. + * testsuite/libgomp.fortran/declare-mapper-25.f90: New test. + * testsuite/libgomp.fortran/declare-mapper-28.f90: New test. + +2023-07-14 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.c-c++-common/array-shaping-14.c: New test. + +2023-09-05 Julian Brown <jul...@codesourcery.com> + + * 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. + +2023-07-03 Julian Brown <jul...@codesourcery.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. + +2023-07-03 Julian Brown <jul...@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. + +2023-08-10 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.fortran/declare-mapper-30.f90: New test. + * testsuite/libgomp.fortran/declare-mapper-4.f90: Adjust test for new + lookup behaviour. + +2023-07-12 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/implicit-mapping-1.c: Add + expected warning. + * testsuite/libgomp.oacc-fortran/declare-create-1.f90: Likewise. + * testsuite/libgomp.oacc-fortran/declare-create-2.f90: Likewise. + * testsuite/libgomp.oacc-fortran/declare-create-3.f90: Likewise. + * testsuite/libgomp.oacc-fortran/nonlexical-assumed-size-1.f90: + Likewise. + * testsuite/libgomp.oacc-fortran/nonlexical-assumed-size-2.f90: + Likewise. + +2023-06-30 Julian Brown <jul...@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. + +2023-06-30 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.c-c++-common/declare-mapper-9.c: Enable for C. + * testsuite/libgomp.c-c++-common/declare-mapper-10.c: Likewise. + * testsuite/libgomp.c-c++-common/declare-mapper-11.c: Likewise. + * testsuite/libgomp.c-c++-common/declare-mapper-12.c: Likewise. + * testsuite/libgomp.c-c++-common/declare-mapper-13.c: Likewise. + * testsuite/libgomp.c-c++-common/declare-mapper-14.c: Likewise. + +2023-06-30 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.c++/declare-mapper-1.C: New test. + * testsuite/libgomp.c++/declare-mapper-2.C: New test. + * testsuite/libgomp.c++/declare-mapper-3.C: New test. + * testsuite/libgomp.c++/declare-mapper-4.C: New test. + * testsuite/libgomp.c++/declare-mapper-5.C: New test. + * testsuite/libgomp.c++/declare-mapper-6.C: New test. + * testsuite/libgomp.c++/declare-mapper-7.C: New test. + * testsuite/libgomp.c++/declare-mapper-8.C: New test. + * testsuite/libgomp.c-c++-common/declare-mapper-9.c: New test (only + enabled for C++ for now). + * testsuite/libgomp.c-c++-common/declare-mapper-10.c: Likewise. + * testsuite/libgomp.c-c++-common/declare-mapper-11.c: Likewise. + * testsuite/libgomp.c-c++-common/declare-mapper-12.c: Likewise. + * testsuite/libgomp.c-c++-common/declare-mapper-13.c: Likewise. + * testsuite/libgomp.c-c++-common/declare-mapper-14.c: Likewise. + +2023-06-19 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/implicit-mapping-1.c: New test. + +2023-06-19 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.oacc-fortran/nonlexical-assumed-size-1.f90: New + test. + * testsuite/libgomp.oacc-fortran/nonlexical-assumed-size-2.f90: New + test. + +2023-06-19 Julian Brown <jul...@codesourcery.com> + + * 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. + +2023-06-19 Julian Brown <jul...@codesourcery.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/pr70828.f90: Likewise. + * 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. + +2023-05-12 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C: New + test. + * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C: New + test. + * testsuite/libgomp.c++/static-aggr-constructor-destructor-3.C: New + test. + +2023-04-03 Thomas Schwinge <tho...@codesourcery.com> + + PR other/76739 + * target.c (gomp_map_vars_internal): Pass pre-allocated 'ptrblock' + to 'goacc_noncontig_array_create_ptrblock'. + * oacc-parallel.c (goacc_noncontig_array_create_ptrblock): Adjust. + * oacc-int.h (goacc_noncontig_array_create_ptrblock): Adjust. + + * libgomp.texi (AMD Radeon, nvptx): Document OpenMP 'pinned' + memory. + +2024-06-06 Jakub Jelinek <ja...@redhat.com> + + * libgomp.texi (OpenMP 5.1 status): Mark Loop transformation constructs + as implemented. + +2024-06-05 Jakub Jelinek <ja...@redhat.com> + Frederik Harwath <frede...@codesourcery.com> + Sandra Loosemore <san...@codesourcery.com> + + * testsuite/libgomp.c-c++-common/imperfect-transform-1.c: New test. + * testsuite/libgomp.c-c++-common/imperfect-transform-2.c: New test. + * testsuite/libgomp.c-c++-common/matrix-1.h: New test. + * testsuite/libgomp.c-c++-common/matrix-constant-iter.h: New test. + * testsuite/libgomp.c-c++-common/matrix-helper.h: New test. + * testsuite/libgomp.c-c++-common/matrix-no-directive-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-no-directive-unroll-full-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-distribute-parallel-for-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-for-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-omp-parallel-for-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-omp-parallel-masked-taskloop-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-parallel-masked-taskloop-simd-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-target-parallel-for-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-target-teams-distribute-parallel-for-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-taskloop-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-omp-teams-distribute-parallel-for-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-simd-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-transform-variants-1.h: + New test. + * testsuite/libgomp.c-c++-common/target-imperfect-transform-1.c: + New test. + * testsuite/libgomp.c-c++-common/target-imperfect-transform-2.c: + New test. + * testsuite/libgomp.c-c++-common/unroll-1.c: New test. + * testsuite/libgomp.c-c++-common/unroll-non-rect-1.c: New test. + * testsuite/libgomp.c++/matrix-no-directive-unroll-full-1.C: New test. + * testsuite/libgomp.c++/tile-2.C: New test. + * testsuite/libgomp.c++/tile-3.C: New test. + * testsuite/libgomp.c++/unroll-1.C: New test. + * testsuite/libgomp.c++/unroll-2.C: New test. + * testsuite/libgomp.c++/unroll-full-tile.C: New test. + * testsuite/libgomp.fortran/imperfect-transform-1.f90: New test. + * testsuite/libgomp.fortran/imperfect-transform-2.f90: New test. + * testsuite/libgomp.fortran/inner-1.f90: New test. + * testsuite/libgomp.fortran/nested-fn.f90: New test. + * testsuite/libgomp.fortran/target-imperfect-transform-1.f90: New test. + * testsuite/libgomp.fortran/target-imperfect-transform-2.f90: New test. + * testsuite/libgomp.fortran/tile-1.f90: New test. + * testsuite/libgomp.fortran/tile-2.f90: New test. + * testsuite/libgomp.fortran/tile-unroll-1.f90: New test. + * testsuite/libgomp.fortran/tile-unroll-2.f90: New test. + * testsuite/libgomp.fortran/tile-unroll-3.f90: New test. + * testsuite/libgomp.fortran/tile-unroll-4.f90: New test. + * testsuite/libgomp.fortran/unroll-1.f90: New test. + * testsuite/libgomp.fortran/unroll-2.f90: New test. + * testsuite/libgomp.fortran/unroll-3.f90: New test. + * testsuite/libgomp.fortran/unroll-4.f90: New test. + * testsuite/libgomp.fortran/unroll-5.f90: New test. + * testsuite/libgomp.fortran/unroll-6.f90: New test. + * testsuite/libgomp.fortran/unroll-7a.f90: New test. + * testsuite/libgomp.fortran/unroll-7b.f90: New test. + * testsuite/libgomp.fortran/unroll-7c.f90: New test. + * testsuite/libgomp.fortran/unroll-7.f90: New test. + * testsuite/libgomp.fortran/unroll-8.f90: New test. + * testsuite/libgomp.fortran/unroll-simd-1.f90: New test. + * testsuite/libgomp.fortran/unroll-tile-1.f90: New test. + * testsuite/libgomp.fortran/unroll-tile-2.f90: New test. + +2023-03-24 Thomas Schwinge <tho...@codesourcery.com> + + * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy', + 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'. + * libgomp.h (gomp_target_rev): Adjust. + * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust. + * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust. + * plugin/plugin-gcn.c (process_reverse_offload): Adjust. + * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy) + (rev_off_host_to_dev_cpy): Remove. + (GOMP_OFFLOAD_run): Adjust. + + * target.c (gomp_unmap_vars_internal): Queue splay-tree keys for + removal after main loop. + + PR other/76739 + * oacc-parallel.c (GOACC_parallel_keyed): Given OpenACC 'async', + defer 'free' of non-contiguous array support data structures. + * target.c (gomp_map_vars_internal): Likewise. + +2023-03-23 Tobias Burnus <tob...@codesourcery.com> + + * testsuite/libgomp.fortran/map-alloc-comp-8.f90: New test. + +2023-03-10 Thomas Schwinge <tho...@codesourcery.com> + + PR other/76739 + * libgomp.h (goacc_map_vars): Add 'struct goacc_ncarray_info *' + formal parameter. + (gomp_map_vars_openacc): Remove. + * target.c (goacc_map_vars): Adjust. + (gomp_map_vars_openacc): Remove. + * oacc-mem.c (acc_map_data, goacc_enter_datum) + (goacc_enter_data_internal): Adjust. + * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start): + Adjust. + +2024-05-31 Thomas Schwinge <tschwi...@baylibre.com> + + * libgomp.texi (nvptx): Update. + * testsuite/libgomp.fortran/target-print-1-nvptx.f90: Remove. + * testsuite/libgomp.fortran/target-print-1.f90: Adjust. + * testsuite/libgomp.oacc-fortran/error_stop-2-nvptx.f: New. + * testsuite/libgomp.oacc-fortran/error_stop-2.f: Adjust. + * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Adjust. + * testsuite/libgomp.oacc-fortran/print-1.f90: Adjust. + * testsuite/libgomp.oacc-fortran/stop-2-nvptx.f: New. + * testsuite/libgomp.oacc-fortran/stop-2.f: Adjust. + +2024-05-31 Thomas Schwinge <tschwi...@baylibre.com> + + * plugin/cuda-lib.def (cuCtxSetLimit): Add. + * plugin/plugin-nvptx.c (nvptx_open_device): Handle + 'GOMP_NVPTX_NATIVE_GPU_THREAD_STACK_SIZE' environment variable. + +2024-06-05 Thomas Schwinge <tschwi...@baylibre.com> + + * plugin/plugin-nvptx.c (nvptx_do_global_cdtors): New. + (nvptx_close_device, GOMP_OFFLOAD_load_image) + (GOMP_OFFLOAD_unload_image): Call it. + +2024-06-05 Thomas Schwinge <tschwi...@baylibre.com> + + * config/nvptx/error.c (exit): Don't override. + * testsuite/libgomp.oacc-fortran/error_stop-1.f: Update. + * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise. + * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise. + * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise. + * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise. + * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise. + +2022-12-06 Paul-Antoine Arras <p...@codesourcery.com> + + * config/gcn/selector.c (GOMP_evaluate_current_device): Recognise 'amdgcn' + as arch, and '-march' values (as well as 'gfx803') as isa traits. + * testsuite/libgomp.c-c++-common/metadirective-6.c: New test. + +2022-11-02 Tobias Burnus <tob...@codesourcery.com> + + * 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. + + * 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. + +2022-11-02 Tobias Burnus <tob...@codesourcery.com> + + * testsuite/libgomp.fortran/target-enter-data-3a.f90: New test. + +2022-11-02 Tobias Burnus <tob...@codesourcery.com> + + * testsuite/libgomp.fortran/target-13.f90: Update test. + +2023-11-19 Tobias Burnus <tob...@codesourcery.com> + Chung-Lin Tang <clt...@codesourcery.com> + + * testsuite/libgomp.c++/c++.exp (check_effective_target_c, + check_effective_target_c++): Add. + * testsuite/libgomp.c/c.exp (check_effective_target_c, + check_effective_target_c++): Add. + * testsuite/libgomp.fortran/uses_allocators_2.f90: Remove 'sorry'. + * testsuite/libgomp.c-c++-common/uses_allocators-1.c: New test. + * testsuite/libgomp.c-c++-common/uses_allocators-2.c: New test. + * testsuite/libgomp.c-c++-common/uses_allocators-3.c: New test. + * testsuite/libgomp.c-c++-common/uses_allocators-4.c: New test. + * testsuite/libgomp.fortran/uses_allocators_3.f90: New test. + * 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. + +2023-08-23 Andrew Stubbs <a...@codesourcery.com> + + * Makefile.am (libgomp_la_SOURCES): Add usmpin-allocator.c. + * Makefile.in: Regenerate. + * config/linux/allocator.c: Include unistd.h. + (pin_ctx): New variable. + (ctxlock): New variable. + (linux_init_pin_ctx): New function. + (linux_memspace_alloc): Use usmpin-allocator for pinned memory. + (linux_memspace_free): Likewise. + (linux_memspace_realloc): Likewise. + * libgomp.h (usmpin_init_context): New prototype. + (usmpin_register_memory): New prototype. + (usmpin_alloc): New prototype. + (usmpin_free): New prototype. + (usmpin_realloc): New prototype. + * testsuite/libgomp.c/alloc-pinned-1.c: Adjust for new behaviour. + * testsuite/libgomp.c/alloc-pinned-2.c: Likewise. + * testsuite/libgomp.c/alloc-pinned-5.c: Likewise. + * testsuite/libgomp.c/alloc-pinned-8.c: New test. + * usmpin-allocator.c: New file. + +2023-08-23 Andrew Stubbs <a...@codesourcery.com> + + * config/linux/allocator.c: Include assert.h. + (using_device_for_page_locked): New variable. + (linux_memspace_alloc): Add init0 parameter. Support device pinning. + (linux_memspace_calloc): Set init0 to true. + (linux_memspace_free): Support device pinning. + (linux_memspace_realloc): Support device pinning. + (MEMSPACE_ALLOC): Set init0 to false. + * libgomp-plugin.h + (GOMP_OFFLOAD_page_locked_host_alloc): New prototype. + (GOMP_OFFLOAD_page_locked_host_free): Likewise. + * libgomp.h (gomp_page_locked_host_alloc): Likewise. + (gomp_page_locked_host_free): Likewise. + (struct gomp_device_descr): Add page_locked_host_alloc_func and + page_locked_host_free_func. + * libgomp_g.h (GOMP_enable_pinned_mode): New prototype. + * plugin/plugin-nvptx.c + (GOMP_OFFLOAD_page_locked_host_alloc): New function. + (GOMP_OFFLOAD_page_locked_host_free): Likewise. + * target.c (device_for_page_locked): New variable. + (get_device_for_page_locked): New function. + (gomp_page_locked_host_alloc): Likewise. + (gomp_page_locked_host_free): Likewise. + (gomp_load_plugin_for_device): Add page_locked_host_alloc and + page_locked_host_free. + * testsuite/libgomp.c/alloc-pinned-1.c: Change expectations for NVPTX + devices. + * testsuite/libgomp.c/alloc-pinned-2.c: Likewise. + * testsuite/libgomp.c/alloc-pinned-3.c: Likewise. + * testsuite/libgomp.c/alloc-pinned-4.c: Likewise. + * testsuite/libgomp.c/alloc-pinned-5.c: Likewise. + * testsuite/libgomp.c/alloc-pinned-6.c: Likewise. + +2023-08-23 Andrew Stubbs <a...@codesourcery.com> + + * config/linux/allocator.c (always_pinned_mode): New variable. + (GOMP_enable_pinned_mode): New function. + (linux_memspace_alloc): Disable pinning when always_pinned_mode set. + (linux_memspace_calloc): Likewise. + (linux_memspace_free): Likewise. + (linux_memspace_realloc): Likewise. + * libgomp.map: Add GOMP_enable_pinned_mode. + * testsuite/libgomp.c/alloc-pinned-7.c: New test. + * testsuite/libgomp.c-c++-common/alloc-pinned-1.c: New test. + +2023-08-23 Andrew Stubbs <a...@codesourcery.com> + + * allocator.c (omp_max_predefined_alloc): Update. + (predefined_alloc_mapping): Add ompx_pinned_mem_alloc entry. + (omp_aligned_alloc): Support ompx_pinned_mem_alloc. + (omp_free): Likewise. + (omp_aligned_calloc): Likewise. + (omp_realloc): Likewise. + * omp.h.in (omp_allocator_handle_t): Add ompx_pinned_mem_alloc. + * omp_lib.f90.in: Add ompx_pinned_mem_alloc. + * testsuite/libgomp.c/alloc-pinned-5.c: New test. + * testsuite/libgomp.c/alloc-pinned-6.c: New test. + * testsuite/libgomp.fortran/alloc-pinned-1.f90: New test. + +2022-03-01 Tobias Burnus <tob...@codesourcery.com> + + * testsuite/libgomp.fortran/allocatable-comp.f90: New test. + * testsuite/libgomp.fortran/map-alloc-comp-3.f90: New test. + * testsuite/libgomp.fortran/map-alloc-comp-4.f90: New test. + * testsuite/libgomp.fortran/map-alloc-comp-5.f90: New test. + * testsuite/libgomp.fortran/map-alloc-comp-6.f90: New test. + * testsuite/libgomp.fortran/map-alloc-comp-7.f90: New test. + +2022-06-21 Kwok Cheung Yeung <k...@codesourcery.com> + + * plugin/cuda-lib.def (cuMemAllocManaged): Add new call. + (cuPointerGetAttribute): Likewise. + +2021-10-21 Tobias Burnus <tob...@codesourcery.com> + + * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: Compile + with -Wopenacc-parallelism. + * testsuite/libgomp.oacc-fortran/declare-allocatable-3.f90: Likewise. + +2021-03-01 Kwok Cheung Yeung <k...@codesourcery.com> + + * testsuite/libgomp.c-c++-common/collapse-4.c: New. + * testsuite/libgomp.fortran/collapse5.f90: New. + +2021-08-03 Andrew Stubbs <a...@codesourcery.com> + + * config/gcn/bar.h (gomp_barrier_init): Limit thread count to the + actual physical number. + * config/gcn/team.c (gomp_team_start): Don't attempt to set up + threads that do not exist. + +2021-02-23 Andrew Stubbs <a...@codesourcery.com> + + * plugin/plugin-nvptx.c (GOMP_OFFLOAD_alloc): Remove early call to + nvptx_stacks_free. + +2021-01-13 Julian Brown <jul...@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. + +2020-07-16 Tobias Burnus <tob...@codesourcery.com> + + * testsuite/libgomp.oacc-fortran/firstprivate-int.f90: Use + highest available integer kind instead of assuming that kind=16 exists. + +2020-03-24 Kwok Cheung Yeung <k...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: XFAIL + execution test. + +2019-09-17 Julian Brown <jul...@codesourcery.com> + Kwok Cheung Yeung <k...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c (main): Fix + async-safety issue. Increase number of iterations. + +2018-10-04 Cesar Philippidis <ce...@codesourcery.com> + Julian Brown <jul...@codesourcery.com> + + * libgomp.h (gomp_acc_declare_allocate): Remove prototype. + * oacc-mem.c (gomp_acc_declare_allocate): New function. + * oacc-parallel.c (goacc_enter_data_internal): Handle + GOMP_MAP_DECLARE_ALLOCATE. Pass new pointer argument to + gomp_acc_declare_allocate. + (goacc_exit_data_internal): Handle GOMP_MAP_DECLARE_DEALLOCATE. + Unlock device mutex around gomp_acc_declare_allocate call. Pass + new pointer argument. Handle group pointer mapping for deallocate. + (find_group_last): Handle GOMP_MAP_DECLARE_ALLOCATE and + GOMP_MAP_DECLARE_DEALLOCATE groupings. + * testsuite/libgomp.oacc-fortran/allocatable-scalar.f90: New test. + * 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. + +2019-09-05 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.oacc-fortran/lib-13.f90: End data region after + wait API calls. + +2019-08-08 Julian Brown <jul...@codesourcery.com> + + * plugin/plugin-gcn.c (GOMP_OFFLOAD_openacc_exec_params, + GOMP_OFFLOAD_openacc_async_exec_params): New functions. + +2019-07-31 Julian Brown <jul...@codesourcery.com> + + * config/nvptx/gomp_print.c (gomp_print_string, gomp_print_integer, + gomp_print_double): New. + +2019-01-23 Thomas Schwinge <tho...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Update. + +2018-12-20 Maciej W. Rozycki <ma...@codesourcery.com> + + * oacc-init.c (get_property_any): Add profiling code. + +2017-02-28 Thomas Schwinge <tho...@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-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. + +2019-01-09 Julian Brown <jul...@codesourcery.com> + + * libgomp.texi: Update mentions of OpenACC version to 2.6. Update + section numbers to match version 2.6 of the spec. + +2019-03-19 Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/lib-93.c: Adjust target selector. + +2018-09-05 Cesar Philippidis <ce...@codesourcery.com> + Chung-Lin Tang <clt...@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. + +2018-09-20 Cesar Philippidis <ce...@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. + +2018-12-22 Cesar Philippidis <ce...@codesourcery.com> + Julian Brown <jul...@codesourcery.com> + + * oacc-parallel.c (GOACC_parallel_keyed): Handle + GOMP_MAP_FIRSTPRIVATE_INT host addresses. + * plugin/plugin-nvptx.c (nvptx_exec): Handle + GOMP_MAP_FIRSTPRIVATE_INT host addresses. + * testsuite/libgomp.oacc-c++/firstprivate-int.C: New test. + * testsuite/libgomp.oacc-c-c++-common/firstprivate-int.c: New + test. + * testsuite/libgomp.oacc-fortran/firstprivate-int.f90: New test. + +2018-10-05 Nathan Sidwell <nat...@acm.org> + Tom de Vries <tdevr...@suse.de> + Thomas Schwinge <tho...@codesourcery.com> + Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/loop-default-compile.c: New. + * testsuite/libgomp.oacc-c-c++-common/loop-warn-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. + +2018-10-22 James Norris <jnor...@codesourcery.com> + Cesar Philippidis <ce...@codesourcery.com> + Tom de Vries <t...@codesourcery.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. + +2018-12-13 Cesar Philippidis <ce...@codesourcery.com> + Nathan Sidwell <nat...@acm.org> + Julian Brown <jul...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/par-reduction-3.c: New test. + * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt-2.c: New test. + * testsuite/libgomp.oacc-fortran/reduction-9.f90: New test. + +2018-06-29 Cesar Philippidis <ce...@codesourcery.com> + James Norris <jnor...@codesourcery.com> + + * oacc-parallel.c (GOACC_parallel_keyed): Handle Fortran deviceptr + clause. + (GOACC_data_start): Likewise. + * testsuite/libgomp.oacc-fortran/deviceptr-1.f90: New test. + +2019-02-12 Julian Brown <jul...@codesourcery.com> + + * oacc-cuda.c (acc_set_cuda_stream): Return 0 on error/invalid + arguments. + * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Handle unnumbered + async stream being an alias for a numbered async stream. + * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise. + +2020-04-19 Chung-Lin Tang <clt...@codesourcery.com> + + PR other/76739 + + * libgomp_g.h (GOACC_data_start): Add variadic '...' to declaration. + * libgomp.h (gomp_map_vars_openacc): New function 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-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. + (gomp_map_vars_openacc): Add new function for specialization of + gomp_map_vars_internal for OpenACC structured region usage. + * 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. +