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 6C66E3857801; Tue, 11 May 2021 08:56:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6C66E3857801 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Julian_Brown@mentor.com IronPort-SDR: Uc4gdKkyswxKMWMOZ1dtqJwWKXgsp21A5KrOA5jc/LqFLy4NmTVGh30fofdp57aNYRjKSwT+qI zyyo6RqqOPxH2DHQRTnrvw29F1DCv/N+HVqDDSTgOha2hRfd9uc0A5qKhLf8FdKH/VZ2uMF+9i +GWYanH9eRqLaBnvvCCh8/D1J1faBqfU/wfG0N9MG2v4HbnILkWZwwy0ttrBBgkNem9ztH7fG7 vAtodNVNzg3qvnzXxUwHkhIcvgjUFJ7YYtofmq+zL6dmGxmMphWcnbBxK9FKzNA/X1elLgvDFi 7nQ= X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="61053238" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 11 May 2021 00:56:56 -0800 IronPort-SDR: PuVhIO/FzaAHCiqnk2P7+LqVaN/7a4wi3XuFtuhJK79/NN3xeurp4muwkY3pKBJILQ/KNQR9LZ +xK4Akz6gk6L+we1mXem8tTzMoRCtUNjRP8XEE19H4hBWOWYSh6QsyhkjcmTcMUeNgMKsAUGM9 8Odf16RbV2K44OpqwK0S5BRc+gGrV9gz7dzKFJAgxLgG2HsXDvDhK87VK/HPlrO1CvVUl7SGC6 SElBAWE1z6nHsM3BBIT06vKmvThVfYGBWBnlqrgQvIC1v/q81c4n4RwYa/1DCjBzUe+KWkhlCc 0S0= From: Julian Brown To: CC: Chung-Lin Tang , Jakub Jelinek , Thomas Schwinge , , Tobias Burnus Subject: [PATCH 0/7] [og10] OpenACC/OpenMP: Rework struct component handling Date: Tue, 11 May 2021 01:56:30 -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-09.mgc.mentorg.com (139.181.222.9) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 May 2021 08:56:59 -0000 Hi, This patch series reworks how indirect struct (or class or derived-type) component mappings are lowered for OpenMP and OpenACC. The series is currently based on the og10 branch, but I'm planning to rebase it to trunk and repost soon. Currently on og10, there are some conflicts with Chung-Lin's recent work to support indirect struct component mapping and (particularly) C++ lambdas for OpenMP -- some of those conflicts are addressed by this patch series, but some still need attention. There are a couple of regressions (see the last patch in the series) so the whole series isn't quite ready for og10 yet. Hopefully posting now will help us resolve those last bits! The first two patches in the series have been tested by themselves however, and those ones do *not* cause regressions. If it seems helpful, I can commit those now. Julian Julian Brown (7): [og10] Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset [og10] Refactor struct lowering for OpenMP/OpenACC in gimplify.c [og10] Revert gimplify.c parts of "Fix template case of non-static member access inside member functions" [og10] Revert gimplify.c parts of "Arrow operator handling for C front-end in OpenMP map clauses" [og10] Rewrite GOMP_MAP_ATTACH_DETACH mappings for OpenMP also [og10] Rework indirect struct handling for OpenACC/OpenMP in gimplify.c [og10] WIP GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION changes gcc/fortran/trans-openmp.c | 20 +- gcc/gimplify.c | 1178 ++++++++++------- gcc/omp-low.c | 16 +- gcc/testsuite/g++.dg/goacc/member-array-acc.C | 13 + gcc/testsuite/g++.dg/gomp/member-array-omp.C | 13 + gcc/testsuite/g++.dg/gomp/target-3.C | 4 +- gcc/testsuite/g++.dg/gomp/target-this-2.C | 2 +- .../libgomp.oacc-c-c++-common/deep-copy-15.c | 68 + .../libgomp.oacc-c-c++-common/deep-copy-16.c | 95 ++ 9 files changed, 921 insertions(+), 488 deletions(-) create mode 100644 gcc/testsuite/g++.dg/goacc/member-array-acc.C create mode 100644 gcc/testsuite/g++.dg/gomp/member-array-omp.C create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c -- 2.29.2