aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-data-ref.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2005-05-16 15:18:15 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-05-16 15:18:15 +0000
commit7b8a92e190511b7ed41567a9df7024ae329fda7e (patch)
treefe7962ccce728d396e46e9828d09fff457913a6a /gcc/tree-data-ref.c
parenta1bbd445e2f512343859ddcd2676aefb61c6ddfe (diff)
downloadgcc-7b8a92e190511b7ed41567a9df7024ae329fda7e.zip
gcc-7b8a92e190511b7ed41567a9df7024ae329fda7e.tar.gz
gcc-7b8a92e190511b7ed41567a9df7024ae329fda7e.tar.bz2
tree-data-ref.c (compute_all_dependences): Change the type of dependence_relations to VEC(ddr_p,heap)**.
* tree-data-ref.c (compute_all_dependences): Change the type of dependence_relations to VEC(ddr_p,heap)**. (compute_data_dependences_for_loop): Change the type of allrelations to VEC(ddr_p,heap)*. From-SVN: r99778
Diffstat (limited to 'gcc/tree-data-ref.c')
-rw-r--r--gcc/tree-data-ref.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 90770e2..b1d1605 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -2178,6 +2178,11 @@ compute_affine_dependence (struct data_dependence_relation *ddr)
fprintf (dump_file, ")\n");
}
+
+typedef struct data_dependence_relation *ddr_p;
+DEF_VEC_P(ddr_p);
+DEF_VEC_ALLOC_P(ddr_p,heap);
+
/* Compute a subset of the data dependence relation graph. Don't
compute read-read relations, and avoid the computation of the
opposite relation, i.e. when AB has been computed, don't compute BA.
@@ -2186,7 +2191,7 @@ compute_affine_dependence (struct data_dependence_relation *ddr)
static void
compute_all_dependences (varray_type datarefs,
- varray_type *dependence_relations)
+ VEC(ddr_p,heap) **dependence_relations)
{
unsigned int i, j, N;
@@ -2202,7 +2207,7 @@ compute_all_dependences (varray_type datarefs,
b = VARRAY_GENERIC_PTR (datarefs, j);
ddr = initialize_data_dependence_relation (a, b);
- VARRAY_PUSH_GENERIC_PTR (*dependence_relations, ddr);
+ VEC_safe_push (ddr_p, heap, *dependence_relations, ddr);
compute_affine_dependence (ddr);
compute_subscript_distance (ddr);
}
@@ -2329,7 +2334,8 @@ compute_data_dependences_for_loop (unsigned nb_loops,
varray_type *dependence_relations)
{
unsigned int i;
- varray_type allrelations;
+ VEC(ddr_p,heap) *allrelations;
+ struct data_dependence_relation *ddr;
/* If one of the data references is not computable, give up without
spending time to compute other dependences. */
@@ -2346,13 +2352,11 @@ compute_data_dependences_for_loop (unsigned nb_loops,
return;
}
- VARRAY_GENERIC_PTR_INIT (allrelations, 1, "Data dependence relations");
+ allrelations = NULL;
compute_all_dependences (*datarefs, &allrelations);
- for (i = 0; i < VARRAY_ACTIVE_SIZE (allrelations); i++)
+ for (i = 0; VEC_iterate (ddr_p, allrelations, i, ddr); i++)
{
- struct data_dependence_relation *ddr;
- ddr = VARRAY_GENERIC_PTR (allrelations, i);
if (build_classic_dist_vector (ddr, nb_loops, loop->depth))
{
VARRAY_PUSH_GENERIC_PTR (*dependence_relations, ddr);