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 5FCE13858C2F for ; Thu, 25 Aug 2022 15:39:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5FCE13858C2F 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="81811447" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 25 Aug 2022 07:39:05 -0800 IronPort-SDR: 2Q/PcFk1ylukeB16pGTGS9Vve5Ui2jhWnJF4Yjvi1T/Zt3Fe3EChmTmhXAcL4KE4GmcbpkntUX LiykHMtFpb4q4u4fjkmRwLSVZSJyn3wWghE9OT9cUTc++D7O5BmaJfJRsnniR0EDDeyntQhx5/ tN5nuaYDf/OnRjdtRNMVS6kqGxiBMfTSJwCk7kgEUe0bt16YWLF72yaIRrFK49JGzqQfuCGQ0h Tu71eJD1al42VZ/blKpwqtLYCt7Ci9/dZuPCW9Z7IaxbjCgkMx55SKIySM0AafSmFRjiTURah3 yaU= Content-Type: multipart/mixed; boundary="------------0IXlunxqC6SqGrFc6dYAJhRD" Message-ID: <9b367f13-dad2-5151-45a6-ae5dbc7950aa@codesourcery.com> Date: Thu, 25 Aug 2022 17:38:58 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.0 Subject: [Patch][2/3] GCN: libgomp+mkoffload.cc: Prepare for reverse offload fn lookup Content-Language: en-US From: Tobias Burnus To: gcc-patches , Jakub Jelinek , Andrew Stubbs References: <40563a1c-49ef-a185-3c01-9f717cd48fc5@codesourcery.com> In-Reply-To: <40563a1c-49ef-a185-3c01-9f717cd48fc5@codesourcery.com> X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-09.mgc.mentorg.com (139.181.222.9) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_STOCKGEN,SPF_HELO_PASS,SPF_PASS,TXREP,T_FILL_THIS_FORM_SHORT,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: <20220825153858.V-_BiogxylrvLVVgex4OiEhV-7OLqzCRDctFBiOxgoQ@z> --------------0IXlunxqC6SqGrFc6dYAJhRD Content-Type: multipart/alternative; boundary="------------Sb0d7yIcUTJNSHLyWckvLrHi" --------------Sb0d7yIcUTJNSHLyWckvLrHi Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable On 25.08.22 16:54, Tobias Burnus wrote: The attached patch prepare for reverse-offload device->host function-address lookup by requesting (if needed) the on-device address. This patch adds the actual implementation for GCN. A variant would be to only generate .offload_func_table inside mkoffload when OMP_REQUIRES_REVERSE_OFFLOAD has been requested. This is currently effectively a no op as with [1/3] patch, always NULL is passed and as GOMP_OFFLOAD_get_num_devices returns <=3D 0 as soon as 'omp requires reverse_offload' has been specified. 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 --------------Sb0d7yIcUTJNSHLyWckvLrHi-- --------------0IXlunxqC6SqGrFc6dYAJhRD Content-Type: text/x-patch; charset="UTF-8"; name="fn-lookup-gcn.diff" Content-Disposition: attachment; filename="fn-lookup-gcn.diff" Content-Transfer-Encoding: base64 R0NOOiBsaWJnb21wK21rb2ZmbG9hZC5jYzogUHJlcGFyZSBmb3IgcmV2ZXJz ZSBvZmZsb2FkIGZuIGxvb2t1cAoKQWRkIHN1cHBvcnQgdG8gR0NOIGZvciBy ZXZlcnNlIGxvb2t1cCBvZiBmdW5jdGlvbiBuYW1lIHRvIHByZXBhcmUgZm9y CidvbXAgdGFyZ2V0IGRldmljZShhbmNlc3RvcjoxKScuCgpnY2MvQ2hhbmdl TG9nOgoKCSogY29uZmlnL2djbi9ta29mZmxvYWQuY2MgKHByb2Nlc3NfYXNt KTogQ3JlYXRlIC5vZmZsb2FkX2Z1bmNfdGFibGUsCglzaW1pbGFyIHRvIHBy ZS1leGlzdGluZyAub2ZmbG9hZF92YXJfdGFibGUuCgpsaWJnb21wL0NoYW5n ZUxvZzoKCgkqIHBsdWdpbi9wbHVnaW4tZ2NuLmMgKEdPTVBfT0ZGTE9BRF9s b2FkX2ltYWdlKTogUmVhZAoJLm9mZmxvYWRfZnVuY190YWJsZSB0byBwb3B1 bGF0ZSByZXZfZm5fdGFibGUgd2hlbiByZXF1ZXN0ZWQuCgogZ2NjL2NvbmZp Zy9nY24vbWtvZmZsb2FkLmNjIHwgMTEgKysrKysrKysrKy0KIGxpYmdvbXAv cGx1Z2luL3BsdWdpbi1nY24uYyB8IDI2ICsrKysrKysrKysrKysrKysrKysr KysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2djbi9ta29m ZmxvYWQuY2MgYi9nY2MvY29uZmlnL2djbi9ta29mZmxvYWQuY2MKaW5kZXgg NDIwNjQ0ODcwM2EuLjI0ZDMyNzM1NWUzIDEwMDY0NAotLS0gYS9nY2MvY29u ZmlnL2djbi9ta29mZmxvYWQuY2MKKysrIGIvZ2NjL2NvbmZpZy9nY24vbWtv ZmZsb2FkLmNjCkBAIC01MzcsNjMgKzUzNyw3MiBAQCBwcm9jZXNzX2FzbSAo RklMRSAqaW4sIEZJTEUgKm91dCwgRklMRSAqY2ZpbGUpCiAJY2FzZSBJTl9W QVJTOgogCSAgewogCSAgICBjaGFyICp2YXJuYW1lOwogCSAgICB1bnNpZ25l ZCB2YXJzaXplOwogCSAgICBpZiAoc3NjYW5mIChidWYsICIgLjhieXRlICVt c1xuIiwgJnZhcm5hbWUpKQogCSAgICAgIHsKIAkJZnB1dHMgKGJ1Ziwgb3V0 KTsKIAkJZmdldHMgKGJ1Ziwgc2l6ZW9mIChidWYpLCBpbik7CiAJCWlmICgh c3NjYW5mIChidWYsICIgLjhieXRlICV1XG4iLCAmdmFyc2l6ZSkpCiAJCSAg YWJvcnQgKCk7CiAJCXZhcl9jb3VudCsrOwogCSAgICAgIH0KIAkgICAgYnJl YWs7CiAJICB9CiAJY2FzZSBJTl9GVU5DUzoKIAkgIHsKIAkgICAgY2hhciAq ZnVuY25hbWU7CiAJICAgIGlmIChzc2NhbmYgKGJ1ZiwgIlx0LjhieXRlXHQl bXNcbiIsICZmdW5jbmFtZSkpCiAJICAgICAgeworCQlmcHV0cyAoYnVmLCBv dXQpOwogCQlvYnN0YWNrX3B0cl9ncm93ICgmZm5zX29zLCBmdW5jbmFtZSk7 CiAJCWZuX2NvdW50Kys7CiAJCWNvbnRpbnVlOwogCSAgICAgIH0KIAkgICAg YnJlYWs7CiAJICB9CiAJfQogCiAgICAgICBjaGFyIGR1bW15OwogICAgICAg aWYgKHNzY2FuZiAoYnVmLCAiIC5zZWN0aW9uIC5nbnUub2ZmbG9hZF92YXJz JWMiLCAmZHVtbXkpID4gMCkKIAl7CiAJICBzdGF0ZSA9IElOX1ZBUlM7CiAK IAkgIC8qIEFkZCBhIGdsb2JhbCBzeW1ib2wgdG8gYWxsb3cgcGx1Z2luLWdj bi5jIHRvIGxvY2F0ZSB0aGUgdGFibGUKIAkgICAgIGF0IHJ1bnRpbWUuICBJ dCBjYW4ndCB1c2UgdGhlICJvZmZsb2FkX3Zhcl90YWJsZS5OIiBlbWl0dGVk IGJ5CiAJICAgICB0aGUgY29tcGlsZXIgYmVjYXVzZSBhKSB0aGV5J3JlIG5v dCBnbG9iYWwsIGFuZCBiKSB0aGVyZSdzIG9uZQogCSAgICAgZm9yIGVhY2gg aW5wdXQgZmlsZSBjb21iaW5lZCBpbnRvIHRoZSBiaW5hcnkuICAqLwogCSAg ZnB1dHMgKGJ1Ziwgb3V0KTsKIAkgIGZwdXRzICgiXHQuZ2xvYmFsIC5vZmZs b2FkX3Zhcl90YWJsZVxuIgogCQkgIlx0LnR5cGUgLm9mZmxvYWRfdmFyX3Rh YmxlLCBAb2JqZWN0XG4iCiAJCSAiLm9mZmxvYWRfdmFyX3RhYmxlOlxuIiwK IAkJIG91dCk7CiAJfQogICAgICAgZWxzZSBpZiAoc3NjYW5mIChidWYsICIg LnNlY3Rpb24gLmdudS5vZmZsb2FkX2Z1bmNzJWMiLCAmZHVtbXkpID4gMCkK LQlzdGF0ZSA9IElOX0ZVTkNTOworCXsKKwkgIHN0YXRlID0gSU5fRlVOQ1M7 CisJICAvKiBMaWtld2lzZSBmb3IgLmdudS5vZmZsb2FkX3ZhcnM7IHVzZWQg Zm9yIHJldmVyc2Ugb2ZmbG9hZC4gKi8KKwkgIGZwdXRzIChidWYsIG91dCk7 CisJICBmcHV0cyAoIlx0Lmdsb2JhbCAub2ZmbG9hZF9mdW5jX3RhYmxlXG4i CisJCSAiXHQudHlwZSAub2ZmbG9hZF9mdW5jX3RhYmxlLCBAb2JqZWN0XG4i CisJCSAiLm9mZmxvYWRfZnVuY190YWJsZTpcbiIsCisJCSBvdXQpOworCX0K ICAgICAgIGVsc2UgaWYgKHNzY2FuZiAoYnVmLCAiIC5hbWRncHVfbWV0YWRh dGElYyIsICZkdW1teSkgPiAwKQogCXsKIAkgIHN0YXRlID0gSU5fTUVUQURB VEE7CiAJICByZWdjb3VudC5rZXJuZWxfbmFtZSA9IE5VTEw7CiAJICByZWdj b3VudC5zZ3ByX2NvdW50ID0gcmVnY291bnQudmdwcl9jb3VudCA9IC0xOwog CX0KICAgICAgIGVsc2UgaWYgKHNzY2FuZiAoYnVmLCAiIC5zZWN0aW9uICVj IiwgJmR1bW15KSA+IDAKIAkgICAgICAgfHwgc3NjYW5mIChidWYsICIgLnRl eHQlYyIsICZkdW1teSkgPiAwCiAJICAgICAgIHx8IHNzY2FuZiAoYnVmLCAi IC5ic3MlYyIsICZkdW1teSkgPiAwCiAJICAgICAgIHx8IHNzY2FuZiAoYnVm LCAiIC5kYXRhJWMiLCAmZHVtbXkpID4gMAogCSAgICAgICB8fCBzc2NhbmYg KGJ1ZiwgIiAuaWRlbnQgJWMiLCAmZHVtbXkpID4gMCkKIAlzdGF0ZSA9IElO X0NPREU7CiAgICAgICBlbHNlIGlmIChzc2NhbmYgKGJ1ZiwgIiAuZW5kX2Ft ZGdwdV9tZXRhZGF0YSVjIiwgJmR1bW15KSA+IDApCiAJewogCSAgc3RhdGUg PSBJTl9DT0RFOwogCSAgZ2NjX2Fzc2VydCAocmVnY291bnQua2VybmVsX25h bWUgIT0gTlVMTAogCQkgICAgICAmJiByZWdjb3VudC5zZ3ByX2NvdW50ID49 IDAKIAkJICAgICAgJiYgcmVnY291bnQudmdwcl9jb3VudCA+PSAwKTsKIAkg IG9ic3RhY2tfZ3JvdyAoJnJlZ2NvdW50c19vcywgJnJlZ2NvdW50LCBzaXpl b2YgKHJlZ2NvdW50KSk7CmRpZmYgLS1naXQgYS9saWJnb21wL3BsdWdpbi9w bHVnaW4tZ2NuLmMgYi9saWJnb21wL3BsdWdpbi9wbHVnaW4tZ2NuLmMKaW5k ZXggMzYzZTI5NTA2NDkuLjAwNjAzOTgxODY2IDEwMDY0NAotLS0gYS9saWJn b21wL3BsdWdpbi9wbHVnaW4tZ2NuLmMKKysrIGIvbGliZ29tcC9wbHVnaW4v cGx1Z2luLWdjbi5jCkBAIC0zMzUzLDcgKzMzNTMsNyBAQCBHT01QX09GRkxP QURfaW5pdF9kZXZpY2UgKGludCBuKQogaW50CiBHT01QX09GRkxPQURfbG9h ZF9pbWFnZSAoaW50IG9yZCwgdW5zaWduZWQgdmVyc2lvbiwgY29uc3Qgdm9p ZCAqdGFyZ2V0X2RhdGEsCiAJCQkgc3RydWN0IGFkZHJfcGFpciAqKnRhcmdl dF90YWJsZSwKLQkJCSB1aW50NjRfdCAqKnJldl9mbl90YWJsZSBfX2F0dHJp YnV0ZV9fKCh1bnVzZWQpKSkKKwkJCSB1aW50NjRfdCAqKnJldl9mbl90YWJs ZSkKIHsKICAgaWYgKEdPTVBfVkVSU0lPTl9ERVYgKHZlcnNpb24pICE9IEdP TVBfVkVSU0lPTl9HQ04pCiAgICAgewpAQCAtMzUyMCw2ICszNTIwLDMwIEBA IEdPTVBfT0ZGTE9BRF9sb2FkX2ltYWdlIChpbnQgb3JkLCB1bnNpZ25lZCB2 ZXJzaW9uLCBjb25zdCB2b2lkICp0YXJnZXRfZGF0YSwKICAgaWYgKG1vZHVs ZS0+ZmluaV9hcnJheV9mdW5jKQogICAgIGtlcm5lbF9jb3VudC0tOwogCisg IGlmIChyZXZfZm5fdGFibGUgIT0gTlVMTCAmJiBrZXJuZWxfY291bnQgPT0g MCkKKyAgICAqcmV2X2ZuX3RhYmxlID0gTlVMTDsKKyAgZWxzZSBpZiAocmV2 X2ZuX3RhYmxlICE9IE5VTEwpCisgICAgeworICAgICAgaHNhX3N0YXR1c190 IHN0YXR1czsKKyAgICAgIGhzYV9leGVjdXRhYmxlX3N5bWJvbF90IHZhcl9z eW1ib2w7CisgICAgICBzdGF0dXMgPSBoc2FfZm5zLmhzYV9leGVjdXRhYmxl X2dldF9zeW1ib2xfZm4gKGFnZW50LT5leGVjdXRhYmxlLCBOVUxMLAorCQkJ CQkJICAgICAiLm9mZmxvYWRfZnVuY190YWJsZSIsCisJCQkJCQkgICAgIGFn ZW50LT5pZCwgMCwgJnZhcl9zeW1ib2wpOworICAgICAgaWYgKHN0YXR1cyAh PSBIU0FfU1RBVFVTX1NVQ0NFU1MpCisJaHNhX2ZhdGFsICgiQ291bGQgbm90 IGZpbmQgc3ltYm9sIGZvciB2YXJpYWJsZSBpbiB0aGUgY29kZSBvYmplY3Qi LAorCQkgICBzdGF0dXMpOworICAgICAgdWludDY0X3QgZm5fdGFibGVfYWRk cjsKKyAgICAgIHN0YXR1cyA9IGhzYV9mbnMuaHNhX2V4ZWN1dGFibGVfc3lt Ym9sX2dldF9pbmZvX2ZuCisJKHZhcl9zeW1ib2wsIEhTQV9FWEVDVVRBQkxF X1NZTUJPTF9JTkZPX1ZBUklBQkxFX0FERFJFU1MsCisJICZmbl90YWJsZV9h ZGRyKTsKKyAgICAgIGlmIChzdGF0dXMgIT0gSFNBX1NUQVRVU19TVUNDRVNT KQorCWhzYV9mYXRhbCAoIkNvdWxkIG5vdCBleHRyYWN0IGEgdmFyaWFibGUg ZnJvbSBpdHMgc3ltYm9sIiwgc3RhdHVzKTsKKyAgICAgICpyZXZfZm5fdGFi bGUgPSBHT01QX1BMVUdJTl9tYWxsb2MgKGtlcm5lbF9jb3VudCAqIHNpemVv ZiAodWludDY0X3QpKTsKKyAgICAgIEdPTVBfT0ZGTE9BRF9kZXYyaG9zdCAo YWdlbnQtPmRldmljZV9pZCwgKnJldl9mbl90YWJsZSwKKwkJCSAgICAgKHZv aWQqKSBmbl90YWJsZV9hZGRyLAorCQkJICAgICBrZXJuZWxfY291bnQgKiBz aXplb2YgKHVpbnQ2NF90KSk7CisgICAgfQorCiAgIHJldHVybiBrZXJuZWxf Y291bnQgKyB2YXJfY291bnQgKyBvdGhlcl9jb3VudDsKIH0KIAo= --------------0IXlunxqC6SqGrFc6dYAJhRD--