This is the mail archive of the gcc@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: TREE_ADDRESSABLE problem


> On Thu, Nov 20, 2003 at 12:29:27AM +0100, Jan Hubicka wrote:
> > Somehow we manage to save copy of the original unoptimized bar for
> > in-lining, but we manage to not save the variables.  Very odd.  I didn't
> > know we are donig something like that...
> 
> Hum.  It appears tree_rest_of_compilation is using the wrong 
> routine to make copies of the function.  We need to use something
> more like copy_body, except that routine is private to tree-inline.c,
> and has the wrong interface.
We probably can massage things so the copying happens during inlining,
but I am not quite sure how to reach this..
> 
> Incidentally, this is something that cgraph could help out with.
> If we knew that we had already inlined all copies that are going
> to be inlined, then we wouldn't need to make a copy.
cgraph_function_possibly_inlined_p does approximately that.  When the
function is inlined, we always expand it before inlining due to
toplogical sorting, so this function is not even too conservative.
Perhaps I can pay more attention to the order so I do topological
sorting and then attempt to move inlined functions past their inline
copies, but I am not sure this is worthwhile as the function returns
false for all big functions where this matters.

It is getting late here, so I won't fix the bug today and probably
neighter tomorrow as I am leaving for a trip... I won't mind if someone
beats me :)
Honza
> 
> 
> 
> r~


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