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 A419F3858438 for ; Mon, 18 Jul 2022 20:02:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A419F3858438 Received: from mail-io1-f71.google.com (mail-io1-f71.google.com [209.85.166.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-516-317XEP_eOCi8e2dLjMrNTQ-1; Mon, 18 Jul 2022 16:02:36 -0400 X-MC-Unique: 317XEP_eOCi8e2dLjMrNTQ-1 Received: by mail-io1-f71.google.com with SMTP id a26-20020a6b661a000000b0067be5b57f45so4068828ioc.16 for ; Mon, 18 Jul 2022 13:02:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:from :subject:to:cc:content-language; bh=uXkZRyzln481QCb/VpQv/wYMp7tmIGChiVBqGW64tCk=; b=cxvMGNjW3ZOC9o7dWYoaqLFOrj354huySRnO0AuuzvhchRqH2E/7mMnXJFRSHky1Vl t0ROrwO22mz454Hqi4FcO5m66hR4K7QoEMUFx60gh4K0PN++djQVq5URoDRRzoHFFESO AepLqJvSYmjM7jkiFMWQX0qkq0L80ftFZ1KZV+7XNbxEyoWT/A+lMltmBAoe/ZlRXS1S RCU0dyovhzS4RX3QBw5QrO8OIhAMzzCBKN8HSWp6j5lWBVLV/iXiY1EjZo0IAs1EII/e zxpLMl1bUUvzhAu60wv/+9CkyzCu4EkdgWXX59ZyzeXILJLZLnWF8z1EYwXWw2x1J0Uo FDfQ== X-Gm-Message-State: AJIora/zDOfvudPwJFGpzecAXnTDhlkon5psYnMHAJqN9K3fCfaqoWdd mQ/DRwuVaaeODrhPD0gGt1RTd9upMQ9sQNeXqRKmZ5I0kVNL8QMFYK3rG687RJaywmWFZXqe2Vs JzNdxs6+wIP3utps0kTyJeiN2Ux0p8EREwSNKBWeuByrKyIT0FTSjI7yMxByup1K6TOLOVg== X-Received: by 2002:a05:6638:d15:b0:341:610d:5472 with SMTP id q21-20020a0566380d1500b00341610d5472mr5822826jaj.188.1658174555924; Mon, 18 Jul 2022 13:02:35 -0700 (PDT) X-Google-Smtp-Source: AGRyM1s+DyJt+Vlz+z3l7k+rT7ZNzMTMBKtdYT/ozkX/XO+GUtAqVGlEiGs6I8MJM92QAB2BFhY/Mw== X-Received: by 2002:a05:6638:d15:b0:341:610d:5472 with SMTP id q21-20020a0566380d1500b00341610d5472mr5822817jaj.188.1658174555627; Mon, 18 Jul 2022 13:02:35 -0700 (PDT) Received: from [192.168.0.135] ([104.219.122.67]) by smtp.gmail.com with ESMTPSA id k7-20020a02c767000000b003415545d938sm3871038jao.166.2022.07.18.13.02.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 18 Jul 2022 13:02:34 -0700 (PDT) Message-ID: <58aa1a95-c496-5fa3-42de-477d32efae31@redhat.com> Date: Mon, 18 Jul 2022 16:02:32 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 From: Andrew MacLeod Subject: [COMMITTED] tree-optimization/106280 - Check if transitives need to be registered. To: gcc-patches X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------Ro1lJCcBW0g5j7pm0tLCj08B" Content-Language: en-US X-Spam-Status: No, score=-12.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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2022 20:02:41 -0000 This is a multi-part message in MIME format. --------------Ro1lJCcBW0g5j7pm0tLCj08B Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Regardless of whether this is enough of an improvement for the PR, it should be done. Whenever a relation is registered with the oracle, it walks the dominator tree trying to apply any transitives it can find. FIrst, it should check whether the operands are already in any relation. If neither operand is in a relation, we can conclude there cannot be any transitives. this is a simple bitmask check. The second thing this patch does is adjust the set_relation routine to return NULL if the relation being applied already exists.  ie, we don't need to set the relation or do any additionalwork if the relation is already true. This will also prevent additional calls to the register transitives. This provides some marginal improvements across the board, and noticeable improvements in the testcase. Bootstrapped on    x86_64-pc-linux-gnu with no regressions. Pushed. Andrew --------------Ro1lJCcBW0g5j7pm0tLCj08B Content-Type: text/x-patch; charset=UTF-8; name="280.patch" Content-Disposition: attachment; filename="280.patch" Content-Transfer-Encoding: base64 Y29tbWl0IDVlNDdjOTMzM2RmNmRmMWFhOWRhODYxZjA3ZTY4Zjk4NWQ3ZDI4ZmIKQXV0aG9yOiBB bmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4KRGF0ZTogICBUaHUgSnVsIDE0IDEy OjM1OjU1IDIwMjIgLTA0MDAKCiAgICBDaGVjayBpZiB0cmFuc2l0aXZlcyBuZWVkIHRvIGJlIHJl Z2lzdGVyZWQuCiAgICAKICAgIFdoZW5ldmVyIGEgcmVsYXRpb24gaXMgYWRkZWQsIHJlZ2lzdGVy X3RyYW5zaXRpdmUgaXMgYWx3YXlzIGNhbGxlZC4KICAgIElmIG5laXRoZXIgb3BlcmFuZCB3YXMg aW4gYSByZWxhdGlvbiBiZWZvcmUsIG9yIHRoaXMgaXMgbm90IGEgbmV3CiAgICByZWxhdGlvbiwg dGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIHJlZ2lzdGVyIHRyYW5zaXRpdmVzLgogICAgCiAgICAg ICAgICAgIFBSIHRyZWUtb3B0aW1pemF0aW9uLzEwNjI4MAogICAgICAgICAgICAqIHZhbHVlLXJl bGF0aW9uLmNjIChkb21fb3JhY2xlOjpyZWdpc3Rlcl9yZWxhdGlvbik6IFJlZ2lzdGVyCiAgICAg ICAgICAgIHRyYW5zaXRpdmVzIG9ubHkgd2hlbiBpdCBpcyBwb3NzaWJsZSBmb3IgdGhlcmUgdG8g YmUgb25lLgogICAgICAgICAgICAoZG9tX29yYWNsZTo6c2V0X29uZV9yZWxhdGlvbik6IFJldHVy biBOVUxMIGlmIHRoaXMgaXMgYW4KICAgICAgICAgICAgZXhpc3RpbmcgcmVsYXRpb24uCgpkaWZm IC0tZ2l0IGEvZ2NjL3ZhbHVlLXJlbGF0aW9uLmNjIGIvZ2NjL3ZhbHVlLXJlbGF0aW9uLmNjCmlu ZGV4IDEzY2U0NDE5OWY3Li5iZDM0NDI1M2FmMyAxMDA2NDQKLS0tIGEvZ2NjL3ZhbHVlLXJlbGF0 aW9uLmNjCisrKyBiL2djYy92YWx1ZS1yZWxhdGlvbi5jYwpAQCAtOTY3LDggKzk2NywxMiBAQCBk b21fb3JhY2xlOjpyZWdpc3Rlcl9yZWxhdGlvbiAoYmFzaWNfYmxvY2sgYmIsIHJlbGF0aW9uX2tp bmQgaywgdHJlZSBvcDEsCiAgICAgZXF1aXZfb3JhY2xlOjpyZWdpc3Rlcl9yZWxhdGlvbiAoYmIs IGssIG9wMSwgb3AyKTsKICAgZWxzZQogICAgIHsKKyAgICAgIC8vIGlmIG5laXRoZXIgb3AxIG5v ciBvcDIgYXJlIGluIGEgcmVsYXRpb24gYmVmb3JlIHRoaXMgaXMgcmVnaXN0ZXJlZCwKKyAgICAg IC8vIHRoZXJlIHdpbGwgYmUgbm8gdHJhbnNpdGl2ZS4KKyAgICAgIGJvb2wgY2hlY2sgPSBiaXRt YXBfYml0X3AgKG1fcmVsYXRpb25fc2V0LCBTU0FfTkFNRV9WRVJTSU9OIChvcDEpKQorCQkgICB8 fCBiaXRtYXBfYml0X3AgKG1fcmVsYXRpb25fc2V0LCBTU0FfTkFNRV9WRVJTSU9OIChvcDIpKTsK ICAgICAgIHJlbGF0aW9uX2NoYWluICpwdHIgPSBzZXRfb25lX3JlbGF0aW9uIChiYiwgaywgb3Ax LCBvcDIpOwotICAgICAgaWYgKHB0cikKKyAgICAgIGlmIChwdHIgJiYgY2hlY2spCiAJcmVnaXN0 ZXJfdHJhbnNpdGl2ZXMgKGJiLCAqcHRyKTsKICAgICB9CiB9CkBAIC0xMDEwLDEzICsxMDE0LDE2 IEBAIGRvbV9vcmFjbGU6OnNldF9vbmVfcmVsYXRpb24gKGJhc2ljX2Jsb2NrIGJiLCByZWxhdGlv bl9raW5kIGssIHRyZWUgb3AxLAogICAgICAgLy8gQ2hlY2sgaW50byB3aGV0aGVyIHdlIGNhbiBz aW1wbHkgcmVwbGFjZSB0aGUgcmVsYXRpb24gcmF0aGVyIHRoYW4KICAgICAgIC8vIGludGVyc2Vj dGluZyBpdC4gIFRIaXMgbWF5IGhlbHAgd2l0aCBzb21lIG9wdGltaXN0aWMgaXRlcmF0aXZlCiAg ICAgICAvLyB1cGRhdGluZyBhbGdvcml0aG1zLgotICAgICAgcHRyLT5pbnRlcnNlY3QgKHZyKTsK KyAgICAgIGJvb2wgbmV3X3JlbCA9IHB0ci0+aW50ZXJzZWN0ICh2cik7CiAgICAgICBpZiAoZHVt cF9maWxlICYmIChkdW1wX2ZsYWdzICYgVERGX0RFVEFJTFMpKQogCXsKIAkgIGZwcmludGYgKGR1 bXBfZmlsZSwgIiB0byBwcm9kdWNlICIpOwogCSAgcHRyLT5kdW1wIChkdW1wX2ZpbGUpOwotCSAg ZnByaW50ZiAoZHVtcF9maWxlLCAiXG4iKTsKKwkgIGZwcmludGYgKGR1bXBfZmlsZSwgIiAlcy5c biIsIG5ld19yZWwgPyAiVXBkYXRlZCIgOiAiTm8gQ2hhbmdlIik7CiAJfQorICAgICAgLy8gSWYg dGhlcmUgd2FzIG5vIGNoYW5nZSwgcmV0dXJuIG5vIHJlY29yZC4uCisgICAgICBpZiAoIW5ld19y ZWwpCisJcmV0dXJuIE5VTEw7CiAgICAgfQogICBlbHNlCiAgICAgewo= --------------Ro1lJCcBW0g5j7pm0tLCj08B--