public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/45874] New: ICE in verify_flow_info failed
@ 2010-10-03 18:10 rmansfield at qnx dot com
  2010-10-03 19:56 ` [Bug middle-end/45874] [4.6 Regression] " rguenth at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: rmansfield at qnx dot com @ 2010-10-03 18:10 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: ICE in verify_flow_info failed
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: rmansfield@qnx.com


Created attachment 21948
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=21948
preprocessed C++ source

$ ./xgcc -v
Using built-in specs.
COLLECT_GCC=./xgcc
Target: i686-pc-linux-gnu
Configured with: ../configure --disable-bootstrap --enable-languages=c++
Thread model: posix
gcc version 4.6.0 20101003 (experimental) [trunk revision 164915] (GCC) 

$ ./xgcc -B. -O2 ~/ice.ii /home/ryan/ice.ii: In static member function ‘static
Status Mpeg2FrameConstructor::ParsePictureHeader(Ipp8u*, Ipp32s,
Mpeg2TrackInfo*)’:
/home/ryan/ice.ii:36:21: error: BB 2 can not throw but has an EH edge
/home/ryan/ice.ii:36:21: error: BB 3 can not throw but has an EH edge
/home/ryan/ice.ii:36:21: error: BB 4 can not throw but has an EH edge
/home/ryan/ice.ii:36:21: error: BB 5 can not throw but has an EH edge
/home/ryan/ice.ii:36:21: error: BB 6 can not throw but has an EH edge
/home/ryan/ice.ii:36:21: error: BB 7 can not throw but has an EH edge
/home/ryan/ice.ii:36:21: error: BB 11 can not throw but has an EH edge
/home/ryan/ice.ii:36:21: internal compiler error: verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
ryan@zoidberg:~/gnu/gcc/trunk/tmp1/gcc$


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug middle-end/45874] [4.6 Regression] ICE in verify_flow_info failed
  2010-10-03 18:10 [Bug middle-end/45874] New: ICE in verify_flow_info failed rmansfield at qnx dot com
@ 2010-10-03 19:56 ` rguenth at gcc dot gnu.org
  2010-10-12 12:27 ` jamborm at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-03 19:56 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.10.03 19:56:12
                 CC|                            |jamborm at gcc dot gnu.org,
                   |                            |rth at gcc dot gnu.org
   Target Milestone|---                         |4.6.0
            Summary|ICE in verify_flow_info     |[4.6 Regression] ICE in
                   |failed                      |verify_flow_info failed
     Ever Confirmed|0                           |1

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-03 19:56:12 UTC ---
It looks like IPA-CP does not properly adjust callers EH info.
Or eh-dispatch is bogus (which is where the ICE happens).


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug middle-end/45874] [4.6 Regression] ICE in verify_flow_info failed
  2010-10-03 18:10 [Bug middle-end/45874] New: ICE in verify_flow_info failed rmansfield at qnx dot com
  2010-10-03 19:56 ` [Bug middle-end/45874] [4.6 Regression] " rguenth at gcc dot gnu.org
@ 2010-10-12 12:27 ` jamborm at gcc dot gnu.org
  2010-10-12 12:31 ` rmansfield at qnx dot com
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: jamborm at gcc dot gnu.org @ 2010-10-12 12:27 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Jambor <jamborm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org

--- Comment #2 from Martin Jambor <jamborm at gcc dot gnu.org> 2010-10-12 12:27:23 UTC ---
Something in the ipa-cp/ipa-inline transform machinery leaves stray eh
cfg edges.  Calling gimple_purge_dead_eh_edges() unconditionally in
ipa-transform makes the ICE go away.  For example the following patch
does:

Index: gcc/tree-optimize.c
===================================================================
--- gcc/tree-optimize.c    (revision 165301)
+++ gcc/tree-optimize.c    (working copy)
@@ -283,8 +283,8 @@ execute_fixup_cfg (void)
         todo |= TODO_cleanup_cfg;
          }

-      if (maybe_clean_eh_stmt (stmt)
-          && gimple_purge_dead_eh_edges (bb))
+      maybe_clean_eh_stmt (stmt);
+      if (gimple_purge_dead_eh_edges (bb))
         todo |= TODO_cleanup_cfg;
     }


