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: RFA: better gimplification of compound literals


> On Thu, Jun 14, 2012 at 5:33 PM, Michael Matz <matz@suse.de> wrote:
> > Hi,
> >
> > On Thu, 14 Jun 2012, Michael Matz wrote:
> >
> >> In any case, this patch is currently in regstrapping on x86-64. ?Okay if
> >> it passes (modulo changes for the above symtab_get_node() issue)?
> >
> > After discussion with Honza, consider the patch changed like so:
> >
> > ? if (!from_decl
> > ? ? ? || TREE_CODE (from_decl) != VAR_DECL
> > ? ? ? || !DECL_EXTERNAL (from_decl)
> > - ? ? ?|| (symtab_get_node (from_decl)->symbol.in_other_partition))
> > + ? ? ?|| (flag_ltrans
> > + ? ? ? ? && symtab_get_node (from_decl)->symbol.in_other_partition))
> > ? ? return true;
> >
> > Restarted regstrapping the thing on x86_64 again. ?Okay if that passes?
> 
> Ok.
> 
> But I wonder how the symtab cannot be "ready" when we gimplify - after all
> we gimplify only from after cgraph_finalize_compilation_unit ...

We build nodies for external declarations only after we see references in them
and we build references from gimplified bodies.
So at this time symtab has all defined symbols but only some external as the
symtab construction goes by.

Honza


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