diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2011-04-21 09:39:57 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2011-04-21 09:39:57 +0000 |
commit | 0b5a27249aa584eb385d9146d94ef1067241e155 (patch) | |
tree | 8d4502e068a72f18b13cf72a0bd83eb685187b18 /gcc/tree-vect-data-refs.c | |
parent | 5a2e560830dac0c29358248b5b489446c18e179e (diff) | |
download | gcc-0b5a27249aa584eb385d9146d94ef1067241e155.zip gcc-0b5a27249aa584eb385d9146d94ef1067241e155.tar.gz gcc-0b5a27249aa584eb385d9146d94ef1067241e155.tar.bz2 |
tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use operand_equal_p to compare DR_BASE_ADDRESSes.
gcc/
* tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
operand_equal_p to compare DR_BASE_ADDRESSes.
(vect_check_interleaving): Likewise.
gcc/testsuite/
* gcc.dg/vect/vect-119.c: New test.
From-SVN: r172817
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r-- | gcc/tree-vect-data-refs.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index d7d174f..9ce4626 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -314,11 +314,7 @@ vect_drs_dependent_in_basic_block (struct data_reference *dra, /* Check that the data-refs have same bases and offsets. If not, we can't determine if they are dependent. */ - if ((DR_BASE_ADDRESS (dra) != DR_BASE_ADDRESS (drb) - && (TREE_CODE (DR_BASE_ADDRESS (dra)) != ADDR_EXPR - || TREE_CODE (DR_BASE_ADDRESS (drb)) != ADDR_EXPR - || TREE_OPERAND (DR_BASE_ADDRESS (dra), 0) - != TREE_OPERAND (DR_BASE_ADDRESS (drb),0))) + if (!operand_equal_p (DR_BASE_ADDRESS (dra), DR_BASE_ADDRESS (drb), 0) || !dr_equal_offsets_p (dra, drb)) return true; @@ -364,11 +360,7 @@ vect_check_interleaving (struct data_reference *dra, /* Check that the data-refs have same first location (except init) and they are both either store or load (not load and store). */ - if ((DR_BASE_ADDRESS (dra) != DR_BASE_ADDRESS (drb) - && (TREE_CODE (DR_BASE_ADDRESS (dra)) != ADDR_EXPR - || TREE_CODE (DR_BASE_ADDRESS (drb)) != ADDR_EXPR - || TREE_OPERAND (DR_BASE_ADDRESS (dra), 0) - != TREE_OPERAND (DR_BASE_ADDRESS (drb),0))) + if (!operand_equal_p (DR_BASE_ADDRESS (dra), DR_BASE_ADDRESS (drb), 0) || !dr_equal_offsets_p (dra, drb) || !tree_int_cst_compare (DR_INIT (dra), DR_INIT (drb)) || DR_IS_READ (dra) != DR_IS_READ (drb)) |