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 ESMTP id B6FB4398E401 for ; Thu, 3 Jun 2021 15:42:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B6FB4398E401 Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-332-bxr13ne1Pc2bZtiHDq1GLw-1; Thu, 03 Jun 2021 11:42:15 -0400 X-MC-Unique: bxr13ne1Pc2bZtiHDq1GLw-1 Received: by mail-qv1-f70.google.com with SMTP id i16-20020a0cf4900000b029022023514900so313362qvm.11 for ; Thu, 03 Jun 2021 08:42:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=VdMs0jUEDaLQMikv+hG8vg9gdpjfjJsZkJP1zEd9diI=; b=YO5KZLM53awUnM+5ZC1Fnicn8TlSczSpumd7TYksjarHkI7yn4/UREVEoQi8efXC7G 3nEBBpw4cbWtu3+RdrigbIuh69vKRudrtJ0UPiw4wuq+9vS/JAlatm85GHhBdXSos5lI qMopXn8z0rtk+X4paxPlsZRj6oKj+AGqJ7IuyMTkAFz/S7zgZ7f2Qw9ScjKMURBUBkfB R6lRsLHb+086bwvnN6sE6Ohk++plnjQnyFpnueXQyzrTKgY33u29y9iBRBbKYP//9gNK tVzQto2ZQPPqHVceiSTKiqpDvIHxISFVmL+PxGkGRQrS3rAJ5cnTt+yacojtnnWJY4H1 9LUQ== X-Gm-Message-State: AOAM5307bVQNAIULJ4dZ74mlIypF7S8+CyKRjuRbN1HLZYexFcFQ0030 rbk0wjbbDPFW/PEliC9X1qn47hj93Vshwh9kULyTcgldOUwtazJWQNgEhNJt3GXmc//3EtEMhc7 B/tm9imunKIeWxELNhxYZO7ORUIf42e3rFhv5fM03elEeB26ue9dd5MYugHfAVsb6REu6ZQ== X-Received: by 2002:ac8:5854:: with SMTP id h20mr136991qth.254.1622734935245; Thu, 03 Jun 2021 08:42:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzSsm6Q4+zAYJ37Yui3a6f1+qZqmidGMh1zToEVqrgD2p4OPNFWQ4BIgzkpPl7IlEjDy8i6OQ== X-Received: by 2002:ac8:5854:: with SMTP id h20mr136972qth.254.1622734934992; Thu, 03 Jun 2021 08:42:14 -0700 (PDT) Received: from ?IPv6:2607:fea8:a25d:e700::ef8c? ([2607:fea8:a25d:e700::ef8c]) by smtp.gmail.com with ESMTPSA id v17sm1832848qta.77.2021.06.03.08.42.14 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 03 Jun 2021 08:42:14 -0700 (PDT) Subject: Re: [PATCH 1/2] Implement generic expression evaluator for range_query. To: gcc-patches@gcc.gnu.org References: <20210527085547.96374-1-aldyh@redhat.com> <132dcdef-4b0f-b267-a3fe-f3238d760ad0@gmail.com> From: Andrew MacLeod Message-ID: Date: Thu, 3 Jun 2021 11:42:13 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.9.1 MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-CA X-Spam-Status: No, score=-6.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Thu, 03 Jun 2021 15:42:28 -0000 On 6/3/21 11:39 AM, Aldy Hernandez via Gcc-patches wrote: > Andrew had some minor suggestions and cleanups after I posted this. > > Andrew, is this what you had in mind? > > Aldy > > On Sat, May 29, 2021 at 6:06 AM Jeff Law wrote: >> >> >> On 5/27/2021 2:55 AM, Aldy Hernandez via Gcc-patches wrote: >>> Right now, range_of_expr only works with constants, SSA names, and >>> pointers. Anything else gets returned as VARYING. This patch adds the >>> capability to deal with arbitrary expressions, inasmuch as these >>> tree codes are implemented in range-ops.cc. >>> >>> This will give us the ability to ask for the range of any tree expression, >>> not just constants and SSA names, with range_of_expr(). >>> >>> This is a more generic implementation of determine_value_range in VRP. >>> A follow-up patch will remove all uses of it in favor of the >>> range_query API. >>> >>> Tested on x86-64 Linux. >>> >>> OK? >>> >>> gcc/ChangeLog: >>> >>> * function-tests.c (test_ranges): Call gimple_range_tests. >>> * gimple-range-gori.cc (gori_compute::expr_range_at_stmt): Use >>> get_global_range_query instead of get_tree_range. >>> * gimple-range.cc (fur_source::get_operand): Add argument to >>> get_tree_range. >>> (get_arith_expr_range): New. >>> (get_tree_range): Add gimple and range_query arguments. >>> Call get_arith_expr_range. >>> (gimple_ranger::range_of_expr): Add argument to get_tree_range. >>> Include gimple-range-tests.cc. >>> * gimple-range.h (get_tree_range): Add argument. >>> * selftest.h (gimple_range_tests): New. >>> * value-query.cc (global_range_query::range_of_expr): Add >>> argument to get_tree_range. >>> * vr-values.c (vr_values::range_of_expr): Same. >>> * gimple-range-tests.cc: New file. >> Both patches in this series are fine. >> >> Thanks, >> Jeff >> yeah, OK. Andrew