summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-25 06:46:43 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-25 06:46:43 +0000
commit07141610b44da6d4d59fb17e8d604650858d9b11 (patch)
treee6ee73f80ee8bdceb97688e5e131adc303443de9
parent53b5bc41c31ba511da987e3a9070e2678e1ed8c6 (diff)
downloadgcc-07141610b44da6d4d59fb17e8d604650858d9b11.tar.gz
Pass 0 as the number of parameters to PIP when testing for integer feasibility.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (build_lexicographical_constraint): Remove the gdim parameter. (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty. (dependence_polyhedron): Same. (graphite_legal_transform_dr): Same. (graphite_carried_dependence_level_k): Same. * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter. * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169209 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/ChangeLog.graphite11
-rw-r--r--gcc/graphite-dependences.c19
-rw-r--r--gcc/graphite-ppl.c21
-rw-r--r--gcc/graphite-ppl.h2
5 files changed, 34 insertions, 30 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c887aae489e..061bc611d3d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,16 @@
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+ * graphite-dependences.c (build_lexicographical_constraint): Remove the
+ gdim parameter.
+ (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
+ (dependence_polyhedron): Same.
+ (graphite_legal_transform_dr): Same.
+ (graphite_carried_dependence_level_k): Same.
+ * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
+ * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
* graphite-sese-to-poly.c
(translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
(close_phi_written_to_memory): New.
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index 3f6ef54f641..5a1ed004a6e 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,3 +1,14 @@
+2011-01-17 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (build_lexicographical_constraint): Remove the
+ gdim parameter.
+ (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
+ (dependence_polyhedron): Same.
+ (graphite_legal_transform_dr): Same.
+ (graphite_carried_dependence_level_k): Same.
+ * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
+ * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
+
2011-01-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index 81846438c17..58549b74285 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -360,14 +360,13 @@ build_pairwise_scheduling (graphite_dim_t dim,
the BAG polyhedron: T1|I1|T2|I2|S1|S2|G. When DIRECTION is set to
1, compute the direct dependence from PDR1 to PDR2, and when
DIRECTION is -1, compute the reversed dependence relation, from
- PDR2 to PDR1. GDIM is the number of parameters in the scop. */
+ PDR2 to PDR1. */
static ppl_Pointset_Powerset_C_Polyhedron_t
build_lexicographical_constraint (ppl_Pointset_Powerset_C_Polyhedron_t bag,
graphite_dim_t dim,
graphite_dim_t tdim,
graphite_dim_t offset,
- graphite_dim_t gdim,
int direction)
{
graphite_dim_t i;
@@ -378,7 +377,7 @@ build_lexicographical_constraint (ppl_Pointset_Powerset_C_Polyhedron_t bag,
lex = build_pairwise_scheduling (dim, 0, offset, direction);
ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (lex, bag);
- if (!ppl_powerset_is_empty (lex, gdim))
+ if (!ppl_powerset_is_empty (lex))
ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (res, lex);
ppl_delete_Pointset_Powerset_C_Polyhedron (lex);
@@ -391,13 +390,13 @@ build_lexicographical_constraint (ppl_Pointset_Powerset_C_Polyhedron_t bag,
ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (bag, sceq);
ppl_delete_Pointset_Powerset_C_Polyhedron (sceq);
- if (ppl_powerset_is_empty (bag, gdim))
+ if (ppl_powerset_is_empty (bag))
break;
lex = build_pairwise_scheduling (dim, i + 1, offset, direction);
ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (lex, bag);
- if (!ppl_powerset_is_empty (lex, gdim))
+ if (!ppl_powerset_is_empty (lex))
ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (res, lex);
ppl_delete_Pointset_Powerset_C_Polyhedron (lex);
@@ -477,11 +476,11 @@ dependence_polyhedron (poly_dr_p pdr1, poly_dr_p pdr2,
ppl_delete_Pointset_Powerset_C_Polyhedron (idr2);
ppl_delete_Pointset_Powerset_C_Polyhedron (dreq);
- if (ppl_powerset_is_empty (res, gdim))
+ if (ppl_powerset_is_empty (res))
return NULL;
lex = build_lexicographical_constraint (res, dim, MIN (tdim1, tdim2),
- tdim1 + ddim1, gdim, direction);
+ tdim1 + ddim1, direction);
ppl_delete_Pointset_Powerset_C_Polyhedron (res);
return lex;
@@ -671,8 +670,7 @@ graphite_legal_transform_dr (poly_dr_p pdr1, poly_dr_p pdr2)
ppl_insert_dimensions_pointset (pt, otdim1 + ttdim1 + ddim1, otdim2);
ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (po_temp, pt);
- is_empty_p = ppl_powerset_is_empty (po_temp,
- scop_nb_params (PBB_SCOP (pbb1)));
+ is_empty_p = ppl_powerset_is_empty (po_temp);
ppl_delete_Pointset_Powerset_C_Polyhedron (po_temp);
free_poly_ddr (tpddr);
@@ -773,8 +771,7 @@ graphite_carried_dependence_level_k (poly_dr_p pdr1, poly_dr_p pdr2,
eqpp = build_pairwise_scheduling (dim, level, tdim1 + ddim1, 1);
ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (eqpp, po);
- empty_p = ppl_powerset_is_empty
- (eqpp, scop_nb_params (PBB_SCOP (PDR_PBB (pdr1))));
+ empty_p = ppl_powerset_is_empty (eqpp);
ppl_delete_Pointset_Powerset_C_Polyhedron (eqpp);
free_poly_ddr (pddr);
diff --git a/gcc/graphite-ppl.c b/gcc/graphite-ppl.c
index 1a083627ea6..9762ca46770 100644
--- a/gcc/graphite-ppl.c
+++ b/gcc/graphite-ppl.c
@@ -516,35 +516,22 @@ debug_gmp_value (mpz_t val)
}
/* Checks for integer feasibility: returns true when the powerset
- polyhedron PS has no integer solutions. NB_PARAMS is the number of
- dimensions used as parameters in PS. If DIM is the dimension of
- PS, the parameter dimensions are in between DIM - NB_PARAMS and
- DIM. */
+ polyhedron PS has no integer solutions. */
bool
-ppl_powerset_is_empty (ppl_Pointset_Powerset_C_Polyhedron_t ps,
- int nb_params ATTRIBUTE_UNUSED)
+ppl_powerset_is_empty (ppl_Pointset_Powerset_C_Polyhedron_t ps)
{
ppl_PIP_Problem_t pip;
ppl_dimension_type d;
ppl_const_Constraint_System_t pcs;
ppl_Constraint_System_const_iterator_t first, last;
ppl_Pointset_Powerset_C_Polyhedron_iterator_t it, end;
- int i;
bool has_integer_solutions = false;
- ppl_dimension_type *ds;
- int dim_first_parameter;
if (ppl_Pointset_Powerset_C_Polyhedron_is_empty (ps))
return true;
ppl_Pointset_Powerset_C_Polyhedron_space_dimension (ps, &d);
- dim_first_parameter = d - nb_params;
- ds = (ppl_dimension_type *) XNEWVEC (ppl_dimension_type, nb_params);
-
- for (i = 0; i < nb_params; i++)
- ds[i] = dim_first_parameter + i;
-
ppl_new_Constraint_System_const_iterator (&first);
ppl_new_Constraint_System_const_iterator (&last);
ppl_new_Pointset_Powerset_C_Polyhedron_iterator (&it);
@@ -562,7 +549,7 @@ ppl_powerset_is_empty (ppl_Pointset_Powerset_C_Polyhedron_t ps,
ppl_Constraint_System_begin (pcs, first);
ppl_Constraint_System_end (pcs, last);
- ppl_new_PIP_Problem_from_constraints (&pip, d, first, last, nb_params, ds);
+ ppl_new_PIP_Problem_from_constraints (&pip, d, first, last, 0, NULL);
has_integer_solutions |= ppl_PIP_Problem_is_satisfiable (pip);
ppl_delete_PIP_Problem (pip);
@@ -572,8 +559,6 @@ ppl_powerset_is_empty (ppl_Pointset_Powerset_C_Polyhedron_t ps,
ppl_delete_Constraint_System_const_iterator (last);
ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (it);
ppl_delete_Pointset_Powerset_C_Polyhedron_iterator (end);
- if (ds)
- free (ds);
return !has_integer_solutions;
}
diff --git a/gcc/graphite-ppl.h b/gcc/graphite-ppl.h
index f6c3ad39072..695d01f3425 100644
--- a/gcc/graphite-ppl.h
+++ b/gcc/graphite-ppl.h
@@ -47,7 +47,7 @@ void ppl_min_for_le_pointset (ppl_Pointset_Powerset_C_Polyhedron_t,
ppl_Constraint_t ppl_build_relation (int, int, int, int,
enum ppl_enum_Constraint_Type);
void debug_gmp_value (mpz_t);
-bool ppl_powerset_is_empty (ppl_Pointset_Powerset_C_Polyhedron_t, int);
+bool ppl_powerset_is_empty (ppl_Pointset_Powerset_C_Polyhedron_t);
/* Assigns to RES the value of the INTEGER_CST T. */