[Bug tree-optimization/37891] New: [graphite-branch] Invalid use of single_succ_edge in create_single_entry_edge
grosser at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Oct 22 17:38:00 GMT 2008
Commit 141283 introduced new code in create_single_entry_edge, that breaks
polyhedron in linpk.f90, mdbx.f90, protein.f90, rnflow.f90, test_fpu.f90:
The code added was:
{
+ edge e = single_succ_edge (region->entry);
+ int e_flags = e->flags;
+ int b_flags = region->entry->flags;
+ bool irreducible_e = e_flags & EDGE_IRREDUCIBLE_LOOP;
+ bool irreducible_b = region->entry->flags & BB_IRREDUCIBLE_LOOP;
edge forwarder = split_block_after_labels (region->entry);
+
+ if (irreducible_e)
+ forwarder->flags = e_flags;
+
+ if (irreducible_b)
+ forwarder->dest->flags = b_flags;
+
region->entry = forwarder->dest;
It fails e.g. in:
linpk.f90: In function 'daxpy':
linpk.f90:290: internal compiler error: in single_succ_edge, at
basic-block.h:642
--
Summary: [graphite-branch] Invalid use of single_succ_edge in
create_single_entry_edge
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: grosser at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37891
More information about the Gcc-bugs
mailing list