summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-29 10:41:23 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-29 10:41:23 +0000
commitbb11a0e817a2fd7f106d095ad1d5600e2427f925 (patch)
tree88c72843af4a93a371cbc5cbf16aa887f60ca625
parent04a699a2bd3bae8d2e45989205913dd687287882 (diff)
downloadppe42-gcc-bb11a0e817a2fd7f106d095ad1d5600e2427f925.tar.gz
ppe42-gcc-bb11a0e817a2fd7f106d095ad1d5600e2427f925.zip
* tree-data-ref.c (add_multivariate_self_dist): Parametric access
functions cannot be represented as classical distance vectors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127041 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-data-ref.c10
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 08ee9248ce6..3900bf75d86 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 b88fbc2ddbb..85e6d725f1c 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;
}
OpenPOWER on IntegriCloud