Commit a378e922 by Aditya Kumar Committed by Sebastian Pop

fix PR68428: ignore bb dominated by the scop->exit

Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r230632
parent 2927ca4b
2015-11-19 Aditya Kumar <aditya.k7@samsung.com> 2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com> Sebastian Pop <s.pop@samsung.com>
PR tree-optimization/68428
* graphite-scop-detection.c (harmful_stmt_in_region): Do not iterate
over basic blocks outside the scop.
2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
PR tree-optimization/68341 PR tree-optimization/68341
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Remove * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Remove
gcc_unreachable and safely fail codegen. gcc_unreachable and safely fail codegen.
...@@ -1062,12 +1062,16 @@ scop_detection::harmful_stmt_in_region (sese_l scop) const ...@@ -1062,12 +1062,16 @@ scop_detection::harmful_stmt_in_region (sese_l scop) const
basic_block bb; basic_block bb;
FOR_EACH_VEC_ELT (dom, i, bb) FOR_EACH_VEC_ELT (dom, i, bb)
{ {
DEBUG_PRINT (dp << "\nVisiting bb_" << bb->index); DEBUG_PRINT (dp << "Visiting bb_" << bb->index << "\n");
/* We don't want to analyze any bb outside sese. */ /* We don't want to analyze any bb outside sese. */
if (!dominated_by_p (CDI_POST_DOMINATORS, bb, exit_bb)) if (!dominated_by_p (CDI_POST_DOMINATORS, bb, exit_bb))
continue; continue;
/* Basic blocks dominated by the scop->exit are not in the scop. */
if (bb != exit_bb && dominated_by_p (CDI_DOMINATORS, bb, exit_bb))
continue;
/* The basic block should not be part of an irreducible loop. */ /* The basic block should not be part of an irreducible loop. */
if (bb->flags & BB_IRREDUCIBLE_LOOP) if (bb->flags & BB_IRREDUCIBLE_LOOP)
{ {
......
2015-11-19 Aditya Kumar <aditya.k7@samsung.com> 2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com> Sebastian Pop <s.pop@samsung.com>
PR tree-optimization/68428
* gcc.dg/graphite/pr68428.c: New.
2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
PR tree-optimization/68335 PR tree-optimization/68335
* gfortran.dg/graphite/pr68335.f90: New. * gfortran.dg/graphite/pr68335.f90: New.
......
/* { dg-options "-O2 -floop-nest-optimize" } */
int au[4] = { 0 };
int
main(void)
{
int dc;
int m7;
int lv;
int f2;
int uq[3] = { 1 };
for (dc = 0; dc < 2; ++dc) {
for (lv = 0; lv < 2; ++lv)
for (m7 = 0; m7 < 3; ++m7) {
if (uq[dc] == 0)
continue;
for (f2 = 0; f2 < 3; ++f2)
au[dc+2] = uq[f2];
}
}
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment