aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSebastian Pop <sebpop@gmail.com>2007-07-04 07:19:01 +0000
committerSebastian Pop <spop@gcc.gnu.org>2007-07-04 07:19:01 +0000
commit71d5b5e1656f72ea2b232ddd01089673f58970c7 (patch)
tree5c6140337a120fe7609bb4c651252295f28f5463 /gcc
parentfd727b3451cca4704ecf563c907496de5f683d1f (diff)
downloadgcc-71d5b5e1656f72ea2b232ddd01089673f58970c7.zip
gcc-71d5b5e1656f72ea2b232ddd01089673f58970c7.tar.gz
gcc-71d5b5e1656f72ea2b232ddd01089673f58970c7.tar.bz2
tree-data-ref.h (data_dependence_relation): New flag reversed_p.
* tree-data-ref.h (data_dependence_relation): New flag reversed_p. (DDR_REVERSED_P): New. * tree-data-ref.c (initialize_data_dependence_relation, build_classic_dist_vector): Set DDR_REVERSED_P. From-SVN: r126306
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-data-ref.c2
-rw-r--r--gcc/tree-data-ref.h4
3 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ff2fbd4..578f014 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2007-07-04 Sebastian Pop <sebpop@gmail.com>
+ * tree-data-ref.h (data_dependence_relation): New flag reversed_p.
+ (DDR_REVERSED_P): New.
+ * tree-data-ref.c (initialize_data_dependence_relation,
+ build_classic_dist_vector): Set DDR_REVERSED_P.
+
+2007-07-04 Sebastian Pop <sebpop@gmail.com>
+
PR middle-end/32457
* tree-data-ref.c (analyze_siv_subscript_cst_affine,
compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index a90557a..db1d83b 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -1208,6 +1208,7 @@ initialize_data_dependence_relation (struct data_reference *a,
DDR_A (res) = a;
DDR_B (res) = b;
DDR_LOOP_NEST (res) = NULL;
+ DDR_REVERSED_P (res) = false;
if (a == NULL || b == NULL)
{
@@ -2996,6 +2997,7 @@ build_classic_dist_vector (struct data_dependence_relation *ddr,
build_classic_dist_vector_1 (ddr, DDR_B (ddr), DDR_A (ddr),
save_v, &init_b, &index_carry);
save_dist_v (ddr, save_v);
+ DDR_REVERSED_P (ddr) = true;
/* In this case there is a dependence forward for all the
outer loops:
diff --git a/gcc/tree-data-ref.h b/gcc/tree-data-ref.h
index ddff36a..0c04c4b 100644
--- a/gcc/tree-data-ref.h
+++ b/gcc/tree-data-ref.h
@@ -251,6 +251,9 @@ struct data_dependence_relation
/* The classic distance vector. */
VEC (lambda_vector, heap) *dist_vects;
+
+ /* Is the dependence reversed with respect to the lexicographic order? */
+ bool reversed_p;
};
typedef struct data_dependence_relation *ddr_p;
@@ -281,6 +284,7 @@ DEF_VEC_ALLOC_P(ddr_p,heap);
VEC_index (lambda_vector, DDR_DIR_VECTS (DDR), I)
#define DDR_DIST_VECT(DDR, I) \
VEC_index (lambda_vector, DDR_DIST_VECTS (DDR), I)
+#define DDR_REVERSED_P(DDR) DDR->reversed_p