From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 5DDD53858C52; Thu, 6 Oct 2022 16:16:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5DDD53858C52 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.95,164,1661846400"; d="diff'?scan'208";a="87034875" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 06 Oct 2022 08:15:58 -0800 IronPort-SDR: VyAg6UgMsfp3QUSu+L9U7ZhtsBeOKMbL+Kwbvhr84zPHH9heXVCWdN3WFgHm1x5qp4wyjWUTNY 4Sm6OkZFvBVLHT+brW0k7uY0qv/EDGA3YmaK4vGTN3zjS23wLLYDsa2mCV0iPGqxJZqUQtD0I+ Fd4a37idT1F7FQUKzCPnTdbOCILLlwSEVqWDlhNh0ZSbA/SMmnA8Qy8OcFA7KPw7bBJk3taTv5 Ma/U4lrEQYdqgArMHC97kQHL0KELMusI1VgU20Eg95SQWwJ8nZBzTwAsp4a9EXbu0/SqFIpb2/ w9Q= Content-Type: multipart/mixed; boundary="------------JTmNtrFxC1DF2XNIyL3GM0W1" Message-ID: <81064796-39af-cf76-d551-e990e48920ed@codesourcery.com> Date: Thu, 6 Oct 2022 18:15:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Subject: Re: [Patch] openmp: Map holds clause to IFN_ASSUME for Fortran Content-Language: en-US To: Jakub Jelinek , Tobias Burnus CC: gcc-patches , fortran References: From: Tobias Burnus In-Reply-To: X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,NICE_REPLY_A,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: --------------JTmNtrFxC1DF2XNIyL3GM0W1 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable On 06.10.22 14:17, Jakub Jelinek wrote: > On Thu, Oct 06, 2022 at 12:55:01PM +0200, Tobias Burnus wrote: >> I don't know whether it makes sense to handle =E2=80=93 in the long run = =E2=80=93 the >> case of se.pre/se.post being nonempty =E2=80=93 and, if so, how. > I think it is essential not to throw those away, > if se.pre or se.post, you can e.g. expand it roughly as C/C++ ({ cond; })= , > in GENERIC it can be say a TARGET_EXPR with a boolean > temporary as slot, where the the initializer will be the > se.pre part, followed by MODIFY_EXPR which sets the slot to se.expr > value and followed by se.post. Like as attached? =E2=80=93 It did survive regtesting. BTW: The assumption in assume-4.f90 does not help, but I think that's expected. I wonder whether it will work in both cases after your gimplify work. 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 --------------JTmNtrFxC1DF2XNIyL3GM0W1 Content-Type: text/x-patch; charset="UTF-8"; name="omp-assumes-hold-v2.diff" Content-Disposition: attachment; filename="omp-assumes-hold-v2.diff" Content-Transfer-Encoding: base64 b3Blbm1wOiBNYXAgaG9sZHMgY2xhdXNlIHRvIElGTl9BU1NVTUUgZm9yIEZvcnRyYW4KClNh bWUgYXMgcjEzLTMxMDctZzg0N2Y1YWRkYzRkMDdhMmYzYjk1ZjVkYWE1MGFiNGE2NGRmZDk1 N2QgZGlkIGZvciBDL0MrKy4KQ29udmVydCAnISRvbXAgYXNzdW1lIGhvbGRzKGNvbmQpJyB0 byBJRk5fQVNTVU1FIChjb25kKS4KICAgIApnY2MvZm9ydHJhbi8KCSogdHJhbnMtb3Blbm1w LmNjIChnZmNfdHJhbnNfb21wX2Fzc3VtZSk6IE5ldy4KCShnZmNfdHJhbnNfb21wX2RpcmVj dGl2ZSk6IENhbGwgaXQuCgpnY2MvdGVzdHN0dWl0ZS8KCSogZ2ZvcnRyYW4uZGcvZ29tcC9h c3N1bWUtMy5mOTA6IE5ldyB0ZXN0LgoJKiBnZm9ydHJhbi5kZy9nb21wL2Fzc3VtZS00LmY5 MDogTmV3IHRlc3QuCgogZ2NjL2ZvcnRyYW4vdHJhbnMtb3Blbm1wLmNjICAgICAgICAgICAg ICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysrKy0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZ29tcC9hc3N1bWUtMy5mOTAgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysr KysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9hc3N1bWUtNC5mOTAgfCA0OCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMzAgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3Ry YW5zLW9wZW5tcC5jYyBiL2djYy9mb3J0cmFuL3RyYW5zLW9wZW5tcC5jYwppbmRleCAyMTA1 MzY5NGY4MS4uOGVhNTczZjdkMDIgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3RyYW5zLW9w ZW5tcC5jYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2MKQEAgLTQ1NzAsNiAr NDU3MCw0MSBAQCBnZmNfdHJhbnNfb2FjY193YWl0X2RpcmVjdGl2ZSAoZ2ZjX2NvZGUgKmNv ZGUpCiBzdGF0aWMgdHJlZSBnZmNfdHJhbnNfb21wX3NlY3Rpb25zIChnZmNfY29kZSAqLCBn ZmNfb21wX2NsYXVzZXMgKik7CiBzdGF0aWMgdHJlZSBnZmNfdHJhbnNfb21wX3dvcmtzaGFy ZSAoZ2ZjX2NvZGUgKiwgZ2ZjX29tcF9jbGF1c2VzICopOwogCitzdGF0aWMgdHJlZQorZ2Zj X3RyYW5zX29tcF9hc3N1bWUgKGdmY19jb2RlICpjb2RlKQoreworICBzdG10YmxvY2tfdCBi bG9jazsKKyAgZ2ZjX2luaXRfYmxvY2sgKCZibG9jayk7CisgIGdmY19vbXBfYXNzdW1wdGlv bnMgKmFzc3VtZSA9IGNvZGUtPmV4dC5vbXBfY2xhdXNlcy0+YXNzdW1lOworICBpZiAoYXNz dW1lKQorICAgIGZvciAoZ2ZjX2V4cHJfbGlzdCAqZWwgPSBhc3N1bWUtPmhvbGRzOyBlbDsg ZWwgPSBlbC0+bmV4dCkKKyAgICAgIHsKKwlsb2NhdGlvbl90IGxvYyA9IGdmY19nZXRfbG9j YXRpb24gKCZlbC0+ZXhwci0+d2hlcmUpOworCWdmY19zZSBzZTsKKwlnZmNfaW5pdF9zZSAo JnNlLCBOVUxMKTsKKwlnZmNfY29udl9leHByICgmc2UsIGVsLT5leHByKTsKKwl0cmVlIHQ7 CisJaWYgKHNlLnByZS5oZWFkID09IE5VTExfVFJFRSAmJiBzZS5wb3N0LmhlYWQgPT0gTlVM TF9UUkVFKQorCSAgdCA9IHNlLmV4cHI7CisJZWxzZQorCSAgeworCSAgICB0cmVlIHZhciA9 IGdmY19jcmVhdGVfdmFyIChUUkVFX1RZUEUgKHNlLmV4cHIpLCBOVUxMKTsKKwkgICAgc3Rt dGJsb2NrX3QgYmxvY2syOworCSAgICBnZmNfaW5pdF9ibG9jayAoJmJsb2NrMik7CisJICAg IGdmY19hZGRfYmxvY2tfdG9fYmxvY2sgKCZibG9jazIsICZzZS5wcmUpOworCSAgICBnZmNf YWRkX21vZGlmeV9sb2MgKGxvYywgJmJsb2NrMiwgdmFyLCBzZS5leHByKTsKKwkgICAgZ2Zj X2FkZF9ibG9ja190b19ibG9jayAoJmJsb2NrMiwgJnNlLnBvc3QpOworCSAgICB0ID0gZ2Zj X2ZpbmlzaF9ibG9jayAoJmJsb2NrMik7CisJICAgIHQgPSBidWlsZDQgKFRBUkdFVF9FWFBS LCBib29sZWFuX3R5cGVfbm9kZSwgdmFyLCB0LCBOVUxMLCBOVUxMKTsKKwkgIH0KKwl0ID0g YnVpbGRfY2FsbF9leHByX2ludGVybmFsX2xvYyAobG9jLCBJRk5fQVNTVU1FLAorCQkJCQkg IHZvaWRfdHlwZV9ub2RlLCAxLCB0KTsKKwlnZmNfYWRkX2V4cHJfdG9fYmxvY2sgKCZibG9j aywgdCk7CisgICAgICB9CisgIGdmY19hZGRfZXhwcl90b19ibG9jayAoJmJsb2NrLCBnZmNf dHJhbnNfb21wX2NvZGUgKGNvZGUtPmJsb2NrLT5uZXh0LCB0cnVlKSk7CisgIHJldHVybiBn ZmNfZmluaXNoX2Jsb2NrICgmYmxvY2spOworfQorCiBzdGF0aWMgdHJlZQogZ2ZjX3RyYW5z X29tcF9hdG9taWMgKGdmY19jb2RlICpjb2RlKQogewpAQCAtNzQ4OCw3ICs3NTIzLDcgQEAg Z2ZjX3RyYW5zX29tcF9kaXJlY3RpdmUgKGdmY19jb2RlICpjb2RlKQogICBzd2l0Y2ggKGNv ZGUtPm9wKQogICAgIHsKICAgICBjYXNlIEVYRUNfT01QX0FTU1VNRToKLSAgICAgIHJldHVy biBnZmNfdHJhbnNfb21wX2NvZGUgKGNvZGUtPmJsb2NrLT5uZXh0LCB0cnVlKTsKKyAgICAg IHJldHVybiBnZmNfdHJhbnNfb21wX2Fzc3VtZSAoY29kZSk7CiAgICAgY2FzZSBFWEVDX09N UF9BVE9NSUM6CiAgICAgICByZXR1cm4gZ2ZjX3RyYW5zX29tcF9hdG9taWMgKGNvZGUpOwog ICAgIGNhc2UgRVhFQ19PTVBfQkFSUklFUjoKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZ29tcC9hc3N1bWUtMy5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2dvbXAvYXNzdW1lLTMuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5lNWRlYWNlMzA2ZQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZ29tcC9hc3N1bWUtMy5mOTAKQEAgLTAsMCArMSw0NiBAQAorISB7IGRn LWRvIGNvbXBpbGUgfQorISB7IGRnLW9wdGlvbnMgIi1mb3Blbm1wIC1PMiAtZmR1bXAtdHJl ZS1vcHRpbWl6ZWQgLWZkdW1wLXRyZWUtb3JpZ2luYWwiIH0KKworISB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAtdGltZXMgIi5BU1NVTUUgXFwoeCA9PSA0MlxcKTsiIDEgIm9yaWdp bmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIuQVNTVU1F IFxcKHggPD0gNDFcXCk7IiAxICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcC10aW1lcyAiLkFTU1VNRSBcXCh5IDw9IDZcXCk7IiAxICJvcmlnaW5hbCIg fSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiLkFTU1VNRSBcXCh5 ID4gNVxcKTsiIDEgIm9yaWdpbmFsIiB9IH0KKworISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVl LWR1bXAtdGltZXMgInJldHVybiA0MjsiIDMgIm9wdGltaXplZCIgfSB9CishIHsgZGctZmlu YWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgInJldHVybiAtMTsiICJvcHRpbWl6ZWQiIH0gfQor CitpbnRlZ2VyIGZ1bmN0aW9uIGZvbyAoeCkKKyAgaW1wbGljaXQgbm9uZQorICBpbnRlZ2Vy LCB2YWx1ZSA6OiB4CisgIGludGVnZXIgOjogeQorICAhJG9tcCBhc3N1bWUgaG9sZHMgKHgg PT0gNDIpCisgICAgeSA9IHg7CisgICEkb21wIGVuZCBhc3N1bWUKKyAgZm9vID0geQorZW5k CisKK2ludGVnZXIgZnVuY3Rpb24gYmFyICh4KQorICBpbXBsaWNpdCBub25lCisgIGludGVn ZXIsIHZhbHVlIDo6IHgKKyAgISRvbXAgYXNzdW1lIGhvbGRzICh4IDwgNDIpCisgIGJsb2Nr CisgIGVuZCBibG9jaworICBpZiAoeCA9PSA0MikgdGhlbgorICAgIGJhciA9IC0xCisgICAg cmV0dXJuCisgIGVuZCBpZgorICBiYXIgPSA0MgorZW5kCisKK2ludGVnZXIgZnVuY3Rpb24g Zm9vYmFyICh5KQorICBpbXBsaWNpdCBub25lCisgIGludGVnZXIsIHZhbHVlIDo6IHkKKyAg ISRvbXAgYXNzdW1lIGhvbGRzKHkgPiA1KSBob2xkcyAoeSA8IDcpCisgIGJsb2NrCisgICAg aWYgKHkgPT0gNikgdGhlbgorICAgICAgZm9vYmFyID0gNDIKKyAgICAgIHJldHVybgorICAg IGVuZCBpZgorICBlbmQgYmxvY2sKKyAgZm9vYmFyID0gLTEKK2VuZApkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2Fzc3VtZS00LmY5MCBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9hc3N1bWUtNC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmYxZjkxOTI0Y2VhCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2Fzc3VtZS00LmY5MApAQCAtMCwwICsx LDQ4IEBACishIHsgZGctZG8gY29tcGlsZSB9CishIHsgZGctb3B0aW9ucyAiLWZvcGVubXAg LU8yIC1mZHVtcC10cmVlLW9yaWdpbmFsIC1mZHVtcC10cmVlLW9wdGltaXplZCIgfQorISB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIi5BU1NVTUUgXFwoaV9sb3dlcl9i b3VuZCBcXChcXCkgPCBpXFwpOyIgMSAib3JpZ2luYWwiIH0KKyEgeyBkZy1maW5hbCB7IHNj YW4tdHJlZS1kdW1wLXRpbWVzICIuQVNTVU1FIFxcKFRBUkdFVF9FWFBSIDxELlxbMC05XF0r LCBELlxbMC05XF0rID0gal91cHBlcl9ib3VuZCBcXChcXCk7IiAxICJvcmlnaW5hbCIgfQor ISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIl9fYnVpbHRpbl9mcmVlIiAx ICJvcmlnaW5hbCIgfQorCishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgImlf bG93ZXJfYm91bmQiICJvcHRpbWl6ZWQiIH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLW5vdCAial91cHBlcl9ib3VuZCIgIm9wdGltaXplZCIgfQorISB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAtbm90ICJfX2J1aWx0aW5fZnJlZSIgIm9wdGltaXplZCIgfQorCish IE5vdGU6IEN1cnJlbnRseSwgdGhlIGFzc3VtcHRpb24gZG9lcyBub3QgaGVscCB3aXRoIG9w dGltaXphdGlvbiBpbiBlaXRoZXIgdmFyaWFudC4KKworICBpbXBsaWNpdCBub25lCisgIGlu dGVnZXIsIHZhbHVlIDo6IGkKKworICAhJG9tcCBhc3N1bWUgaG9sZHMoaSA+IGlfbG93ZXJf Ym91bmQgKCkpCisgIGJsb2NrCisgICAgaWYgKGkgPiA0KSB0aGVuCisgICAgICBmID0gNDIK KyAgICBlbHNlCisgICAgICBmID0gLTEKKyAgICBlbmQgaWYKKyAgZW5kIGJsb2NrCitjb250 YWlucworICBmdW5jdGlvbiBpX2xvd2VyX2JvdW5kICgpCisgICAgaW50ZWdlciA6OiBpX2xv d2VyX2JvdW5kCisgICAgaV9sb3dlcl9ib3VuZCA9IDUKKyAgZW5kIGZ1bmN0aW9uCitlbmQK KworaW50ZWdlciBmdW5jdGlvbiBnKGopCisgIGltcGxpY2l0IG5vbmUKKyAgaW50ZWdlciwg dmFsdWUgOjogagorCisgICEkb21wIGFzc3VtZSBob2xkcyhqIDwgal91cHBlcl9ib3VuZCAo KSkKKyAgYmxvY2sKKyAgICBpZiAoaiA8IDEwKSB0aGVuCisgICAgICBnID0gNDIKKyAgICBl bHNlCisgICAgICBnID0gLTEKKyAgICBlbmQgaWYKKyAgZW5kIGJsb2NrCitjb250YWlucwor ICBmdW5jdGlvbiBqX3VwcGVyX2JvdW5kICgpCisgICAgaW50ZWdlciwgYWxsb2NhdGFibGUg Ojogal91cHBlcl9ib3VuZAorICAgIGpfdXBwZXJfYm91bmQgPSAxMAorICBlbmQgZnVuY3Rp b24KK2VuZAo= --------------JTmNtrFxC1DF2XNIyL3GM0W1--