From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 2C89B385275A for ; Thu, 25 Aug 2022 14:55:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2C89B385275A 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.93,263,1654588800"; d="diff'?scan'208,217";a="81946237" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 25 Aug 2022 06:55:05 -0800 IronPort-SDR: esjQv+j40v9joCbyJHmhcrfT2iKuGoHN/fCUVuAksrHA6xTFPI1QV6YNA8AcO4T3mBhpZdFPEd keaL5bXD/v3e3uVTuDRlR8haZWuYNfdbr02KjLvlE98+yxIi0UkeUcwcTteMyfHAroJF5375eW Q0UyGZPWyvZCOjIvkDbKZu8gVn30NWn++AXcpbTE8yg1uApAP2XM7XSe/yPpV9srn/lVdyOWrg oWGP/qeNTc/DSkSfeLqx2epRV00ojSv51xT8Pw5SlbNo0QdrN5S23BUZcDXzD0oJXYTj+BeQCe ZJo= Content-Type: multipart/mixed; boundary="------------zzUSo0KIkTyg0aESgIWZtKjp" Message-ID: <40563a1c-49ef-a185-3c01-9f717cd48fc5@codesourcery.com> Date: Thu, 25 Aug 2022 16:54:51 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.0 Content-Language: en-US To: gcc-patches , Jakub Jelinek From: Tobias Burnus Subject: [Patch][1/3] libgomp: Prepare for reverse offload fn lookup 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,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: Message-ID: <20220825145451.zvpeaZgo0l5cdnWk1A2vgG_HlHZjvEb5pIrwaDJ1qfk@z> --------------zzUSo0KIkTyg0aESgIWZtKjp Content-Type: multipart/alternative; boundary="------------K28MhxpDaJ6T0hBl904SOMsp" --------------K28MhxpDaJ6T0hBl904SOMsp Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable Technically, this patch is stand alone, but conceptually it based on the submitted but not reviewed patch: "[Patch] OpenMP: Support reverse offload (middle end part)" https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598662.html With that patch, for reverse offloads ('omp target device(ancestor:1)'), calls like the following are added: GOMP_target_ext (-2 /* initial device */, omp_fn.1 where 'omp_fn.1' on nonhost devices a stub function just required for looking up the host function pointer via the offload_funcs table. The attached patch prepare for reverse-offload device->host function-address lookup by requesting (if needed) the on-device address. OK for mainline? 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 --------------K28MhxpDaJ6T0hBl904SOMsp-- --------------zzUSo0KIkTyg0aESgIWZtKjp Content-Type: text/x-patch; charset="UTF-8"; name="fn-lookup-gen.diff" Content-Disposition: attachment; filename="fn-lookup-gen.diff" Content-Transfer-Encoding: base64 bGliZ29tcDogUHJlcGFyZSBmb3IgcmV2ZXJzZSBvZmZsb2FkIGZuIGxvb2t1 cAoKUHJlcGFyZSBmb3IgcmV2ZXJzZS1vZmZsb2FkaW5nIGZ1bmN0aW9uLXBv aW50ZXIgbG9va3VwIGJ5IHBhc3NpbmcKYSByZXZfZm5fdGFibGUgYXJndW1l bnQgdG8gR09NUF9PRkZMT0FEX2xvYWRfaW1hZ2UuCgpUaGUgYXJndW1lbnQg d2lsbCBiZSBOVUxMLCB1bmxlc3MgR09NUF9SRVFVSVJFU19SRVZFUlNFX09G RkxPQUQgaXMKcmVxdWVzdGVkIGFuZCBkZXZpY2VzIG5vdCBzdXBwb3J0ZWQg aXQsIGFyZSBmaWx0ZXJlZCBvdXQuCihVcCB0byBhbmQgaW5jbHVkaW5nIHRo aXMgY29tbWl0LCBubyBub24taG9zdCBkZXZpY2UgY2xhaW1zIHN1Y2gKc3Vw cG9ydCBhbmQgdGhlIGNhbGxlciBjdXJyZW50bHkgYWx3YXlzIHBhc3NlcyBO VUxMLikKCmxpYmdvbXAvQ2hhbmdlTG9nOgoKCSogbGliZ29tcC1wbHVnaW4u aCAoR09NUF9PRkZMT0FEX2xvYWRfaW1hZ2UpOiBBZGQKCSd1aW50NjRfdCAq KnJldl9mbl90YWJsZScgYXJndW1lbnQuCgkqIG9hY2MtaG9zdC5jIChob3N0 X2xvYWRfaW1hZ2UpOiBMaWtld2lzZS4KCSogcGx1Z2luL3BsdWdpbi1nY24u YyAoR09NUF9PRkZMT0FEX2xvYWRfaW1hZ2UpOiBMaWtld2lzZTsKCWN1cnJl bnRseSB1bnVzZWQuCgkqIHBsdWdpbi9wbHVnaW4tbnZwdHguYyAoR09NUF9P RkZMT0FEX2xvYWRfaW1hZ2UpOiBMaWtld2lzZS4KCSogdGFyZ2V0LmMgKGdv bXBfbG9hZF9pbWFnZV90b19kZXZpY2UpOiBVcGRhdGUgY2FsbCBidXQgcGFz cwoJTlVMTCBmb3Igbm93LgoKbGlib2ZmbG9hZG1pYy9DaGFuZ2VMb2c6CgoJ KiBwbHVnaW4vbGliZ29tcC1wbHVnaW4taW50ZWxtaWMuY3BwIChHT01QX09G RkxPQURfbG9hZF9pbWFnZSk6CglBZGQgKHVudXNlZCkgdWludDY0X3QgKipy ZXZfZm5fdGFibGUgYXJndW1lbnQuCgogbGliZ29tcC9saWJnb21wLXBsdWdp bi5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogbGliZ29tcC9v YWNjLWhvc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMyAr Ky0KIGxpYmdvbXAvcGx1Z2luL3BsdWdpbi1nY24uYyAgICAgICAgICAgICAg ICAgICAgICB8IDcgKysrKystLQogbGliZ29tcC9wbHVnaW4vcGx1Z2luLW52 cHR4LmMgICAgICAgICAgICAgICAgICAgIHwgNyArKysrKy0tCiBsaWJnb21w L3RhcmdldC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAy ICstCiBsaWJvZmZsb2FkbWljL3BsdWdpbi9saWJnb21wLXBsdWdpbi1pbnRl bG1pYy5jcHAgfCAzICsrLQogNiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmdvbXAv bGliZ29tcC1wbHVnaW4uaCBiL2xpYmdvbXAvbGliZ29tcC1wbHVnaW4uaApp bmRleCBhYjNlZDYzODQ3NS4uNTczMDkzMDNlNjYgMTAwNjQ0Ci0tLSBhL2xp YmdvbXAvbGliZ29tcC1wbHVnaW4uaAorKysgYi9saWJnb21wL2xpYmdvbXAt cGx1Z2luLmgKQEAgLTEzMCw3ICsxMzAsNyBAQCBleHRlcm4gYm9vbCBHT01Q X09GRkxPQURfaW5pdF9kZXZpY2UgKGludCk7CiBleHRlcm4gYm9vbCBHT01Q X09GRkxPQURfZmluaV9kZXZpY2UgKGludCk7CiBleHRlcm4gdW5zaWduZWQg R09NUF9PRkZMT0FEX3ZlcnNpb24gKHZvaWQpOwogZXh0ZXJuIGludCBHT01Q X09GRkxPQURfbG9hZF9pbWFnZSAoaW50LCB1bnNpZ25lZCwgY29uc3Qgdm9p ZCAqLAotCQkJCSAgICBzdHJ1Y3QgYWRkcl9wYWlyICoqKTsKKwkJCQkgICAg c3RydWN0IGFkZHJfcGFpciAqKiwgdWludDY0X3QgKiopOwogZXh0ZXJuIGJv b2wgR09NUF9PRkZMT0FEX3VubG9hZF9pbWFnZSAoaW50LCB1bnNpZ25lZCwg Y29uc3Qgdm9pZCAqKTsKIGV4dGVybiB2b2lkICpHT01QX09GRkxPQURfYWxs b2MgKGludCwgc2l6ZV90KTsKIGV4dGVybiBib29sIEdPTVBfT0ZGTE9BRF9m cmVlIChpbnQsIHZvaWQgKik7CmRpZmYgLS1naXQgYS9saWJnb21wL29hY2Mt aG9zdC5jIGIvbGliZ29tcC9vYWNjLWhvc3QuYwppbmRleCBlYjExYjljZjE2 YS4uNGUzOTcxYWUxYTkgMTAwNjQ0Ci0tLSBhL2xpYmdvbXAvb2FjYy1ob3N0 LmMKKysrIGIvbGliZ29tcC9vYWNjLWhvc3QuYwpAQCAtODEsNyArODEsOCBA QCBzdGF0aWMgaW50CiBob3N0X2xvYWRfaW1hZ2UgKGludCBuIF9fYXR0cmli dXRlX18gKCh1bnVzZWQpKSwKIAkJIHVuc2lnbmVkIHYgX19hdHRyaWJ1dGVf XyAoKHVudXNlZCkpLAogCQkgY29uc3Qgdm9pZCAqdCBfX2F0dHJpYnV0ZV9f ICgodW51c2VkKSksCi0JCSBzdHJ1Y3QgYWRkcl9wYWlyICoqciBfX2F0dHJp YnV0ZV9fICgodW51c2VkKSkpCisJCSBzdHJ1Y3QgYWRkcl9wYWlyICoqciBf X2F0dHJpYnV0ZV9fICgodW51c2VkKSksCisJCSB1aW50NjRfdCAqKmYgX19h dHRyaWJ1dGVfXyAoKHVudXNlZCkpKQogewogICByZXR1cm4gMDsKIH0KZGlm ZiAtLWdpdCBhL2xpYmdvbXAvcGx1Z2luL3BsdWdpbi1nY24uYyBiL2xpYmdv bXAvcGx1Z2luL3BsdWdpbi1nY24uYwppbmRleCBlYTMyN2JmMmNhMC4uMzYz ZTI5NTA2NDkgMTAwNjQ0Ci0tLSBhL2xpYmdvbXAvcGx1Z2luL3BsdWdpbi1n Y24uYworKysgYi9saWJnb21wL3BsdWdpbi9wbHVnaW4tZ2NuLmMKQEAgLTMz NDYsMTEgKzMzNDYsMTQgQEAgR09NUF9PRkZMT0FEX2luaXRfZGV2aWNlIChp bnQgbikKIAogLyogTG9hZCBHQ04gb2JqZWN0LWNvZGUgbW9kdWxlIGRlc2Ny aWJlZCBieSBzdHJ1Y3QgZ2NuX2ltYWdlX2Rlc2MgaW4KICAgIFRBUkdFVF9E QVRBIGFuZCByZXR1cm4gcmVmZXJlbmNlcyB0byBrZXJuZWwgZGVzY3JpcHRv cnMgaW4gVEFSR0VUX1RBQkxFLgotICAgSWYgdGhlcmUgYXJlIGFueSBjb25z dHJ1Y3RvcnMgdGhlbiBydW4gdGhlbS4gICovCisgICBJZiB0aGVyZSBhcmUg YW55IGNvbnN0cnVjdG9ycyB0aGVuIHJ1biB0aGVtLiAgSWYgbm90IE5VTEws IFJFVl9GTl9UQUJMRSB3aWxsCisgICBjb250YWluIHRoZSBvbi1kZXZpY2Ug YWRkcmVzc2VzIG9mIHRoZSBmdW5jdGlvbnMgZm9yIHJldmVyc2Ugb2ZmbG9h ZC4gIFRvIGJlCisgICBmcmVlZCBieSB0aGUgY2FsbGVyLiAgKi8KIAogaW50 CiBHT01QX09GRkxPQURfbG9hZF9pbWFnZSAoaW50IG9yZCwgdW5zaWduZWQg dmVyc2lvbiwgY29uc3Qgdm9pZCAqdGFyZ2V0X2RhdGEsCi0JCQkgc3RydWN0 IGFkZHJfcGFpciAqKnRhcmdldF90YWJsZSkKKwkJCSBzdHJ1Y3QgYWRkcl9w YWlyICoqdGFyZ2V0X3RhYmxlLAorCQkJIHVpbnQ2NF90ICoqcmV2X2ZuX3Rh YmxlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQogewogICBpZiAoR09NUF9W RVJTSU9OX0RFViAodmVyc2lvbikgIT0gR09NUF9WRVJTSU9OX0dDTikKICAg ICB7CmRpZmYgLS1naXQgYS9saWJnb21wL3BsdWdpbi9wbHVnaW4tbnZwdHgu YyBiL2xpYmdvbXAvcGx1Z2luL3BsdWdpbi1udnB0eC5jCmluZGV4IGJjNjNl Mjc0Y2RmLi5kMTMwNjY1ZWQxOSAxMDA2NDQKLS0tIGEvbGliZ29tcC9wbHVn aW4vcGx1Z2luLW52cHR4LmMKKysrIGIvbGliZ29tcC9wbHVnaW4vcGx1Z2lu LW52cHR4LmMKQEAgLTEyNjYsMTEgKzEyNjYsMTQgQEAgbnZwdHhfc2V0X2Ns b2NrdGljayAoQ1Vtb2R1bGUgbW9kdWxlLCBzdHJ1Y3QgcHR4X2RldmljZSAq ZGV2KQogfQogCiAvKiBMb2FkIHRoZSAocGFydGlhbCkgcHJvZ3JhbSBkZXNj cmliZWQgYnkgVEFSR0VUX0RBVEEgdG8gZGV2aWNlCi0gICBudW1iZXIgT1JE LiAgQWxsb2NhdGUgYW5kIHJldHVybiBUQVJHRVRfVEFCTEUuICAqLworICAg bnVtYmVyIE9SRC4gIEFsbG9jYXRlIGFuZCByZXR1cm4gVEFSR0VUX1RBQkxF LiAgSWYgbm90IE5VTEwsIFJFVl9GTl9UQUJMRQorICAgd2lsbCBjb250YWlu IHRoZSBvbi1kZXZpY2UgYWRkcmVzc2VzIG9mIHRoZSBmdW5jdGlvbnMgZm9y IHJldmVyc2Ugb2ZmbG9hZC4KKyAgIFRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxs ZXIuICAqLwogCiBpbnQKIEdPTVBfT0ZGTE9BRF9sb2FkX2ltYWdlIChpbnQg b3JkLCB1bnNpZ25lZCB2ZXJzaW9uLCBjb25zdCB2b2lkICp0YXJnZXRfZGF0 YSwKLQkJCSBzdHJ1Y3QgYWRkcl9wYWlyICoqdGFyZ2V0X3RhYmxlKQorCQkJ IHN0cnVjdCBhZGRyX3BhaXIgKip0YXJnZXRfdGFibGUsCisJCQkgdWludDY0 X3QgKipyZXZfZm5fdGFibGUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCiB7 CiAgIENVbW9kdWxlIG1vZHVsZTsKICAgY29uc3QgY2hhciAqY29uc3QgKnZh cl9uYW1lczsKZGlmZiAtLWdpdCBhL2xpYmdvbXAvdGFyZ2V0LmMgYi9saWJn b21wL3RhcmdldC5jCmluZGV4IDEzNWRiMWQ4OGFiLi5kYTkwN2EyZmI0OCAx MDA2NDQKLS0tIGEvbGliZ29tcC90YXJnZXQuYworKysgYi9saWJnb21wL3Rh cmdldC5jCkBAIC0yMTM3LDcgKzIxMzcsNyBAQCBnb21wX2xvYWRfaW1hZ2Vf dG9fZGV2aWNlIChzdHJ1Y3QgZ29tcF9kZXZpY2VfZGVzY3IgKmRldmljZXAs IHVuc2lnbmVkIHZlcnNpb24sCiAKICAgbnVtX3RhcmdldF9lbnRyaWVzCiAg ICAgPSBkZXZpY2VwLT5sb2FkX2ltYWdlX2Z1bmMgKGRldmljZXAtPnRhcmdl dF9pZCwgdmVyc2lvbiwKLQkJCQl0YXJnZXRfZGF0YSwgJnRhcmdldF90YWJs ZSk7CisJCQkJdGFyZ2V0X2RhdGEsICZ0YXJnZXRfdGFibGUsIE5VTEwpOwog CiAgIGlmIChudW1fdGFyZ2V0X2VudHJpZXMgIT0gbnVtX2Z1bmNzICsgbnVt X3ZhcnMKICAgICAgIC8qIE90aGVycyAoZGV2aWNlX251bSkgYXJlIGluY2x1 ZGVkIGFzIHRyYWlsaW5nIGVudHJpZXMgaW4gcGFpciBsaXN0LiAgKi8KZGlm ZiAtLWdpdCBhL2xpYm9mZmxvYWRtaWMvcGx1Z2luL2xpYmdvbXAtcGx1Z2lu LWludGVsbWljLmNwcCBiL2xpYm9mZmxvYWRtaWMvcGx1Z2luL2xpYmdvbXAt cGx1Z2luLWludGVsbWljLmNwcAppbmRleCAzM2JhZTA2NTBiNC4uN2JlMjdm MDQ1OWQgMTAwNjQ0Ci0tLSBhL2xpYm9mZmxvYWRtaWMvcGx1Z2luL2xpYmdv bXAtcGx1Z2luLWludGVsbWljLmNwcAorKysgYi9saWJvZmZsb2FkbWljL3Bs dWdpbi9saWJnb21wLXBsdWdpbi1pbnRlbG1pYy5jcHAKQEAgLTM0OSw3ICsz NDksOCBAQCBHT01QX09GRkxPQURfdmVyc2lvbiAodm9pZCkKIAogZXh0ZXJu ICJDIiBpbnQKIEdPTVBfT0ZGTE9BRF9sb2FkX2ltYWdlIChpbnQgZGV2aWNl LCBjb25zdCB1bnNpZ25lZCB2ZXJzaW9uLAotCQkJIGNvbnN0IHZvaWQgKnRh cmdldF9pbWFnZSwgYWRkcl9wYWlyICoqcmVzdWx0KQorCQkJIGNvbnN0IHZv aWQgKnRhcmdldF9pbWFnZSwgYWRkcl9wYWlyICoqcmVzdWx0LAorCQkJIHVp bnQ2NF90ICoqIC8qIHJldl9mbl90YWJsZSAqLykKIHsKICAgVFJBQ0UgKCIo ZGV2aWNlID0gJWQsIHRhcmdldF9pbWFnZSA9ICVwKSIsIGRldmljZSwgdGFy Z2V0X2ltYWdlKTsKIAo= --------------zzUSo0KIkTyg0aESgIWZtKjp--