tree-data-ref.h (data_dependence_relation): New flag reversed_p.
authorSebastian Pop <sebpop@gmail.com>
Wed, 4 Jul 2007 07:19:01 +0000 (07:19 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Wed, 4 Jul 2007 07:19:01 +0000 (07:19 +0000)
* 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

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

index ff2fbd4f4c99b93b83837e6ae35f8a178bba9d09..578f014fd133adad85665b69f7075c7c39adb15c 100644 (file)
@@ -1,3 +1,10 @@
+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
index a90557ad614c5fe16f21b0cf956df7d8077d3195..db1d83bd0c122734c1caec9669a28e10cc87fd78 100644 (file)
@@ -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:
index ddff36a0ec0f7365d8bb4e8e6b2b2b3c8d58fda4..0c04c4bf77d8fc85f5a68459971fc5d87faf991e 100644 (file)
@@ -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
 
 \f