[PATCH] Let IPA-CP make direct callgraph edges it can

Jan Hubicka hubicka@ucw.cz
Thu Aug 5 08:29:00 GMT 2010


> Hi,
> 
> this patch replaces a TODO in IPA-CP saying that if after discovering
> constants we should create (actually make direct) any call graph edges
> that the inliner can then make use of.  This patch does exactly that
> by traversing the indirect edges in a way that is quite similar to
> (but a bit simpler than) ipa-prop.c.  
> 
> It then makes sure it does not redirect any of these newly direct
> edges because they have not been there when analysis was performed and
> so that we do not run into issues like PR 42231.  (This then raises a
> question whether the flag indirect_inlining_edge should be renamed or
> split into two distinct flags.  I have not made up my mind yet but one
> of these things should be made solely for the sake of clarity, it
> works just as intended now.)
> 
> I have bootstrapped and tested this patch on top of the ipa-cp
> devirtualization one I have posted a while ago on x86-64-linux without
> any problems.  OK for trunk eventually?
> 
> Thanks,
> 
> Martin
> 
> 
> 2010-08-03  Martin Jambor  <mjambor@suse.cz>
> 
> 	* ipa-cp.c (ipcp_discover_new_direct_edges): New function.
> 	(ipcp_insert_stage): Redirect only edges not flagged with
> 	indirect_inlining_edge.  Call ipcp_discover_new_direct_edges for all
> 	discovered constants.
OK,
thanks!

Honza



More information about the Gcc-patches mailing list