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.129.124]) by sourceware.org (Postfix) with ESMTPS id C4D9C3860771 for ; Thu, 13 Oct 2022 15:31:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C4D9C3860771 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=1665675105; 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=Fhj8+a0wAuUHYEQgIkRiODo86vszpqovS8+uYYy8jtY=; b=P2dp0rHQsmcPjEsq1rEbUq7DZn7aELFeX+m9QjBTNVYP9o9rSQVmZj16xSvRP+tr2B2rbF V171NLS78laC30LGxrPnTQE9LD9Qy7AKWn1TtPho/cTHD7ocY7WVcCmheg0Ht5rfXWF+Za 5ZcZI/N72qSuTI4UTApbKJ0MP6dgKFw= Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-31-t9QiBiuQMXCsxjT4YHgxcA-1; Thu, 13 Oct 2022 11:31:44 -0400 X-MC-Unique: t9QiBiuQMXCsxjT4YHgxcA-1 Received: by mail-qt1-f198.google.com with SMTP id g21-20020ac87d15000000b0035bb6f08778so1556106qtb.2 for ; Thu, 13 Oct 2022 08:31:44 -0700 (PDT) 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=3n7wwLBavjl1yOg6F6cTdgV7zfuhtOWvjc9sV3e9p+k=; b=InC4t0npHoswBijYKSYaDPfBQgdOvafhel58/+U46x78YG+aZa//JdAcNfkTYcjXxy +sBALrstwvA8DDgEd1pMKrz3uYbJNBErNalU89aZhQSL2edf+D+8O/rS5nUNMQYc6BzR vcASm9z94WhBadOb23dQ50AUmYnreq50xZCR62MUFIwsnkvVsBq47YTpJbWbrrF7J7IX t2OkMEJixFu0+UOnct1RbFqgea4a2m0TwGI5AHs0gcqJAG0yWVdXPNa/JmKl83n6RpAj mm22h9hNrhT27C3mmCGDsW3s2+tkQHhfqqe9crfCPcVUY5unDlyOOCjc5nXgb0Thpvxk CCqw== X-Gm-Message-State: ACrzQf1J3XOw9CuRFG4cCPG1JgVJdTG9GqC6K26JUF2FazBaI7/aqWaN wc7RiI4RGcAHMqhymjknXYxhPEdwAkHHOUonPDHYNNEPmDTuTSo+CmLUsIN6Eouus/YpGwn+kCR Ux1MkMVBIV9PQJdZszBIXwGuvIiWx4xbrFqSY/2/jalbqGFvdChgznfChofScI6hEldheSw== X-Received: by 2002:a05:6214:29ef:b0:4b4:5d8c:637c with SMTP id jv15-20020a05621429ef00b004b45d8c637cmr164015qvb.77.1665675102836; Thu, 13 Oct 2022 08:31:42 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4DiyVWWkB3/UV6JVt9z9qlSlrWIjm8q42DopHMqjSMmIM8X8EUwPcs/oyWJQ52lIlSx30oug== X-Received: by 2002:a05:6214:29ef:b0:4b4:5d8c:637c with SMTP id jv15-20020a05621429ef00b004b45d8c637cmr163989qvb.77.1665675102525; Thu, 13 Oct 2022 08:31:42 -0700 (PDT) Received: from ?IPV6:2607:fea8:a263:f600::50d4? ([2607:fea8:a263:f600::50d4]) by smtp.gmail.com with ESMTPSA id j4-20020a05620a410400b006eea4b5abcesm4172552qko.89.2022.10.13.08.31.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Oct 2022 08:31:41 -0700 (PDT) Message-ID: <8fef9e41-6f71-c3d8-09b9-419201b6c9e7@redhat.com> Date: Thu, 13 Oct 2022 11:31:40 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 To: gcc-patches Cc: "hernandez, aldy" From: Andrew MacLeod Subject: [COMMITTED 4/4] PR tree-optimization/102540 - propagate partial equivs in the cache. X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------7uJSdfNnJRUtXalcLwdEmVtk" Content-Language: en-US X-Spam-Status: No, score=-11.7 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,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. --------------7uJSdfNnJRUtXalcLwdEmVtk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Rangers on entry cache propagation already evaluates equivalences when calculating values. This patch also allows it to work with partial equivalences, and if the bit sizes are compatible, make use of those ranges as well. It attempts to be conservative, so should be safe. This resolves regressions in both PR 102540 and PR 102872. Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed Andrew --------------7uJSdfNnJRUtXalcLwdEmVtk Content-Type: text/x-patch; charset=UTF-8; name="0004-propagate-partial-equivs-in-the-cache.patch" Content-Disposition: attachment; filename="0004-propagate-partial-equivs-in-the-cache.patch" Content-Transfer-Encoding: base64 RnJvbSA2Y2MzMzk0NTA3YTIzMDNhMTg4OTFkMzQyMjJjNTNmNjc5MjU2YzM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4K RGF0ZTogV2VkLCA1IE9jdCAyMDIyIDEwOjQyOjA3IC0wNDAwClN1YmplY3Q6IFtQQVRDSCA0LzRd IHByb3BhZ2F0ZSBwYXJ0aWFsIGVxdWl2cyBpbiB0aGUgY2FjaGUuCgpBZGp1c3Qgb24tZW50cnkg Y2FjaGUgcHJvcGFnYXRpb24gdG8gbG9vayBmb3IgYW5kIHByb3BhZ2F0ZSBib3RoIGZ1bGwKYW5k IHBhcnRpYWwgZXF1aXZhbGVuY2VzLgoKCWdjYy8KCVBSIHRyZWUtb3B0aW1pemF0aW9uLzEwMjU0 MAoJUFIgdHJlZS1vcHRpbWl6YXRpb24vMTAyODcyCgkqIGdpbXBsZS1yYW5nZS1jYWNoZS5jYyAo cmFuZ2VyX2NhY2hlOjpmaWxsX2Jsb2NrX2NhY2hlKToKCUhhbmRsZSBwYXJ0aWFsIGVxdWl2cy4K CShyYW5nZXJfY2FjaGU6OnJhbmdlX2Zyb21fZG9tKTogQ2xlYW51cCBkdW1wIG91dHB1dC4KCgln Y2MvdGVzdHN1aXRlLwoJKiBnY2MuZGcvcHIxMDI1NDAuYzogTmV3LgoJKiBnY2MuZGcvcHIxMDI4 NzIuYzogTmV3LgotLS0KIGdjYy9naW1wbGUtcmFuZ2UtY2FjaGUuY2MgICAgICAgfCAzNyArKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByMTAy NTQwLmMgfCAxOSArKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIxMDI4 NzIuYyB8IDE2ICsrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMo KyksIDYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvcHIxMDI1NDAuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3By MTAyODcyLmMKCmRpZmYgLS1naXQgYS9nY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmNjIGIvZ2NjL2dp bXBsZS1yYW5nZS1jYWNoZS5jYwppbmRleCA4YzgwYmE2Y2QxNC4uMGI5YWEzNjM5YzUgMTAwNjQ0 Ci0tLSBhL2djYy9naW1wbGUtcmFuZ2UtY2FjaGUuY2MKKysrIGIvZ2NjL2dpbXBsZS1yYW5nZS1j YWNoZS5jYwpAQCAtMTE4OSw4ICsxMTg5LDkgQEAgcmFuZ2VyX2NhY2hlOjpmaWxsX2Jsb2NrX2Nh Y2hlICh0cmVlIG5hbWUsIGJhc2ljX2Jsb2NrIGJiLCBiYXNpY19ibG9jayBkZWZfYmIpCiB7CiAg IGVkZ2VfaXRlcmF0b3IgZWk7CiAgIGVkZ2UgZTsKLSAgVmFsdWVfUmFuZ2UgYmxvY2tfcmVzdWx0 IChUUkVFX1RZUEUgKG5hbWUpKTsKLSAgVmFsdWVfUmFuZ2UgdW5kZWZpbmVkIChUUkVFX1RZUEUg KG5hbWUpKTsKKyAgdHJlZSB0eXBlID0gVFJFRV9UWVBFIChuYW1lKTsKKyAgVmFsdWVfUmFuZ2Ug YmxvY2tfcmVzdWx0ICh0eXBlKTsKKyAgVmFsdWVfUmFuZ2UgdW5kZWZpbmVkICh0eXBlKTsKIAog ICAvLyBBdCB0aGlzIHBvaW50IHdlIHNob3VsZG4ndCBiZSBsb29raW5nIGF0IHRoZSBkZWYsIGVu dHJ5IG9yIGV4aXQgYmxvY2suCiAgIGdjY19jaGVja2luZ19hc3NlcnQgKGJiICE9IGRlZl9iYiAm JiBiYiAhPSBFTlRSWV9CTE9DS19QVFJfRk9SX0ZOIChjZnVuKSAmJgpAQCAtMTIyMSwxMCArMTIy MiwxNiBAQCByYW5nZXJfY2FjaGU6OmZpbGxfYmxvY2tfY2FjaGUgKHRyZWUgbmFtZSwgYmFzaWNf YmxvY2sgYmIsIGJhc2ljX2Jsb2NrIGRlZl9iYikKICAgICAgIGlmIChtX29yYWNsZSkKIAl7CiAJ ICB0cmVlIGVxdWl2X25hbWU7Ci0JICBGT1JfRUFDSF9FUVVJVkFMRU5DRSAobV9vcmFjbGUsIGJi LCBuYW1lLCBlcXVpdl9uYW1lKQorCSAgcmVsYXRpb25fa2luZCByZWw7CisJICBpbnQgcHJlYyA9 IFRZUEVfUFJFQ0lTSU9OICh0eXBlKTsKKwkgIEZPUl9FQUNIX1BBUlRJQUxfQU5EX0ZVTExfRVFV SVYgKG1fb3JhY2xlLCBiYiwgbmFtZSwgZXF1aXZfbmFtZSwgcmVsKQogCSAgICB7CiAJICAgICAg YmFzaWNfYmxvY2sgZXF1aXZfYmIgPSBnaW1wbGVfYmIgKFNTQV9OQU1FX0RFRl9TVE1UIChlcXVp dl9uYW1lKSk7CiAKKwkgICAgICAvLyBJZ25vcmUgcGFydGlhbCBlcXVpdnMgdGhhdCBhcmUgc21h bGxlciB0aGFuIHRoaXMgb2JqZWN0LgorCSAgICAgIGlmIChyZWwgIT0gVlJFTF9FUSAmJiBwcmVj ID4gcGVfdG9fYml0cyAocmVsKSkKKwkJY29udGludWU7CisKIAkgICAgICAvLyBDaGVjayBpZiB0 aGUgZXF1aXYgaGFzIGFueSByYW5nZXMgY2FsY3VsYXRlZC4KIAkgICAgICBpZiAoIW1fZ29yaS5o YXNfZWRnZV9yYW5nZV9wIChlcXVpdl9uYW1lKSkKIAkJY29udGludWU7CkBAIC0xMjM0LDE2ICsx MjQxLDMyIEBAIHJhbmdlcl9jYWNoZTo6ZmlsbF9ibG9ja19jYWNoZSAodHJlZSBuYW1lLCBiYXNp Y19ibG9jayBiYiwgYmFzaWNfYmxvY2sgZGVmX2JiKQogCQkgIChlcXVpdl9iYiAmJiAhZG9taW5h dGVkX2J5X3AgKENESV9ET01JTkFUT1JTLCBiYiwgZXF1aXZfYmIpKSkKIAkJY29udGludWU7CiAK KwkgICAgICBpZiAoREVCVUdfUkFOR0VfQ0FDSEUpCisJCXsKKwkJICBpZiAocmVsID09IFZSRUxf RVEpCisJCSAgICBmcHJpbnRmIChkdW1wX2ZpbGUsICJDaGVja2luZyBFcXVpdmFsZW5jZSAoIik7 CisJCSAgZWxzZQorCQkgICAgZnByaW50ZiAoZHVtcF9maWxlLCAiQ2hlY2tpbmcgUGFydGlhbCBl cXVpdiAoIik7CisJCSAgcHJpbnRfcmVsYXRpb24gKGR1bXBfZmlsZSwgcmVsKTsKKwkJICBmcHJp bnRmIChkdW1wX2ZpbGUsICIpICIpOworCQkgIHByaW50X2dlbmVyaWNfZXhwciAoZHVtcF9maWxl LCBlcXVpdl9uYW1lLCBUREZfU0xJTSk7CisJCSAgZnByaW50ZiAoZHVtcF9maWxlLCAiXG4iKTsK KwkJfQogCSAgICAgIFZhbHVlX1JhbmdlIGVxdWl2X3JhbmdlIChUUkVFX1RZUEUgKGVxdWl2X25h bWUpKTsKIAkgICAgICBpZiAocmFuZ2VfZnJvbV9kb20gKGVxdWl2X3JhbmdlLCBlcXVpdl9uYW1l LCBiYiwgUkZEX1JFQURfT05MWSkpCiAJCXsKKwkJICBpZiAocmVsICE9IFZSRUxfRVEpCisJCSAg ICByYW5nZV9jYXN0IChlcXVpdl9yYW5nZSwgdHlwZSk7CiAJCSAgaWYgKGJsb2NrX3Jlc3VsdC5p bnRlcnNlY3QgKGVxdWl2X3JhbmdlKSkKIAkJICAgIHsKIAkJICAgICAgaWYgKERFQlVHX1JBTkdF X0NBQ0hFKQogCQkJewotCQkJICBmcHJpbnRmIChkdW1wX2ZpbGUsICJFcXVpdmFsZW5jZSB1cGRh dGUhIDogICIpOworCQkJICBpZiAocmVsID09IFZSRUxfRVEpCisJCQkgICAgZnByaW50ZiAoZHVt cF9maWxlLCAiRXF1aXZhbGVuY2UgdXBkYXRlISA6ICAiKTsKKwkJCSAgZWxzZQorCQkJICAgIGZw cmludGYgKGR1bXBfZmlsZSwgIlBhcnRpYWwgZXF1aXYgdXBkYXRlISA6ICAiKTsKIAkJCSAgcHJp bnRfZ2VuZXJpY19leHByIChkdW1wX2ZpbGUsIGVxdWl2X25hbWUsIFRERl9TTElNKTsKLQkJCSAg ZnByaW50ZiAoZHVtcF9maWxlLCAiaGFkIHJhbmdlICA6ICAiKTsKKwkJCSAgZnByaW50ZiAoZHVt cF9maWxlLCAiIGhhcyByYW5nZSAgOiAgIik7CiAJCQkgIGVxdWl2X3JhbmdlLmR1bXAgKGR1bXBf ZmlsZSk7CiAJCQkgIGZwcmludGYgKGR1bXBfZmlsZSwgIiByZWZpbmluZyByYW5nZSB0byA6Iik7 CiAJCQkgIGJsb2NrX3Jlc3VsdC5kdW1wIChkdW1wX2ZpbGUpOwpAQCAtMTQ1OCw3ICsxNDgxLDkg QEAgcmFuZ2VyX2NhY2hlOjpyYW5nZV9mcm9tX2RvbSAodnJhbmdlICZyLCB0cmVlIG5hbWUsIGJh c2ljX2Jsb2NrIHN0YXJ0X2JiLAogCiAgIGlmIChERUJVR19SQU5HRV9DQUNIRSkKICAgICB7Ci0g ICAgICBmcHJpbnRmIChkdW1wX2ZpbGUsICJDQUNIRTogQkIgJWQgRE9NIHF1ZXJ5LCBmb3VuZCAi LCBzdGFydF9iYi0+aW5kZXgpOworICAgICAgZnByaW50ZiAoZHVtcF9maWxlLCAiQ0FDSEU6IEJC ICVkIERPTSBxdWVyeSBmb3IgIiwgc3RhcnRfYmItPmluZGV4KTsKKyAgICAgIHByaW50X2dlbmVy aWNfZXhwciAoZHVtcF9maWxlLCBuYW1lLCBUREZfU0xJTSk7CisgICAgICBmcHJpbnRmIChkdW1w X2ZpbGUsICIsIGZvdW5kICIpOwogICAgICAgci5kdW1wIChkdW1wX2ZpbGUpOwogICAgICAgaWYg KGJiKQogCWZwcmludGYgKGR1bXBfZmlsZSwgIiBhdCBCQiVkXG4iLCBiYi0+aW5kZXgpOwpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIxMDI1NDAuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLmRnL3ByMTAyNTQwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmMxMmY4ZmNlYmZiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIx MDI1NDAuYwpAQCAtMCwwICsxLDE5IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk Zy1vcHRpb25zICItTzMgLWZkdW1wLXRyZWUtZXZycCIgfSAqLworCisKK3ZvaWQga2lsbCgpOwor CitzdGF0aWMgbG9uZyBhOworc3RhdGljIHVuc2lnbmVkIGI7CitpbnQgdGVzdDEgKCkgeworICAg IGxvbmcgYywgZTsKKyAgICBjID0gYiA9IGE7CisgICAgZSA9IGMgPyAyIC8gKGMgKyAxKSA6IDA7 CisgICAgaWYgKGUgJiYgIWIpCisgICAgICAgIGtpbGwgKCk7CisgICAgYSA9IDA7Cit9CisKKy8q IHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgImtpbGwiICJldnJwIiB9IH0gICovCisK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByMTAyODcyLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy9wcjEwMjg3Mi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi45NzFiYjAzYTVhNwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3ByMTAyODcyLmMKQEAgLTAsMCArMSwxNiBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8q IHsgZGctb3B0aW9ucyAiLU8yIC1mZHVtcC10cmVlLWV2cnAiIH0gKi8KKwordm9pZCBmb28odm9p ZCk7CisKK3N0YXRpYyBpbnQgYSwgYjsKK2ludCBtYWluKCkgeworICBmb3IgKDsgYTsgKythKSB7 CisgICAgdW5zaWduZWQgc2hvcnQgZCA9IGE7CisgICAgaWYgKCEoYiB8IGQpICYmIGQpCisgICAg ICBmb28oKTsKKyAgfQorfQorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICJm b28iICJldnJwIiB9IH0gICovCisKLS0gCjIuMzcuMwoK --------------7uJSdfNnJRUtXalcLwdEmVtk--