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 C64623858434 for ; Thu, 23 Mar 2023 18:37:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C64623858434 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=1679596626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=rqlUWpuTiCpb4q+mU+ZVR1ReC2zUjH/D4o7/En6iXdI=; b=Zm7ZfQ4XY6NgclzN9KmmPrrh5XhAdkVgcg7jYcSmqL0mtdh6kjFz8npjjrpkFNhJN/633U Y6hWxFitghWW5ADFfLZ7BIj+/H0Qy2hLo0gPniEXyQaHDmaeriglKmYUABxgmiQ/fG+PdC 4rgB86I//Ya5t5BvBE9CmAWGf5wksU8= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-544-RwkPQr85OmKiUBLy69Z30Q-1; Thu, 23 Mar 2023 14:37:04 -0400 X-MC-Unique: RwkPQr85OmKiUBLy69Z30Q-1 Received: by mail-qk1-f197.google.com with SMTP id 206-20020a370cd7000000b007467b5765d2so6920614qkm.0 for ; Thu, 23 Mar 2023 11:37:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679596623; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=U77W0iwEybnSI7MVG1Vpi3ScSp+Znbx4WMreYTWY6rg=; b=jqf5PVMaGF3KEQKmYGSSFR2JA9GBaOxpMrfx6pMvr87r/LRJGgoI6UwdGVdjkj6oGL gg/EwJmhiHTOjO9c7nyvzGhx602S+rJtIF/4I737L/r4DlKqZ4KTK5RcnvyO6+55VyJY kzPUdn8W+onV2xjF7OeWVoLyq4Mxc4jmvt7t/e2rOXpl6EPugh3yFW3g88yi3htoervO j7abGxB89KFDVIXpdPynzHJarE0I0U7v5PeD+IpHKrFxiHnHiEi4JOf6feIhKpJRDMot AsiCPDH0kCUjgo+TXN40BywFwLBU0uLMApnX0YewNNHKFPJo5UnZ0a/4FzvM2o6tjF6e S4Rw== X-Gm-Message-State: AO0yUKVo68eu4wldtiIgt/SSwbtiyF7yVb4fbIpYNGT1SaEoxIG2mOBh kbQe7ue16j722HDWBDLmbobxJlobEOBy30Iq3UPAM5rchLGv+T/7plTij5m2G0ClKNe1Mvc0hKq 8Fmyo6aw0i/kCX4Qcb9Gd9sKvjWHaPvF7cOzhZBzW0+xyLVpEwWDVX2IPQzRNnmWSLywadhCK41 mYKw== X-Received: by 2002:ad4:5ccc:0:b0:5c9:422e:c7b9 with SMTP id iu12-20020ad45ccc000000b005c9422ec7b9mr12705693qvb.19.1679596623588; Thu, 23 Mar 2023 11:37:03 -0700 (PDT) X-Google-Smtp-Source: AK7set8IdCBaRmUg7oI2mq3gMRR0MSx+4ic4oaYwlvsATJPy4Em/Uh/GZDaOWlgNp04Yq9KcS3/jyw== X-Received: by 2002:ad4:5ccc:0:b0:5c9:422e:c7b9 with SMTP id iu12-20020ad45ccc000000b005c9422ec7b9mr12705663qvb.19.1679596623250; Thu, 23 Mar 2023 11:37:03 -0700 (PDT) Received: from ?IPV6:2607:fea8:a263:f600::759b? ([2607:fea8:a263:f600::759b]) by smtp.gmail.com with ESMTPSA id b18-20020a0cbf52000000b005dd8b93456bsm49688qvj.3.2023.03.23.11.37.02 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 23 Mar 2023 11:37:02 -0700 (PDT) Message-ID: <96146be5-a7aa-23fb-0052-d2d81ff60c08@redhat.com> Date: Thu, 23 Mar 2023 14:37:01 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 To: gcc-patches From: Andrew MacLeod Subject: [PATCH] PR tree-optimization/109238 - Ranger cache dominator queries should ignore backedges. X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------KrcyFKFe7504ZumeL7D0dOef" 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. --------------KrcyFKFe7504ZumeL7D0dOef Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Detailed info in the PR. As we walk the DOM tree to calculate ranges, any block with multiple predecessors is processed by evaluating and unioning incoming values. This catches more complex cases where the dominator node itself may not carry range adjustments that we care about. What was missing was the "quick check" doesn't propagate any info. If the edge we check is dominated by this block (ie, its a back edge), then no additional useful information can be provided as it just leads back to where we currently are.   Only edges which are not dominated by the current block need be checked. The issue arose because this "quick check" mechanism gives up on complex cases and returns VARYING... so any backedge would union the real value from the dominators with the failed result "VARYING" from that edge, and we get VARYING instead of the correct result. The patch simply checks if the current block dominates the predecessor of an edge before launching the query. Performance impact in negligible. slight slowdown for the check, slight speedup by doing less work.. its a wash. Bootstraps on x86_64-pc-linux-gnu with no regressions. Ok for trunk? Andrew PS I have not managed to produce a reduced testcase yet.. If I do I will supply it. --------------KrcyFKFe7504ZumeL7D0dOef Content-Type: text/x-patch; charset=UTF-8; name="238.diff" Content-Disposition: attachment; filename="238.diff" Content-Transfer-Encoding: base64 Y29tbWl0IGQ1NGFlNTRjMTMyNzZhZGJmYzViMjcyMjdhMzYzMGFkNDAwMDI3MDUKQXV0aG9yOiBB bmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4KRGF0ZTogICBUaHUgTWFyIDIzIDEw OjI4OjM0IDIwMjMgLTA0MDAKCiAgICBSYW5nZXIgY2FjaGUgZG9taW5hdG9yIHF1ZXJpZXMgc2hv dWxkIGlnbm9yZSBiYWNrZWRnZXMuCiAgICAKICAgIFdoZW4gcXVlcnlpbmcgZG9taW5hdG9ycyBm b3IgY2FjaGUgdmFsdWVzLCBpZ25vcmUgYmFjayBlZGdlcyBpbgogICAgcmVhZC1vbmx5IG1vZGUu CiAgICAKICAgICAgICAgICAgUFIgdHJlZS1vcHRpbWl6YXRpb24vMTA5MjM4CiAgICAgICAgICAg ICogZ2ltcGxlLXJhbmdlLWNhY2hlLmNjIChyYW5nZXJfY2FjaGU6OnJlc29sdmVfZG9tKTogSWdu b3JlCiAgICAgICAgICAgIHByZWRlY2Vzc29ycyB3aGljaCB0aGlzIGJsb2NrIGRvbWluYXRlcy4K CmRpZmYgLS1naXQgYS9nY2MvZ2ltcGxlLXJhbmdlLWNhY2hlLmNjIGIvZ2NjL2dpbXBsZS1yYW5n ZS1jYWNoZS5jYwppbmRleCA3YWE2YTM2OThjZC4uOTY0NjBlY2U4ZjQgMTAwNjQ0Ci0tLSBhL2dj Yy9naW1wbGUtcmFuZ2UtY2FjaGUuY2MKKysrIGIvZ2NjL2dpbXBsZS1yYW5nZS1jYWNoZS5jYwpA QCAtMTUxMCw2ICsxNTEwLDExIEBAIHJhbmdlcl9jYWNoZTo6cmVzb2x2ZV9kb20gKHZyYW5nZSAm ciwgdHJlZSBuYW1lLCBiYXNpY19ibG9jayBiYikKICAgVmFsdWVfUmFuZ2UgZXIgKFRSRUVfVFlQ RSAobmFtZSkpOwogICBGT1JfRUFDSF9FREdFIChlLCBlaSwgYmItPnByZWRzKQogICAgIHsKKyAg ICAgIC8vIElmIHRoZSBwcmVkZWNlc3NvciBpcyBkb21pbmF0ZWQgYnkgdGhpcyBibG9jaywgdGhl biB0aGVyZSBpcyBhIGJhY2sKKyAgICAgIC8vIGVkZ2UsIGFuZCB3b24ndCBwcm92aWRlIGFueXRo aW5nIHVzZWZ1bC4gIFdlJ2xsIGFjdHVhbGx5IGVuZCB1cCB3aXRoCisgICAgICAvLyBWQVJZSU5H IGFzIHdlIHdpbGwgbm90IHJlc29sdmUgdGhpcyBub2RlLgorICAgICAgaWYgKGRvbWluYXRlZF9i eV9wIChDRElfRE9NSU5BVE9SUywgZS0+c3JjLCBiYikpCisJY29udGludWU7CiAgICAgICBlZGdl X3JhbmdlIChlciwgZSwgbmFtZSwgUkZEX1JFQURfT05MWSk7CiAgICAgICByLnVuaW9uXyAoZXIp OwogICAgIH0K --------------KrcyFKFe7504ZumeL7D0dOef--