diff options
author | spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-04 07:19:01 +0000 |
---|---|---|
committer | spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-04 07:19:01 +0000 |
commit | 0ecb94cf0bae7efd2f24b8a4d900cd3128cfdd7a (patch) | |
tree | 5c6140337a120fe7609bb4c651252295f28f5463 /gcc | |
parent | 4ee81b10386aeaf0cd5f427667e71d21bae7fd4b (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/tree-data-ref.c | 2 | ||||
-rw-r--r-- | gcc/tree-data-ref.h | 4 |
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 |