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 5E5103858C2D for ; Wed, 17 Aug 2022 01:18:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5E5103858C2D Received: from mail-io1-f69.google.com (mail-io1-f69.google.com [209.85.166.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-118-cqU6ZxOmOrOaQA6wF102uQ-1; Tue, 16 Aug 2022 21:18:51 -0400 X-MC-Unique: cqU6ZxOmOrOaQA6wF102uQ-1 Received: by mail-io1-f69.google.com with SMTP id q20-20020a6bd214000000b00680799e0fbaso6933127iob.16 for ; Tue, 16 Aug 2022 18:18:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc; bh=PrvhXQiZzheUxg2HMO42StPoEk72/mEVyZBt4ExOZbw=; b=PsXXeIlEwAfqLy10tZzBsJxk5AdH9gWHtWHrVzL1NLPq0lyWZ3OUnonRdV/IMimuSU BKSjNJdA6ckvu0bFBOWWUuvy3o+E+A+v5BrTH5MRDwB+Ve5wFS7nC62zxhaYMdzinXp2 hg6ybDqg5bqRj6MS8MFQEKDwSZzqWMSEdrS0vTYFhEAdJYdWfHIoONOSJCzd+T6MPioW 16RLyJ3dq2OkYthn/JR/jzTxuMPjE7UdKarB435D+zrG+P1FTwcillhKtW/ulIrtMOi8 Ecm+DFmv0fka4Vi6QRg4HYbnoE2dI2RAmkVneBudoTo+RUGib9XpUiHnjGgramvJjDjS Pz3A== X-Gm-Message-State: ACgBeo11w3rZuQf7Be94Btljh3R6XesypRqxI6YcGei+/CRqEa//+Z5E Qgsjexzrr8l2NJC1CMC8t8IAfD7wAwM4yBqAzZU23lhaFikV/s8By/a98BrL3WIzaKzM5qAN3YC SZki6shSzK1NECQPuAg== X-Received: by 2002:a5d:94d6:0:b0:67c:55f9:f355 with SMTP id y22-20020a5d94d6000000b0067c55f9f355mr10187366ior.133.1660699130398; Tue, 16 Aug 2022 18:18:50 -0700 (PDT) X-Google-Smtp-Source: AA6agR6J2SbR94735p7eqfOv+47R342Qgnzl3sP20ZjVQnCjjEOY8JNV+KJEcIX0N3SYUv7vL3zVPg== X-Received: by 2002:a5d:94d6:0:b0:67c:55f9:f355 with SMTP id y22-20020a5d94d6000000b0067c55f9f355mr10187359ior.133.1660699130166; Tue, 16 Aug 2022 18:18:50 -0700 (PDT) Received: from ?IPV6:2607:fea8:a263:f600::8850? ([2607:fea8:a263:f600::8850]) by smtp.gmail.com with ESMTPSA id r26-20020a02b11a000000b00342711481c5sm5019091jah.111.2022.08.16.18.18.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Aug 2022 18:18:49 -0700 (PDT) Message-ID: <020dfac2-48c1-924d-d3b6-9693e795e625@redhat.com> Date: Tue, 16 Aug 2022 21:18:48 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [COMMITTED] Abstract interesting ssa-names from GORI. From: Andrew MacLeod To: Aldy Hernandez , Richard Biener Cc: gcc-patches References: <73820.122081107421800679@us-mta-533.us.mimecast.lan> <44b14867-3e77-6029-737e-386aa30d4b4f@redhat.com> In-Reply-To: <44b14867-3e77-6029-737e-386aa30d4b4f@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------uNUcI0IgQ0LtIxAqeEWizF6D" Content-Language: en-US X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00, BODY_8BITS, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, 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:18:56 -0000 This is a multi-part message in MIME format. --------------uNUcI0IgQ0LtIxAqeEWizF6D Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 8/16/22 21:16, Andrew MacLeod wrote: > > 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 This patch converts the code sequence you complained about to use the new routine.  Check to make sure it doesnt affect the nuber of threads, it should bootstrap and pass regressions, but I have run out of time today.   Give it a go, and if there was another place you saw this, change it there too.  I didn't find another place. Andrew --------------uNUcI0IgQ0LtIxAqeEWizF6D Content-Type: text/x-patch; charset=UTF-8; name="aldy.diff" Content-Disposition: attachment; filename="aldy.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9naW1wbGUtcmFuZ2UtcGF0aC5jYyBiL2djYy9naW1wbGUtcmFuZ2Ut cGF0aC5jYwppbmRleCBjOTlkNzdkZDM0MC4uNGUwZDZiZGNmM2YgMTAwNjQ0Ci0tLSBhL2djYy9n aW1wbGUtcmFuZ2UtcGF0aC5jYworKysgYi9nY2MvZ2ltcGxlLXJhbmdlLXBhdGguY2MKQEAgLTU1 OCwyNSArNTU4LDExIEBAIHBhdGhfcmFuZ2VfcXVlcnk6OmNvbXB1dGVfZXhpdF9kZXBlbmRlbmNp ZXMgKGJpdG1hcCBkZXBlbmRlbmNpZXMsCiAgICAgICBlbHNlIGlmIChnYXNzaWduICphc3MgPSBk eW5fY2FzdCA8Z2Fzc2lnbiAqPiAoZGVmX3N0bXQpKQogCXsKIAkgIHRyZWUgc3NhWzNdOwotCSAg aWYgKHJhbmdlX29wX2hhbmRsZXIgKGFzcykpCisJICB1bnNpZ25lZCBjb3VudCA9IGdpbXBsZV9y YW5nZV9zc2FfbmFtZXMgKHNzYSwgMywgYXNzKTsKKwkgIGZvciAodW5zaWduZWQgaiA9IDA7IGog PCBjb3VudDsgKytqKQogCSAgICB7Ci0JICAgICAgc3NhWzBdID0gZ2ltcGxlX3JhbmdlX3NzYV9w IChnaW1wbGVfcmFuZ2Vfb3BlcmFuZDEgKGFzcykpOwotCSAgICAgIHNzYVsxXSA9IGdpbXBsZV9y YW5nZV9zc2FfcCAoZ2ltcGxlX3JhbmdlX29wZXJhbmQyIChhc3MpKTsKLQkgICAgICBzc2FbMl0g PSBOVUxMX1RSRUU7Ci0JICAgIH0KLQkgIGVsc2UgaWYgKGdpbXBsZV9hc3NpZ25fcmhzX2NvZGUg KGFzcykgPT0gQ09ORF9FWFBSKQotCSAgICB7Ci0JICAgICAgc3NhWzBdID0gZ2ltcGxlX3Jhbmdl X3NzYV9wIChnaW1wbGVfYXNzaWduX3JoczEgKGFzcykpOwotCSAgICAgIHNzYVsxXSA9IGdpbXBs ZV9yYW5nZV9zc2FfcCAoZ2ltcGxlX2Fzc2lnbl9yaHMyIChhc3MpKTsKLQkgICAgICBzc2FbMl0g PSBnaW1wbGVfcmFuZ2Vfc3NhX3AgKGdpbXBsZV9hc3NpZ25fcmhzMyAoYXNzKSk7Ci0JICAgIH0K LQkgIGVsc2UKLQkgICAgY29udGludWU7Ci0JICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgMzsg KytqKQotCSAgICB7Ci0JICAgICAgdHJlZSByaHMgPSBzc2Fbal07Ci0JICAgICAgaWYgKHJocyAm JiBhZGRfdG9fZXhpdF9kZXBlbmRlbmNpZXMgKHJocywgZGVwZW5kZW5jaWVzKSkKLQkJd29ya2xp c3Quc2FmZV9wdXNoIChyaHMpOworCSAgICAgIGlmIChhZGRfdG9fZXhpdF9kZXBlbmRlbmNpZXMg KHNzYVtqXSwgZGVwZW5kZW5jaWVzKSkKKwkJd29ya2xpc3Quc2FmZV9wdXNoIChzc2Fbal0pOwog CSAgICB9CiAJfQogICAgIH0K --------------uNUcI0IgQ0LtIxAqeEWizF6D--