This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [c++/cgraph] use cgraph in expand_or_defer_fn


> [ 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]