(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
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,
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)
{
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:
/* 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;
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