From patchwork Wed Nov 3 14:40:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew MacLeod X-Patchwork-Id: 46997 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 DFFAB3858D28 for ; Wed, 3 Nov 2021 14:44:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DFFAB3858D28 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1635950642; bh=Z7kdDcUavv78OJhX2Lg4m4Lhgu+iWXTYr5pOh5H/q/w=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=hLAL1BViKewDSymfIjyCTWh33lOB2Lp7jHaDYAs4e2rNKD47GzwYy8+g5o4AcGsQJ +G8g87bWsWiVJZxzz6Pe1POdokKP8ehRmLFdHNQ6ALdAZOPEYRR+mho/OEyORTYhTV qPTqJSLkk+01qGyidrGHbor1+2zhoNDyrXt3Jit4= 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 47D393858424 for ; Wed, 3 Nov 2021 14:40:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 47D393858424 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-207-NK7uhjWcMm-_Of1DTJvXXQ-1; Wed, 03 Nov 2021 10:40:07 -0400 X-MC-Unique: NK7uhjWcMm-_Of1DTJvXXQ-1 Received: by mail-qv1-f72.google.com with SMTP id z8-20020a0cd788000000b00384d92a0f11so2890480qvi.17 for ; Wed, 03 Nov 2021 07:40:07 -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=Z7kdDcUavv78OJhX2Lg4m4Lhgu+iWXTYr5pOh5H/q/w=; b=Lfq8ZeXFMCNT9tCsl33FtQMJf9vf0zPNALlOtIO1ArhveDVKP54cc2w/QiBrecPjvA gHc3WN+maQsjRTyWUVdx154ix0rkL7KNWrV8bDLws+AGFCAkREtbyz6FigWbpoxrORqm tNRTh8GsalYrkU48AF/JvAAtzyJVx3p1+StSm4YxqD2IG151K6+iABhZpsuKFA/2f4SL t849KEhOAVhHQyBhb1GmAZTEbXtQOPyvtAMNOCQN8CnhwIH4qYQLGw7B3nQGSfoAOUGb QN1MZiKV+wG87DZqDcRP2+g/G4KmsIyazhR3cYEgMkqStAihzOqeFnl51YdpxkTcm37b KEmA== X-Gm-Message-State: AOAM530E5C2l9W2plb2fLRbyaMZ00OyQzPs9ZOhuWyftZKUa93FSy9qe gDxIcZtPQCVkHNuB6XrUkfWEbu2IhRWb+CO4QBmoJbKFwS0WxLk0UeGT8qUfuuTxRo6LDt9vqs2 NQJA/L5FoHewGp4YRew== X-Received: by 2002:ac8:5f13:: with SMTP id x19mr45834459qta.338.1635950407197; Wed, 03 Nov 2021 07:40:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/70vCNcw3kmybdIPooMGPRio8RDDTNXeSxf7+tspT4KlYPEzxBsC0kG/eLoY1ON5J2dN3bg== X-Received: by 2002:ac8:5f13:: with SMTP id x19mr45834442qta.338.1635950407038; Wed, 03 Nov 2021 07:40:07 -0700 (PDT) Received: from ?IPv6:2607:fea8:a262:5f00::38cf? ([2607:fea8:a262:5f00::38cf]) by smtp.gmail.com with ESMTPSA id v38sm1824080qtc.63.2021.11.03.07.40.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Nov 2021 07:40:05 -0700 (PDT) To: gcc-patches Subject: [COMMITTED] Switch vrp2 to ranger. Message-ID: Date: Wed, 3 Nov 2021 10:40:03 -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.7 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 Cc: Jakub Jelinek Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" This patch flips the switch and makes ranger the default for the VRP2 pass. All of the testcases have been tweaked as necessary and the testsuite run should be clean. I continue to work with ranger as the VRP1 pass determining what other things VRP is doing that ranger doesn't and unifying the testcases so that they pass with both VRP and ranger. After the previous patch sets, there are only 2 failing testcases when ranger is used for the vrp1 pass:    * gcc.dg/tree-ssa/pr79095.c  : This is an overflow of unsigned detection testcase, and I have not yet pushed relations up the GORI unwind stack. ie: u1 = u2 + 1 if (u2 > u1) on the true edge, since we know u2> u1, if you feed that relation back into the gori calculator, when it resolves u1 = u2 + 1, we would determine in op1_range  that u2 is [INT_MAX, INT_MAX] to satisfy that relation, and therefore u1 can be calculated as [0,0]   *   gcc.dg/guality/pr54693-2.c  THis test is failing for just "-O2 -flto -fuse-linker-plugin -fno-fat-lto-objects" for some reason I havent been able to fathom yet. Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed. Andrew From 502ffb1f389011b28ee51815242c7397790802d5 Mon Sep 17 00:00:00 2001 From: Andrew MacLeod Date: Tue, 2 Nov 2021 21:26:44 -0400 Subject: [PATCH 6/6] Switch vrp2 to ranger. This patch flips the default for the VRP2 pass to execute ranger vrp rather than the assert_expr version of VRP. * params.opt (param_vrp2_mode): Make ranger the default for VRP2. --- gcc/params.opt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/params.opt b/gcc/params.opt index 8c5948f7a84..6096854aa78 100644 --- a/gcc/params.opt +++ b/gcc/params.opt @@ -1156,7 +1156,7 @@ Common Joined Var(param_vrp1_mode) Enum(vrp_mode) Init(VRP_MODE_VRP) Param Optim --param=vrp1-mode=[vrp|ranger] Specifies the mode VRP1 should operate in. -param=vrp2-mode= -Common Joined Var(param_vrp2_mode) Enum(vrp_mode) Init(VRP_MODE_VRP) Param Optimization +Common Joined Var(param_vrp2_mode) Enum(vrp_mode) Init(VRP_MODE_RANGER) Param Optimization --param=vrp2-mode=[vrp|ranger] Specifies the mode VRP2 should operate in. Enum -- 2.17.2