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 ACE5F3854C68 for ; Fri, 28 Jul 2023 20:38:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ACE5F3854C68 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=1690576701; 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=fj6p6ScekJQuz9c4FfEnZG2MQJZRMJ/cAiO0Bqnh0bg=; b=exkpVPM6KmlO0REh1CsNaeLgVHHWT7miodQ398Li4D9WnPKuv7PSPCK+t9UBhAc4ma8wXK tfSgK3OClYN5AviCum00rT8SKolCefbQtj3pEZnFAxphmXg+3+/1lLzgtHVUTLQcORSKEl bEiptROaNGPo8/MVkKAhpwcCkqjyVmY= Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-54-Zw9ahF9qM5GT5PWXIOQamg-1; Fri, 28 Jul 2023 16:38:17 -0400 X-MC-Unique: Zw9ahF9qM5GT5PWXIOQamg-1 Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-767564705f5so304681785a.1 for ; Fri, 28 Jul 2023 13:38:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690576696; x=1691181496; 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=cgG27mE/Cjev4FtUgJuzPr7AOObKZFCXg7TVPq1Tnho=; b=jQU40zJh1CzVoezMkawKDVVmwOXfUF9rTyOW9GMuMsUZztFjAL7sDgEcJIv+m4heqJ GoKgIKfmdfE8i/jBd9g6IQ0K2IwEozcqZHmKDUX0gDX5Wg9dJ2ELazp0uqG3w8gmkWyO Gr6YtdjNy+j9QRC/ucLeFLhIzeWJIIg0W3AHNT2eQrs1uW8stotCt0NJHtc94PHqDmn0 ZIjew6+EotNdaBUX4yMErMKsYWArGpSBjumTQb6TXdDRTIT1GWE4y8HAmF8bUW4okARQ w0SUm4HNvHDFyoDbd9uw/131Tci4J9DeJmHYwbEhQJJROZ5X+PQLJPUYpoqJMDSbOgY1 8P7A== X-Gm-Message-State: ABy/qLa4XTTKQo/bPenDLE9dMw378AWVYubf0hIcwgw3NkD8s4XvFmi2 ehb/QjYVPntE3k5O47o2yeU/2YVtp6YB3dJnCdRdciKdsm5tI3z128Cq8remchHo1ev7oaIqamm 6m5ESHXnbaO0/MDEih3Wq0Vjo8L/IiHyXYsc22CujL3BE+NI+VQJEyYYoyB9/iXu1k+z4w7bTC9 9MQA== X-Received: by 2002:a05:620a:2411:b0:766:fe28:35a3 with SMTP id d17-20020a05620a241100b00766fe2835a3mr4552568qkn.32.1690576695849; Fri, 28 Jul 2023 13:38:15 -0700 (PDT) X-Google-Smtp-Source: APBJJlGipiC5hr6fTZPDNc1+VB42i4w+ymZFQ7I0+CSWkMdg+9eZiyxlP5VxhSgK4vNLC97JDjiYog== X-Received: by 2002:a05:620a:2411:b0:766:fe28:35a3 with SMTP id d17-20020a05620a241100b00766fe2835a3mr4552554qkn.32.1690576695538; Fri, 28 Jul 2023 13:38:15 -0700 (PDT) Received: from ?IPV6:2607:fea8:51e0:8e00::8eb7? ([2607:fea8:51e0:8e00::8eb7]) by smtp.gmail.com with ESMTPSA id pc19-20020a05620a841300b00767d6ec578csm1397028qkn.20.2023.07.28.13.38.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Jul 2023 13:38:15 -0700 (PDT) Message-ID: <4378bf33-4718-ff59-4083-769d4485c352@redhat.com> Date: Fri, 28 Jul 2023 16:38:13 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 To: gcc-patches Cc: "hernandez, aldy" From: Andrew MacLeod Subject: [COMMITTED] Add a merge_range to ssa_cache and use it. X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------LStfmKhfsKWezPCizopK9pQ0" Content-Language: en-US X-Spam-Status: No, score=-12.4 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_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,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: This is a multi-part message in MIME format. --------------LStfmKhfsKWezPCizopK9pQ0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit This adds some tweaks to the ssa-range cache. 1)   Adds a new merge_range which works like set_range, except if there is already a value, the two values are merged via intersection and stored.   THis avpoids having to check if there is a value, load it, intersect it then store that in the client. There is one usage pattern (but more to come) in the code base.. change to use it. 2)  The range_of_expr() method in ssa_cache does not set the stmt to a default of NULL.  Correct that oversight. 3)  the method empty_p() is added to the ssa_lazy_cache class so we can detect if the lazy cache has any active elements in it or not. Bootstrapped on 86_64-pc-linux-gnu with no regressions.   Pushed. Andrew --------------LStfmKhfsKWezPCizopK9pQ0 Content-Type: text/x-patch; charset=UTF-8; name="0003-Add-a-merge_range-to-ssa_cache-and-use-it.-add-empty.patch" Content-Disposition: attachment; filename*0="0003-Add-a-merge_range-to-ssa_cache-and-use-it.-add-empty.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3MmZiNDRjYTUzZmRhMTUwMjRlMGMyNzIwNTJiNzRiMWYzMjczNWIxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4K RGF0ZTogRnJpLCAyOCBKdWwgMjAyMyAxMTowMDo1NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMy8z XSBBZGQgYSBtZXJnZV9yYW5nZSB0byBzc2FfY2FjaGUgYW5kIHVzZSBpdC4gIGFkZCBlbXB0eV9w CiBhbmQgcGFyYW0gdHdlYWtzLgoKCSogZ2ltcGxlLXJhbmdlLWNhY2hlLmNjIChzc2FfY2FjaGU6 Om1lcmdlX3JhbmdlKTogTmV3LgoJKHNzYV9sYXp5X2NhY2hlOjptZXJnZV9yYW5nZSk6IE5ldy4K CSogZ2ltcGxlLXJhbmdlLWNhY2hlLmggKGNsYXNzIHNzYV9jYWNoZSk6IEFkanVzdCBwcm90b3lw ZXMuCgkoY2xhc3Mgc3NhX2xhenlfY2FjaGUpOiBEaXR0by4KCSogZ2ltcGxlLXJhbmdlLmNjIChh c3N1bWVfcXVlcnk6OmNhbGN1bGF0ZV9vcCk6IFVzZSBtZXJnZV9yYW5nZS4KLS0tCiBnY2MvZ2lt cGxlLXJhbmdlLWNhY2hlLmNjIHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBnY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmggIHwgIDYgKysrKy0tCiBnY2MvZ2ltcGxl LXJhbmdlLmNjICAgICAgIHwgIDYgKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL2dpbXBsZS1yYW5nZS1jYWNo ZS5jYyBiL2djYy9naW1wbGUtcmFuZ2UtY2FjaGUuY2MKaW5kZXggNTIxNjVkMjQwNWIuLjViNzQ2 ODFiNjFhIDEwMDY0NAotLS0gYS9nY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmNjCisrKyBiL2djYy9n aW1wbGUtcmFuZ2UtY2FjaGUuY2MKQEAgLTYwNSw2ICs2MDUsMzIgQEAgc3NhX2NhY2hlOjpzZXRf cmFuZ2UgKHRyZWUgbmFtZSwgY29uc3QgdnJhbmdlICZyKQogICByZXR1cm4gbSAhPSBOVUxMOwog fQogCisvLyBJZiBOQU1FIGhhcyBhIHJhbmdlLCBpbnRlcnNlY3QgaXQgd2l0aCBSLCBvdGhlcndp c2Ugc2V0IGl0IHRvIFIuCisvLyBSZXR1cm4gVFJVRSBpZiB0aGVyZSB3YXMgYWxyZWFkeSBhIHJh bmdlIHNldCwgb3RoZXJ3aXNlIGZhbHNlLgorCitib29sCitzc2FfY2FjaGU6Om1lcmdlX3Jhbmdl ICh0cmVlIG5hbWUsIGNvbnN0IHZyYW5nZSAmcikKK3sKKyAgdW5zaWduZWQgdiA9IFNTQV9OQU1F X1ZFUlNJT04gKG5hbWUpOworICBpZiAodiA+PSBtX3RhYi5sZW5ndGggKCkpCisgICAgbV90YWIu c2FmZV9ncm93X2NsZWFyZWQgKG51bV9zc2FfbmFtZXMgKyAxKTsKKworICB2cmFuZ2Vfc3RvcmFn ZSAqbSA9IG1fdGFiW3ZdOworICBpZiAobSkKKyAgICB7CisgICAgICBWYWx1ZV9SYW5nZSBjdXJy IChUUkVFX1RZUEUgKG5hbWUpKTsKKyAgICAgIG0tPmdldF92cmFuZ2UgKGN1cnIsIFRSRUVfVFlQ RSAobmFtZSkpOworICAgICAgY3Vyci5pbnRlcnNlY3QgKHIpOworICAgICAgaWYgKG0tPmZpdHNf cCAoY3VycikpCisJbS0+c2V0X3ZyYW5nZSAoY3Vycik7CisgICAgICBlbHNlCisJbV90YWJbdl0g PSBtX3JhbmdlX2FsbG9jYXRvci0+Y2xvbmUgKGN1cnIpOworICAgIH0KKyAgZWxzZQorICAgIG1f dGFiW3ZdID0gbV9yYW5nZV9hbGxvY2F0b3ItPmNsb25lIChyKTsKKyAgcmV0dXJuIG0gIT0gTlVM TDsKK30KKwogLy8gU2V0IHRoZSByYW5nZSBmb3IgTkFNRSB0byBSIGluIHRoZSBzc2EgY2FjaGUu CiAKIHZvaWQKQEAgLTY4OSw2ICs3MTUsMjUgQEAgc3NhX2xhenlfY2FjaGU6OnNldF9yYW5nZSAo dHJlZSBuYW1lLCBjb25zdCB2cmFuZ2UgJnIpCiAgIHJldHVybiBmYWxzZTsKIH0KIAorLy8gSWYg TkFNRSBoYXMgYSByYW5nZSwgaW50ZXJzZWN0IGl0IHdpdGggUiwgb3RoZXJ3aXNlIHNldCBpdCB0 byBSLgorLy8gUmV0dXJuIFRSVUUgaWYgdGhlcmUgd2FzIGFscmVhZHkgYSByYW5nZSBzZXQsIG90 aGVyd2lzZSBmYWxzZS4KKworYm9vbAorc3NhX2xhenlfY2FjaGU6Om1lcmdlX3JhbmdlICh0cmVl IG5hbWUsIGNvbnN0IHZyYW5nZSAmcikKK3sKKyAgdW5zaWduZWQgdiA9IFNTQV9OQU1FX1ZFUlNJ T04gKG5hbWUpOworICBpZiAoIWJpdG1hcF9zZXRfYml0IChhY3RpdmVfcCwgdikpCisgICAgewor ICAgICAgLy8gVGhlcmUgaXMgYWxyZWFkeSBhbiBlbnRyeSwgc2ltcGx5IG1lcmdlIGl0LgorICAg ICAgZ2NjX2NoZWNraW5nX2Fzc2VydCAodiA8IG1fdGFiLmxlbmd0aCAoKSk7CisgICAgICByZXR1 cm4gc3NhX2NhY2hlOjptZXJnZV9yYW5nZSAobmFtZSwgcik7CisgICAgfQorICBpZiAodiA+PSBt X3RhYi5sZW5ndGggKCkpCisgICAgbV90YWIuc2FmZV9ncm93IChudW1fc3NhX25hbWVzICsgMSk7 CisgIG1fdGFiW3ZdID0gbV9yYW5nZV9hbGxvY2F0b3ItPmNsb25lIChyKTsKKyAgcmV0dXJuIGZh bHNlOworfQorCiAvLyBSZXR1cm4gVFJVRSBpZiBOQU1FIGhhcyBhIHJhbmdlLCBhbmQgcmV0dXJu IGl0IGluIFIuCiAKIGJvb2wKZGlmZiAtLWdpdCBhL2djYy9naW1wbGUtcmFuZ2UtY2FjaGUuaCBi L2djYy9naW1wbGUtcmFuZ2UtY2FjaGUuaAppbmRleCBhMGY0MzZiNTcyMy4uYmJiOWIxOGExMGMg MTAwNjQ0Ci0tLSBhL2djYy9naW1wbGUtcmFuZ2UtY2FjaGUuaAorKysgYi9nY2MvZ2ltcGxlLXJh bmdlLWNhY2hlLmgKQEAgLTYxLDExICs2MSwxMSBAQCBwdWJsaWM6CiAgIHZpcnR1YWwgYm9vbCBo YXNfcmFuZ2UgKHRyZWUgbmFtZSkgY29uc3Q7CiAgIHZpcnR1YWwgYm9vbCBnZXRfcmFuZ2UgKHZy YW5nZSAmciwgdHJlZSBuYW1lKSBjb25zdDsKICAgdmlydHVhbCBib29sIHNldF9yYW5nZSAodHJl ZSBuYW1lLCBjb25zdCB2cmFuZ2UgJnIpOworICB2aXJ0dWFsIGJvb2wgbWVyZ2VfcmFuZ2UgKHRy ZWUgbmFtZSwgY29uc3QgdnJhbmdlICZyKTsKICAgdmlydHVhbCB2b2lkIGNsZWFyX3JhbmdlICh0 cmVlIG5hbWUpOwogICB2aXJ0dWFsIHZvaWQgY2xlYXIgKCk7CiAgIHZvaWQgZHVtcCAoRklMRSAq ZiA9IHN0ZGVycik7Ci0gIHZpcnR1YWwgYm9vbCByYW5nZV9vZl9leHByICh2cmFuZ2UgJnIsIHRy ZWUgZXhwciwgZ2ltcGxlICpzdG10KTsKLQorICB2aXJ0dWFsIGJvb2wgcmFuZ2Vfb2ZfZXhwciAo dnJhbmdlICZyLCB0cmVlIGV4cHIsIGdpbXBsZSAqc3RtdCA9IE5VTEwpOwogcHJvdGVjdGVkOgog ICB2ZWM8dnJhbmdlX3N0b3JhZ2UgKj4gbV90YWI7CiAgIHZyYW5nZV9hbGxvY2F0b3IgKm1fcmFu Z2VfYWxsb2NhdG9yOwpAQCAtODAsOCArODAsMTAgQEAgY2xhc3Mgc3NhX2xhenlfY2FjaGUgOiBw dWJsaWMgc3NhX2NhY2hlCiBwdWJsaWM6CiAgIGlubGluZSBzc2FfbGF6eV9jYWNoZSAoKSB7IGFj dGl2ZV9wID0gQklUTUFQX0FMTE9DIChOVUxMKTsgfQogICBpbmxpbmUgfnNzYV9sYXp5X2NhY2hl ICgpIHsgQklUTUFQX0ZSRUUgKGFjdGl2ZV9wKTsgfQorICBpbmxpbmUgYm9vbCBlbXB0eV9wICgp IGNvbnN0IHsgcmV0dXJuIGJpdG1hcF9lbXB0eV9wIChhY3RpdmVfcCk7IH0KICAgdmlydHVhbCBi b29sIGhhc19yYW5nZSAodHJlZSBuYW1lKSBjb25zdDsKICAgdmlydHVhbCBib29sIHNldF9yYW5n ZSAodHJlZSBuYW1lLCBjb25zdCB2cmFuZ2UgJnIpOworICB2aXJ0dWFsIGJvb2wgbWVyZ2VfcmFu Z2UgKHRyZWUgbmFtZSwgY29uc3QgdnJhbmdlICZyKTsKICAgdmlydHVhbCBib29sIGdldF9yYW5n ZSAodnJhbmdlICZyLCB0cmVlIG5hbWUpIGNvbnN0OwogICB2aXJ0dWFsIHZvaWQgY2xlYXJfcmFu Z2UgKHRyZWUgbmFtZSk7CiAgIHZpcnR1YWwgdm9pZCBjbGVhciAoKTsKZGlmZiAtLWdpdCBhL2dj Yy9naW1wbGUtcmFuZ2UuY2MgYi9nY2MvZ2ltcGxlLXJhbmdlLmNjCmluZGV4IDAxZTYyZDNmZjM5 Li4wMTE3M2M1OGYwMiAxMDA2NDQKLS0tIGEvZ2NjL2dpbXBsZS1yYW5nZS5jYworKysgYi9nY2Mv Z2ltcGxlLXJhbmdlLmNjCkBAIC04MDksMTAgKzgwOSw4IEBAIGFzc3VtZV9xdWVyeTo6Y2FsY3Vs YXRlX29wICh0cmVlIG9wLCBnaW1wbGUgKnMsIHZyYW5nZSAmbGhzLCBmdXJfc291cmNlICZzcmMp CiAgIGlmIChtX2dvcmkuY29tcHV0ZV9vcGVyYW5kX3JhbmdlIChvcF9yYW5nZSwgcywgbGhzLCBv cCwgc3JjKQogICAgICAgJiYgIW9wX3JhbmdlLnZhcnlpbmdfcCAoKSkKICAgICB7Ci0gICAgICBW YWx1ZV9SYW5nZSByYW5nZSAoVFJFRV9UWVBFIChvcCkpOwotICAgICAgaWYgKGdsb2JhbC5nZXRf cmFuZ2UgKHJhbmdlLCBvcCkpCi0Jb3BfcmFuZ2UuaW50ZXJzZWN0IChyYW5nZSk7Ci0gICAgICBn bG9iYWwuc2V0X3JhbmdlIChvcCwgb3BfcmFuZ2UpOworICAgICAgLy8gU2V0IHRoZSBnbG9iYWwg cmFuZ2UsIG1lcmdpbmcgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIHJhbmdlLgorICAgICAgZ2xvYmFs Lm1lcmdlX3JhbmdlIChvcCwgb3BfcmFuZ2UpOwogICAgICAgZ2ltcGxlICpkZWZfc3RtdCA9IFNT QV9OQU1FX0RFRl9TVE1UIChvcCk7CiAgICAgICBpZiAoZGVmX3N0bXQgJiYgZ2ltcGxlX2dldF9s aHMgKGRlZl9zdG10KSA9PSBvcCkKIAljYWxjdWxhdGVfc3RtdCAoZGVmX3N0bXQsIG9wX3Jhbmdl LCBzcmMpOwotLSAKMi40MC4xCgo= --------------LStfmKhfsKWezPCizopK9pQ0--