From patchwork Mon Feb 8 19:56:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Law X-Patchwork-Id: 580490 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 39FBC1402D6 for ; Tue, 9 Feb 2016 06:57:03 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=ZoOn4cEd; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :subject:to:references:from:message-id:date:mime-version :in-reply-to:content-type; q=dns; s=default; b=EcZH3aE7LQmmGF3iX CBMvEXjyeCOD5rUj0alssnD8qRJzd707NB/StT/JStc9dti9NlzFZb6Nz6VkKgJc BAsA5pYdgsZW+HCEsp5YhYiSxIJPfXjIxfMc+oas2Rbljj1XlzflhezbUTPzrhIg A6NBHmlz1PIuKSNXwclvksUq7A= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :subject:to:references:from:message-id:date:mime-version :in-reply-to:content-type; s=default; bh=ZhLeX6ANZjuM7DvTPURdIi8 tZIw=; b=ZoOn4cEdTpJV0i4keRgcSuSVwI8f0JHo+bNqgmgqk0g3MTcfHux6SK+ D4rNvOlcA19l7So5mNtkIPKrJkAip4UEwGbGcjod8j5qEcYnEKWSndDN6c86rzKc MkoJJQA012QBZwvCh0rCVLqYLiGStJkz/tNR+8ylfD8fpmsrnEDQ= Received: (qmail 129039 invoked by alias); 8 Feb 2016 19:56:55 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 129021 invoked by uid 89); 8 Feb 2016 19:56:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=selections X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 08 Feb 2016 19:56:53 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id E0001BD010; Mon, 8 Feb 2016 19:56:51 +0000 (UTC) Received: from slagheap.utah.redhat.com (ovpn-113-84.phx2.redhat.com [10.3.113.84]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u18JupEO013375; Mon, 8 Feb 2016 14:56:51 -0500 Subject: Re: [PATCH][P1 tree-optimization/68541] Add heuristics to path splitting To: Kyrill Tkachov , gcc-patches References: <56B534F6.6010201@redhat.com> <56B8A3A0.40107@foss.arm.com> <56B8CA31.4090102@redhat.com> From: Jeff Law Message-ID: <56B8F303.8090109@redhat.com> Date: Mon, 8 Feb 2016 12:56:51 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <56B8CA31.4090102@redhat.com> X-IsSubscribed: yes On 02/08/2016 10:02 AM, Jeff Law wrote: >>> >> >> After this patch I also see: >> FAIL: gcc.dg/tree-ssa/split-path-1.c scan-tree-dump split-paths >> "Duplicating join block" >> >> on arm, but not on aarch64. My arm-none-eabi cross compiler is >> configured with: >> --with-float=hard --with-cpu=cortex-a9 --with-fpu=neon --with-mode=thumb > Thanks. That configuration just has more statements in the join block > and bumps up against the limit. > > I'll probably just manually increase the limit for the test. So just for the record, for the configuration above, we generate more statements in the join block than for the x86_64 and aarch64 targets. This appears to be due to differences in addressing modes and IVopts selections. Prior to my change for 68541, there was no limit on the number of statements we were allowed to copy, so it "just worked", even with the additional statements. After the change to 68541 we hit the newly added upper limit for some configurations. For the purposes of the test I have bumped the upper limit on how many statements it will copy from the join block and verified by hand the path is split as expected for the configuration noted above and verified that the x86-64 testresults are unaffected. Thanks, Jeff commit 63b766bdef44518d33a21569a089fca2356d6ffe Author: Jeff Law Date: Mon Feb 8 12:52:21 2016 -0700 PR tree-optimization/68541 * gcc.dg/tree-ssa/split-path-1.c: Increase limit for number of statements allowed in join block for path splitting. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 64f512d..9f629d6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-02-08 Jeff Law + + PR tree-optimization/68541 + * gcc.dg/tree-ssa/split-path-1.c: Increase limit for number + of statements allowed in join block for path splitting. + 2016-02-08 Jakub Jelinek PR c++/59627 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c b/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c index b24f6a9..8b23ef4 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details " } */ +/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details --param max-jump-thread-duplication-stmts=20" } */ #include #include