From patchwork Thu Oct 28 14:51:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew MacLeod X-Patchwork-Id: 46757 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 107E4385780D for ; Thu, 28 Oct 2021 14:55:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 107E4385780D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1635432956; bh=5rMR3uFpKN7tSfhWMcTxPAo4EVAhWOOUYcHvvBaNxas=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=q+S3OBeMj1CIU1Knprc4LxU4EYRnzBqop0m1ThQx9L4KrFBi/+u4u3mauyc0konRy rGdvet4Pib4gs12TcYO9fTlCEwshfUarK7A3gaaYmqlpuQrnCnWANF0+ztxROE2/Vl xX8iIXIpEDROUiwooQT9RjUYOrWGkc2xe5czGUWo= 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.133.124]) by sourceware.org (Postfix) with ESMTPS id 9B4693857C78 for ; Thu, 28 Oct 2021 14:51:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9B4693857C78 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-176-04eE_cL8MqyrXIjxG8v2VA-1; Thu, 28 Oct 2021 10:51:24 -0400 X-MC-Unique: 04eE_cL8MqyrXIjxG8v2VA-1 Received: by mail-qk1-f200.google.com with SMTP id s20-20020a05620a0bd400b0045e893f2ed8so4046536qki.11 for ; Thu, 28 Oct 2021 07:51:24 -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:from:subject:cc:message-id:date:user-agent :mime-version:content-language; bh=5rMR3uFpKN7tSfhWMcTxPAo4EVAhWOOUYcHvvBaNxas=; b=lXdXZYgDJ+vuMVSnZ0q5PDqjKvsGW7Q2cdsuNp5rEQlRuT16wm0/QU+9rTaCVw9KBG aG0VV+oqZwV/uA9VJ1CcSBsbYIcfoO211AQZfGN41jH4NyJ4WgX0dNpMb/5+x1J5ERO6 NsaBx5RUjwPQg4SzwO1yXtdVr8LWZQ8oabdHaEVkF7VHvSVJQavuxwY9ex96YQC+bLzV 3Ti8nl10dLkbYqFLZ/gOeWsYhvGnjbR6rqAjKlMPjhFqOSo1WKVgKGD1bwMoVZipekKG VQb6XEY0+7JJ/woFIr8TEHilrltwm0hS7nZnGLDKNzc+2MEPVxlQOi11hiGSRNoJbTlU +0Eg== X-Gm-Message-State: AOAM531lmQgbzzmdYyMXg5wmT3AssaCbMG9W+doX+e89IXvOW86nHFgj IcJjb3ncwUY3EwqJqIp3OhS96ZqgVPMaXU3EE3biGeDC5UqcuvPCEO6ZhDY5OJBteSidqQB5Sd4 g+NClenz/8yXR8KhNPQ== X-Received: by 2002:a05:620a:2909:: with SMTP id m9mr3978914qkp.161.1635432683906; Thu, 28 Oct 2021 07:51:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzIiiqx8IW7+0mmOACtHCQWu45zHrV1Pa4xsyUSTtQjpyMWd6i864Py59s0fVx1u7zTgV3R1Q== X-Received: by 2002:a05:620a:2909:: with SMTP id m9mr3978905qkp.161.1635432683742; Thu, 28 Oct 2021 07:51:23 -0700 (PDT) Received: from [192.168.0.102] ([192.24.49.122]) by smtp.gmail.com with ESMTPSA id k9sm2054185qkj.75.2021.10.28.07.51.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 Oct 2021 07:51:23 -0700 (PDT) To: gcc-patches Subject: [COMMITTED] Fix ifcvt-4.c to not depend on VRP2 asserts. Message-ID: Date: Thu, 28 Oct 2021 10:51:21 -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=-11.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_H2, 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" as discussed elsewhere, gcc.dg/ifcvt-4.c seems to be a flawed testcase as it is. it does not use __builtin_expect properly, so edges are predicted 50/50.  It also turns out that it only works due to an oddity that causes the basic blocks to be restructured by the VRP2 pass when it removes all the ASSERT_EXPRs that it uses. If we run ranger for VRP2, the testcase fails because the blocks do not get rearranged. This patch tweaks the testcase so that it uses expect properly and passes with both classic vrp2, and ranger vrp2.   I have tested it on both powerpc and x86 which seem the be the primaries.  Pushed. Andrew From d123daec0c237533cf974334d98bc6d357d4273e Mon Sep 17 00:00:00 2001 From: Andrew MacLeod Date: Mon, 25 Oct 2021 13:34:36 -0400 Subject: [PATCH 3/3] Fix ifcvt-4.c to not depend on VRP2 asserts. The testcase fails if VRP2 is replaced with a non-assert based VRP because it accidentally depends on specific IL changes when the asserts are removed. This removes that dependency. gcc/testsuite/ * gcc.dg/ifcvt-4.c: Adjust. --- gcc/testsuite/gcc.dg/ifcvt-4.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gcc/testsuite/gcc.dg/ifcvt-4.c b/gcc/testsuite/gcc.dg/ifcvt-4.c index ec142cfd943..e74e449b402 100644 --- a/gcc/testsuite/gcc.dg/ifcvt-4.c +++ b/gcc/testsuite/gcc.dg/ifcvt-4.c @@ -13,8 +13,7 @@ foo (word x, word y, word a) word i = x; word j = y; /* Try to make taking the branch likely. */ - __builtin_expect (x > y, 1); - if (x > y) + if (__builtin_expect (x > y, 0)) { i = a; j = i; -- 2.17.2