This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Let IPA-CP make direct callgraph edges it can
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Sat, 30 Oct 2010 06:38:07 -0700
- Subject: Re: [PATCH] Let IPA-CP make direct callgraph edges it can
- References: <20100804191440.GB6199@virgil.arch.suse.de>
On Wed, Aug 4, 2010 at 12:14 PM, Martin Jambor <mjambor@suse.cz> wrote:
> 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.
>
This caused:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46242
--
H.J.