On Fri, Jul 24, 2009 at 09:43, Jan Hubicka<hubi...@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.

Reply via email to