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 ACB8B3858C27 for ; Mon, 13 Feb 2023 20:28:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ACB8B3858C27 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.97,294,1669104000"; d="diff'?scan'208";a="97960437" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 13 Feb 2023 12:28:20 -0800 IronPort-SDR: FGFR422gu3SUhgMGrDEwms6rjWN3oU+UYShs18iUT2DdAFtj59IrqyAsKGLSRK2jUByD4o0HQJ LOOyY3d0RMq6X6gnfDf3ui0cJdMrhrwuL3Gl0VUPYMAs3yxD8IUqDd5GTdWTaHQE4sXaaoEAK/ VluwnMAbdK4pHEvanNTKj446dt6hgMlgjAB/VdWpwh97YhaVIb9Okh1htXXDRduTezVyjrPJ4x bnjBziu5NvDOfzRRFZtFP3HYJq+xQ0Px1NuYZZdYNhvNvHU5ZN6h6Ql7D89Hj9iZUURQXBDGu+ XMg= Content-Type: multipart/mixed; boundary="------------YzoTrK80mHK25lMYqLAFkbAM" Message-ID: Date: Mon, 13 Feb 2023 21:28:15 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 Content-Language: en-US To: gcc-patches , Jakub Jelinek From: Tobias Burnus Subject: [Patch] libgomp: Fix 'target enter data' with always pointer X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------YzoTrK80mHK25lMYqLAFkbAM Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable The problem is that GOMP_MAP_ALWAYS_POINTER, there is a lookup for "i - 1" but with 'target enter data', GOMP_MAP_ALWAYS_POINTER and its data were pas= sed as separate entities. I am not sure whether there is a legitimate reason to have two GOMP_MAP_ALWAYS_POINTER in a row; the check in gomp_map_vars_internal seems to indicate that there is. Hence, I assumed there is and I add an 'i > 0' check to that function and also a check the kinds[i] isn't an always pointer (if i+ is) in the caller, i.e. GOMP_target_enter_exit_dat= a. Note that there is a front-end/middle-end issue with regards to 'target exi= t data', which is the reason that the exit data has been commented out. I plan to fi= x this separately.* (It is a bug of its own - and this fix is to libgomp and the o= ther is to the FE/ME.) OK for mainline? Tobias (*) Part of the 'alloc' issue has been discussed in the patch: https://gcc.gnu.org/pipermail/gcc-patches/2022-November/604887.html however, during discussion on IRC it turned out that this patch is incomple= te. This issue is next on my to-do list. PS: Also *pending* *review* is a simple reverse-offload-only patch and one '!$omp loop' "13 Regression" fix (with the review comments fixed): "[v2] OpenMP/Fortran: Fix loop-iter var privatization with !$OMP LOOP [PR10= 8512]" https://gcc.gnu.org/pipermail/gcc-patches/2023-February/611730.html "[Patch] libgomp: Fix reverse-offload for GOMP_MAP_TO_PSET" https://gcc.gnu.org/pipermail/gcc-patches/2023-February/611617.html (Other pending patches: "OpenMP Patch Ping =E2=80=93 including "[13 Regress= ion]", https://gcc.gnu.org/pipermail/gcc-patches/2023-February/611524.html ) ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------YzoTrK80mHK25lMYqLAFkbAM Content-Type: text/x-patch; charset="UTF-8"; name="omp-fix-always-ptr.diff" Content-Disposition: attachment; filename="omp-fix-always-ptr.diff" Content-Transfer-Encoding: base64 bGliZ29tcDogRml4ICd0YXJnZXQgZW50ZXIgZGF0YScgd2l0aCBhbHdheXMgcG9pbnRlcgoK QXMgR09NUF9NQVBfQUxXQVlTX1BPSU5URVIgb3BlcmF0ZXMgb24gdGhlIHByZXZpb3VzIG1h cCBpdGVtLCBlbnN1cmUgdGhhdAp3aXRoICd0YXJnZXQgZW50ZXIgZGF0YScgYm90aCBhcmUg cGFzc2VkIHRvZ2V0aGVyIHRvIGdvbXBfbWFwX3ZhcnNfaW50ZXJuYWwuCgpsaWJnb21wL0No YW5nZUxvZzoKCgkqIHRhcmdldC5jIChnb21wX21hcF92YXJzX2ludGVybmFsKTogQWRkICdp ID4gMCcgYmVmb3JlIGRvaW5nIGEKCWtpbmQgY2hlY2suCgkoR09NUF90YXJnZXRfZW50ZXJf ZXhpdF9kYXRhKTogSWYgdGhlIG5leHQgbWFwIGl0ZW0gaXMKCUdPTVBfTUFQX0FMV0FZU19Q T0lOVEVSIG1hcCBpdCB0b2dldGhlciB3aXRoIHRoZSBjdXJyZW50IGl0ZW0uCiAgICAgICAg KiB0ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL3RhcmdldC1lbnRlci1kYXRhLTMuZjkwOiBO ZXcgdGVzdC4KCiB0YXJnZXQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAxNyArKysrKysrKysrKysrLS0tLQogdGVzdHN1aXRlL2xpYmdvbXAuZm9y dHJhbi90YXJnZXQtZW50ZXItZGF0YS0zLmY5MCB8ICAgMjIgKysrKysrKysrKysrKysrKysr KysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYmdvbXAvdGFyZ2V0LmMgYi9saWJnb21wL3RhcmdldC5jCmlu ZGV4IGMxNjgyY2FlYTEzLi5jYzhkYjg1OTU3YyAxMDA2NDQKLS0tIGEvbGliZ29tcC90YXJn ZXQuYworKysgYi9saWJnb21wL3RhcmdldC5jCkBAIC0xNDgwLDggKzE0ODAsOSBAQCBnb21w X21hcF92YXJzX2ludGVybmFsIChzdHJ1Y3QgZ29tcF9kZXZpY2VfZGVzY3IgKmRldmljZXAs CiAJCSAgICBnb21wX211dGV4X3VubG9jayAoJmRldmljZXAtPmxvY2spOwogCQkgICAgZ29t cF9mYXRhbCAoImFsd2F5cyBwb2ludGVyIG5vdCBtYXBwZWQiKTsKIAkJICB9Ci0JCWlmICgo Z2V0X2tpbmQgKHNob3J0X21hcGtpbmQsIGtpbmRzLCBpIC0gMSkgJiB0eXBlbWFzaykKLQkJ ICAgICE9IEdPTVBfTUFQX0FMV0FZU19QT0lOVEVSKQorCQlpZiAoaSA+IDAKKwkJICAgICYm ICgoZ2V0X2tpbmQgKHNob3J0X21hcGtpbmQsIGtpbmRzLCBpIC0gMSkgJiB0eXBlbWFzaykK KwkJCSE9IEdPTVBfTUFQX0FMV0FZU19QT0lOVEVSKSkKIAkJICBjdXJfbm9kZS50Z3Rfb2Zm c2V0ID0gZ29tcF9tYXBfdmFsICh0Z3QsIGhvc3RhZGRycywgaSAtIDEpOwogCQlpZiAoY3Vy X25vZGUudGd0X29mZnNldCkKIAkJICBjdXJfbm9kZS50Z3Rfb2Zmc2V0IC09IHNpemVzW2ld OwpAQCAtNDA4NSw3ICs0MDg2LDEwIEBAIEdPTVBfdGFyZ2V0X2VudGVyX2V4aXRfZGF0YSAo aW50IGRldmljZSwgc2l6ZV90IG1hcG51bSwgdm9pZCAqKmhvc3RhZGRycywKIAkJCSBHT01Q X01BUF9WQVJTX0VOVEVSX0RBVEEpOwogCSAgaSArPSBqIC0gaSAtIDE7CiAJfQotICAgICAg ZWxzZSBpZiAoaSArIDEgPCBtYXBudW0gJiYgKGtpbmRzW2kgKyAxXSAmIDB4ZmYpID09IEdP TVBfTUFQX0FUVEFDSCkKKyAgICAgIGVsc2UgaWYgKGkgKyAxIDwgbWFwbnVtCisJICAgICAg ICYmICgoa2luZHNbaSArIDFdICYgMHhmZikgPT0gR09NUF9NQVBfQVRUQUNICisJCSAgIHx8 ICgoa2luZHNbaSArIDFdICYgMHhmZikgPT0gR09NUF9NQVBfQUxXQVlTX1BPSU5URVIKKwkJ ICAgICAgICYmIChraW5kc1tpXSAmIDB4ZmYpICE9IEdPTVBfTUFQX0FMV0FZU19QT0lOVEVS KSkpCiAJewogCSAgLyogQW4gYXR0YWNoIG9wZXJhdGlvbiBtdXN0IGJlIHByb2Nlc3NlZCB0 b2dldGhlciB3aXRoIHRoZSBtYXBwZWQKIAkgICAgIGJhc2UtcG9pbnRlciBsaXN0IGl0ZW0u ICAqLwpkaWZmIC0tZ2l0IGEvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL3Rh cmdldC1lbnRlci1kYXRhLTMuZjkwIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0 cmFuL3RhcmdldC1lbnRlci1kYXRhLTMuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi41ZDk3NTY2YzY2YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmdvbXAv dGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi90YXJnZXQtZW50ZXItZGF0YS0zLmY5MApAQCAt MCwwICsxLDIyIEBACitpbXBsaWNpdCBub25lCit0eXBlIHQKKyAgaW50ZWdlciA6OiBkdW1t eQorICBpbnRlZ2VyLCBwb2ludGVyIDo6IHAxKDopLCBwMig6KQorICBpbnRlZ2VyIDo6IGR1 bW15MgorZW5kIHR5cGUgdAordHlwZSh0KSA6OiB2YXIKK2ludGVnZXIgOjogaQorYWxsb2Nh dGUodmFyJXAxKDUpLHZhciVwMigyOjQpKQordmFyJXAxID0gWzIyLDUzLDI4LDYsNF0KK3Zh ciVwMiA9IFs0Niw2NzksNTRdCisKKyEkb21wIHRhcmdldCBlbnRlciBkYXRhIG1hcCh0bzp2 YXIlcDEsIHZhciVwMikKKyEkb21wIHRhcmdldAorICBpZiAoLm5vdC5hc3NvY2lhdGVkKHZh ciVwMSkub3IubGJvdW5kKHZhciVwMSwxKS89MS5vci51Ym91bmQodmFyJXAxLDEpLz01KSBz dG9wIDEKKyAgaWYgKC5ub3QuYXNzb2NpYXRlZCh2YXIlcDIpLm9yLmxib3VuZCh2YXIlcDIs MSkvPTIub3IudWJvdW5kKHZhciVwMiwxKS89NCkgc3RvcCAyCisgIGlmIChhbnkgKHZhciVw MSAvPSBbMjIsNTMsMjgsNiw0XSkpIHN0b3AgMworICBpZiAoYW55ICh2YXIlcDIgLz0gWzQ2 LDY3OSw1NF0pKSBzdG9wIDQKKyEkb21wIGVuZCB0YXJnZXQKKyEhJG9tcCB0YXJnZXQgZXhp dCBkYXRhIG1hcChmcm9tOnZhciVwMSwgdmFyJXAyKQorZW5kCisK --------------YzoTrK80mHK25lMYqLAFkbAM--