This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/68693] [6 Regression] ice: in harmful_stmt_in_region, at graphite-scop-detection.c:1052
- From: "spop at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 04 Dec 2015 21:37:27 +0000
- Subject: [Bug tree-optimization/68693] [6 Regression] ice: in harmful_stmt_in_region, at graphite-scop-detection.c:1052
- Auto-submitted: auto-generated
- References: <bug-68693-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68693
--- Comment #3 from Sebastian Pop <spop at gcc dot gnu.org> ---
Author: spop
Date: Fri Dec 4 21:36:55 2015
New Revision: 231309
URL: https://gcc.gnu.org/viewcvs?rev=231309&root=gcc&view=rev
Log:
fix PR68693: Check for loop structure when extending the SCoP
The check for dominance while extending the scop assumed that
multiple successors meant a loop which is not true in case of
conditionals around the loop.
Improved pretty printers for better debugging.
PR tree-optimization/68693
* graphite-scop-detection.c (dot_all_sese): New
(dot_all_scops_1): Renamed to dot_all_sese.
(dot_all_scops): Removed.
(dot_sese): New.
(dot_cfg): New.
(scop_detection::get_nearest_dom_with_single_entry): Check that preds
are from different loop levels.
(scop_detection::get_nearest_pdom_with_single_exit): Check that succs
are from different loop levels.
(scop_detection::print_sese): Inlined.
(scop_detection::print_edge): New.
(scop_detection::merge_sese): Added dumps.
* graphite.h: Add declarations.
gcc/testsuite/ChangeLog:
* gfortran.dg/graphite/pr68693.f90: New test.
Added:
trunk/gcc/testsuite/gfortran.dg/graphite/pr68693.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/graphite-scop-detection.c
trunk/gcc/graphite.h
trunk/gcc/testsuite/ChangeLog