From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6340 invoked by alias); 10 Jan 2013 22:20:00 -0000 Received: (qmail 6332 invoked by uid 22791); 10 Jan 2013 22:19:58 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from nikam.ms.mff.cuni.cz (HELO nikam.ms.mff.cuni.cz) (195.113.20.16) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 10 Jan 2013 22:19:47 +0000 Received: from occam.kam.mff.cuni.cz (occam.kam.mff.cuni.cz [195.113.17.166]) by nikam.ms.mff.cuni.cz (Postfix) with ESMTP id 5DF85541793; Thu, 10 Jan 2013 23:19:43 +0100 (CET) Received: by occam.kam.mff.cuni.cz (Postfix, from userid 29025) id 57AD22202B6; Thu, 10 Jan 2013 23:19:43 +0100 (CET) Date: Thu, 10 Jan 2013 22:20:00 -0000 From: Zdenek Dvorak To: Steven Bosscher Cc: Marek Polacek , GCC Patches , Richard Guenther Subject: Re: [PATCH] Fix PR55833 + cheaper checking Message-ID: <20130110221943.GA14720@kam.mff.cuni.cz> References: <20130110173143.GD20218@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) 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: 2013-01/txt/msg00574.txt.bz2 Hi, > On Thu, Jan 10, 2013 at 6:31 PM, Marek Polacek wrote: > > + /* We changed the CFG. Recompute irreducible BBs and edges. */ > > + mark_irreducible_loops (); > > This is a very expensive fix for a really unusual situation. > > I don't think this is the right thing to do... I agree -- at the very least, unswitch_single_loop should check whether there is any possiblity it could have affected irreducible loops information (this should only be the case when some already existing irreducible loop is altered in the progress). Which is what it (or more precisely, remove_path function used by it) tries to do -- so is should be sufficient to check why this fails for the considered testcase, and make sure the situation is correctly detected, Zdenek