This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [c++/cgraph] use cgraph in expand_or_defer_fn
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 11 Sep 2003 01:26:24 +0200
- Subject: Re: [c++/cgraph] use cgraph in expand_or_defer_fn
- References: <20030910025239.GA6390@twiddle.net>
> [ Sorry this accidentially got committed with the previous patch,
> but I had meant to commit it next anyway, so no harm done. ]
>
> One other effect of not calling cgraph_finalize_function all
> the time is that the cgraph code doesn't have visibility into
> the function at all. If we are to let cgraph handle more of
> the compilation process, we mustn't double queue.
>
> I have a cleanup to global constructor/destructor maintainence
> that is blocked on cgraph not being able to trigger function
> emission when necessary.
>
> There are two final callers to defer_fn; I think they can be
> substituted for cgraph_finalize_function as well, but I was
> timid and wanted to try these one at a time.
>
> This part, anyway, caused no regressions on i686-linux.
Interesting,
I have essentially the same patch in my tree now I wanted to send for
review, but I did run into problems with explicit instantiations where
declaration is changed from DECL_EXTERNAL to not DECL_EXTERNAL after
calling cgraph_finalize. Did you solved this problem somehow?
Thanks for for the work! It was my TODO for a while (together with
avoiding the walk in lower_function now when it don't deal with other
stuff it did originally)
Honza