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 00D3C3857C5A for ; Fri, 3 Feb 2023 15:54:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 00D3C3857C5A 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=1675439667; 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: in-reply-to:in-reply-to:references:references; bh=yv4I+lDMCqHJfjdllchOviKxBaHUR51RiHLMHKhvBIU=; b=ZT9mcfY5f957sk+TraoKQIHRQbLZ8JlybYp4SJkqI8c3kotsCfK28KIJK+cumITQETzdhx 7Me3Cbco6l8OiFPTNPW8dJQVS7m/8fREIhcUeJterWZ4tQmLoENNFxFltLzorycU+MA/uI STpWWNNTn3bw0JFNMmtyqeJpe7TViPc= 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_128_GCM_SHA256) id us-mta-177-94vZl7qnPgS0tSYUXvR0DQ-1; Fri, 03 Feb 2023 10:54:26 -0500 X-MC-Unique: 94vZl7qnPgS0tSYUXvR0DQ-1 Received: by mail-qk1-f197.google.com with SMTP id s7-20020a05620a0bc700b006e08208eb31so3528325qki.3 for ; Fri, 03 Feb 2023 07:54:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=MeTl0yEODhm8Tmt9dK0Ocs+smlgac8iX+9IuJ1Z1kYU=; b=Ai55YiSR44ztMse9T+2rGfiihvPH5749gNUZySFCRLOU4eaEwUCagGdZNtz3y/fvy2 qvAZCi7pRTukAlIKlyoQ4urDx1GAF5VoXR/QJj5YHrGU8Q/wolctajKmmRLjgCF4Sjqo xwjccuGVyR21vhiClmK4qtv5sJy0Z3zlPbjREI/z+usY47YT5y81JkRawCjesEVWTn2m lp0LuPT+aRiWQ/YnjQrmIp8LOaB2HvIi23rdeaGDUcb631jxSymTg5qAAdEUZkOxtQ4n oqCk8JEyRTaMJAKLnLhU/cdogOrkNs0k+f0PUPtkodJp4mYlPMThb38kVYjJTkYPvpVK V2JA== X-Gm-Message-State: AO0yUKXId2dABWIOMNLIxOXEiEX+EnqXxvXWzHlh1toQVe1L9QGgVvpI GzttoedhVD8jqgpk9twmtv8pgPWUaKbq2aTh7lJBxbmQWGbERylu1JZU9J4zGpLMpcDnq57g7kW 8LFBYqD3scUkxxlKvLw== X-Received: by 2002:ad4:5b8d:0:b0:567:d345:1019 with SMTP id 13-20020ad45b8d000000b00567d3451019mr5582576qvp.42.1675439665743; Fri, 03 Feb 2023 07:54:25 -0800 (PST) X-Google-Smtp-Source: AK7set9ntABcLQL0gEeEb2JGV5mfpctXi+qWcuOvqQucreN1gqiIcOtqvFaG8rlS8yud9FIGgIeC8Q== X-Received: by 2002:ad4:5b8d:0:b0:567:d345:1019 with SMTP id 13-20020ad45b8d000000b00567d3451019mr5582556qvp.42.1675439665467; Fri, 03 Feb 2023 07:54:25 -0800 (PST) Received: from ?IPV6:2607:fea8:a263:f600::fa90? ([2607:fea8:a263:f600::fa90]) by smtp.gmail.com with ESMTPSA id k1-20020a05620a414100b007112aa42c4fsm2046094qko.135.2023.02.03.07.54.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 03 Feb 2023 07:54:24 -0800 (PST) Message-ID: Date: Fri, 3 Feb 2023 10:54:23 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [PATCH] PR tree-optimization/107570 - Reset SCEV after folding in VRP. To: Richard Biener Cc: gcc-patches , "hernandez, aldy" References: From: Andrew MacLeod In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------9hUP1jwa7PljDcKFUJQCeV6z" Content-Language: en-US X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,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. --------------9hUP1jwa7PljDcKFUJQCeV6z Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2/2/23 07:22, Richard Biener wrote: > On Wed, Feb 1, 2023 at 7:12 PM Andrew MacLeod via Gcc-patches > wrote: >> We can reset SCEV after we fold, then SCEVs cache shouldn't have >> anything in it when we go to remove ssa-names in remove_unreachable(). >> >> We were resetting it later sometimes if we were processing the array >> bounds warning, so I removed that call and just always reset it now. >> >> Bootstraps on x86_64-pc-linux-gnu. Testing running. Assuming no >> regressions, OK for trunk? > + > + // SCEV needs to be reset for array bounds, and we do not wish to trigger > + // any SCEV lookups when removing unreachable globals, so reset it here. > + scev_reset (); > > the comment suggests that SCEV queries (aka analyze_scalar_evolution) > won't return anything after a scev_reset (). That's not true - instead what > it does is nuke the SCEV cache. That's necessary when you > release SSA names or alter the CFG and you want to avoid followup > SCEV queries to pick up stale data. > > So if remove_and_update_globals performs SCEV queries and eventually > releases SSA names you cannot remove the second call to scev_reset. > > But yes, it's probably substitute_and_fold_engine::substitute_and_fold > itself that should do a > > if (scev_initialized_p ()) > scev_reset (); > > possibly only in the case it released an SSA name, or removed an > edge (but that's maybe premature optimization). > > Richard. > > Mmm, yeah thats not what I meant to imply.  We can simply reset it before trying to process the unreachable globals like so. Maybe we visit the  S&F engine next release.. It seems more intrusive than this. How about this patch?  testing underway. Andrew --------------9hUP1jwa7PljDcKFUJQCeV6z Content-Type: text/x-patch; charset=UTF-8; name="0001-Reset-SCEV-before-removing-unreachable-globals.patch" Content-Disposition: attachment; filename*0="0001-Reset-SCEV-before-removing-unreachable-globals.patch" Content-Transfer-Encoding: base64 RnJvbSBlNThlYmQxMTFlN2IzYjgwNDdmYjkzMzk2YzIwNGJkNzAzOTI2ODAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4K RGF0ZTogV2VkLCAxIEZlYiAyMDIzIDExOjQ2OjE4IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gUmVz ZXQgU0NFViBiZWZvcmUgcmVtb3ZpbmcgdW5yZWFjaGFibGUgZ2xvYmFscy4KClNDRVYgc2hvdWxk IGJlIHJlc2V0IGluIFZSUCBiZWZvcmUgdHJ5aW5nIHRvIHJlbW92ZSB1bnJlYWNoYWJsZSBnbG9i YWxzCnRvIGF2b2lkIHRyaWdnZXJpbmcgaXNzdWVzIHdpdGggaXQncyBjYWNoZS4KCglQUiB0cmVl LW9wdGltaXphdGlvbi8xMDc1NzAKCWdjYy8KCSogdHJlZS12cnAuY2MgKHJlbW92ZV9hbmRfdXBk YXRlX2dsb2JhbHMpOiBSZXNldCBTQ0VWLgoKCWdjYy90ZXN0c3VpdGUvCglnY2MuZGcvcHIxMDc1 NzAuYzogTmV3LgotLS0KIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByMTA3NTcwLmMgfCAyNSArKysr KysrKysrKysrKysrKysrKysrKysrCiBnY2MvdHJlZS12cnAuY2MgICAgICAgICAgICAgICAgIHwg IDQgKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIxMDc1NzAuYwoKZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3ByMTA3NTcwLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjEwNzU3 MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iYTViNTM1YTg2Nwot LS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByMTA3NTcwLmMKQEAgLTAs MCArMSwyNSBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU9z IiB9ICovCisKK2xvbmcgaW50IG47CisKK3ZvaWQKK2ZvbyAoaW50ICpwLCBpbnQgeCkKK3sKKyAg Zm9yICg7OykKKyAgICB7CisgICAgICBmb3IgKCpwID0gMDsgKnAgPCAxOyArKypwKQorICAgICAg ICB7CisgICAgICAgICAgbiArPSAqcCA8IDA7CisgICAgICAgICAgaWYgKG4gPCB4KQorICAgICAg ICAgICAgeworICAgICAgICAgICAgICB3aGlsZSAoeCA8IDEpCisgICAgICAgICAgICAgICAgKyt4 OworCisgICAgICAgICAgICAgIF9fYnVpbHRpbl91bnJlYWNoYWJsZSAoKTsKKyAgICAgICAgICAg IH0KKyAgICAgICAgfQorCisgICAgICBwID0gJng7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZ2Nj L3RyZWUtdnJwLmNjIGIvZ2NjL3RyZWUtdnJwLmNjCmluZGV4IDNjNDMxNzYwYTE2Li45NTU0N2U1 NDE5YiAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtdnJwLmNjCisrKyBiL2djYy90cmVlLXZycC5jYwpA QCAtMTIxLDYgKzEyMSwxMCBAQCByZW1vdmVfdW5yZWFjaGFibGU6OnJlbW92ZV9hbmRfdXBkYXRl X2dsb2JhbHMgKGJvb2wgZmluYWxfcCkKICAgaWYgKG1fbGlzdC5sZW5ndGggKCkgPT0gMCkKICAg ICByZXR1cm4gZmFsc2U7CiAKKyAgLy8gRW5zdXJlIHRoZSBjYWNoZSBpbiBTQ0VWIGhhcyBiZWVu IGNsZWFyZWQgYmVmb3JlIHByb2Nlc3NpbmcKKyAgLy8gZ2xvYmFscyB0byBiZSByZW1vdmVkLgor ICBzY2V2X3Jlc2V0ICgpOworCiAgIGJvb2wgY2hhbmdlID0gZmFsc2U7CiAgIHRyZWUgbmFtZTsK ICAgdW5zaWduZWQgaTsKLS0gCjIuMzkuMAoK --------------9hUP1jwa7PljDcKFUJQCeV6z--