From patchwork Wed Nov 3 14:39:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew MacLeod X-Patchwork-Id: 46994 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 78F993858418 for ; Wed, 3 Nov 2021 14:41:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 78F993858418 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1635950463; bh=9btLbjfdMrsgP+RKJ9r/by2IY698P6Uck53mgHvlJYg=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=iEhClYegWBP/DGeqbRVWFW0DqN+3tc+fo/d2FlQXdd530D9rrwL8Natb9MyDxHVTo eT7xrWIoYjS1jyQpgQ4JrhY1rLqyRwIszLj5yQEQ/Y8yXpJ3MN+aVPPNXnY6GlmC7A Hvthm6+9lQicue/9e8HTTvsSfBy7gG6MsK/fTIYs= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id DD12F3858003 for ; Wed, 3 Nov 2021 14:39:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DD12F3858003 Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-171-jJxIG_srMVCl3duAJDdWZw-1; Wed, 03 Nov 2021 10:39:13 -0400 X-MC-Unique: jJxIG_srMVCl3duAJDdWZw-1 Received: by mail-qk1-f200.google.com with SMTP id u24-20020ae9c018000000b00462caee0884so2486239qkk.13 for ; Wed, 03 Nov 2021 07:39:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version:content-language; bh=9btLbjfdMrsgP+RKJ9r/by2IY698P6Uck53mgHvlJYg=; b=MGZQrJA1b0Rps3MMGk7wIhbBSHgtOPSqol+xaFpkEEwLb2PvDktbv7h3QC+zh7B0mU y1B8MmztIG9aroo+iZHhZaJo5jqZDcYPVHGX3NgMPl8P65YKrGqJMy94chD0kpA7PNQO mEb3sVMal0AltYjwWFlPYmOaKsyOtzQZKxQ6BfhBKr6oUWL3BSBAPh+5gcR4AyPXDIsi h4Eh6HGHxY+JCfexCFvSzx3/6QL2pq6l2yTFVqcafHuinq/EDkZCb1YHGz4QNUod0hVr 6uZS0v5nviuC2GArdjPyoceCq9SmIvMWfsm9dofr4ARzMO30ux6haHh2nEdzL1p43RUr 4VZg== X-Gm-Message-State: AOAM530SRSJlHal4wbFjJ9004LWXsWQk5DSjQ62FguEjicxtRIdnrBV2 VCesD3P8p4Tk83rtSj2MXYrE8gCAldwEdvDKuBWvTMS9WooAiPzl2VCpLtv8NvUQU7eqqVN9uLh nqMQbQQlDRx0chYmrzw== X-Received: by 2002:ac8:46c8:: with SMTP id h8mr9917272qto.208.1635950352869; Wed, 03 Nov 2021 07:39:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJylTLAym31WqD+zEcahtZVmIYwY2R1sACQ5H/TmEKAqfBIo95cFjQjabmwynqw5Eubgdk+szg== X-Received: by 2002:ac8:46c8:: with SMTP id h8mr9917253qto.208.1635950352710; Wed, 03 Nov 2021 07:39:12 -0700 (PDT) Received: from ?IPv6:2607:fea8:a262:5f00::38cf? ([2607:fea8:a262:5f00::38cf]) by smtp.gmail.com with ESMTPSA id x6sm1667890qko.83.2021.11.03.07.39.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Nov 2021 07:39:11 -0700 (PDT) To: gcc-patches Subject: [COMMITTED] Check for constant builtin value first. Message-ID: <5b21fcee-9718-e550-eccc-17e228912141@redhat.com> Date: Wed, 3 Nov 2021 10:39:10 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-CA X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-Patchwork-Original-From: Andrew MacLeod via Gcc-patches From: Andrew MacLeod Reply-To: Andrew MacLeod Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" For some reason the original code which folded built_in_constant_p always returned [0,0] after inlining...   This patch simply has it check if its a constant first, then the check for after inlining.  This resolves the testcase forwprop-29.c when ranger is used as the vrp1 pass. Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed. Andrew From b18394ce15639489a91a502d3b9db30d73898191 Mon Sep 17 00:00:00 2001 From: Andrew MacLeod Date: Mon, 1 Nov 2021 16:20:59 -0400 Subject: [PATCH 3/6] Check for constant builtin value first. The original code imported from EVRP for evaluating built_in_constant_p didn't check to see if the value was a constant before checking the inlining flag. Now we check for a constant first. * gimple-range-fold.cc (fold_using_range::range_of_builtin_call): Test for constant before any other processing. --- gcc/gimple-range-fold.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc index 2fab904e6b0..6cc7753a750 100644 --- a/gcc/gimple-range-fold.cc +++ b/gcc/gimple-range-fold.cc @@ -960,18 +960,18 @@ fold_using_range::range_of_builtin_call (irange &r, gcall *call, switch (func) { case CFN_BUILT_IN_CONSTANT_P: - if (cfun->after_inlining) - { - r.set_zero (type); - // r.equiv_clear (); - return true; - } arg = gimple_call_arg (call, 0); if (src.get_operand (r, arg) && r.singleton_p ()) { r.set (build_one_cst (type), build_one_cst (type)); return true; } + if (cfun->after_inlining) + { + r.set_zero (type); + // r.equiv_clear (); + return true; + } break; case CFN_BUILT_IN_TOUPPER: -- 2.17.2