public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
       [not found] <bug-45172-4@http.gcc.gnu.org/bugzilla/>
@ 2010-11-15 13:23 ` rguenth at gcc dot gnu.org
  2010-11-15 14:05 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-11-15 13:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-15 13:18:50 UTC ---
We indeed have before ehcleanup:

  # BLOCK 26
  # PRED: 24 (false,exec) 25 (true,exec)
  dbcsr_checksum (&product_matrix, &error);
  # SUCC: 31 (eh,exec) 27 (fallthru,exec)

  # BLOCK 27
  # PRED: 26 (fallthru,exec) 31 (fallthru,exec)
  # finally_tmp.15_17 = PHI <1(26), 0(31)>
  # all_sizes$data_322 = PHI <D.1562_274(26), all_sizes$data_320(31)>

...

  # BLOCK 31
  # PRED: 21 (eh,exec) 23 (eh,exec) 26 (eh,exec)
  # all_sizes$data_320 = PHI <all_sizes$data_318(21), all_sizes$data_318(23),
D.1562_274(26)>
<L71>:
  goto <bb 27>;
  # SUCC: 27 (fallthru,exec)

and we thread that jump leading to the duplicate edge (which verify_flow_info
isn't happy about).  Maybe that's the only thing to fix.


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
       [not found] <bug-45172-4@http.gcc.gnu.org/bugzilla/>
  2010-11-15 13:23 ` [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed rguenth at gcc dot gnu.org
@ 2010-11-15 14:05 ` rguenth at gcc dot gnu.org
  2010-11-15 14:47 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-11-15 14:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-15 13:59:50 UTC ---
Index: gcc/cfghooks.c
===================================================================
--- gcc/cfghooks.c      (revision 166751)
+++ gcc/cfghooks.c      (working copy)
@@ -156,9 +156,21 @@ verify_flow_info (void)
        {
          if (last_visited [e->dest->index] == bb)
            {
-             error ("verify_flow_info: Duplicate edge %i->%i",
-                    e->src->index, e->dest->index);
-             err = 1;
+             edge e2;
+             edge_iterator ei2;
+             /* Check if we really have an edge with the same EH status.  */
+             FOR_EACH_EDGE (e2, ei2, bb->succs)
+               {
+                 if (e2 == e)
+                   break;
+                 if (e2->dest == e->dest
+                     && (e2->flags & EDGE_EH) == (e->flags & EDGE_EH))
+                   {
+                     error ("verify_flow_info: Duplicate edge %i->%i",
+                            e->src->index, e->dest->index);
+                     err = 1;
+                   }
+               }
            }
          if (e->probability < 0 || e->probability > REG_BR_PROB_BASE)
            {


but it's probably not the brightest idea as several places in GCC search
edges by just matching src and dest.


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
       [not found] <bug-45172-4@http.gcc.gnu.org/bugzilla/>
  2010-11-15 13:23 ` [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed rguenth at gcc dot gnu.org
  2010-11-15 14:05 ` rguenth at gcc dot gnu.org
@ 2010-11-15 14:47 ` rguenth at gcc dot gnu.org
  2010-11-16 11:43 ` rguenth at gcc dot gnu.org
  2010-11-16 11:47 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-11-15 14:47 UTC (permalink / raw)
  To: gcc-bugs

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

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 #8 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-15 14:36:10 UTC ---
Mine.


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
       [not found] <bug-45172-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2010-11-15 14:47 ` rguenth at gcc dot gnu.org
@ 2010-11-16 11:43 ` rguenth at gcc dot gnu.org
  2010-11-16 11:47 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-11-16 11:43 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #10 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-16 11:43:07 UTC ---
Fixed.


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
       [not found] <bug-45172-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2010-11-16 11:43 ` rguenth at gcc dot gnu.org
@ 2010-11-16 11:47 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-11-16 11:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-16 11:42:53 UTC ---
Author: rguenth
Date: Tue Nov 16 11:42:50 2010
New Revision: 166794

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

    PR middle-end/45172
    * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate
    edges.

    * gfortran.dg/gomp/pr45172.f90: New testcase.

Added:
    trunk/gcc/testsuite/gfortran.dg/gomp/pr45172.f90
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-eh.c


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
  2010-08-03 15:10 [Bug middle-end/45172] New: " jv244 at cam dot ac dot uk
                   ` (4 preceding siblings ...)
  2010-08-19 14:24 ` jv244 at cam dot ac dot uk
@ 2010-09-02 11:14 ` rguenth at gcc dot gnu dot org
  5 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-09-02 11:14 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


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


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
  2010-08-03 15:10 [Bug middle-end/45172] New: " jv244 at cam dot ac dot uk
                   ` (3 preceding siblings ...)
  2010-08-19 13:56 ` jakub at gcc dot gnu dot org
@ 2010-08-19 14:24 ` jv244 at cam dot ac dot uk
  2010-09-02 11:14 ` rguenth at gcc dot gnu dot org
  5 siblings, 0 replies; 11+ messages in thread
From: jv244 at cam dot ac dot uk @ 2010-08-19 14:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jv244 at cam dot ac dot uk  2010-08-19 14:24 -------
(In reply to comment #4)

> Not sure what exactly Fortran needs -fexceptions for currently, one reason
> could be pthread_cancel, but at least with OpenMP pthread_cancel isn't going to
> do very nice things anyway.

We have a mixed MPI/OMP parallel Fortran code, -fexceptions is being added
automagically by the openmpi compiler driver (mpif90). This might be to allow
mixed C++/C/Fortran codes to work (but I couldn't quite find docs about this on
the openmpi webpage). 


-- 


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


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
  2010-08-03 15:10 [Bug middle-end/45172] New: " jv244 at cam dot ac dot uk
                   ` (2 preceding siblings ...)
  2010-08-03 15:49 ` rguenth at gcc dot gnu dot org
@ 2010-08-19 13:56 ` jakub at gcc dot gnu dot org
  2010-08-19 14:24 ` jv244 at cam dot ac dot uk
  2010-09-02 11:14 ` rguenth at gcc dot gnu dot org
  5 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-08-19 13:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jakub at gcc dot gnu dot org  2010-08-19 13:56 -------
Well, the edge from the block ending with _gfortran_runtime_error_at is an EH
edge, not normal edge.

Not sure what exactly Fortran needs -fexceptions for currently, one reason
could be pthread_cancel, but at least with OpenMP pthread_cancel isn't going to
do very nice things anyway.

The two (28) phi args seem to be because the successor block of the empty EH
block that is being removed in ehcleanup already had another incoming edge from
that block, and ehcleanup doesn't expect that.  Not sure if that is a bug from
before ehcleanup, or if ehcleanup should test for that case and either disallow
the optimization, or resolve it somehow else.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu dot org


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


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
  2010-08-03 15:10 [Bug middle-end/45172] New: " jv244 at cam dot ac dot uk
  2010-08-03 15:27 ` [Bug middle-end/45172] " dominiq at lps dot ens dot fr
  2010-08-03 15:48 ` rguenth at gcc dot gnu dot org
@ 2010-08-03 15:49 ` rguenth at gcc dot gnu dot org
  2010-08-19 13:56 ` jakub at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-08-03 15:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rguenth at gcc dot gnu dot org  2010-08-03 15:49 -------
  # finally_tmp.15_17 = PHI <1(28), 0(24), 0(22), 0(28), 0(26)>

two times incoming edge from block 28, once with value 1 once with 0.  oops.

<bb 26>:
  _gfortran_runtime_error_at (&"At line 6 of file t.f90"[1]{lb: 1 sz: 1},
&"Attempting to allocate already allocated variable \'%s\'"[1]{lb: 1 sz: 1},
&"all_sizes"[1]{lb: 1 sz: 1});

so we shouldn't have any edge from that block.


-- 


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


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
  2010-08-03 15:10 [Bug middle-end/45172] New: " jv244 at cam dot ac dot uk
  2010-08-03 15:27 ` [Bug middle-end/45172] " dominiq at lps dot ens dot fr
@ 2010-08-03 15:48 ` rguenth at gcc dot gnu dot org
  2010-08-03 15:49 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-08-03 15:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from rguenth at gcc dot gnu dot org  2010-08-03 15:47 -------
Confirmed.  Triggered by ehcleanup.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-08-03 15:47:57
               date|                            |
   Target Milestone|---                         |4.6.0


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


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

* [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed
  2010-08-03 15:10 [Bug middle-end/45172] New: " jv244 at cam dot ac dot uk
@ 2010-08-03 15:27 ` dominiq at lps dot ens dot fr
  2010-08-03 15:48 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 11+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-08-03 15:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from dominiq at lps dot ens dot fr  2010-08-03 15:27 -------
Confirmed, trunk r162490 works.


-- 


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


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

end of thread, other threads:[~2010-11-16 11:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-45172-4@http.gcc.gnu.org/bugzilla/>
2010-11-15 13:23 ` [Bug middle-end/45172] [4.6 Regression] internal compiler error: verify_flow_info failed rguenth at gcc dot gnu.org
2010-11-15 14:05 ` rguenth at gcc dot gnu.org
2010-11-15 14:47 ` rguenth at gcc dot gnu.org
2010-11-16 11:43 ` rguenth at gcc dot gnu.org
2010-11-16 11:47 ` rguenth at gcc dot gnu.org
2010-08-03 15:10 [Bug middle-end/45172] New: " jv244 at cam dot ac dot uk
2010-08-03 15:27 ` [Bug middle-end/45172] " dominiq at lps dot ens dot fr
2010-08-03 15:48 ` rguenth at gcc dot gnu dot org
2010-08-03 15:49 ` rguenth at gcc dot gnu dot org
2010-08-19 13:56 ` jakub at gcc dot gnu dot org
2010-08-19 14:24 ` jv244 at cam dot ac dot uk
2010-09-02 11:14 ` rguenth at gcc dot gnu dot 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).