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))