From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 78C573858D1E for ; Mon, 19 Dec 2022 14:57:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 78C573858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1671461820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=QZow2uR0wpZHVyK0DHlnpZSn+XygsvI6qq5eySI/w2c=; b=UziCI4vz2CvAGFE/gb39Id8bSHHNLRtEWvmdKtyLQ6SNs9R8gQOBPOwwJQApDwTIMIHp95 hXIEto/TJezl67fUWfbN5hB5pA60fEKACCqUoJycYKkmgjSP3KSp0SdURc6wc4+dHiOzB3 +IwgupoBqvoTvEqHVMD0BL9Yo5E/OAE= Received: from mail-io1-f72.google.com (mail-io1-f72.google.com [209.85.166.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-436-XKthmYX9NfKo-GBzHVwjIQ-1; Mon, 19 Dec 2022 09:56:59 -0500 X-MC-Unique: XKthmYX9NfKo-GBzHVwjIQ-1 Received: by mail-io1-f72.google.com with SMTP id s22-20020a6bdc16000000b006e2d7c78010so4141231ioc.21 for ; Mon, 19 Dec 2022 06:56:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2vA3whYfKSERA6sO5i57Or4dGx4fwyJm2mE5PICdRjA=; b=iKJdicQ2ou0K0d281d81Q2rvKAun7ktOxWD9DiQKOkRFLbZpfrnLIkdIBM/sbVWUbZ dfEBdLT+zGVbbX5aMjwVlVIg5cq4+TSY34isOp6JoVbKfWU3ssBVJ+n0AaV4pAGUUw73 fM4t2GwFWbhr/n18BfI7WU9XRanpefF4oKshfVpqOdhMvEsPUMsnB9/j5oiq5CLkaQui vOPXXzUVB5TlWpC4qYujpDuj18Wf2SAbhvlGKlBIDC3esqSDFloWI73KqJRMPgpcCGNf SjI/5S3zwQbkleSwqJNlTv1RpSUU6l3vNWMJASCwSqxWRsQ+uoH9c8/Wg4F3ljtI3ZCz ln0g== X-Gm-Message-State: AFqh2ko48G5uFyQK5Cnlgv7azxQXOQcpbwlpN5xpDzUm+P5D5WvoNOWI BMIPYheoGWUN17Wfs1Fnep5Y+3xRp8y7mHIlIv/qxYHCgh4bYIL5dDw30YyQv/F/n+WwYNDDXYv oS4leehr1lLWfvJSVkQDOdLnS4LPY1kLxCpEOqSAgb0UOXih8P2Z93pwP1qBCmV7WkkM/hA== X-Received: by 2002:a05:6e02:1414:b0:30b:b95c:e10d with SMTP id n20-20020a056e02141400b0030bb95ce10dmr1352002ilo.8.1671461818053; Mon, 19 Dec 2022 06:56:58 -0800 (PST) X-Google-Smtp-Source: AMrXdXupld9H59BnWpRXv5+WfNs3DFUxmWwK6VXzjCmWgqbuLZUxJBqXX/UHMqdh8mFdf21oLPzaWQ== X-Received: by 2002:a05:6e02:1414:b0:30b:b95c:e10d with SMTP id n20-20020a056e02141400b0030bb95ce10dmr1351990ilo.8.1671461817643; Mon, 19 Dec 2022 06:56:57 -0800 (PST) Received: from ?IPV6:2607:fea8:a263:f600::6c01? ([2607:fea8:a263:f600::6c01]) by smtp.gmail.com with ESMTPSA id w15-20020a056e0213ef00b003024928a9afsm3306748ilj.83.2022.12.19.06.56.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 19 Dec 2022 06:56:56 -0800 (PST) Message-ID: Date: Mon, 19 Dec 2022 09:56:55 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 To: gcc-patches Cc: "hernandez, aldy" From: Andrew MacLeod Subject: [PATCH] PR tree-optimization/108139 - Don't use PHI equivalences in range-on-entry. X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------M5a7CNnio84Rk5THm50KZvxP" Content-Language: en-US X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,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: This is a multi-part message in MIME format. --------------M5a7CNnio84Rk5THm50KZvxP Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit our use of equivalences on range-on-entry calculations cause an issue through a PHI node when a back edge is involved.  ie    a = VARYING    <...> bb5    b = PHI bb6    if (a != 0)      goto bb5 since the value of b is undefined on the edge 2->5, we ignore it. The range of a on the edge 6->5 is ~[0,0] we calculate the range of b to be ~[0,0].   we also provide an equivalency between a and b. Unfortunately the on-entry code looks at equivalencies, and says, "hey, a and b are equivalent, so we can use the range of b instead" So it now thinks a is ~[0,0] and folds away the condition. The problem is that b can be considered equivalent to a, but the converse is not true, because there is a path (2->5) upon which a is not equivalent to b.  we have no way to represent a one way equivalence at the moment. This patch avoid using that relation in range-on-entry calculations. Perhaps next release I'll add a specific kind of one way equivalence for this kind of situation. Bootstraps on x86_64-pc-linux-gnu with no regressions. OK? Andrew --------------M5a7CNnio84Rk5THm50KZvxP Content-Type: text/x-patch; charset=UTF-8; name="108139.patch" Content-Disposition: attachment; filename="108139.patch" Content-Transfer-Encoding: base64 Y29tbWl0IGVjZjE5YjZlYjZmOGUxN2Q4ZDE0OGUzYzY2MjdiZDIxNTE3NjY0MjAKQXV0aG9yOiBB bmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4KRGF0ZTogICBGcmkgRGVjIDE2IDE2 OjUzOjMxIDIwMjIgLTA1MDAKCiAgICBEb24ndCB1c2UgUEhJIGVxdWl2YWxlbmNlcyBpbiByYW5n ZS1vbi1lbnRyeS4KICAgIAogICAgSWYgdGhlcmUgaXMgb25seSBvbmUgYXJndW1lbnQgdG8gYSBQ SEkgd2hpY2ggaXMgZGVmaW5lZCwgYW4gZXF1aXZhbGVuY3kgaXMKICAgIGNyZWF0ZWQgYmV0d2Vl biB0aGUgZGVmIGFuZCB0aGUgYXJndW1lbnQuICBJdCBpcyBzYWZlIHRvIGNvbnNpZGVyIHRoZSBk ZWYKICAgIGVxdWFsIHRvIHRoZSBhcmd1bWVudCwgYnV0IGl0IGlzIGRhbmdlcm91cyB0byBhc3N1 bWUgdGhlIGFyZ3VtZW50IGlzIGFsc28KICAgIGVxdWl2YWxlbnQgdG8gdGhlIGRlZiBhcyB0aGVy ZSBtYXkgYmUgYnJhbmNoZXMgd2hpY2ggY2hhbmdlIHRoZSByYW5nZSBvbiB0aGUKICAgIHBhdGgg dG8gdGhlIFBISSBvbiB0aGF0IGFyZ3VtZW50CiAgICAKICAgIFRoaXMgcGF0Y2ggYXZvaWQgdXNp bmcgdGhhdCByZWxhdGlvbiBpbiByYW5nZS1vbi1lbnRyeSBjYWxjdWxhdGlvbnMuCiAgICAKICAg ICAgICAgICAgUFIgdHJlZS1vcHRpbWl6YXRpb24vMTA4MTM5CiAgICAgICAgICAgIGdjYy8KICAg ICAgICAgICAgKiBnaW1wbGUtcmFuZ2UtY2FjaGUuY2MgKHJhbmdlcl9jYWNoZTo6ZmlsbF9ibG9j a19jYWNoZSk6IERvIG5vdAogICAgICAgICAgICB1c2UgZXF1aXZhbGVuY2VzIG9yaWdpbmF0aW5n IGZyb20gUEhJUy4KICAgIAogICAgICAgICAgICBnY2MvdGVzdHN1aXRlLwogICAgICAgICAgICAq IGdjYy5kZy9wcjEwODEzOS5jOiBOZXcuCgpkaWZmIC0tZ2l0IGEvZ2NjL2dpbXBsZS1yYW5nZS1j YWNoZS5jYyBiL2djYy9naW1wbGUtcmFuZ2UtY2FjaGUuY2MKaW5kZXggY2U1YTBjODE1NWUuLjk4 NDhkMTQwMjQyIDEwMDY0NAotLS0gYS9nY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmNjCisrKyBiL2dj Yy9naW1wbGUtcmFuZ2UtY2FjaGUuY2MKQEAgLTEyMzUsNiArMTIzNSwxMyBAQCByYW5nZXJfY2Fj aGU6OmZpbGxfYmxvY2tfY2FjaGUgKHRyZWUgbmFtZSwgYmFzaWNfYmxvY2sgYmIsIGJhc2ljX2Js b2NrIGRlZl9iYikKIAkgICAgICBpZiAoIW1fZ29yaS5oYXNfZWRnZV9yYW5nZV9wIChlcXVpdl9u YW1lKSkKIAkJY29udGludWU7CiAKKwkgICAgICAvLyBQUiAxMDgxMzkuIEl0IGlzIGhhemFyZG91 cyB0byBhc3N1bWUgYW4gZXF1aXZhbGVuY2Ugd2l0aAorCSAgICAgIC8vIGEgUEhJIGlzIHRoZSBz YW1lIHZhbHVlLiAgVGhlIFBISSBtYXkgYmUgYW4gZXF1aXZhbGVuY2UKKwkgICAgICAvLyB2aWEg VU5ERUZJTkVEIGFyZ3VtZW50cyB3aGljaCBpcyByZWFsbHkgYSBvbmUgd2F5IGVxdWl2YWxlbmNl LgorCSAgICAgIC8vIFBISURFRiA9PSBuYW1lLCBidXQgbmFtZSBtYXkgbm90IGJlID09IFBISURF Ri4KKwkgICAgICBpZiAoaXNfYTxncGhpICo+IChTU0FfTkFNRV9ERUZfU1RNVCAoZXF1aXZfbmFt ZSkpKQorCQljb250aW51ZTsKKwogCSAgICAgIC8vIENoZWNrIGlmIHRoZSBlcXVpdiBkZWZpbml0 aW9uIGRvbWluYXRlcyB0aGlzIGJsb2NrCiAJICAgICAgaWYgKGVxdWl2X2JiID09IGJiIHx8CiAJ CSAgKGVxdWl2X2JiICYmICFkb21pbmF0ZWRfYnlfcCAoQ0RJX0RPTUlOQVRPUlMsIGJiLCBlcXVp dl9iYikpKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIxMDgxMzkuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL3ByMTA4MTM5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjZmMjI0ZTNjZTYyCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvcHIxMDgxMzkuYwpAQCAtMCwwICsxLDE4IEBACisvKiB7IGRnLWRvIGNvbXBpbGUg eyB0YXJnZXQgaW50MTI4IH0gfSAqLworLyogeyBkZy1vcHRpb25zICItTzEgLWZ0cmVlLXZycCAt ZmR1bXAtdHJlZS12cnAiIH0gKi8KKworaW50IGEsIGI7CitpbnQgbWFpbigpIHsKKyAgaW50IGM7 CisgIGlmIChhID4gMSkKKyAgICBhKys7CisgIHdoaWxlIChhKQorICAgIGlmIChjID09IGIpCisg ICAgICBjID0gYTsKKyAgcmV0dXJuIDA7Cit9CisKKworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLW5vdCAiRm9sZGluZyBwcmVkaWNhdGUiICJ2cnAyIiB9IH0gKi8KKworCg== --------------M5a7CNnio84Rk5THm50KZvxP--