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 middle-end/50823] [4.7 Regression] ICE in inline_small_functions, at ipa-inline.c:1407
Date: Fri, 21 Oct 2011 16:11:00 -0000	[thread overview]
Message-ID: <bug-50823-4-M3zOr9pBS9@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-50823-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #2 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2011-10-21 16:10:45 UTC ---
Caused by:

commit 60ac8a3c08cc653bc92507cb1be08ca2ebe6774a
Author: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Oct 20 11:46:08 2011 +0000

        PR bootstrap/50709
        * ipa-inline.c (inline_small_functions): Fix checking code to not make
        effect on fibheap stability.


    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180247
138bc75d-0d04-0410-961f-82ee72b054a4

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 204ab43..e7c42e5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-10-19  Jan Hubicka  <jh@suse.cz>
+
+       PR bootstrap/50709
+       * ipa-inline.c (inline_small_functions): Fix checking code to not make
+       effect on fibheap stability.
+
 2011-10-20  Maxim Kuvyrkov  <maxim@codesourcery.com>

        * config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index f069914..909b5ba 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1384,6 +1384,7 @@ inline_small_functions (void)
       struct cgraph_node *where, *callee;
       int badness = fibheap_min_key (heap);
       int current_badness;
+      int cached_badness;
       int growth;

       edge = (struct cgraph_edge *) fibheap_extract_min (heap);
@@ -1392,16 +1393,18 @@ inline_small_functions (void)
       if (!edge->inline_failed)
        continue;

-      /* Be sure that caches are maintained consistent.  */
-#ifdef ENABLE_CHECKING
+      /* Be sure that caches are maintained consistent.  
+         We can not make this ENABLE_CHECKING only because it cause differnt
+         updates of the fibheap queue.  */
+      cached_badness = edge_badness (edge, false);
       reset_edge_growth_cache (edge);
       reset_node_growth_cache (edge->callee);
-#endif

       /* When updating the edge costs, we only decrease badness in the keys.
         Increases of badness are handled lazilly; when we see key with out
         of date value on it, we re-insert it now.  */
       current_badness = edge_badness (edge, false);
+      gcc_assert (cached_badness == current_badness);
       gcc_assert (current_badness >= badness);
       if (current_badness != badness)
        {

The whole cached_badness thing looks pretty bogus to me.


  parent reply	other threads:[~2011-10-21 16:11 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-21 15:21 [Bug middle-end/50823] New: " markus at trippelsdorf dot de
2011-10-21 15:23 ` [Bug middle-end/50823] " markus at trippelsdorf dot de
2011-10-21 16:11 ` markus at trippelsdorf dot de [this message]
2011-10-23 10:56 ` rguenth at gcc dot gnu.org
2011-10-24 20:11 ` d.g.gorbachev at gmail dot com
2011-10-27 11:31 ` rguenth at gcc dot gnu.org
2011-10-27 11:48 ` rguenth at gcc dot gnu.org
2011-10-27 11:54 ` rguenth at gcc dot gnu.org
2011-10-27 21:43 ` belyshev at depni dot sinp.msu.ru
2011-10-30 12:43 ` dominiq at lps dot ens.fr
2011-11-05 11:51 ` rguenth at gcc dot gnu.org
2011-11-07 10:01 ` kirill.yukhin at intel dot com
2011-11-15 15:22 ` ohsumit at molbio dot mgh.harvard.edu
2011-11-23 18:27 ` dnovillo at gcc dot gnu.org
2011-12-06 13:07 ` rguenth at gcc dot gnu.org
2011-12-06 13:51 ` rguenth at gcc dot gnu.org
2011-12-07 11:56 ` rguenth at gcc dot gnu.org
2011-12-07 12:26 ` 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-50823-4-M3zOr9pBS9@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).