Hi,
I am testing the following patch which solves the bogus warning in
tree-ssa-forwprop.c and -m32 and plan to commit it as obvoius to unbreak
bootstrap once testing converges. Previously we did not get here wince
we got mismatch between TMR type and decl type but same code is present
in indirect_ref_may_alias_p.

Honza

        PR bootstrap/90873
        * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Also check that
        dbase is not TARGET_MEM_REF.
Index: tree-ssa-alias.c
===================================================================
--- tree-ssa-alias.c    (revision 272247)
+++ tree-ssa-alias.c    (working copy)
@@ -1393,8 +1393,10 @@ indirect_ref_may_alias_decl_p (tree ref1
      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
+  if (((TREE_CODE (base1) != TARGET_MEM_REF
        || (!TMR_INDEX (base1) && !TMR_INDEX2 (base1)))
+       && (TREE_CODE (dbase2) != TARGET_MEM_REF
+          || (!TMR_INDEX (dbase2) && !TMR_INDEX2 (base2))))
       && 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