https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119399

--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>:

https://gcc.gnu.org/g:4c8c373495d7d863dfb7102726ac3b4b41685df4

commit r15-9355-g4c8c373495d7d863dfb7102726ac3b4b41685df4
Author: Richard Sandiford <richard.sandif...@arm.com>
Date:   Thu Apr 10 11:03:04 2025 +0100

    Avoid using POINTER_DIFF_EXPR for overlap checks [PR119399]

    In r10-4803-g8489e1f45b50600c I'd used POINTER_DIFF_EXPR to subtract
    the two pointers involved in an overlap test.  I'm not sure whether
    I'd specifically chosen that over MINUS_EXPR or not; if so, the only
    reason I can think of is that it is probably faster on targets with
    PSImode pointers.  Regardless, as the PR points out, subtracting
    unrelated pointers using POINTER_DIFF_EXPR is undefined behaviour.

    gcc/
            PR tree-optimization/119399
            * tree-data-ref.cc (create_waw_or_war_checks): Use a MINUS_EXPR
            on two converted pointers, rather than converting a
POINTER_DIFF_EXPR
            on the pointers.

    gcc/testsuite/
            PR tree-optimization/119399
            * gcc.dg/vect/pr119399.c: New test.

Reply via email to