From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) by sourceware.org (Postfix) with ESMTPS id 988AD3856DDA for ; Tue, 2 Aug 2022 07:19:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 988AD3856DDA Received: by mail-ed1-x533.google.com with SMTP id f22so5487848edc.7 for ; Tue, 02 Aug 2022 00:19:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=R2b48SkNz4pZ80K8QiFZQ7FyTORJFYRi/3GLSQV96ME=; b=2GDI6mh8PbC7Xm8kaANVUKPOZ53APELhc1aF8ICGRqyiHfHoeXymsBTQ09xTeoKodw O6WykBK2nQVQ4gSPJW6weq6wBnZlkaw5H9jRyjw/1OW0NCsrqBWqVmQTG3hC4sf7Aphe LJzauUWNnfwxjyZP7pca57LgOedfNFZ09wSHPF7qdz9sngSfAWj7cxvLjcOgf0K40wdI MVXoZsR7Rw+R5pQH4SocjcIF/2nK1yqmYIwZqarGgfq20gRXjzPpyey/kIIBmBYcjlIq L4ebDAuS6U3X30cFs2PG96olguEU8RkKc6/2lJA7fR5F3v2NK9bCEDo43fkVGnNDozqn YYmg== X-Gm-Message-State: AJIora/d+71BVR1Vn06KtUIzehMWg1L1b/bDI4g4/O1Ipf1yKlAoo4/G my/9cL8Jo7QGkU1ke93iGesR+7NqQE5Yh9K+Ysg= X-Google-Smtp-Source: AGRyM1thUlrV9nQ7/rkodLHvGjlKqTYydwDyjfoS8Tzp1pr1gQw0Os7uoTK5vKBQnc7CFf9eSC90wyPof4tt35bGsQ0= X-Received: by 2002:aa7:dd4b:0:b0:43a:d508:7cb9 with SMTP id o11-20020aa7dd4b000000b0043ad5087cb9mr19529157edw.218.1659424767440; Tue, 02 Aug 2022 00:19:27 -0700 (PDT) MIME-Version: 1.0 References: <20220801061540.229684-1-aldyh@redhat.com> In-Reply-To: <20220801061540.229684-1-aldyh@redhat.com> From: Richard Biener Date: Tue, 2 Aug 2022 09:19:13 +0200 Message-ID: Subject: Re: [COMMITTED] Make irange dependency explicit for range_of_ssa_name_with_loop_info. To: Aldy Hernandez Cc: GCC patches Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, 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 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: Tue, 02 Aug 2022 07:19:30 -0000 On Mon, Aug 1, 2022 at 8:17 AM Aldy Hernandez via Gcc-patches wrote: > > Even though ranger is type agnostic, SCEV seems to only work with > integers. This patch removes some FIXME notes making it explicit that > bounds_of_var_in_loop only works with iranges. SCEV also handles floats, where do you see this failing? Yes, support is somewhat limited, but still. > Tested on x86-64 Linux. > > gcc/ChangeLog: > > * gimple-range-fold.cc (fold_using_range::range_of_phi): Only > query SCEV for integers. > (fold_using_range::range_of_ssa_name_with_loop_info): Remove > irange check. > --- > gcc/gimple-range-fold.cc | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc > index 6f907df5bf5..7665c954f2b 100644 > --- a/gcc/gimple-range-fold.cc > +++ b/gcc/gimple-range-fold.cc > @@ -853,12 +853,14 @@ fold_using_range::range_of_phi (vrange &r, gphi *phi, fur_source &src) > } > > // If SCEV is available, query if this PHI has any knonwn values. > - if (scev_initialized_p () && !POINTER_TYPE_P (TREE_TYPE (phi_def))) > + if (scev_initialized_p () > + && !POINTER_TYPE_P (TREE_TYPE (phi_def)) > + && irange::supports_p (TREE_TYPE (phi_def))) > { > - value_range loop_range; > class loop *l = loop_containing_stmt (phi); > if (l && loop_outer (l)) > { > + int_range_max loop_range; > range_of_ssa_name_with_loop_info (loop_range, phi_def, l, phi, src); > if (!loop_range.varying_p ()) > { > @@ -1337,9 +1339,7 @@ fold_using_range::range_of_ssa_name_with_loop_info (irange &r, tree name, > { > gcc_checking_assert (TREE_CODE (name) == SSA_NAME); > tree min, max, type = TREE_TYPE (name); > - // FIXME: Remove the supports_p() once all this can handle floats, etc. > - if (irange::supports_p (type) > - && bounds_of_var_in_loop (&min, &max, src.query (), l, phi, name)) > + if (bounds_of_var_in_loop (&min, &max, src.query (), l, phi, name)) > { > if (TREE_CODE (min) != INTEGER_CST) > { > -- > 2.37.1 >