This is the mail archive of the gcc-bugs@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]

[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO


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

--- Comment #185 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
I merged in some patches intended to reduce memory of Firefox LTO and also
updated firefox tree. Some more involved patches are on the way, so it is
summary where we stand now.

WPA usage in TOP is 10GB now.

1) After streaming in trees, the GGC usage is now 5.1GB
   - 2.5GB are trees,
   - 1GB are linemaps
   - 0.8GB are decl maps (decl states)

tree_list            12561507
integer_type         1511296
pointer_type         4610735
record_type          8139077
method_type          2401664
integer_cst          6677946
string_cst           2127890
function_decl        6069299
label_decl            504859
field_decl           5104957
var_decl              596020
const_decl           5401253
parm_decl            9002744
type_decl            10150100
result_decl          2181250
addr_expr            4173661
tree_binfo           4780477


 I have cache that cuts down the linemaps + patch to not stream PARM_DECLs and
RETURN_DECLs.  With this the usage goes bellow 3GB.

2) Cgraph streaming now becomes important factor.  
   GGC usage goes up to 7.7GB
   GGC use:
     - cgraph nodes themselves are 1.5GB
     - inline summaries are 0.5GB
     - cgraph edges are 3.7GB
     - IPA references 2.3GB
     - IPA-prop 0.7GB
   Off GGC
     - IPA-prop 0.6GB
     - Inline summary 0.5GB
     - symtab encoder 0.17GB

   Here one can easily
     - compress the vectors recording definitions
     - pull off parts of cgraph nodes that are not really needed by WPA (nested
info, etc.)
     - perhaps implement of streaming of merged cgraph.

so good news is that we now have a lot of interesting low hanging fruit. Bad
news is that tree streaming still feels slow.  I suppose we need to dig more
into what trees really need to go into WPA...


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