public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "markus at trippelsdorf dot de" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug lto/51635] [4.7 regression] ICE in in dwarf2out_finish, at dwarf2out.c:22494 when building Firefox's libxul
Date: Wed, 21 Dec 2011 14:01:00 -0000	[thread overview]
Message-ID: <bug-51635-4-mLdv9CIxNP@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-51635-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #17 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2011-12-21 13:47:16 UTC ---
It's a little bit faster now. But it still takes 9 CPU-minutes
to output all ltrans files. And then the following happens:

At top level:
lto1: internal compiler error: in dwarf2out_finish, at dwarf2out.c:22501
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[6]: *** [/tmp/ccQIIdf5.ltrans7.ltrans.o] Error 1
make[6]: *** Waiting for unfinished jobs....
lto1: internal compiler error: in dwarf2out_finish, at dwarf2out.c:22501
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[6]: *** [/tmp/ccQIIdf5.ltrans8.ltrans.o] Error 1
lto1: internal compiler error: in dwarf2out_finish, at dwarf2out.c:22501
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[6]: *** [/tmp/ccQIIdf5.ltrans10.ltrans.o] Error 1

:-(

During the 9 minutes the following happens:

+  27.72%        lto1-wpa  lto1                           [.] htab_expand
+  12.88%        lto1-wpa  lto1                           [.] lto_read_decls
+  12.04%        lto1-wpa  lto1                           [.] linemap_lookup
+   8.31%        lto1-wpa  lto1                           [.]
htab_find_slot_with_hash 
+   6.71%        lto1-wpa  lto1                           [.]
iterative_hash_hashval_t
+   6.51%        lto1-wpa  lto1                           [.] gimple_type_eq
+   3.74%        lto1-wpa  lto1                           [.] gimple_type_hash
+   2.60%        lto1-wpa  libc-2.14.90.so                [.] _int_malloc
+   2.01%        lto1-wpa  libc-2.14.90.so                [.] memset
+   1.46%        lto1-wpa  lto1                           [.] gtc_visit
+   1.23%        lto1-wpa  lto1                           [.]
lookup_type_pair.isra.108
+   1.11%        lto1-wpa  libc-2.14.90.so                [.] _int_free
+   1.04%         swapper  [kernel.kallsyms]              [k] default_idle

Zoom into htab_expand:

         :        static inline hashval_t
         :        htab_mod_m2 (hashval_t hash, htab_t htab)
         :        {
         :          const struct prime_ent *p =
&prime_tab[htab->size_prime_index];
         :          return 1 + htab_mod_1 (hash, p->prime - 2, p->inv_m2,
p->shift);
    0.00 :          b6e9a4:       sub    %eax,%r9d
    0.00 :          b6e9a7:       jmp    b6e9ba <htab_expand+0x14a>
    0.00 :          b6e9a9:       nopl   0x0(%rax)
         :                index -= size;
         :
         :              slot = htab->entries + index;
         :              if (*slot == HTAB_EMPTY_ENTRY)
         :                return slot;
         :              else if (*slot == HTAB_DELETED_ENTRY)
    5.04 :          b6e9b0:       cmp    $0x1,%rax
    6.16 :          b6e9b4:       je     b6ea8b <htab_expand+0x21b>
         :            abort ();
         :
         :          hash2 = htab_mod_m2 (hash, htab);
         :          for (;;)
         :            {
         :              index += hash2;
    0.00 :          b6e9ba:       add    %r9d,%edx
         :              if (index >= size)
   15.48 :          b6e9bd:       mov    %edx,%eax
   22.35 :          b6e9bf:       cmp    %rax,%rsi
    0.00 :          b6e9c2:       ja     b6e9c8 <htab_expand+0x158>
         :                index -= size;
    0.63 :          b6e9c4:       sub    %esi,%edx
   12.78 :          b6e9c6:       mov    %edx,%eax
         :
         :              slot = htab->entries + index;
    0.70 :          b6e9c8:       lea    (%r10,%rax,8),%r8
         :              if (*slot == HTAB_EMPTY_ENTRY)
   12.99 :          b6e9cc:       mov    (%r8),%rax
    0.63 :          b6e9cf:       test   %rax,%rax
    1.96 :          b6e9d2:       jne    b6e9b0 <htab_expand+0x140>
         :                  PTR *q = find_empty_slot_for_expand (htab,
(*htab->hash_f) (x));
         :
         :                  *q = x;
         :                }
         :
         :              p++;
    0.00 :          b6e9d4:       add    $0x8,%r13
         :
         :              if (x != HTAB_EMPTY_ENTRY && x != HTAB_DELETED_ENTRY)
         :                {
         :                  PTR *q = find_empty_slot_for_expand (htab,
(*htab->hash_f) (x));
         :
         :                  *q = x;
    9.74 :          b6e9d8:       mov    %r14,(%r8)
         :                }
         :
         :              p++;
         :


  parent reply	other threads:[~2011-12-21 13:48 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-20 12:06 [Bug lto/51635] New: " markus at trippelsdorf dot de
2011-12-20 12:14 ` [Bug lto/51635] " rguenth at gcc dot gnu.org
2011-12-20 12:26 ` rguenth at gcc dot gnu.org
2011-12-20 14:42 ` rguenth at gcc dot gnu.org
2011-12-20 15:15 ` rguenth at gcc dot gnu.org
2011-12-20 15:38 ` markus at trippelsdorf dot de
2011-12-20 15:40 ` rguenther at suse dot de
2011-12-20 15:49 ` rguenther at suse dot de
2011-12-20 18:12 ` markus at trippelsdorf dot de
2011-12-21  9:38 ` rguenth at gcc dot gnu.org
2011-12-21  9:48 ` markus at trippelsdorf dot de
2011-12-21 11:04 ` rguenth at gcc dot gnu.org
2011-12-21 11:17 ` rguenth at gcc dot gnu.org
2011-12-21 12:58 ` markus at trippelsdorf dot de
2011-12-21 12:59 ` rguenth at gcc dot gnu.org
2011-12-21 13:01 ` rguenth at gcc dot gnu.org
2011-12-21 13:48 ` rguenth at gcc dot gnu.org
2011-12-21 14:01 ` markus at trippelsdorf dot de [this message]
2011-12-21 14:08 ` rguenther at suse dot de
2011-12-21 15:07 ` rguenth at gcc dot gnu.org
2011-12-21 15:11 ` rguenth at gcc dot gnu.org
2011-12-21 15:51 ` markus at trippelsdorf dot de
2011-12-21 16:02 ` rguenther at suse dot de
2011-12-21 16:09 ` rguenth at gcc dot gnu.org
2011-12-21 16:44 ` matz at gcc dot gnu.org
2011-12-22 10:15 ` markus at trippelsdorf dot de
2012-01-03 11:34 ` [Bug lto/51635] LTO should not merge (type) decls with different locations rguenth 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-51635-4-mLdv9CIxNP@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).