call scev analysis in scop-detection as in sese-to-poly
authorSebastian Pop <s.pop@samsung.com>
Thu, 1 Oct 2015 15:17:58 +0000 (15:17 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Thu, 1 Oct 2015 15:17:58 +0000 (15:17 +0000)
commit95ad24179723a91622852711b74ee3dd95657ffe
tree1aef56baeb80db4ce76b5b5c6737e4032b43b5dc
parentcf72400ff386816898a63d44045e3b2d18847872
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.pop@samsung.com>
Aditya Kumar  <aditya.k7@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.

Co-Authored-By: Aditya Kumar <aditya.k7@samsung.com>
From-SVN: r228347
gcc/ChangeLog
gcc/graphite-scop-detection.c
gcc/graphite-sese-to-poly.c
gcc/sese.c