From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 6DF6638418BE; Wed, 1 Jun 2022 18:39:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6DF6638418BE Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.91,269,1647331200"; d="scan'208";a="76666078" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 01 Jun 2022 10:39:31 -0800 IronPort-SDR: pYFuRSrxcTPHK/K+KCOLDLZjFbSYWi5OgubArN0bp0MhBTcsmU0v41fF3m9QdOIyIyYrSRYWKx nHEvfouRa7vtgVP2+xYa7SI8D+AmyQckPrE/++x6oyPfvnU9OSXR5fgrxXDUrSn9qwIWrvfsUu g+kUEf5j0zv0cFDy3YioLndx0ZBiPGWAYWI2qKfyZ/IDR6lEb9CI+vU30aXtL+7UfIod/lT8mz 3XH8XyOLiqNK0GUcmmuNgB6QGgJKw1aETS5Q3Na5sRvpyYqCU2qeRWtH+/d4PR2vroenK09MQ+ p2I= From: Julian Brown To: CC: , Tobias Burnus , Jakub Jelinek Subject: [PATCH 0/6] OpenMP 5.0: Fortran "declare mapper" support Date: Wed, 1 Jun 2022 11:39:18 -0700 Message-ID: X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-05.mgc.mentorg.com (139.181.222.5) To svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jun 2022 18:39:34 -0000 This patch series implements "declare mapper" support for Fortran, following on from the C and C++ support for same in the currently in-review series posted here: https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591973.html Further commentary on individual patches. Tested with offloading to NVPTX. OK? (Pending rework of the patch series it depends on?) Thanks, Julian Julian Brown (6): Fortran: Typo/unicode-o fixes OpenMP: Templatize omp_mapper_list OpenMP: Rename strip_components_and_deref to omp_get_root_term OpenMP: Tweak NOP handling in in omp_get_root_term and accumulate_sibling_list OpenMP: Pointers and member mappings OpenMP: Fortran "!$omp declare mapper" support gcc/c-family/c-common.h | 4 +- gcc/c-family/c-omp.cc | 2 +- gcc/c/c-decl.cc | 6 +- gcc/cp/semantics.cc | 8 +- gcc/fortran/dump-parse-tree.cc | 5 +- gcc/fortran/f95-lang.cc | 7 + gcc/fortran/gfortran.h | 55 +- gcc/fortran/match.cc | 8 +- gcc/fortran/match.h | 1 + gcc/fortran/module.cc | 252 +++++- gcc/fortran/openmp.cc | 296 ++++++- gcc/fortran/parse.cc | 9 +- gcc/fortran/resolve.cc | 2 + gcc/fortran/st.cc | 2 +- gcc/fortran/symbol.cc | 16 + gcc/fortran/trans-decl.cc | 30 +- gcc/fortran/trans-openmp.cc | 778 +++++++++++++++++- gcc/fortran/trans-stmt.h | 1 + gcc/fortran/trans.h | 3 + gcc/gimplify.cc | 422 ++++++++-- gcc/omp-general.h | 32 +- .../gfortran.dg/gomp/declare-mapper-1.f90 | 71 ++ .../gfortran.dg/gomp/declare-mapper-14.f90 | 26 + .../gfortran.dg/gomp/declare-mapper-16.f90 | 22 + .../gfortran.dg/gomp/declare-mapper-5.f90 | 45 + gcc/tree-pretty-print.cc | 3 + include/gomp-constants.h | 5 +- .../libgomp.fortran/declare-mapper-10.f90 | 40 + .../libgomp.fortran/declare-mapper-11.f90 | 38 + .../libgomp.fortran/declare-mapper-12.f90 | 33 + .../libgomp.fortran/declare-mapper-13.f90 | 49 ++ .../libgomp.fortran/declare-mapper-15.f90 | 24 + .../libgomp.fortran/declare-mapper-17.f90 | 92 +++ .../libgomp.fortran/declare-mapper-18.f90 | 46 ++ .../libgomp.fortran/declare-mapper-19.f90 | 29 + .../libgomp.fortran/declare-mapper-2.f90 | 32 + .../libgomp.fortran/declare-mapper-20.f90 | 29 + .../libgomp.fortran/declare-mapper-3.f90 | 33 + .../libgomp.fortran/declare-mapper-4.f90 | 36 + .../libgomp.fortran/declare-mapper-6.f90 | 28 + .../libgomp.fortran/declare-mapper-7.f90 | 29 + .../libgomp.fortran/declare-mapper-8.f90 | 115 +++ .../libgomp.fortran/declare-mapper-9.f90 | 27 + .../libgomp.fortran/map-subarray.f90 | 33 + .../libgomp.fortran/map-subcomponents.f90 | 32 + .../libgomp.fortran/struct-elem-map-1.f90 | 10 +- 46 files changed, 2702 insertions(+), 164 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-1.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-14.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-16.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-5.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-10.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-11.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-12.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-13.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-15.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-17.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-18.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-19.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-2.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-20.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-3.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-4.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-6.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-7.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-8.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-9.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/map-subarray.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/map-subcomponents.f90 -- 2.29.2