From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) by sourceware.org (Postfix) with ESMTPS id ADC1A3858D28 for ; Mon, 17 Jul 2023 11:53:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ADC1A3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-2b6f0508f54so64046521fa.3 for ; Mon, 17 Jul 2023 04:53:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689594800; x=1692186800; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=DVhEcWBCXTVp8IMayvSGiAptfTJTnPpVEFxNt+dNsro=; b=o7Mfru3o278EbGFT3JLOBLNJY+NaMo4+k/0VhqLpMhXDztMzfoEq0ESE5FQbwXB/IS V1OTGcM7bDZfpgZg41lvBxsyx5jqEBAAR0iBDz3cCkHKVmaRdblrdWYx8Iyn2jAAEUeu U0/vv78K9ZjcAieAg9jhCptq5NZS73NSGzfOU7e5qKnGSBzPSwPInmkN8w0oXkY24C6v 5SdlczOSqouU+fajBWzn6yjjdbho1F6FoyTTATQptY0m75Jy17VKdyANK1pq6El0Gm3J DXT8nYqM/VBn98bhp7rsSIfVQPKyEcw8+pF86yEt+k8kDdIWtA0wdWC2de2GS8Qbowv7 pSKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689594800; x=1692186800; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DVhEcWBCXTVp8IMayvSGiAptfTJTnPpVEFxNt+dNsro=; b=ZmA0FCCaoIxTIkmwCizN6J88ZnSeWS95Qd6dmUjh059liJosRTTmVGPycw5nxeeAym ixyaVf26p7hlUapPhu8al7FT/Tl4z0mBV3KGQYOQbsnzQjRVI4v+fynA078bIlY3wDNb YkOWbTJp9mnkZW+OvXhyQCgrJ64lCzPWLHEhWgSsVRasuks9Ic2s+t0HkhQxe7oDpC1y zxQ9g+mOli/lvtijnfFew/SXCq1SbRmwi4CXWDk8MJD/g5IJg7SQWzexqfBfXLGOK2+t mRd17ZGVO/XGs6PDsgYe+lXrOa3MDxm9uI0ToO2ebKVfZEvWji7jFFHHnKc4TWNnsKZW Q/yw== X-Gm-Message-State: ABy/qLYfaAXTavQQvPrCnYKiR9S/vxyh6hkwmQ4ArKk9fKBkKx4XwG9n kDYEeq/ThxdoblZtk4lErLz0fMDGXRDFmCA5TyY= X-Google-Smtp-Source: APBJJlEK8d7dX5W17NHze1l0BH05EplAF9GtKaUnU9JDy/ARtwKMZhg1XDVn/BdSanIXGEKgbjtJ4yRFaS+PC46KqOE= X-Received: by 2002:a2e:a40e:0:b0:2b7:2ea:33c3 with SMTP id p14-20020a2ea40e000000b002b702ea33c3mr9791377ljn.22.1689594800136; Mon, 17 Jul 2023 04:53:20 -0700 (PDT) MIME-Version: 1.0 References: <20230717075645.243653-1-aldyh@redhat.com> In-Reply-To: <20230717075645.243653-1-aldyh@redhat.com> From: Richard Biener Date: Mon, 17 Jul 2023 13:52:49 +0200 Message-ID: Subject: Re: [PATCH] Export value/mask known bits from CCP. To: Aldy Hernandez Cc: GCC patches , Andrew MacLeod Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-7.7 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,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 List-Id: On Mon, Jul 17, 2023 at 9:57=E2=80=AFAM Aldy Hernandez via Gcc-patches wrote: > > Currently CCP throws away the known 1 bits because VRP and irange have > traditionally only had a way of tracking known 0s (set_nonzero_bits). > With the ability to keep all the known bits in the irange, we can now > save this between passes. > > OK? OK. > gcc/ChangeLog: > > * tree-ssa-ccp.cc (ccp_finalize): Export value/mask known bits. > --- > gcc/tree-ssa-ccp.cc | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/gcc/tree-ssa-ccp.cc b/gcc/tree-ssa-ccp.cc > index 0d0f02a8442..64d5fa81334 100644 > --- a/gcc/tree-ssa-ccp.cc > +++ b/gcc/tree-ssa-ccp.cc > @@ -1020,11 +1020,9 @@ ccp_finalize (bool nonzero_p) > else > { > unsigned int precision =3D TYPE_PRECISION (TREE_TYPE (val->valu= e)); > - wide_int nonzero_bits > - =3D (wide_int::from (val->mask, precision, UNSIGNED) > - | wi::to_wide (val->value)); > - nonzero_bits &=3D get_nonzero_bits (name); > - set_nonzero_bits (name, nonzero_bits); > + wide_int value =3D wi::to_wide (val->value); > + wide_int mask =3D wide_int::from (val->mask, precision, UNSIGNE= D); > + set_bitmask (name, value, mask); > } > } > > -- > 2.40.1 >