Patch for replacement of the isl_int (obsolete) by isl_val.

  No regressions for c/c++/fortran on x86-64 Linux.
2014-02-09  Mircea Namolaru  <mircea.namol...@inria.fr>

        Replacement of isl-int by isl_val
        * graphite-clast-to-gimple.c: include isl/val.h, isl/val_gmp.h
        (compute_bounds_for_param): use isl_val instead of isl_int
        (compute_bounds_for_loop): likewise
        * graphite-interchange.c: include isl/val.h, isl/val_gmp.h
        (build_linearized_memory_access)
        (pdr_stride_in_loop)
        * graphite-optimize-isl.c: 
        (getPrevectorMap): use isl_val instead of isl_int
        * graphite-poly.c: 
        (pbb_number_of_iterations_at_time)
        graphite-sese-to-poly.c: include isl/val.h, isl/val_gmp.h
        (extern the_isl_ctx): declare 
        (build_pbb_scattering_polyhedrons): use isl_val instead of isl_int
        (extract_affine_gmp): likewise
        (wrap): likewise
        (build_loop_iteration_domains): likewise
        (add_param_constraints): likewise
        (add_param_constraints): likewise
Index: gcc/graphite-optimize-isl.c
===================================================================
--- gcc/graphite-optimize-isl.c	(revision 207298)
+++ gcc/graphite-optimize-isl.c	(working copy)
@@ -260,6 +260,7 @@
    DimToVectorize can be devided by VectorWidth. The default VectorWidth is
    currently constant and not yet target specific. This function does not reason
    about parallelism.  */
+
 static isl_map *
 getPrevectorMap (isl_ctx *ctx, int DimToVectorize,
 		 int ScheduleDimensions,
@@ -273,8 +274,9 @@
   isl_aff *Aff;
   int PointDimension; /* ip */
   int TileDimension;  /* it */
-  isl_int VectorWidthMP;
+  isl_val *VectorWidthMP;
   int i;
+  isl_ctx *ct;
 
   /* assert (0 <= DimToVectorize && DimToVectorize < ScheduleDimensions);*/
 
@@ -304,10 +306,10 @@
   Aff = isl_aff_zero_on_domain (LocalSpaceRange);
   Aff = isl_aff_set_constant_si (Aff, VectorWidth);
   Aff = isl_aff_set_coefficient_si (Aff, isl_dim_in, TileDimension, 1);
-  isl_int_init (VectorWidthMP);
-  isl_int_set_si (VectorWidthMP, VectorWidth);
-  Aff = isl_aff_mod (Aff, VectorWidthMP);
-  isl_int_clear (VectorWidthMP);
+
+  ct = isl_aff_get_ctx (Aff);
+  VectorWidthMP = isl_val_int_from_si (ct, VectorWidth);
+  Aff = isl_aff_mod_val (Aff, VectorWidthMP);
   Modulo = isl_pw_aff_zero_set (isl_pw_aff_from_aff (Aff));
   TilingMap = isl_map_intersect_range (TilingMap, Modulo);
 
Index: gcc/graphite-sese-to-poly.c
===================================================================
--- gcc/graphite-sese-to-poly.c	(revision 207298)
+++ gcc/graphite-sese-to-poly.c	(working copy)
@@ -26,8 +26,15 @@
 #include <isl/union_map.h>
 #include <isl/constraint.h>
 #include <isl/aff.h>
+#include <isl/val.h>
+#if defined(__cplusplus)
+extern "C" {
+#endif
+#include <isl/val_gmp.h>
+#if defined(__cplusplus)
+}
+#endif
 #include <cloog/cloog.h>
-#include <cloog/cloog.h>
 #include <cloog/isl/domain.h>
 #endif
 
@@ -67,7 +74,6 @@
 #include "graphite-poly.h"
 #include "graphite-sese-to-poly.h"
 
-
 /* Assigns to RES the value of the INTEGER_CST T.  */
 
 static inline void
@@ -481,13 +487,11 @@
   int i;
   int nb_iterators = pbb_dim_iter_domain (pbb);
   int used_scattering_dimensions = nb_iterators * 2 + 1;
-  isl_int val;
+  isl_val *val;
   isl_space *dc, *dm;
 
   gcc_assert (scattering_dimensions >= used_scattering_dimensions);
 
-  isl_int_init (val);
-
   dc = isl_set_get_space (pbb->domain);
   dm = isl_space_add_dims (isl_space_from_domain (dc),
 			   isl_dim_out, scattering_dimensions);
@@ -501,12 +505,10 @@
 	  isl_constraint *c = isl_equality_alloc
 	      (isl_local_space_from_space (isl_map_get_space (pbb->schedule)));
 
-	  if (0 != isl_aff_get_coefficient (static_sched, isl_dim_in,
-					    i / 2, &val))
-	    gcc_unreachable ();
+	  val = isl_aff_get_coefficient_val (static_sched, isl_dim_in, i / 2);
 
-	  isl_int_neg (val, val);
-	  c = isl_constraint_set_constant (c, val);
+	  val = isl_val_neg (val);
+	  c = isl_constraint_set_constant_val (c, val);
 	  c = isl_constraint_set_coefficient_si (c, isl_dim_out, i, 1);
 	  pbb->schedule = isl_map_add_constraint (pbb->schedule, c);
 	}
