summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-04 07:19:01 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-04 07:19:01 +0000
commit0ecb94cf0bae7efd2f24b8a4d900cd3128cfdd7a (patch)
tree5c6140337a120fe7609bb4c651252295f28f5463 /gcc
parent4ee81b10386aeaf0cd5f427667e71d21bae7fd4b (diff)
downloadgcc-0ecb94cf0bae7efd2f24b8a4d900cd3128cfdd7a.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126306 138bc75d-0d04-0410-961f-82ee72b054a4
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 ff2fbd4f4c9..578f014fd13 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 a90557ad614..db1d83bd0c1 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 ddff36a0ec0..0c04c4bf77d 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