[gcc r13-2951] data-ref: Fix ranges_maybe_overlap_p test

Richard Sandiford rsandifo@gcc.gnu.org
Thu Sep 29 10:35:19 GMT 2022


https://gcc.gnu.org/g:2f52c8caa312d0b2ae2f36df1b6164a508d5feaf

commit r13-2951-g2f52c8caa312d0b2ae2f36df1b6164a508d5feaf
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Thu Sep 29 11:32:57 2022 +0100

    data-ref: Fix ranges_maybe_overlap_p test
    
    dr_may_alias_p rightly used poly_int_tree_p to guard a use of
    ranges_maybe_overlap_p, but used the non-poly extractors.
    This caused a few failures in the SVE ACLE asm tests.
    
    gcc/
            * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
            of to_widest.

Diff:
---
 gcc/tree-data-ref.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gcc/tree-data-ref.cc b/gcc/tree-data-ref.cc
index 91bfb619d66..978c3f002f7 100644
--- a/gcc/tree-data-ref.cc
+++ b/gcc/tree-data-ref.cc
@@ -2979,10 +2979,10 @@ dr_may_alias_p (const struct data_reference *a, const struct data_reference *b,
 	  && operand_equal_p (DR_OFFSET (a), DR_OFFSET (b))
 	  && poly_int_tree_p (tree_size_a)
 	  && poly_int_tree_p (tree_size_b)
-	  && !ranges_maybe_overlap_p (wi::to_widest (DR_INIT (a)),
-				      wi::to_widest (tree_size_a),
-				      wi::to_widest (DR_INIT (b)),
-				      wi::to_widest (tree_size_b)))
+	  && !ranges_maybe_overlap_p (wi::to_poly_widest (DR_INIT (a)),
+				      wi::to_poly_widest (tree_size_a),
+				      wi::to_poly_widest (DR_INIT (b)),
+				      wi::to_poly_widest (tree_size_b)))
 	{
 	  gcc_assert (integer_zerop (DR_STEP (a))
 		      && integer_zerop (DR_STEP (b)));


More information about the Gcc-cvs mailing list