summaryrefslogtreecommitdiff
path: root/gcc/sese.h
diff options
context:
space:
mode:
authorAditya Kumar <aditya.k7@samsung.com>2015-10-21 21:18:27 +0000
committerSebastian Pop <spop@gcc.gnu.org>2015-10-21 21:18:27 +0000
commit78fd2726cafeb9e0cf377e5fb2102d09d91779d5 (patch)
treeedc739b54786c480775bcdd4ce45e801f6224ec9 /gcc/sese.h
parent8b76e7fef8246b7bb6f209b8ce0768d437b7b4a0 (diff)
a scalar depending on vdefs in the current region is not invariant
When a scalar is defined in function of an array reference in the current scop, it does variate. Graphite cannot represent the condition in scop-11.c, as a[*] variates in the current region, and it is not an affine condition: for (j = 0; j <= 20; j++) a[j] = b + i; if (a[12] == 23) b = 3; else b = 1; for (j = 0; j <= 20; j++) a[j] = b + i; * graphite-scop-detection.c (parameter_index_in_region): Update call to invariant_in_sese_p_rec. * graphite-sese-to-poly.c (extract_affine): Same. * sese.c (invariant_in_sese_p_rec): Pass in an extra parameter has_vdefs. (scalar_evolution_in_region): Return chrec_dont_know when the scalar variable depends on virtual definitions in the current region. * sese.h (invariant_in_sese_p_rec): Update declaration. testsuite/ * gcc.dg/graphite/scop-11.c: Update pattern. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r229151
Diffstat (limited to 'gcc/sese.h')
-rw-r--r--gcc/sese.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/sese.h b/gcc/sese.h
index 6b6b904495c..d2ad9bde04b 100644
--- a/gcc/sese.h
+++ b/gcc/sese.h
@@ -84,7 +84,7 @@ extern edge copy_bb_and_scalar_dependences (basic_block, sese_info_p, edge,
vec<tree> , bool *);
extern struct loop *outermost_loop_in_sese (sese_l &, basic_block);
extern tree scalar_evolution_in_region (sese_l &, loop_p, tree);
-extern bool invariant_in_sese_p_rec (tree, sese_l &);
+extern bool invariant_in_sese_p_rec (tree, sese_l &, bool *);
/* Check that SESE contains LOOP. */