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