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