Nevertheless, I'd like to find out where we either call
maybe_clean_eh_stmt or do something equivalent without removing the
cfg edges before deciding where we should do it.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug middle-end/45874] [4.6 Regression] ICE in verify_flow_info failed
  2010-10-03 18:10 [Bug middle-end/45874] New: ICE in verify_flow_info failed rmansfield at qnx dot com
  2010-10-03 19:56 ` [Bug middle-end/45874] [4.6 Regression] " rguenth at gcc dot gnu.org
  2010-10-12 12:27 ` jamborm at gcc dot gnu.org
@ 2010-10-12 12:31 ` rmansfield at qnx dot com
  2010-10-13  5:03 ` hjl.tools at gmail dot com
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rmansfield at qnx dot com @ 2010-10-12 12:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Ryan Mansfield <rmansfield at qnx dot com> 2010-10-12 12:30:41 UTC ---
I am out of the office until October 28th,2010. I will have periodic access to
email in the meantime. For urgent issues please contact Fred Plante
<fplante@qnx.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug middle-end/45874] [4.6 Regression] ICE in verify_flow_info failed
  2010-10-03 18:10 [Bug middle-end/45874] New: ICE in verify_flow_info failed rmansfield at qnx dot com
                   ` (2 preceding siblings ...)
  2010-10-12 12:31 ` rmansfield at qnx dot com
@ 2010-10-13  5:03 ` hjl.tools at gmail dot com
  2010-10-13  8:19 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: hjl.tools at gmail dot com @ 2010-10-13  5:03 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> 2010-10-13 05:03:24 UTC ---
It is triggered by revision 164561:

http://gcc.gnu.org/ml/gcc-cvs/2010-09/msg00858.html


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug middle-end/45874] [4.6 Regression] ICE in verify_flow_info failed
  2010-10-03 18:10 [Bug middle-end/45874] New: ICE in verify_flow_info failed rmansfield at qnx dot com
                   ` (3 preceding siblings ...)
  2010-10-13  5:03 ` hjl.tools at gmail dot com
@ 2010-10-13  8:19 ` rguenth at gcc dot gnu.org
  2010-10-13 10:07 ` rguenth at gcc dot gnu.org
  2010-10-13 10:07 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-13  8:19 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-13 08:19:02 UTC ---
That makes sense - either this fn needs to clean dead EH edges (gsi_replace
cleans EH regions only ...) or the callers need to.

Mine.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug middle-end/45874] [4.6 Regression] ICE in verify_flow_info failed
  2010-10-03 18:10 [Bug middle-end/45874] New: ICE in verify_flow_info failed rmansfield at qnx dot com
                   ` (4 preceding siblings ...)
  2010-10-13  8:19 ` rguenth at gcc dot gnu.org
@ 2010-10-13 10:07 ` rguenth at gcc dot gnu.org
  2010-10-13 10:07 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-13 10:07 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-13 10:06:33 UTC ---
Author: rguenth
Date: Wed Oct 13 10:06:28 2010
New Revision: 165416

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165416
Log:
2010-10-13  Richard Guenther  <rguenther@suse.de>

    PR middle-end/45874
    * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
    Fixup the CFG when EH was fixed up.

    * g++.dg/torture/pr45874.C: New testcase.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr45874.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cgraphunit.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug middle-end/45874] [4.6 Regression] ICE in verify_flow_info failed
  2010-10-03 18:10 [Bug middle-end/45874] New: ICE in verify_flow_info failed rmansfield at qnx dot com
                   ` (5 preceding siblings ...)
  2010-10-13 10:07 ` rguenth at gcc dot gnu.org
@ 2010-10-13 10:07 ` rguenth at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-10-13 10:07 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #7 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-10-13 10:07:08 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-10-13 10:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-03 18:10 [Bug middle-end/45874] New: ICE in verify_flow_info failed rmansfield at qnx dot com
2010-10-03 19:56 ` [Bug middle-end/45874] [4.6 Regression] " rguenth at gcc dot gnu.org
2010-10-12 12:27 ` jamborm at gcc dot gnu.org
2010-10-12 12:31 ` rmansfield at qnx dot com
2010-10-13  5:03 ` hjl.tools at gmail dot com
2010-10-13  8:19 ` rguenth at gcc dot gnu.org
2010-10-13 10:07 ` rguenth at gcc dot gnu.org
2010-10-13 10:07 ` rguenth at gcc dot gnu.org

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