GCC Middle and Back End API Reference

#include <treedataref.h>
Data Fields  
vec< loop_p >  loop_nest 
int  nb_induction_vars 
vec< tree >  parameters 
vec< lambda_vector, va_gc > *  matrix 
@verbatim
Each vector of the access matrix represents a linear access function for a subscript. First elements correspond to the leftmost indices, ie. for a[i][j] the first vector corresponds to the subscript in "i". The elements of a vector are relative to the loop nests in which the data reference is considered, i.e. the vector is relative to the SCoP that provides the context in which this data reference occurs.
For example, in
 loop_1  loop_2  a[i+3][2*j+n1]
if "i" varies in loop_1 and "j" varies in loop_2, the access matrix with respect to the loop nest {loop_1, loop_2} is:
 loop_1 loop_2 param_n cst  1 0 0 3  0 2 1 1
whereas the access matrix with respect to loop_2 considers "i" as a parameter:
 loop_2 param_i param_n cst  0 1 0 3  2 0 1 1
vec<lambda_vector, va_gc>* access_matrix::matrix 
int access_matrix::nb_induction_vars 