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

Reply via email to