From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7901 invoked by alias); 1 May 2015 16:44:35 -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 7891 invoked by uid 89); 1 May 2015 16:44:34 -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,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no 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; Fri, 01 May 2015 16:44:33 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id E1F7F2831152; Fri, 1 May 2015 18:44:30 +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 2nvvdmOwWDAP; Fri, 1 May 2015 18:44:30 +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 AA8B9283112D; Fri, 1 May 2015 18:44:30 +0200 (CEST) From: Eric Botcazou To: Richard Biener Cc: gcc-patches@gcc.gnu.org Subject: Re: [patch] Perform anonymous constant propagation during inlining Date: Fri, 01 May 2015 16:44:00 -0000 Message-ID: <3882455.jixBbSixVe@polaris> User-Agent: KMail/4.7.2 (Linux/3.1.10-1.29-desktop; KDE/4.7.2; x86_64; ; ) In-Reply-To: <0ADD2F35-3576-4FDE-8473-17ADED030B92@gmail.com> References: <6476732.lMFodJZTVz@polaris> <2489231.jUt36nmj7L@polaris> <0ADD2F35-3576-4FDE-8473-17ADED030B92@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-SW-Source: 2015-05/txt/msg00077.txt.bz2 > Yeah, I think that's a way better place for the hack. OK, how aggressive then? We could as well do the substitution for all copies: /* For EXPAND_INITIALIZER try harder to get something simpler. Otherwise, substitute copies on the RHS, this can propagate constants at -O0 and thus simplify arithmetic operations. */ if (g == NULL && !SSA_NAME_IS_DEFAULT_DEF (exp) && (optimize || DECL_IGNORED_P (SSA_NAME_VAR (exp))) && (modifier == EXPAND_INITIALIZER || (modifier != EXPAND_WRITE && gimple_assign_copy_p (SSA_NAME_DEF_STMT (exp)))) && stmt_is_replaceable_p (SSA_NAME_DEF_STMT (exp))) g = SSA_NAME_DEF_STMT (exp); -- Eric Botcazou