diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-05-16 15:18:15 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-05-16 15:18:15 +0000 |
commit | 7b8a92e190511b7ed41567a9df7024ae329fda7e (patch) | |
tree | fe7962ccce728d396e46e9828d09fff457913a6a /gcc/tree-data-ref.c | |
parent | a1bbd445e2f512343859ddcd2676aefb61c6ddfe (diff) | |
download | gcc-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.c | 18 |
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); |