From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 128642 invoked by alias); 5 Mar 2015 16:10:51 -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 128629 invoked by uid 89); 5 Mar 2015 16:10:51 -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_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 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; Thu, 05 Mar 2015 16:10:50 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t25GAlSP000489 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 5 Mar 2015 11:10:48 -0500 Received: from [10.3.113.56] (ovpn-113-56.phx2.redhat.com [10.3.113.56]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t25GAklA018230; Thu, 5 Mar 2015 11:10:47 -0500 Message-ID: <54F88006.8080102@redhat.com> Date: Thu, 05 Mar 2015 16:10:00 -0000 From: Jeff Law User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Richard Biener , Jan Hubicka CC: Aldy Hernandez , gcc-patches Subject: Re: [patch/committed] PR middle-end/65233 make walk-ssa_copies handle empty PHIs References: <54F3F648.8090400@redhat.com> <54F697A5.6090908@redhat.com> <20150305005444.GD86051@kam.mff.cuni.cz> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-03/txt/msg00299.txt.bz2 On 03/05/15 01:47, Richard Biener wrote: > On Thu, Mar 5, 2015 at 1:54 AM, Jan Hubicka wrote: >>>> >>>> It gets passed the valueize callback now which returns NULL_TREE for >>>> SSA names we can't follow. >>> >>> Btw, for match-and-simplify I had to use that as default for fold_stmt >>> _exactly_ because of the call to fold_stmt from replace_uses_by >>> via merge-blocks from cfgcleanup. This is because replace-uses-by >>> doesn't have all uses replaced before it folds the stmt! >>> >>> We also have the "weaker" in-place flag. >>> >>> 2015-03-04 Richard Biener >>> >>> PR middle-end/65233 >>> * ipa-polymorphic-call.c: Include tree-ssa-operands.h and >>> tree-into-ssa.h. >>> (walk_ssa_copies): Revert last chage. Instead do not walk >>> SSA names registered for SSA update. >> >> Maybe include the patch? It should not be problem to make the function >> to valuelize everything it looks into. > > I attached it. > > Well, I think for stage1 the fix is to not call fold_stmt from CFG hooks or > CFG cleanup. Merge-blocks can just demote PHIs to assignments and > leave propagation to followup cleanups (we can of course propagate > virtual operands). Seems reasonable. Though I'd also like to see us look to narrow the window in which things are in this odd state. It's just asking for long term maintenance headaches. Removal of unreachable blocks so that we can compute dominators should, in theory, never need to look at this stuff and that's a much smaller window than all of tree_cleanup_cfg. Along the same lines I want to tackle the ssa name manager issues that are loosely related. Jeff