Hi,
actually since Rainer's testcase has TARGET_MEM_REF I think the problem
may be due to fact that we now can get TARGET_MEM_REF ofsetting the
array housed in decl while previously we gave up on types mismatch.
Does the following help?

Index: tree-ssa-alias.c
===================================================================
--- tree-ssa-alias.c    (revision 272265)
+++ tree-ssa-alias.c    (working copy)
@@ -1393,8 +1393,10 @@
      But avoid treating variable length arrays as "objects", instead assume 
they
      can overlap by an exact multiple of their element size.
      See gcc.dg/torture/alias-2.c.  */
-  if ((TREE_CODE (base1) != TARGET_MEM_REF
-       || (!TMR_INDEX (base1) && !TMR_INDEX2 (base1)))
+  if (((TREE_CODE (base1) != TARGET_MEM_REF
+        || (!TMR_INDEX (base1) && !TMR_INDEX2 (base1)))
+       && (TREE_CODE (dbase2) != TARGET_MEM_REF
+          || (!TMR_INDEX (dbase2) && !TMR_INDEX2 (dbase2))))
       && same_type_for_tbaa (TREE_TYPE (base1), TREE_TYPE (dbase2)) == 1
       && (TREE_CODE (TREE_TYPE (base1)) != ARRAY_TYPE
          || (TYPE_SIZE (TREE_TYPE (base1))

Reply via email to