From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id CD8A43858D1E for ; Mon, 6 Feb 2023 11:52:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CD8A43858D1E 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,276,1669104000"; d="diff'?scan'208";a="95786985" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 06 Feb 2023 03:52:20 -0800 IronPort-SDR: MrmRfQNQNRSlnT7toGRUbYtA9wRIC5hcu2HwA/3EHZ+0tgfxzdYItR4777mciBvoC/7mNc92Ma e/i6ntiLLMxuh15SkhO0SqIhxHOokrHA0jxmE3kgWKywgNjEoGZkU0AuoJSSSDGzioEoNp/uXj I28qU2Z2Zc+yn0omEaSpRTmBQpED6svYH+Z7BtVvL373cM3Al99UJcMmwqijp2HutBuApNzt9I Wz0xz3Cb/2ehjRof2jnAAVcCmps4PEmDh2efhIuOslyCkEC3CXcZWLb3hCP5dRGYcQsVwRMEJ7 42U= Content-Type: multipart/mixed; boundary="------------3WiFoCrtFH9SjO0y6foVxkrj" Message-ID: <85ecf108-8249-21a3-b9ee-23b89b6816bd@codesourcery.com> Date: Mon, 6 Feb 2023 12:52:11 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Content-Language: en-US To: gcc-patches , Jakub Jelinek From: Tobias Burnus Subject: [Patch] libgomp: Fix reverse-offload for GOMP_MAP_TO_PSET X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) 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,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: --------------3WiFoCrtFH9SjO0y6foVxkrj Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Seems as if I missed a GOMP_MAP_TO_PSET issue before. As nvptx is XFAILed before, I only found it when testing on AMDGCN. For an array-descriptor 'ai' variable, omplower has: map(tofrom:MEM [(integer(kind=3D4)[0:] *)D.4346]= [len: D.4345]) map(to:ai [pointer set, len: 64]) map(alloc:ai.data [pointer assign, bias: 0]) The latter reaches GCC with the same address as 'ai' =E2=80=93 i.e. the one of the array descriptor. This then needs to be dereferenced to get the address of the actual pointer. The patch assumes (and asserts) that 'ai.data' is part of the 'ai' such that I can use the host address of 'ai' to access the data. If that's not guaranteed, we have to find another way (e.g. another lookup). But so far it seems to hold and I have not seen a bias other than 0. With that patch, libgomp.fortran/reverse-offload-5.f90 now works with AMDGCN. OK? Any comments to the attached patch? Tobias ----------------- 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 --------------3WiFoCrtFH9SjO0y6foVxkrj Content-Type: text/x-patch; charset="UTF-8"; name="rev-fix-2.diff" Content-Disposition: attachment; filename="rev-fix-2.diff" Content-Transfer-Encoding: base64 bGliZ29tcDogRml4IHJldmVyc2Utb2ZmbG9hZCBmb3IgR09NUF9NQVBfVE9fUFNFVAoKbGli Z29tcC8KCSogdGFyZ2V0LmMgKGdvbXBfdGFyZ2V0X3Jldik6IERlcmVmZXJlbmNlIHB0cgoJ dG8gZ2V0IGRldmljZSBhZGRyZXNzLgoJKiBsaWJnb21wLmZvcnRyYW4vcmV2ZXJzZS1vZmZs b2FkLTUuZjkwOiBBZGQgdGVzdAoJZm9yIHVuYWxsb2NhdGVkIGFsbG9jYXRhYmxlLgoKIGxp YmdvbXAvdGFyZ2V0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCA3ICsrKysrKy0KIGxpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9yZXZlcnNl LW9mZmxvYWQtNS5mOTAgfCA2ICsrKystLQogMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmdvbXAvdGFyZ2V0LmMg Yi9saWJnb21wL3RhcmdldC5jCmluZGV4IGMxNjgyY2FlYTEzLi41Y2RkODQ1MjkxYSAxMDA2 NDQKLS0tIGEvbGliZ29tcC90YXJnZXQuYworKysgYi9saWJnb21wL3RhcmdldC5jCkBAIC0z NTc5LDggKzM1NzksMTMgQEAgZ29tcF90YXJnZXRfcmV2ICh1aW50NjRfdCBmbl9wdHIsIHVp bnQ2NF90IG1hcG51bSwgdWludDY0X3QgZGV2YWRkcnNfcHRyLAogCQkgICAgICB9CiAJCSAg ICBpbnQgazsKIAkJICAgIG4yID0gTlVMTDsKLQkJICAgIGNkYXRhW2ldLnByZXNlbnQgPSB0 cnVlOworCQkgICAgLyogRGVyZWZlcmVuY2UgZGV2YWRkcnNbal0gdG8gZ2V0IHRoZSBkZXZp Y2UgYWRkci4gICovCisJCSAgICBhc3NlcnQgKGRldmFkZHJzW2pdLXNpemVzW2pdID09IGNk YXRhW2ldLmRldmFkZHIpOworCQkgICAgZGV2YWRkcnNbal0gPSAqKHVpbnQ2NF90ICopIChk ZXZhZGRyc1tpXSArIHNpemVzW2pdKTsKKwkJICAgIGNkYXRhW2pdLnByZXNlbnQgPSB0cnVl OwogCQkgICAgY2RhdGFbal0uZGV2YWRkciA9IGRldmFkZHJzW2pdOworCQkgICAgaWYgKGRl dmFkZHJzW2pdID09IDApCisJCSAgICAgIGNvbnRpbnVlOwogCQkgICAgayA9IGdvbXBfbWFw X2NkYXRhX2xvb2t1cCAoY2RhdGEsIGRldmFkZHJzLCBraW5kcywgc2l6ZXMsIGosCiAJCQkJ CSAgICAgICBkZXZhZGRyc1tqXSwKIAkJCQkJICAgICAgIGRldmFkZHJzW2pdICsgc2l6ZW9m ICh2b2lkKiksCmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRy YW4vcmV2ZXJzZS1vZmZsb2FkLTUuZjkwIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5m b3J0cmFuL3JldmVyc2Utb2ZmbG9hZC01LmY5MAppbmRleCBlZjdlYjdiZGQ1Mi4uMTY4MTBl YjQ3ZGUgMTAwNjQ0Ci0tLSBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9y ZXZlcnNlLW9mZmxvYWQtNS5mOTAKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5m b3J0cmFuL3JldmVyc2Utb2ZmbG9hZC01LmY5MApAQCAtMjQsNyArMjQsNyBAQCBzMiA9IDU1 CiAKICEkb21wIHRhcmdldCBtYXAodG86IEEsIEEyLCBzMSwgczIpCiBibG9jawotICBpbnRl Z2VyLCBhbGxvY2F0YWJsZSA6OiBhaSg6KSwgYWkyKDopLCBzaTEsIHNpMgorICBpbnRlZ2Vy LCBhbGxvY2F0YWJsZSA6OiBhaSg6KSwgYWkyKDopLCBhaTMoOiksIHNpMSwgc2kyLCBzaTMK IAogICBhID0gYSAqIDIKICAgYTIgPSBhMiAqIDMKQEAgLTM4LDcgKzM4LDcgQEAgYmxvY2sK IAogICAhJG9tcCB0YXJnZXQgZGV2aWNlIChhbmNlc3RvcjoxKSAgJgogICAhJG9tcCYgICAg ICAgbWFwKHRvOiBBLCBzMSwgYWksIHNpMSkgbWFwKGFsd2F5cywgdG86IGEyLCBzMikgICYK LSAgISRvbXAmICAgICAgIG1hcCh0b2Zyb206IGFpMiwgc2kyKQorICAhJG9tcCYgICAgICAg bWFwKHRvZnJvbTogYWkyLCBzaTIsIGFpMywgc2kzKQogICAgIGlmIChzaGFyZWRfbWVtKSB0 aGVuCiAgICAgICBpZiAoYW55IChhICAvPSAyICogWzEsMiwzLDRdKSkgc3RvcCAxCiAgICAg ICBpZiAoczEgLz0gNCAqIDUzMikgc3RvcCAyCkBAIC01Miw2ICs1Miw3IEBAIGJsb2NrCiAg ICAgaWYgKGFueSAoYWkyIC89IFs4LDQsNywxXSkpIHN0b3AgOAogICAgIGlmIChzaTEgLz0g NjQpIHN0b3AgOQogICAgIGlmIChzaTIgLz0gNzY1KSBzdG9wIDEwCisgICAgaWYgKGFsbG9j YXRlZCAoYWkzKSAub3IuIGFsbG9jYXRlZChzaTMpKSBzdG9wIDI2CiAKICAgICBhID0gYSoz CiAgICAgYTIgPSBhMio3CkBAIC04MCw2ICs4MSw3IEBAIGJsb2NrCiAgIGVuZGlmCiAgIGlm IChhbnkgKGFpMiAvPSAyMSAqIFs4LDQsNywxXSkpIHN0b3AgMjQKICAgaWYgKHNpMiAvPSAz MSAqIDc2NSkgc3RvcCAyNQorICBpZiAoYWxsb2NhdGVkIChhaTMpIC5vci4gYWxsb2NhdGVk KHNpMykpIHN0b3AgMjcKIAogICBkZWFsbG9jYXRlIChhaSwgYWkyLCBzaTEsIHNpMikKIGVu ZCBibG9jawo= --------------3WiFoCrtFH9SjO0y6foVxkrj--