diff options
| author | dberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-10 21:32:10 +0000 |
|---|---|---|
| committer | dberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-10 21:32:10 +0000 |
| commit | ea19fd8ff89999515576589b5abd0c17c86516a9 (patch) | |
| tree | 04e059bd31757c6683315f9d6855e4478975f882 /gcc/tree-data-ref.c | |
| parent | 490cf47ad8a7b90cbb64667c609e923db37eec93 (diff) | |
| download | ppe42-gcc-ea19fd8ff89999515576589b5abd0c17c86516a9.tar.gz ppe42-gcc-ea19fd8ff89999515576589b5abd0c17c86516a9.zip | |
2004-11-10 Daniel Berlin <dberlin@dberlin.org>
* tree-data-ref.c (build_classic_dist_vector): If either loop
is outside of the nest we asked about, the dependence can't
matter.
(build_classic_dir_vector): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90454 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-data-ref.c')
| -rw-r--r-- | gcc/tree-data-ref.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c index 9a0126c3317..3c883465076 100644 --- a/gcc/tree-data-ref.c +++ b/gcc/tree-data-ref.c @@ -1816,12 +1816,12 @@ build_classic_dist_vector (struct data_dependence_relation *ddr, struct loop *loop_b = current_loops->parray[loop_nb_b]; struct loop *loop_first = current_loops->parray[first_loop]; - /* If the loops for both variables are at a lower depth than - the first_loop's depth, then they can't possibly have a + /* If the loop for either variable is at a lower depth than + the first_loop's depth, then we can't possibly have a dependency at this level of the loop. */ if (loop_a->depth < loop_first->depth - && loop_b->depth < loop_first->depth) + || loop_b->depth < loop_first->depth) return false; if (loop_nb_a != loop_nb_b @@ -1992,11 +1992,12 @@ build_classic_dir_vector (struct data_dependence_relation *ddr, struct loop *loop_b = current_loops->parray[loop_nb_b]; struct loop *loop_first = current_loops->parray[first_loop]; - /* If the loops for both variables are at a lower depth than - the first_loop's depth, then they can't possibly matter */ + /* If the loop for either variable is at a lower depth than + the first_loop's depth, then we can't possibly have a + dependency at this level of the loop. */ if (loop_a->depth < loop_first->depth - && loop_b->depth < loop_first->depth) + || loop_b->depth < loop_first->depth) return false; if (loop_nb_a != loop_nb_b |

