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 0894E3858C2D for ; Wed, 17 Aug 2022 01:16:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0894E3858C2D Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-491-z_2IhKt3ND6HgDj9mfaxkQ-1; Tue, 16 Aug 2022 21:16:48 -0400 X-MC-Unique: z_2IhKt3ND6HgDj9mfaxkQ-1 Received: by mail-io1-f70.google.com with SMTP id u5-20020a6b4905000000b00681e48dbd92so6992215iob.21 for ; Tue, 16 Aug 2022 18:16:48 -0700 (PDT) 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; bh=iHlJije0mb/5rvhLBFOEP6dTFu99HPv8MnuyDcXIpqw=; b=UvvanJ56w4nobqhoRFX+eID3SyaKwOJ03gug36289ltc8YyQWUlH5p+6LgAmMzQblb +NRaIn4a2E09DVXSjgrg76kuCT4DUBStVPq8PZhyM25A9iMyJrE4JNeMtcwnAzrkkC6G o35/ZfzbEUNwHC1vuZsaeE+lRmEXC4CtJAaNaBlzelceos52Bzv1W5PHg1lazG4qBV0A jMn74kSmEmWFFe+IP+h3PU3M8lKlavDv3ggoOr1mbMIWGWhdWsHmfSWKeEPiFo2cTDEo 4C3rwpGAKts80zTvLi8tDghOg+7YDtu0YnI4OSy3fGlYHr+q8khQLRrp2eL11gyfQAyD JVeA== X-Gm-Message-State: ACgBeo1a0IMrSZHK9EJ8p6c6ITW/kDi1A7P5o4aAvQSx2hb2p1/xeaho fTs+FPT+R+9/M09uw3is7EZjX40dwRqyNiNW/cLoNVx8qQPAjJ2sjMtYy/P3Yd9eqkzsZG5bExU oxtubiSWckZcOAtC8OA== X-Received: by 2002:a05:6e02:1bce:b0:2e4:745b:d902 with SMTP id x14-20020a056e021bce00b002e4745bd902mr9294925ilv.265.1660699007568; Tue, 16 Aug 2022 18:16:47 -0700 (PDT) X-Google-Smtp-Source: AA6agR64Mlzqz9ozkcrMG+MR+ldpb5ESjk8Gp9L0c+v+z76KYo1buxbDJ0yublAE5ch5e2PN6632Pw== X-Received: by 2002:a05:6e02:1bce:b0:2e4:745b:d902 with SMTP id x14-20020a056e021bce00b002e4745bd902mr9294919ilv.265.1660699007311; Tue, 16 Aug 2022 18:16:47 -0700 (PDT) Received: from ?IPV6:2607:fea8:a263:f600::8850? ([2607:fea8:a263:f600::8850]) by smtp.gmail.com with ESMTPSA id f17-20020a056602089100b0068869b84b02sm3083798ioz.21.2022.08.16.18.16.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Aug 2022 18:16:46 -0700 (PDT) Message-ID: <44b14867-3e77-6029-737e-386aa30d4b4f@redhat.com> Date: Tue, 16 Aug 2022 21:16:45 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: [COMMITTED] Abstract interesting ssa-names from GORI. To: Aldy Hernandez , Richard Biener Cc: gcc-patches References: <73820.122081107421800679@us-mta-533.us.mimecast.lan> From: Andrew MacLeod In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------6A0jk050sqO5yZbq3czebrIZ" Content-Language: en-US X-Spam-Status: No, score=-12.0 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_LOW, 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 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: Wed, 17 Aug 2022 01:16:52 -0000 This is a multi-part message in MIME format. --------------6A0jk050sqO5yZbq3czebrIZ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/16/22 04:21, Aldy Hernandez wrote: > On Thu, Aug 11, 2022 at 1:42 PM Richard Biener wrote: > >> @@ -599,6 +592,30 @@ path_range_query::compute_imports (bitmap imports, const vec &path) >> worklist.safe_push (arg); >> } >> } >> + else if (gassign *ass = dyn_cast (def_stmt)) >> + { >> + tree ssa[3]; >> + if (range_op_handler (ass)) >> + { >> + ssa[0] = gimple_range_ssa_p (gimple_range_operand1 (ass)); >> + ssa[1] = gimple_range_ssa_p (gimple_range_operand2 (ass)); >> + ssa[2] = NULL_TREE; >> + } >> + else if (gimple_assign_rhs_code (ass) == COND_EXPR) >> + { >> + ssa[0] = gimple_range_ssa_p (gimple_assign_rhs1 (ass)); >> + ssa[1] = gimple_range_ssa_p (gimple_assign_rhs2 (ass)); >> + ssa[2] = gimple_range_ssa_p (gimple_assign_rhs3 (ass)); >> + } >> + else >> + continue; >> + for (unsigned j = 0; j < 3; ++j) >> + { >> + tree rhs = ssa[j]; >> + if (rhs && add_to_imports (rhs, imports)) >> + worklist.safe_push (rhs); >> + } >> + } > We seem to have 3 copies of this copy now: this one, the > threadbackward one, and the original one. > > Could we abstract this somehow? > > Aldy > This particular code sequence processing range-ops and COND_EXPR is becoming more common, so I've abstracted it into a routine. Basically, pass it a vector and the stmt, and it will fill the first X elements with ssa-names from the stmt.  It only deals with range-ops and COND_EXPR for now, and it requires you pass it enough elements (3) so that it doesn't have to check if its overflowing the bounds.  It returns the number of names it put in the vector. This patch changes GORI to use the new routine.  Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed. Andrew --------------6A0jk050sqO5yZbq3czebrIZ Content-Type: text/x-patch; charset=UTF-8; name="interest.diff" Content-Disposition: attachment; filename="interest.diff" Content-Transfer-Encoding: base64 Y29tbWl0IDgwZjc4NzE2YzJjN2NlMWI3Zjk2MDc3YzM1YzFkZDQ3NGEyMDg2YTIKQXV0aG9yOiBB bmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4KRGF0ZTogICBUdWUgQXVnIDE2IDEz OjE4OjM3IDIwMjIgLTA0MDAKCiAgICBBYnN0cmFjdCBpbnRlcmVzdGluZyBzc2EtbmFtZXMgZnJv bSBHT1JJLgogICAgCiAgICBQcm92aWRlIGEgcm91dGluZSB0byBwaWNrIG91dCB0aGUgc3NhLW5h bWVzIGZyb20gaW50ZXJlc3Rpbmcgc3RhdGVtZW50cy4KICAgIAogICAgICAgICAgICAqIGdpbXBs ZS1yYW5nZS1mb2xkLmNjIChnaW1wbGVfcmFuZ2Vfc3NhX25hbWVzKTogTmV3LgogICAgICAgICAg ICAqIGdpbXBsZS1yYW5nZS1mb2xkLmggKGdpbXBsZV9yYW5nZV9zc2FfbmFtZXMpOiBOZXcgcHJv dG90eXBlLgogICAgICAgICAgICAqIGdpbXBsZS1yYW5nZS1nb3JpLmNjIChyYW5nZV9kZWZfY2hh aW46OmdldF9kZWZfY2hhaW4pOiBNb3ZlCiAgICAgICAgICAgICAgY29kZSB0byBuZXcgcm91dGlu ZS4KCmRpZmYgLS1naXQgYS9nY2MvZ2ltcGxlLXJhbmdlLWZvbGQuY2MgYi9nY2MvZ2ltcGxlLXJh bmdlLWZvbGQuY2MKaW5kZXggNjg5ZDgyNzk2MjcuLmIwYjIyMTA2MzIwIDEwMDY0NAotLS0gYS9n Y2MvZ2ltcGxlLXJhbmdlLWZvbGQuY2MKKysrIGIvZ2NjL2dpbXBsZS1yYW5nZS1mb2xkLmNjCkBA IC0xNTgwLDMgKzE1ODAsMzYgQEAgZnVyX3NvdXJjZTo6cmVnaXN0ZXJfb3V0Z29pbmdfZWRnZXMg KGdjb25kICpzLCBpcmFuZ2UgJmxoc19yYW5nZSwgZWRnZSBlMCwgZWRnZQogCX0KICAgICB9CiB9 CisKKy8vIEdpdmVuIHN0bXQgUywgZmlsbCBWRUMsIHVwIHRvIFZFQ19TSVpFIGVsZW1lbnRzLCB3 aXRoIHJlbGV2YW50IHNzYS1uYW1lcworLy8gb24gdGhlIHN0YXRlbWVudC4gIEZvciBlZmZpY2ll bmN5LCBpdCBpcyBhbiBlcnJvciB0byBub3QgcGFzcyBpbiBlbm91Z2gKKy8vIGVsZW1lbnRzIGZv ciB0aGUgdmVjdG9yLiAgUmV0dXJuIHRoZSBudW1iZXIgb2Ygc3NhLW5hbWVzLgorCit1bnNpZ25l ZAorZ2ltcGxlX3JhbmdlX3NzYV9uYW1lcyAodHJlZSAqdmVjLCB1bnNpZ25lZCB2ZWNfc2l6ZSwg Z2ltcGxlICpzdG10KQoreworICB0cmVlIHNzYTsKKyAgaW50IGNvdW50ID0gMDsKKworICBpZiAo cmFuZ2Vfb3BfaGFuZGxlciAoc3RtdCkpCisgICAgeworICAgICAgZ2NjX2NoZWNraW5nX2Fzc2Vy dCAodmVjX3NpemUgPj0gMik7CisgICAgICBpZiAoKHNzYSA9IGdpbXBsZV9yYW5nZV9zc2FfcCAo Z2ltcGxlX3JhbmdlX29wZXJhbmQxIChzdG10KSkpKQorCXZlY1tjb3VudCsrXSA9IHNzYTsKKyAg ICAgIGlmICgoc3NhID0gZ2ltcGxlX3JhbmdlX3NzYV9wIChnaW1wbGVfcmFuZ2Vfb3BlcmFuZDIg KHN0bXQpKSkpCisJdmVjW2NvdW50KytdID0gc3NhOworICAgIH0KKyAgZWxzZSBpZiAoaXNfYTxn YXNzaWduICo+IChzdG10KQorCSAgICYmIGdpbXBsZV9hc3NpZ25fcmhzX2NvZGUgKHN0bXQpID09 IENPTkRfRVhQUikKKyAgICB7CisgICAgICBnY2NfY2hlY2tpbmdfYXNzZXJ0ICh2ZWNfc2l6ZSA+ PSAzKTsKKyAgICAgIGdhc3NpZ24gKnN0ID0gYXNfYTxnYXNzaWduICo+IChzdG10KTsKKyAgICAg IGlmICgoc3NhID0gZ2ltcGxlX3JhbmdlX3NzYV9wIChnaW1wbGVfYXNzaWduX3JoczEgKHN0KSkp KQorCXZlY1tjb3VudCsrXSA9IHNzYTsKKyAgICAgIGlmICgoc3NhID0gZ2ltcGxlX3JhbmdlX3Nz YV9wIChnaW1wbGVfYXNzaWduX3JoczIgKHN0KSkpKQorCXZlY1tjb3VudCsrXSA9IHNzYTsKKyAg ICAgIGlmICgoc3NhID0gZ2ltcGxlX3JhbmdlX3NzYV9wIChnaW1wbGVfYXNzaWduX3JoczMgKHN0 KSkpKQorCXZlY1tjb3VudCsrXSA9IHNzYTsKKyAgICB9CisgIHJldHVybiBjb3VudDsKK30KZGlm ZiAtLWdpdCBhL2djYy9naW1wbGUtcmFuZ2UtZm9sZC5oIGIvZ2NjL2dpbXBsZS1yYW5nZS1mb2xk LmgKaW5kZXggYzJmMzgxZGZmZWMuLmYyZWFiNzIwMjEzIDEwMDY0NAotLS0gYS9nY2MvZ2ltcGxl LXJhbmdlLWZvbGQuaAorKysgYi9nY2MvZ2ltcGxlLXJhbmdlLWZvbGQuaApAQCAtOTYsNiArOTYs MTQgQEAgcmFuZ2VfY29tcGF0aWJsZV9wICh0cmVlIHR5cGUxLCB0cmVlIHR5cGUyKQogCSAgJiYg VFlQRV9TSUdOICh0eXBlMSkgPT0gVFlQRV9TSUdOICh0eXBlMikpOwogfQogCitleHRlcm4gdHJl ZSBnaW1wbGVfcmFuZ2Vfb3BlcmFuZDEgKGNvbnN0IGdpbXBsZSAqcyk7CitleHRlcm4gdHJlZSBn aW1wbGVfcmFuZ2Vfb3BlcmFuZDIgKGNvbnN0IGdpbXBsZSAqcyk7CisKKy8vIEdpdmVuIHN0bXQg UywgZmlsbCBWRUMsIHVwIHRvIFZFQ19TSVpFIGVsZW1lbnRzLCB3aXRoIHJlbGV2YW50IHNzYS1u YW1lcworLy8gb24gdGhlIHN0YXRlbWVudC4gIEZvciBlZmZpY2llbmN5LCBpdCBpcyBhbiBlcnJv ciB0byBub3QgcGFzcyBpbiBlbm91Z2gKKy8vIGVsZW1lbnRzIGZvciB0aGUgdmVjdG9yLiAgUmV0 dXJuIHRoZSBudW1iZXIgb2Ygc3NhLW5hbWVzLgorCit1bnNpZ25lZCBnaW1wbGVfcmFuZ2Vfc3Nh X25hbWVzICh0cmVlICp2ZWMsIHVuc2lnbmVkIHZlY19zaXplLCBnaW1wbGUgKnN0bXQpOwogCiAv LyBTb3VyY2Ugb2YgYWxsIG9wZXJhbmRzIGZvciBmb2xkX3VzaW5nX3JhbmdlIGFuZCBnb3JpX2Nv bXB1dGUuCiAvLyBJdCBhYnN0cmFjdHMgb3V0IHRoZSBzb3VyY2Ugb2YgYW4gb3BlcmFuZCBzbyBp dCBjYW4gY29tZSBmcm9tIGEgc3RtdCBvcgpAQCAtMTUwLDkgKzE1OCw2IEBAIHByb3RlY3RlZDoK ICAgcmVsYXRpb25fb3JhY2xlICptX29yYWNsZTsKIH07CiAKLWV4dGVybiB0cmVlIGdpbXBsZV9y YW5nZV9vcGVyYW5kMSAoY29uc3QgZ2ltcGxlICpzKTsKLWV4dGVybiB0cmVlIGdpbXBsZV9yYW5n ZV9vcGVyYW5kMiAoY29uc3QgZ2ltcGxlICpzKTsKLQogLy8gVGhpcyBjbGFzcyB1c2VzIHJhbmdl cyB0byBmb2xkIGEgZ2ltcGxlIHN0YXRlbWVudCBwcm9kdWNpbmYgYSByYW5nZSBmb3IKIC8vIHRo ZSBMSFMuICBUaGUgc291cmNlIG9mIGFsbCBvcGVyYW5kcyBpcyBzdXBwbGllZCB2aWEgdGhlIGZ1 cl9zb3VyY2UgY2xhc3MKIC8vIHdoaWNoIHByb3ZpZGVzIGEgcmFuZ2VfcXVlcnkgYXMgd2VsbCBh cyBhIHNvdXJjZSBsb2NhdGlvbiBhbmQgYW55IG90aGVyCmRpZmYgLS1naXQgYS9nY2MvZ2ltcGxl LXJhbmdlLWdvcmkuY2MgYi9nY2MvZ2ltcGxlLXJhbmdlLWdvcmkuY2MKaW5kZXggODg3OWU0NGNi YTEuLjk1N2I4ZDU0M2ZhIDEwMDY0NAotLS0gYS9nY2MvZ2ltcGxlLXJhbmdlLWdvcmkuY2MKKysr IGIvZ2NjL2dpbXBsZS1yYW5nZS1nb3JpLmNjCkBAIC0zMzEsNyArMzMxLDcgQEAgcmFuZ2VfZGVm X2NoYWluOjpoYXNfZGVmX2NoYWluICh0cmVlIG5hbWUpCiBiaXRtYXAKIHJhbmdlX2RlZl9jaGFp bjo6Z2V0X2RlZl9jaGFpbiAodHJlZSBuYW1lKQogewotICB0cmVlIHNzYTEsIHNzYTIsIHNzYTM7 CisgIHRyZWUgc3NhWzNdOwogICB1bnNpZ25lZCB2ID0gU1NBX05BTUVfVkVSU0lPTiAobmFtZSk7 CiAKICAgLy8gSWYgaXQgaGFzIGFscmVhZHkgYmVlbiBwcm9jZXNzZWQsIGp1c3QgcmV0dXJuIHRo ZSBjYWNoZWQgdmFsdWUuCkBAIC0zNDcsMjMgKzM0NywxMCBAQCByYW5nZV9kZWZfY2hhaW46Omdl dF9kZWZfY2hhaW4gKHRyZWUgbmFtZSkKICAgICB9CiAKICAgZ2ltcGxlICpzdG10ID0gU1NBX05B TUVfREVGX1NUTVQgKG5hbWUpOwotICBpZiAocmFuZ2Vfb3BfaGFuZGxlciAoc3RtdCkpCisgIHVu c2lnbmVkIGNvdW50ID0gZ2ltcGxlX3JhbmdlX3NzYV9uYW1lcyAoc3NhLCAzLCBzdG10KTsKKyAg aWYgKGNvdW50ID09IDApCiAgICAgewotICAgICAgc3NhMSA9IGdpbXBsZV9yYW5nZV9zc2FfcCAo Z2ltcGxlX3JhbmdlX29wZXJhbmQxIChzdG10KSk7Ci0gICAgICBzc2EyID0gZ2ltcGxlX3Jhbmdl X3NzYV9wIChnaW1wbGVfcmFuZ2Vfb3BlcmFuZDIgKHN0bXQpKTsKLSAgICAgIHNzYTMgPSBOVUxM X1RSRUU7Ci0gICAgfQotICBlbHNlIGlmIChpc19hPGdhc3NpZ24gKj4gKHN0bXQpCi0JICAgJiYg Z2ltcGxlX2Fzc2lnbl9yaHNfY29kZSAoc3RtdCkgPT0gQ09ORF9FWFBSKQotICAgIHsKLSAgICAg IGdhc3NpZ24gKnN0ID0gYXNfYTxnYXNzaWduICo+IChzdG10KTsKLSAgICAgIHNzYTEgPSBnaW1w bGVfcmFuZ2Vfc3NhX3AgKGdpbXBsZV9hc3NpZ25fcmhzMSAoc3QpKTsKLSAgICAgIHNzYTIgPSBn aW1wbGVfcmFuZ2Vfc3NhX3AgKGdpbXBsZV9hc3NpZ25fcmhzMiAoc3QpKTsKLSAgICAgIHNzYTMg PSBnaW1wbGVfcmFuZ2Vfc3NhX3AgKGdpbXBsZV9hc3NpZ25fcmhzMyAoc3QpKTsKLSAgICB9Ci0g IGVsc2UKLSAgICB7Ci0gICAgICAvLyBTdG10cyBub3QgdW5kZXJzdG9vZCBhcmUgYWx3YXlzIGlt cG9ydHMuCisgICAgICAvLyBTdG10cyBub3QgdW5kZXJzdG9vZCBvciB3aXRoIG5vIG9wZXJhbmRz IGFyZSBhbHdheXMgaW1wb3J0cy4KICAgICAgIHNldF9pbXBvcnQgKG1fZGVmX2NoYWluW3ZdLCBu YW1lLCBOVUxMKTsKICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTM3MywxNyArMzYwLDEz IEBAIHJhbmdlX2RlZl9jaGFpbjo6Z2V0X2RlZl9jaGFpbiAodHJlZSBuYW1lKQogICAgIHJldHVy biBOVUxMOwogCiAgIC8vIEluY3JlYXNlIHRoZSBkZXB0aCBpZiB3ZSBoYXZlIGEgcGFpciBvZiBz c2EtbmFtZXMuCi0gIGlmIChzc2ExICYmIHNzYTIpCisgIGlmIChjb3VudCA+IDEpCiAgICAgbV9s b2dpY2FsX2RlcHRoKys7CiAKLSAgcmVnaXN0ZXJfZGVwZW5kZW5jeSAobmFtZSwgc3NhMSwgZ2lt cGxlX2JiIChzdG10KSk7Ci0gIHJlZ2lzdGVyX2RlcGVuZGVuY3kgKG5hbWUsIHNzYTIsIGdpbXBs ZV9iYiAoc3RtdCkpOwotICByZWdpc3Rlcl9kZXBlbmRlbmN5IChuYW1lLCBzc2EzLCBnaW1wbGVf YmIgKHN0bXQpKTsKLSAgLy8gU3RtdHMgd2l0aCBubyB1bmRlcnN0YW5kYWJsZSBvcGVyYW5kcyBh cmUgYWxzbyBpbXBvcnRzLgotICBpZiAoIXNzYTEgJiYgIXNzYTIgJiAhc3NhMykKLSAgICBzZXRf aW1wb3J0IChtX2RlZl9jaGFpblt2XSwgbmFtZSwgTlVMTCk7CisgIGZvciAodW5zaWduZWQgeCA9 IDA7IHggPCBjb3VudDsgeCsrKQorICAgIHJlZ2lzdGVyX2RlcGVuZGVuY3kgKG5hbWUsIHNzYVt4 XSwgZ2ltcGxlX2JiIChzdG10KSk7CiAKLSAgaWYgKHNzYTEgJiYgc3NhMikKKyAgaWYgKGNvdW50 ID4gMSkKICAgICBtX2xvZ2ljYWxfZGVwdGgtLTsKIAogICByZXR1cm4gbV9kZWZfY2hhaW5bdl0u Ym07Cg== --------------6A0jk050sqO5yZbq3czebrIZ--