From 9f275479a9813d4165e9e6766e4f7c6eec1b9792 Mon Sep 17 00:00:00 2001 From: Jan Sjodin Date: Tue, 20 May 2008 19:11:56 +0000 Subject: tree-loop-linear.c (gather_interchange_stats): Look in the access matrix... 2008-05-20 Jan Sjodin Sebastian Pop * tree-loop-linear.c (gather_interchange_stats): Look in the access matrix, and never look at the tree representation of the memory accesses. (linear_transform_loops): Computes parameters and access matrices. * tree-data-ref.c (compute_data_dependences_for_loop): Returns false when fails. (access_matrix_get_index_for_parameter): New. * tree-data-ref.h (struct access_matrix): New. (AM_LOOP_NEST_NUM, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX, AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS, AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT, am_vector_index_for_loop): New. (struct data_reference): Add field access_matrix. (DR_ACCESS_MATRIX): New. (compute_data_dependences_for_loop): Update declaration. (lambda_collect_parameters, lambda_compute_access_matrices): Declared. * lambda.h (lambda_vector_vec_p): Declared. * lambda-code.c: Depend on pointer-set.h. (lambda_collect_parameters_from_af, lambda_collect_parameters, av_for_af_base, av_for_af, build_access_matrix, lambda_compute_access_matrices): New. * Makefile.in (lambda-code.o): Depend on pointer-set.h. Co-Authored-By: Sebastian Pop From-SVN: r135672 --- gcc/lambda.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc/lambda.h') diff --git a/gcc/lambda.h b/gcc/lambda.h index 641b3bc..40e8502 100644 --- a/gcc/lambda.h +++ b/gcc/lambda.h @@ -28,10 +28,13 @@ along with GCC; see the file COPYING3. If not see and scalar multiplication. In this vector space, an element is a list of integers. */ typedef int *lambda_vector; - DEF_VEC_P(lambda_vector); DEF_VEC_ALLOC_P(lambda_vector,heap); +typedef VEC(lambda_vector, heap) *lambda_vector_vec_p; +DEF_VEC_P (lambda_vector_vec_p); +DEF_VEC_ALLOC_P (lambda_vector_vec_p, heap); + /* An integer matrix. A matrix consists of m vectors of length n (IE all vectors are the same length). */ typedef lambda_vector *lambda_matrix; @@ -487,4 +490,3 @@ dependence_level (lambda_vector dist_vect, int length) } #endif /* LAMBDA_H */ - -- cgit v1.1