diff options
author | Richard Biener <rguenther@suse.de> | 2024-05-17 11:02:29 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2024-05-17 12:03:58 +0200 |
commit | a5b3721c06646bf5b9b50a22964e8e2bd4d03f5f (patch) | |
tree | 638cae94ec5f4e20e539c89f583dc51f9134af15 | |
parent | 6a0a46c57999d1f805f6c604a8868ae588a104f2 (diff) | |
download | gcc-a5b3721c06646bf5b9b50a22964e8e2bd4d03f5f.zip gcc-a5b3721c06646bf5b9b50a22964e8e2bd4d03f5f.tar.gz gcc-a5b3721c06646bf5b9b50a22964e8e2bd4d03f5f.tar.bz2 |
middle-end/115110 - Fix view_converted_memref_p
view_converted_memref_p was checking the reference type against the
pointer type of the offset operand rather than its pointed-to type
which leads to all refs being subject to view-convert treatment
in get_alias_set causing numerous testsuite fails but with its
new uses from r15-512-g9b7cad5884f21c is also a wrong-code issue.
PR middle-end/115110
* tree-ssa-alias.cc (view_converted_memref_p): Fix.
-rw-r--r-- | gcc/tree-ssa-alias.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-ssa-alias.cc b/gcc/tree-ssa-alias.cc index 9f5f69b..d64d6d0 100644 --- a/gcc/tree-ssa-alias.cc +++ b/gcc/tree-ssa-alias.cc @@ -2077,8 +2077,9 @@ view_converted_memref_p (tree base) { if (TREE_CODE (base) != MEM_REF && TREE_CODE (base) != TARGET_MEM_REF) return false; - return same_type_for_tbaa (TREE_TYPE (base), - TREE_TYPE (TREE_OPERAND (base, 1))) != 1; + return (same_type_for_tbaa (TREE_TYPE (base), + TREE_TYPE (TREE_TYPE (TREE_OPERAND (base, 1)))) + != 1); } /* Return true if an indirect reference based on *PTR1 constrained |