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 251053945C15 for ; Fri, 1 Apr 2022 09:02:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 251053945C15 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.90,226,1643702400"; d="scan'208";a="73937107" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 01 Apr 2022 01:02:42 -0800 IronPort-SDR: iY0gAUQFfuXJq1ivaLdwGb6ItCdKgbTOPYh8XBN+0TRb5BpVK1NHHEZoYB+fjkJNa32zzcZTCT 8uq9M0z+ZxLmIGt8gjmHuoeoGycF3KL3FjqWKcqLSPx9DjxgMw969ZBb1NmB0SYH7mVrZMPpwm mPE6mnu9+S5rOv8GSTW33M7y0qDtrkNcBb5seF2zhk9pvVmIqMS2eb1F0lUU9UuypyuzMIxQNg qGN5DqfalUlFwm75So2RTXR40K/KUh1275TsaxaMyB1vXlChYWS+nw56Zpo8hOIitzNqNN0AFz ses= Content-Type: multipart/mixed; boundary="------------jOEk1UR47aw4GIJ5DzL1Q8p0" Message-ID: <75e20d43-2f79-b48d-e297-3c75fa3a49b3@codesourcery.com> Date: Fri, 1 Apr 2022 17:02:36 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Content-Language: en-US From: Chung-Lin Tang Subject: [PATCH, OpenMP] Fix nested use_device_ptr To: Jakub Jelinek , gcc-patches , Tobias Burnus , Catherine Moore X-ClientProxiedBy: svr-orw-mbx-13.mgc.mentorg.com (147.34.90.213) To svr-orw-mbx-02.mgc.mentorg.com (147.34.90.202) X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Fri, 01 Apr 2022 09:02:46 -0000 --------------jOEk1UR47aw4GIJ5DzL1Q8p0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Hi Jakub, this patch fixes a bug in lower_omp_target, where for Fortran arrays, the expanded sender assignment is wrongly using the variable in the current ctx, instead of the one looked-up outside, which is causing use_device_ptr/addr to fail to work when used inside an omp-parallel (where the omp child_fn is split away from the original). Just a one-character change to fix this. The fix is inside omp-low.cc, though because the omp_array_data langhook is used only by Fortran, this is essentially Fortran-specific. Tested on x86_64-linux + nvptx offloading without regressions. This is probably not a regression, but seeking to commit when stage1 opens. Thanks, Chung-Lin 2022-04-01 Chung-Lin Tang gcc/ChangeLog: * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from current clause. libgomp/ChangeLog: * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase. --------------jOEk1UR47aw4GIJ5DzL1Q8p0 Content-Type: text/plain; charset="UTF-8"; name="omp101.patch" Content-Disposition: attachment; filename="omp101.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9vbXAtbG93LmNjIGIvZ2NjL29tcC1sb3cuY2MKaW5kZXggMzky YmIxOC4uYmY1Nzc5YiAxMDA2NDQKLS0tIGEvZ2NjL29tcC1sb3cuY2MKKysrIGIvZ2NjL29t cC1sb3cuY2MKQEAgLTEzNDA1LDcgKzEzNDA1LDcgQEAgbG93ZXJfb21wX3RhcmdldCAoZ2lt cGxlX3N0bXRfaXRlcmF0b3IgKmdzaV9wLCBvbXBfY29udGV4dCAqY3R4KQogCiAJICAgIHR5 cGUgPSBUUkVFX1RZUEUgKG92YXIpOwogCSAgICBpZiAobGFuZ19ob29rcy5kZWNscy5vbXBf YXJyYXlfZGF0YSAob3ZhciwgdHJ1ZSkpCi0JICAgICAgdmFyID0gbGFuZ19ob29rcy5kZWNs cy5vbXBfYXJyYXlfZGF0YSAob3ZhciwgZmFsc2UpOworCSAgICAgIHZhciA9IGxhbmdfaG9v a3MuZGVjbHMub21wX2FycmF5X2RhdGEgKHZhciwgZmFsc2UpOwogCSAgICBlbHNlIGlmICgo KE9NUF9DTEFVU0VfQ09ERSAoYykgPT0gT01QX0NMQVVTRV9VU0VfREVWSUNFX0FERFIKIAkJ ICAgICAgfHwgT01QX0NMQVVTRV9DT0RFIChjKSA9PSBPTVBfQ0xBVVNFX0hBU19ERVZJQ0Vf QUREUikKIAkJICAgICAgJiYgIW9tcF9wcml2YXRpemVfYnlfcmVmZXJlbmNlIChvdmFyKQpk aWZmIC0tZ2l0IGEvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL3VzZV9kZXZp Y2VfcHRyLTQuZjkwIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL3VzZV9k ZXZpY2VfcHRyLTQuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhj MzYxZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZv cnRyYW4vdXNlX2RldmljZV9wdHItNC5mOTAKQEAgLTAsMCArMSw0MSBAQAorISB7IGRnLWRv IHJ1biB9CishCishIFRlc3QgdXNlcl9kZXZpY2VfcHRyIG5lc3RlZCB3aXRoaW4gYW5vdGhl ciBwYXJhbGxlbAorISBjb25zdHJ1Y3QKKyEKK3Byb2dyYW0gdGVzdF9uZXN0ZWRfdXNlX2Rl dmljZV9wdHIKKyAgdXNlIGlzb19jX2JpbmRpbmcsIG9ubHk6IGNfbG9jLCBjX3B0cgorICBp bXBsaWNpdCBub25lCisgIHJlYWwsIGFsbG9jYXRhYmxlLCB0YXJnZXQgOjogYXJyKDosOikK KyAgaW50ZWdlciA6OiB3aWR0aCA9IDEwMjQsIGhlaWdodCA9IDEwMjQsIGkKKyAgdHlwZShj X3B0cikgOjogZGV2cHRyCisKKyAgYWxsb2NhdGUoYXJyKHdpZHRoLGhlaWdodCkpCisKKyAg ISRvbXAgdGFyZ2V0IGVudGVyIGRhdGEgbWFwKGFsbG9jOiBhcnIpCisKKyAgISRvbXAgdGFy Z2V0IGRhdGEgdXNlX2RldmljZV9wdHIoYXJyKQorICBkZXZwdHIgPSBjX2xvYyhhcnIoMSwx KSkKKyAgISRvbXAgZW5kIHRhcmdldCBkYXRhCisKKyAgISRvbXAgcGFyYWxsZWwgZGVmYXVs dChub25lKSBzaGFyZWQoYXJyLCBkZXZwdHIpCisgICEkb21wIHNpbmdsZQorCisgICEkb21w IHRhcmdldCBkYXRhIHVzZV9kZXZpY2VfcHRyKGFycikKKyAgY2FsbCB0aGluZyhjX2xvYyhh cnIpLCBkZXZwdHIpCisgICEkb21wIGVuZCB0YXJnZXQgZGF0YQorCisgICEkb21wIGVuZCBz aW5nbGUKKyAgISRvbXAgZW5kIHBhcmFsbGVsCisgICEkb21wIHRhcmdldCBleGl0IGRhdGEg bWFwKGRlbGV0ZTogYXJyKQorCitjb250YWlucworCisgIHN1YnJvdXRpbmUgdGhpbmcobXlh cnIsIGRldnB0cikKKyAgICB1c2UgaXNvX2NfYmluZGluZywgb25seTogY19wdHIsIGNfYXNz b2NpYXRlZAorICAgIGltcGxpY2l0IG5vbmUKKyAgICB0eXBlKGNfcHRyKSA6OiBteWFyciwg ZGV2cHRyCisgICAgaWYgKC5ub3QuY19hc3NvY2lhdGVkKG15YXJyLCBkZXZwdHIpKSBzdG9w IDEKKyAgZW5kIHN1YnJvdXRpbmUgdGhpbmcKKworZW5kIHByb2dyYW0K --------------jOEk1UR47aw4GIJ5DzL1Q8p0--