]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
data-ref: Fix ranges_maybe_overlap_p test
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 29 Sep 2022 10:32:57 +0000 (11:32 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 29 Sep 2022 10:32:57 +0000 (11:32 +0100)
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.

gcc/tree-data-ref.cc

index 91bfb619d6695dc072b70d8cc8a728ad01ec3409..978c3f002f77985e55a163380dd55583d49e914c 100644 (file)
@@ -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)));