diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2011-07-13 11:17:00 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2011-07-13 11:17:00 +0000 |
commit | 36fc37994d59371be0bfa678011233a4bc3d3dd3 (patch) | |
tree | 699e63cbd2652ee1d4962771d677ca361f4833ee /gcc/tree-vect-loop-manip.c | |
parent | 953d0c90a2f0a98b6d860ecfbf1bc5672653a588 (diff) | |
download | gcc-36fc37994d59371be0bfa678011233a4bc3d3dd3.zip gcc-36fc37994d59371be0bfa678011233a4bc3d3dd3.tar.gz gcc-36fc37994d59371be0bfa678011233a4bc3d3dd3.tar.bz2 |
tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Tighten overlap check.
gcc/
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Tighten
overlap check.
From-SVN: r176229
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
-rw-r--r-- | gcc/tree-vect-loop-manip.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index a120fb1..b8d6780 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -2409,13 +2409,13 @@ vect_create_cond_for_alias_checks (loop_vec_info loop_vinfo, tree part_cond_expr, length_factor; /* Create expression - ((store_ptr_0 + store_segment_length_0) < load_ptr_0) - || (load_ptr_0 + load_segment_length_0) < store_ptr_0)) + ((store_ptr_0 + store_segment_length_0) <= load_ptr_0) + || (load_ptr_0 + load_segment_length_0) <= store_ptr_0)) && ... && - ((store_ptr_n + store_segment_length_n) < load_ptr_n) - || (load_ptr_n + load_segment_length_n) < store_ptr_n)) */ + ((store_ptr_n + store_segment_length_n) <= load_ptr_n) + || (load_ptr_n + load_segment_length_n) <= store_ptr_n)) */ if (VEC_empty (ddr_p, may_alias_ddrs)) return; @@ -2484,8 +2484,8 @@ vect_create_cond_for_alias_checks (loop_vec_info loop_vinfo, part_cond_expr = fold_build2 (TRUTH_OR_EXPR, boolean_type_node, - fold_build2 (LT_EXPR, boolean_type_node, seg_a_max, seg_b_min), - fold_build2 (LT_EXPR, boolean_type_node, seg_b_max, seg_a_min)); + fold_build2 (LE_EXPR, boolean_type_node, seg_a_max, seg_b_min), + fold_build2 (LE_EXPR, boolean_type_node, seg_b_max, seg_a_min)); if (*cond_expr) *cond_expr = fold_build2 (TRUTH_AND_EXPR, boolean_type_node, |