[PATCH] LTO and cache-preloading of FE dependent nodes

H.J. Lu hjl.tools@gmail.com
Fri Jun 3 14:41:00 GMT 2011


On Tue, May 31, 2011 at 6:15 AM, Richard Guenther <rguenther@suse.de> wrote:
>
> This patch, now that Micha made us less dependent on preloading
> exactly the same from each FE, gets rid of two hacks regarding
> to the frontend (and option) dependent char_type_node and
> boolean_type_node.  It does so by first decoupling canonical type
> registering from cache-preloading and restrict it to lto1, and
> second by exempting nodes from the preloading that are known
> to cause problems because they differ semantically between
> frontends.
>
> Queued for testing (depends on one prerequesite I think which is
> in testing currently).
>
> Diego, this was the patch I had in mind - does this look reasonable
> to you?
>
> In general I'm working towards identifying what global trees are
> initialized solely dependent on target info and which ones are
> really frontend dependent.
>
> Thanks,
> Richard.
>
> 2011-05-31  Richard Guenther  <rguenther@suse.de>
>
>        * tree.c (free_lang_data): Do not reset boolean_type_node nor
>        char_type_node.
>        * lto-streamer.c (lto_record_common_node): Take node pointer,
>        do not register types.
>        (lto_preload_common_nodes): Explicitly skip preloading nodes
>        that differ between frontends.
>
>        lto/
>        * lto-lang.c (lto_register_canonical_types): New function.
>        (lto_init): Register common nodes with the canonical type machinery.
>        Do not play tricks with char_type_node.
>

This caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49277


H.J.



More information about the Gcc-patches mailing list