http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55466
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 --- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-07 10:42:42 UTC --- Only LTRANS should be affected - WPA definitely does not need any of this (rest_of_decl_compilation). LTRANS OTOH does not need any type / symtab merging. Merged WPA/LTRANS phase of course complicates things here. What I can't see is why this all should make a difference at LTRANS? Do we garbage-collect unused globals there before wrapping up global decls? Do we somehow not ship them to the correct LTRANS units? We'd wanted to get rid of lto_global_var_decls orginally (replace it by symtab). At the moment it's _only_ used for calling rest_of_decl_compilation on globals (and for static we call that twice ...). So, HJ, your patch does look reasonable for 4.8 - can you give it proper testing and submit it? OTOH the LTO path should not call rest_of_decl_compilation but sth more specific ... (most of it is disabled for the LTO path anyway).