@@ -520,8 +522,6 @@
 	}
     }
 
-  isl_int_clear (val);
-
   pbb->transformed = isl_map_copy (pbb->schedule);
 }
 
@@ -700,12 +700,12 @@
   isl_local_space *ls = isl_local_space_from_space (isl_space_copy (space));
   isl_aff *aff = isl_aff_zero_on_domain (ls);
   isl_set *dom = isl_set_universe (space);
-  isl_int v;
+  isl_val *v;
+  isl_ctx *ct;
 
-  isl_int_init (v);
-  isl_int_set_gmp (v, g);
-  aff = isl_aff_add_constant (aff, v);
-  isl_int_clear (v);
+  ct = isl_aff_get_ctx (aff);
+  v = isl_val_int_from_gmp (ct, g);
+  aff = isl_aff_add_constant_val (aff, v);
 
   return isl_pw_aff_alloc (dom, aff);
 }
@@ -728,19 +728,17 @@
 
 /* Compute pwaff mod 2^width.  */
 
+extern isl_ctx *the_isl_ctx;
+
 static isl_pw_aff *
 wrap (isl_pw_aff *pwaff, unsigned width)
 {
-  isl_int mod;
+  isl_val *mod;
 
-  isl_int_init (mod);
-  isl_int_set_si (mod, 1);
-  isl_int_mul_2exp (mod, mod, width);
+  mod = isl_val_int_from_ui(the_isl_ctx, width);
+  mod = isl_val_2exp (mod);
+  pwaff = isl_pw_aff_mod_val (pwaff, mod);
 
-  pwaff = isl_pw_aff_mod (pwaff, mod);
-
-  isl_int_clear (mod);
-
   return pwaff;
 }
 
@@ -995,11 +993,10 @@
   isl_space *space;
   isl_constraint *c;
   int pos = isl_set_dim (outer, isl_dim_set);
-  isl_int v;
+  isl_val *v;
   mpz_t g;
 
   mpz_init (g);
-  isl_int_init (v);
 
   inner = isl_set_add_dims (inner, isl_dim_set, 1);
   space = isl_set_get_space (inner);
@@ -1017,8 +1014,8 @@
 	  (isl_local_space_from_space (isl_space_copy (space)));
       c = isl_constraint_set_coefficient_si (c, isl_dim_set, pos, -1);
       tree_int_to_gmp (nb_iters, g);
-      isl_int_set_gmp (v, g);
-      c = isl_constraint_set_constant (c, v);
+      v = isl_val_int_from_gmp (the_isl_ctx, g);
+      c = isl_constraint_set_constant_val (c, v);
       inner = isl_set_add_constraint (inner, c);
     }
 
@@ -1072,9 +1069,9 @@
 	  c = isl_inequality_alloc
 	      (isl_local_space_from_space (isl_space_copy (space)));
 	  c = isl_constraint_set_coefficient_si (c, isl_dim_set, pos, -1);
-	  isl_int_set_gmp (v, g);
+	  v = isl_val_int_from_gmp (the_isl_ctx, g);
 	  mpz_clear (g);
-	  c = isl_constraint_set_constant (c, v);
+	  c = isl_constraint_set_constant_val (c, v);
 	  inner = isl_set_add_constraint (inner, c);
 	}
       else
@@ -1097,7 +1094,6 @@
 
   isl_set_free (outer);
   isl_space_free (space);
-  isl_int_clear (v);
   mpz_clear (g);
 }
 
@@ -1331,17 +1327,15 @@
       isl_space *space = isl_set_get_space (scop->context);
       isl_constraint *c;
       mpz_t g;
-      isl_int v;
+      isl_val *v;
 
       c = isl_inequality_alloc (isl_local_space_from_space (space));
       mpz_init (g);
-      isl_int_init (v);
       tree_int_to_gmp (lb, g);
-      isl_int_set_gmp (v, g);
-      isl_int_neg (v, v);
+      v = isl_val_int_from_gmp (the_isl_ctx, g);
+      v = isl_val_neg (v);
       mpz_clear (g);
