+2006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
+ * tree-data-ref.c (find_data_references_in_loop,
+ compute_data_dependences_for_loop): Use pointers to VEC.
+ (analyze_all_data_dependences): Adjust calls.
+ * tree-data-ref.h (find_data_references_in_loop,
+ compute_data_dependences_for_loop): Adjust declarations.
+ * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
+ compute_data_dependences_for_loop.
+
2006-03-29 Paul Brook <paul@codesourcery.com>
* config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
tree
find_data_references_in_loop (struct loop *loop,
- VEC (data_reference_p, heap) *datarefs)
+ VEC (data_reference_p, heap) **datarefs)
{
basic_block bb, *bbs;
unsigned int i;
dr = create_data_ref (opnd0, stmt, false);
if (dr)
{
- VEC_safe_push (data_reference_p, heap, datarefs, dr);
+ VEC_safe_push (data_reference_p, heap, *datarefs, dr);
one_inserted = true;
}
}
dr = create_data_ref (opnd1, stmt, true);
if (dr)
{
- VEC_safe_push (data_reference_p, heap, datarefs, dr);
+ VEC_safe_push (data_reference_p, heap, *datarefs, dr);
one_inserted = true;
}
}
dr = create_data_ref (TREE_VALUE (args), stmt, true);
if (dr)
{
- VEC_safe_push (data_reference_p, heap, datarefs, dr);
+ VEC_safe_push (data_reference_p, heap, *datarefs, dr);
one_inserted = true;
}
}
DR_OFFSET_MISALIGNMENT (res) = NULL_TREE;
DR_MEMTAG (res) = NULL_TREE;
DR_PTR_INFO (res) = NULL;
- VEC_safe_push (data_reference_p, heap, datarefs, res);
+ VEC_safe_push (data_reference_p, heap, *datarefs, res);
free (bbs);
return chrec_dont_know;
void
compute_data_dependences_for_loop (struct loop *loop,
bool compute_self_and_read_read_dependences,
- VEC (data_reference_p, heap) *datarefs,
- VEC (ddr_p, heap) *dependence_relations)
+ VEC (data_reference_p, heap) **datarefs,
+ VEC (ddr_p, heap) **dependence_relations)
{
struct loop *loop_nest = loop;
VEC (loop_p, heap) *vloops = VEC_alloc (loop_p, heap, 3);
/* Insert a single relation into dependence_relations:
chrec_dont_know. */
ddr = initialize_data_dependence_relation (NULL, NULL, vloops);
- VEC_safe_push (ddr_p, heap, dependence_relations, ddr);
+ VEC_safe_push (ddr_p, heap, *dependence_relations, ddr);
}
else
- compute_all_dependences (datarefs, dependence_relations, vloops,
+ compute_all_dependences (*datarefs, *dependence_relations, vloops,
compute_self_and_read_read_dependences);
if (dump_file && (dump_flags & TDF_STATS))
/* Compute DDs on the whole function. */
compute_data_dependences_for_loop (loops->parray[0], false,
- datarefs, dependence_relations);
+ &datarefs, &dependence_relations);
if (dump_file)
{
\f
extern tree find_data_references_in_loop (struct loop *,
- VEC (data_reference_p, heap) *);
+ VEC (data_reference_p, heap) **);
extern void compute_data_dependences_for_loop (struct loop *, bool,
- VEC (data_reference_p, heap) *,
- VEC (ddr_p, heap) *);
+ VEC (data_reference_p, heap) **,
+ VEC (ddr_p, heap) **);
extern void print_direction_vector (FILE *, lambda_vector, int);
extern void print_dir_vectors (FILE *, VEC (lambda_vector, heap) *, int);
extern void print_dist_vectors (FILE *, VEC (lambda_vector, heap) *, int);