https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67754

--- Comment #12 from Sebastian Pop <spop at gcc dot gnu.org> ---
Author: spop
Date: Thu Oct  1 15:17:58 2015
New Revision: 228347

URL: https://gcc.gnu.org/viewcvs?rev=228347&root=gcc&view=rev
Log:
call scev analysis in scop-detection as in sese-to-poly

Before our rewrite of the scop detection, we used to not have a valid SESE
region under hand, and so we used to do more ad-hoc analysis of data references
by trying to prove that at all levels of a loop nest the data references would
be still valid.

Now that we have a valid SESE region, we can call the scev analysis in the same
way on the same computed loop nest in the scop-detection as in the
sese-to-poly.

Next step will be to cache the data references analyzed in the scop detection
and not compute the same info in sese-to-poly.

The patch fixes block-1.f90 that used to ICE on x86_64-linux when compiled with
-m32.  Patch passed bootstrap with BOOT_CFLAGS="-g -O2 -fgraphite-identity
-floop-nest-optimize" and check on x86_64-linux using ISL-0.15.

2015-09-28  Sebastian Pop  <s....@samsung.com>
        Aditya Kumar  <aditya...@samsung.com>

        PR tree-optimization/67754
        * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
        scev analysis on the same loop nest as analyze_drs_in_stmts.
        * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and
renamed...
        (try_generate_gimple_bb): Call outermost_loop_in_sese.
        (analyze_drs_in_stmts): Same.
        * sese.c (outermost_loop_in_sese): ...here.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/graphite-scop-detection.c
    trunk/gcc/graphite-sese-to-poly.c
    trunk/gcc/sese.c

Reply via email to