-      c = isl_constraint_set_constant (c, v);
-      isl_int_clear (v);
+      c = isl_constraint_set_constant_val (c, v);
       c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, 1);
 
       scop->context = isl_set_add_constraint (scop->context, c);
@@ -1352,17 +1346,15 @@
       isl_space *space = isl_set_get_space (scop->context);
       isl_constraint *c;
       mpz_t g;
-      isl_int v;
+      isl_val *v;
 
       c = isl_inequality_alloc (isl_local_space_from_space (space));
 
       mpz_init (g);
-      isl_int_init (v);
       tree_int_to_gmp (ub, g);
-      isl_int_set_gmp (v, g);
+      v = isl_val_int_from_gmp (the_isl_ctx, g);
       mpz_clear (g);
-      c = isl_constraint_set_constant (c, v);
-      isl_int_clear (v);
+      c = isl_constraint_set_constant_val (c, v);
       c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, -1);
 
       scop->context = isl_set_add_constraint (scop->context, c);
Index: gcc/graphite-poly.c
===================================================================
--- gcc/graphite-poly.c	(revision 207298)
+++ gcc/graphite-poly.c	(working copy)
@@ -28,6 +28,14 @@
 #include <isl/constraint.h>
 #include <isl/ilp.h>
 #include <isl/aff.h>
+#include <isl/val.h>
+#if defined(__cplusplus)
+extern "C" {
+#endif
+#include <isl/val_gmp.h>
+#if defined(__cplusplus)
+}
+#endif
 #include <cloog/cloog.h>
 #include <cloog/isl/domain.h>
 #endif
@@ -1029,11 +1037,8 @@
   isl_set *transdomain;
   isl_space *dc;
   isl_aff *aff;
-  isl_int isllb, islub;
+  isl_val *isllb, *islub;
 
-  isl_int_init (isllb);
-  isl_int_init (islub);
-
   /* Map the iteration domain through the current scatter, and work
      on the resulting set.  */
   transdomain = isl_set_apply (isl_set_copy (pbb->domain),
@@ -1046,15 +1051,14 @@
 
   /* And find the min/max for that function.  */
   /* XXX isl check results?  */
-  isl_set_min (transdomain, aff, &isllb);
-  isl_set_max (transdomain, aff, &islub);
+  isllb = isl_set_min_val (transdomain, aff);
+  islub = isl_set_max_val (transdomain, aff);
 
-  isl_int_sub (islub, islub, isllb);
-  isl_int_add_ui (islub, islub, 1);
-  isl_int_get_gmp (islub, res);
+  islub = isl_val_sub (islub, isllb);
+  islub = isl_val_add_ui (islub, 1);
+  isl_val_get_num_gmp (islub, res);
 
-  isl_int_clear (isllb);
-  isl_int_clear (islub);
+  isl_val_free (islub);
   isl_aff_free (aff);
   isl_set_free (transdomain);
 }
Index: gcc/graphite-interchange.c
===================================================================
--- gcc/graphite-interchange.c	(revision 207635)
+++ gcc/graphite-interchange.c	(working copy)
@@ -29,6 +29,14 @@
 #include <isl/map.h>
 #include <isl/union_map.h>
 #include <isl/ilp.h>
+#include <isl/val.h>
+#if defined(__cplusplus)
+extern "C" {
+#endif
+#include <isl/val_gmp.h>
+#if defined(__cplusplus)
+}
+#endif
 #include <cloog/cloog.h>
 #include <cloog/isl/domain.h>
 #endif
@@ -79,13 +87,13 @@
   isl_local_space *ls = isl_local_space_from_space (isl_map_get_space (map));
   unsigned offset, nsubs;
   int i;
-  isl_int size, subsize;
+  isl_ctx *ct;
 
+  isl_val *size, *subsize, *size1;
+
   res = isl_equality_alloc (ls);
-  isl_int_init (size);
-  isl_int_set_ui (size, 1);
-  isl_int_init (subsize);
-  isl_int_set_ui (subsize, 1);
+  ct = isl_local_space_get_ctx (ls);
+  size = isl_val_int_from_ui (ct, 1);
 
   nsubs = isl_set_dim (pdr->extent, isl_dim_set);
   /* -1 for the already included L dimension.  */
@@ -98,18 +106,17 @@
       isl_space *dc;
       isl_aff *aff;
 
