http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50199
--- Comment #7 from rguenther at suse dot de <rguenther at suse dot de> 2012-01-04 09:32:28 UTC --- On Tue, 3 Jan 2012, hubicka at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50199 > > --- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-01-03 > 18:06:28 UTC --- > Hmm, adding CONST_DECLs into varpool would be fun: we would have to ensure > that > most of target machinery is ready to output CONST_DECLs promoted to hidden > vars > by ltrans partitioning + there will be some additional surprises for sure > (i.e. > CONST_DECLs being constructed very late in optimization). > > The problem is not specific to ipa-cp, ale ipa-split and inlining can migrate > same CONST_DECL across function bodies that can end up in different ltrans > partitions. > > I wonder if we should not simply promote CONST_DECLs into initialized const > vars for this purpose by local tree pass running just before early inliner? I > don't see much of downsides of this transform at them moment, except for lack > of sharing of const pool in between early and late const decls. The problem is we do not have CONST_DECLs at all at the moment but we have ADDR_EXPRs of STRING_CSTs. I think we should simply ignore this PR for 4.7 and work on it in the 4.8 timeframe (making the FEs to emit &CONST_DECL instead of &STRING_CST, how we deal with them wrt the varpool is a completely different issue). Richard.