From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13000 invoked by alias); 12 Jul 2011 12:18:42 -0000 Received: (qmail 12991 invoked by uid 22791); 12 Jul 2011 12:18:41 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 Jul 2011 12:18:27 +0000 Received: (qmail 10594 invoked from network); 12 Jul 2011 12:18:26 -0000 Received: from unknown (HELO ?192.168.0.102?) (maxim@127.0.0.2) by mail.codesourcery.com with ESMTPA; 12 Jul 2011 12:18:26 -0000 Subject: Re: Cgraph alias reorg 8/14 (ipa-cp and ipa-prop update) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Maxim Kuvyrkov In-Reply-To: <20110610145543.GF28776@kam.mff.cuni.cz> Date: Tue, 12 Jul 2011 12:23:00 -0000 Cc: gcc-patches@gcc.gnu.org Content-Transfer-Encoding: quoted-printable Message-Id: <619469B7-4F86-4D38-BC20-739679FEA81B@codesourcery.com> References: <20110610145543.GF28776@kam.mff.cuni.cz> To: Jan Hubicka X-IsSubscribed: yes 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: 2011-07/txt/msg00902.txt.bz2 On Jun 10, 2011, at 6:55 PM, Jan Hubicka wrote: > Hi, > this patch updated ipa-cp and ipa-prop for aliases. It is basically easy= - we don't > analyze nodes represneting aliases and when propagating we skip them, lik= e everywhere > else. ... > @@ -759,7 +768,8 @@ ipcp_propagate_stage (void) >=20 > for (cs =3D node->callees; cs; cs =3D cs->next_callee) > { > - struct ipa_node_params *callee_info =3D IPA_NODE_REF (cs->callee); > + struct cgraph_node *callee =3D cgraph_function_or_thunk_node (cs->cal= lee, NULL); > + struct ipa_node_params *callee_info =3D IPA_NODE_REF (callee); > struct ipa_edge_args *args =3D IPA_EDGE_REF (cs); >=20 > if (ipa_is_called_with_var_arguments (callee_info) > @@ -778,11 +788,11 @@ ipcp_propagate_stage (void) > { > dest_lat->type =3D new_lat.type; > dest_lat->constant =3D new_lat.constant; > - ipa_push_func_to_list (&wl, cs->callee); > + ipa_push_func_to_list (&wl, callee); > } >=20 > if (ipcp_propagate_types (info, callee_info, jump_func, i)) > - ipa_push_func_to_list (&wl, cs->callee); > + ipa_push_func_to_list (&wl, callee); > } > } > } Jan, I have a question about the above hunk. With this hunk you replace all use= s of 'cs->callee' with 'callee' in ipcp_propagate_stage() except for in the= check: if (ipa_is_called_with_var_arguments (callee_info) || !cs->callee->analyzed || ipa_is_called_with_var_arguments (callee_info)) continue; Is there a reason why you left 'cs->callee' intact in this case? Thank you, -- Maxim Kuvyrkov CodeSourcery / Mentor Graphics