aboutsummaryrefslogtreecommitdiff
path: root/gcc/graphite-sese-to-poly.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2010-03-13 17:34:38 +0000
committerSebastian Pop <spop@gcc.gnu.org>2010-03-13 17:34:38 +0000
commit4e7dd37645ae785b9d4d1d06d24a4ee130f2f09b (patch)
tree303f56ba4063be24160da30c6e14b89cb2d66f3d /gcc/graphite-sese-to-poly.c
parentd7ba5c330172dbc4beb203c74714dc732a6ae340 (diff)
downloadgcc-4e7dd37645ae785b9d4d1d06d24a4ee130f2f09b.zip
gcc-4e7dd37645ae785b9d4d1d06d24a4ee130f2f09b.tar.gz
gcc-4e7dd37645ae785b9d4d1d06d24a4ee130f2f09b.tar.bz2
Limit the number of parameters per SCoP.
2010-03-09 Sebastian Pop <sebastian.pop@amd.com> * graphite-sese-to-poly.c (build_poly_scop): Limit scops following the number of parameters in the scop. Use as an upper bound PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS. * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared. * doc/invoke.texi: Document it. From-SVN: r157431
Diffstat (limited to 'gcc/graphite-sese-to-poly.c')
-rw-r--r--gcc/graphite-sese-to-poly.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 11bddf8..ae4a083 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -2937,6 +2937,7 @@ build_poly_scop (scop_p scop)
{
sese region = SCOP_REGION (scop);
sbitmap reductions = sbitmap_alloc (last_basic_block * 2);
+ graphite_dim_t max_dim;
sbitmap_zero (reductions);
rewrite_commutative_reductions_out_of_ssa (region, reductions);
@@ -2960,6 +2961,10 @@ build_poly_scop (scop_p scop)
build_sese_conditions (region);
find_scop_parameters (scop);
+ max_dim = PARAM_VALUE (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS);
+ if (scop_nb_params (scop) > max_dim)
+ return false;
+
build_scop_iteration_domain (scop);
build_scop_context (scop);