diff options
Diffstat (limited to 'gcc/graphite-interchange.c')
-rw-r--r-- | gcc/graphite-interchange.c | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c index 918e334e367..9e8181b62a3 100644 --- a/gcc/graphite-interchange.c +++ b/gcc/graphite-interchange.c @@ -83,10 +83,10 @@ build_linearized_memory_access (ppl_dimension_type offset, poly_dr_p pdr) ppl_new_Linear_Expression_with_dimension (&res, dim); - value_init (size); - value_set_si (size, 1); - value_init (sub_size); - value_set_si (sub_size, 1); + mpz_init (size); + mpz_set_si (size, 1); + mpz_init (sub_size); + mpz_set_si (sub_size, 1); for (i = last - 1; i >= first; i--) { @@ -95,12 +95,12 @@ build_linearized_memory_access (ppl_dimension_type offset, poly_dr_p pdr) ppl_new_Linear_Expression_with_dimension (&le, dim - offset); ppl_set_coef (le, i, 1); ppl_max_for_le_pointset (PDR_ACCESSES (pdr), le, sub_size); - value_multiply (size, size, sub_size); + mpz_mul (size, size, sub_size); ppl_delete_Linear_Expression (le); } - value_clear (sub_size); - value_clear (size); + mpz_clear (sub_size); + mpz_clear (size); return res; } @@ -319,9 +319,15 @@ pdr_stride_in_loop (Value stride, graphite_dim_t depth, poly_dr_p pdr) if (dump_file && (dump_flags & TDF_DETAILS)) { + char *str; + void (*gmp_free) (void *, size_t); + fprintf (dump_file, "\nStride in BB_%d, DR_%d, depth %d:", pbb_index (pbb), PDR_ID (pdr), (int) depth); - value_print (dump_file, " %s ", stride); + str = mpz_get_str (0, 10, stride); + fprintf (dump_file, " %s ", str); + mp_get_memory_functions (NULL, NULL, &gmp_free); + (*gmp_free) (str, strlen (str) + 1); } ppl_delete_Pointset_Powerset_C_Polyhedron (p1); @@ -341,8 +347,8 @@ memory_strides_in_loop_1 (lst_p loop, graphite_dim_t depth, Value strides) poly_dr_p pdr; Value s, n; - value_init (s); - value_init (n); + mpz_init (s); + mpz_init (n); for (j = 0; VEC_iterate (lst_p, LST_SEQ (loop), j, l); j++) if (LST_LOOP_P (l)) @@ -351,13 +357,13 @@ memory_strides_in_loop_1 (lst_p loop, graphite_dim_t depth, Value strides) for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (LST_PBB (l)), i, pdr); i++) { pdr_stride_in_loop (s, depth, pdr); - value_set_si (n, PDR_NB_REFS (pdr)); - value_multiply (s, s, n); - value_addto (strides, strides, s); + mpz_set_si (n, PDR_NB_REFS (pdr)); + mpz_mul (s, s, n); + mpz_add (strides, strides, s); } - value_clear (s); - value_clear (n); + mpz_clear (s); + mpz_clear (n); } /* Sets STRIDES to the sum of all the strides of the data references @@ -366,13 +372,13 @@ memory_strides_in_loop_1 (lst_p loop, graphite_dim_t depth, Value strides) static void memory_strides_in_loop (lst_p loop, graphite_dim_t depth, Value strides) { - if (value_mone_p (loop->memory_strides)) + if (mpz_cmp_si (loop->memory_strides, -1) == 0) { - value_set_si (strides, 0); + mpz_set_si (strides, 0); memory_strides_in_loop_1 (loop, depth, strides); } else - value_assign (strides, loop->memory_strides); + mpz_set (strides, loop->memory_strides); } /* Return true when the interchange of loops LOOP1 and LOOP2 is @@ -466,16 +472,16 @@ lst_interchange_profitable_p (lst_p loop1, lst_p loop2) && LST_LOOP_P (loop1) && LST_LOOP_P (loop2) && lst_depth (loop1) < lst_depth (loop2)); - value_init (d1); - value_init (d2); + mpz_init (d1); + mpz_init (d2); memory_strides_in_loop (loop1, lst_depth (loop1), d1); memory_strides_in_loop (loop2, lst_depth (loop2), d2); res = value_lt (d1, d2); - value_clear (d1); - value_clear (d2); + mpz_clear (d1); + mpz_clear (d2); return res; } |