From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2136) id 6A4303882007; Mon, 1 May 2023 06:34:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6A4303882007 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1682922874; bh=9q4/b4fNf0HN2DJSxKbhTOGT0JGknihl5O+7w5o6aLw=; h=From:To:Subject:Date:From; b=hLjS/QAxNPcnxSd5wAUWRyrt4zg3H1SBWABvaNWgt8sYAJWiPAAacnhA7zMdAKHs7 y3yEaULE1T5vlQRdABsJ52iphVvbz4swXz3Enz5IweUdgOPBlBsJT8j57pMMnoR50L iU7MrLQWJLSSUjzIvODf0FugqXS9rlwo7w6Pbuv4= 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 r14-379] Inline irange::set_nonzero. X-Act-Checkin: gcc X-Git-Author: Aldy Hernandez X-Git-Refname: refs/heads/master X-Git-Oldrev: 178abecaa9ca96acee6e155261d4dc50dd98fab4 X-Git-Newrev: bd0ac4b275daa91100fb22711f7f74637b382e29 Message-Id: <20230501063434.6A4303882007@sourceware.org> Date: Mon, 1 May 2023 06:34:34 +0000 (GMT) List-Id: https://gcc.gnu.org/g:bd0ac4b275daa91100fb22711f7f74637b382e29 commit r14-379-gbd0ac4b275daa91100fb22711f7f74637b382e29 Author: Aldy Hernandez Date: Sat Mar 4 12:35:07 2023 +0100 Inline irange::set_nonzero. irange::set_nonzero is used everywhere and benefits immensely from inlining. gcc/ChangeLog: * value-range.h (irange::set_nonzero): Inline. Diff: --- gcc/value-range.h | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/gcc/value-range.h b/gcc/value-range.h index 9a834c91b17..5cff50e6d03 100644 --- a/gcc/value-range.h +++ b/gcc/value-range.h @@ -886,8 +886,24 @@ irange::upper_bound () const inline void irange::set_nonzero (tree type) { - wide_int zero = wi::zero (TYPE_PRECISION (type)); - set (type, zero, zero, VR_ANTI_RANGE); + unsigned prec = TYPE_PRECISION (type); + + if (TYPE_UNSIGNED (type)) + { + m_type = type; + m_kind = VR_RANGE; + m_base[0] = wi::one (prec); + m_base[1] = m_nonzero_mask = wi::minus_one (prec); + m_num_ranges = 1; + + if (flag_checking) + verify_range (); + } + else + { + wide_int zero = wi::zero (prec); + set (type, zero, zero, VR_ANTI_RANGE); + } } // Set value range VR to a ZERO range of type TYPE.