tree-data-ref.c (add_multivariate_self_dist): Parametric access functions cannot...
authorSebastian Pop <spop@gcc.gnu.org>
Sun, 29 Jul 2007 10:41:23 +0000 (10:41 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Sun, 29 Jul 2007 10:41:23 +0000 (10:41 +0000)
* tree-data-ref.c (add_multivariate_self_dist): Parametric access
functions cannot be represented as classical distance vectors.

From-SVN: r127041

gcc/ChangeLog
gcc/tree-data-ref.c

index 08ee924..3900bf7 100644 (file)
@@ -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.
        (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>
 
index b88fbc2..85e6d72 100644 (file)
@@ -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;
     }