From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20204 invoked by alias); 16 Oct 2014 15:08:56 -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 20194 invoked by uid 89); 16 Oct 2014 15:08:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: smtp.eu.adacore.com Received: from mel.act-europe.fr (HELO smtp.eu.adacore.com) (194.98.77.210) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 16 Oct 2014 15:08:54 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 75077275733C; Thu, 16 Oct 2014 17:08:50 +0200 (CEST) Received: from smtp.eu.adacore.com ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yyxDYwqtzAkY; Thu, 16 Oct 2014 17:08:50 +0200 (CEST) Received: from polaris.localnet (bon31-6-88-161-99-133.fbx.proxad.net [88.161.99.133]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.eu.adacore.com (Postfix) with ESMTPSA id 2D03227572F5; Thu, 16 Oct 2014 17:08:50 +0200 (CEST) From: Eric Botcazou To: Jan Hubicka Cc: gcc-patches@gcc.gnu.org Subject: Re: [patch] Fix ICE during LTRANS on big Ada application Date: Thu, 16 Oct 2014 15:15:00 -0000 Message-ID: <5869561.NCGO5mh7x3@polaris> User-Agent: KMail/4.7.2 (Linux/3.1.10-1.29-desktop; KDE/4.7.2; x86_64; ; ) In-Reply-To: <20141015200409.GB21865@kam.mff.cuni.cz> References: <15700032.Vfff8vmhaG@polaris> <2240629.yAX7Fe0x2x@polaris> <20141015200409.GB21865@kam.mff.cuni.cz> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-SW-Source: 2014-10/txt/msg01581.txt.bz2 > Yes, this looks OK. Inliner coul also take care to turn the master clone > into unanalyzed node as remove_unreachable_nodes would, but I do not think > it is worth the effort. Please put the loop later in the function so it > does not slow things down unnecesarily (there are often many inline clones) If you're concerned about efficiency, I can move it into clone_inlined_nodes itself instead: if (duplicate) { /* We may eliminate the need for out-of-line copy to be output. In that case just go ahead and re-use it. This is not just an memory optimization. Making offline copy of fuction disappear from the program will improve future decisions on inlining. */ if (!e->callee->callers->next_caller /* Recursive inlining never wants the master clone to be overwritten. */ && update_original && can_remove_node_now_p (e->callee, e)) i.e. I can set update_original to false just before the above test, that would probably be sufficient to fix the bug. -- Eric Botcazou