diff options
author | Sebastian Pop <spop@gcc.gnu.org> | 2007-07-29 10:41:23 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2007-07-29 10:41:23 +0000 |
commit | b1e759547fa63a16c51093ded69cd79570946c7b (patch) | |
tree | 88c72843af4a93a371cbc5cbf16aa887f60ca625 /gcc | |
parent | 5a2197e9be31fa04a2917ec688e8e663ce7cca35 (diff) | |
download | gcc-b1e759547fa63a16c51093ded69cd79570946c7b.zip gcc-b1e759547fa63a16c51093ded69cd79570946c7b.tar.gz gcc-b1e759547fa63a16c51093ded69cd79570946c7b.tar.bz2 |
tree-data-ref.c (add_multivariate_self_dist): Parametric access functions cannot be represented as classical distance vectors.
* tree-data-ref.c (add_multivariate_self_dist): Parametric access
functions cannot be represented as classical distance vectors.
From-SVN: r127041
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/tree-data-ref.c | 10 |
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 08ee924..3900bf7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-07-29 Sebastian Pop <sebpop@gmail.com> + + * tree-data-ref.c (add_multivariate_self_dist): Parametric access + functions cannot be represented as classical distance vectors. + 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * attribs.c (hash_attr, eq_attr, init_attributes): Constify. @@ -1010,7 +1015,7 @@ (reg_save_code, reg_restore_code): New functions. (init_caller_save): Do not intialize reg_save_code/reg_restore_code tables. - * Makeifle.in: (gt-caller-save.h): New. + * Makefile.in: (gt-caller-save.h): New. 2007-07-24 Andreas Krebbel <krebbel1@de.ibm.com> diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c index b88fbc2..85e6d72 100644 --- a/gcc/tree-data-ref.c +++ b/gcc/tree-data-ref.c @@ -2809,10 +2809,14 @@ add_multivariate_self_dist (struct data_dependence_relation *ddr, tree c_2) lambda_vector dist_v; int v1, v2, cd; - /* Polynomials with more than 2 variables are not handled yet. */ - if (TREE_CODE (c_0) != INTEGER_CST) + /* Polynomials with more than 2 variables are not handled yet. When + the evolution steps are parameters, it is not possible to + represent the dependence using classical distance vectors. */ + if (TREE_CODE (c_0) != INTEGER_CST + || TREE_CODE (CHREC_RIGHT (c_1)) != INTEGER_CST + || TREE_CODE (CHREC_RIGHT (c_2)) != INTEGER_CST) { - DDR_ARE_DEPENDENT (ddr) = chrec_dont_know; + DDR_AFFINE_P (ddr) = false; return; } |