OSDN Git Service

* tree-data-ref.h (data_dependence_relation): New flag reversed_p.
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jul 2007 07:19:01 +0000 (07:19 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jul 2007 07:19:01 +0000 (07:19 +0000)
(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

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

index ff2fbd4..578f014 100644 (file)
@@ -1,5 +1,12 @@
 2007-07-04  Sebastian Pop  <sebpop@gmail.com>
 
 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,
        PR middle-end/32457
        * tree-data-ref.c (analyze_siv_subscript_cst_affine,
        compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
index a90557a..db1d83b 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_A (res) = a;
   DDR_B (res) = b;
   DDR_LOOP_NEST (res) = NULL;
+  DDR_REVERSED_P (res) = false;
 
   if (a == NULL || b == NULL)
     {
 
   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);
          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:
 
          /* In this case there is a dependence forward for all the
             outer loops:
index ddff36a..0c04c4b 100644 (file)
@@ -251,6 +251,9 @@ struct data_dependence_relation
 
   /* The classic distance vector.  */
   VEC (lambda_vector, heap) *dist_vects;
 
   /* 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;
 };
 
 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)
   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
 
 
 \f