RFA: better gimplification of compound literals

Jan Hubicka hubicka@ucw.cz
Thu Jun 14 15:25:00 GMT 2012


> 
>     if (!from_decl
>         ...
>         || (symtab_get_node (from_decl)->symbol.in_other_partition))
>       return true;
> 
> in can_refer_decl_in_current_unit_p.  Honza: I don't understand this 
> particular condition.  If we have a from_decl (i.e. the decl we're 
> concerned about stems from the initializer of it) and it is in another 
> partition, then this says that we can freely refer to the decl itself?  
> That doesn't make sense to me.  That decl might for instance also be in 
> that other partition and be hidden.  Hence I'm unsure what to return if 
> the symtab isn't ready yet.  In the patch below I'm returning false as in 
> "don't know".  But I think the current behaviour is wrong?

If the initializers is from other partition, we know that var promoting will make it
part of the boundary so we can reffer to it.
This is really about external constructor that is in different DSO.  WHOPR partitions
are all in one DSO at the end.

Honza



More information about the Gcc-patches mailing list