diff options
author | Richard Biener <rguenther@suse.de> | 2016-02-10 08:36:03 +0000 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2016-02-10 08:36:03 +0000 |
commit | 22960192853a31cad421ab99a1798a1cd65889b8 (patch) | |
tree | 24c5511795245617829acd68b908716e537922d5 | |
parent | 41747e4af1634b19b8b1474789e6d08e83e988e7 (diff) |
2016-02-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/69719
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@233262 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-vect-data-refs.c | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fed32beda35..3f3f734afe8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-02-10 Richard Biener <rguenther@suse.de> + + PR tree-optimization/69719 + * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): + Adjust previous fix by ensuring that dr_a1 is left of dr_a2. + 2016-02-09 Andrew Pinski <apinski@cavium.com> PR tree-opt/69282 diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 49e871b1411..5d830280add 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -3081,9 +3081,12 @@ vect_prune_runtime_alias_test_list (loop_vec_info loop_vinfo) || !tree_fits_shwi_p (dr_a2->offset)) continue; + /* Make sure dr_a1 starts left of dr_a2. */ + if (tree_int_cst_lt (dr_a2->offset, dr_a1->offset)) + std::swap (*dr_a1, *dr_a2); + unsigned HOST_WIDE_INT diff - = absu_hwi (tree_to_shwi (dr_a2->offset) - - tree_to_shwi (dr_a1->offset)); + = tree_to_shwi (dr_a2->offset) - tree_to_shwi (dr_a1->offset); /* Now we check if the following condition is satisfied: |