]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
middle-end/115110 - Fix view_converted_memref_p
authorRichard Biener <rguenther@suse.de>
Fri, 17 May 2024 09:02:29 +0000 (11:02 +0200)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 21 Oct 2024 10:47:11 +0000 (12:47 +0200)
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.

(cherry picked from commit a5b3721c06646bf5b9b50a22964e8e2bd4d03f5f)

gcc/tree-ssa-alias.cc

index e7c1c1aa6243756713c15c8a2851867a8e2ca690..72af21c02131b91471499c5b949b4fe3c2dfad03 100644 (file)
@@ -2049,8 +2049,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