This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [lto]: mainline merge @149863
On Fri, Jul 24, 2009 at 09:43, Jan Hubicka<hubicka@ucw.cz> wrote:
>> This merge brings in unit-at-a-time gimplification, so it needed some
>> tweaking. ÂMostly, it helped to find out some GENERIC that was leaking
>> into the streamer. ÂA pleasant side-effect of the unit-at-a-time
>> gimplification is that not every function is gimplified, so there is
>> less gunk to pickle out (thanks richi!).
>
> The cgraph code in early optimization should remove all the
> unreachable functions, so what you pickle when function get gimplified
> but removed afterwards?
No, these were functions that we never gimplified at all. They still
had their DECL_SAVED_TREEs, so I just made free_lang_data remove
those. Some of them even had cgraph nodes associated with them
(because the front end eagerly created them), others didn't even have
a cgraph node.
I suspect that clearing DECL_SAVED_TREE in free_lang_data may be
papering over a few issues. It would be better if the FE didn't
create cgraph nodes so eagerly, but that's a cleanup for another
branch. The cgraph is still a bit too tied into the FEs (some of it
is even unavoidable).
Diego.