From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2136) id 93DCE3851144; Tue, 27 Sep 2022 08:46:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 93DCE3851144 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664268395; bh=4wqHBHrfVzAMV0DxcnyVhu3q0mhRGAhqGY31jGvAyO0=; h=From:To:Subject:Date:From; b=gn/tnzan2yHonxjt1zgEjHeEQnuqXVaGPdKQeiUxet2oXk8zOdb8HMPtWsBqUYAMo gx00ZYx7wXl2rH8QDJ3/gLCl/GNCATdqTWyIAihI0q1pmQGYQ+TRFgtF3gjEe919vy QfjddEPIhstmiO8fjaQG1M8ZbcqDbLujhrzxkxpQ= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Aldy Hernandez To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-2893] Add an irange setter for wide_ints. X-Act-Checkin: gcc X-Git-Author: Aldy Hernandez X-Git-Refname: refs/heads/master X-Git-Oldrev: 303976a6076f2839354702fd2caa049fa7cbbdc2 X-Git-Newrev: 1db05e1a1c1ee3d8a95826d477173fb7c557c002 Message-Id: <20220927084635.93DCE3851144@sourceware.org> Date: Tue, 27 Sep 2022 08:46:35 +0000 (GMT) List-Id: https://gcc.gnu.org/g:1db05e1a1c1ee3d8a95826d477173fb7c557c002 commit r13-2893-g1db05e1a1c1ee3d8a95826d477173fb7c557c002 Author: Aldy Hernandez Date: Tue Sep 27 08:00:40 2022 +0200 Add an irange setter for wide_ints. Just the same way as we have real_value setters for franges, we should have a wide_int version for irange. This matches the irange constructor for wide_ints, and paves the way for the eventual conversion of irange to wide ints. gcc/ChangeLog: * value-range.h (irange::set): New version taking wide_int_ref. Diff: --- gcc/value-range.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gcc/value-range.h b/gcc/value-range.h index 413e54bda6f..556e31aece1 100644 --- a/gcc/value-range.h +++ b/gcc/value-range.h @@ -117,6 +117,8 @@ class GTY((user)) irange : public vrange public: // In-place setters. virtual void set (tree, tree, value_range_kind = VR_RANGE) override; + void set (tree type, const wide_int_ref &, const wide_int_ref &, + value_range_kind = VR_RANGE); virtual void set_nonzero (tree type) override; virtual void set_zero (tree type) override; virtual void set_nonnegative (tree type) override; @@ -687,6 +689,13 @@ irange::varying_compatible_p () const return true; } +inline void +irange::set (tree type, const wide_int_ref &min, const wide_int_ref &max, + value_range_kind kind) +{ + set (wide_int_to_tree (type, min), wide_int_to_tree (type, max), kind); +} + inline bool vrange::varying_p () const {