From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3137 invoked by alias); 11 Jun 2010 09:06:26 -0000 Received: (qmail 3121 invoked by uid 22791); 11 Jun 2010 09:06:24 -0000 X-SWARE-Spam-Status: No, hits=-3.4 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 11 Jun 2010 09:06:08 +0000 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.221.2]) by mx2.suse.de (Postfix) with ESMTP id 3AA2886A2E; Fri, 11 Jun 2010 11:06:06 +0200 (CEST) Date: Fri, 11 Jun 2010 09:32:00 -0000 From: Richard Guenther To: Sebastian Pop Cc: GCC Patches Subject: Re: [patch] Fix PR44483: incrementally gimplify BB predicates to avoid redundant computations. In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 X-SW-Source: 2010-06/txt/msg01182.txt.bz2 On Thu, 10 Jun 2010, Sebastian Pop wrote: > Hi, > > The attached patch fixes PR44483 by early gimplifying the expressions > that are used in the predicates of basic blocks: in the testcase, > these expressions are redundant and if not gimplified in time, they > end up to form an exponential tree of conditions. > > With this patch we gimplify the predicates, and collect the gimple > sequences during the analysis phase. Because we now force the > predicate of a BB to be an SSA_NAME, this is what is used further on > for the next basic block, avoiding the full expression to be > recomputed. When the if-conversion analysis fails, the SSA_NAMEs used > in the gimple sequences are released using free_stmt_operands. > Otherwise the gimple sequences are inserted in the end of each basic > block that is predicated by these computations. These computations > are then used in the if-conversion of the PHI nodes following the BB. > > The patch passed make -k check RUNTESTFLAGS=tree-ssa.exp and vect.exp > and is right now under regstrap on amd64-linux. Ok for trunk after regstrap? Ok. Thanks, Richard.