public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "hubicka at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO
Date: Fri, 02 Aug 2013 14:19:00 -0000	[thread overview]
Message-ID: <bug-45375-4-bDxoFi6p8r@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-45375-4@http.gcc.gnu.org/bugzilla/>

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...


  parent reply	other threads:[~2013-08-02 14:19 UTC|newest]

Thread overview: 220+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-45375-4@http.gcc.gnu.org/bugzilla/>
2010-10-15  1:29 ` [Bug lto/45375] [meta-bug] Mozilla does not build " hubicka at gcc dot gnu.org
2010-10-18 20:48 ` [Bug lto/45375] [meta-bug] Issues with building Mozilla " hubicka at gcc dot gnu.org
2010-12-01 23:58 ` hubicka at gcc dot gnu.org
2010-12-02  0:37 ` hubicka at gcc dot gnu.org
2010-12-02  1:03 ` davek at gcc dot gnu.org
2010-12-02  8:47   ` Jan Hubicka
2010-12-02  8:47 ` hubicka at ucw dot cz
2010-12-02  8:52 ` davek at gcc dot gnu.org
2010-12-02  9:42 ` rguenth at gcc dot gnu.org
2010-12-02 15:34   ` Jan Hubicka
2010-12-02 15:35 ` hubicka at ucw dot cz
2010-12-12 23:53 ` hubicka at gcc dot gnu.org
2010-12-14 15:37 ` hubicka at gcc dot gnu.org
2010-12-15  0:44 ` hubicka at gcc dot gnu.org
2010-12-17 22:26 ` hjl.tools at gmail dot com
2011-01-05 13:37 ` hubicka at gcc dot gnu.org
2011-01-06  7:35 ` mark at codesourcery dot com
2011-01-07 18:18 ` hubicka at gcc dot gnu.org
2011-01-07 18:25 ` hubicka at gcc dot gnu.org
2011-01-08 21:22 ` hubicka at gcc dot gnu.org
2011-01-08 21:23 ` alexey at feldgendler dot ru
2011-01-08 22:05   ` Jan Hubicka
2011-01-08 22:18 ` hubicka at ucw dot cz
2011-01-10  2:00 ` hubicka at gcc dot gnu.org
2011-01-10  8:47 ` hubicka at gcc dot gnu.org
2011-01-10 16:45 ` hubicka at gcc dot gnu.org
2011-01-10 23:18 ` hubicka at gcc dot gnu.org
2011-01-10 23:50 ` hubicka at gcc dot gnu.org
2011-01-11  0:06 ` hubicka at gcc dot gnu.org
2011-01-11 17:43 ` hubicka at gcc dot gnu.org
2011-01-15 17:20 ` hubicka at gcc dot gnu.org
2011-01-15 18:16 ` hubicka at gcc dot gnu.org
2011-01-20 10:37 ` hubicka at gcc dot gnu.org
2011-02-05 22:39 ` hubicka at gcc dot gnu.org
2011-02-07 18:49 ` mh+gcc at glandium dot org
2011-02-09 14:17 ` jamborm at gcc dot gnu.org
2011-02-09 14:41 ` mh+gcc at glandium dot org
2011-02-10 17:41 ` jamborm at gcc dot gnu.org
2011-02-10 17:43 ` mh+gcc at glandium dot org
2011-02-10 17:49 ` mh+gcc at glandium dot org
2011-02-12  9:44 ` mh+gcc at glandium dot org
2011-02-13 13:26 ` jamborm at gcc dot gnu.org
2011-02-16 17:18 ` jamborm at gcc dot gnu.org
2011-02-16 17:21 ` hubicka at gcc dot gnu.org
2011-02-17 13:41 ` jamborm at gcc dot gnu.org
2011-02-17 15:38 ` hubicka at ucw dot cz
2011-02-18 13:22 ` jamborm at gcc dot gnu.org
2011-03-09 12:37 ` markus at trippelsdorf dot de
2011-03-09 13:47 ` markus at trippelsdorf dot de
2011-03-09 14:41 ` markus at trippelsdorf dot de
2011-03-09 19:17 ` hubicka at ucw dot cz
2011-03-09 19:20 ` hubicka at ucw dot cz
2011-03-09 19:51 ` markus at trippelsdorf dot de
2011-03-09 21:45 ` markus at trippelsdorf dot de
2011-03-10 12:54 ` hubicka at ucw dot cz
2011-03-23 13:24 ` markus at trippelsdorf dot de
2011-04-03  8:34 ` hubicka at gcc dot gnu.org
2011-04-03  8:37 ` hubicka at gcc dot gnu.org
2011-04-03  9:09 ` hubicka at gcc dot gnu.org
2011-04-03 10:09 ` hubicka at gcc dot gnu.org
2011-04-03 11:32 ` markus at trippelsdorf dot de
2011-04-04  1:19 ` froydnj at codesourcery dot com
2011-04-04 13:02 ` rguenth at gcc dot gnu.org
2011-04-04 13:19 ` froydnj at codesourcery dot com
2011-04-05  0:16 ` mark at codesourcery dot com
2011-04-07 19:15 ` hubicka at gcc dot gnu.org
2011-04-07 19:38 ` markus at trippelsdorf dot de
2011-04-07 19:39 ` markus at trippelsdorf dot de
2011-04-07 19:59 ` markus at trippelsdorf dot de
2011-04-07 22:08 ` hubicka at gcc dot gnu.org
2011-04-08  6:53 ` markus at trippelsdorf dot de
2011-04-08 15:43 ` markus at trippelsdorf dot de
2011-04-08 15:51 ` markus at trippelsdorf dot de
2011-04-08 15:57 ` mh+gcc at glandium dot org
2011-04-08 16:10 ` markus at trippelsdorf dot de
2011-04-11 11:00 ` hubicka at gcc dot gnu.org
2011-04-11 11:13 ` hubicka at gcc dot gnu.org
2011-04-11 15:09 ` markus at trippelsdorf dot de
2011-04-11 18:44 ` markus at trippelsdorf dot de
2011-04-12 10:54 ` mh+gcc at glandium dot org
2011-04-12 16:22 ` hubicka at gcc dot gnu.org
2011-04-12 16:42 ` markus at trippelsdorf dot de
2011-04-22 12:54 ` hubicka at gcc dot gnu.org
2011-04-22 15:06 ` hubicka at gcc dot gnu.org
2011-05-02 10:35 ` hubicka at gcc dot gnu.org
2011-05-02 12:43 ` hubicka at gcc dot gnu.org
2011-05-03 17:39 ` hubicka at gcc dot gnu.org
2011-05-19 22:47 ` hubicka at gcc dot gnu.org
2011-05-19 23:49 ` hubicka at gcc dot gnu.org
2011-05-20 15:48 ` hubicka at gcc dot gnu.org
2011-05-20 15:54 ` hubicka at gcc dot gnu.org
2011-05-27 22:03 ` hubicka at gcc dot gnu.org
2011-06-02 13:30 ` hubicka at gcc dot gnu.org
2011-06-02 14:30 ` hubicka at gcc dot gnu.org
2011-06-15 10:32 ` markus at trippelsdorf dot de
2011-06-15 10:46 ` markus at trippelsdorf dot de
2011-06-15 11:39 ` mh+gcc at glandium dot org
2011-06-15 11:46 ` markus at trippelsdorf dot de
2011-06-15 12:35 ` markus at trippelsdorf dot de
2011-06-18  8:54 ` hubicka at ucw dot cz
2011-06-18 10:19 ` markus at trippelsdorf dot de
2011-06-26 19:52 ` markus at trippelsdorf dot de
2011-08-04 19:17 ` hubicka at gcc dot gnu.org
2011-08-04 19:23 ` pinskia at gcc dot gnu.org
2011-08-04 19:27 ` markus at trippelsdorf dot de
2011-08-05 13:48 ` jamborm at gcc dot gnu.org
2011-09-27 21:54 ` hubicka at gcc dot gnu.org
2011-09-28 13:49 ` hubicka at gcc dot gnu.org
2011-09-29 16:30 ` hubicka at gcc dot gnu.org
2011-10-01 13:21 ` hubicka at gcc dot gnu.org
2011-10-01 15:29 ` hubicka at gcc dot gnu.org
2011-10-01 15:54 ` hubicka at gcc dot gnu.org
2011-10-11  7:41 ` markus at trippelsdorf dot de
2011-10-11 12:19 ` markus at trippelsdorf dot de
2011-10-19  9:23 ` hubicka at gcc dot gnu.org
2011-10-19 13:06 ` hubicka at gcc dot gnu.org
2012-05-10 21:54 ` hubicka at gcc dot gnu.org
2012-05-10 21:59 ` hubicka at gcc dot gnu.org
2012-05-11  6:08 ` markus at trippelsdorf dot de
2012-05-11  8:39 ` hubicka at ucw dot cz
2012-05-11  8:47 ` rguenth at gcc dot gnu.org
2012-05-11  8:49 ` markus at trippelsdorf dot de
2012-05-11  8:57 ` mh+gcc at glandium dot org
2012-05-11  9:18 ` hubicka at ucw dot cz
2012-05-11 19:17 ` hubicka at gcc dot gnu.org
2012-05-12 14:48 ` hubicka at gcc dot gnu.org
2012-05-12 16:05 ` steven at gcc dot gnu.org
2012-05-12 18:39 ` hubicka at ucw dot cz
2012-05-12 19:46 ` hubicka at ucw dot cz
2012-05-12 20:46 ` hubicka at gcc dot gnu.org
2012-05-12 21:41 ` hubicka at gcc dot gnu.org
2012-05-13 16:42 ` hubicka at gcc dot gnu.org
2012-08-10 15:10 ` hubicka at gcc dot gnu.org
2012-08-10 15:39 ` hubicka at gcc dot gnu.org
2012-08-18  9:40 ` hubicka at gcc dot gnu.org
2012-08-19  5:58 ` hubicka at gcc dot gnu.org
2012-09-15 14:08 ` markus at trippelsdorf dot de
2012-10-08 22:21 ` hubicka at gcc dot gnu.org
2012-10-08 22:30 ` steven at gcc dot gnu.org
2012-12-01 12:40 ` markus at trippelsdorf dot de
2012-12-01 22:09 ` hubicka at ucw dot cz
2012-12-02  7:36 ` markus at trippelsdorf dot de
2012-12-02  9:23 ` hubicka at ucw dot cz
2012-12-02 11:58 ` markus at trippelsdorf dot de
2012-12-02 15:05   ` Jan Hubicka
2012-12-02 15:07 ` hubicka at ucw dot cz
2012-12-02 18:03 ` markus at trippelsdorf dot de
2012-12-02 20:52   ` Jan Hubicka
2012-12-02 20:52 ` hubicka at ucw dot cz
2012-12-02 21:09 ` hubicka at ucw dot cz
2012-12-02 21:13 ` markus at trippelsdorf dot de
2012-12-11 19:31 ` tejohnson at google dot com
2012-12-11 22:57 ` markus at trippelsdorf dot de
2012-12-12  0:01 ` tejohnson at google dot com
2012-12-12 11:44 ` markus at trippelsdorf dot de
2012-12-12 19:00 ` tejohnson at google dot com
2012-12-12 20:36 ` hubicka at ucw dot cz
2012-12-13  9:53 ` markus at trippelsdorf dot de
2012-12-13 13:00 ` markus at trippelsdorf dot de
2012-12-13 22:25 ` markus at trippelsdorf dot de
2012-12-14 18:25 ` hubicka at ucw dot cz
2013-01-06  0:32 ` leo at yuriev dot ru
2013-01-09 15:17 ` hubicka at gcc dot gnu.org
2013-01-09 15:20 ` hubicka at gcc dot gnu.org
2013-01-09 19:59 ` markus at trippelsdorf dot de
2013-01-09 21:21 ` hubicka at gcc dot gnu.org
2013-01-09 21:23 ` hubicka at gcc dot gnu.org
2013-01-10 15:04 ` hubicka at gcc dot gnu.org
2013-01-16 17:26 ` hubicka at gcc dot gnu.org
2013-01-17 10:53 ` rguenth at gcc dot gnu.org
2013-01-17 12:31 ` hubicka at ucw dot cz
2013-01-17 12:43 ` jakub at gcc dot gnu.org
2013-01-17 14:40 ` hubicka at gcc dot gnu.org
2013-01-17 14:55 ` rguenth at gcc dot gnu.org
2013-01-17 15:14 ` hubicka at gcc dot gnu.org
2013-01-17 17:11 ` hubicka at gcc dot gnu.org
2013-03-06 15:15 ` jamborm at gcc dot gnu.org
2013-03-07 16:09 ` rguenth at gcc dot gnu.org
2013-03-08 10:42 ` jamborm at gcc dot gnu.org
2013-06-17 16:33 ` hubicka at gcc dot gnu.org
2013-06-17 17:28 ` hubicka at gcc dot gnu.org
2013-06-19 15:39 ` hubicka at gcc dot gnu.org
2013-08-02 14:19 ` hubicka at gcc dot gnu.org [this message]
2013-08-02 16:32 ` hubicka at gcc dot gnu.org
2013-08-03  8:45 ` hubicka at gcc dot gnu.org
2013-08-21  9:02 ` marxin.liska at gmail dot com
2013-08-21 13:01 ` hubicka at ucw dot cz
2013-08-29 20:19 ` markus at trippelsdorf dot de
2013-08-29 21:51 ` markus at trippelsdorf dot de
2013-09-03 14:39 ` hubicka at gcc dot gnu.org
2013-09-03 17:22 ` markus at trippelsdorf dot de
2013-09-05 23:08 ` hubicka at ucw dot cz
2013-09-06  7:28 ` markus at trippelsdorf dot de
2014-01-17 19:05 ` trippels at gcc dot gnu.org
2014-01-17 19:06 ` trippels at gcc dot gnu.org
2014-01-17 19:07 ` trippels at gcc dot gnu.org
2014-03-06 17:08 ` jamborm at gcc dot gnu.org
2014-03-06 17:28 ` trippels at gcc dot gnu.org
2014-03-06 18:01 ` hjl.tools at gmail dot com
2014-03-06 19:06 ` trippels at gcc dot gnu.org
2014-03-29 17:09 ` trippels at gcc dot gnu.org
2014-03-31  3:24 ` hubicka at ucw dot cz
2014-04-02 16:25 ` mliska at suse dot cz
2014-04-08  8:13 ` trippels at gcc dot gnu.org
2014-04-09 12:36 ` trippels at gcc dot gnu.org
2014-05-23 13:49 ` steffen at hauihau dot de
2014-08-26 13:13 ` steffen at hauihau dot de
2014-11-13 16:25 ` marxin at gcc dot gnu.org
2015-01-19 23:59 ` hubicka at gcc dot gnu.org
2015-01-20  4:40 ` hubicka at gcc dot gnu.org
2015-01-20 19:50 ` hubicka at gcc dot gnu.org
2020-07-07 10:41 ` [Bug lto/45375] [meta-bug] Issues with building Mozilla (i.e. Firefox) " marxin at gcc dot gnu.org
2020-07-07 11:09 ` marxin at gcc dot gnu.org
2020-07-07 11:16 ` marxin at gcc dot gnu.org
2020-07-25 12:23 ` marxin at gcc dot gnu.org
2020-07-27  7:16 ` cvs-commit at gcc dot gnu.org
2020-07-27 10:33 ` cvs-commit at gcc dot gnu.org
2020-08-18  7:21 ` marxin at gcc dot gnu.org
2020-12-02  7:38 ` marxin at gcc dot gnu.org
2021-01-07 17:38 ` jamborm at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-45375-4-bDxoFi6p8r@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).