From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by sourceware.org (Postfix) with ESMTPS id D1EEA3858C39 for ; Sat, 5 Nov 2022 11:48:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D1EEA3858C39 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-ed1-x536.google.com with SMTP id a5so11001792edb.11 for ; Sat, 05 Nov 2022 04:48:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=eUL0oyoBGo4NXEOTfZLJx3gILX2Ge2fSoJOQQlNnhcU=; b=ePoH2Kej1gdkTD57kTDTO045vyLFgWCBVynwHmVu14h5j2YZEijFvYtXeZryhFUr3s GoZUzcwDlZXmL4pkiWmDQjhGwCNwm+6QeCUh+U+7daVoQXcJXzToEuGfdfIT87bmONVx OjWbvrFS151/1BL7oQjzG1eEgxh0rEFejNwbtuhSYPmLIgH04h6G5+OmQrhc1KLq7x0P Imf+QPVWnMirKEWc1yJBCZOYORUQfc5HZ4yYMn7GL3irfnKmryrVrtDeq916YDGGpLe1 3f1R4KvlWevBfL7tdCsDnZKKRMrvfF8z3kRatysjGnbbakRoOPV1miSaMDFmFigwGx0P YmgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=eUL0oyoBGo4NXEOTfZLJx3gILX2Ge2fSoJOQQlNnhcU=; b=3SS8xlkCJE8aFBNo4bBT6cEkA1u77sRfrkXn9wVzLefAvqHupnoKJ7dTICghtJBLRD mqQmmJ7QVGzlxX4+36QAH8m7Spucx1b7wSLxB9FCuJIin//ub4hI7JcXJKetQm7OzUBc MOgmehLGB1CeeGdHsyvBKKPya8JOVhukm6QDXJ7EHbQBYoBO8bATA1IMfIGIFQeW8FOZ tyXJHIo1aj32r6m1GEavGI2Pj1NfZA5tLtWUOBTwPPGTpN/IeXAGZjhZ8rBTZJImSktz GTh14VoyxKrMMqWrEEO0JffmrksqDmnZ9pSs7SKB5JCBFpbKnMRaT/E52lZyP/vjTsXP jIxg== X-Gm-Message-State: ACrzQf2Pa5K+4G655b5U9B7VNg+egqIBFluUg1/Uiy61wbQJ7D19yQhK Gxxr1qixMJbcScfpjbZ6+dWRVYNn9pqC4xiBVMw= X-Google-Smtp-Source: AMsMyM6q7OBB2F5icaWq+anIKwiZuNOm78ydVwp3QJp8Rit5Jm/BXjy7wrhowGaKMgd5G/d8TYEn8q9OzdVdc3M20qI= X-Received: by 2002:aa7:d3d3:0:b0:462:7435:8b14 with SMTP id o19-20020aa7d3d3000000b0046274358b14mr39225313edr.370.1667648884644; Sat, 05 Nov 2022 04:48:04 -0700 (PDT) MIME-Version: 1.0 References: <1667425595-2654-1-git-send-email-apinski@marvell.com> <1667425595-2654-3-git-send-email-apinski@marvell.com> In-Reply-To: <1667425595-2654-3-git-send-email-apinski@marvell.com> From: Richard Biener Date: Sat, 5 Nov 2022 12:47:52 +0100 Message-ID: Subject: Re: [PATCH 2/2] Add assert for type on tree_nonzero_bits To: apinski@marvell.com Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-8.1 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 List-Id: On Wed, Nov 2, 2022 at 10:48 PM apinski--- via Gcc-patches wrote: > > From: Andrew Pinski > > Right now anyone could call tree_nonzero_bits with > either complex or vector types and this will return > the wrong thing. So just assert that nobody calls > it with this. > > OK? Bootstrapped and tested with no regressions on x86_64-linux-gnu. The function comment needs adjustment. To me, nonzero bits of a v4si would simply include all bits of v4si - isn't that what happens? I see the SSA get_nonzero_bits uses element_precision but tree_nonzero_bits uses TYPE_PRECISON as fallback, so I guess the assert is correct. Still the function comment should be amended, also ... > gcc/ChangeLog: > > * fold-const.cc (tree_nonzero_bits): Add > assert. > --- > gcc/fold-const.cc | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/gcc/fold-const.cc b/gcc/fold-const.cc > index 7e1ea58518b..3ccac9b28df 100644 > --- a/gcc/fold-const.cc > +++ b/gcc/fold-const.cc > @@ -16567,6 +16567,9 @@ c_getstr (tree str) > wide_int > tree_nonzero_bits (const_tree t) > { > + gcc_assert (TREE_CODE (TREE_TYPE (t)) != VECTOR_TYPE > + && TREE_CODE (TREE_TYPE (t)) != COMPLEX_TYPE); ... please perform a "positive" test. Like INTEGRAL_TYPE_P (TREE_TYPE (t)) || POINTER_TYPE_P (TREE_TYPE (t)) Richard. > + > switch (TREE_CODE (t)) > { > case INTEGER_CST: > -- > 2.17.1 >