OSDN Git Service

Pass 0 as the number of parameters to PIP when testing for integer feasibility.
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Jan 2011 06:46:43 +0000 (06:46 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Jan 2011 06:46:43 +0000 (06:46 +0000)
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

gcc/ChangeLog
gcc/ChangeLog.graphite
gcc/graphite-dependences.c
gcc/graphite-ppl.c
gcc/graphite-ppl.h

index c887aae..061bc61 100644 (file)
@@ -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.
index 3f6ef54..5a1ed00 100644 (file)
@@ -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
index 8184643..58549b7 100644 (file)
@@ -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);
index 1a08362..9762ca4 100644 (file)
@@ -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;
 }
index f6c3ad3..695d01f 100644 (file)
@@ -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.  */