-      res = isl_constraint_set_coefficient (res, isl_dim_out, offset + i, size);
-
+      size1 = isl_val_copy (size);
+      res = isl_constraint_set_coefficient_val (res, isl_dim_out, offset + i, size);
       dc = isl_set_get_space (pdr->extent);
       aff = isl_aff_zero_on_domain (isl_local_space_from_space (dc));
       aff = isl_aff_set_coefficient_si (aff, isl_dim_in, i, 1);
-      isl_set_max (pdr->extent, aff, &subsize);
+      subsize = isl_set_max_val (pdr->extent, aff);
       isl_aff_free (aff);
-      isl_int_mul (size, size, subsize);
+      size = isl_val_mul (size1, subsize);
     }
 
-  isl_int_clear (subsize);
-  isl_int_clear (size);
+  isl_val_free (size);
 
   return res;
 }
@@ -126,7 +133,7 @@
   isl_aff *aff;
   isl_space *dc;
   isl_constraint *lma, *c;
-  isl_int islstride;
+  isl_val *islstride;
   graphite_dim_t time_depth;
   unsigned offset, nt;
   unsigned i;
@@ -239,10 +246,9 @@
   aff = isl_aff_zero_on_domain (isl_local_space_from_space (dc));
   aff = isl_aff_set_coefficient_si (aff, isl_dim_in, offset - 1, -1);
   aff = isl_aff_set_coefficient_si (aff, isl_dim_in, offset + offset - 1, 1);
-  isl_int_init (islstride);
-  isl_set_max (set, aff, &islstride);
-  isl_int_get_gmp (islstride, stride);
-  isl_int_clear (islstride);
+  islstride = isl_set_max_val (set, aff);
+  isl_val_get_num_gmp (islstride, stride);
+  isl_val_free (islstride);
   isl_aff_free (aff);
   isl_set_free (set);
 
Index: gcc/graphite-clast-to-gimple.c
===================================================================
--- gcc/graphite-clast-to-gimple.c	(revision 207298)
+++ gcc/graphite-clast-to-gimple.c	(working copy)
@@ -28,6 +28,14 @@
 #include <isl/constraint.h>
 #include <isl/ilp.h>
 #include <isl/aff.h>
+#include <isl/val.h>
+#if defined(__cplusplus)
+extern "C" {
+#endif
+#include <isl/val_gmp.h>
+#if defined(__cplusplus)
+}
+#endif
 #include <cloog/cloog.h>
 #include <cloog/isl/domain.h>
 #endif
@@ -871,18 +879,18 @@
 static void
 compute_bounds_for_param (scop_p scop, int param, mpz_t low, mpz_t up)
 {
-  isl_int v;
+  isl_val *v;
   isl_aff *aff = isl_aff_zero_on_domain
     (isl_local_space_from_space (isl_set_get_space (scop->context)));
 
   aff = isl_aff_add_coefficient_si (aff, isl_dim_param, param, 1);
 
-  isl_int_init (v);
-  isl_set_min (scop->context, aff, &v);
-  isl_int_get_gmp (v, low);
-  isl_set_max (scop->context, aff, &v);
-  isl_int_get_gmp (v, up);
-  isl_int_clear (v);
+  v = isl_set_min_val (scop->context, aff);
+  isl_val_get_num_gmp (v, low);
+  isl_val_free (v);
+  v = isl_set_max_val (scop->context, aff);
+  isl_val_get_num_gmp (v, up);
+  isl_val_free (v);
   isl_aff_free (aff);
 }
 
@@ -901,8 +909,7 @@
   isl_set *domain;
   isl_aff *dimension;
   isl_local_space *local_space;
-  isl_int isl_value;
-  enum isl_lp_result lp_result;
+  isl_val *isl_value;
 
   domain = isl_set_copy (isl_set_from_cloog_domain (loop->domain));
   local_space = isl_local_space_from_space (isl_set_get_space (domain));
@@ -911,17 +918,12 @@
 					  isl_set_dim (domain, isl_dim_set) - 1,
 					  1);
 
-  isl_int_init (isl_value);
-
-  lp_result = isl_set_min (domain, dimension, &isl_value);
-  assert (lp_result == isl_lp_ok);
-  isl_int_get_gmp (isl_value, low);
-
-  lp_result = isl_set_max (domain, dimension, &isl_value);
-  assert (lp_result == isl_lp_ok);
-  isl_int_get_gmp (isl_value, up);
-
-  isl_int_clear (isl_value);
+  isl_value = isl_set_min_val (domain, dimension);
+  isl_val_get_num_gmp (isl_value, low);
+  isl_val_free (isl_value);
+  isl_value = isl_set_max_val (domain, dimension);
+  isl_val_get_num_gmp (isl_value, up);
+  isl_val_free (isl_value);
   isl_set_free (domain);
   isl_aff_free (dimension);
 }

Reply via email to