From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 97980 invoked by alias); 30 Jun 2015 16:04:08 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 97970 invoked by uid 89); 30 Jun 2015 16:04:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-HELO: eu-smtp-delivery-143.mimecast.com Received: from eu-smtp-delivery-143.mimecast.com (HELO eu-smtp-delivery-143.mimecast.com) (146.101.78.143) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 30 Jun 2015 16:04:06 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-35-jvpqjXoxR-2zVVIjZt9UZg-1 Received: from [10.2.207.65] ([10.1.2.79]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 30 Jun 2015 17:04:01 +0100 Message-ID: <5592BDF1.7000207@arm.com> Date: Tue, 30 Jun 2015 16:10:00 -0000 From: Alan Lawrence User-Agent: Thunderbird 2.0.0.24 (X11/20101213) MIME-Version: 1.0 To: Jeff Law CC: "gcc-patches@gcc.gnu.org" , Richard Biener Subject: Re: [PATCH/RFC] Make loop-header-copying more aggressive, rerun before tree-if-conversion References: <555F4E54.6080600@arm.com> <5565E839.2090402@redhat.com> <55845395.3020306@arm.com> <5589BFF8.5050200@redhat.com> In-Reply-To: <5589BFF8.5050200@redhat.com> X-MC-Unique: jvpqjXoxR-2zVVIjZt9UZg-1 Content-Type: text/plain; charset=WINDOWS-1252; format=flowed Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2015-06/txt/msg02237.txt.bz2 Jeff Law wrote: > Thanks. Does running the phi-only propagator after the loop header=20 > copying help? At first glance it would seem that it ought to propagate=20 > the values of those degenerate PHIs then eliminate those PHIs. >=20 > It was written to cleanup after jump threading which has a tendency to=20 > create very similar code to what you've shown below and to do so very=20 > quickly. Thanks for the tip - this fixes up some examples, but not at all. Other exa= mples=20 require also a call to rewrite_into_loop_closed_ssa and recomputing=20 dominators...maybe I can get everything to work with all of those, but my=20 feeling is to keep it as a pass: if the first pass_ch justifies being a pas= s in=20 its own right, then surely a *more aggressive* version of that, does too...